aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.pre-commit-config.yaml14
-rw-r--r--Makefile.def4
-rw-r--r--Makefile.in40
-rw-r--r--bfd/Makefile.in1
-rw-r--r--bfd/aclocal.m41
-rw-r--r--bfd/archive.c8
-rw-r--r--bfd/bfd-in2.h15
-rw-r--r--bfd/bfd.c42
-rw-r--r--bfd/coff-alpha.c119
-rw-r--r--bfd/coffgen.c15
-rw-r--r--bfd/compress.c51
-rwxr-xr-xbfd/configure60
-rw-r--r--bfd/configure.ac8
-rw-r--r--bfd/cpu-riscv.c1
-rw-r--r--bfd/cpu-riscv.h1
-rw-r--r--bfd/elf-eh-frame.c2
-rw-r--r--bfd/elf.c152
-rw-r--r--bfd/elf32-arm.c3
-rw-r--r--bfd/elf32-sh.c4
-rw-r--r--bfd/elf64-s390.c19
-rw-r--r--bfd/elf64-x86-64.c14
-rw-r--r--bfd/elflink.c8
-rw-r--r--bfd/elfnn-aarch64.c3
-rw-r--r--bfd/elfnn-loongarch.c370
-rw-r--r--bfd/elfnn-riscv.c302
-rw-r--r--bfd/elfxx-aarch64.c34
-rw-r--r--bfd/elfxx-loongarch.c17
-rw-r--r--bfd/elfxx-riscv.c361
-rw-r--r--bfd/elfxx-riscv.h19
-rw-r--r--bfd/format.c20
-rw-r--r--bfd/libbfd.h1
-rw-r--r--bfd/pe-aarch64.c2
-rw-r--r--bfd/pe-arm.c2
-rw-r--r--bfd/pe-i386.c2
-rw-r--r--bfd/pe-x86_64.c2
-rw-r--r--bfd/peXXigen.c51
-rw-r--r--bfd/pei-aarch64.c2
-rw-r--r--bfd/pei-arm.c2
-rw-r--r--bfd/pei-i386.c2
-rw-r--r--bfd/pei-loongarch64.c2
-rw-r--r--bfd/pei-riscv64.c2
-rw-r--r--bfd/pei-x86_64.c2
-rw-r--r--bfd/po/ms.po2670
-rw-r--r--bfd/reloc.c6
-rw-r--r--bfd/syms.c1
-rw-r--r--bfd/version.h2
-rw-r--r--binutils/MAINTAINERS5
-rw-r--r--binutils/NEWS4
-rw-r--r--binutils/defparse.y2
-rw-r--r--binutils/dlltool.c98
-rw-r--r--binutils/doc/binutils.texi35
-rw-r--r--binutils/dwarf.c57
-rw-r--r--binutils/elfedit.c13
-rw-r--r--binutils/nm.c5
-rw-r--r--binutils/objcopy.c121
-rw-r--r--binutils/objdump.c20
-rw-r--r--binutils/readelf.c47
-rw-r--r--binutils/resbin.c963
-rw-r--r--binutils/rescoff.c312
-rw-r--r--binutils/resrc.c230
-rw-r--r--binutils/resres.c64
-rw-r--r--binutils/testsuite/binutils-all/nm.exp2
-rw-r--r--binutils/testsuite/binutils-all/objcopy.exp89
-rw-r--r--binutils/testsuite/binutils-all/riscv/property-cfi-lp-unlabeled.d8
-rw-r--r--binutils/testsuite/binutils-all/riscv/property-cfi-ss.d8
-rw-r--r--binutils/testsuite/binutils-all/riscv/property.s41
-rw-r--r--binutils/testsuite/binutils-all/x86-64/dwarf4.s26166
-rw-r--r--binutils/testsuite/binutils-all/x86-64/dwarf5.s26191
-rw-r--r--binutils/testsuite/binutils-all/x86-64/pr32927-1.d6
-rw-r--r--binutils/testsuite/binutils-all/x86-64/pr32927-2.d6
-rw-r--r--binutils/testsuite/binutils-all/x86-64/x86-64.exp2
-rw-r--r--binutils/windint.h6
-rw-r--r--binutils/windres.c67
-rw-r--r--binutils/windres.h6
-rw-r--r--config/bfd64.m438
-rw-r--r--cpu/or1k.opc2
-rw-r--r--cpu/or1kcommon.cpu2
-rw-r--r--gas/NEWS8
-rw-r--r--gas/as.c2
-rw-r--r--gas/as.h4
-rw-r--r--gas/config/kvx-parse.c4
-rw-r--r--gas/config/loongarch-parse.y36
-rw-r--r--gas/config/obj-coff-seh.c2
-rw-r--r--gas/config/obj-coff.c29
-rw-r--r--gas/config/obj-coff.h3
-rw-r--r--gas/config/obj-elf.c83
-rw-r--r--gas/config/obj-elf.h6
-rw-r--r--gas/config/tc-aarch64.c201
-rw-r--r--gas/config/tc-aarch64.h21
-rw-r--r--gas/config/tc-alpha.c31
-rw-r--r--gas/config/tc-alpha.h2
-rw-r--r--gas/config/tc-arc.h2
-rw-r--r--gas/config/tc-arm.c136
-rw-r--r--gas/config/tc-arm.h12
-rw-r--r--gas/config/tc-avr.c13
-rw-r--r--gas/config/tc-cr16.c18
-rw-r--r--gas/config/tc-cris.c7
-rw-r--r--gas/config/tc-crx.c6
-rw-r--r--gas/config/tc-csky.c106
-rw-r--r--gas/config/tc-d10v.c6
-rw-r--r--gas/config/tc-d30v.c2
-rw-r--r--gas/config/tc-dlx.c2
-rw-r--r--gas/config/tc-epiphany.c12
-rw-r--r--gas/config/tc-epiphany.h1
-rw-r--r--gas/config/tc-frv.h2
-rw-r--r--gas/config/tc-ft32.c2
-rw-r--r--gas/config/tc-h8300.c3
-rw-r--r--gas/config/tc-hppa.c2
-rw-r--r--gas/config/tc-i386.c311
-rw-r--r--gas/config/tc-i386.h54
-rw-r--r--gas/config/tc-ia64.c17
-rw-r--r--gas/config/tc-ia64.h2
-rw-r--r--gas/config/tc-kvx.c100
-rw-r--r--gas/config/tc-kvx.h1
-rw-r--r--gas/config/tc-loongarch.c178
-rw-r--r--gas/config/tc-loongarch.h23
-rw-r--r--gas/config/tc-m32c.h2
-rw-r--r--gas/config/tc-m32r.h2
-rw-r--r--gas/config/tc-m68hc11.c20
-rw-r--r--gas/config/tc-m68k.c21
-rw-r--r--gas/config/tc-mcore.c2
-rw-r--r--gas/config/tc-metag.c33
-rw-r--r--gas/config/tc-metag.h1
-rw-r--r--gas/config/tc-microblaze.c34
-rw-r--r--gas/config/tc-mips.c14
-rw-r--r--gas/config/tc-mips.h2
-rw-r--r--gas/config/tc-mmix.c11
-rw-r--r--gas/config/tc-mn10200.c2
-rw-r--r--gas/config/tc-mn10300.c4
-rw-r--r--gas/config/tc-moxie.c2
-rw-r--r--gas/config/tc-msp430.c2
-rw-r--r--gas/config/tc-nds32.c21
-rw-r--r--gas/config/tc-nds32.h1
-rw-r--r--gas/config/tc-ns32k.c4
-rw-r--r--gas/config/tc-pdp11.c8
-rw-r--r--gas/config/tc-pj.c2
-rw-r--r--gas/config/tc-ppc.c40
-rw-r--r--gas/config/tc-ppc.h2
-rw-r--r--gas/config/tc-pru.c4
-rw-r--r--gas/config/tc-riscv.c207
-rw-r--r--gas/config/tc-riscv.h14
-rw-r--r--gas/config/tc-rl78.c2
-rw-r--r--gas/config/tc-rl78.h2
-rw-r--r--gas/config/tc-rx.c8
-rw-r--r--gas/config/tc-rx.h2
-rw-r--r--gas/config/tc-s390.c9
-rw-r--r--gas/config/tc-score.c11
-rw-r--r--gas/config/tc-score.h2
-rw-r--r--gas/config/tc-score7.c8
-rw-r--r--gas/config/tc-sh.c5
-rw-r--r--gas/config/tc-sh.h2
-rw-r--r--gas/config/tc-sparc.c10
-rw-r--r--gas/config/tc-sparc.h2
-rw-r--r--gas/config/tc-spu.c2
-rw-r--r--gas/config/tc-spu.h2
-rw-r--r--gas/config/tc-tic30.c10
-rw-r--r--gas/config/tc-tic4x.c3
-rw-r--r--gas/config/tc-tic54x.c32
-rw-r--r--gas/config/tc-tilegx.c34
-rw-r--r--gas/config/tc-tilegx.h2
-rw-r--r--gas/config/tc-tilepro.c46
-rw-r--r--gas/config/tc-tilepro.h2
-rw-r--r--gas/config/tc-v850.c2
-rw-r--r--gas/config/tc-vax.c2
-rw-r--r--gas/config/tc-visium.c22
-rw-r--r--gas/config/tc-visium.h1
-rw-r--r--gas/config/tc-wasm32.c4
-rw-r--r--gas/config/tc-wasm32.h1
-rw-r--r--gas/config/tc-xgate.c7
-rw-r--r--gas/config/tc-xtensa.c20
-rw-r--r--gas/config/tc-xtensa.h2
-rw-r--r--gas/config/tc-z8k.c4
-rwxr-xr-xgas/configure2
-rw-r--r--gas/configure.ac2
-rw-r--r--gas/doc/as.texi8
-rw-r--r--gas/doc/c-aarch64.texi18
-rw-r--r--gas/doc/c-riscv.texi36
-rw-r--r--gas/dwarf2dbg.c69
-rw-r--r--gas/ecoff.c6
-rw-r--r--gas/ehopt.c47
-rw-r--r--gas/expr.c4
-rw-r--r--gas/expr.h10
-rw-r--r--gas/frags.c15
-rw-r--r--gas/frags.h3
-rw-r--r--gas/gen-sframe.c174
-rw-r--r--gas/ginsn.c5
-rw-r--r--gas/hash.c6
-rw-r--r--gas/hash.h26
-rw-r--r--gas/input-scrub.c27
-rw-r--r--gas/listing.c45
-rw-r--r--gas/listing.h8
-rw-r--r--gas/po/es.po18482
-rw-r--r--gas/read.c70
-rw-r--r--gas/symbols.c59
-rw-r--r--gas/testsuite/gas/aarch64/addsub-carry.d53
-rw-r--r--gas/testsuite/gas/aarch64/addsub-carry.s49
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-copy.d178
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-copy.s181
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-fp16.d1149
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-fp16.s13
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-modified-immediate.d103
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-modified-immediate.s98
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-mul-element.d373
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-mul-element.s377
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-permute.d251
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-permute.s250
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.d98
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.s96
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d173
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s183
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d201
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s213
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.d108
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.s113
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-shift-immediate.d593
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-shift-immediate.s605
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-three-same.d1205
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-three-same.s1248
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.d129
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.s127
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-two-reg-misc.d408
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-two-reg-misc.s422
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-widening-narrowing.d585
-rw-r--r--gas/testsuite/gas/aarch64/advsimd-widening-narrowing.s625
-rw-r--r--gas/testsuite/gas/aarch64/branch-cond-pseudos.d41
-rw-r--r--gas/testsuite/gas/aarch64/branch-cond-pseudos.s32
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-bad.l13
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-bad.s5
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-far.d4
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-far.l3
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-far.s13
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.l3
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.s3
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr.d967
-rw-r--r--gas/testsuite/gas/aarch64/cmpbr.s727
-rw-r--r--gas/testsuite/gas/aarch64/conditional-compare.d77
-rw-r--r--gas/testsuite/gas/aarch64/conditional-compare.s76
-rw-r--r--gas/testsuite/gas/aarch64/dgh.d11
-rw-r--r--gas/testsuite/gas/aarch64/dgh.s4
-rw-r--r--gas/testsuite/gas/aarch64/dp-general-one-source.d45
-rw-r--r--gas/testsuite/gas/aarch64/dp-general-one-source.s43
-rw-r--r--gas/testsuite/gas/aarch64/dp-general-two-source.d89
-rw-r--r--gas/testsuite/gas/aarch64/dp-general-two-source.s89
-rw-r--r--gas/testsuite/gas/aarch64/exception-generation.d28
-rw-r--r--gas/testsuite/gas/aarch64/exception-generation.s26
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm-bad.l9
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm.d18
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm.s9
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.l9
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm_sve2.d18
-rw-r--r--gas/testsuite/gas/aarch64/f8f16mm_sve2.s9
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm-bad.l9
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm.d18
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm.s9
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.l9
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm_sve2.d18
-rw-r--r--gas/testsuite/gas/aarch64/f8f32mm_sve2.s9
-rw-r--r--gas/testsuite/gas/aarch64/float-fp16.d354
-rw-r--r--gas/testsuite/gas/aarch64/float-fp16.s28
-rw-r--r--gas/testsuite/gas/aarch64/fprcvt.d176
-rw-r--r--gas/testsuite/gas/aarch64/fprcvt.s159
-rw-r--r--gas/testsuite/gas/aarch64/gpc3.d11
-rw-r--r--gas/testsuite/gas/aarch64/gpc3.s7
-rw-r--r--gas/testsuite/gas/aarch64/ldst-extend-general.d155
-rw-r--r--gas/testsuite/gas/aarch64/ldst-extend-general.s152
-rw-r--r--gas/testsuite/gas/aarch64/ldst-unpriv.d61
-rw-r--r--gas/testsuite/gas/aarch64/ldst-unpriv.s64
-rw-r--r--gas/testsuite/gas/aarch64/lsfe-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/lsfe-bad.l17
-rw-r--r--gas/testsuite/gas/aarch64/lsfe-bad.s6
-rw-r--r--gas/testsuite/gas/aarch64/lsfe.d815
-rw-r--r--gas/testsuite/gas/aarch64/lsfe.s71
-rw-r--r--gas/testsuite/gas/aarch64/mov-wide.d46
-rw-r--r--gas/testsuite/gas/aarch64/mov-wide.s40
-rw-r--r--gas/testsuite/gas/aarch64/occmo-memtag.d13
-rw-r--r--gas/testsuite/gas/aarch64/occmo-memtag.s4
-rw-r--r--gas/testsuite/gas/aarch64/occmo.d13
-rw-r--r--gas/testsuite/gas/aarch64/occmo.s4
-rw-r--r--gas/testsuite/gas/aarch64/original-missing-misc.d46
-rw-r--r--gas/testsuite/gas/aarch64/original-missing-misc.s42
-rw-r--r--gas/testsuite/gas/aarch64/shifted.d1558
-rw-r--r--gas/testsuite/gas/aarch64/shifted.s3
-rw-r--r--gas/testsuite/gas/aarch64/sme-5.d4
-rw-r--r--gas/testsuite/gas/aarch64/sme-5.s4
-rw-r--r--gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s2
-rw-r--r--gas/testsuite/gas/aarch64/sme.d8
-rw-r--r--gas/testsuite/gas/aarch64/sme.s8
-rw-r--r--gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l4
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-bad.l26
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-bad.s27
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l41
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-sme2.d66
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-sme2.s57
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-sve2.d18
-rw-r--r--gas/testsuite/gas/aarch64/sve-bfscale-sve2.s9
-rw-r--r--gas/testsuite/gas/aarch64/sve-f16f32mm-bad.d4
-rw-r--r--gas/testsuite/gas/aarch64/sve-f16f32mm-bad.l9
-rw-r--r--gas/testsuite/gas/aarch64/sve-f16f32mm.d18
-rw-r--r--gas/testsuite/gas/aarch64/sve-f16f32mm.s9
-rw-r--r--gas/testsuite/gas/aarch64/sve-ldff1-invalid.d4
-rw-r--r--gas/testsuite/gas/aarch64/sve-ldff1-invalid.l58
-rw-r--r--gas/testsuite/gas/aarch64/sve-ldff1-invalid.s35
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.d10
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.s2
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.d21
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.s13
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/mpam-bad.d3
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/mpam-bad.l4
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/mpam-bad.s6
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.d3
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.l8
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.s20
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/pops-sysregs.d12
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/pops-sysregs.s7
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.d3
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.l3
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-10.d12
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-10.s2
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.d3
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.l61
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.s26
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-9.d25
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg-9.s14
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg.d2
-rw-r--r--gas/testsuite/gas/aarch64/sysreg/sysreg.s2
-rw-r--r--gas/testsuite/gas/aarch64/system.d5
-rw-r--r--gas/testsuite/gas/aarch64/system.s3
-rw-r--r--gas/testsuite/gas/all/gas.exp15
-rw-r--r--gas/testsuite/gas/all/octa.d8
-rw-r--r--gas/testsuite/gas/all/octa.s10
-rw-r--r--gas/testsuite/gas/arm/attr-empty-string.d10
-rw-r--r--gas/testsuite/gas/arm/attr-empty-string.s14
-rw-r--r--gas/testsuite/gas/arm/attr-non-null-terminated-string.d9
-rw-r--r--gas/testsuite/gas/arm/attr-non-null-terminated-string.s14
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-4.d2
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.d22
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.s12
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.d22
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.s12
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.d21
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.s4
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-1.d2
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-2.d2
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-3.d2
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.d17
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.s6
-rw-r--r--gas/testsuite/gas/cfi-sframe/cfi-sframe.exp4
-rw-r--r--gas/testsuite/gas/cfi-sframe/common-empty-1.d2
-rw-r--r--gas/testsuite/gas/cfi-sframe/common-empty-2.d2
-rw-r--r--gas/testsuite/gas/cfi-sframe/common-empty-3.d2
-rw-r--r--gas/testsuite/gas/coff/coff.exp40
-rw-r--r--gas/testsuite/gas/coff/func1.d16
-rw-r--r--gas/testsuite/gas/coff/func1.s22
-rw-r--r--gas/testsuite/gas/coff/func2.d16
-rw-r--r--gas/testsuite/gas/coff/func2.s34
-rw-r--r--gas/testsuite/gas/coff/func3.d16
-rw-r--r--gas/testsuite/gas/coff/func3.s33
-rw-r--r--gas/testsuite/gas/coff/func4.d18
-rw-r--r--gas/testsuite/gas/coff/func4.s41
-rw-r--r--gas/testsuite/gas/coff/tag.d (renamed from gas/testsuite/gas/all/cofftag.d)2
-rw-r--r--gas/testsuite/gas/coff/tag.s (renamed from gas/testsuite/gas/all/cofftag.s)2
-rw-r--r--gas/testsuite/gas/epiphany/allinsn.exp1
-rw-r--r--gas/testsuite/gas/epiphany/nop.d16
-rw-r--r--gas/testsuite/gas/epiphany/nop.s5
-rw-r--r--gas/testsuite/gas/i386/align-branch-6.d2
-rw-r--r--gas/testsuite/gas/i386/arch-4.d2
-rw-r--r--gas/testsuite/gas/i386/arch-4.s4
-rw-r--r--gas/testsuite/gas/i386/i386.exp1
-rw-r--r--gas/testsuite/gas/i386/inval-type.l13
-rw-r--r--gas/testsuite/gas/i386/inval-type.s17
-rw-r--r--gas/testsuite/gas/i386/nop-1-suffix.d6
-rw-r--r--gas/testsuite/gas/i386/nop-1.d6
-rw-r--r--gas/testsuite/gas/i386/nop-1.l18
-rw-r--r--gas/testsuite/gas/i386/nop-2.d8
-rw-r--r--gas/testsuite/gas/i386/nop-4.d2
-rw-r--r--gas/testsuite/gas/i386/nop-5.d2
-rw-r--r--gas/testsuite/gas/i386/nops-1-core2.d216
-rw-r--r--gas/testsuite/gas/i386/nops-1.d222
-rw-r--r--gas/testsuite/gas/i386/nops-1.s210
-rw-r--r--gas/testsuite/gas/i386/nops-10.d2
-rw-r--r--gas/testsuite/gas/i386/nops-2.d224
-rw-r--r--gas/testsuite/gas/i386/nops-2.s210
-rw-r--r--gas/testsuite/gas/i386/nops-3.d6
-rw-r--r--gas/testsuite/gas/i386/nops-3.s2
-rw-r--r--gas/testsuite/gas/i386/nops-4.d298
-rw-r--r--gas/testsuite/gas/i386/nops-4.s272
-rw-r--r--gas/testsuite/gas/i386/nops-4a-i686.d300
-rw-r--r--gas/testsuite/gas/i386/nops-5.d28
-rw-r--r--gas/testsuite/gas/i386/nops-6.d4
-rw-r--r--gas/testsuite/gas/i386/nops-7.d10
-rw-r--r--gas/testsuite/gas/i386/nops-9.d8
-rw-r--r--gas/testsuite/gas/i386/nops16-1.d522
-rw-r--r--gas/testsuite/gas/i386/nops16-1.s482
-rw-r--r--gas/testsuite/gas/i386/solaris/x86-64-nop-5.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-align-branch-6.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l4
-rw-r--r--gas/testsuite/gas/i386/x86-64-lkgs-inval.l4
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-1.d6
-rw-r--r--gas/testsuite/gas/i386/x86-64-nop-5.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-1-core2.d210
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-1-pentium.d220
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-1.d216
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-2.d218
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-3.d6
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-4-core2.d298
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-4.d300
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-5.d28
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-6.d2
-rw-r--r--gas/testsuite/gas/i386/x86-64-nops-7.d10
-rw-r--r--gas/testsuite/gas/i386/x86-64-reg-bad.l21
-rw-r--r--gas/testsuite/gas/i386/x86-64-reg-bad.s11
-rw-r--r--gas/testsuite/gas/i386/x86-64-reg-intel.d5
-rw-r--r--gas/testsuite/gas/i386/x86-64-reg.d5
-rw-r--r--gas/testsuite/gas/i386/x86-64-reg.s4
-rw-r--r--gas/testsuite/gas/i386/x86-64.exp1
-rw-r--r--gas/testsuite/gas/kvx/nop-align.d4
-rw-r--r--gas/testsuite/gas/loongarch/div_zero.l4
-rw-r--r--gas/testsuite/gas/loongarch/div_zero.s2
-rw-r--r--gas/testsuite/gas/loongarch/loongarch.exp1
-rw-r--r--gas/testsuite/gas/loongarch/relax_align.d6
-rw-r--r--gas/testsuite/gas/loongarch/relax_align.l3
-rw-r--r--gas/testsuite/gas/loongarch/relax_align.s6
-rw-r--r--gas/testsuite/gas/ppc/future.d35
-rw-r--r--gas/testsuite/gas/ppc/future.s18
-rw-r--r--gas/testsuite/gas/riscv/attribute-15.d8
-rw-r--r--gas/testsuite/gas/riscv/attribute-16.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-17.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-18.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-19.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-20.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-rva23s.d6
-rw-r--r--gas/testsuite/gas/riscv/attribute-rvb23s.d6
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p10.d6
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p10.l20
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p11.d6
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p11.l20
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p12.d6
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p12.l20
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p13.d943
-rw-r--r--gas/testsuite/gas/riscv/csr-version-1p13.l1499
-rw-r--r--gas/testsuite/gas/riscv/csr.s7
-rw-r--r--gas/testsuite/gas/riscv/imply.d6
-rw-r--r--gas/testsuite/gas/riscv/imply.s8
-rw-r--r--gas/testsuite/gas/riscv/l-s-macro-zilsd.d53
-rw-r--r--gas/testsuite/gas/riscv/l-s-macro.d2
-rw-r--r--gas/testsuite/gas/riscv/l-s-macro.s2
-rw-r--r--gas/testsuite/gas/riscv/march-fail-rvi20u64v.d3
-rw-r--r--gas/testsuite/gas/riscv/march-fail-rvi20u64v.l1
-rw-r--r--gas/testsuite/gas/riscv/march-help.l11
-rw-r--r--gas/testsuite/gas/riscv/march-imply-zce-f-32.d6
-rw-r--r--gas/testsuite/gas/riscv/march-imply-zce-f-64.d6
-rw-r--r--gas/testsuite/gas/riscv/march-imply-zce.d6
-rw-r--r--gas/testsuite/gas/riscv/mips-insns.d31
-rw-r--r--gas/testsuite/gas/riscv/mips-insns.s42
-rw-r--r--gas/testsuite/gas/riscv/no-relax-branch-offset-fail.d2
-rw-r--r--gas/testsuite/gas/riscv/no-relax-branch-offset-fail.l8
-rw-r--r--gas/testsuite/gas/riscv/no-relax-branch-offset-fail.s20
-rw-r--r--gas/testsuite/gas/riscv/no-relax-branch-offset-ok.d17
-rw-r--r--gas/testsuite/gas/riscv/no-relax-branch-offset-ok.s17
-rw-r--r--gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.d2
-rw-r--r--gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.l7
-rw-r--r--gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.s31
-rw-r--r--gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-not-32.d22
-rw-r--r--gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.d21
-rw-r--r--gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.s29
-rw-r--r--gas/testsuite/gas/riscv/option-arch-fail.l2
-rw-r--r--gas/testsuite/gas/riscv/x-thead-vector-fail.d2
-rw-r--r--gas/testsuite/gas/riscv/x-thead-vector-fail.l2
-rw-r--r--gas/testsuite/gas/riscv/zilsd-zclsd-fail.d3
-rw-r--r--gas/testsuite/gas/riscv/zilsd-zclsd-fail.l15
-rw-r--r--gas/testsuite/gas/riscv/zilsd-zclsd-fail.s15
-rw-r--r--gas/testsuite/gas/riscv/zilsd-zclsd.d29
-rw-r--r--gas/testsuite/gas/riscv/zilsd-zclsd.s20
-rw-r--r--gas/write.c46
-rw-r--r--gdb/MAINTAINERS3
-rw-r--r--gdb/Makefile.in83
-rw-r--r--gdb/NEWS119
-rw-r--r--gdb/README13
-rw-r--r--gdb/aarch64-fbsd-nat.c4
-rw-r--r--gdb/aarch64-fbsd-tdep.c7
-rw-r--r--gdb/aarch64-linux-nat.c4
-rw-r--r--gdb/aarch64-linux-tdep.c69
-rw-r--r--gdb/aarch64-newlib-tdep.c4
-rw-r--r--gdb/aarch64-tdep.c6
-rw-r--r--gdb/ada-lang.c119
-rw-r--r--gdb/ada-tasks.c4
-rw-r--r--gdb/ada-typeprint.c2
-rw-r--r--gdb/ada-varobj.c14
-rw-r--r--gdb/addrmap.c61
-rw-r--r--gdb/agent.c4
-rw-r--r--gdb/aix-thread.c4
-rw-r--r--gdb/alpha-bsd-nat.c4
-rw-r--r--gdb/alpha-linux-nat.c4
-rw-r--r--gdb/alpha-linux-tdep.c9
-rw-r--r--gdb/alpha-netbsd-tdep.c7
-rw-r--r--gdb/alpha-obsd-tdep.c7
-rw-r--r--gdb/alpha-tdep.c4
-rw-r--r--gdb/amd-dbgapi-target.c155
-rw-r--r--gdb/amd-dbgapi-target.h5
-rw-r--r--gdb/amd64-darwin-tdep.c6
-rw-r--r--gdb/amd64-dicos-tdep.c4
-rw-r--r--gdb/amd64-fbsd-nat.c4
-rw-r--r--gdb/amd64-fbsd-tdep.c7
-rw-r--r--gdb/amd64-gnu-tdep.c7
-rw-r--r--gdb/amd64-linux-nat.c4
-rw-r--r--gdb/amd64-linux-tdep.c49
-rw-r--r--gdb/amd64-netbsd-nat.c4
-rw-r--r--gdb/amd64-netbsd-tdep.c7
-rw-r--r--gdb/amd64-obsd-nat.c4
-rw-r--r--gdb/amd64-obsd-tdep.c7
-rw-r--r--gdb/amd64-sol2-tdep.c7
-rw-r--r--gdb/amd64-tdep.c134
-rw-r--r--gdb/amd64-windows-nat.c4
-rw-r--r--gdb/amd64-windows-tdep.c4
-rw-r--r--gdb/amdgpu-tdep.c5
-rw-r--r--gdb/annotate.c4
-rw-r--r--gdb/arc-linux-nat.c4
-rw-r--r--gdb/arc-linux-tdep.c10
-rw-r--r--gdb/arc-newlib-tdep.c4
-rw-r--r--gdb/arc-tdep.c4
-rw-r--r--gdb/arch-utils.c4
-rw-r--r--gdb/arm-fbsd-nat.c4
-rw-r--r--gdb/arm-fbsd-tdep.c7
-rw-r--r--gdb/arm-linux-nat.c4
-rw-r--r--gdb/arm-linux-tdep.c8
-rw-r--r--gdb/arm-netbsd-nat.c4
-rw-r--r--gdb/arm-netbsd-tdep.c7
-rw-r--r--gdb/arm-none-tdep.c4
-rw-r--r--gdb/arm-obsd-tdep.c7
-rw-r--r--gdb/arm-pikeos-tdep.c4
-rw-r--r--gdb/arm-tdep.c6
-rw-r--r--gdb/arm-wince-tdep.c4
-rw-r--r--gdb/auto-load.c84
-rw-r--r--gdb/auxv.c4
-rw-r--r--gdb/avr-tdep.c4
-rw-r--r--gdb/ax-gdb.c4
-rw-r--r--gdb/bfin-linux-tdep.c4
-rw-r--r--gdb/bfin-tdep.c4
-rw-r--r--gdb/block.c4
-rw-r--r--gdb/bpf-tdep.c4
-rw-r--r--gdb/break-catch-exec.c4
-rw-r--r--gdb/break-catch-fork.c4
-rw-r--r--gdb/break-catch-load.c8
-rw-r--r--gdb/break-catch-sig.c4
-rw-r--r--gdb/break-catch-syscall.c6
-rw-r--r--gdb/break-catch-throw.c4
-rw-r--r--gdb/break-cond-parse.c17
-rw-r--r--gdb/breakpoint.c68
-rw-r--r--gdb/breakpoint.h4
-rw-r--r--gdb/bsd-uthread.c13
-rw-r--r--gdb/bt-utils.c41
-rw-r--r--gdb/bt-utils.h5
-rw-r--r--gdb/btrace.c4
-rw-r--r--gdb/build-id.c8
-rw-r--r--gdb/c-exp.y10
-rw-r--r--gdb/charset.c4
-rw-r--r--gdb/cli/cli-cmds.c51
-rw-r--r--gdb/cli/cli-dump.c4
-rw-r--r--gdb/cli/cli-interp.c4
-rw-r--r--gdb/cli/cli-logging.c4
-rw-r--r--gdb/cli/cli-script.c4
-rw-r--r--gdb/cli/cli-style.c112
-rw-r--r--gdb/cli/cli-style.h14
-rw-r--r--gdb/coff-pe-read.c4
-rw-r--r--gdb/coffread.c4
-rw-r--r--gdb/compile/compile-c-support.c8
-rw-r--r--gdb/compile/compile-cplus-types.c4
-rw-r--r--gdb/compile/compile.c4
-rw-r--r--gdb/complaints.c4
-rw-r--r--gdb/completer.c4
-rw-r--r--gdb/config.in15
-rwxr-xr-xgdb/configure168
-rw-r--r--gdb/configure.ac63
-rw-r--r--gdb/configure.tgt76
-rw-r--r--gdb/contrib/ari/create-web-ari-in-src.sh2
-rwxr-xr-xgdb/contrib/ari/gdb_ari.sh4
-rw-r--r--gdb/contrib/ari/update-web-ari.sh6
-rwxr-xr-xgdb/contrib/cc-with-tweaks.sh5
-rw-r--r--gdb/contrib/codespell-dictionary.txt1
-rw-r--r--gdb/contrib/codespell-ignore-words.txt1
-rwxr-xr-xgdb/contrib/codespell-log.sh95
-rwxr-xr-xgdb/contrib/license-check-new-files.sh149
-rw-r--r--gdb/contrib/setup.cfg10
-rw-r--r--gdb/copying.c4
-rwxr-xr-xgdb/copyright.py101
-rw-r--r--gdb/corefile.c4
-rw-r--r--gdb/corelow.c11
-rw-r--r--gdb/cp-abi.c4
-rw-r--r--gdb/cp-name-parser.y31
-rw-r--r--gdb/cp-namespace.c4
-rw-r--r--gdb/cp-support.c21
-rw-r--r--gdb/cp-support.h4
-rw-r--r--gdb/cp-valprint.c4
-rw-r--r--gdb/cris-linux-tdep.c9
-rw-r--r--gdb/cris-tdep.c4
-rw-r--r--gdb/csky-linux-tdep.c8
-rw-r--r--gdb/csky-tdep.c4
-rw-r--r--gdb/darwin-nat-info.c4
-rw-r--r--gdb/darwin-nat.c6
-rw-r--r--gdb/dbxread.c4
-rw-r--r--gdb/dcache.c4
-rw-r--r--gdb/debuginfod-support.c4
-rw-r--r--gdb/defs.h8
-rw-r--r--gdb/dicos-tdep.c2
-rw-r--r--gdb/disasm-selftests.c91
-rw-r--r--gdb/disasm-selftests.h32
-rw-r--r--gdb/disasm.c4
-rw-r--r--gdb/displaced-stepping.c4
-rw-r--r--gdb/doc/gdb.texinfo348
-rw-r--r--gdb/doc/guile.texi19
-rw-r--r--gdb/doc/python.texi158
-rw-r--r--gdb/dtrace-probe.c4
-rw-r--r--gdb/dummy-frame.c4
-rw-r--r--gdb/dwarf2/attribute.c56
-rw-r--r--gdb/dwarf2/attribute.h51
-rw-r--r--gdb/dwarf2/call-site.h2
-rw-r--r--gdb/dwarf2/cooked-index-entry.c4
-rw-r--r--gdb/dwarf2/cooked-index-worker.c9
-rw-r--r--gdb/dwarf2/cooked-index-worker.h30
-rw-r--r--gdb/dwarf2/cooked-index.c12
-rw-r--r--gdb/dwarf2/cooked-indexer.c26
-rw-r--r--gdb/dwarf2/cu.h15
-rw-r--r--gdb/dwarf2/die.c3
-rw-r--r--gdb/dwarf2/dwz.c251
-rw-r--r--gdb/dwarf2/dwz.h25
-rw-r--r--gdb/dwarf2/frame-tailcall.c4
-rw-r--r--gdb/dwarf2/frame.c4
-rw-r--r--gdb/dwarf2/frame.h61
-rw-r--r--gdb/dwarf2/index-cache.c4
-rw-r--r--gdb/dwarf2/index-write.c4
-rw-r--r--gdb/dwarf2/line-header.c13
-rw-r--r--gdb/dwarf2/line-header.h2
-rw-r--r--gdb/dwarf2/loc.c49
-rw-r--r--gdb/dwarf2/loc.h111
-rw-r--r--gdb/dwarf2/macro.c1
-rw-r--r--gdb/dwarf2/public.h25
-rw-r--r--gdb/dwarf2/read-debug-names.c26
-rw-r--r--gdb/dwarf2/read-gdb-index.c9
-rw-r--r--gdb/dwarf2/read.c1650
-rw-r--r--gdb/dwarf2/read.h68
-rw-r--r--gdb/dwarf2/section.h15
-rw-r--r--gdb/dwarf2/unit-head.c (renamed from gdb/dwarf2/comp-unit-head.c)128
-rw-r--r--gdb/dwarf2/unit-head.h (renamed from gdb/dwarf2/comp-unit-head.h)69
-rw-r--r--gdb/elfread.c4
-rw-r--r--gdb/eval.c26
-rw-r--r--gdb/event-top.c17
-rw-r--r--gdb/exceptions.c3
-rw-r--r--gdb/exec.c44
-rw-r--r--gdb/extension.c4
-rw-r--r--gdb/extract-store-integer.c4
-rw-r--r--gdb/f-lang.c4
-rw-r--r--gdb/f-valprint.c4
-rw-r--r--gdb/fbsd-nat.c6
-rw-r--r--gdb/filesystem.c4
-rw-r--r--gdb/findcmd.c4
-rw-r--r--gdb/findvar.c3
-rw-r--r--gdb/fork-child.c4
-rw-r--r--gdb/frame-unwind.c6
-rw-r--r--gdb/frame.c4
-rw-r--r--gdb/frv-linux-tdep.c4
-rw-r--r--gdb/frv-tdep.c7
-rw-r--r--gdb/frv-tdep.h3
-rw-r--r--gdb/ft32-tdep.c4
-rw-r--r--gdb/gcore-1.in6
-rw-r--r--gdb/gcore.c4
-rw-r--r--gdb/gdb-demangle.c4
-rw-r--r--gdb/gdb-gdb.py.in8
-rw-r--r--gdb/gdb-stabs.h4
-rw-r--r--gdb/gdb_bfd.c4
-rw-r--r--gdb/gdb_buildall.sh2
-rw-r--r--gdb/gdbarch-gen.c24
-rw-r--r--gdb/gdbarch-gen.h7
-rw-r--r--gdb/gdbarch-selftests.c4
-rw-r--r--gdb/gdbarch.h1
-rw-r--r--gdb/gdbarch_components.py12
-rw-r--r--gdb/gdbtypes.c201
-rw-r--r--gdb/gdbtypes.h67
-rw-r--r--gdb/gmp-utils.c5
-rw-r--r--gdb/gnu-nat.c4
-rw-r--r--gdb/gnu-v2-abi.c14
-rw-r--r--gdb/gnu-v3-abi.c6
-rw-r--r--gdb/go32-nat.c4
-rw-r--r--gdb/guile/guile-internal.h9
-rw-r--r--gdb/guile/guile.c4
-rw-r--r--gdb/guile/scm-cmd.c83
-rw-r--r--gdb/guile/scm-color.c11
-rw-r--r--gdb/guile/scm-param.c41
-rw-r--r--gdb/guile/scm-ports.c10
-rw-r--r--gdb/h8300-tdep.c4
-rw-r--r--gdb/hppa-bsd-tdep.c3
-rw-r--r--gdb/hppa-linux-nat.c4
-rw-r--r--gdb/hppa-linux-tdep.c8
-rw-r--r--gdb/hppa-netbsd-nat.c4
-rw-r--r--gdb/hppa-netbsd-tdep.c4
-rw-r--r--gdb/hppa-obsd-nat.c4
-rw-r--r--gdb/hppa-obsd-tdep.c4
-rw-r--r--gdb/hppa-tdep.c4
-rw-r--r--gdb/i386-bsd-nat.c4
-rw-r--r--gdb/i386-darwin-nat.c4
-rw-r--r--gdb/i386-darwin-tdep.c6
-rw-r--r--gdb/i386-dicos-tdep.c4
-rw-r--r--gdb/i386-fbsd-nat.c4
-rw-r--r--gdb/i386-fbsd-tdep.c7
-rw-r--r--gdb/i386-gnu-tdep.c7
-rw-r--r--gdb/i386-go32-tdep.c4
-rw-r--r--gdb/i386-linux-nat.c4
-rw-r--r--gdb/i386-linux-tdep.c8
-rw-r--r--gdb/i386-netbsd-nat.c4
-rw-r--r--gdb/i386-netbsd-tdep.c7
-rw-r--r--gdb/i386-obsd-nat.c4
-rw-r--r--gdb/i386-obsd-tdep.c7
-rw-r--r--gdb/i386-sol2-nat.c4
-rw-r--r--gdb/i386-sol2-tdep.c7
-rw-r--r--gdb/i386-tdep.c4
-rw-r--r--gdb/i386-windows-nat.c4
-rw-r--r--gdb/i386-windows-tdep.c4
-rw-r--r--gdb/ia64-libunwind-tdep.c4
-rw-r--r--gdb/ia64-linux-nat.c4
-rw-r--r--gdb/ia64-linux-tdep.c8
-rw-r--r--gdb/ia64-tdep.c4
-rw-r--r--gdb/ia64-vms-tdep.c4
-rw-r--r--gdb/inf-child.c6
-rw-r--r--gdb/inf-child.h4
-rw-r--r--gdb/infcall.c4
-rw-r--r--gdb/infcmd.c19
-rw-r--r--gdb/inferior.h9
-rw-r--r--gdb/inflow.c4
-rw-r--r--gdb/infrun.c43
-rw-r--r--gdb/infrun.h3
-rw-r--r--gdb/inline-frame.c4
-rw-r--r--gdb/interps.c4
-rw-r--r--gdb/interps.h8
-rw-r--r--gdb/iq2000-tdep.c4
-rw-r--r--gdb/jit.c4
-rw-r--r--gdb/language.c4
-rw-r--r--gdb/linespec.c83
-rw-r--r--gdb/linux-fork.c4
-rw-r--r--gdb/linux-nat.c29
-rw-r--r--gdb/linux-nat.h3
-rw-r--r--gdb/linux-tdep.c195
-rw-r--r--gdb/linux-tdep.h6
-rw-r--r--gdb/linux-thread-db.c4
-rw-r--r--gdb/lm32-tdep.c4
-rw-r--r--gdb/loongarch-linux-nat.c4
-rw-r--r--gdb/loongarch-linux-tdep.c12
-rw-r--r--gdb/loongarch-tdep.c22
-rw-r--r--gdb/m32c-tdep.c4
-rw-r--r--gdb/m32r-linux-nat.c4
-rw-r--r--gdb/m32r-linux-tdep.c8
-rw-r--r--gdb/m32r-tdep.c4
-rw-r--r--gdb/m68hc11-tdep.c4
-rw-r--r--gdb/m68k-bsd-nat.c4
-rw-r--r--gdb/m68k-bsd-tdep.c7
-rw-r--r--gdb/m68k-linux-nat.c4
-rw-r--r--gdb/m68k-linux-tdep.c8
-rw-r--r--gdb/m68k-tdep.c4
-rw-r--r--gdb/machoread.c4
-rw-r--r--gdb/macrocmd.c41
-rw-r--r--gdb/macroscope.c39
-rw-r--r--gdb/macroscope.h20
-rw-r--r--gdb/main.c4
-rw-r--r--gdb/main.h3
-rw-r--r--gdb/maint-test-options.c4
-rw-r--r--gdb/maint-test-settings.c4
-rw-r--r--gdb/maint.c95
-rw-r--r--gdb/maint.h33
-rwxr-xr-xgdb/make-init-c25
-rw-r--r--gdb/mdebugread.c25
-rw-r--r--gdb/mdebugread.h33
-rw-r--r--gdb/memattr.c4
-rw-r--r--gdb/mep-tdep.c4
-rw-r--r--gdb/mi/mi-cmd-env.c4
-rw-r--r--gdb/mi/mi-cmd-file.c5
-rw-r--r--gdb/mi/mi-cmds.c4
-rw-r--r--gdb/mi/mi-interp.c12
-rw-r--r--gdb/mi/mi-main.c6
-rw-r--r--gdb/microblaze-linux-tdep.c11
-rw-r--r--gdb/microblaze-tdep.c4
-rw-r--r--gdb/mingw-hdep.c106
-rw-r--r--gdb/minsyms.c8
-rw-r--r--gdb/mips-fbsd-nat.c4
-rw-r--r--gdb/mips-fbsd-tdep.c61
-rw-r--r--gdb/mips-linux-nat.c4
-rw-r--r--gdb/mips-linux-tdep.c76
-rw-r--r--gdb/mips-netbsd-nat.c4
-rw-r--r--gdb/mips-netbsd-tdep.c58
-rw-r--r--gdb/mips-sde-tdep.c4
-rw-r--r--gdb/mips-tdep.c4
-rw-r--r--gdb/mips64-obsd-nat.c4
-rw-r--r--gdb/mips64-obsd-tdep.c7
-rw-r--r--gdb/mipsread.c16
-rw-r--r--gdb/mn10300-linux-tdep.c8
-rw-r--r--gdb/mn10300-tdep.c4
-rw-r--r--gdb/moxie-tdep.c4
-rw-r--r--gdb/msp430-tdep.c4
-rw-r--r--gdb/nat/linux-namespaces.c167
-rw-r--r--gdb/nat/linux-namespaces.h11
-rw-r--r--gdb/nat/linux-procfs.c30
-rw-r--r--gdb/nat/linux-procfs.h14
-rw-r--r--gdb/nat/linux-ptrace.c4
-rw-r--r--gdb/nds32-tdep.c4
-rw-r--r--gdb/objc-lang.c4
-rw-r--r--gdb/objfiles.c12
-rw-r--r--gdb/objfiles.h23
-rw-r--r--gdb/observable.c4
-rw-r--r--gdb/or1k-linux-nat.c4
-rw-r--r--gdb/or1k-linux-tdep.c8
-rw-r--r--gdb/or1k-tdep.c4
-rw-r--r--gdb/osabi.c4
-rw-r--r--gdb/osdata.c4
-rw-r--r--gdb/p-valprint.c4
-rw-r--r--gdb/pager.h17
-rw-r--r--gdb/parse.c8
-rw-r--r--gdb/parser-defs.h3
-rw-r--r--gdb/ppc-fbsd-nat.c4
-rw-r--r--gdb/ppc-fbsd-tdep.c10
-rw-r--r--gdb/ppc-linux-nat.c4
-rw-r--r--gdb/ppc-linux-tdep.c126
-rw-r--r--gdb/ppc-netbsd-nat.c4
-rw-r--r--gdb/ppc-netbsd-tdep.c7
-rw-r--r--gdb/ppc-obsd-nat.c4
-rw-r--r--gdb/ppc-obsd-tdep.c7
-rw-r--r--gdb/ppc-sysv-tdep.c1
-rw-r--r--gdb/printcmd.c12
-rw-r--r--gdb/probe.c4
-rw-r--r--gdb/proc-api.c4
-rw-r--r--gdb/proc-events.c4
-rw-r--r--gdb/proc-service.c4
-rw-r--r--gdb/procfs.c18
-rw-r--r--gdb/producer.c4
-rw-r--r--gdb/progspace.c9
-rw-r--r--gdb/progspace.h39
-rw-r--r--gdb/psymtab.c4
-rw-r--r--gdb/python/lib/gdb/__init__.py153
-rw-r--r--gdb/python/lib/gdb/dap/__init__.py1
-rw-r--r--gdb/python/lib/gdb/dap/breakpoint.py10
-rw-r--r--gdb/python/lib/gdb/dap/completions.py7
-rw-r--r--gdb/python/lib/gdb/dap/evaluate.py6
-rw-r--r--gdb/python/lib/gdb/dap/events.py7
-rw-r--r--gdb/python/lib/gdb/dap/frames.py6
-rw-r--r--gdb/python/lib/gdb/dap/globalvars.py1
-rw-r--r--gdb/python/lib/gdb/dap/launch.py1
-rw-r--r--gdb/python/lib/gdb/dap/next.py15
-rw-r--r--gdb/python/lib/gdb/dap/scopes.py3
-rw-r--r--gdb/python/lib/gdb/dap/server.py101
-rw-r--r--gdb/python/lib/gdb/dap/sources.py9
-rw-r--r--gdb/python/lib/gdb/dap/threads.py23
-rw-r--r--gdb/python/lib/gdb/dap/varref.py3
-rw-r--r--gdb/python/lib/gdb/styling.py1
-rw-r--r--gdb/python/py-breakpoint.c6
-rw-r--r--gdb/python/py-cmd.c108
-rw-r--r--gdb/python/py-color.c77
-rw-r--r--gdb/python/py-connection.c4
-rw-r--r--gdb/python/py-dap.c4
-rw-r--r--gdb/python/py-disasm.c11
-rw-r--r--gdb/python/py-gdb-readline.c4
-rw-r--r--gdb/python/py-micmd.c4
-rw-r--r--gdb/python/py-param.c18
-rw-r--r--gdb/python/py-registers.c3
-rw-r--r--gdb/python/py-type.c2
-rw-r--r--gdb/python/py-unwind.c10
-rw-r--r--gdb/python/py-value.c3
-rw-r--r--gdb/python/python-internal.h16
-rw-r--r--gdb/python/python.c55
-rw-r--r--gdb/ravenscar-thread.c6
-rw-r--r--gdb/record-btrace.c33
-rw-r--r--gdb/record-full.c4
-rw-r--r--gdb/record.c4
-rw-r--r--gdb/regcache-dump.c4
-rw-r--r--gdb/regcache.c4
-rw-r--r--gdb/reggroups.c4
-rw-r--r--gdb/remote-notif.c4
-rw-r--r--gdb/remote-sim.c4
-rw-r--r--gdb/remote.c77
-rw-r--r--gdb/reverse.c4
-rw-r--r--gdb/riscv-canonicalize-syscall-gen.c358
-rw-r--r--gdb/riscv-fbsd-nat.c4
-rw-r--r--gdb/riscv-fbsd-tdep.c11
-rw-r--r--gdb/riscv-linux-nat.c4
-rw-r--r--gdb/riscv-linux-tdep.c347
-rw-r--r--gdb/riscv-linux-tdep.h29
-rw-r--r--gdb/riscv-none-tdep.c4
-rw-r--r--gdb/riscv-tdep.c691
-rw-r--r--gdb/riscv-tdep.h16
-rw-r--r--gdb/rl78-tdep.c4
-rw-r--r--gdb/rs6000-aix-nat.c4
-rw-r--r--gdb/rs6000-aix-tdep.c6
-rw-r--r--gdb/rs6000-lynx178-tdep.c4
-rw-r--r--gdb/rs6000-tdep.c4
-rw-r--r--gdb/run-on-main-thread.c4
-rw-r--r--gdb/rust-exp.h36
-rw-r--r--gdb/rust-lang.c33
-rw-r--r--gdb/rust-parse.c4
-rw-r--r--gdb/rx-tdep.c4
-rw-r--r--gdb/s12z-tdep.c4
-rw-r--r--gdb/s390-linux-nat.c4
-rw-r--r--gdb/s390-linux-tdep.c55
-rw-r--r--gdb/s390-tdep.c56
-rw-r--r--gdb/ser-go32.c4
-rw-r--r--gdb/ser-mingw.c4
-rw-r--r--gdb/ser-pipe.c4
-rw-r--r--gdb/ser-tcp.c4
-rw-r--r--gdb/ser-uds.c4
-rw-r--r--gdb/ser-unix.c164
-rw-r--r--gdb/serial.c4
-rw-r--r--gdb/sh-linux-tdep.c8
-rw-r--r--gdb/sh-netbsd-nat.c4
-rw-r--r--gdb/sh-netbsd-tdep.c7
-rw-r--r--gdb/sh-tdep.c4
-rw-r--r--gdb/skip.c4
-rw-r--r--gdb/sol-thread.c18
-rw-r--r--gdb/solib-aix.c92
-rw-r--r--gdb/solib-aix.h7
-rw-r--r--gdb/solib-darwin.c92
-rw-r--r--gdb/solib-darwin.h6
-rw-r--r--gdb/solib-dsbt.c81
-rw-r--r--gdb/solib-dsbt.h6
-rw-r--r--gdb/solib-frv.c79
-rw-r--r--gdb/solib-frv.h28
-rw-r--r--gdb/solib-rocm.c170
-rw-r--r--gdb/solib-svr4-linux.c98
-rw-r--r--gdb/solib-svr4-linux.h47
-rw-r--r--gdb/solib-svr4.c755
-rw-r--r--gdb/solib-svr4.h142
-rw-r--r--gdb/solib-target.c64
-rw-r--r--gdb/solib-target.h16
-rw-r--r--gdb/solib.c417
-rw-r--r--gdb/solib.h253
-rw-r--r--gdb/solist.h221
-rw-r--r--gdb/source-cache.c4
-rw-r--r--gdb/source.c4
-rw-r--r--gdb/sparc-linux-nat.c4
-rw-r--r--gdb/sparc-linux-tdep.c8
-rw-r--r--gdb/sparc-nat.c4
-rw-r--r--gdb/sparc-netbsd-nat.c4
-rw-r--r--gdb/sparc-netbsd-tdep.c7
-rw-r--r--gdb/sparc-obsd-tdep.c4
-rw-r--r--gdb/sparc-sol2-tdep.c7
-rw-r--r--gdb/sparc-tdep.c4
-rw-r--r--gdb/sparc64-fbsd-nat.c4
-rw-r--r--gdb/sparc64-fbsd-tdep.c7
-rw-r--r--gdb/sparc64-linux-nat.c4
-rw-r--r--gdb/sparc64-linux-tdep.c8
-rw-r--r--gdb/sparc64-nat.c4
-rw-r--r--gdb/sparc64-netbsd-nat.c4
-rw-r--r--gdb/sparc64-netbsd-tdep.c7
-rw-r--r--gdb/sparc64-obsd-nat.c4
-rw-r--r--gdb/sparc64-obsd-tdep.c7
-rw-r--r--gdb/sparc64-sol2-tdep.c7
-rw-r--r--gdb/sparc64-tdep.c4
-rw-r--r--gdb/stabsread.c4
-rw-r--r--gdb/stack.c4
-rw-r--r--gdb/stap-probe.c4
-rw-r--r--gdb/std-regs.c4
-rw-r--r--gdb/svr4-tls-tdep.c254
-rw-r--r--gdb/svr4-tls-tdep.h59
-rw-r--r--gdb/symfile-debug.c4
-rw-r--r--gdb/symfile-mem.c4
-rw-r--r--gdb/symfile.c10
-rw-r--r--gdb/symmisc.c4
-rw-r--r--gdb/symtab.c27
-rw-r--r--gdb/symtab.h6
-rwxr-xr-xgdb/syscalls/riscv-canonicalize-syscall-gen.py171
-rw-r--r--gdb/target-connection.c5
-rw-r--r--gdb/target-dcache.c4
-rw-r--r--gdb/target-descriptions.c4
-rw-r--r--gdb/target.c34
-rw-r--r--gdb/target.h16
-rw-r--r--gdb/testsuite/Makefile.in5
-rwxr-xr-xgdb/testsuite/analyze-racy-logs.py3
-rw-r--r--gdb/testsuite/boards/cc-with-dwz-5.exp28
-rw-r--r--gdb/testsuite/gdb.ada/array_subscript_addr/p.adb5
-rw-r--r--gdb/testsuite/gdb.ada/bp_inlined_func.exp4
-rw-r--r--gdb/testsuite/gdb.ada/dyn-bit-offset.exp79
-rw-r--r--gdb/testsuite/gdb.ada/dyn-bit-offset/exam.adb45
-rw-r--r--gdb/testsuite/gdb.ada/finish-var-size.exp8
-rw-r--r--gdb/testsuite/gdb.ada/fixed_points.exp4
-rw-r--r--gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb7
-rw-r--r--gdb/testsuite/gdb.ada/negative-bit-offset.exp36
-rw-r--r--gdb/testsuite/gdb.ada/negative-bit-offset/prog.adb36
-rw-r--r--gdb/testsuite/gdb.ada/null_overload/foo.adb4
-rw-r--r--gdb/testsuite/gdb.ada/null_overload/pck.adb23
-rw-r--r--gdb/testsuite/gdb.ada/null_overload/pck.ads22
-rw-r--r--gdb/testsuite/gdb.ada/packed_record_2.exp61
-rw-r--r--gdb/testsuite/gdb.ada/packed_record_2/exam.adb51
-rw-r--r--gdb/testsuite/gdb.ada/scalar_storage.exp28
-rw-r--r--gdb/testsuite/gdb.ada/task_switch_in_core.exp2
-rw-r--r--gdb/testsuite/gdb.ada/type-tick-size/prog.adb2
-rw-r--r--gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.c205
-rw-r--r--gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.exp106
-rw-r--r--gdb/testsuite/gdb.arch/amd64-watchpoint-downgrade.exp2
-rw-r--r--gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection-stackalign.c27
-rw-r--r--gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp70
-rw-r--r--gdb/testsuite/gdb.base/attach-deleted-exec.exp44
-rw-r--r--gdb/testsuite/gdb.base/bg-execution-repeat.c2
-rw-r--r--gdb/testsuite/gdb.base/bg-execution-repeat.exp11
-rw-r--r--gdb/testsuite/gdb.base/bp-cond-failure.exp4
-rw-r--r--gdb/testsuite/gdb.base/bp-permanent.c2
-rw-r--r--gdb/testsuite/gdb.base/bp-permanent.exp4
-rw-r--r--gdb/testsuite/gdb.base/break-dbg.cc31
-rw-r--r--gdb/testsuite/gdb.base/break-dbg.exp70
-rw-r--r--gdb/testsuite/gdb.base/break1.c8
-rw-r--r--gdb/testsuite/gdb.base/catch-fork-kill.exp2
-rw-r--r--gdb/testsuite/gdb.base/catch-fork-static.exp4
-rw-r--r--gdb/testsuite/gdb.base/catch-signal-fork.exp1
-rw-r--r--gdb/testsuite/gdb.base/coredump-filter-build-id.exp2
-rw-r--r--gdb/testsuite/gdb.base/corefile-shmem-zero-id-lib.c522
-rw-r--r--gdb/testsuite/gdb.base/corefile-shmem-zero-id.c63
-rw-r--r--gdb/testsuite/gdb.base/corefile-shmem-zero-id.exp228
-rw-r--r--gdb/testsuite/gdb.base/default.exp209
-rw-r--r--gdb/testsuite/gdb.base/dlmopen-ns-ids-main.c6
-rw-r--r--gdb/testsuite/gdb.base/dlmopen-ns-ids.exp145
-rw-r--r--gdb/testsuite/gdb.base/exprs.exp18
-rw-r--r--gdb/testsuite/gdb.base/filename-completion.exp27
-rw-r--r--gdb/testsuite/gdb.base/foll-exec-c++.exp24
-rw-r--r--gdb/testsuite/gdb.base/foll-exec-c.exp23
-rw-r--r--gdb/testsuite/gdb.base/foll-exec.c33
-rw-r--r--gdb/testsuite/gdb.base/foll-exec.exp.tcl (renamed from gdb/testsuite/gdb.base/foll-exec.exp)90
-rw-r--r--gdb/testsuite/gdb.base/foll-fork-syscall.c35
-rw-r--r--gdb/testsuite/gdb.base/foll-fork-syscall.exp143
-rw-r--r--gdb/testsuite/gdb.base/foll-fork.exp2
-rw-r--r--gdb/testsuite/gdb.base/foll-vfork.exp7
-rw-r--r--gdb/testsuite/gdb.base/fork-no-detach-follow-child-dlopen.exp1
-rw-r--r--gdb/testsuite/gdb.base/fork-print-inferior-events.exp2
-rw-r--r--gdb/testsuite/gdb.base/fork-running-state.exp2
-rw-r--r--gdb/testsuite/gdb.base/gcore.exp1
-rw-r--r--gdb/testsuite/gdb.base/infcall-failure.exp16
-rw-r--r--gdb/testsuite/gdb.base/inferior-died.exp5
-rw-r--r--gdb/testsuite/gdb.base/info-shared.exp3
-rw-r--r--gdb/testsuite/gdb.base/interrupt-daemon.exp2
-rw-r--r--gdb/testsuite/gdb.base/jit-bfd-name.exp6
-rw-r--r--gdb/testsuite/gdb.base/jit-elf-fork.exp1
-rw-r--r--gdb/testsuite/gdb.base/jit-elf-solib.c2
-rw-r--r--gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp1
-rw-r--r--gdb/testsuite/gdb.base/maint.exp43
-rw-r--r--gdb/testsuite/gdb.base/multi-forks.exp6
-rw-r--r--gdb/testsuite/gdb.base/options.exp19
-rw-r--r--gdb/testsuite/gdb.base/pie-fork.exp2
-rw-r--r--gdb/testsuite/gdb.base/print-symbol-loading.exp2
-rw-r--r--gdb/testsuite/gdb.base/ptype.exp8
-rw-r--r--gdb/testsuite/gdb.base/run-control-while-bg-execution.exp5
-rw-r--r--gdb/testsuite/gdb.base/sigall.exp9
-rw-r--r--gdb/testsuite/gdb.base/solib-search.exp2
-rw-r--r--gdb/testsuite/gdb.base/step-over-exit.exp7
-rw-r--r--gdb/testsuite/gdb.base/style.exp289
-rw-r--r--gdb/testsuite/gdb.base/tls-common.exp.tcl50
-rw-r--r--gdb/testsuite/gdb.base/tls-dlobj-lib.c87
-rw-r--r--gdb/testsuite/gdb.base/tls-dlobj.c311
-rw-r--r--gdb/testsuite/gdb.base/tls-dlobj.exp378
-rw-r--r--gdb/testsuite/gdb.base/tls-multiobj.c89
-rw-r--r--gdb/testsuite/gdb.base/tls-multiobj.exp230
-rw-r--r--gdb/testsuite/gdb.base/tls-multiobj1.c26
-rw-r--r--gdb/testsuite/gdb.base/tls-multiobj2.c26
-rw-r--r--gdb/testsuite/gdb.base/tls-multiobj3.c26
-rw-r--r--gdb/testsuite/gdb.base/tls-nothreads.c57
-rw-r--r--gdb/testsuite/gdb.base/tls-nothreads.exp248
-rw-r--r--gdb/testsuite/gdb.base/user-namespace-attach.c35
-rw-r--r--gdb/testsuite/gdb.base/user-namespace-attach.exp148
-rw-r--r--gdb/testsuite/gdb.base/vfork-follow-parent.exp2
-rw-r--r--gdb/testsuite/gdb.base/watch-before-fork.exp2
-rw-r--r--gdb/testsuite/gdb.base/watch-vfork.exp2
-rw-r--r--gdb/testsuite/gdb.base/watchpoint-hw-attach.exp21
-rw-r--r--gdb/testsuite/gdb.btrace/multi-inferior.exp2
-rw-r--r--gdb/testsuite/gdb.cp/chained-calls.cc17
-rw-r--r--gdb/testsuite/gdb.cp/chained-calls.exp3
-rw-r--r--gdb/testsuite/gdb.cp/cpexprs.exp.tcl36
-rw-r--r--gdb/testsuite/gdb.cp/cplusfuncs.exp3
-rw-r--r--gdb/testsuite/gdb.cp/templates.exp49
-rw-r--r--gdb/testsuite/gdb.dap/attach.exp4
-rw-r--r--gdb/testsuite/gdb.dap/log-message.exp9
-rw-r--r--gdb/testsuite/gdb.dap/threads.c67
-rw-r--r--gdb/testsuite/gdb.dap/threads.exp81
-rw-r--r--gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp2
-rw-r--r--gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp4
-rw-r--r--gdb/testsuite/gdb.debuginfod/fetch_src_and_symbols.exp2
-rw-r--r--gdb/testsuite/gdb.debuginfod/solib-with-soname.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/ada-array-bound.c29
-rw-r--r--gdb/testsuite/gdb.dwarf2/ada-array-bound.exp89
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp41
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw-form-strx.exp25
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw-form-strx.exp.tcl64
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-error.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S6
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-ranges-psym-warning.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S6
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-strp.S6
-rw-r--r--gdb/testsuite/gdb.dwarf2/dwzbuildid.exp159
-rw-r--r--gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl184
-rw-r--r--gdb/testsuite/gdb.dwarf2/dwzbuildid5.exp17
-rw-r--r--gdb/testsuite/gdb.dwarf2/dwznolink.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/dynamic-bit-offset.exp95
-rw-r--r--gdb/testsuite/gdb.dwarf2/fission-dw-form-strx.exp88
-rw-r--r--gdb/testsuite/gdb.dwarf2/intbits.c3
-rw-r--r--gdb/testsuite/gdb.dwarf2/intbits.exp19
-rw-r--r--gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw4.exp71
-rw-r--r--gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw5.exp75
-rw-r--r--gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld234-dw5.exp70
-rw-r--r--gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw4.exp70
-rw-r--r--gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw5.exp81
-rw-r--r--gdb/testsuite/gdb.dwarf2/macro-source-path.exp.tcl (renamed from gdb/testsuite/gdb.dwarf2/macro-source-path.exp)250
-rw-r--r--gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/pr11465.S6
-rw-r--r--gdb/testsuite/gdb.guile/scm-cmd.exp59
-rw-r--r--gdb/testsuite/gdb.guile/scm-color.exp10
-rw-r--r--gdb/testsuite/gdb.guile/scm-frame.exp2
-rw-r--r--gdb/testsuite/gdb.guile/scm-parameter.exp195
-rw-r--r--gdb/testsuite/gdb.linespec/linespec.exp6
-rw-r--r--gdb/testsuite/gdb.linespec/lspec.cc2
-rw-r--r--gdb/testsuite/gdb.mi/interrupt-thread-group.exp2
-rw-r--r--gdb/testsuite/gdb.mi/mi-condbreak-throw.exp2
-rw-r--r--gdb/testsuite/gdb.mi/mi-multi-commands.exp2
-rw-r--r--gdb/testsuite/gdb.mi/mi-var-display.exp4
-rw-r--r--gdb/testsuite/gdb.mi/user-selected-context-sync.exp4
-rw-r--r--gdb/testsuite/gdb.multi/attach-no-multi-process.exp5
-rw-r--r--gdb/testsuite/gdb.multi/attach-while-running.exp3
-rw-r--r--gdb/testsuite/gdb.multi/bp-thread-specific.exp2
-rw-r--r--gdb/testsuite/gdb.multi/dummy-frame-restore.exp2
-rw-r--r--gdb/testsuite/gdb.multi/multi-arch.exp2
-rw-r--r--gdb/testsuite/gdb.multi/multi-attach.exp2
-rw-r--r--gdb/testsuite/gdb.multi/multi-exit.exp2
-rw-r--r--gdb/testsuite/gdb.multi/multi-kill.exp2
-rw-r--r--gdb/testsuite/gdb.multi/multi-re-run.exp2
-rw-r--r--gdb/testsuite/gdb.multi/multi-target.exp.tcl4
-rw-r--r--gdb/testsuite/gdb.multi/multi-term-settings.exp2
-rw-r--r--gdb/testsuite/gdb.multi/start-inferior-specific.exp2
-rw-r--r--gdb/testsuite/gdb.multi/stop-all-on-exit.exp2
-rw-r--r--gdb/testsuite/gdb.multi/tids-gid-reset.exp2
-rw-r--r--gdb/testsuite/gdb.multi/tids.exp7
-rw-r--r--gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp2
-rw-r--r--gdb/testsuite/gdb.multi/watchpoint-multi.exp2
-rw-r--r--gdb/testsuite/gdb.opt/break-on-_exit.exp2
-rw-r--r--gdb/testsuite/gdb.pascal/integers.exp2
-rw-r--r--gdb/testsuite/gdb.python/gdb_leak_detector.py121
-rw-r--r--gdb/testsuite/gdb.python/py-breakpoint.exp2
-rw-r--r--gdb/testsuite/gdb.python/py-cmd.exp85
-rw-r--r--gdb/testsuite/gdb.python/py-color-leak.exp28
-rw-r--r--gdb/testsuite/gdb.python/py-color-leak.py37
-rw-r--r--gdb/testsuite/gdb.python/py-color.exp75
-rw-r--r--gdb/testsuite/gdb.python/py-disasm.exp.tcl5
-rw-r--r--gdb/testsuite/gdb.python/py-disasm.py18
-rw-r--r--gdb/testsuite/gdb.python/py-frame.exp15
-rw-r--r--gdb/testsuite/gdb.python/py-inferior-leak.exp14
-rw-r--r--gdb/testsuite/gdb.python/py-inferior-leak.py111
-rw-r--r--gdb/testsuite/gdb.python/py-missing-objfile.exp10
-rw-r--r--gdb/testsuite/gdb.python/py-objfile.c2
-rw-r--r--gdb/testsuite/gdb.python/py-objfile.exp3
-rw-r--r--gdb/testsuite/gdb.python/py-parameter-prefix.exp382
-rw-r--r--gdb/testsuite/gdb.python/py-parameter.exp187
-rw-r--r--gdb/testsuite/gdb.python/py-read-memory-leak.exp14
-rw-r--r--gdb/testsuite/gdb.python/py-read-memory-leak.py86
-rw-r--r--gdb/testsuite/gdb.python/py-source-styling-2.exp24
-rw-r--r--gdb/testsuite/gdb.python/py-unwind.exp7
-rw-r--r--gdb/testsuite/gdb.python/py-unwind.py20
-rw-r--r--gdb/testsuite/gdb.python/py-warning.exp63
-rw-r--r--gdb/testsuite/gdb.replay/connect.exp2
-rw-r--r--gdb/testsuite/gdb.reverse/i386-avx-reverse.exp2
-rw-r--r--gdb/testsuite/gdb.reverse/solib-precsave.exp2
-rw-r--r--gdb/testsuite/gdb.reverse/solib-reverse.exp2
-rw-r--r--gdb/testsuite/gdb.reverse/time-reverse.exp43
-rw-r--r--gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp86
-rw-r--r--gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.exp68
-rw-r--r--gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu.exp1
-rw-r--r--gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp1
-rw-r--r--gdb/testsuite/gdb.rocm/mi-attach.exp3
-rw-r--r--gdb/testsuite/gdb.rocm/precise-memory-fork.exp1
-rw-r--r--gdb/testsuite/gdb.rocm/precise-memory.exp2
-rw-r--r--gdb/testsuite/gdb.server/build-id-seqno.exp6
-rw-r--r--gdb/testsuite/gdb.server/fileio-packets.exp66
-rw-r--r--gdb/testsuite/gdb.server/fileio-packets.py208
-rw-r--r--gdb/testsuite/gdb.server/no-thread-db.exp4
-rw-r--r--gdb/testsuite/gdb.server/pread-offset-size.S29
-rw-r--r--gdb/testsuite/gdb.server/pread-offset-size.exp49
-rw-r--r--gdb/testsuite/gdb.stabs/weird.def2
-rw-r--r--gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.exp84
-rwxr-xr-xgdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.gdb25
-rw-r--r--gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp89
-rw-r--r--gdb/testsuite/gdb.threads/clone-attach-detach.exp2
-rw-r--r--gdb/testsuite/gdb.threads/current-lwp-dead.exp2
-rw-r--r--gdb/testsuite/gdb.threads/detach-step-over.exp2
-rw-r--r--gdb/testsuite/gdb.threads/foll-fork-other-thread.exp2
-rw-r--r--gdb/testsuite/gdb.threads/fork-child-threads.exp5
-rw-r--r--gdb/testsuite/gdb.threads/fork-plus-threads.exp2
-rw-r--r--gdb/testsuite/gdb.threads/fork-thread-pending.exp6
-rw-r--r--gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp2
-rw-r--r--gdb/testsuite/gdb.threads/inf-thr-count.exp57
-rw-r--r--gdb/testsuite/gdb.threads/info-threads-options.c77
-rw-r--r--gdb/testsuite/gdb.threads/info-threads-options.exp131
-rw-r--r--gdb/testsuite/gdb.threads/next-fork-exec-other-thread.exp2
-rw-r--r--gdb/testsuite/gdb.threads/next-fork-other-thread.exp2
-rw-r--r--gdb/testsuite/gdb.threads/pending-fork-event-detach-ns.exp2
-rw-r--r--gdb/testsuite/gdb.threads/pending-fork-event-detach.exp2
-rw-r--r--gdb/testsuite/gdb.threads/thread-bp-deleted.exp2
-rw-r--r--gdb/testsuite/gdb.threads/thread-execl.c10
-rw-r--r--gdb/testsuite/gdb.threads/threadapply.exp6
-rw-r--r--gdb/testsuite/gdb.threads/tls.exp2
-rw-r--r--gdb/testsuite/gdb.threads/vfork-follow-child-exec.exp2
-rw-r--r--gdb/testsuite/gdb.threads/vfork-follow-child-exit.exp2
-rw-r--r--gdb/testsuite/gdb.threads/vfork-multi-inferior.exp4
-rw-r--r--gdb/testsuite/gdb.threads/vfork-multi-thread.exp2
-rw-r--r--gdb/testsuite/gdb.threads/watchpoint-fork.exp2
-rw-r--r--gdb/testsuite/gdb.trace/tspeed.exp2
-rw-r--r--gdb/testsuite/gdb.tui/corefile-run.exp2
-rw-r--r--gdb/testsuite/gdb.tui/pr30056.exp4
-rw-r--r--gdb/testsuite/gdb.tui/tui-focus.exp2
-rw-r--r--gdb/testsuite/gdb.tui/tui-layout-asm.exp106
-rw-r--r--gdb/testsuite/gdb.xml/bad-include.xml2
-rw-r--r--gdb/testsuite/gdb.xml/tdesc-xinclude.exp2
-rw-r--r--gdb/testsuite/lib/dwarf.exp86
-rw-r--r--gdb/testsuite/lib/gdb-python.exp21
-rw-r--r--gdb/testsuite/lib/gdb.exp114
-rw-r--r--gdb/testsuite/lib/gdbserver-support.exp2
-rwxr-xr-xgdb/testsuite/make-check-all.sh4
-rw-r--r--gdb/thread.c126
-rw-r--r--gdb/tic6x-linux-tdep.c6
-rw-r--r--gdb/tic6x-tdep.c4
-rw-r--r--gdb/tilegx-linux-nat.c4
-rw-r--r--gdb/tilegx-linux-tdep.c11
-rw-r--r--gdb/tilegx-tdep.c4
-rw-r--r--gdb/top.c8
-rw-r--r--gdb/tracectf.c6
-rw-r--r--gdb/tracefile-tfile.c18
-rw-r--r--gdb/tracefile.c4
-rw-r--r--gdb/tracepoint.c6
-rw-r--r--gdb/tui/tui-disasm.c4
-rw-r--r--gdb/tui/tui-hooks.c4
-rw-r--r--gdb/tui/tui-interp.c4
-rw-r--r--gdb/tui/tui-layout.c4
-rw-r--r--gdb/tui/tui-regs.c4
-rw-r--r--gdb/tui/tui-status.c4
-rw-r--r--gdb/tui/tui-win.c4
-rw-r--r--gdb/tui/tui.c4
-rw-r--r--gdb/typeprint.c4
-rw-r--r--gdb/ui-file.c12
-rw-r--r--gdb/ui-file.h17
-rw-r--r--gdb/ui-style.c17
-rw-r--r--gdb/ui.c4
-rw-r--r--gdb/unittests/array-view-selftests.c4
-rw-r--r--gdb/unittests/child-path-selftests.c4
-rw-r--r--gdb/unittests/cli-utils-selftests.c4
-rw-r--r--gdb/unittests/command-def-selftests.c4
-rw-r--r--gdb/unittests/common-utils-selftests.c4
-rw-r--r--gdb/unittests/copy_bitwise-selftests.c4
-rw-r--r--gdb/unittests/enum-flags-selftests.c5
-rw-r--r--gdb/unittests/environ-selftests.c4
-rw-r--r--gdb/unittests/filtered_iterator-selftests.c4
-rw-r--r--gdb/unittests/format_pieces-selftests.c4
-rw-r--r--gdb/unittests/frame_info_ptr-selftests.c4
-rw-r--r--gdb/unittests/function-view-selftests.c4
-rw-r--r--gdb/unittests/gdb_tilde_expand-selftests.c4
-rw-r--r--gdb/unittests/gmp-utils-selftests.c5
-rw-r--r--gdb/unittests/intrusive_list-selftests.c5
-rw-r--r--gdb/unittests/lookup_name_info-selftests.c4
-rw-r--r--gdb/unittests/main-thread-selftests.c4
-rw-r--r--gdb/unittests/memory-map-selftests.c4
-rw-r--r--gdb/unittests/memrange-selftests.c4
-rw-r--r--gdb/unittests/mkdir-recursive-selftests.c4
-rw-r--r--gdb/unittests/observable-selftests.c4
-rw-r--r--gdb/unittests/offset-type-selftests.c4
-rw-r--r--gdb/unittests/packed-selftests.c4
-rw-r--r--gdb/unittests/parallel-for-selftests.c141
-rw-r--r--gdb/unittests/parse-connection-spec-selftests.c4
-rw-r--r--gdb/unittests/path-join-selftests.c4
-rw-r--r--gdb/unittests/remote-arg-selftests.c163
-rw-r--r--gdb/unittests/rsp-low-selftests.c4
-rw-r--r--gdb/unittests/scoped_fd-selftests.c4
-rw-r--r--gdb/unittests/scoped_ignore_signal-selftests.c4
-rw-r--r--gdb/unittests/scoped_mmap-selftests.c4
-rw-r--r--gdb/unittests/scoped_restore-selftests.c4
-rw-r--r--gdb/unittests/search-memory-selftests.c4
-rw-r--r--gdb/unittests/style-selftests.c4
-rw-r--r--gdb/unittests/tracepoint-selftests.c4
-rw-r--r--gdb/unittests/tui-selftests.c4
-rw-r--r--gdb/unittests/ui-file-selftests.c4
-rw-r--r--gdb/unittests/unique_xmalloc_ptr_char.c4
-rw-r--r--gdb/unittests/unpack-selftests.c4
-rw-r--r--gdb/unittests/utils-selftests.c59
-rw-r--r--gdb/unittests/vec-utils-selftests.c4
-rw-r--r--gdb/unittests/xml-utils-selftests.c4
-rw-r--r--gdb/user-regs.c4
-rw-r--r--gdb/utils.c98
-rw-r--r--gdb/utils.h5
-rw-r--r--gdb/v850-tdep.c4
-rw-r--r--gdb/valops.c29
-rw-r--r--gdb/valprint.c4
-rw-r--r--gdb/value.c26
-rw-r--r--gdb/value.h14
-rw-r--r--gdb/varobj.c4
-rw-r--r--gdb/vax-bsd-nat.c4
-rw-r--r--gdb/vax-netbsd-tdep.c7
-rw-r--r--gdb/vax-tdep.c4
-rw-r--r--gdb/windows-nat.c16
-rw-r--r--gdb/windows-tdep.c31
-rw-r--r--gdb/x86-bsd-nat.c4
-rw-r--r--gdb/x86-gnu-nat.c4
-rw-r--r--gdb/x86-linux-nat.c4
-rw-r--r--gdb/xcoffread.c4
-rw-r--r--gdb/xml-support.c5
-rw-r--r--gdb/xml-syscall.c2
-rw-r--r--gdb/xml-tdesc.c2
-rw-r--r--gdb/xstormy16-tdep.c4
-rw-r--r--gdb/xtensa-linux-nat.c4
-rw-r--r--gdb/xtensa-linux-tdep.c8
-rw-r--r--gdb/xtensa-tdep.c7
-rw-r--r--gdb/z80-tdep.c11
-rw-r--r--gdbserver/hostio.cc62
-rw-r--r--gdbserver/linux-low.cc10
-rw-r--r--gdbserver/linux-low.h2
-rw-r--r--gdbserver/server.cc5
-rw-r--r--gdbserver/target.cc9
-rw-r--r--gdbserver/target.h7
-rw-r--r--gdbserver/tracepoint.cc6
-rw-r--r--gdbserver/utils.cc2
-rw-r--r--gdbsupport/Makefile.am1
-rw-r--r--gdbsupport/Makefile.in14
-rw-r--r--gdbsupport/common-utils.h10
-rw-r--r--gdbsupport/event-loop.cc3
-rw-r--r--gdbsupport/parallel-for.h10
-rw-r--r--gdbsupport/poison.h2
-rw-r--r--gdbsupport/print-utils.cc18
-rw-r--r--gdbsupport/print-utils.h30
-rw-r--r--gdbsupport/remote-args.cc43
-rw-r--r--gdbsupport/remote-args.h60
-rw-r--r--gdbsupport/run-time-clock.cc43
-rw-r--r--gdbsupport/run-time-clock.h33
-rw-r--r--gprof/cg_arcs.c14
-rw-r--r--gprofng/common/config.h.in18
-rw-r--r--gprofng/common/core_pcbe.c4
-rw-r--r--gprofng/common/cpu_frequency.h8
-rw-r--r--gprofng/common/cpuid.c12
-rw-r--r--gprofng/common/gp-defs.h4
-rw-r--r--gprofng/common/gp-experiment.h62
-rw-r--r--gprofng/common/hwctable.c8
-rwxr-xr-xgprofng/configure240
-rw-r--r--gprofng/configure.ac5
-rw-r--r--gprofng/doc/gprofng_ug.texi5
-rw-r--r--gprofng/libcollector/collector.c59
-rw-r--r--gprofng/libcollector/descendants.h14
-rw-r--r--gprofng/libcollector/envmgmt.c3
-rw-r--r--gprofng/libcollector/libcol-i386-dis.c2
-rw-r--r--gprofng/libcollector/libcol_util.h2
-rw-r--r--gprofng/libcollector/linetrace.c4
-rw-r--r--gprofng/src/CallStack.cc10
-rw-r--r--gprofng/src/DbeSession.cc11
-rw-r--r--gprofng/src/DbeSession.h1
-rw-r--r--gprofng/src/Dwarf.cc271
-rw-r--r--gprofng/src/Dwarf.h4
-rw-r--r--gprofng/src/DwarfLib.cc333
-rw-r--r--gprofng/src/DwarfLib.h64
-rw-r--r--gprofng/src/Experiment.cc9
-rw-r--r--gprofng/src/Experiment.h1
-rw-r--r--gprofng/src/LoadObject.cc21
-rw-r--r--gprofng/src/LoadObject.h1
-rw-r--r--gprofng/src/Makefile.am1
-rw-r--r--gprofng/src/Makefile.in4
-rw-r--r--gprofng/src/Stabs.cc169
-rw-r--r--gprofng/src/Stabs.h5
-rw-r--r--gprofng/src/Symbol.cc218
-rw-r--r--gprofng/src/Symbol.h84
-rw-r--r--gprofng/src/collect.h1
-rw-r--r--gprofng/src/envsets.cc10
-rw-r--r--gprofng/src/gp-archive.cc3
-rw-r--r--gprofng/src/gp-collect-app.cc5
-rw-r--r--gprofng/src/gp-display-src.cc3
-rw-r--r--gprofng/src/gp-display-text.cc3
-rw-r--r--gprofng/src/gprofng.cc3
-rw-r--r--gprofng/src/ipcio.cc5
-rw-r--r--include/elf/common.h5
-rw-r--r--include/libiberty.h22
-rw-r--r--include/opcode/aarch64.h201
-rw-r--r--include/opcode/kvx.h4
-rw-r--r--include/opcode/riscv-opc.h37
-rw-r--r--include/opcode/riscv.h43
-rw-r--r--ld/NEWS8
-rw-r--r--ld/config.in3
-rwxr-xr-xld/configure291
-rw-r--r--ld/configure.ac6
-rw-r--r--ld/emultempl/emulation.em3
-rw-r--r--ld/emultempl/kvxelf.em14
-rw-r--r--ld/emultempl/pe.em50
-rw-r--r--ld/ld.texi8
-rw-r--r--ld/ldemul.c8
-rw-r--r--ld/ldemul.h8
-rw-r--r--ld/ldlang.c41
-rw-r--r--ld/ldmain.c6
-rw-r--r--ld/ldmisc.c10
-rw-r--r--ld/pe-dll.c9
-rw-r--r--ld/scripttempl/avr.sc20
-rw-r--r--ld/scripttempl/pe.sc29
-rw-r--r--ld/scripttempl/pep.sc31
-rw-r--r--ld/testsuite/config/default.exp13
-rw-r--r--ld/testsuite/ld-aarch64/aarch64.ld20
-rw-r--r--ld/testsuite/ld-aarch64/gc-got-relocs.d15
-rw-r--r--ld/testsuite/ld-aarch64/gc-plt-relocs.d60
-rw-r--r--ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d4
-rw-r--r--ld/testsuite/ld-aarch64/gc-relocs-257.d4
-rw-r--r--ld/testsuite/ld-aarch64/gc-tls-relocs.d14
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-a.d45
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-b.d14
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-far-1.d4
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-far-opt.d4
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-far.ld26
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-a.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-b.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-a.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-b.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-a.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-b.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-plt-1-a.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-plt-1-b.d8
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-plt-1-c.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-plt-3.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/bti-plt.ld25
-rw-r--r--ld/testsuite/ld-aarch64/protections/pac-plt-1-a.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/pac-plt-1-b.d6
-rw-r--r--ld/testsuite/ld-aarch64/protections/pac-plt-2.d4
-rw-r--r--ld/testsuite/ld-aarch64/relocs-ilp32.ld2
-rw-r--r--ld/testsuite/ld-aarch64/relocs.ld2
-rw-r--r--ld/testsuite/ld-aarch64/variant_pcs-now.d98
-rw-r--r--ld/testsuite/ld-aarch64/variant_pcs-r.d10
-rw-r--r--ld/testsuite/ld-aarch64/variant_pcs-shared.d98
-rw-r--r--ld/testsuite/ld-aarch64/variant_pcs.ld32
-rw-r--r--ld/testsuite/ld-arm/arm.ld2
-rw-r--r--ld/testsuite/ld-arm/arm_purecode.ld2
-rw-r--r--ld/testsuite/ld-arm/discard-unwind.ld2
-rw-r--r--ld/testsuite/ld-arm/script-type.ld4
-rw-r--r--ld/testsuite/ld-arm/unwind-1.d9
-rw-r--r--ld/testsuite/ld-arm/unwind-2.d9
-rw-r--r--ld/testsuite/ld-arm/unwind-3.d11
-rw-r--r--ld/testsuite/ld-arm/unwind-4.d14
-rw-r--r--ld/testsuite/ld-elf/tbss4.d13
-rw-r--r--ld/testsuite/ld-elf/tbss4.s25
-rw-r--r--ld/testsuite/ld-elfvers/vers7.c4
-rw-r--r--ld/testsuite/ld-loongarch-elf/32_pcrel.s6
-rw-r--r--ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp2
-rw-r--r--ld/testsuite/ld-loongarch-elf/overflow_32_pcrel.d4
-rw-r--r--ld/testsuite/ld-loongarch-elf/underflow_32_pcrel.d4
-rw-r--r--ld/testsuite/ld-plugin/lto-binutils.exp358
-rw-r--r--ld/testsuite/ld-plugin/lto.exp25
-rw-r--r--ld/testsuite/ld-plugin/pr25618a.h1
-rw-r--r--ld/testsuite/ld-plugin/pr25618b.h1
-rw-r--r--ld/testsuite/ld-plugin/strip-1a-fat.c1
-rw-r--r--ld/testsuite/ld-plugin/strip-1a-fat.rd6
-rw-r--r--ld/testsuite/ld-plugin/strip-1a-s-all.nd3
-rw-r--r--ld/testsuite/ld-plugin/strip-1a.c4
-rw-r--r--ld/testsuite/ld-plugin/strip-1b-fat.c1
-rw-r--r--ld/testsuite/ld-plugin/strip-1b-fat.rd5
-rw-r--r--ld/testsuite/ld-plugin/strip-1b.c3
-rw-r--r--ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp8
-rw-r--r--ld/testsuite/ld-riscv-elf/property-combine-and-1.d6
-rw-r--r--ld/testsuite/ld-riscv-elf/property-combine-and-2.d11
-rw-r--r--ld/testsuite/ld-riscv-elf/property-combine-and-3.d11
-rw-r--r--ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.d10
-rw-r--r--ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.s21
-rw-r--r--ld/testsuite/ld-riscv-elf/property-zicfiss.d10
-rw-r--r--ld/testsuite/ld-riscv-elf/property-zicfiss.s21
-rw-r--r--ld/testsuite/ld-riscv-elf/property1.s21
-rw-r--r--ld/testsuite/ld-riscv-elf/property2.s5
-rw-r--r--ld/testsuite/ld-riscv-elf/property3.s21
-rw-r--r--ld/testsuite/ld-riscv-elf/property4.s21
-rw-r--r--ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.d35
-rw-r--r--ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.s21
-rw-r--r--ld/testsuite/ld-s390/pr32969_64-1.dd15
-rw-r--r--ld/testsuite/ld-s390/pr32969_64-2.dd15
-rw-r--r--ld/testsuite/ld-s390/pr32969a.s14
-rw-r--r--ld/testsuite/ld-s390/pr32969b.s10
-rw-r--r--ld/testsuite/ld-s390/pr32969c.s10
-rw-r--r--ld/testsuite/ld-s390/s390.exp8
-rw-r--r--ld/testsuite/ld-tic6x/discard-unwind.ld2
-rw-r--r--ld/testsuite/ld-tic6x/unwind.ld2
-rw-r--r--ld/testsuite/ld-x86-64/dwarf4.s346
-rw-r--r--ld/testsuite/ld-x86-64/dwarf5a.s400
-rw-r--r--ld/testsuite/ld-x86-64/dwarf5b.s345
-rw-r--r--ld/testsuite/ld-x86-64/pr32809.d71
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp1
-rw-r--r--ld/testsuite/lib/ld-lib.exp9
-rw-r--r--libctf/ctf-archive.c9
-rw-r--r--libctf/ctf-dedup.c249
-rw-r--r--libctf/ctf-hash.c29
-rw-r--r--libctf/ctf-impl.h15
-rw-r--r--libctf/ctf-link.c22
-rw-r--r--libctf/ctf-open.c2
-rw-r--r--libctf/testsuite/libctf-lookup/add-to-opened.c15
-rw-r--r--libctf/testsuite/libctf-writable/ctf-compressed.c4
-rw-r--r--libctf/testsuite/libctf-writable/ctf-nonroot-linking.c11
-rw-r--r--libiberty/ChangeLog41
-rw-r--r--libiberty/Makefile.in31
-rw-r--r--libiberty/config.in6
-rwxr-xr-xlibiberty/configure17
-rw-r--r--libiberty/configure.ac14
-rw-r--r--libiberty/configure.com2
-rw-r--r--libiberty/functions.texi14
-rw-r--r--libiberty/ldirname.c94
-rw-r--r--libiberty/makefile.vms2
-rw-r--r--libiberty/memrchr.c33
-rw-r--r--libiberty/regex.c2
-rw-r--r--libsframe/doc/sframe-spec.texi2
-rw-r--r--libsframe/sframe.c67
-rw-r--r--libsframe/testsuite/libsframe.find/findfre-1.c111
-rw-r--r--libsframe/testsuite/libsframe.find/findfunc-1.c141
-rw-r--r--libsframe/testsuite/libsframe.find/plt-findfre-1.c83
-rw-r--r--opcodes/aarch64-asm-2.c1347
-rw-r--r--opcodes/aarch64-asm.c10
-rw-r--r--opcodes/aarch64-dis-2.c7699
-rw-r--r--opcodes/aarch64-dis.c28
-rw-r--r--opcodes/aarch64-opc-2.c120
-rw-r--r--opcodes/aarch64-opc.c23
-rw-r--r--opcodes/aarch64-opc.h15
-rw-r--r--opcodes/aarch64-sys-regs.def19
-rw-r--r--opcodes/aarch64-tbl.h514
-rw-r--r--opcodes/config.in3
-rwxr-xr-xopcodes/configure287
-rw-r--r--opcodes/configure.ac2
-rw-r--r--opcodes/i386-gen.c1
-rw-r--r--opcodes/i386-opc.h3
-rw-r--r--opcodes/i386-opc.tbl21
-rw-r--r--opcodes/i386-reg.tbl20
-rw-r--r--opcodes/i386-tbl.h15402
-rw-r--r--opcodes/or1k-desc.c2
-rw-r--r--opcodes/or1k-desc.h547
-rw-r--r--opcodes/or1k-opc.h2
-rw-r--r--opcodes/po/es.po2511
-rw-r--r--opcodes/ppc-opc.c67
-rw-r--r--opcodes/riscv-dis.c42
-rw-r--r--opcodes/riscv-opc.c81
-rw-r--r--opcodes/s390-dis.c2
-rw-r--r--readline/readline/tcap.h12
-rw-r--r--sim/d10v/gencode.c2
-rw-r--r--sim/or1k/cpu.c32
-rw-r--r--sim/or1k/cpu.h14
-rw-r--r--sim/or1k/or1k.c4
-rw-r--r--sim/or1k/traps.c2
-rw-r--r--sim/testsuite/common/bits-tst.c5
1540 files changed, 128741 insertions, 37843 deletions
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f432d51..16c7505 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -38,6 +38,7 @@
# See https://pre-commit.com/hooks.html for more hooks
minimum_pre_commit_version: 3.2.0
+default_install_hook_types: [pre-commit, commit-msg]
repos:
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 25.1.0
@@ -46,7 +47,7 @@ repos:
types_or: [file]
files: 'gdb/.*\.py(\.in)?$'
- repo: https://github.com/pycqa/flake8
- rev: 7.1.1
+ rev: 7.2.0
hooks:
- id: flake8
types_or: [file]
@@ -60,7 +61,7 @@ repos:
files: '^gdb/(gdb-gdb\.py\.in|[^/]+\.py|python/.+\.py|testsuite/[^/]+\.py)$'
args: [--config, gdb/setup.cfg]
- repo: https://github.com/pycqa/isort
- rev: 6.0.0
+ rev: 6.0.1
hooks:
- id: isort
types_or: [file]
@@ -69,7 +70,7 @@ repos:
rev: v2.4.1
hooks:
- id: codespell
- files: '^(gdbsupport|gdbserver|gdb/(tui|target|data-directory|po|system-gdbinit|mi|syscalls|arch|regformats|compile|python|guile|config|unittests|cli))/'
+ files: '^(gdbsupport|gdbserver|gdb/(tui|target|data-directory|po|system-gdbinit|mi|syscalls|arch|regformats|compile|python|guile|config|unittests|cli|testsuite/gdb.(ctf|dap|debuginfod|gdb|go|guile|mi|modula2|objc|opencl|opt|pascal|perf|replay|reverse|rocm|server|stabs|testsuite|tui|xml)))/'
args: [--config, gdb/contrib/setup.cfg]
- repo: local
hooks:
@@ -80,3 +81,10 @@ repos:
# All gdb header files, but not headers in the test suite.
files: '^(gdb(support|server)?)/.*\.h$'
exclude: '.*/testsuite/.*'
+ - id: codespell-log
+ name: codespell-log
+ language: script
+ entry: gdb/contrib/codespell-log.sh
+ verbose: true
+ always_run: true
+ stages: [commit-msg]
diff --git a/Makefile.def b/Makefile.def
index 4896c5c..93485c7 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -523,7 +523,7 @@ dependencies = { module=install-bfd; on=install-libsframe; };
dependencies = { module=install-strip-bfd; on=install-strip-libsframe; };
// libopcodes depends on libbfd
-dependencies = { module=configure-opcodes; on=configure-bfd; hard=true; };
+dependencies = { module=configure-opcodes; on=all-bfd; hard=true; };
dependencies = { module=install-opcodes; on=install-bfd; };
dependencies = { module=install-strip-opcodes; on=install-strip-bfd; };
@@ -549,8 +549,8 @@ dependencies = { module=install-gprofng; on=install-opcodes; };
dependencies = { module=install-gprofng; on=install-bfd; };
dependencies = { module=configure-ld; on=configure-gettext; };
+dependencies = { module=configure-ld; on=all-bfd; };
dependencies = { module=all-ld; on=all-libiberty; };
-dependencies = { module=all-ld; on=all-bfd; };
dependencies = { module=all-ld; on=all-opcodes; };
dependencies = { module=all-ld; on=all-build-bison; };
dependencies = { module=all-ld; on=all-build-flex; };
diff --git a/Makefile.in b/Makefile.in
index f12c251..2a53616 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -67369,16 +67369,16 @@ install-strip-ld: maybe-install-strip-bfd
install-strip-ld: maybe-install-strip-libctf
install-bfd: maybe-install-libsframe
install-strip-bfd: maybe-install-strip-libsframe
-configure-opcodes: configure-bfd
-configure-stage1-opcodes: configure-stage1-bfd
-configure-stage2-opcodes: configure-stage2-bfd
-configure-stage3-opcodes: configure-stage3-bfd
-configure-stage4-opcodes: configure-stage4-bfd
-configure-stageprofile-opcodes: configure-stageprofile-bfd
-configure-stagetrain-opcodes: configure-stagetrain-bfd
-configure-stagefeedback-opcodes: configure-stagefeedback-bfd
-configure-stageautoprofile-opcodes: configure-stageautoprofile-bfd
-configure-stageautofeedback-opcodes: configure-stageautofeedback-bfd
+configure-opcodes: all-bfd
+configure-stage1-opcodes: all-stage1-bfd
+configure-stage2-opcodes: all-stage2-bfd
+configure-stage3-opcodes: all-stage3-bfd
+configure-stage4-opcodes: all-stage4-bfd
+configure-stageprofile-opcodes: all-stageprofile-bfd
+configure-stagetrain-opcodes: all-stagetrain-bfd
+configure-stagefeedback-opcodes: all-stagefeedback-bfd
+configure-stageautoprofile-opcodes: all-stageautoprofile-bfd
+configure-stageautofeedback-opcodes: all-stageautofeedback-bfd
install-opcodes: maybe-install-bfd
install-strip-opcodes: maybe-install-strip-bfd
configure-gas: maybe-configure-gettext
@@ -67443,6 +67443,16 @@ configure-stagetrain-ld: maybe-configure-stagetrain-gettext
configure-stagefeedback-ld: maybe-configure-stagefeedback-gettext
configure-stageautoprofile-ld: maybe-configure-stageautoprofile-gettext
configure-stageautofeedback-ld: maybe-configure-stageautofeedback-gettext
+configure-ld: maybe-all-bfd
+configure-stage1-ld: maybe-all-stage1-bfd
+configure-stage2-ld: maybe-all-stage2-bfd
+configure-stage3-ld: maybe-all-stage3-bfd
+configure-stage4-ld: maybe-all-stage4-bfd
+configure-stageprofile-ld: maybe-all-stageprofile-bfd
+configure-stagetrain-ld: maybe-all-stagetrain-bfd
+configure-stagefeedback-ld: maybe-all-stagefeedback-bfd
+configure-stageautoprofile-ld: maybe-all-stageautoprofile-bfd
+configure-stageautofeedback-ld: maybe-all-stageautofeedback-bfd
all-ld: maybe-all-libiberty
all-stage1-ld: maybe-all-stage1-libiberty
all-stage2-ld: maybe-all-stage2-libiberty
@@ -67453,16 +67463,6 @@ all-stagetrain-ld: maybe-all-stagetrain-libiberty
all-stagefeedback-ld: maybe-all-stagefeedback-libiberty
all-stageautoprofile-ld: maybe-all-stageautoprofile-libiberty
all-stageautofeedback-ld: maybe-all-stageautofeedback-libiberty
-all-ld: maybe-all-bfd
-all-stage1-ld: maybe-all-stage1-bfd
-all-stage2-ld: maybe-all-stage2-bfd
-all-stage3-ld: maybe-all-stage3-bfd
-all-stage4-ld: maybe-all-stage4-bfd
-all-stageprofile-ld: maybe-all-stageprofile-bfd
-all-stagetrain-ld: maybe-all-stagetrain-bfd
-all-stagefeedback-ld: maybe-all-stagefeedback-bfd
-all-stageautoprofile-ld: maybe-all-stageautoprofile-bfd
-all-stageautofeedback-ld: maybe-all-stageautofeedback-bfd
all-ld: maybe-all-opcodes
all-stage1-ld: maybe-all-stage1-opcodes
all-stage2-ld: maybe-all-stage2-opcodes
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 1543af7..8a670ad 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -113,7 +113,6 @@ target_triplet = @target@
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
- $(top_srcdir)/../config/bfd64.m4 \
$(top_srcdir)/../config/depstand.m4 \
$(top_srcdir)/../config/gettext-sister.m4 \
$(top_srcdir)/../config/gettext.m4 \
diff --git a/bfd/aclocal.m4 b/bfd/aclocal.m4
index 8364b5d..4d1b7ba 100644
--- a/bfd/aclocal.m4
+++ b/bfd/aclocal.m4
@@ -1168,7 +1168,6 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([../config/acx.m4])
-m4_include([../config/bfd64.m4])
m4_include([../config/depstand.m4])
m4_include([../config/gettext-sister.m4])
m4_include([../config/gettext.m4])
diff --git a/bfd/archive.c b/bfd/archive.c
index 6cda73c..8e20554 100644
--- a/bfd/archive.c
+++ b/bfd/archive.c
@@ -2399,12 +2399,8 @@ _bfd_compute_and_write_armap (bfd *arch, unsigned int elength)
map = new_map;
}
- if (syms[src_count]->name != NULL
- && syms[src_count]->name[0] == '_'
- && syms[src_count]->name[1] == '_'
- && strcmp (syms[src_count]->name
- + (syms[src_count]->name[2] == '_'),
- "__gnu_lto_slim") == 0
+ if (bfd_lto_slim_symbol_p (current,
+ syms[src_count]->name)
&& report_plugin_err)
{
report_plugin_err = false;
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ec60f23..d5d1b51 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2302,6 +2302,16 @@ bfd_get_lto_type (const bfd *abfd)
return abfd->lto_type;
}
+static inline bool
+bfd_lto_slim_symbol_p (const bfd *abfd, const char *name)
+{
+ return (bfd_get_lto_type (abfd) != lto_non_ir_object
+ && name != NULL
+ && name[0] == '_'
+ && name[1] == '_'
+ && strcmp (name + (name[2] == '_'), "__gnu_lto_slim") == 0);
+}
+
static inline flagword
bfd_get_file_flags (const bfd *abfd)
{
@@ -7015,6 +7025,11 @@ enum bfd_reloc_code_real
assembler and not (currently) written to any object files. */
BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC,
+ /* AArch64 9 bit pc-relative conditional branch and compare & branch.
+ The lowest two bits must be zero and are not stored in the
+ instruction, giving an 11 bit signed byte offset. */
+ BFD_RELOC_AARCH64_BRANCH9,
+
/* Tilera TILEPro Relocations. */
BFD_RELOC_TILEPRO_COPY,
BFD_RELOC_TILEPRO_GLOB_DAT,
diff --git a/bfd/bfd.c b/bfd/bfd.c
index a8d1314..858ab5c 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -470,6 +470,16 @@ EXTERNAL
. return abfd->lto_type;
.}
.
+.static inline bool
+.bfd_lto_slim_symbol_p (const bfd *abfd, const char *name)
+.{
+. return (bfd_get_lto_type (abfd) != lto_non_ir_object
+. && name != NULL
+. && name[0] == '_'
+. && name[1] == '_'
+. && strcmp (name + (name[2] == '_'), "__gnu_lto_slim") == 0);
+.}
+.
.static inline flagword
.bfd_get_file_flags (const bfd *abfd)
.{
@@ -709,6 +719,12 @@ EXTERNAL
#define EXIT_FAILURE 1
#endif
+#ifdef TLS
+#define THREAD_LOCAL TLS
+#else
+#define THREAD_LOCAL
+#endif
+
/* provide storage for subsystem, stack and heap data which may have been
passed in on the command line. Ld puts this data into a bfd_link_info
@@ -799,8 +815,8 @@ const char *const bfd_errmsgs[] =
N_("#<invalid error code>")
};
-static TLS bfd_error_type bfd_error;
-static TLS char *_bfd_error_buf;
+static THREAD_LOCAL bfd_error_type bfd_error;
+static THREAD_LOCAL char *_bfd_error_buf;
/* Free any data associated with the BFD error. */
@@ -1679,7 +1695,7 @@ _bfd_per_xvec_warn (struct per_xvec_messages *messages, size_t alloc)
error_handler_sprintf; when NULL, _bfd_error_internal will be used
instead. */
-static TLS struct per_xvec_messages *error_handler_messages;
+static THREAD_LOCAL struct per_xvec_messages *error_handler_messages;
/* A special value for error_handler_messages that indicates that the
error should simply be ignored. */
@@ -2012,18 +2028,20 @@ DESCRIPTION
Initialize BFD threading. The functions passed in will be
used to lock and unlock global data structures. This may only
be called a single time in a given process. Returns true on
- success and false on error. DATA is passed verbatim to the
- lock and unlock functions. The lock and unlock functions
- should return true on success, or set the BFD error and return
- false on failure. Note also that the lock must be a recursive
- lock: BFD may attempt to acquire the lock when it is already
- held by the current thread.
+ success and false on error. On error, the caller should
+ assume that BFD cannot be used by multiple threads. DATA is
+ passed verbatim to the lock and unlock functions. The lock
+ and unlock functions should return true on success, or set the
+ BFD error and return false on failure. Note also that the
+ lock must be a recursive lock: BFD may attempt to acquire the
+ lock when it is already held by the current thread.
*/
bool
bfd_thread_init (bfd_lock_unlock_fn_type lock, bfd_lock_unlock_fn_type unlock,
void *data)
{
+#ifdef TLS
/* Both functions must be set, and this cannot have been called
before. */
if (lock == NULL || unlock == NULL || unlock_fn != NULL)
@@ -2036,6 +2054,12 @@ bfd_thread_init (bfd_lock_unlock_fn_type lock, bfd_lock_unlock_fn_type unlock,
unlock_fn = unlock;
lock_data = data;
return true;
+#else /* TLS */
+ /* If thread-local storage wasn't found by configure, we disallow
+ threaded operation. */
+ bfd_set_error (bfd_error_invalid_operation);
+ return false;
+#endif /* TLS */
}
/*
diff --git a/bfd/coff-alpha.c b/bfd/coff-alpha.c
index e2f1a4d..fcc8aef 100644
--- a/bfd/coff-alpha.c
+++ b/bfd/coff-alpha.c
@@ -517,8 +517,7 @@ alpha_ecoff_swap_reloc_in (bfd *abfd,
value is not actually a symbol index, but is instead a
special code. We put the code in the r_size field, and
clobber the symndx. */
- if (intern->r_size != 0)
- abort ();
+ BFD_ASSERT (intern->r_size == 0);
intern->r_size = intern->r_symndx;
intern->r_symndx = RELOC_SECTION_NONE;
}
@@ -526,12 +525,16 @@ alpha_ecoff_swap_reloc_in (bfd *abfd,
{
/* The IGNORE reloc generally follows a GPDISP reloc, and is
against the .lita section. The section is irrelevant. */
- if (! intern->r_extern &&
- intern->r_symndx == RELOC_SECTION_ABS)
- abort ();
+ BFD_ASSERT (intern->r_extern || intern->r_symndx != RELOC_SECTION_ABS);
if (! intern->r_extern && intern->r_symndx == RELOC_SECTION_LITA)
intern->r_symndx = RELOC_SECTION_ABS;
}
+ else if (intern->r_type == ALPHA_R_OP_STORE)
+ {
+ /* Size of 64 bits is encoded as 0 in this 6-bit field. */
+ if (intern->r_size == 0)
+ intern->r_size = 64;
+ }
}
/* Swap a reloc out. */
@@ -713,6 +716,50 @@ alpha_adjust_reloc_out (bfd *abfd ATTRIBUTE_UNUSED,
}
}
+/* Write VAL to a little-endian bitfield specified by BITOFFSET and
+ BITSIZE at CONTENTS + SECOFFSET. Verify that these parameter are
+ valid for SEC in ABFD. */
+
+static bool
+write_bit_field (bfd *abfd, asection *sec,
+ bfd_byte *contents, bfd_size_type secoffset,
+ unsigned int bitoffset, unsigned int bitsize, uint64_t val)
+{
+ if (bitsize == 0)
+ return true;
+
+ bfd_size_type secsize = bfd_get_section_limit_octets (abfd, sec);
+ unsigned int startbyte = bitoffset >> 3;
+ unsigned int endbyte = (bitoffset + bitsize - 1) >> 3;
+
+ if (secoffset > secsize || secsize - secoffset <= endbyte)
+ return false;
+
+ unsigned int startbit = bitoffset & 7;
+ unsigned int endbit = (bitoffset + bitsize - 1) & 7;
+ unsigned int mask = -1u << startbit;
+ unsigned char *p = contents + secoffset;
+ if (startbyte != endbyte)
+ {
+ p[startbyte] = (p[startbyte] & ~mask) | ((val << startbit) & mask);
+ val = val >> (8 - startbit);
+
+ for (unsigned int off = startbyte + 1; off < endbyte; ++off)
+ {
+ p[off] = val;
+ val >>= 8;
+ }
+ mask = ~(-1u << (1 + endbit));
+ }
+ else
+ {
+ val = val << startbit;
+ mask = mask & ~(-1u << (1 + endbit));
+ }
+ p[endbyte] = (p[endbyte] & ~mask) | (val & mask);
+ return true;
+}
+
/* The size of the stack for the relocation evaluator. */
#define RELOC_STACKSIZE (10)
@@ -1005,31 +1052,10 @@ alpha_ecoff_get_relocated_section_contents (bfd *abfd,
into the addend field by alpha_adjust_reloc_in. */
unsigned int offset = (rel->addend >> 8) & 0xff;
unsigned int size = rel->addend & 0xff;
- unsigned int startbyte = offset >> 3;
- unsigned int endbyte = (offset + size + 7) >> 3;
- unsigned int bytes = endbyte + 1 - startbyte;
-
- if (bytes <= 8
- && rel->address + startbyte + bytes >= rel->address
- && (rel->address + startbyte + bytes
- <= bfd_get_section_limit_octets (input_bfd, input_section)))
- {
- uint64_t val = 0;
- for (int off = bytes - 1; off >= 0; --off)
- val = (val << 8) | data[rel->address + startbyte + off];
-
- offset -= startbyte << 3;
- size -= startbyte << 3;
- uint64_t mask = (((uint64_t) 1 << size) - 1) << offset;
- val = (val & ~mask) | ((stack[--tos] << offset) & mask);
-
- for (unsigned int off = 0; off < bytes; ++off)
- {
- data[rel->address + startbyte + off] = val & 0xff;
- val >>= 8;
- }
- }
- else
+
+ if (!write_bit_field (input_bfd, input_section,
+ data, rel->address,
+ offset, size, stack[--tos]))
r = bfd_reloc_outofrange;
}
break;
@@ -1779,33 +1805,12 @@ alpha_relocate_section (bfd *output_bfd,
adjust the address of the reloc. */
if (! bfd_link_relocatable (info))
{
- unsigned int startbyte = r_offset >> 3;
- unsigned int endbyte = (r_offset + r_size + 7) >> 3;
- unsigned int bytes = endbyte + 1 - startbyte;
-
- if (bytes <= 8
- && r_vaddr >= input_section->vma
- && r_vaddr - input_section->vma < input_section->size
- && (input_section->size - (r_vaddr - input_section->vma)
- >= startbyte + bytes))
- {
- bfd_byte *p = contents + (r_vaddr - input_section->vma);
- uint64_t val = 0;
- for (int off = bytes - 1; off >= 0; --off)
- val = (val << 8) | p[startbyte + off];
-
- r_offset -= startbyte << 3;
- r_size -= startbyte << 3;
- uint64_t mask = (((uint64_t) 1 << r_size) - 1) << r_offset;
- val = (val & ~mask) | ((stack[--tos] << r_offset) & mask);
-
- for (unsigned int off = 0; off < bytes; ++off)
- {
- p[startbyte + off] = val & 0xff;
- val >>= 8;
- }
- }
- else
+ if (tos == 0)
+ r = bfd_reloc_notsupported;
+ else if (!write_bit_field (input_bfd, input_section,
+ contents,
+ r_vaddr - input_section->vma,
+ r_offset, r_size, stack[--tos]))
r = bfd_reloc_outofrange;
}
break;
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index ab4d790..c1811cb 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -44,6 +44,7 @@
#include "libcoff.h"
#include "elf-bfd.h"
#include "hashtab.h"
+#include "safe-ctype.h"
/* Extract a long section name at STRINDEX and copy it to the bfd objstack.
Return NULL in case of error. */
@@ -3120,6 +3121,19 @@ coff_gc_sweep_symbol (struct coff_link_hash_entry *h,
typedef bool (*gc_sweep_hook_fn)
(bfd *, struct bfd_link_info *, asection *, const struct internal_reloc *);
+static inline bool
+is_subsection (const char *str, const char *prefix)
+{
+ size_t n = strlen (prefix);
+ if (strncmp (str, prefix, n) != 0)
+ return false;
+ if (str[n] == 0)
+ return true;
+ else if (str[n] != '$')
+ return false;
+ return ISDIGIT (str[n + 1]) && str[n + 2] == 0;
+}
+
static bool
coff_gc_sweep (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *info)
{
@@ -3141,6 +3155,7 @@ coff_gc_sweep (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_link_info *info)
else if (startswith (o->name, ".idata")
|| startswith (o->name, ".pdata")
|| startswith (o->name, ".xdata")
+ || is_subsection (o->name, ".didat")
|| startswith (o->name, ".rsrc"))
o->gc_mark = 1;
diff --git a/bfd/compress.c b/bfd/compress.c
index b635750..2878837 100644
--- a/bfd/compress.c
+++ b/bfd/compress.c
@@ -517,40 +517,23 @@ decompress_contents (bool is_zstd, bfd_byte *compressed_buffer,
#endif
}
- z_stream strm;
- int rc;
-
/* It is possible the section consists of several compressed
buffers concatenated together, so we uncompress in a loop. */
- /* PR 18313: The state field in the z_stream structure is supposed
- to be invisible to the user (ie us), but some compilers will
- still complain about it being used without initialisation. So
- we first zero the entire z_stream structure and then set the fields
- that we need. */
- memset (& strm, 0, sizeof strm);
- strm.avail_in = compressed_size;
- strm.next_in = (Bytef*) compressed_buffer;
- strm.avail_out = uncompressed_size;
- /* FIXME: strm.avail_in and strm.avail_out are typically unsigned
- int. Supporting sizes that don't fit in an unsigned int is
- possible but will require some rewriting of this function. */
- if (strm.avail_in != compressed_size || strm.avail_out != uncompressed_size)
- return false;
-
- BFD_ASSERT (Z_OK == 0);
- rc = inflateInit (&strm);
- while (strm.avail_in > 0 && strm.avail_out > 0)
+ do
{
+ uLongf dst_len = uncompressed_size;
+ uLong src_len = compressed_size;
+ int rc = uncompress2 ((Bytef *) uncompressed_buffer, &dst_len,
+ (Bytef *) compressed_buffer, &src_len);
if (rc != Z_OK)
- break;
- strm.next_out = ((Bytef*) uncompressed_buffer
- + (uncompressed_size - strm.avail_out));
- rc = inflate (&strm, Z_FINISH);
- if (rc != Z_STREAM_END)
- break;
- rc = inflateReset (&strm);
+ return false;
+ uncompressed_buffer += dst_len;
+ uncompressed_size -= dst_len;
+ compressed_buffer += src_len;
+ compressed_size -= src_len;
}
- return inflateEnd (&strm) == Z_OK && rc == Z_OK && strm.avail_out == 0;
+ while (compressed_size > 0 && uncompressed_size > 0);
+ return compressed_size == 0 && uncompressed_size == 0;
}
/* Compress section contents using zlib/zstd and store
@@ -987,7 +970,6 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
bfd_size_type uncompressed_size;
unsigned int uncompressed_alignment_power = 0;
enum compression_type ch_type;
- z_stream strm;
compression_header_size = bfd_get_compression_header_size (abfd, sec);
if (compression_header_size > MAX_COMPRESSION_HEADER_SIZE)
@@ -1025,10 +1007,11 @@ bfd_init_section_decompress_status (bfd *abfd, sec_ptr sec)
return false;
}
- /* PR28530, reject sizes unsupported by decompress_contents. */
- strm.avail_in = sec->size;
- strm.avail_out = uncompressed_size;
- if (strm.avail_in != sec->size || strm.avail_out != uncompressed_size)
+ /* PR28530, reject sizes unsupported by decompress_contents. zlib
+ supports only up to 4 GiB input on machines whose long is 32 bits. */
+ if (ch_type == ch_compress_zlib
+ && (sec->size != (uLong) sec->size
+ || uncompressed_size != (uLongf) uncompressed_size))
{
bfd_set_error (bfd_error_nonrepresentable_section);
return false;
diff --git a/bfd/configure b/bfd/configure
index ca7f66f..f69df12 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -702,8 +702,6 @@ REPORT_BUGS_TEXI
REPORT_BUGS_TO
PKGVERSION
DEBUGDIR
-ENABLE_BFD_64_BIT_FALSE
-ENABLE_BFD_64_BIT_TRUE
PLUGINS_FALSE
PLUGINS_TRUE
LARGEFILE_CPPFLAGS
@@ -11155,7 +11153,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11158 "configure"
+#line 11156 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11261,7 +11259,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11264 "configure"
+#line 11262 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11930,56 +11928,6 @@ else
enable_64_bit_bfd=no
fi
-
-if test "x$enable_64_bit_bfd" = "xno"; then :
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
-$as_echo_n "checking size of void *... " >&6; }
-if ${ac_cv_sizeof_void_p+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_void_p" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (void *)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_void_p=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
-$as_echo "$ac_cv_sizeof_void_p" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
-_ACEOF
-
-
- if test "x$ac_cv_sizeof_void_p" = "x8"; then :
- enable_64_bit_bfd=yes
-fi
-
-fi
-
- if test "x$enable_64_bit_bfd" = "xyes"; then
- ENABLE_BFD_64_BIT_TRUE=
- ENABLE_BFD_64_BIT_FALSE='#'
-else
- ENABLE_BFD_64_BIT_TRUE='#'
- ENABLE_BFD_64_BIT_FALSE=
-fi
-
-
if test $enable_64_bit_bfd = yes ; then
want64=true
else
@@ -17677,10 +17625,6 @@ if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
as_fn_error $? "conditional \"PLUGINS\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${ENABLE_BFD_64_BIT_TRUE}" && test -z "${ENABLE_BFD_64_BIT_FALSE}"; then
- as_fn_error $? "conditional \"ENABLE_BFD_64_BIT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/bfd/configure.ac b/bfd/configure.ac
index 90fad54..e9942d2 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -81,7 +81,13 @@ if test x$ac_checking != x ; then
AC_DEFINE(ENABLE_CHECKING, 1, [Define if you want run-time sanity checks.])
fi
-BFD_64_BIT
+AC_ARG_ENABLE(64-bit-bfd,
+ AS_HELP_STRING([--enable-64-bit-bfd],
+ [64-bit support (on hosts with narrower word sizes)]),
+ [AS_CASE([$enableval],
+ [yes|no], [],
+ [*], [AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option)])],
+ [enable_64_bit_bfd=no])
if test $enable_64_bit_bfd = yes ; then
want64=true
else
diff --git a/bfd/cpu-riscv.c b/bfd/cpu-riscv.c
index ea25e78..67ee601 100644
--- a/bfd/cpu-riscv.c
+++ b/bfd/cpu-riscv.c
@@ -118,6 +118,7 @@ const struct riscv_spec riscv_priv_specs[] =
{"1.10", PRIV_SPEC_CLASS_1P10},
{"1.11", PRIV_SPEC_CLASS_1P11},
{"1.12", PRIV_SPEC_CLASS_1P12},
+ {"1.13", PRIV_SPEC_CLASS_1P13},
};
/* Get the corresponding CSR version class by giving privilege
diff --git a/bfd/cpu-riscv.h b/bfd/cpu-riscv.h
index 93a3f52..b07fcf8 100644
--- a/bfd/cpu-riscv.h
+++ b/bfd/cpu-riscv.h
@@ -33,6 +33,7 @@ enum riscv_spec_class
PRIV_SPEC_CLASS_1P10,
PRIV_SPEC_CLASS_1P11,
PRIV_SPEC_CLASS_1P12,
+ PRIV_SPEC_CLASS_1P13,
PRIV_SPEC_CLASS_DRAFT,
};
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index 78b3ecb..0250a8f 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -2506,7 +2506,7 @@ write_dwarf_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
/* FIXME: octets_per_byte. */
if (!bfd_set_section_contents (abfd, sec->output_section, contents,
(file_ptr) sec->output_offset,
- sec->size))
+ size))
retval = false;
out:
free (contents);
diff --git a/bfd/elf.c b/bfd/elf.c
index ee89dd9..ee894eb 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -504,17 +504,44 @@ bfd_elf_get_elf_syms (bfd *ibfd,
shndx = extshndx_buf;
isym < isymend;
esym += extsym_size, isym++, shndx = shndx != NULL ? shndx + 1 : NULL)
- if (!(*bed->s->swap_symbol_in) (ibfd, esym, shndx, isym))
- {
- symoffset += (esym - (bfd_byte *) extsym_buf) / extsym_size;
- /* xgettext:c-format */
- _bfd_error_handler (_("%pB symbol number %lu references"
- " nonexistent SHT_SYMTAB_SHNDX section"),
- ibfd, (unsigned long) symoffset);
- free (alloc_intsym);
- intsym_buf = NULL;
- goto out1;
- }
+ {
+ if (!(*bed->s->swap_symbol_in) (ibfd, esym, shndx, isym))
+ {
+ symoffset += (esym - (bfd_byte *) extsym_buf) / extsym_size;
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB symbol number %lu references"
+ " nonexistent SHT_SYMTAB_SHNDX section"),
+ ibfd, (unsigned long) symoffset);
+ free (alloc_intsym);
+ intsym_buf = NULL;
+ goto out1;
+ }
+
+ /* PR 33019: Do not accept unsupported binding values - they will
+ likely cause problems later on. */
+ int bind = ELF_ST_BIND (isym->st_info);
+ if (bind > STB_WEAK && bind < STB_LOOS)
+ {
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB symbol number %lu uses unsupported binding of %u"),
+ ibfd, (unsigned long) (isym - intsym_buf), bind);
+ free (alloc_intsym);
+ intsym_buf = NULL;
+ goto out1;
+ }
+
+ /* Paranoia: Also refuse to accept the only undefined symbol type: 7. */
+ int t = ELF_ST_TYPE (isym->st_info);
+ if (t == 7)
+ {
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB symbol number %lu uses unsupported type of %u"),
+ ibfd, (unsigned long) (isym - intsym_buf), t);
+ free (alloc_intsym);
+ intsym_buf = NULL;
+ goto out1;
+ }
+ }
out1:
_bfd_munmap_temporary (alloc_extshndx, alloc_extshndx_size);
@@ -3469,7 +3496,7 @@ _bfd_elf_init_reloc_shdr (bfd *abfd,
struct bfd_elf_section_reloc_data *reldata,
const char *sec_name,
bool use_rela_p,
- bool delay_st_name_p)
+ bool delay_sh_name_p)
{
Elf_Internal_Shdr *rel_hdr;
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
@@ -3480,7 +3507,7 @@ _bfd_elf_init_reloc_shdr (bfd *abfd,
return false;
reldata->hdr = rel_hdr;
- if (delay_st_name_p)
+ if (delay_sh_name_p)
rel_hdr->sh_name = (unsigned int) -1;
else if (!_bfd_elf_set_reloc_sh_name (abfd, rel_hdr, sec_name,
use_rela_p))
@@ -3526,7 +3553,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
Elf_Internal_Shdr *this_hdr;
unsigned int sh_type;
const char *name = asect->name;
- bool delay_st_name_p = false;
+ bool delay_sh_name_p = false;
bfd_vma mask;
if (arg->failed)
@@ -3543,16 +3570,17 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
&& (abfd->flags & BFD_COMPRESS) != 0
&& (asect->flags & SEC_DEBUGGING) != 0
&& (asect->flags & SEC_ALLOC) == 0
+ && (asect->flags & SEC_HAS_CONTENTS) != 0
&& name[1] == 'd'
&& name[6] == '_')
{
/* If this section will be compressed, delay adding section
name to section name section after it is compressed in
_bfd_elf_assign_file_positions_for_non_load. */
- delay_st_name_p = true;
+ delay_sh_name_p = true;
}
- if (delay_st_name_p)
+ if (delay_sh_name_p)
this_hdr->sh_name = (unsigned int) -1;
else
{
@@ -3751,14 +3779,14 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
{
if (esd->rel.count && esd->rel.hdr == NULL
&& !_bfd_elf_init_reloc_shdr (abfd, &esd->rel, name,
- false, delay_st_name_p))
+ false, delay_sh_name_p))
{
arg->failed = true;
return;
}
if (esd->rela.count && esd->rela.hdr == NULL
&& !_bfd_elf_init_reloc_shdr (abfd, &esd->rela, name,
- true, delay_st_name_p))
+ true, delay_sh_name_p))
{
arg->failed = true;
return;
@@ -3769,7 +3797,7 @@ elf_fake_sections (bfd *abfd, asection *asect, void *fsarg)
? &esd->rela : &esd->rel),
name,
asect->use_rela_p,
- delay_st_name_p))
+ delay_sh_name_p))
{
arg->failed = true;
return;
@@ -3943,20 +3971,17 @@ bfd_elf_set_group_contents (bfd *abfd, asection *sec, void *failedptrarg)
break;
}
- /* We should always get here with loc == sec->contents + 4, but it is
- possible to craft bogus SHT_GROUP sections that will cause segfaults
- in objcopy without checking loc here and in the loop above. */
- if (loc == sec->contents)
- BFD_ASSERT (0);
- else
+ /* We should always get here with loc == sec->contents + 4. Return
+ an error for bogus SHT_GROUP sections. */
+ loc -= 4;
+ if (loc != sec->contents)
{
- loc -= 4;
- if (loc != sec->contents)
- {
- BFD_ASSERT (0);
- memset (sec->contents + 4, 0, loc - sec->contents);
- loc = sec->contents;
- }
+ /* xgettext:c-format */
+ _bfd_error_handler (_("%pB: corrupted group section: `%pA'"),
+ abfd, sec);
+ bfd_set_error (bfd_error_bad_value);
+ *failedptr = true;
+ return;
}
H_PUT_32 (abfd, sec->flags & SEC_LINK_ONCE ? GRP_COMDAT : 0, loc);
@@ -4474,7 +4499,11 @@ elf_map_symbols (bfd *abfd, unsigned int *pnum_locals)
asection *sec = sym->section;
if (sec->owner != abfd)
- sec = sec->output_section;
+ {
+ sec = sec->output_section;
+ if (sec == NULL)
+ return false;
+ }
sect_syms[sec->index] = syms[idx];
}
@@ -6292,27 +6321,28 @@ assign_file_positions_for_load_sections (bfd *abfd,
}
else
{
- if (p->p_type == PT_LOAD)
- {
- this_hdr->sh_offset = sec->filepos = off;
- if (this_hdr->sh_type != SHT_NOBITS)
- off += this_hdr->sh_size;
- }
- else if (this_hdr->sh_type == SHT_NOBITS
- && (this_hdr->sh_flags & SHF_TLS) != 0
- && this_hdr->sh_offset == 0)
+ if (this_hdr->sh_type == SHT_NOBITS
+ && (this_hdr->sh_flags & SHF_TLS) != 0
+ && this_hdr->sh_offset == 0)
{
- /* This is a .tbss section that didn't get a PT_LOAD.
- (See _bfd_elf_map_sections_to_segments "Create a
- final PT_LOAD".) Set sh_offset to the value it
- would have if we had created a zero p_filesz and
- p_memsz PT_LOAD header for the section. This
- also makes the PT_TLS header have the same
- p_offset value. */
+ /* Set sh_offset for .tbss sections to their nominal
+ offset after aligning. They are not loaded from
+ disk so the value doesn't really matter, except
+ when the .tbss section is the first one in a
+ PT_TLS segment. In that case it sets the
+ p_offset for the PT_TLS segment, which according
+ to the ELF gABI ought to satisfy
+ p_offset % p_align == p_vaddr % p_align. */
bfd_vma adjust = vma_page_aligned_bias (this_hdr->sh_addr,
off, align);
this_hdr->sh_offset = sec->filepos = off + adjust;
}
+ else if (p->p_type == PT_LOAD)
+ {
+ this_hdr->sh_offset = sec->filepos = off;
+ if (this_hdr->sh_type != SHT_NOBITS)
+ off += this_hdr->sh_size;
+ }
if (this_hdr->sh_type != SHT_NOBITS)
{
@@ -10391,6 +10421,12 @@ elfcore_grok_xstatereg (bfd *abfd, Elf_Internal_Note *note)
}
static bool
+elfcore_grok_sspreg (bfd *abfd, Elf_Internal_Note *note)
+{
+ return elfcore_make_note_pseudosection (abfd, ".reg-ssp", note);
+}
+
+static bool
elfcore_grok_ppc_vmx (bfd *abfd, Elf_Internal_Note *note)
{
return elfcore_make_note_pseudosection (abfd, ".reg-ppc-vmx", note);
@@ -11085,6 +11121,13 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
else
return true;
+ case NT_X86_SHSTK: /* Linux CET extension. */
+ if (note->namesz == 6
+ && strcmp (note->namedata, "LINUX") == 0)
+ return elfcore_grok_sspreg (abfd, note);
+ else
+ return true;
+
case NT_PPC_VMX:
if (note->namesz == 6
&& strcmp (note->namedata, "LINUX") == 0)
@@ -12535,6 +12578,15 @@ elfcore_write_xstatereg (bfd *abfd, char *buf, int *bufsiz,
note_name, NT_X86_XSTATE, xfpregs, size);
}
+static char *
+elfcore_write_sspreg (bfd *abfd, char *buf, int *bufsiz,
+ const void *ssp, int size)
+{
+ const char *note_name = "LINUX";
+ return elfcore_write_note (abfd, buf, bufsiz,
+ note_name, NT_X86_SHSTK, ssp, size);
+}
+
char *
elfcore_write_x86_segbases (bfd *abfd, char *buf, int *bufsiz,
const void *regs, int size)
@@ -13130,6 +13182,8 @@ elfcore_write_register_note (bfd *abfd,
return elfcore_write_xstatereg (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-x86-segbases") == 0)
return elfcore_write_x86_segbases (abfd, buf, bufsiz, data, size);
+ if (strcmp (section, ".reg-ssp") == 0)
+ return elfcore_write_sspreg (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-ppc-vmx") == 0)
return elfcore_write_ppc_vmx (abfd, buf, bufsiz, data, size);
if (strcmp (section, ".reg-ppc-vsx") == 0)
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 5a87462..c913f2b 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -18394,6 +18394,9 @@ elf32_arm_output_arch_local_syms (bfd *output_bfd,
struct arm_local_iplt_info **local_iplt;
unsigned int i, num_syms;
+ if (!is_arm_elf (input_bfd))
+ continue;
+
local_iplt = elf32_arm_local_iplt (input_bfd);
if (local_iplt != NULL)
{
diff --git a/bfd/elf32-sh.c b/bfd/elf32-sh.c
index 39a837c..abb7f5e 100644
--- a/bfd/elf32-sh.c
+++ b/bfd/elf32-sh.c
@@ -1429,9 +1429,9 @@ sh_elf_swap_insns (bfd *abfd, asection *sec, void *relocs,
off = irel->r_offset + 4 + irel->r_addend;
if (off == addr)
- irel->r_offset += 2;
+ irel->r_addend += 2;
else if (off == addr + 2)
- irel->r_offset -= 2;
+ irel->r_addend -= 2;
}
if (irel->r_offset == addr)
diff --git a/bfd/elf64-s390.c b/bfd/elf64-s390.c
index 259ad13..e758d08 100644
--- a/bfd/elf64-s390.c
+++ b/bfd/elf64-s390.c
@@ -2276,9 +2276,6 @@ elf_s390_relocate_section (bfd *output_bfd,
|| SYMBOL_REFERENCES_LOCAL (info, h)
|| resolved_to_zero)
{
- Elf_Internal_Sym *isym;
- asection *sym_sec;
-
/* This is actually a static link, or it is a
-Bsymbolic link and the symbol is defined
locally, or the symbol was forced to be local
@@ -2318,16 +2315,13 @@ elf_s390_relocate_section (bfd *output_bfd,
& 0xff00f000) == 0xe300c000
&& bfd_get_8 (input_bfd,
contents + rel->r_offset + 3) == 0x04))
- && (isym = bfd_sym_from_r_symndx (&htab->elf.sym_cache,
- input_bfd, r_symndx))
- && isym->st_shndx != SHN_ABS
+ && !bfd_is_abs_symbol (&h->root)
&& h != htab->elf.hdynamic
&& h != htab->elf.hgot
&& h != htab->elf.hplt
- && !(isym->st_value & 1)
- && (sym_sec = bfd_section_from_elf_index (input_bfd,
- isym->st_shndx))
- && sym_sec->alignment_power)
+ && !((h->root.u.def.value
+ + sec->output_section->vma
+ + sec->output_offset) & 1))
{
unsigned short new_insn =
(0xc000 | (bfd_get_8 (input_bfd,
@@ -3204,13 +3198,14 @@ elf_s390_relocate_section (bfd *output_bfd,
_bfd_error_handler
/* xgettext:c-format */
(_("%pB(%pA+%#" PRIx64 "): "
- "misaligned symbol `%s' (%#" PRIx64 ") for relocation %s"),
+ "relocation %s against misaligned symbol `%s' (%#" PRIx64 ") in %pB"),
input_bfd,
input_section,
(uint64_t) rel->r_offset,
+ howto->name,
h->root.root.string,
(uint64_t)relocation,
- howto->name);
+ sec->owner);
return false;
}
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 1e08f2e..6867d49 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -2552,7 +2552,13 @@ elf_x86_64_scan_relocs (bfd *abfd, struct bfd_link_info *info,
}
howto = elf_x86_64_rtype_to_howto (abfd, r_type);
- if (rel->r_offset + bfd_get_reloc_size (howto) > sec->size)
+ if (howto == NULL)
+ {
+ _bfd_error_handler (_("%pB: unsupported relocation type %#x"),
+ abfd, r_type);
+ goto error_return;
+ }
+ if (!bfd_reloc_offset_in_range (howto, abfd, sec, rel->r_offset))
{
/* xgettext:c-format */
_bfd_error_handler
@@ -5241,6 +5247,9 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
+ got_offset);
if (PLT_LOCAL_IFUNC_P (info, h))
{
+ if (h->root.u.def.section == NULL)
+ return false;
+
info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
h->root.root.string,
h->root.u.def.section->owner);
@@ -5409,6 +5418,9 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
}
if (SYMBOL_REFERENCES_LOCAL_P (info, h))
{
+ if (h->root.u.def.section == NULL)
+ return false;
+
info->callbacks->minfo (_("Local IFUNC function `%s' in %pB\n"),
h->root.root.string,
h->root.u.def.section->owner);
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 919f2a7..666399b 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -12232,9 +12232,9 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
break;
case SEC_INFO_TYPE_SFRAME:
{
- /* Merge .sframe sections into the ctf frame encoder
- context of the output_bfd's section. The final .sframe
- output section will be written out later. */
+ /* Merge SFrame section into the SFrame encoder context of the
+ output_bfd's section. The final .sframe output section will
+ be written out later. */
if (!_bfd_elf_merge_section_sframe (output_bfd, flinfo->info,
o, contents))
return false;
@@ -14058,7 +14058,7 @@ _bfd_elf_gc_mark_rsec (struct bfd_link_info *info, asection *sec,
h = get_ext_sym_hash_from_cookie (cookie, r_symndx);
if (h == NULL)
{
- /* A corrup tinput file can lead to a situation where the index
+ /* A corrupt input file can lead to a situation where the index
does not reference either a local or an external symbol. */
if (r_symndx >= cookie->locsymcount)
return NULL;
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 548da1f..8f39920 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -2268,6 +2268,9 @@ elfNN_aarch64_howto_from_bfd_reloc (bfd_reloc_code_real_type code)
if (code == BFD_RELOC_AARCH64_NONE)
return &elfNN_aarch64_howto_none;
+ if (code == BFD_RELOC_AARCH64_BRANCH9)
+ return &elfNN_aarch64_howto_none;
+
return NULL;
}
diff --git a/bfd/elfnn-loongarch.c b/bfd/elfnn-loongarch.c
index faad512..a480a70 100644
--- a/bfd/elfnn-loongarch.c
+++ b/bfd/elfnn-loongarch.c
@@ -25,6 +25,7 @@
#define ARCH_SIZE NN
#include "elf-bfd.h"
#include "objalloc.h"
+#include "splay-tree.h"
#include "elf/loongarch.h"
#include "elfxx-loongarch.h"
#include "opcode/loongarch.h"
@@ -134,6 +135,10 @@ struct loongarch_elf_link_hash_table
a partially updated state (some sections have vma updated but the
others do not), and it's unsafe to do the normal relaxation. */
bool layout_mutating_for_relr;
+
+ /* Pending relaxation (byte deletion) operations meant for roughly
+ sequential access. */
+ splay_tree pending_delete_ops;
};
struct loongarch_elf_section_data
@@ -2933,11 +2938,21 @@ perform_relocation (const Elf_Internal_Rela *rel, asection *input_section,
{
value -= sec_addr (input_section) + rel->r_offset;
value += rel->r_addend;
- bfd_vma word = bfd_get (howto->bitsize, input_bfd,
- contents + rel->r_offset);
- word = (word & ~howto->dst_mask) | (value & howto->dst_mask);
- bfd_put (howto->bitsize, input_bfd, word, contents + rel->r_offset);
- r = bfd_reloc_ok;
+ /* Check overflow. */
+ if (ELFNN_R_TYPE (rel->r_info) == R_LARCH_32_PCREL)
+ {
+ r = loongarch_reloc_rewrite_imm_insn (rel, input_section,
+ howto, input_bfd,
+ contents, value);
+ }
+ else
+ {
+ bfd_vma word = bfd_get (howto->bitsize, input_bfd,
+ contents + rel->r_offset);
+ word = (word & ~howto->dst_mask) | (value & howto->dst_mask);
+ bfd_put (howto->bitsize, input_bfd, word, contents + rel->r_offset);
+ r = bfd_reloc_ok;
+ }
break;
}
@@ -4714,43 +4729,230 @@ loongarch_elf_relocate_section (bfd *output_bfd, struct bfd_link_info *info,
return !fatal;
}
-static bool
+/* A pending delete op during a linker relaxation trip, to be stored in a
+ splay tree.
+ The key is the starting offset of this op's deletion range, interpreted
+ as if no delete op were executed for this trip. */
+struct pending_delete_op
+{
+ /* Number of bytes to delete at the address. */
+ bfd_size_type size;
+
+ /* The total offset adjustment at the address as if all preceding delete
+ ops had been executed. Used for calculating expected addresses after
+ relaxation without actually adjusting anything. */
+ bfd_size_type cumulative_offset;
+};
+
+static int
+pending_delete_op_compare (splay_tree_key a, splay_tree_key b)
+{
+ bfd_vma off_a = (bfd_vma)a;
+ bfd_vma off_b = (bfd_vma)b;
+
+ if (off_a < off_b)
+ return -1;
+ else if (off_a > off_b)
+ return 1;
+ else
+ return 0;
+}
+
+static void *
+_allocate_on_bfd (int wanted, void *data)
+{
+ bfd *abfd = (bfd *)data;
+ return bfd_alloc (abfd, wanted);
+}
+
+static void
+_deallocate_on_bfd (void *p ATTRIBUTE_UNUSED, void *data ATTRIBUTE_UNUSED)
+{
+ /* Nothing to do; the data will get released along with the associated BFD
+ or an early bfd_release call. */
+}
+
+static splay_tree
+pending_delete_ops_new (bfd *abfd)
+{
+ /* The node values are allocated with bfd_zalloc, so they are automatically
+ taken care of at BFD release time. */
+ return splay_tree_new_with_allocator (pending_delete_op_compare, NULL, NULL,
+ _allocate_on_bfd, _deallocate_on_bfd, abfd);
+}
+
+static bfd_vma
+loongarch_calc_relaxed_addr (struct bfd_link_info *info, bfd_vma offset)
+{
+ struct loongarch_elf_link_hash_table *htab = loongarch_elf_hash_table (info);
+ splay_tree pdops = htab->pending_delete_ops;
+ struct pending_delete_op *op;
+ splay_tree_node node;
+
+ BFD_ASSERT (pdops != NULL);
+
+ /* Find the op that starts just before the given address. */
+ node = splay_tree_predecessor (pdops, (splay_tree_key)offset);
+ if (node == NULL)
+ /* Nothing has been deleted yet. */
+ return offset;
+ BFD_ASSERT (((bfd_vma)node->key) < offset);
+ op = (struct pending_delete_op *)node->value;
+
+ /* If offset is inside this op's range, it is actually one of the deleted
+ bytes, so the adjusted node->key should be returned in this case. */
+ bfd_vma op_end_off = (bfd_vma)node->key + op->size;
+ if (offset < op_end_off)
+ {
+ offset = (bfd_vma)node->key;
+ node = splay_tree_predecessor (pdops, node->key);
+ op = node ? (struct pending_delete_op *)node->value : NULL;
+ }
+
+ return offset - (op ? op->cumulative_offset : 0);
+}
+
+static void
loongarch_relax_delete_bytes (bfd *abfd,
- asection *sec,
bfd_vma addr,
size_t count,
struct bfd_link_info *link_info)
{
+ struct loongarch_elf_link_hash_table *htab
+ = loongarch_elf_hash_table (link_info);
+ splay_tree pdops = htab->pending_delete_ops;
+ splay_tree_node node;
+ struct pending_delete_op *op = NULL, *new_op = NULL;
+ bool need_new_node = true;
+
+ if (count == 0)
+ return;
+
+ BFD_ASSERT (pdops != NULL);
+
+ node = splay_tree_predecessor (pdops, addr);
+ if (node)
+ {
+ op = (struct pending_delete_op *)node->value;
+ if ((bfd_vma)node->key + op->size >= addr)
+ {
+ /* The previous op already covers this offset, coalesce the new op
+ into it. */
+ op->size += count;
+ op->cumulative_offset += count;
+ need_new_node = false;
+ }
+ }
+
+ if (need_new_node)
+ {
+ new_op = bfd_zalloc (abfd, sizeof (struct pending_delete_op));
+ new_op->size = count;
+ new_op->cumulative_offset = (op ? op->cumulative_offset : 0) + count;
+ node = splay_tree_insert (pdops, (splay_tree_key)addr,
+ (splay_tree_value)new_op);
+ }
+
+ /* Adjust all cumulative offsets after this op. At this point either:
+ - a new node is created, in which case `node` has been updated with the
+ new value, or
+ - an existing node is to be reused, in which case `node` is untouched by
+ the new node logic above and appropriate to use,
+ so we can just re-use `node` here. */
+ for (node = splay_tree_successor (pdops, node->key); node != NULL;
+ node = splay_tree_successor (pdops, node->key))
+ {
+ op = (struct pending_delete_op *)node->value;
+ op->cumulative_offset += count;
+ }
+}
+
+static void
+loongarch_relax_perform_deletes (bfd *abfd, asection *sec,
+ struct bfd_link_info *link_info)
+{
unsigned int i, symcount;
bfd_vma toaddr = sec->size;
struct elf_link_hash_entry **sym_hashes = elf_sym_hashes (abfd);
Elf_Internal_Shdr *symtab_hdr = &elf_tdata (abfd)->symtab_hdr;
unsigned int sec_shndx = _bfd_elf_section_from_bfd_section (abfd, sec);
struct bfd_elf_section_data *data = elf_section_data (sec);
- bfd_byte *contents = data->this_hdr.contents;
+ bfd_byte *contents = data->this_hdr.contents, *contents_end = NULL;
struct relr_entry *relr = loongarch_elf_section_data (sec)->relr;
struct loongarch_elf_link_hash_table *htab =
loongarch_elf_hash_table (link_info);
struct relr_entry *relr_end = NULL;
+ splay_tree pdops = htab->pending_delete_ops;
+ splay_tree_node node1 = NULL, node2 = NULL;
if (htab->relr_count)
relr_end = htab->relr + htab->relr_count;
- /* Actually delete the bytes. */
- sec->size -= count;
- memmove (contents + addr, contents + addr + count, toaddr - addr - count);
+ BFD_ASSERT (pdops != NULL);
+ node1 = splay_tree_min (pdops);
+
+ if (node1 == NULL)
+ /* No pending delete ops, nothing to do. */
+ return;
+
+ /* Actually delete the bytes. For each delete op the pointer arithmetics
+ look like this:
+
+ node1->key -\ /- node2->key
+ |<- op1->size ->| |
+ v v v
+ ...-DDDDDD-------xxxxxxxxxxxxxxxxxSSSSSSxxxxxxxxxx----...
+ ^ ^ ^
+ contents_end node1->key + op1->size
+ |
+ contents_end after this memmove
+
+ where the "S" and "D" bytes are the memmove's source and destination
+ respectively. In case node1 is the first op, contents_end is initialized
+ to the op's start; in case node2 == NULL, the chunk's end is the section's
+ end. The contents_end pointer will be bumped to the new end of content
+ after each memmove. As no byte is added during the process, it is
+ guaranteed to trail behind the delete ops, and all bytes overwritten are
+ either already copied by an earlier memmove or meant to be discarded.
+
+ For memmove, we need to translate offsets to pointers by adding them to
+ `contents`. */
+ for (; node1; node1 = node2)
+ {
+ struct pending_delete_op *op1 = (struct pending_delete_op *)node1->value;
+ bfd_vma op1_start_off = (bfd_vma)node1->key;
+ bfd_vma op1_end_off = op1_start_off + op1->size;
+ node2 = splay_tree_successor (pdops, node1->key);
+ bfd_vma op2_start_off = node2 ? (bfd_vma)node2->key : toaddr;
+ bfd_size_type count = op2_start_off - op1_end_off;
+
+ if (count)
+ {
+ if (contents_end == NULL)
+ /* Start from the end of the first unmodified content chunk. */
+ contents_end = contents + op1_start_off;
+
+ memmove (contents_end, contents + op1_end_off, count);
+ contents_end += count;
+ }
+
+ /* Adjust the section size once, when we have reached the end. */
+ if (node2 == NULL)
+ sec->size -= op1->cumulative_offset;
+ }
/* Adjust the location of all of the relocs. Note that we need not
adjust the addends, since all PC-relative references must be against
symbols, which we will adjust below. */
for (i = 0; i < sec->reloc_count; i++)
- if (data->relocs[i].r_offset > addr && data->relocs[i].r_offset < toaddr)
- data->relocs[i].r_offset -= count;
+ if (data->relocs[i].r_offset < toaddr)
+ data->relocs[i].r_offset = loongarch_calc_relaxed_addr (
+ link_info, data->relocs[i].r_offset);
/* Likewise for relative relocs to be packed into .relr. */
for (; relr && relr < relr_end && relr->sec == sec; relr++)
- if (relr->off > addr && relr->off < toaddr)
- relr->off -= count;
+ if (relr->off < toaddr)
+ relr->off = loongarch_calc_relaxed_addr (link_info, relr->off);
/* Adjust the local symbols defined in this section. */
for (i = 0; i < symtab_hdr->sh_info; i++)
@@ -4758,24 +4960,35 @@ loongarch_relax_delete_bytes (bfd *abfd,
Elf_Internal_Sym *sym = (Elf_Internal_Sym *) symtab_hdr->contents + i;
if (sym->st_shndx == sec_shndx)
{
- /* If the symbol is in the range of memory we just moved, we
- have to adjust its value. */
- if (sym->st_value > addr && sym->st_value <= toaddr)
- sym->st_value -= count;
+ bfd_vma orig_value = sym->st_value;
+ if (orig_value <= toaddr)
+ sym->st_value
+ = loongarch_calc_relaxed_addr (link_info, orig_value);
- /* If the symbol *spans* the bytes we just deleted (i.e. its
- *end* is in the moved bytes but its *start* isn't), then we
- must adjust its size.
+ /* If the symbol *spans* some deleted bytes, that is its *end* is in
+ the moved bytes but its *start* isn't, then we must adjust its
+ size.
This test needs to use the original value of st_value, otherwise
we might accidentally decrease size when deleting bytes right
- before the symbol. But since deleted relocs can't span across
- symbols, we can't have both a st_value and a st_size decrease,
- so it is simpler to just use an else. */
- else if (sym->st_value <= addr
- && sym->st_value + sym->st_size > addr
- && sym->st_value + sym->st_size <= toaddr)
- sym->st_size -= count;
+ before the symbol. */
+ bfd_vma sym_end = orig_value + sym->st_size;
+ if (sym_end <= toaddr)
+ {
+ splay_tree_node node = splay_tree_predecessor (
+ pdops, (splay_tree_key)orig_value);
+ for (; node; node = splay_tree_successor (pdops, node->key))
+ {
+ bfd_vma addr = (bfd_vma)node->key;
+ struct pending_delete_op *op
+ = (struct pending_delete_op *)node->value;
+
+ if (addr >= sym_end)
+ break;
+ if (orig_value <= addr && sym_end > addr)
+ sym->st_size -= op->size;
+ }
+ }
}
}
@@ -4820,20 +5033,33 @@ loongarch_relax_delete_bytes (bfd *abfd,
|| sym_hash->root.type == bfd_link_hash_defweak)
&& sym_hash->root.u.def.section == sec)
{
- /* As above, adjust the value if needed. */
- if (sym_hash->root.u.def.value > addr
- && sym_hash->root.u.def.value <= toaddr)
- sym_hash->root.u.def.value -= count;
+ bfd_vma orig_value = sym_hash->root.u.def.value;
+
+ /* As above, adjust the value. */
+ if (orig_value <= toaddr)
+ sym_hash->root.u.def.value
+ = loongarch_calc_relaxed_addr (link_info, orig_value);
/* As above, adjust the size if needed. */
- else if (sym_hash->root.u.def.value <= addr
- && sym_hash->root.u.def.value + sym_hash->size > addr
- && sym_hash->root.u.def.value + sym_hash->size <= toaddr)
- sym_hash->size -= count;
+ bfd_vma sym_end = orig_value + sym_hash->size;
+ if (sym_end <= toaddr)
+ {
+ splay_tree_node node = splay_tree_predecessor (
+ pdops, (splay_tree_key)orig_value);
+ for (; node; node = splay_tree_successor (pdops, node->key))
+ {
+ bfd_vma addr = (bfd_vma)node->key;
+ struct pending_delete_op *op
+ = (struct pending_delete_op *)node->value;
+
+ if (addr >= sym_end)
+ break;
+ if (orig_value <= addr && sym_end > addr)
+ sym_hash->size -= op->size;
+ }
+ }
}
}
-
- return true;
}
/* Start perform TLS type transition.
@@ -4909,7 +5135,7 @@ loongarch_tls_perform_trans (bfd *abfd, asection *sec,
bfd_put (32, abfd, LARCH_NOP, contents + rel->r_offset);
/* link with -relax option will delete NOP. */
if (!info->disable_target_specific_optimizations)
- loongarch_relax_delete_bytes (abfd, sec, rel->r_offset, 4, info);
+ loongarch_relax_delete_bytes (abfd, rel->r_offset, 4, info);
return true;
case R_LARCH_TLS_IE_PC_HI20:
@@ -4998,8 +5224,7 @@ loongarch_tls_perform_trans (bfd *abfd, asection *sec,
lu52i.d $rd,$rd,%le64_hi12(sym) => (deleted)
*/
static bool
-loongarch_relax_tls_le (bfd *abfd, asection *sec,
- asection *sym_sec ATTRIBUTE_UNUSED,
+loongarch_relax_tls_le (bfd *abfd, asection *sec, asection *sym_sec,
Elf_Internal_Rela *rel, bfd_vma symval,
struct bfd_link_info *link_info,
bool *agin ATTRIBUTE_UNUSED,
@@ -5009,6 +5234,8 @@ loongarch_relax_tls_le (bfd *abfd, asection *sec,
uint32_t insn = bfd_get (32, abfd, contents + rel->r_offset);
static uint32_t insn_rj,insn_rd;
symval = symval - elf_hash_table (link_info)->tls_sec->vma;
+ if (sym_sec == sec)
+ symval = loongarch_calc_relaxed_addr (link_info, symval);
/* The old LE instruction sequence can be relaxed when the symbol offset
is smaller than the 12-bit range. */
if (symval <= 0xfff)
@@ -5023,7 +5250,7 @@ loongarch_relax_tls_le (bfd *abfd, asection *sec,
if (symval < 0x800)
{
rel->r_info = ELFNN_R_INFO (0, R_LARCH_NONE);
- loongarch_relax_delete_bytes (abfd, sec, rel->r_offset,
+ loongarch_relax_delete_bytes (abfd, rel->r_offset,
4, link_info);
}
break;
@@ -5048,7 +5275,7 @@ loongarch_relax_tls_le (bfd *abfd, asection *sec,
case R_LARCH_TLS_LE64_LO20:
case R_LARCH_TLS_LE64_HI12:
rel->r_info = ELFNN_R_INFO (0, R_LARCH_NONE);
- loongarch_relax_delete_bytes (abfd, sec, rel->r_offset,
+ loongarch_relax_delete_bytes (abfd, rel->r_offset,
4, link_info);
break;
@@ -5106,7 +5333,11 @@ loongarch_relax_pcala_addi (bfd *abfd, asection *sec, asection *sym_sec,
size_input_section already took care of updating it after relaxation,
so we additionally update once here. */
sec->output_offset = sec->output_section->size;
- bfd_vma pc = sec_addr (sec) + rel_hi->r_offset;
+ bfd_vma pc = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, rel_hi->r_offset);
+ if (sym_sec == sec)
+ symval = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec));
/* If pc and symbol not in the same segment, add/sub segment alignment. */
if (!loongarch_two_sections_in_same_segment (info->output_bfd,
@@ -5145,7 +5376,7 @@ loongarch_relax_pcala_addi (bfd *abfd, asection *sec, asection *sym_sec,
R_LARCH_PCREL20_S2);
rel_lo->r_info = ELFNN_R_INFO (0, R_LARCH_NONE);
- loongarch_relax_delete_bytes (abfd, sec, rel_lo->r_offset, 4, info);
+ loongarch_relax_delete_bytes (abfd, rel_lo->r_offset, 4, info);
return true;
}
@@ -5167,7 +5398,11 @@ loongarch_relax_call36 (bfd *abfd, asection *sec, asection *sym_sec,
size_input_section already took care of updating it after relaxation,
so we additionally update once here. */
sec->output_offset = sec->output_section->size;
- bfd_vma pc = sec_addr (sec) + rel->r_offset;
+ bfd_vma pc = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, rel->r_offset);
+ if (sym_sec == sec)
+ symval = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec));
/* If pc and symbol not in the same segment, add/sub segment alignment. */
if (!loongarch_two_sections_in_same_segment (info->output_bfd,
@@ -5201,7 +5436,7 @@ loongarch_relax_call36 (bfd *abfd, asection *sec, asection *sym_sec,
/* Adjust relocations. */
rel->r_info = ELFNN_R_INFO (ELFNN_R_SYM (rel->r_info), R_LARCH_B26);
/* Delete jirl instruction. */
- loongarch_relax_delete_bytes (abfd, sec, rel->r_offset + 4, 4, info);
+ loongarch_relax_delete_bytes (abfd, rel->r_offset + 4, 4, info);
return true;
}
@@ -5227,7 +5462,11 @@ loongarch_relax_pcala_ld (bfd *abfd, asection *sec,
size_input_section already took care of updating it after relaxation,
so we additionally update once here. */
sec->output_offset = sec->output_section->size;
- bfd_vma pc = sec_addr (sec) + rel_hi->r_offset;
+ bfd_vma pc = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, rel_hi->r_offset);
+ if (sym_sec == sec)
+ symval = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec));
/* If pc and symbol not in the same segment, add/sub segment alignment. */
if (!loongarch_two_sections_in_same_segment (info->output_bfd,
@@ -5277,7 +5516,7 @@ bfd_elfNN_loongarch_set_data_segment_info (struct bfd_link_info *info,
static bool
loongarch_relax_align (bfd *abfd, asection *sec, asection *sym_sec,
Elf_Internal_Rela *rel,
- bfd_vma symval ATTRIBUTE_UNUSED,
+ bfd_vma symval,
struct bfd_link_info *link_info,
bool *again ATTRIBUTE_UNUSED,
bfd_vma max_alignment ATTRIBUTE_UNUSED)
@@ -5293,6 +5532,10 @@ loongarch_relax_align (bfd *abfd, asection *sec, asection *sym_sec,
else
alignment = rel->r_addend + 4;
+ if (sym_sec == sec)
+ symval = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (link_info, symval - sec_addr (sec));
+
addend = alignment - 4; /* The bytes of NOPs added by R_LARCH_ALIGN. */
symval -= addend; /* The address of first NOP added by R_LARCH_ALIGN. */
bfd_vma aligned_addr = ((symval - 1) & ~(alignment - 1)) + alignment;
@@ -5318,17 +5561,19 @@ loongarch_relax_align (bfd *abfd, asection *sec, asection *sym_sec,
/* If skipping more bytes than the specified maximum,
then the alignment is not done at all and delete all NOPs. */
if (max > 0 && need_nop_bytes > max)
- return loongarch_relax_delete_bytes (abfd, sec, rel->r_offset,
- addend, link_info);
+ {
+ loongarch_relax_delete_bytes (abfd, rel->r_offset, addend, link_info);
+ return true;
+ }
/* If the number of NOPs is already correct, there's nothing to do. */
if (need_nop_bytes == addend)
return true;
/* Delete the excess NOPs. */
- return loongarch_relax_delete_bytes (abfd, sec,
- rel->r_offset + need_nop_bytes,
- addend - need_nop_bytes, link_info);
+ loongarch_relax_delete_bytes (abfd, rel->r_offset + need_nop_bytes,
+ addend - need_nop_bytes, link_info);
+ return true;
}
/* Relax pcalau12i + addi.d of TLS LD/GD/DESC to pcaddi. */
@@ -5349,7 +5594,11 @@ loongarch_relax_tls_ld_gd_desc (bfd *abfd, asection *sec, asection *sym_sec,
size_input_section already took care of updating it after relaxation,
so we additionally update once here. */
sec->output_offset = sec->output_section->size;
- bfd_vma pc = sec_addr (sec) + rel_hi->r_offset;
+ bfd_vma pc = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, rel_hi->r_offset);
+ if (sym_sec == sec)
+ symval = sec_addr (sec)
+ + loongarch_calc_relaxed_addr (info, symval - sec_addr (sec));
/* If pc and symbol not in the same segment, add/sub segment alignment. */
if (!loongarch_two_sections_in_same_segment (info->output_bfd,
@@ -5404,7 +5653,7 @@ loongarch_relax_tls_ld_gd_desc (bfd *abfd, asection *sec, asection *sym_sec,
}
rel_lo->r_info = ELFNN_R_INFO (0, R_LARCH_NONE);
- loongarch_relax_delete_bytes (abfd, sec, rel_lo->r_offset, 4, info);
+ loongarch_relax_delete_bytes (abfd, rel_lo->r_offset, 4, info);
return true;
}
@@ -5492,6 +5741,9 @@ loongarch_elf_relax_section (bfd *abfd, asection *sec,
htab->max_alignment = max_alignment;
}
+ splay_tree pdops = pending_delete_ops_new (abfd);
+ htab->pending_delete_ops = pdops;
+
for (unsigned int i = 0; i < sec->reloc_count; i++)
{
char symtype;
@@ -5727,6 +5979,10 @@ loongarch_elf_relax_section (bfd *abfd, asection *sec,
info, again, max_alignment);
}
+ loongarch_relax_perform_deletes (abfd, sec, info);
+ htab->pending_delete_ops = NULL;
+ splay_tree_delete (pdops);
+
return true;
}
diff --git a/bfd/elfnn-riscv.c b/bfd/elfnn-riscv.c
index 1c494f5..790f0397 100644
--- a/bfd/elfnn-riscv.c
+++ b/bfd/elfnn-riscv.c
@@ -176,6 +176,11 @@ struct _bfd_riscv_elf_obj_tdata
/* tls_type for each local got entry. */
char *local_got_tls_type;
+
+ /* All GNU_PROPERTY_RISCV_FEATURE_1_AND properties. */
+ uint32_t gnu_and_prop;
+ /* PLT type. */
+ riscv_plt_type plt_type;
};
#define _bfd_riscv_elf_tdata(abfd) \
@@ -232,6 +237,15 @@ struct riscv_elf_link_hash_table
/* Relocations for variant CC symbols may be present. */
int variant_cc;
+
+ /* The number of bytes in the PLT header and enties. */
+ bfd_size_type plt_header_size;
+ bfd_size_type plt_entry_size;
+
+ /* Functions to make PLT header and entries. */
+ bool (*make_plt_header) (bfd *output_bfd, struct riscv_elf_link_hash_table *htab);
+ bool (*make_plt_entry) (bfd *output_bfd, asection *got, bfd_vma got_offset,
+ asection *plt, bfd_vma plt_offset);
};
/* Instruction access functions. */
@@ -252,6 +266,12 @@ struct riscv_elf_link_hash_table
&& elf_hash_table_id (elf_hash_table (p)) == RISCV_ELF_DATA) \
? (struct riscv_elf_link_hash_table *) (p)->hash : NULL)
+/* Forward declaration PLT related functions. */
+static bool
+riscv_make_plt_header (bfd *, struct riscv_elf_link_hash_table *);
+static bool
+riscv_make_plt_entry (bfd *, asection *, bfd_vma, asection *, bfd_vma);
+
void
riscv_elfNN_set_options (struct bfd_link_info *link_info,
struct riscv_elf_params *params)
@@ -297,6 +317,12 @@ riscv_is_insn_reloc (const reloc_howto_type *howto)
#define PLT_ENTRY_INSNS 4
#define PLT_HEADER_SIZE (PLT_HEADER_INSNS * 4)
#define PLT_ENTRY_SIZE (PLT_ENTRY_INSNS * 4)
+
+#define PLT_ZICFILP_UNLABELED_HEADER_INSNS 12
+#define PLT_ZICFILP_UNLABELED_ENTRY_INSNS 4
+#define PLT_ZICFILP_UNLABELED_HEADER_SIZE (PLT_ZICFILP_UNLABELED_HEADER_INSNS * 4)
+#define PLT_ZICFILP_UNLABELED_ENTRY_SIZE (PLT_ZICFILP_UNLABELED_ENTRY_INSNS * 4)
+
#define GOT_ENTRY_SIZE RISCV_ELF_WORD_BYTES
#define TLS_GD_GOT_ENTRY_SIZE (RISCV_ELF_WORD_BYTES * 2)
#define TLS_IE_GOT_ENTRY_SIZE RISCV_ELF_WORD_BYTES
@@ -314,12 +340,42 @@ riscv_is_insn_reloc (const reloc_howto_type *howto)
# define MATCH_LREG MATCH_LD
#endif
+
+/* Check whether the compact PLT is used in this object. Tools need this
+ to dump the correct PLT header contents. */
+
+static long
+elfNN_riscv_get_synthetic_symtab (bfd *abfd,
+ long symcount,
+ asymbol **syms,
+ long dynsymcount,
+ asymbol **dynsyms,
+ asymbol **ret)
+{
+ /* Check Zicfilp PLT. */
+ elf_property *prop;
+ prop = _bfd_elf_get_property (abfd, GNU_PROPERTY_RISCV_FEATURE_1_AND, 4);
+ if (prop)
+ {
+ if (prop->u.number & GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED)
+ _bfd_riscv_elf_tdata (abfd)->plt_type |= PLT_ZICFILP_UNLABELED;
+ }
+
+ return _bfd_elf_get_synthetic_symtab (abfd, symcount, syms,
+ dynsymcount, dynsyms, ret);
+}
+
/* Generate a PLT header. */
static bool
-riscv_make_plt_header (bfd *output_bfd, bfd_vma gotplt_addr, bfd_vma addr,
- uint32_t *entry)
+riscv_make_plt_header (bfd *output_bfd, struct riscv_elf_link_hash_table *htab)
{
+ asection *splt = htab->elf.splt;
+ bfd_vma addr = sec_addr (splt);
+
+ asection *sgotplt = htab->elf.sgotplt;
+ bfd_vma gotplt_addr = sec_addr (sgotplt);
+
bfd_vma gotplt_offset_high = RISCV_PCREL_HIGH_PART (gotplt_addr, addr);
bfd_vma gotplt_offset_low = RISCV_PCREL_LOW_PART (gotplt_addr, addr);
@@ -340,6 +396,7 @@ riscv_make_plt_header (bfd *output_bfd, bfd_vma gotplt_addr, bfd_vma addr,
l[w|d] t0, PTRSIZE(t0) # link map
jr t3 */
+ uint32_t entry[PLT_HEADER_INSNS];
entry[0] = RISCV_UTYPE (AUIPC, X_T2, gotplt_offset_high);
entry[1] = RISCV_RTYPE (SUB, X_T1, X_T1, X_T3);
entry[2] = RISCV_ITYPE (LREG, X_T3, X_T2, gotplt_offset_low);
@@ -349,15 +406,78 @@ riscv_make_plt_header (bfd *output_bfd, bfd_vma gotplt_addr, bfd_vma addr,
entry[6] = RISCV_ITYPE (LREG, X_T0, X_T0, RISCV_ELF_WORD_BYTES);
entry[7] = RISCV_ITYPE (JALR, 0, X_T3, 0);
+ for (int i = 0; i < PLT_HEADER_INSNS; i++)
+ bfd_putl32 (entry[i], splt->contents + 4 * i);
+
+ return true;
+}
+
+static bool
+riscv_make_plt_zicfilp_unlabeled_header (bfd *output_bfd,
+ struct riscv_elf_link_hash_table *htab)
+{
+ /*
+ lpad 0 # disable label checking
+ auipc t2, %hi(.got.plt) # Rewrite this to using
+ sub t1, t1, t3 # shifted .got.plt offset + hdr size + 16
+ l[w|d] t3, %lo(1b)(t2) # _dl_runtime_resolve
+ addi t1, t1, -(hdr size + 12) # shifted .got.plt offset
+ addi t0, t2, %pcrel_lo(1b) # &.got.plt
+ srli t1, t1, log2(16/PTRSIZE) # .got.plt offset
+ l[w|d] t0, PTRSIZE(t0) # link map
+ jr t3
+ nop
+ nop
+ nop */
+
+ /* RVE has no t3 register, so this won't work, and is not supported. */
+ if (elf_elfheader (output_bfd)->e_flags & EF_RISCV_RVE)
+ {
+ _bfd_error_handler (_("%pB: warning: RVE PLT generation not supported"),
+ output_bfd);
+ return false;
+ }
+
+ asection *gotplt = htab->elf.sgotplt;
+ bfd_vma gotplt_addr = sec_addr (gotplt);
+
+ asection *splt = htab->elf.splt;
+ bfd_vma plt_header_addr = sec_addr (splt);
+
+ bfd_vma auipc_addr = plt_header_addr + 4;
+ /* Add INSN_BYTES to skip the lpad instruction. */
+ bfd_vma gotplt_offset_high = RISCV_PCREL_HIGH_PART (gotplt_addr, auipc_addr);
+ bfd_vma gotplt_offset_low = RISCV_PCREL_LOW_PART (gotplt_addr, auipc_addr);
+
+ uint32_t header[PLT_ZICFILP_UNLABELED_HEADER_INSNS];
+ header[0] = RISCV_UTYPE (LPAD, X_ZERO, 0);
+ header[1] = RISCV_UTYPE (AUIPC, X_T2, gotplt_offset_high);
+ header[2] = RISCV_RTYPE (SUB, X_T1, X_T1, X_T3);
+ header[3] = RISCV_ITYPE (LREG, X_T3, X_T2, gotplt_offset_low);
+ header[4] = RISCV_ITYPE (ADDI, X_T1, X_T1,
+ (uint32_t) -(PLT_ZICFILP_UNLABELED_HEADER_SIZE + 16));
+ header[5] = RISCV_ITYPE (ADDI, X_T0, X_T2, gotplt_offset_low);
+ header[6] = RISCV_ITYPE (SRLI, X_T1, X_T1, 4 - RISCV_ELF_LOG_WORD_BYTES);
+ header[7] = RISCV_ITYPE (LREG, X_T0, X_T0, RISCV_ELF_WORD_BYTES);
+ header[8] = RISCV_ITYPE (JALR, 0, X_T3, 0);
+ header[9] = RISCV_NOP;
+ header[10] = RISCV_NOP;
+ header[11] = RISCV_NOP;
+
+ for (int i = 0; i < PLT_ZICFILP_UNLABELED_HEADER_INSNS; i++)
+ bfd_putl32 (header[i], splt->contents + 4 * i);
+
return true;
}
/* Generate a PLT entry. */
static bool
-riscv_make_plt_entry (bfd *output_bfd, bfd_vma got, bfd_vma addr,
- uint32_t *entry)
+riscv_make_plt_entry (bfd *output_bfd, asection *gotsec, bfd_vma got_offset,
+ asection *pltsec, bfd_vma plt_offset)
{
+ bfd_vma got = sec_addr (gotsec) + got_offset;
+ bfd_vma addr = sec_addr (pltsec) + plt_offset;
/* RVE has no t3 register, so this won't work, and is not supported. */
if (elf_elfheader (output_bfd)->e_flags & EF_RISCV_RVE)
{
@@ -371,11 +491,50 @@ riscv_make_plt_entry (bfd *output_bfd, bfd_vma got, bfd_vma addr,
jalr t1, t3
nop */
+ uint32_t entry[PLT_ENTRY_INSNS];
entry[0] = RISCV_UTYPE (AUIPC, X_T3, RISCV_PCREL_HIGH_PART (got, addr));
entry[1] = RISCV_ITYPE (LREG, X_T3, X_T3, RISCV_PCREL_LOW_PART (got, addr));
entry[2] = RISCV_ITYPE (JALR, X_T1, X_T3, 0);
entry[3] = RISCV_NOP;
+ bfd_byte *loc = pltsec->contents + plt_offset;
+ for (int i = 0; i < PLT_ENTRY_INSNS; i++)
+ bfd_putl32 (entry[i], loc + 4 * i);
+
+ return true;
+}
+
+static bool
+riscv_make_plt_zicfilp_unlabeled_entry (bfd *output_bfd, asection *got,
+ bfd_vma got_offset, asection *plt,
+ bfd_vma plt_offset)
+{
+ /* lpad 0
+ 1: auipc t3, %pcrel_hi(function@.got.plt)
+ l[w|d] t3, %pcrel_lo(1b)(t3)
+ jalr t1, t3 */
+
+ /* RVE has no t3 register, so this won't work, and is not supported. */
+ if (elf_elfheader (output_bfd)->e_flags & EF_RISCV_RVE)
+ {
+ _bfd_error_handler (_("%pB: warning: RVE PLT generation not supported"),
+ output_bfd);
+ return false;
+ }
+
+ bfd_vma got_entry_addr = sec_addr(got) + got_offset;
+ bfd_vma plt_entry_addr = sec_addr(plt) + plt_offset;
+ bfd_vma auipc_addr = plt_entry_addr + 4;
+ uint32_t entry[PLT_ZICFILP_UNLABELED_ENTRY_INSNS];
+ entry[0] = RISCV_UTYPE (LPAD, X_ZERO, 0);
+ entry[1] = RISCV_UTYPE (AUIPC, X_T3, RISCV_PCREL_HIGH_PART (got_entry_addr, auipc_addr));
+ entry[2] = RISCV_ITYPE (LREG, X_T3, X_T3, RISCV_PCREL_LOW_PART (got_entry_addr, auipc_addr));
+ entry[3] = RISCV_ITYPE (JALR, X_T1, X_T3, 0);
+
+ bfd_byte *loc = plt->contents + plt_offset;
+ for (int i = 0; i < PLT_ZICFILP_UNLABELED_ENTRY_INSNS; i++)
+ bfd_putl32 (entry[i], loc + 4 * i);
+
return true;
}
@@ -489,6 +648,38 @@ riscv_elf_link_hash_table_free (bfd *obfd)
_bfd_elf_link_hash_table_free (obfd);
}
+/* Set up the PLT generation stubs in the hash table. */
+
+static void
+setup_plt_values (struct bfd *output_bfd,
+ struct riscv_elf_link_hash_table *htab,
+ unsigned plt_type)
+{
+ switch (plt_type)
+ {
+ case PLT_NORMAL:
+ htab->plt_header_size = PLT_HEADER_SIZE;
+ htab->plt_entry_size = PLT_ENTRY_SIZE;
+ htab->make_plt_header = riscv_make_plt_header;
+ htab->make_plt_entry = riscv_make_plt_entry;
+ break;
+
+ case PLT_ZICFILP_UNLABELED:
+ htab->plt_header_size = PLT_ZICFILP_UNLABELED_HEADER_SIZE;
+ htab->plt_entry_size = PLT_ZICFILP_UNLABELED_ENTRY_SIZE;
+ htab->make_plt_header = riscv_make_plt_zicfilp_unlabeled_header;
+ htab->make_plt_entry = riscv_make_plt_zicfilp_unlabeled_entry;
+ break;
+
+ default:
+ _bfd_error_handler (_("%pB: error: unsupported PLT type: %u"),
+ output_bfd,
+ plt_type);
+ bfd_set_error (bfd_error_bad_value);
+ break;
+ }
+}
+
/* Create a RISC-V ELF linker hash table. */
static struct bfd_link_hash_table *
@@ -511,6 +702,8 @@ riscv_elf_link_hash_table_create (bfd *abfd)
ret->max_alignment = (bfd_vma) -1;
ret->max_alignment_for_gp = (bfd_vma) -1;
+ setup_plt_values (abfd, ret, PLT_NORMAL);
+
/* Create hash table for local ifunc. */
ret->loc_hash_table = htab_try_create (1024,
riscv_elf_local_htab_hash,
@@ -1259,12 +1452,12 @@ allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
asection *s = htab->elf.splt;
if (s->size == 0)
- s->size = PLT_HEADER_SIZE;
+ s->size = htab->plt_header_size;
h->plt.offset = s->size;
/* Make room for this entry. */
- s->size += PLT_ENTRY_SIZE;
+ s->size += htab->plt_entry_size;
/* We also need to make an entry in the .got.plt section. */
htab->elf.sgotplt->size += GOT_ENTRY_SIZE;
@@ -1456,6 +1649,7 @@ allocate_ifunc_dynrelocs (struct elf_link_hash_entry *h,
void *inf)
{
struct bfd_link_info *info;
+ struct riscv_elf_link_hash_table *htab;
if (h->root.type == bfd_link_hash_indirect)
return true;
@@ -1464,6 +1658,7 @@ allocate_ifunc_dynrelocs (struct elf_link_hash_entry *h,
h = (struct elf_link_hash_entry *) h->root.u.i.link;
info = (struct bfd_link_info *) inf;
+ htab = riscv_elf_hash_table (info);
/* Since STT_GNU_IFUNC symbol must go through PLT, we handle it
here if it is defined and referenced in a non-shared object. */
@@ -1471,8 +1666,8 @@ allocate_ifunc_dynrelocs (struct elf_link_hash_entry *h,
&& h->def_regular)
return _bfd_elf_allocate_ifunc_dyn_relocs (info, h,
&h->dyn_relocs,
- PLT_ENTRY_SIZE,
- PLT_HEADER_SIZE,
+ htab->plt_entry_size,
+ htab->plt_header_size,
GOT_ENTRY_SIZE,
true);
return true;
@@ -2472,14 +2667,14 @@ riscv_elf_relocate_section (bfd *output_bfd,
if (htab->elf.splt != NULL)
{
- plt_idx = (h->plt.offset - PLT_HEADER_SIZE)
- / PLT_ENTRY_SIZE;
+ plt_idx = (h->plt.offset - htab->plt_header_size)
+ / htab->plt_entry_size;
off = GOTPLT_HEADER_SIZE + (plt_idx * GOT_ENTRY_SIZE);
base_got = htab->elf.sgotplt;
}
else
{
- plt_idx = h->plt.offset / PLT_ENTRY_SIZE;
+ plt_idx = h->plt.offset / htab->plt_entry_size;
off = plt_idx * GOT_ENTRY_SIZE;
base_got = htab->elf.igotplt;
}
@@ -3247,8 +3442,7 @@ riscv_elf_finish_dynamic_symbol (bfd *output_bfd,
{
/* We've decided to create a PLT entry for this symbol. */
bfd_byte *loc;
- bfd_vma i, header_address, plt_idx, got_offset, got_address;
- uint32_t plt_entry[PLT_ENTRY_INSNS];
+ bfd_vma plt_idx, got_offset, got_address;
Elf_Internal_Rela rela;
asection *plt, *gotplt, *relplt;
@@ -3278,36 +3472,29 @@ riscv_elf_finish_dynamic_symbol (bfd *output_bfd,
|| relplt == NULL)
abort ();
- /* Calculate the address of the PLT header. */
- header_address = sec_addr (plt);
-
/* Calculate the index of the entry and the offset of .got.plt entry.
For static executables, we don't reserve anything. */
if (plt == htab->elf.splt)
{
- plt_idx = (h->plt.offset - PLT_HEADER_SIZE) / PLT_ENTRY_SIZE;
+ plt_idx = (h->plt.offset - htab->plt_header_size)
+ / htab->plt_entry_size;
got_offset = GOTPLT_HEADER_SIZE + (plt_idx * GOT_ENTRY_SIZE);
}
else
{
- plt_idx = h->plt.offset / PLT_ENTRY_SIZE;
+ plt_idx = h->plt.offset / htab->plt_entry_size;
got_offset = plt_idx * GOT_ENTRY_SIZE;
}
/* Calculate the address of the .got.plt entry. */
got_address = sec_addr (gotplt) + got_offset;
- /* Find out where the .plt entry should go. */
- loc = plt->contents + h->plt.offset;
/* Fill in the PLT entry itself. */
- if (! riscv_make_plt_entry (output_bfd, got_address,
- header_address + h->plt.offset,
- plt_entry))
+ if (! htab->make_plt_entry (output_bfd, gotplt, got_offset,
+ plt, h->plt.offset))
return false;
- for (i = 0; i < PLT_ENTRY_INSNS; i++)
- bfd_putl32 (plt_entry[i], loc + 4*i);
/* Fill in the initial value of the .got.plt entry. */
loc = gotplt->contents + (got_address - sec_addr (gotplt));
@@ -3595,19 +3782,12 @@ riscv_elf_finish_dynamic_sections (bfd *output_bfd,
/* Fill in the head and tail entries in the procedure linkage table. */
if (splt->size > 0)
{
- int i;
- uint32_t plt_header[PLT_HEADER_INSNS];
- ret = riscv_make_plt_header (output_bfd,
- sec_addr (htab->elf.sgotplt),
- sec_addr (splt), plt_header);
+ ret = htab->make_plt_header (output_bfd, htab);
if (!ret)
return ret;
- for (i = 0; i < PLT_HEADER_INSNS; i++)
- bfd_putl32 (plt_header[i], splt->contents + 4*i);
-
elf_section_data (splt->output_section)->this_hdr.sh_entsize
- = PLT_ENTRY_SIZE;
+ = htab->plt_entry_size;
}
}
@@ -3661,7 +3841,18 @@ static bfd_vma
riscv_elf_plt_sym_val (bfd_vma i, const asection *plt,
const arelent *rel ATTRIBUTE_UNUSED)
{
- return plt->vma + PLT_HEADER_SIZE + i * PLT_ENTRY_SIZE;
+ unsigned plt_type = _bfd_riscv_elf_tdata (plt->owner)->plt_type;
+ switch (plt_type)
+ {
+ case PLT_NORMAL:
+ return plt->vma + (PLT_HEADER_SIZE) + (i * PLT_ENTRY_SIZE);
+
+ case PLT_ZICFILP_UNLABELED:
+ return plt->vma + PLT_ZICFILP_UNLABELED_HEADER_SIZE + (i * PLT_ZICFILP_UNLABELED_ENTRY_SIZE);
+
+ default:
+ abort ();
+ }
}
/* Used to decide how to sort relocs in an optimal manner for the
@@ -5753,6 +5944,43 @@ riscv_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
h->other |= STO_RISCV_VARIANT_CC;
}
+/* Implement elf_backend_setup_gnu_properties for RISC-V. It serves as a
+ wrapper function for _bfd_riscv_elf_link_setup_gnu_properties to account
+ for the effect of GNU properties of the output_bfd. */
+
+static bfd *
+elfNN_riscv_link_setup_gnu_properties (struct bfd_link_info *info)
+{
+ uint32_t and_prop = _bfd_riscv_elf_tdata (info->output_bfd)->gnu_and_prop;
+
+ bfd *pbfd = _bfd_riscv_elf_link_setup_gnu_properties (info, &and_prop);
+
+ _bfd_riscv_elf_tdata (info->output_bfd)->gnu_and_prop = and_prop;
+
+ if (and_prop & GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED)
+ _bfd_riscv_elf_tdata (info->output_bfd)->plt_type = PLT_ZICFILP_UNLABELED;
+
+ setup_plt_values (info->output_bfd, riscv_elf_hash_table (info),
+ _bfd_riscv_elf_tdata (info->output_bfd)->plt_type);
+
+ return pbfd;
+}
+
+/* Implement elf_backend_merge_gnu_properties for RISC-V. It serves as a
+ wrapper function for _bfd_riscv_elf_merge_gnu_properties to account
+ for the effect of GNU properties of the output_bfd. */
+
+static bool
+elfNN_riscv_merge_gnu_properties (struct bfd_link_info *info, bfd *abfd,
+ bfd *bbfd ATTRIBUTE_UNUSED,
+ elf_property *aprop, elf_property *bprop)
+{
+ uint32_t and_prop = _bfd_riscv_elf_tdata (info->output_bfd)->gnu_and_prop;
+
+ return _bfd_riscv_elf_merge_gnu_properties (info, abfd, aprop, bprop,
+ and_prop);
+}
+
#define TARGET_LITTLE_SYM riscv_elfNN_vec
#define TARGET_LITTLE_NAME "elfNN-littleriscv"
#define TARGET_BIG_SYM riscv_elfNN_be_vec
@@ -5785,6 +6013,7 @@ riscv_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
#define elf_info_to_howto riscv_info_to_howto_rela
#define bfd_elfNN_bfd_relax_section _bfd_riscv_relax_section
#define bfd_elfNN_mkobject elfNN_riscv_mkobject
+#define bfd_elfNN_get_synthetic_symtab elfNN_riscv_get_synthetic_symtab
#define elf_backend_additional_program_headers \
riscv_elf_additional_program_headers
#define elf_backend_modify_segment_map riscv_elf_modify_segment_map
@@ -5792,6 +6021,9 @@ riscv_elf_merge_symbol_attribute (struct elf_link_hash_entry *h,
#define elf_backend_init_index_section _bfd_elf_init_1_index_section
+#define elf_backend_setup_gnu_properties elfNN_riscv_link_setup_gnu_properties
+#define elf_backend_merge_gnu_properties elfNN_riscv_merge_gnu_properties
+
#define elf_backend_can_gc_sections 1
#define elf_backend_can_refcount 1
#define elf_backend_want_got_plt 1
diff --git a/bfd/elfxx-aarch64.c b/bfd/elfxx-aarch64.c
index 45a0205..551f74e 100644
--- a/bfd/elfxx-aarch64.c
+++ b/bfd/elfxx-aarch64.c
@@ -708,7 +708,7 @@ static inline bool
bfd_is_non_dynamic_elf_object (bfd *abfd, const struct elf_backend_data *out_be)
{
const struct elf_backend_data *in_be = get_elf_backend_data (abfd);
-
+
return bfd_get_flavour (abfd) == bfd_target_elf_flavour
&& bfd_count_sections (abfd) != 0
&& (abfd->flags & (DYNAMIC | BFD_PLUGIN | BFD_LINKER_CREATED)) == 0
@@ -930,28 +930,20 @@ _bfd_aarch64_elf_link_setup_gnu_properties (struct bfd_link_info *info)
GNU properties (if found). */
bfd *pbfd = _bfd_elf_link_setup_gnu_properties (info);
- /* If pbfd has any GNU_PROPERTY_AARCH64_FEATURE_1_AND properties, update
- outprop accordingly. */
if (pbfd != NULL)
{
- /* The property list is sorted in order of type. */
- for (elf_property_list *p = elf_properties (pbfd);
- (p != NULL)
- && (GNU_PROPERTY_AARCH64_FEATURE_1_AND <= p->property.pr_type);
- p = p->next)
- {
- /* This merge of features should happen only once as all the identical
- properties are supposed to have been merged at this stage by
- _bfd_elf_link_setup_gnu_properties(). */
- if (p->property.pr_type == GNU_PROPERTY_AARCH64_FEATURE_1_AND)
- {
- outprop = (p->property.u.number
- & (GNU_PROPERTY_AARCH64_FEATURE_1_BTI
- | GNU_PROPERTY_AARCH64_FEATURE_1_PAC
- | GNU_PROPERTY_AARCH64_FEATURE_1_GCS));
- break;
- }
- }
+ elf_property_list *p;
+ elf_property_list *plist = elf_properties (pbfd);
+
+ /* If pbfd has any GNU_PROPERTY_AARCH64_FEATURE_1_AND properties, update
+ outprop accordingly. */
+ if ((p = _bfd_elf_find_property (plist,
+ GNU_PROPERTY_AARCH64_FEATURE_1_AND, NULL))
+ != NULL)
+ outprop = p->property.u.number
+ & (GNU_PROPERTY_AARCH64_FEATURE_1_BTI
+ | GNU_PROPERTY_AARCH64_FEATURE_1_PAC
+ | GNU_PROPERTY_AARCH64_FEATURE_1_GCS);
}
tdata->gnu_property_aarch64_feature_1_and = outprop;
diff --git a/bfd/elfxx-loongarch.c b/bfd/elfxx-loongarch.c
index 9498022..6268c47 100644
--- a/bfd/elfxx-loongarch.c
+++ b/bfd/elfxx-loongarch.c
@@ -1390,7 +1390,7 @@ static loongarch_reloc_howto_type loongarch_howto_table[] =
0xffffffff, /* dst_mask */
false, /* pcrel_offset */
BFD_RELOC_LARCH_32_PCREL, /* bfd_reloc_code_real_type */
- NULL, /* adjust_reloc_bits */
+ reloc_sign_bits, /* adjust_reloc_bits */
NULL), /* larch_reloc_type_name */
/* The paired relocation may be relaxed. */
@@ -2171,11 +2171,11 @@ loongarch_elf_add_sub_reloc_uleb128 (bfd *abfd,
if (output_bfd != NULL)
return bfd_reloc_continue;
- relocation = symbol->value + symbol->section->output_section->vma
- + symbol->section->output_offset + reloc_entry->addend;
+ relocation = (symbol->value + symbol->section->output_section->vma
+ + symbol->section->output_offset + reloc_entry->addend);
- bfd_size_type octets = reloc_entry->address
- * bfd_octets_per_byte (abfd, input_section);
+ bfd_size_type octets = (reloc_entry->address
+ * bfd_octets_per_byte (abfd, input_section));
if (!bfd_reloc_offset_in_range (reloc_entry->howto, abfd,
input_section, octets))
return bfd_reloc_outofrange;
@@ -2195,8 +2195,11 @@ loongarch_elf_add_sub_reloc_uleb128 (bfd *abfd,
break;
}
- bfd_vma mask = (1 << (7 * len)) - 1;
- relocation = relocation & mask;
+ if (7 * len < sizeof (bfd_vma))
+ {
+ bfd_vma mask = ((bfd_vma) 1 << (7 * len)) - 1;
+ relocation = relocation & mask;
+ }
loongarch_write_unsigned_leb128 (p, len, relocation);
return bfd_reloc_ok;
}
diff --git a/bfd/elfxx-riscv.c b/bfd/elfxx-riscv.c
index ec25491..43d3c0d 100644
--- a/bfd/elfxx-riscv.c
+++ b/bfd/elfxx-riscv.c
@@ -1022,6 +1022,12 @@ static const struct elf_reloc_map riscv_reloc_map[] =
{ BFD_RELOC_RISCV_SUB_ULEB128, R_RISCV_SUB_ULEB128 },
};
+struct riscv_profiles
+{
+ const char *profile_name;
+ const char *profile_string;
+};
+
/* Given a BFD reloc type, return a howto structure. */
reloc_howto_type *
@@ -1148,7 +1154,8 @@ riscv_elf_ignore_reloc (bfd *abfd ATTRIBUTE_UNUSED,
/* Always add implicit extensions for the SUBSET. */
static bool
-check_implicit_always (riscv_subset_t *subset ATTRIBUTE_UNUSED)
+check_implicit_always (riscv_parse_subset_t *rps ATTRIBUTE_UNUSED,
+ const riscv_subset_t *subset ATTRIBUTE_UNUSED)
{
return true;
}
@@ -1156,20 +1163,34 @@ check_implicit_always (riscv_subset_t *subset ATTRIBUTE_UNUSED)
/* Add implicit extensions only when the version of SUBSET less than 2.1. */
static bool
-check_implicit_for_i (riscv_subset_t *subset)
+check_implicit_for_i (riscv_parse_subset_t *rps ATTRIBUTE_UNUSED,
+ const riscv_subset_t *subset ATTRIBUTE_UNUSED)
{
return (subset->major_version < 2
|| (subset->major_version == 2
&& subset->minor_version < 1));
}
+/* Add the IMPLICIT only when the 'f' extension is also available
+ and XLEN is 32. */
+
+static bool
+check_implicit_for_zcf (riscv_parse_subset_t *rps,
+ const riscv_subset_t *subset ATTRIBUTE_UNUSED)
+{
+ riscv_subset_t *tmp = NULL;
+ return *rps->xlen == 32
+ && riscv_lookup_subset (rps->subset_list, "f", &tmp);
+}
+
/* Record all implicit information for the subsets. */
struct riscv_implicit_subset
{
const char *ext;
const char *implicit_exts;
/* A function to determine if we need to add the implicit subsets. */
- bool (*check_func) (riscv_subset_t *);
+ bool (*check_func) (riscv_parse_subset_t *,
+ const riscv_subset_t *);
};
/* Please added in order since this table is only run once time. */
static struct riscv_implicit_subset riscv_implicit_subsets[] =
@@ -1191,6 +1212,9 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"xsfvqmaccdod", "+zve32x,+zvl128b", check_implicit_always},
{"xsfvfnrclipxfqf", "+zve32f", check_implicit_always},
+ {"xtheadvector", "+zicsr", check_implicit_always},
+ {"xtheadzvamo", "+zaamo", check_implicit_always},
+
{"v", "+zve64d,+zvl128b", check_implicit_always},
{"zvfh", "+zvfhmin,+zfhmin", check_implicit_always},
{"zvfhmin", "+zve32f", check_implicit_always},
@@ -1213,6 +1237,8 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"zvl128b", "+zvl64b", check_implicit_always},
{"zvl64b", "+zvl32b", check_implicit_always},
+ {"zce", "+zca,+zcb,+zcmp,+zcmt", check_implicit_always},
+ {"zce", "+zcf", check_implicit_for_zcf},
{"zcb", "+zca", check_implicit_always},
{"zcd", "+d,+zca", check_implicit_always},
{"zcf", "+f,+zca", check_implicit_always},
@@ -1222,6 +1248,9 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"zicfilp", "+zicsr", check_implicit_always},
{"zicfiss", "+zimop,+zicsr", check_implicit_always},
+ {"zclsd", "+zca,+zilsd", check_implicit_always},
+
+ {"sha", "+h,+ssstateen,+shcounterenw,+shvstvala,+shtvala,+shvstvecd,+shvsatpa,+shgatpa", check_implicit_always},
{"shcounterenw", "+h", check_implicit_always},
{"shgatpa", "+h", check_implicit_always},
@@ -1260,9 +1289,11 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"zvks", "+zvksed,+zvksh,+zvkb,+zvkt", check_implicit_always},
{"smaia", "+ssaia", check_implicit_always},
+ {"smcdeleg", "+ssccfg", check_implicit_always},
{"smcsrind", "+sscsrind", check_implicit_always},
{"smcntrpmf", "+zicsr", check_implicit_always},
{"smctr", "+zicsr", check_implicit_always},
+ {"smrnmi", "+zicsr", check_implicit_always},
{"smstateen", "+ssstateen", check_implicit_always},
{"smepmp", "+zicsr", check_implicit_always},
{"smdbltrp", "+zicsr", check_implicit_always},
@@ -1270,6 +1301,7 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{"smmpm", "+zicsr", check_implicit_always},
{"ssaia", "+zicsr", check_implicit_always},
+ {"ssccfg", "+sscsrind", check_implicit_always},
{"sscsrind", "+zicsr", check_implicit_always},
{"sscofpmf", "+zicsr", check_implicit_always},
{"sscounterenw", "+zicsr", check_implicit_always},
@@ -1288,6 +1320,61 @@ static struct riscv_implicit_subset riscv_implicit_subsets[] =
{NULL, NULL, NULL}
};
+/* This table records the mapping form RISC-V Profiles into march string. */
+static struct riscv_profiles riscv_profiles_table[] =
+{
+ /* RVI20U only contains the base extension 'i' as mandatory extension. */
+ {"rvi20u64", "rv64i"},
+ {"rvi20u32", "rv32i"},
+
+ /* RVA20U contains the 'i,m,a,f,d,c,zicsr,zicntr,ziccif,ziccrse,ziccamoa,
+ zicclsm,za128rs' as mandatory extensions. */
+ {"rva20u64", "rv64imafdc_zicsr_zicntr_ziccif_ziccrse_ziccamoa"
+ "_zicclsm_za128rs"},
+
+ /* RVA22U contains the 'i,m,a,f,d,c,zicsr,zihintpause,zba,zbb,zbs,zicntr,
+ zihpm,ziccif,ziccrse,ziccamoa, zicclsm,zic64b,za64rs,zicbom,zicbop,zicboz,
+ zfhmin,zkt' as mandatory extensions. */
+ {"rva22u64", "rv64imafdc_zicsr_zicntr_ziccif_ziccrse_ziccamoa"
+ "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
+ "_zicboz_zfhmin_zkt"},
+
+ /* RVA23 contains all mandatory base ISA for RVA22U64 and the new extension
+ 'v,zihintntl,zvfhmin,zvbb,zvkt,zicond,zimop,zcmop,zfa,zawrs' as mandatory
+ extensions. */
+ {"rva23u64", "rv64imafdcbv_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
+ "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
+ "_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl_zicond_zimop_zcmop_zcb"
+ "_zfa_zawrs_supm"},
+
+ /* RVA23S contains all mandatory base ISA for RVA23U64 and the privileged
+ extensions as mandatory extensions. */
+ {"rva23s64", "rv64imafdcbv_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
+ "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
+ "_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl_zicond_zimop_zcmop_zcb"
+ "_zfa_zawrs_supm_svbare_svade_ssccptr_sstvecd_sstvala_sscounterenw_svpbmt"
+ "_svinval_svnapot_sstc_sscofpmf_ssnpm_ssu64xl_sha"},
+
+ /* RVB23 contains all mandatory base ISA for RVA22U64 and the new extension
+ 'zihintntl,zicond,zimop,zcmop,zfa,zawrs' as mandatory
+ extensions. */
+ {"rvb23u64", "rv64imafdcb_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
+ "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
+ "_zicboz_zfhmin_zkt_zihintntl_zicond_zimop_zcmop_zcb"
+ "_zfa_zawrs_supm"},
+
+ /* RVB23S contains all mandatory base ISA for RVB23U64 and the privileged
+ extensions as mandatory extensions. */
+ {"rvb23s64", "rv64imafdcb_zicsr_zicntr_zihpm_ziccif_ziccrse_ziccamoa"
+ "_zicclsm_zic64b_za64rs_zihintpause_zba_zbb_zbs_zicbom_zicbop"
+ "_zicboz_zfhmin_zkt_zvfhmin_zvbb_zvkt_zihintntl_zicond_zimop_zcmop_zcb"
+ "_zfa_zawrs_supm_svbare_svade_ssccptr_sstvecd_sstvala_sscounterenw_svpbmt"
+ "_svinval_svnapot_sstc_sscofpmf_ssu64xl"},
+
+ /* Terminate the list. */
+ {NULL, NULL}
+};
+
/* For default_enable field, decide if the extension should
be enbaled by default. */
@@ -1363,6 +1450,7 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
{"zimop", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zicfiss", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zicfilp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"zilsd", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zmmul", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"za64rs", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"za128rs", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
@@ -1437,16 +1525,19 @@ static struct riscv_supported_ext riscv_supported_std_z_ext[] =
{"ztso", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zca", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zcb", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"zce", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zcf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zcd", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zcmop", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zcmp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"zcmt", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"zclsd", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{NULL, 0, 0, 0, 0}
};
static struct riscv_supported_ext riscv_supported_std_s_ext[] =
{
+ {"sha", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"shcounterenw", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"shgatpa", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"shtvala", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
@@ -1454,6 +1545,7 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] =
{"shvstvala", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"shvstvecd", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"smcdeleg", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smcsrind", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smcntrpmf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smctr", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
@@ -1462,6 +1554,7 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] =
{"smstateen", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smdbltrp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"ssaia", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"ssccfg", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"ssccptr", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"sscsrind", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"sscofpmf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
@@ -1479,6 +1572,7 @@ static struct riscv_supported_ext riscv_supported_std_s_ext[] =
{"svinval", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"svnapot", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"svpbmt", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"svvptc", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"ssqosid", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"ssnpm", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{"smnpm", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
@@ -1523,6 +1617,10 @@ static struct riscv_supported_ext riscv_supported_vendor_x_ext[] =
{"xsfvqmaccqoq", ISA_SPEC_CLASS_DRAFT, 1, 0, 0},
{"xsfvqmaccdod", ISA_SPEC_CLASS_DRAFT, 1, 0, 0},
{"xsfvfnrclipxfqf", ISA_SPEC_CLASS_DRAFT, 1, 0, 0},
+ {"xmipscbop", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"xmipscmov", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"xmipsexectl", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
+ {"xmipslsp", ISA_SPEC_CLASS_DRAFT, 1, 0, 0 },
{NULL, 0, 0, 0, 0}
};
@@ -1940,10 +2038,11 @@ riscv_parsing_subset_version (const char *p,
static const char *
riscv_parse_extensions (riscv_parse_subset_t *rps,
const char *arch,
- const char *p)
+ const char *p,
+ bool profile)
{
- /* First letter must start with i, e or g. */
- if (*p != 'e' && *p != 'i' && *p != 'g')
+ /* First letter must start with i, e, g or a profile. */
+ if (*p != 'e' && *p != 'i' && *p != 'g' && !profile)
{
rps->error_handler
(_("%s: first ISA extension must be `e', `i' or `g'"),
@@ -2076,7 +2175,7 @@ riscv_parse_add_implicit_subsets (riscv_parse_subset_t *rps)
{
riscv_subset_t *subset = NULL;
if (riscv_lookup_subset (rps->subset_list, t->ext, &subset)
- && t->check_func (subset))
+ && t->check_func (rps, subset))
riscv_update_subset1 (rps, subset, t->implicit_exts);
}
}
@@ -2127,10 +2226,19 @@ riscv_parse_check_conflicts (riscv_parse_subset_t *rps)
no_conflict = false;
}
if (riscv_lookup_subset (rps->subset_list, "xtheadvector", &subset)
- && riscv_lookup_subset (rps->subset_list, "v", &subset))
+ && riscv_lookup_subset (rps->subset_list, "zve32x", &subset))
+ {
+ rps->error_handler
+ (_("`xtheadvector' is conflict with the `v/zve32x' extension"));
+ no_conflict = false;
+ }
+ if (riscv_lookup_subset (rps->subset_list, "zclsd", &subset)
+ && ((riscv_lookup_subset (rps->subset_list, "c", &subset)
+ && riscv_lookup_subset (rps->subset_list, "f", &subset))
+ || riscv_lookup_subset (rps->subset_list, "zcf", &subset)))
{
rps->error_handler
- (_("`xtheadvector' is conflict with the `v' extension"));
+ (_("`zclsd' is conflict with the `c+f'/ `zcf' extension"));
no_conflict = false;
}
if (riscv_lookup_subset (rps->subset_list, "ssnpm", &subset) && xlen != 64)
@@ -2212,6 +2320,42 @@ riscv_set_default_arch (riscv_parse_subset_t *rps)
}
}
+static bool
+riscv_find_profiles (riscv_parse_subset_t *rps, const char **pp)
+{
+ const char *p = *pp;
+
+ /* Checking if input string contains a Profiles.
+ There are two cases use Profiles in -march option:
+
+ 1. Only use Profiles in '-march' as input
+ 2. Mixed Profiles with other extensions
+
+ Use '_' to split Profiles and other extensions. */
+
+ for (int i = 0; riscv_profiles_table[i].profile_name != NULL; ++i)
+ {
+ /* Find profile at the begin. */
+ if (startswith (p, riscv_profiles_table[i].profile_name))
+ {
+ /* Handle the profile string. */
+ riscv_parse_subset (rps, riscv_profiles_table[i].profile_string);
+ p += strlen (riscv_profiles_table[i].profile_name);
+ /* Handle string after profiles if exists. If missing underline
+ bewteen profile and other extensions, warn the user but not deal
+ as an error. */
+ if (*p != '\0' && *p != '_')
+ _bfd_error_handler
+ (_("Warning: should use \"_\" to contact Profiles with other "
+ "extensions"));
+ *pp = p;
+ return true;
+ }
+ }
+ /* Not found profile, return directly. */
+ return false;
+}
+
/* Function for parsing ISA string.
Return Value:
@@ -2249,8 +2393,14 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
}
}
+ bool profile = false;
p = arch;
- if (startswith (p, "rv32"))
+ if (riscv_find_profiles (rps, &p))
+ {
+ /* Check if using Profiles. */
+ profile = true;
+ }
+ else if (startswith (p, "rv32"))
{
*rps->xlen = 32;
p += 4;
@@ -2271,13 +2421,13 @@ riscv_parse_subset (riscv_parse_subset_t *rps,
string is empty. */
if (strlen (arch))
rps->error_handler (
- _("%s: ISA string must begin with rv32 or rv64"),
+ _("%s: ISA string must begin with rv32, rv64 or Profiles"),
arch);
return false;
}
/* Parse single standard and prefixed extensions. */
- if (riscv_parse_extensions (rps, arch, p) == NULL)
+ if (riscv_parse_extensions (rps, arch, p, profile) == NULL)
return false;
/* Finally add implicit extensions according to the current
@@ -2801,6 +2951,10 @@ riscv_multi_subset_supports (riscv_parse_subset_t *rps,
case INSN_CLASS_SMCTR_OR_SSCTR:
return (riscv_subset_supports (rps, "smctr")
|| riscv_subset_supports (rps, "ssctr"));
+ case INSN_CLASS_ZILSD:
+ return riscv_subset_supports (rps, "zilsd");
+ case INSN_CLASS_ZCLSD:
+ return riscv_subset_supports (rps, "zclsd");
case INSN_CLASS_SMRNMI:
return riscv_subset_supports (rps, "smrnmi");
case INSN_CLASS_SVINVAL:
@@ -2863,6 +3017,14 @@ riscv_multi_subset_supports (riscv_parse_subset_t *rps,
return riscv_subset_supports (rps, "xsfvqmaccdod");
case INSN_CLASS_XSFVFNRCLIPXFQF:
return riscv_subset_supports (rps, "xsfvfnrclipxfqf");
+ case INSN_CLASS_XMIPSCBOP:
+ return riscv_subset_supports (rps, "xmipscbop");
+ case INSN_CLASS_XMIPSCMOV:
+ return riscv_subset_supports (rps, "xmipscmov");
+ case INSN_CLASS_XMIPSEXECTL:
+ return riscv_subset_supports (rps, "xmipsexectl");
+ case INSN_CLASS_XMIPSLSP:
+ return riscv_subset_supports (rps, "xmipslsp");
default:
rps->error_handler
(_("internal: unreachable INSN_CLASS_*"));
@@ -3110,6 +3272,10 @@ riscv_multi_subset_supports_ext (riscv_parse_subset_t *rps,
return "zcmt";
case INSN_CLASS_SMCTR_OR_SSCTR:
return _("smctr' or `ssctr");
+ case INSN_CLASS_ZILSD:
+ return "zilsd";
+ case INSN_CLASS_ZCLSD:
+ return "zclsd";
case INSN_CLASS_SMRNMI:
return "smrnmi";
case INSN_CLASS_SVINVAL:
@@ -3214,3 +3380,174 @@ riscv_print_extensions (void)
}
printf ("\n");
}
+
+/* Find the first input bfd with GNU property and merge it with GPROP. If no
+ such input is found, add it to a new section at the last input. Update
+ GPROP accordingly. */
+
+bfd *
+_bfd_riscv_elf_link_setup_gnu_properties (struct bfd_link_info *info,
+ uint32_t *and_prop_p)
+{
+ asection *sec;
+ bfd *pbfd;
+ bfd *ebfd = NULL;
+ elf_property *prop;
+
+ uint32_t and_prop = *and_prop_p;
+
+ /* Find a normal input file with GNU property note. */
+ for (pbfd = info->input_bfds; pbfd != NULL; pbfd = pbfd->link.next)
+ if (bfd_get_flavour (pbfd) == bfd_target_elf_flavour
+ && bfd_count_sections (pbfd) != 0)
+ {
+ ebfd = pbfd;
+
+ if (elf_properties (pbfd) != NULL)
+ break;
+ }
+
+ /* If ebfd != NULL it is either an input with property note or the last
+ input. Either way if we have and_prop, we should add it (by
+ creating a section if needed). */
+ if (ebfd != NULL && (and_prop))
+ {
+ prop = _bfd_elf_get_property (ebfd, GNU_PROPERTY_RISCV_FEATURE_1_AND, 4);
+
+ prop->u.number |= and_prop;
+ prop->pr_kind = property_number;
+
+ /* pbfd being NULL implies ebfd is the last input. Create the GNU
+ property note section. */
+ if (pbfd == NULL)
+ {
+ sec
+ = bfd_make_section_with_flags (ebfd, NOTE_GNU_PROPERTY_SECTION_NAME,
+ (SEC_ALLOC | SEC_LOAD | SEC_IN_MEMORY
+ | SEC_READONLY | SEC_HAS_CONTENTS
+ | SEC_DATA));
+ if (sec == NULL)
+ info->callbacks->einfo (
+ _ ("%F%P: failed to create GNU property section\n"));
+
+ elf_section_type (sec) = SHT_NOTE;
+ }
+ }
+
+ pbfd = _bfd_elf_link_setup_gnu_properties (info);
+
+ if (bfd_link_relocatable (info))
+ return pbfd;
+
+ /* If pbfd has any GNU_PROPERTY_RISCV_FEATURE_1_AND properties, update
+ and_prop accordingly. */
+ if (pbfd != NULL)
+ {
+ elf_property_list *p;
+ elf_property_list *plist = elf_properties (pbfd);
+
+ if ((p = _bfd_elf_find_property (plist, GNU_PROPERTY_RISCV_FEATURE_1_AND,
+ NULL))
+ != NULL)
+ and_prop = p->property.u.number
+ & (GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED
+ | GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS);
+ }
+
+ *and_prop_p = and_prop;
+ return pbfd;
+}
+
+/* Define elf_backend_parse_gnu_properties for RISC-V. */
+
+enum elf_property_kind
+_bfd_riscv_elf_parse_gnu_properties (bfd *abfd, unsigned int type,
+ bfd_byte *ptr, unsigned int datasz)
+{
+ elf_property *prop;
+
+ switch (type)
+ {
+ case GNU_PROPERTY_RISCV_FEATURE_1_AND:
+ if (datasz != 4)
+ {
+ _bfd_error_handler (_ (
+ "error: %pB: <corrupt RISC-V used size: 0x%x>"),
+ abfd, datasz);
+ return property_corrupt;
+ }
+ prop = _bfd_elf_get_property (abfd, type, datasz);
+ /* Combine properties of the same type. */
+ prop->u.number |= bfd_h_get_32 (abfd, ptr);
+ prop->pr_kind = property_number;
+ break;
+
+ default:
+ return property_ignored;
+ }
+
+ return property_number;
+}
+
+/* Merge RISC-V GNU property BPROP with APROP also accounting for PROP.
+ If APROP isn't NULL, merge it with BPROP and/or PROP. Vice-versa if BROP
+ isn't NULL. Return TRUE if there is any update to APROP or if BPROP should
+ be merge with ABFD. */
+
+bool
+_bfd_riscv_elf_merge_gnu_properties
+ (struct bfd_link_info *info ATTRIBUTE_UNUSED, bfd *abfd ATTRIBUTE_UNUSED,
+ elf_property *aprop, elf_property *bprop, uint32_t and_prop)
+{
+ unsigned int orig_number;
+ bool updated = false;
+ unsigned int pr_type = aprop != NULL ? aprop->pr_type : bprop->pr_type;
+
+ switch (pr_type)
+ {
+ case GNU_PROPERTY_RISCV_FEATURE_1_AND: {
+ if (aprop != NULL && bprop != NULL)
+ {
+ orig_number = aprop->u.number;
+ aprop->u.number = (orig_number & bprop->u.number) | and_prop;
+ updated = orig_number != aprop->u.number;
+ /* Remove the property if all feature bits are cleared. */
+ if (aprop->u.number == 0)
+ aprop->pr_kind = property_remove;
+ break;
+ }
+ /* If either is NULL, the AND would be 0 so, if there is
+ any PROP, asign it to the input that is not NULL. */
+ if (and_prop)
+ {
+ if (aprop != NULL)
+ {
+ orig_number = aprop->u.number;
+ aprop->u.number = and_prop;
+ updated = orig_number != aprop->u.number;
+ }
+ else if (bprop != NULL)
+ {
+ bprop->u.number = and_prop;
+ updated = true;
+ }
+ /* Shouldn't happen because we checked one of APROP or BPROP !=
+ * NULL. */
+ else
+ abort ();
+ }
+ /* No PROP and BPROP is NULL, so remove APROP. */
+ else if (!and_prop && bprop == NULL && aprop != NULL)
+ {
+ aprop->pr_kind = property_remove;
+ updated = true;
+ }
+ }
+ break;
+
+ default:
+ abort ();
+ }
+
+ return updated;
+}
diff --git a/bfd/elfxx-riscv.h b/bfd/elfxx-riscv.h
index 1ce682a..db494d0 100644
--- a/bfd/elfxx-riscv.h
+++ b/bfd/elfxx-riscv.h
@@ -27,6 +27,12 @@
#define RISCV_UNKNOWN_VERSION -1
+typedef enum
+{
+ PLT_NORMAL = 0x0, /* Normal plts. */
+ PLT_ZICFILP_UNLABELED = 0x1 /* Landing pad unlabeled plts. */
+} riscv_plt_type;
+
struct riscv_elf_params
{
/* Whether to relax code sequences to GP-relative addressing. */
@@ -128,3 +134,16 @@ extern void
bfd_elf32_riscv_set_data_segment_info (struct bfd_link_info *, int *);
extern void
bfd_elf64_riscv_set_data_segment_info (struct bfd_link_info *, int *);
+
+extern bfd *
+_bfd_riscv_elf_link_setup_gnu_properties (struct bfd_link_info *, uint32_t *);
+
+extern enum elf_property_kind
+_bfd_riscv_elf_parse_gnu_properties (bfd *, unsigned int, bfd_byte *,
+ unsigned int);
+
+extern bool
+_bfd_riscv_elf_merge_gnu_properties (struct bfd_link_info *, bfd *,
+ elf_property *, elf_property *, uint32_t);
+
+#define elf_backend_parse_gnu_properties _bfd_riscv_elf_parse_gnu_properties
diff --git a/bfd/format.c b/bfd/format.c
index 3db0792..a909b70 100644
--- a/bfd/format.c
+++ b/bfd/format.c
@@ -470,7 +470,18 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
/* Avoid clashes with bfd_cache_close_all running in another
thread. */
if (!bfd_cache_set_uncloseable (abfd, true, &old_in_format_matches))
- return false;
+ {
+ free (matching_vector);
+ return false;
+ }
+
+ /* Locking is required here in order to manage _bfd_section_id. */
+ if (!bfd_lock ())
+ {
+ bfd_cache_set_uncloseable (abfd, old_in_format_matches, NULL);
+ free (matching_vector);
+ return false;
+ }
/* Presume the answer is yes. */
abfd->format = format;
@@ -480,10 +491,6 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
of an archive. */
orig_messages = _bfd_set_error_handler_caching (&messages);
- /* Locking is required here in order to manage _bfd_section_id. */
- if (!bfd_lock ())
- return false;
-
preserve_match.marker = NULL;
if (!bfd_preserve_save (abfd, &preserve, NULL))
goto err_ret;
@@ -779,7 +786,8 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
out:
if (preserve_match.marker != NULL)
bfd_preserve_finish (abfd, &preserve_match);
- bfd_preserve_restore (abfd, &preserve);
+ if (preserve.marker != NULL)
+ bfd_preserve_restore (abfd, &preserve);
_bfd_restore_error_handler_caching (orig_messages);
print_and_clear_messages (&messages, PER_XVEC_NO_TARGET);
bfd_cache_set_uncloseable (abfd, old_in_format_matches, NULL);
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index d367fea..3cb3c14 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -3230,6 +3230,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_AARCH64_LD_GOT_LO12_NC",
"BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC",
"BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC",
+ "BFD_RELOC_AARCH64_BRANCH9",
"BFD_RELOC_TILEPRO_COPY",
"BFD_RELOC_TILEPRO_GLOB_DAT",
"BFD_RELOC_TILEPRO_JMP_SLOT",
diff --git a/bfd/pe-aarch64.c b/bfd/pe-aarch64.c
index 64975d1..2204a51 100644
--- a/bfd/pe-aarch64.c
+++ b/bfd/pe-aarch64.c
@@ -48,6 +48,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pe-arm.c b/bfd/pe-arm.c
index fe4e18e..5efa559 100644
--- a/bfd/pe-arm.c
+++ b/bfd/pe-arm.c
@@ -43,6 +43,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pe-i386.c b/bfd/pe-i386.c
index 07f6743..3742fd8 100644
--- a/bfd/pe-i386.c
+++ b/bfd/pe-i386.c
@@ -36,6 +36,8 @@
#define COFF_SECTION_ALIGNMENT_ENTRIES \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pe-x86_64.c b/bfd/pe-x86_64.c
index d56d75d..9151aac 100644
--- a/bfd/pe-x86_64.c
+++ b/bfd/pe-x86_64.c
@@ -57,6 +57,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index 9938108..19f38a4 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -593,7 +593,7 @@ _bfd_XXi_swap_aouthdr_out (bfd * abfd, void * in, void * out)
struct internal_extra_pe_aouthdr *extra = &pe->pe_opthdr;
PEAOUTHDR *aouthdr_out = (PEAOUTHDR *) out;
bfd_vma sa, fa, ib;
- IMAGE_DATA_DIRECTORY idata2, idata5, tls, loadcfg;
+ IMAGE_DATA_DIRECTORY idata2, idata5, didat2, tls, loadcfg;
sa = extra->SectionAlignment;
fa = extra->FileAlignment;
@@ -601,6 +601,7 @@ _bfd_XXi_swap_aouthdr_out (bfd * abfd, void * in, void * out)
idata2 = pe->pe_opthdr.DataDirectory[PE_IMPORT_TABLE];
idata5 = pe->pe_opthdr.DataDirectory[PE_IMPORT_ADDRESS_TABLE];
+ didat2 = pe->pe_opthdr.DataDirectory[PE_DELAY_IMPORT_DESCRIPTOR];
tls = pe->pe_opthdr.DataDirectory[PE_TLS_TABLE];
loadcfg = pe->pe_opthdr.DataDirectory[PE_LOAD_CONFIG_TABLE];
@@ -651,6 +652,7 @@ _bfd_XXi_swap_aouthdr_out (bfd * abfd, void * in, void * out)
a final link is going to be performed, it can overwrite them. */
extra->DataDirectory[PE_IMPORT_TABLE] = idata2;
extra->DataDirectory[PE_IMPORT_ADDRESS_TABLE] = idata5;
+ extra->DataDirectory[PE_DELAY_IMPORT_DESCRIPTOR] = didat2;
extra->DataDirectory[PE_TLS_TABLE] = tls;
extra->DataDirectory[PE_LOAD_CONFIG_TABLE] = loadcfg;
@@ -1001,6 +1003,7 @@ _bfd_XXi_swap_scnhdr_out (bfd * abfd, void * in, void * out)
{ ".arch", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_DISCARDABLE | IMAGE_SCN_ALIGN_8BYTES },
{ ".bss", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_UNINITIALIZED_DATA | IMAGE_SCN_MEM_WRITE },
{ ".data", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_WRITE },
+ { ".didat", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA | IMAGE_SCN_MEM_WRITE },
{ ".edata", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA },
{ ".idata", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA },
{ ".pdata", IMAGE_SCN_MEM_READ | IMAGE_SCN_CNT_INITIALIZED_DATA },
@@ -4543,6 +4546,52 @@ _bfd_XXi_final_link_postscript (bfd * abfd, struct coff_final_link_info *pfinfo)
}
}
+ /* The delay import directory. This is .didat$2 */
+ h1 = coff_link_hash_lookup (coff_hash_table (info),
+ "__DELAY_IMPORT_DIRECTORY_start__", false, false,
+ true);
+ if (h1 != NULL
+ && (h1->root.type == bfd_link_hash_defined
+ || h1->root.type == bfd_link_hash_defweak)
+ && h1->root.u.def.section != NULL
+ && h1->root.u.def.section->output_section != NULL)
+ {
+ bfd_vma delay_va;
+
+ delay_va =
+ (h1->root.u.def.value
+ + h1->root.u.def.section->output_section->vma
+ + h1->root.u.def.section->output_offset);
+
+ h1 = coff_link_hash_lookup (coff_hash_table (info),
+ "__DELAY_IMPORT_DIRECTORY_end__", false,
+ false, true);
+ if (h1 != NULL
+ && (h1->root.type == bfd_link_hash_defined
+ || h1->root.type == bfd_link_hash_defweak)
+ && h1->root.u.def.section != NULL
+ && h1->root.u.def.section->output_section != NULL)
+ {
+ pe_data (abfd)->pe_opthdr.DataDirectory[PE_DELAY_IMPORT_DESCRIPTOR].Size =
+ ((h1->root.u.def.value
+ + h1->root.u.def.section->output_section->vma
+ + h1->root.u.def.section->output_offset)
+ - delay_va);
+ if (pe_data (abfd)->pe_opthdr.DataDirectory[PE_DELAY_IMPORT_DESCRIPTOR].Size
+ != 0)
+ pe_data (abfd)->pe_opthdr.DataDirectory[PE_DELAY_IMPORT_DESCRIPTOR].VirtualAddress =
+ delay_va - pe_data (abfd)->pe_opthdr.ImageBase;
+ }
+ else
+ {
+ _bfd_error_handler
+ (_("%pB: unable to fill in DataDirectory[%d]: %s not defined correctly"),
+ abfd, PE_DELAY_IMPORT_DESCRIPTOR,
+ "__DELAY_IMPORT_DIRECTORY_end__");
+ result = false;
+ }
+ }
+
name[0] = bfd_get_symbol_leading_char (abfd);
strcpy (name + !!name[0], "_tls_used");
h1 = coff_link_hash_lookup (coff_hash_table (info), name, false, false, true);
diff --git a/bfd/pei-aarch64.c b/bfd/pei-aarch64.c
index 3d7f5b3..00f38e0 100644
--- a/bfd/pei-aarch64.c
+++ b/bfd/pei-aarch64.c
@@ -49,6 +49,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pei-arm.c b/bfd/pei-arm.c
index 2abc14d..07cebb5 100644
--- a/bfd/pei-arm.c
+++ b/bfd/pei-arm.c
@@ -45,6 +45,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pei-i386.c b/bfd/pei-i386.c
index 676a824..a26f170 100644
--- a/bfd/pei-i386.c
+++ b/bfd/pei-i386.c
@@ -35,6 +35,8 @@
#define COFF_SECTION_ALIGNMENT_ENTRIES \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pei-loongarch64.c b/bfd/pei-loongarch64.c
index 4b3a30d..f22498c 100644
--- a/bfd/pei-loongarch64.c
+++ b/bfd/pei-loongarch64.c
@@ -49,6 +49,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pei-riscv64.c b/bfd/pei-riscv64.c
index e87aa42..c4ae7bf 100644
--- a/bfd/pei-riscv64.c
+++ b/bfd/pei-riscv64.c
@@ -49,6 +49,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/pei-x86_64.c b/bfd/pei-x86_64.c
index 3f8f255..a5c2fd8 100644
--- a/bfd/pei-x86_64.c
+++ b/bfd/pei-x86_64.c
@@ -51,6 +51,8 @@
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 4 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".idata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
+{ COFF_SECTION_NAME_PARTIAL_MATCH (".didat"), \
+ COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_EXACT_MATCH (".pdata"), \
COFF_ALIGNMENT_FIELD_EMPTY, COFF_ALIGNMENT_FIELD_EMPTY, 2 }, \
{ COFF_SECTION_NAME_PARTIAL_MATCH (".debug"), \
diff --git a/bfd/po/ms.po b/bfd/po/ms.po
index 415065a..92b41d0 100644
--- a/bfd/po/ms.po
+++ b/bfd/po/ms.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: bfd 2.43.90\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
"POT-Creation-Date: 2025-01-19 12:19+0000\n"
-"PO-Revision-Date: 2025-02-25 23:26+0800\n"
+"PO-Revision-Date: 2025-05-26 00:22+0800\n"
"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@gmail.com>\n"
"Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n"
"Language: ms\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 3.5\n"
+"X-Generator: Poedit 3.6\n"
#: aout-cris.c:196
#, c-format
@@ -35,9 +35,9 @@ msgid "%pB: bad relocation record imported: %d"
msgstr ""
#: aoutx.h:444 pdp11.c:481
-#, c-format
+#, fuzzy, c-format
msgid "%pB: %#<PRIx64> overflows header %s field"
-msgstr ""
+msgstr "Badan mesej adalah kosong tetapi tanda tangan dalam medan pengepala ialah \"(%s)\""
#: aoutx.h:1269 aoutx.h:1598 pdp11.c:1246 pdp11.c:1495
#, c-format
@@ -70,9 +70,9 @@ msgid "%pB: attempt to write out unknown reloc type"
msgstr ""
#: aoutx.h:4047 pdp11.c:3409
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unsupported relocation type"
-msgstr ""
+msgstr "Jenis _MIME tidak disokong %s"
#. Unknown relocation.
#: aoutx.h:4367 coff-alpha.c:601 coff-mips.c:356 coff-rs6000.c:3037
@@ -105,14 +105,14 @@ msgstr ""
#: elfxx-ia64.c:324 elfxx-loongarch.c:1897 elfxx-riscv.c:1062 elfxx-sparc.c:589
#: elfxx-sparc.c:639 elfxx-tilegx.c:907 elfxx-tilegx.c:947 elfnn-aarch64.c:2215
#: elfnn-aarch64.c:2313 elfnn-ia64.c:214 elfnn-ia64.c:3821 elfnn-kvx.c:259
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unsupported relocation type %#x"
-msgstr ""
+msgstr "TYPE(x)"
#: aoutx.h:5387 pdp11.c:3825
-#, c-format
+#, fuzzy, c-format
msgid "%pB: relocatable link from %s to %s not supported"
-msgstr ""
+msgstr "Pertukaran dari set aksara \"%s\" ke \"UTF-8\" tidak disokong"
#: arc-got.h:69
#, c-format
@@ -133,32 +133,38 @@ msgid "%pB: plugin needed to handle lto object"
msgstr ""
#: archive.c:2644
+#, fuzzy
msgid "Reading archive file mod timestamp"
-msgstr ""
+msgstr "Setem masa penciptaan fail imej tidak ditetapkan dalam fail"
#: archive.c:2675
+#, fuzzy
msgid "Writing updated armap timestamp"
-msgstr ""
+msgstr "Dikemaskini"
#: bfd.c:777
msgid "no error"
msgstr "tiada ralat"
#: bfd.c:778
+#, fuzzy
msgid "system call error"
-msgstr ""
+msgstr "panggilan sistem fork() gagal"
#: bfd.c:779
+#, fuzzy
msgid "invalid bfd target"
-msgstr ""
+msgstr "Nilai sasaran tak sah."
#: bfd.c:780
+#, fuzzy
msgid "file in wrong format"
-msgstr ""
+msgstr "Format fail:"
#: bfd.c:781
+#, fuzzy
msgid "archive object file in wrong format"
-msgstr ""
+msgstr "Cipta arkib dengan objek terpilih"
#: bfd.c:782
#, fuzzy
@@ -166,9 +172,8 @@ msgid "invalid operation"
msgstr "Operasi tidak sah %d\n"
#: bfd.c:783
-#, fuzzy
msgid "memory exhausted"
-msgstr "memori keletihan"
+msgstr "kehabisan memori"
#: bfd.c:784
#, fuzzy
@@ -180,32 +185,39 @@ msgid "archive has no index; run ranlib to add one"
msgstr ""
#: bfd.c:786
+#, fuzzy
msgid "no more archived files"
-msgstr ""
+msgstr "Diarkib"
#: bfd.c:787
+#, fuzzy
msgid "malformed archive"
-msgstr ""
+msgstr "Respon cacat"
#: bfd.c:788
+#, fuzzy
msgid "DSO missing from command line"
-msgstr ""
+msgstr "Alatan KDE untuk pembukaan URL daripada baris arahan"
#: bfd.c:789
+#, fuzzy
msgid "file format not recognized"
-msgstr ""
+msgstr "PNM: Format fail tidak dikenal."
#: bfd.c:790
+#, fuzzy
msgid "file format is ambiguous"
-msgstr ""
+msgstr "Format Fail"
#: bfd.c:791
+#, fuzzy
msgid "section has no contents"
-msgstr ""
+msgstr "Kand_ungan"
#: bfd.c:792
+#, fuzzy
msgid "nonrepresentable section on output"
-msgstr ""
+msgstr "&Seksyen:"
#: bfd.c:793
msgid "symbol needs debug section which does not exist"
@@ -217,8 +229,9 @@ msgid "bad value"
msgstr "nilai salah untuk maklumat keadaan ikon terlabuh %s"
#: bfd.c:795
+#, fuzzy
msgid "file truncated"
-msgstr ""
+msgstr "PNM: Fail seperti dipotong."
#: bfd.c:796
#, fuzzy
@@ -226,8 +239,9 @@ msgid "file too big"
msgstr "Fail terlalu besar."
#: bfd.c:797
+#, fuzzy
msgid "sorry, cannot handle this file"
-msgstr ""
+msgstr "pluma tidak dapat mengendali lokasi ini."
#: bfd.c:798
#, fuzzy, c-format
@@ -235,23 +249,24 @@ msgid "error reading %s: %s"
msgstr "Ralat membaca %s: %s"
#: bfd.c:799
+#, fuzzy
msgid "#<invalid error code>"
-msgstr ""
+msgstr "kod kesalahan"
#: bfd.c:2242
-#, c-format
+#, fuzzy, c-format
msgid "BFD %s assertion fail %s:%d"
-msgstr ""
+msgstr "Gagal sebelum mengembalikan media kepada pengguna: %s"
#: bfd.c:2255
-#, c-format
+#, fuzzy, c-format
msgid "%s: BFD %s internal error, aborting at %s:%d in %s\n"
-msgstr ""
+msgstr "RALAT DALAMAN pada %s:%d: regex hilang atau tidak sah"
#: bfd.c:2259
-#, c-format
+#, fuzzy, c-format
msgid "%s: BFD %s internal error, aborting at %s:%d\n"
-msgstr ""
+msgstr "RALAT DALAMAN pada %s:%d: regex hilang atau tidak sah"
#: bfd.c:2262
#, fuzzy, c-format
@@ -264,9 +279,9 @@ msgid "warning: writing section `%pA' at huge (ie negative) file offset"
msgstr ""
#: cache.c:290
-#, c-format
+#, fuzzy, c-format
msgid "reopening %pB: %s"
-msgstr ""
+msgstr "PB"
#: coff-alpha.c:450
#, c-format
@@ -295,8 +310,9 @@ msgid "%X%P: %pB(%pA): relocation \"%pR\" returns an unrecognized value %x\n"
msgstr ""
#: coff-alpha.c:1489
+#, fuzzy
msgid "using multiple gp values"
-msgstr ""
+msgstr "Muat P_GP"
#: coff-alpha.c:1987
#, c-format
@@ -334,9 +350,9 @@ msgid "%pB: TOC reloc at %#<PRIx64> to symbol `%s' with no TOC entry"
msgstr ""
#: coff-rs6000.c:3251 coff64-rs6000.c:848
-#, c-format
+#, fuzzy, c-format
msgid "Unable to find the stub entry targeting %s"
-msgstr ""
+msgstr "Tak dapat hantar kemasukan senaraimain \"%s\""
#: coff-rs6000.c:3366
#, c-format
@@ -389,9 +405,9 @@ msgid "%pB: %#<PRIx64>: warning: could not find expected COUNT reloc"
msgstr ""
#: coff-sh.c:983 elf32-sh.c:738
-#, c-format
+#, fuzzy, c-format
msgid "%pB: %#<PRIx64>: warning: bad count"
-msgstr ""
+msgstr "Amaran: Tandatangan rosak."
#: coff-sh.c:1349 coff-sh.c:2636 elf32-sh.c:1138 elf32-sh.c:1506
#, c-format
@@ -415,8 +431,9 @@ msgid "%pB: warning: illegal symbol index %ld in relocs"
msgstr ""
#: coff-x86_64.c:147
+#, fuzzy
msgid "R_AMD64_IMAGEBASE with __ImageBase undefined"
-msgstr ""
+msgstr "Tidak ditakrif"
#: coff64-rs6000.c:447 coff64-rs6000.c:554
#, c-format
@@ -439,9 +456,9 @@ msgid "%pB: unable to load COMDAT section name"
msgstr ""
#: coffcode.h:976
-#, c-format
+#, fuzzy, c-format
msgid "%pB: warning: no symbol for section '%s' found"
-msgstr ""
+msgstr "simbol tidak dijumpai di dalam pengeluaran: %.*s"
#: coffcode.h:1148
#, c-format
@@ -487,9 +504,9 @@ msgid "%pB: reloc against a non-existent symbol index: %ld"
msgstr ""
#: coffcode.h:3162
-#, c-format
+#, fuzzy, c-format
msgid "%pB: too many sections (%d)"
-msgstr ""
+msgstr "Terlalu banyak titik henti. Maksimum ialah %d."
#: coffcode.h:3690
#, c-format
@@ -537,14 +554,14 @@ msgid "%pB: illegal relocation type %d at address %#<PRIx64>"
msgstr ""
#: coffgen.c:255 elf.c:1033
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unable to compress section %s"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: coffgen.c:265 elf.c:1043
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unable to decompress section %s"
-msgstr ""
+msgstr "Sumber pada \"%s\" gagal dinyahmampatkan"
#: coffgen.c:1778
#, c-format
@@ -558,9 +575,9 @@ msgid "<corrupt>"
msgstr "Fail rosak?"
#: coffgen.c:2191
-#, c-format
+#, fuzzy, c-format
msgid "<corrupt info> %s"
-msgstr ""
+msgstr "PNG imej kenit rosak: '%s'"
#: coffgen.c:2797 elflink.c:15435 linker.c:3011
msgid "%F%P: already_linked_table: %E\n"
@@ -572,8 +589,12 @@ msgid "removing unused section '%pA' in file '%pB'"
msgstr ""
#: coffgen.c:3216 elflink.c:14606
+#, fuzzy
msgid "warning: gc-sections option ignored"
msgstr ""
+"Amaran mengenai %(cleaner)s - %(option)s:\n"
+"\n"
+"%(warning)s"
#: cofflink.c:398
#, c-format
@@ -631,20 +652,20 @@ msgid "warning: unable to update contents of %s section in %pB"
msgstr ""
#: dwarf2.c:702
-#, c-format
+#, fuzzy, c-format
msgid "DWARF error: can't find %s section."
-msgstr ""
+msgstr "%s: tidak dapat mencari seksyen .text dalam %s\n"
#: dwarf2.c:710
-#, c-format
+#, fuzzy, c-format
msgid "DWARF error: section %s has no contents"
-msgstr ""
+msgstr "Ralat menyenaraikan kandungan folder '%s': %s"
#. PR 26946
#: dwarf2.c:719
-#, c-format
+#, fuzzy, c-format
msgid "DWARF error: section %s is too big"
-msgstr ""
+msgstr "Ralat: Saiz mesej %d terlalu besar\n"
#: dwarf2.c:754
#, c-format
@@ -665,8 +686,9 @@ msgid "DWARF error: mangled line number section (bad file number)"
msgstr ""
#: dwarf2.c:2614
+#, fuzzy
msgid "DWARF error: zero format count"
-msgstr ""
+msgstr "Sembunyi kiraan bila kosong:"
#: dwarf2.c:2624
#, c-format
@@ -762,58 +784,58 @@ msgid "%pB: warning: isymMax (%ld) is greater than ifdMax (%ld)"
msgstr ""
#: ecoff.c:1313
-#, c-format
+#, fuzzy, c-format
msgid "unknown basic type %d"
-msgstr ""
+msgstr "Jenis anak panah %d tak diketahui\n"
#: ecoff.c:1571
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" End+1 symbol: %ld"
-msgstr ""
+msgstr "Tetapkan alamat &akhir simbol"
#: ecoff.c:1578 ecoff.c:1581
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" First symbol: %ld"
-msgstr ""
+msgstr "Memadam fail %ld drpd %ld"
#: ecoff.c:1596
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" End+1 symbol: %-7ld Type: %s"
-msgstr ""
+msgstr "jenis <%s> digunakan, tetapi tidak dihubungkan ke sebarang simbol"
#: ecoff.c:1604
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" Local symbol: %ld"
-msgstr ""
+msgstr "Memadam fail %ld drpd %ld"
#: ecoff.c:1612
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" struct; End+1 symbol: %ld"
-msgstr ""
+msgstr "Lumpuhkan simbol _akhir baris"
#: ecoff.c:1617
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" union; End+1 symbol: %ld"
-msgstr ""
+msgstr "Lumpuhkan simbol _akhir baris"
#: ecoff.c:1622
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" enum; End+1 symbol: %ld"
-msgstr ""
+msgstr "Lumpuhkan simbol _akhir baris"
#: ecoff.c:1630
#, fuzzy, c-format
@@ -823,8 +845,9 @@ msgid ""
msgstr "Indeks tidak sah untuk jenis %s untuk jenis asa %s"
#: elf-attrs.c:417 elf-attrs.c:447 elf-attrs.c:623
+#, fuzzy
msgid "error adding attribute"
-msgstr ""
+msgstr "Ralat ketika menambah hubungan"
#: elf-attrs.c:503
#, c-format
@@ -866,9 +889,9 @@ msgid "further warnings about FDE encoding preventing .eh_frame_hdr generation d
msgstr ""
#: elf-eh-frame.c:1872
-#, c-format
+#, fuzzy, c-format
msgid "%pB: %pA not in order"
-msgstr ""
+msgstr "PA="
#: elf-eh-frame.c:1886
#, c-format
@@ -890,13 +913,14 @@ msgid "invalid output section for .eh_frame_entry: %pA"
msgstr ""
#: elf-eh-frame.c:2340
-#, c-format
+#, fuzzy, c-format
msgid "invalid contents in %pA section"
-msgstr ""
+msgstr "PA="
#: elf-eh-frame.c:2496
+#, fuzzy
msgid ".eh_frame_hdr entry overflow"
-msgstr ""
+msgstr "Lukis bingkai disekeliling masukan"
#: elf-eh-frame.c:2498
msgid ".eh_frame_hdr refers to overlapping FDEs"
@@ -917,8 +941,9 @@ msgstr ""
#: elf32-or1k.c:1895 elf32-score.c:2724 elf32-score7.c:2535 elf32-spu.c:5081
#: elf32-tilepro.c:3369 elf32-v850.c:2297 elf32-visium.c:680
#: elf32-xstormy16.c:930 elf64-bpf.c:339 elf64-mmix.c:1537 elfxx-tilegx.c:3742
+#, fuzzy
msgid "internal error: out of range error"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elf-m10200.c:438 elf-m10300.c:2150 elf32-bfin.c:3136 elf32-cr16.c:1433
#: elf32-cris.c:2037 elf32-crx.c:926 elf32-d10v.c:514 elf32-fr30.c:598
@@ -929,15 +954,17 @@ msgstr ""
#: elf32-score7.c:2539 elf32-spu.c:5085 elf32-tilepro.c:3373 elf32-v850.c:2301
#: elf32-visium.c:684 elf32-xstormy16.c:934 elf64-mmix.c:1541
#: elfxx-mips.c:10642 elfxx-tilegx.c:3746
+#, fuzzy
msgid "internal error: unsupported relocation error"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elf-m10200.c:442 elf32-cr16.c:1437 elf32-crx.c:930 elf32-d10v.c:518
#: elf32-h8300.c:531 elf32-lm32.c:1077 elf32-m32r.c:2845 elf32-m68hc1x.c:1278
#: elf32-microblaze.c:1685 elf32-nds32.c:6100 elf32-score.c:2732
#: elf32-score7.c:2543 elf32-spu.c:5089
+#, fuzzy
msgid "internal error: dangerous error"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elf-m10200.c:446 elf-m10300.c:2167 elf32-bfin.c:3144 elf32-cr16.c:1441
#: elf32-cris.c:2045 elf32-crx.c:934 elf32-d10v.c:522 elf32-epiphany.c:578
@@ -1062,18 +1089,19 @@ msgid "%F%P: failed to create GNU property section\n"
msgstr ""
#: elf-properties.c:644 elfxx-aarch64.c:752 elfxx-x86.c:4353
-#, c-format
+#, fuzzy, c-format
msgid "%F%pA: failed to align section\n"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#. Merge .note.gnu.property sections.
#: elf-properties.c:749 elf-properties.c:751
msgid "\n"
-msgstr ""
+msgstr "\n"
#: elf-properties.c:750
+#, fuzzy
msgid "Merging program properties\n"
-msgstr ""
+msgstr "Tiada Penggabungan"
#: elf-sframe.c:239
#, c-format
@@ -1089,9 +1117,9 @@ msgid "input SFrame sections with different format versions prevent .sframe gene
msgstr ""
#: elf.c:299
-#, c-format
+#, fuzzy, c-format
msgid "%pB: string table [%u] is corrupt"
-msgstr ""
+msgstr "Fail nampaknya rosak. Melangkau jadual. "
#. PR 17512: file: f057ec89.
#: elf.c:328
@@ -1111,9 +1139,9 @@ msgid "%pB symbol number %lu references nonexistent SHT_SYMTAB_SHNDX section"
msgstr ""
#: elf.c:614
-#, c-format
+#, fuzzy, c-format
msgid "%pB: could not read contents of group [%u]"
-msgstr ""
+msgstr "Tidak dapat membaca kandungan %s"
#: elf.c:645
#, c-format
@@ -1146,52 +1174,52 @@ msgid "%pB: invalid sh_link field (%d) in section number %d"
msgstr ""
#: elf.c:1253
-#, c-format
+#, fuzzy, c-format
msgid "%pB: failed to find link section for section %d"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: elf.c:1280
-#, c-format
+#, fuzzy, c-format
msgid "%pB: failed to find info section for section %d"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: elf.c:1457
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"Program Header:\n"
-msgstr ""
+msgstr "Program"
#: elf.c:1499
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"Dynamic Section:\n"
-msgstr ""
+msgstr "dinamik"
#: elf.c:1638
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"Version definitions:\n"
-msgstr ""
+msgstr "Sedang mentakrifkan item..."
#: elf.c:1663
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"Version References:\n"
-msgstr ""
+msgstr "Rujukan:"
#: elf.c:1668
-#, c-format
+#, fuzzy, c-format
msgid " required from %s:\n"
-msgstr ""
+msgstr "diperlukan=%s"
#: elf.c:1917
-#, c-format
+#, fuzzy, c-format
msgid "%pB: DT_STRTAB table is corrupt"
-msgstr ""
+msgstr "Fail nampaknya rosak. Melangkau jadual. "
#: elf.c:2426
#, c-format
@@ -1219,9 +1247,9 @@ msgid "%pB: warning: secondary relocation section '%s' for section %pA found - i
msgstr ""
#: elf.c:2879 elf.c:2893 elf.c:2904 elf.c:2917
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unknown type [%#x] section `%s'"
-msgstr ""
+msgstr "Seksyen tidak diketahui: %s"
#: elf.c:3586
#, c-format
@@ -1234,9 +1262,9 @@ msgid "warning: section `%pA' type changed to PROGBITS"
msgstr ""
#: elf.c:4130
-#, c-format
+#, fuzzy, c-format
msgid "%pB: too many sections: %u"
-msgstr ""
+msgstr "Terlalu banyak klien. Sambungan daripada %s:%u ditolak."
#: elf.c:4216
#, c-format
@@ -1258,19 +1286,19 @@ msgid "%F%P: failed to size relative relocations\n"
msgstr ""
#: elf.c:5440
-#, c-format
+#, fuzzy, c-format
msgid "%pB: TLS sections are not adjacent:"
-msgstr ""
+msgstr "PB"
#: elf.c:5447
#, c-format
msgid "\t TLS: %pA"
-msgstr ""
+msgstr "\t TLS: %pA"
#: elf.c:5451
-#, c-format
+#, fuzzy, c-format
msgid "\tnon-TLS: %pA"
-msgstr ""
+msgstr "PA="
#: elf.c:6075
#, c-format
@@ -1316,14 +1344,14 @@ msgid "%pB: error: non-load segment %d includes file header and/or program heade
msgstr ""
#: elf.c:6862
-#, c-format
+#, fuzzy, c-format
msgid "error: %pB has a TLS segment with execute permission"
-msgstr ""
+msgstr "Proses mempunyai keizinan untuk melakukan arahan yang terkandung di dalam segmen ingatan."
#: elf.c:6868
-#, c-format
+#, fuzzy, c-format
msgid "warning: %pB has a TLS segment with execute permission"
-msgstr ""
+msgstr "Proses mempunyai keizinan untuk melakukan arahan yang terkandung di dalam segmen ingatan."
#: elf.c:6883
#, c-format
@@ -1336,9 +1364,9 @@ msgid "warning: %pB has a LOAD segment with RWX permissions"
msgstr ""
#: elf.c:7284
-#, c-format
+#, fuzzy, c-format
msgid "%pB: symbol `%s' required but not present"
-msgstr ""
+msgstr "Satu unsur (%s) diperlukan tidak hadir."
#: elf.c:7661
#, c-format
@@ -1361,14 +1389,14 @@ msgid "unable to find equivalent output section for symbol '%s' from section '%s
msgstr ""
#: elf.c:9300
-#, c-format
+#, fuzzy, c-format
msgid "%pB: .gnu.version_r invalid entry"
-msgstr ""
+msgstr "Masukan rangkaian tidak sah."
#: elf.c:9478
-#, c-format
+#, fuzzy, c-format
msgid "%pB: .gnu.version_d invalid entry"
-msgstr ""
+msgstr "%d masukan"
#: elf.c:9981
#, c-format
@@ -1382,9 +1410,9 @@ msgstr ""
#: elf.c:10108 elf32-mcore.c:100 elf32-mcore.c:455 elf32-ppc.c:7675
#: elf32-ppc.c:8863 elf64-ppc.c:16860
-#, c-format
+#, fuzzy, c-format
msgid "%pB: %s unsupported"
-msgstr ""
+msgstr "PB"
#: elf.c:10923
#, c-format
@@ -1484,9 +1512,9 @@ msgstr ""
#: elf32-arc.c:454 elf32-arm.c:15194 elf32-frv.c:6612 elf32-iq2000.c:868
#: elf32-m32c.c:914 elf32-mt.c:560 elf32-rl78.c:1275 elf32-rx.c:3218
#: elf32-visium.c:844 elf64-ppc.c:5531 elfnn-aarch64.c:7573
-#, c-format
+#, fuzzy, c-format
msgid "private flags = 0x%lx:"
-msgstr ""
+msgstr "[find_call] %s: 0x%lx ke 0x%lx\n"
#: elf32-arc.c:641
#, c-format
@@ -1514,14 +1542,14 @@ msgid "error: %pB: cannot mix rf16 with full register set %pB"
msgstr ""
#: elf32-arc.c:789
-#, c-format
+#, fuzzy, c-format
msgid "error: %pB: conflicting attributes %s: %s with %s"
-msgstr ""
+msgstr "keluaran berkonflik kepada fail %s"
#: elf32-arc.c:816
-#, c-format
+#, fuzzy, c-format
msgid "error: %pB: conflicting attributes %s"
-msgstr ""
+msgstr "Konflik tindakan untuk %s"
#: elf32-arc.c:921
#, c-format
@@ -1535,8 +1563,9 @@ msgid "%pB: uses different e_flags (%#x) fields than previous modules (%#x)"
msgstr ""
#: elf32-arc.c:1026
+#, fuzzy
msgid "error: the ARC4 architecture is no longer supported"
-msgstr ""
+msgstr "%s: -c tidak disokong pada rekabentuk %s\n"
#: elf32-arc.c:1032
msgid "warning: unset or old architecture flags; use default machine"
@@ -1562,9 +1591,9 @@ msgid "%pB(%pA): warning: unaligned access to symbol '%s' in the small data area
msgstr ""
#: elf32-arc.c:1926 elf32-rx.c:1491
-#, c-format
+#, fuzzy, c-format
msgid "%pB(%pA): internal error: out of range error"
-msgstr ""
+msgstr "Ralat kaji hurai: Nombor terkeluar dari Julat (mesti kecil daripada %1)"
#: elf32-arc.c:1931 elf32-rx.c:1496
#, c-format
@@ -1577,9 +1606,9 @@ msgid "%pB(%pA): internal error: dangerous relocation"
msgstr ""
#: elf32-arc.c:1941 elf32-rx.c:1506
-#, c-format
+#, fuzzy, c-format
msgid "%pB(%pA): internal error: unknown error"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elf32-arc.c:2035 elf32-arc.c:2103 elf32-arm.c:15637 elf32-metag.c:2250
#: elf32-nds32.c:5542 elfnn-aarch64.c:7980 elfnn-riscv.c:722
@@ -1620,9 +1649,9 @@ msgstr ""
#: elf32-arm.c:4854 elf32-arm.c:7003 elf32-csky.c:3385 elf32-hppa.c:581
#: elf32-m68hc1x.c:163 elf32-metag.c:1179 elf64-ppc.c:3902 elf64-ppc.c:14175
#: elfnn-aarch64.c:3188 elfnn-kvx.c:894
-#, c-format
+#, fuzzy, c-format
msgid "%pB: cannot create stub entry %s"
-msgstr ""
+msgstr "%s: Tak dapat mencipta symlink ke %s"
#: elf32-arm.c:5075 elf32-csky.c:3727 elf32-hppa.c:731 elf32-hppa.c:760
#: elf32-hppa.c:841 elf32-m68hc11.c:422 elf32-m68hc12.c:542 elf32-metag.c:3344
@@ -1646,9 +1675,9 @@ msgid "%pB: invalid standard symbol `%s'; it must be a global or weak function s
msgstr ""
#: elf32-arm.c:6100
-#, c-format
+#, fuzzy, c-format
msgid "%pB: absent standard symbol `%s'"
-msgstr ""
+msgstr "%s: tiada simbol sedemikian"
#: elf32-arm.c:6112
#, c-format
@@ -1656,14 +1685,14 @@ msgid "%pB: `%s' and its special symbol are in different sections"
msgstr ""
#: elf32-arm.c:6124
-#, c-format
+#, fuzzy, c-format
msgid "%pB: entry function `%s' not output"
-msgstr ""
+msgstr "Gagal mencari fungsi titik masukan \"%s\" dalam \"%s\": %s"
#: elf32-arm.c:6131
-#, c-format
+#, fuzzy, c-format
msgid "%pB: entry function `%s' is empty"
-msgstr ""
+msgstr "Fungsi kosong"
#: elf32-arm.c:6260
#, c-format
@@ -1681,19 +1710,19 @@ msgid "entry function `%s' disappeared from secure code"
msgstr ""
#: elf32-arm.c:6355
-#, c-format
+#, fuzzy, c-format
msgid "`%s' refers to a non entry function"
-msgstr ""
+msgstr "Tuju atau hubungan merujuk pada anak yang tidak wujud"
#: elf32-arm.c:6370
-#, c-format
+#, fuzzy, c-format
msgid "%pB: visibility of symbol `%s' has changed"
-msgstr ""
+msgstr "Format mel setempat Evolution telah berubah."
#: elf32-arm.c:6379
-#, c-format
+#, fuzzy, c-format
msgid "%pB: incorrect size for symbol `%s'"
-msgstr ""
+msgstr "Tetapkan &saiz simbol"
#: elf32-arm.c:6398
#, c-format
@@ -1710,9 +1739,9 @@ msgid "start address of `%s' is different from previous link"
msgstr ""
#: elf32-arm.c:7137 elf32-arm.c:7175
-#, c-format
+#, fuzzy, c-format
msgid "unable to find %s glue '%s' for '%s'"
-msgstr ""
+msgstr "Tak menjumpai fail include: \"%s\""
#: elf32-arm.c:7886
#, c-format
@@ -1731,9 +1760,9 @@ msgid "%pB: warning: selected STM32L4XX erratum workaround is not necessary for
msgstr ""
#: elf32-arm.c:8677 elf32-arm.c:8697 elf32-arm.c:8764 elf32-arm.c:8783
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unable to find %s veneer `%s'"
-msgstr ""
+msgstr "Tidak dapat mencari \"%s\""
#: elf32-arm.c:8990
#, c-format
@@ -1741,9 +1770,9 @@ msgid "%pB(%pA+%#x): error: multiple load detected in non-last IT block instruct
msgstr ""
#: elf32-arm.c:9088
-#, c-format
+#, fuzzy, c-format
msgid "invalid TARGET2 relocation type '%s'"
-msgstr ""
+msgstr "Indeks tidak sah untuk jenis %s untuk jenis asa %s"
#. FIXME: We ought to be able to generate thumb-1 PLT
#. instructions...
@@ -1778,12 +1807,14 @@ msgid "(%s): Unknown destination type (ARM/Thumb) in %pB"
msgstr ""
#: elf32-arm.c:10615
+#, fuzzy
msgid "shared object"
-msgstr ""
+msgstr "objek memori terkongsi"
#: elf32-arm.c:10618
+#, fuzzy
msgid "PIE executable"
-msgstr ""
+msgstr "Pai"
#: elf32-arm.c:10621
#, c-format
@@ -1826,20 +1857,24 @@ msgid "%pB(%pA+%#<PRIx64>): overflow whilst splitting %#<PRIx64> for group reloc
msgstr ""
#: elf32-arm.c:12704 elf32-arm.c:12863
+#, fuzzy
msgid "local symbol index too big"
-msgstr ""
+msgstr "Tiada simbol untuk indeks"
#: elf32-arm.c:12714 elf32-arm.c:12748
+#, fuzzy
msgid "no dynamic index information available"
-msgstr ""
+msgstr "Tidak tersedia bila menggunakan senarai main dinamik"
#: elf32-arm.c:12756
+#, fuzzy
msgid "invalid dynamic index"
-msgstr ""
+msgstr "ICO: Indeks ikon tidak sah."
#: elf32-arm.c:12873
+#, fuzzy
msgid "dynamic index information not available"
-msgstr ""
+msgstr "Tidak tersedia bila menggunakan senarai main dinamik"
#: elf32-arm.c:13304 elf32-sh.c:3566
#, c-format
@@ -1865,8 +1900,9 @@ msgstr "Diluar Julat"
#: elf32-arm.c:13506 elf32-pru.c:936 elf32-tic6x.c:2645 elfnn-aarch64.c:7411
#: elfnn-kvx.c:2801
+#, fuzzy
msgid "unsupported relocation"
-msgstr ""
+msgstr " (tidak disokong)"
#: elf32-arm.c:13514 elf32-pru.c:946 elf32-tic6x.c:2653 elfnn-aarch64.c:7419
#: elfnn-kvx.c:2809
@@ -1899,9 +1935,9 @@ msgid "warning: %pB: unknown EABI object attribute %d"
msgstr ""
#: elf32-arm.c:14470
-#, c-format
+#, fuzzy, c-format
msgid "error: %pB: unknown CPU architecture"
-msgstr ""
+msgstr "Ralat tidak diketahui"
#: elf32-arm.c:14508
#, c-format
@@ -1929,14 +1965,14 @@ msgid "error: %pB: conflicting architecture profiles %c/%c"
msgstr ""
#: elf32-arm.c:14977
-#, c-format
+#, fuzzy, c-format
msgid "warning: %pB: conflicting platform configuration"
-msgstr ""
+msgstr "Kunci berkonflik dari Conflict1 yang sepatutnya beri satu amaran"
#: elf32-arm.c:14986
-#, c-format
+#, fuzzy, c-format
msgid "error: %pB: conflicting use of R9"
-msgstr ""
+msgstr "Kunci berkonflik dengan julat 0~5 yang sepatutnya berikan satu ralat"
#: elf32-arm.c:14998
#, c-format
@@ -1969,44 +2005,44 @@ msgid "%pB has both the current and legacy Tag_MPextension_use attributes"
msgstr ""
#: elf32-arm.c:15203
-#, c-format
+#, fuzzy, c-format
msgid " [interworking enabled]"
-msgstr ""
+msgstr "tidak dihidupkan"
#: elf32-arm.c:15211
-#, c-format
+#, fuzzy, c-format
msgid " [VFP float format]"
-msgstr ""
+msgstr "apung"
#: elf32-arm.c:15213
-#, c-format
+#, fuzzy, c-format
msgid " [FPA float format]"
-msgstr ""
+msgstr "apung"
#: elf32-arm.c:15216
-#, c-format
+#, fuzzy, c-format
msgid " [floats passed in float registers]"
-msgstr ""
+msgstr "&Daftar"
#: elf32-arm.c:15219 elf32-arm.c:15304
-#, c-format
+#, fuzzy, c-format
msgid " [position independent]"
-msgstr ""
+msgstr "Dokumen bebas"
#: elf32-arm.c:15222
-#, c-format
+#, fuzzy, c-format
msgid " [new ABI]"
-msgstr ""
+msgstr "Baharu"
#: elf32-arm.c:15225
-#, c-format
+#, fuzzy, c-format
msgid " [old ABI]"
-msgstr ""
+msgstr " tua "
#: elf32-arm.c:15228
-#, c-format
+#, fuzzy, c-format
msgid " [software FP]"
-msgstr ""
+msgstr "Segerak FP dibenarkan"
#: elf32-arm.c:15236
#, c-format
@@ -2014,14 +2050,14 @@ msgid " [Version1 EABI]"
msgstr ""
#: elf32-arm.c:15239 elf32-arm.c:15250
-#, c-format
+#, fuzzy, c-format
msgid " [sorted symbol table]"
-msgstr ""
+msgstr "Simbol"
#: elf32-arm.c:15241 elf32-arm.c:15252
-#, c-format
+#, fuzzy, c-format
msgid " [unsorted symbol table]"
-msgstr ""
+msgstr "Tidak Diisih"
#: elf32-arm.c:15247
#, c-format
@@ -2029,14 +2065,14 @@ msgid " [Version2 EABI]"
msgstr ""
#: elf32-arm.c:15255
-#, c-format
+#, fuzzy, c-format
msgid " [dynamic symbols use segment index]"
-msgstr ""
+msgstr "Guna kodek bab ditemui dalam segmen."
#: elf32-arm.c:15258
-#, c-format
+#, fuzzy, c-format
msgid " [mapping symbols precede others]"
-msgstr ""
+msgstr "Simbol"
#: elf32-arm.c:15265
#, c-format
@@ -2054,53 +2090,55 @@ msgid " [Version5 EABI]"
msgstr ""
#: elf32-arm.c:15276
-#, c-format
+#, fuzzy, c-format
msgid " [soft-float ABI]"
-msgstr ""
+msgstr "Soft"
#: elf32-arm.c:15279
-#, c-format
+#, fuzzy, c-format
msgid " [hard-float ABI]"
-msgstr ""
+msgstr "Sukar"
#: elf32-arm.c:15285
#, c-format
msgid " [BE8]"
-msgstr ""
+msgstr " [BE8]"
#: elf32-arm.c:15288
#, c-format
msgid " [LE8]"
-msgstr ""
+msgstr " [LE8]"
#: elf32-arm.c:15294
-#, c-format
+#, fuzzy, c-format
msgid " <EABI version unrecognised>"
msgstr ""
+"perintah tidak dikenali: %s\n"
+"\n"
#: elf32-arm.c:15301
-#, c-format
+#, fuzzy, c-format
msgid " [relocatable executable]"
-msgstr ""
+msgstr "Skema boleh letak semula"
#: elf32-arm.c:15307
-#, c-format
+#, fuzzy, c-format
msgid " [FDPIC ABI supplement]"
-msgstr ""
+msgstr "Latin-1 Tambahan"
#: elf32-arm.c:15312 elfnn-aarch64.c:7576
-#, c-format
+#, fuzzy, c-format
msgid " <Unrecognised flag bits set>"
-msgstr ""
+msgstr "Alamat mempunyai set bit melangkaui panjang awalan"
#: elf32-arm.c:15420 elf32-arm.c:15554 elf32-i386.c:1545 elf32-s390.c:921
#: elf32-tic6x.c:2716 elf32-tilepro.c:1433 elf32-xtensa.c:1088 elf64-s390.c:843
#: elf64-x86-64.c:2173 elfxx-sparc.c:1385 elfxx-tilegx.c:1661 elfxx-x86.c:971
#: elfnn-aarch64.c:7847 elfnn-kvx.c:3247 elfnn-loongarch.c:952
#: elfnn-riscv.c:766
-#, c-format
+#, fuzzy, c-format
msgid "%pB: bad symbol index: %d"
-msgstr ""
+msgstr "Tiada simbol untuk indeks"
#: elf32-arm.c:15810
#, c-format
@@ -2108,14 +2146,14 @@ msgid "FDPIC does not yet support %s relocation to become dynamic for executable
msgstr ""
#: elf32-arm.c:17072
-#, c-format
+#, fuzzy, c-format
msgid "errors encountered processing file %pB"
-msgstr ""
+msgstr "end-of-file tak matang berlaku"
#: elf32-arm.c:17442 elflink.c:13533 elflink.c:13580
-#, c-format
+#, fuzzy, c-format
msgid "could not find section %s"
-msgstr ""
+msgstr "Gagal mencipta sesi sftp: %s"
#: elf32-arm.c:18397
#, c-format
@@ -2135,9 +2173,9 @@ msgid "%pB: error: Cortex-A8 erratum stub out of range (input file too large)"
msgstr ""
#: elf32-arm.c:19509 elf32-arm.c:19531
-#, c-format
+#, fuzzy, c-format
msgid "%pB: error: VFP11 veneer out of range"
-msgstr ""
+msgstr "Ralat kaji hurai: Nombor terkeluar dari Julat (mesti kecil daripada %1)"
#: elf32-arm.c:19582
#, c-format
@@ -2145,9 +2183,9 @@ msgid "%pB(%#<PRIx64>): error: cannot create STM32L4XX veneer; jump out of range
msgstr ""
#: elf32-arm.c:19621
-#, c-format
+#, fuzzy, c-format
msgid "%pB: error: cannot create STM32L4XX veneer"
-msgstr ""
+msgstr "Ralat: Tidak dapat cipta fail sementara: %s\n"
#: elf32-arm.c:20704
#, c-format
@@ -2212,13 +2250,14 @@ msgid "%X%H: %s against `%s': internal error: unexpected relocation result %d\n"
msgstr ""
#: elf32-avr.c:3335 elfnn-aarch64.c:3219
-#, c-format
+#, fuzzy, c-format
msgid "cannot create stub entry %s"
-msgstr ""
+msgstr "%s: Tak dapat mencipta symlink ke %s"
#: elf32-bfin.c:107 elf32-bfin.c:364
+#, fuzzy
msgid "relocation should be even number"
-msgstr ""
+msgstr "Jumlah aksara genap diperlukan"
#: elf32-bfin.c:1589
#, c-format
@@ -2237,16 +2276,18 @@ msgid "%pB: relocation at `%pA+%#<PRIx64>' references symbol `%s' with nonzero a
msgstr ""
#: elf32-bfin.c:2663
+#, fuzzy
msgid "relocation references symbol not defined in the module"
-msgstr ""
+msgstr "simbol %s digunakan, tetapi tidak ditakrifkan sebagai token atau mempunyai hukum"
#: elf32-bfin.c:2761
msgid "R_BFIN_FUNCDESC references dynamic symbol with nonzero addend"
msgstr ""
#: elf32-bfin.c:2801 elf32-bfin.c:2922
+#, fuzzy
msgid "cannot emit fixups in read-only section"
-msgstr ""
+msgstr "Peristiwa tidak boleh disunting, kerana kalendar terpilih adalah baca sahaja"
#: elf32-bfin.c:2831 elf32-bfin.c:2959 elf32-lm32.c:1006 elf32-sh.c:4384
msgid "cannot emit dynamic relocations in read-only section"
@@ -2257,8 +2298,9 @@ msgid "R_BFIN_FUNCDESC_VALUE references dynamic symbol with nonzero addend"
msgstr ""
#: elf32-bfin.c:3044
+#, fuzzy
msgid "relocations between different segments are not supported"
-msgstr ""
+msgstr "Operasi tidak disokong, fail berada pada lekap berbeza"
#: elf32-bfin.c:3045
msgid "warning: relocation references a different segment"
@@ -2270,16 +2312,17 @@ msgstr ""
#: elf32-msp430.c:1514 elf32-mt.c:406 elf32-or1k.c:1903 elf32-tilepro.c:3377
#: elf32-v850.c:2305 elf32-visium.c:688 elf32-xstormy16.c:938 elf64-bpf.c:348
#: elf64-mmix.c:1545 elfxx-tilegx.c:3750
+#, fuzzy
msgid "internal error: dangerous relocation"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#. Ignore init flag - it may not be set, despite the flags field containing valid data.
#: elf32-bfin.c:4728 elf32-cris.c:3860 elf32-m68hc1x.c:1414 elf32-m68k.c:1264
#: elf32-score.c:3984 elf32-score7.c:3791 elf32-vax.c:534 elf32-xgate.c:494
#: elfxx-mips.c:16366
-#, c-format
+#, fuzzy, c-format
msgid "private flags = %lx:"
-msgstr ""
+msgstr "Persendirian"
#: elf32-bfin.c:4779 elf32-frv.c:6585
#, c-format
@@ -2292,17 +2335,18 @@ msgid "%pB: cannot link fdpic object file into non-fdpic executable"
msgstr ""
#: elf32-bfin.c:4919
-#, c-format
+#, fuzzy, c-format
msgid "*** check this relocation %s"
-msgstr ""
+msgstr "Tidak dapat memeriksa folder: %s: %s"
#: elf32-bfin.c:5034
msgid "the bfin target does not currently support the generation of copy relocations"
msgstr ""
#: elf32-bfin.c:5329 elf32-cr16.c:2720 elf32-m68k.c:4420
+#, fuzzy
msgid "unsupported relocation type"
-msgstr ""
+msgstr "Jenis Python tidak disokong: %s"
#: elf32-cris.c:1119
#, c-format
@@ -2321,8 +2365,9 @@ msgstr ""
#: elf32-cris.c:1193 elf32-cris.c:1326 elf32-cris.c:1591 elf32-cris.c:1674
#: elf32-cris.c:1827 elf32-tic6x.c:2552
+#, fuzzy
msgid "[whose name is lost]"
-msgstr ""
+msgstr "Nama '%s' hilang dalam dbus mesej."
#: elf32-cris.c:1311 elf32-tic6x.c:2536
#, c-format
@@ -2391,13 +2436,14 @@ msgid "%pB, section `%pA', to symbol `%s': relocation %s should not be used in a
msgstr ""
#: elf32-cris.c:3811
+#, fuzzy
msgid "unexpected machine number"
-msgstr ""
+msgstr "Nombor pemacu %1 tak dijangka."
#: elf32-cris.c:3863
-#, c-format
+#, fuzzy, c-format
msgid " [symbols have a _ prefix]"
-msgstr ""
+msgstr "Pengenalpasti pulsar mempunyai awalan 'PSR'"
#: elf32-cris.c:3866
#, c-format
@@ -2407,7 +2453,7 @@ msgstr ""
#: elf32-cris.c:3869
#, c-format
msgid " [v32]"
-msgstr ""
+msgstr " [v32]"
#: elf32-cris.c:3913
#, c-format
@@ -2430,8 +2476,9 @@ msgid "%pB contains non-CRIS-v32 code, incompatible with previous objects"
msgstr ""
#: elf32-csky.c:2016
+#, fuzzy
msgid "GOT table size out of range"
-msgstr ""
+msgstr "Diluar Julat"
#: elf32-csky.c:2826
#, c-format
@@ -2439,9 +2486,9 @@ msgid "warning: unrecognized arch eflag '%#lx'"
msgstr ""
#: elf32-csky.c:2849
-#, c-format
+#, fuzzy, c-format
msgid "warning: unrecognised arch name '%#x'"
-msgstr ""
+msgstr "nama (x,y)"
#: elf32-csky.c:2914 elf32-csky.c:3074
#, c-format
@@ -2475,9 +2522,9 @@ msgstr ""
#. The r_type is error, not support it.
#: elf32-csky.c:4327 elf32-i386.c:344
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unsupported relocation type: %#x"
-msgstr ""
+msgstr "TYPE(x)"
#: elf32-dlx.c:141
#, c-format
@@ -2495,8 +2542,9 @@ msgid "unsupported relocation between data/insn address spaces"
msgstr ""
#: elf32-frv.c:1452 elf32-frv.c:1603
+#, fuzzy
msgid "relocation requires zero addend"
-msgstr ""
+msgstr "Sifar"
#: elf32-frv.c:2832
#, c-format
@@ -2573,9 +2621,9 @@ msgid "%H: reloc against `%s' references a different segment\n"
msgstr ""
#: elf32-frv.c:4068
-#, c-format
+#, fuzzy, c-format
msgid "%H: reloc against `%s': %s\n"
-msgstr ""
+msgstr "%s j %s"
#: elf32-frv.c:6496
#, c-format
@@ -2583,9 +2631,9 @@ msgid "%pB: compiled with %s and linked with modules that use non-pic relocation
msgstr ""
#: elf32-frv.c:6550 elf32-iq2000.c:830 elf32-m32c.c:876
-#, c-format
+#, fuzzy, c-format
msgid "%pB: compiled with %s and linked with modules compiled with %s"
-msgstr ""
+msgstr "Dia Versi %s dikompil %s, %s\n"
#: elf32-frv.c:6563
#, c-format
@@ -2608,9 +2656,9 @@ msgid "%pB: relocation %s can not be used when making a shared object; recompile
msgstr ""
#: elf32-hppa.c:2579
-#, c-format
+#, fuzzy, c-format
msgid "%pB: duplicate export stub %s"
-msgstr ""
+msgstr "%s Pb"
#: elf32-hppa.c:3235
#, c-format
@@ -2638,9 +2686,9 @@ msgid "%pB:%s has both normal and TLS relocs"
msgstr ""
#: elf32-hppa.c:4166
-#, c-format
+#, fuzzy, c-format
msgid "%pB(%pA+%#<PRIx64>): cannot handle %s for %s"
-msgstr ""
+msgstr "Caja tidak dapat mengendali lokasi \"%s\"."
#: elf32-hppa.c:4470
msgid ".got section not immediately after .plt section"
@@ -2676,9 +2724,9 @@ msgstr ""
#: elf32-i386.c:2452 elf32-i386.c:3752 elf32-i386.c:3900 elf64-x86-64.c:3107
#: elf64-x86-64.c:4790 elf64-x86-64.c:4958 elfnn-riscv.c:2406
#: elfnn-riscv.c:3318 elfnn-riscv.c:3392
-#, c-format
+#, fuzzy, c-format
msgid "Local IFUNC function `%s' in %pB\n"
-msgstr ""
+msgstr "%s Pb"
#: elf32-i386.c:2630
#, c-format
@@ -2686,16 +2734,19 @@ msgid "%pB: direct GOT relocation %s against `%s' without base register can not
msgstr ""
#: elf32-i386.c:2665 elf64-x86-64.c:3324
+#, fuzzy
msgid "hidden symbol"
-msgstr ""
+msgstr "Tersembunyi"
#: elf32-i386.c:2668 elf64-x86-64.c:3327
+#, fuzzy
msgid "internal symbol"
-msgstr ""
+msgstr "Dalaman"
#: elf32-i386.c:2671 elf64-x86-64.c:3330
+#, fuzzy
msgid "protected symbol"
-msgstr ""
+msgstr "Dilindungi"
#: elf32-i386.c:2674 elf64-x86-64.c:3333
#, fuzzy
@@ -2743,9 +2794,9 @@ msgid "global pointer relative address out of range"
msgstr ""
#: elf32-lm32.c:959
-#, c-format
+#, fuzzy, c-format
msgid "internal error: addend should be zero for %s"
-msgstr ""
+msgstr "Ralat Dalaman, kiraan bukan-sifar"
#: elf32-m32r.c:1461
msgid "SDA relocation when _SDA_BASE_ not defined"
@@ -2762,24 +2813,24 @@ msgid "%pB: instruction set mismatch with previous modules"
msgstr ""
#: elf32-m32r.c:3298 elf32-nds32.c:6899
-#, c-format
+#, fuzzy, c-format
msgid "private flags = %lx"
-msgstr ""
+msgstr "Persendirian"
#: elf32-m32r.c:3303
-#, c-format
+#, fuzzy, c-format
msgid ": m32r instructions"
-msgstr ""
+msgstr "Arahan"
#: elf32-m32r.c:3304
-#, c-format
+#, fuzzy, c-format
msgid ": m32rx instructions"
-msgstr ""
+msgstr "Arahan"
#: elf32-m32r.c:3305
-#, c-format
+#, fuzzy, c-format
msgid ": m32r2 instructions"
-msgstr ""
+msgstr "Arahan"
#: elf32-m68hc1x.c:1134
#, c-format
@@ -2822,54 +2873,54 @@ msgid "%pB: linking files compiled for HCS12 with others compiled for HC12"
msgstr ""
#: elf32-m68hc1x.c:1417 elf32-xgate.c:497
-#, c-format
+#, fuzzy, c-format
msgid "[abi=32-bit int, "
-msgstr ""
+msgstr "32-bit"
#: elf32-m68hc1x.c:1419 elf32-xgate.c:499
-#, c-format
+#, fuzzy, c-format
msgid "[abi=16-bit int, "
-msgstr ""
+msgstr "16-bit"
#: elf32-m68hc1x.c:1422 elf32-xgate.c:502
-#, c-format
+#, fuzzy, c-format
msgid "64-bit double, "
-msgstr ""
+msgstr "64-bit"
#: elf32-m68hc1x.c:1424 elf32-xgate.c:504
-#, c-format
+#, fuzzy, c-format
msgid "32-bit double, "
-msgstr ""
+msgstr "32-bit"
#: elf32-m68hc1x.c:1427
#, c-format
msgid "cpu=HC11]"
-msgstr ""
+msgstr "cpu=HC11]"
#: elf32-m68hc1x.c:1429
#, c-format
msgid "cpu=HCS12]"
-msgstr ""
+msgstr "cpu=HCS12]"
#: elf32-m68hc1x.c:1431
#, c-format
msgid "cpu=HC12]"
-msgstr ""
+msgstr "cpu=HC12]"
#: elf32-m68hc1x.c:1434
-#, c-format
+#, fuzzy, c-format
msgid " [memory=bank-model]"
-msgstr ""
+msgstr "Bank"
#: elf32-m68hc1x.c:1436
-#, c-format
+#, fuzzy, c-format
msgid " [memory=flat]"
-msgstr ""
+msgstr "Rata."
#: elf32-m68hc1x.c:1439
-#, c-format
+#, fuzzy, c-format
msgid " [XGATE RAM offsetting]"
-msgstr ""
+msgstr "Kayu pelantak."
#: elf32-m68k.c:1156 elf32-m68k.c:1164 elf32-ppc.c:3570 elf32-ppc.c:3578
#, c-format
@@ -2877,7 +2928,6 @@ msgid "%pB uses hard float, %pB uses soft float"
msgstr ""
#: elf32-m68k.c:1279 elf32-m68k.c:1280 vms-alpha.c:8089 vms-alpha.c:8105
-#, fuzzy
msgid "unknown"
msgstr "tidak diketahui"
@@ -2893,29 +2943,32 @@ msgstr ""
#. Pacify gcc -Wall.
#: elf32-mep.c:139
-#, c-format
+#, fuzzy, c-format
msgid "mep: no reloc for code %d"
-msgstr ""
+msgstr "%d kod kemunculan"
#: elf32-mep.c:146
-#, c-format
+#, fuzzy, c-format
msgid "MeP: howto %d has type %d"
-msgstr ""
+msgstr "$$ untuk hukum pertengahan pada $%d bagi %s tidak mempunyai jenis yang diisytiharkan"
#: elf32-mep.c:618
-#, c-format
+#, fuzzy, c-format
msgid "%pB and %pB are for different cores"
-msgstr ""
+msgstr "%1 PB"
#: elf32-mep.c:637
-#, c-format
+#, fuzzy, c-format
msgid "%pB and %pB are for different configurations"
-msgstr ""
+msgstr "%1 PB"
#: elf32-mep.c:675
-#, c-format
+#, fuzzy, c-format
msgid "private flags = 0x%lx"
msgstr ""
+"\n"
+"Terdapat direktori nyahpepijat dalam %s pada 0x%lx\n"
+"\n"
#: elf32-metag.c:1856
#, c-format
@@ -2929,13 +2982,14 @@ msgstr ""
#: elf32-microblaze.c:1590 elf32-tilepro.c:3018 elfxx-sparc.c:3442
#: elfxx-tilegx.c:3415
-#, c-format
+#, fuzzy, c-format
msgid "%pB: probably compiled without -fPIC?"
-msgstr ""
+msgstr "Boxes telah dikompil tanpa sokongan RDP"
#: elf32-mips.c:1776 elf64-mips.c:3515 elfn32-mips.c:3334
+#, fuzzy
msgid "literal relocation occurs for an external symbol"
-msgstr ""
+msgstr "rentetan literal %s tidak dikepilkan pada simbol"
#: elf32-mips.c:1827 elf32-score.c:563 elf32-score7.c:465 elf64-mips.c:3558
#: elfn32-mips.c:3376
@@ -2996,9 +3050,9 @@ msgid "error: %pB can use the upper region for data, but %pB assumes data is exc
msgstr ""
#: elf32-nds32.c:3673
-#, c-format
+#, fuzzy, c-format
msgid "error: can't find symbol: %s"
-msgstr ""
+msgstr "Kami tidak menemui simbol \"%s\""
#: elf32-nds32.c:5572
#, c-format
@@ -3051,14 +3105,14 @@ msgid "%pB: warning: incompatible elf-versions %s and %s"
msgstr ""
#: elf32-nds32.c:6905
-#, c-format
+#, fuzzy, c-format
msgid ": n1 instructions"
-msgstr ""
+msgstr "Arahan"
#: elf32-nds32.c:6908
-#, c-format
+#, fuzzy, c-format
msgid ": n1h instructions"
-msgstr ""
+msgstr "Arahan"
#: elf32-nds32.c:9357
#, c-format
@@ -3086,9 +3140,9 @@ msgid "%pB: Cannot handle relocation value size of %d"
msgstr ""
#: elf32-or1k.c:1375
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unknown relocation type %d"
-msgstr ""
+msgstr "Jenis objek tak diketahui %d\n"
#: elf32-or1k.c:1429
#, c-format
@@ -3116,9 +3170,9 @@ msgid "%pB: non-pic relocation against symbol %s"
msgstr ""
#: elf32-or1k.c:1686
-#, c-format
+#, fuzzy, c-format
msgid "%pB: support for local dynamic not implemented"
-msgstr ""
+msgstr "Fail yang mengandungi berkas sokongan akan dimuat turun ke sistem domestik."
#: elf32-or1k.c:1865
#, c-format
@@ -3126,9 +3180,9 @@ msgid "%pB: will not resolve runtime TLS relocation"
msgstr ""
#: elf32-or1k.c:2199
-#, c-format
+#, fuzzy, c-format
msgid "%pB: bad relocation section name `%s'"
-msgstr ""
+msgstr "Nama petimel teruk untuk tapisan: %s"
#: elf32-or1k.c:3312
#, c-format
@@ -3136,19 +3190,19 @@ msgid "%pB: %s flag mismatch with previous modules"
msgstr ""
#: elf32-ppc.c:990 elf64-ppc.c:1753
-#, c-format
+#, fuzzy, c-format
msgid "generic linker can't handle %s"
-msgstr ""
+msgstr "Tidak boleh mengendalikan lokasi \"%s:\"."
#: elf32-ppc.c:1627
-#, c-format
+#, fuzzy, c-format
msgid "corrupt %s section in %pB"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: elf32-ppc.c:1646
-#, c-format
+#, fuzzy, c-format
msgid "unable to read in %s section from %pB"
-msgstr ""
+msgstr "Tidak boleh baca dari: %s"
#: elf32-ppc.c:1688
#, c-format
@@ -3160,12 +3214,14 @@ msgid "failed to allocate space for new APUinfo section"
msgstr ""
#: elf32-ppc.c:1756
+#, fuzzy
msgid "failed to compute new APUinfo section"
-msgstr ""
+msgstr "Anda tidak boleh menambah direktori baru pada seksyen ini."
#: elf32-ppc.c:1759
+#, fuzzy
msgid "failed to install new APUinfo section"
-msgstr ""
+msgstr "Gagal memasang: pengesahihan tidak sah"
#: elf32-ppc.c:2867
#, c-format
@@ -3223,8 +3279,9 @@ msgid "bss-plt forced due to %pB"
msgstr ""
#: elf32-ppc.c:4028
+#, fuzzy
msgid "bss-plt forced by profiling"
-msgstr ""
+msgstr "Paksa Dihidupkan"
#: elf32-ppc.c:4606 elf64-ppc.c:8516
msgid "%H: warning: %s unexpected insn %#x.\n"
@@ -3254,8 +3311,9 @@ msgid "%P: %H: error: %s with unexpected instruction %x\n"
msgstr ""
#: elf32-ppc.c:7501
+#, fuzzy
msgid "%H: fixup branch overflow\n"
-msgstr ""
+msgstr "Rekod melimpah"
#: elf32-ppc.c:7541 elf32-ppc.c:7579
#, c-format
@@ -3268,9 +3326,9 @@ msgid "%X%H: unsupported bss-plt -fPIC ifunc %s\n"
msgstr ""
#: elf32-ppc.c:7679
-#, c-format
+#, fuzzy, c-format
msgid "%pB: reloc %#x unsupported"
-msgstr ""
+msgstr "%1 PB"
#: elf32-ppc.c:7962
#, c-format
@@ -3305,9 +3363,9 @@ msgid "%X%P: %H: %s relocation unsupported for bss-plt\n"
msgstr ""
#: elf32-ppc.c:9025
-#, c-format
+#, fuzzy, c-format
msgid "%H: error: %s against `%s' not a multiple of %u\n"
-msgstr ""
+msgstr "Kod ralat %u ketika menyisip satu masukan: %s"
#: elf32-ppc.c:9054
#, c-format
@@ -3315,9 +3373,11 @@ msgid "%H: unresolvable %s relocation against symbol `%s'\n"
msgstr ""
#: elf32-ppc.c:9136
-#, c-format
+#, fuzzy, c-format
msgid "%H: %s reloc against `%s': error %d\n"
msgstr ""
+"\n"
+"%02d h %02d j %02d min pada: %s"
#: elf32-ppc.c:10018
msgid "%X%P: text relocations and GNU indirect functions will result in a segfault at runtime\n"
@@ -3328,9 +3388,9 @@ msgid "%P: warning: text relocations and GNU indirect functions may result in a
msgstr ""
#: elf32-ppc.c:10067
-#, c-format
+#, fuzzy, c-format
msgid "%s not defined in linker created %pA"
-msgstr ""
+msgstr "Port %s/%s tidak dinyatakan"
#: elf32-pru.c:582 elf32-pru.c:1477
#, c-format
@@ -3338,32 +3398,39 @@ msgid "error: %pB: old incompatible object file detected"
msgstr ""
#: elf32-pru.c:931
+#, fuzzy
msgid "relocation out of range"
-msgstr ""
+msgstr "Diluar Julat"
#: elf32-pru.c:941 elf32-tic6x.c:2649
+#, fuzzy
msgid "dangerous relocation"
-msgstr ""
+msgstr "Cuba Sekat _Tapak Sesawang Merbahaya"
#: elf32-rl78.c:551
+#, fuzzy
msgid "RL78 reloc stack overflow/underflow"
-msgstr ""
+msgstr "tindanan melimpah"
#: elf32-rl78.c:555
+#, fuzzy
msgid "RL78 reloc divide by zero"
-msgstr ""
+msgstr "Bahagi [/]"
#: elf32-rl78.c:1069
+#, fuzzy
msgid "warning: RL78_SYM reloc with an unknown symbol"
-msgstr ""
+msgstr "Jenis amaran tidak diketahui"
#: elf32-rl78.c:1115
+#, fuzzy
msgid "%H: %s out of range\n"
-msgstr ""
+msgstr "integer diluar julat: %s"
#: elf32-rl78.c:1122
+#, fuzzy
msgid "%H: relocation type %u is not supported\n"
-msgstr ""
+msgstr "%U pada %h"
#: elf32-rl78.c:1134
msgid "%H: relocation %s returns an unrecognized value %x\n"
@@ -3384,14 +3451,14 @@ msgid "RL78 merge conflict: cannot link 32-bit and 64-bit objects together"
msgstr ""
#: elf32-rl78.c:1250 elf32-rl78.c:1254
-#, c-format
+#, fuzzy, c-format
msgid "- %pB is 64-bit, %pB is not"
-msgstr ""
+msgstr "%1 PB"
#: elf32-rl78.c:1281
-#, c-format
+#, fuzzy, c-format
msgid " [64-bit doubles]"
-msgstr ""
+msgstr "64-bit"
#: elf32-rx.c:618
#, c-format
@@ -3432,14 +3499,14 @@ msgid "there is a conflict merging the ELF header flags from %pB"
msgstr ""
#: elf32-rx.c:3188
-#, c-format
+#, fuzzy, c-format
msgid " the input file's flags: %s"
-msgstr ""
+msgstr "%s: fail input adalah fail output"
#: elf32-rx.c:3190
-#, c-format
+#, fuzzy, c-format
msgid " the output file's flags: %s"
-msgstr ""
+msgstr "%s: fail input adalah fail output"
#: elf32-rx.c:3797
#, c-format
@@ -3461,8 +3528,9 @@ msgid "not enough GOT space for local GOT entries"
msgstr ""
#: elf32-score.c:2737
+#, fuzzy
msgid "address not word aligned"
-msgstr ""
+msgstr "_Biar Dijajar"
#: elf32-score.c:2818 elf32-score7.c:2625
#, c-format
@@ -3485,9 +3553,9 @@ msgid " [pic]"
msgstr ""
#: elf32-score.c:3991 elf32-score7.c:3798
-#, c-format
+#, fuzzy, c-format
msgid " [fix dep]"
-msgstr ""
+msgstr "A-DEP"
#: elf32-score.c:4038 elf32-score7.c:3845
#, c-format
@@ -3688,37 +3756,39 @@ msgid "%pA:0x%v lrlive .brinfo (%u) differs from analysis (%u)\n"
msgstr ""
#: elf32-spu.c:1908
-#, c-format
+#, fuzzy, c-format
msgid "%pB is not allowed to define %s"
-msgstr ""
+msgstr "PB"
#: elf32-spu.c:1916
-#, c-format
+#, fuzzy, c-format
msgid "you are not allowed to define %s in a script"
-msgstr ""
+msgstr "pembolehubah %%define %s ditakrif semula"
#: elf32-spu.c:1950
-#, c-format
+#, fuzzy, c-format
msgid "%s in overlay section"
-msgstr ""
+msgstr "Tiada seksyen sebegitu: %s"
#: elf32-spu.c:1979
+#, fuzzy
msgid "overlay stub relocation overflow"
-msgstr ""
+msgstr "Stab"
#: elf32-spu.c:1988 elf64-ppc.c:15362
+#, fuzzy
msgid "stubs don't match calculated size"
-msgstr ""
+msgstr "Jika pola diatas tidak sepadan:"
#: elf32-spu.c:2571
-#, c-format
+#, fuzzy, c-format
msgid "warning: %s overlaps %s\n"
-msgstr ""
+msgstr "%s: Amaran: Tak dapat %s"
#: elf32-spu.c:2587
-#, c-format
+#, fuzzy, c-format
msgid "warning: %s exceeds section size\n"
-msgstr ""
+msgstr "Bahagian"
#: elf32-spu.c:2619
#, c-format
@@ -3741,14 +3811,14 @@ msgid " calls:\n"
msgstr "Tiada panggilan"
#: elf32-spu.c:4338
-#, c-format
+#, fuzzy, c-format
msgid "%s duplicated in %s\n"
-msgstr ""
+msgstr "\"%s\" diduplikasi"
#: elf32-spu.c:4342
-#, c-format
+#, fuzzy, c-format
msgid "%s duplicated\n"
-msgstr ""
+msgstr "Satu unsur tunggal (%s) mempunyai pendua."
#: elf32-spu.c:4349
msgid "sorry, no support for duplicate object files in auto-overlay script\n"
@@ -3791,8 +3861,9 @@ msgid "%F%P: can not build overlay stubs: %E\n"
msgstr ""
#: elf32-spu.c:4811
+#, fuzzy
msgid "fatal error while creating .fixup"
-msgstr ""
+msgstr "Ralat ketika mencipta pautan ke %s."
#: elf32-spu.c:5047
#, c-format
@@ -3855,9 +3926,9 @@ msgstr ""
#: elf32-tilepro.c:3624 elfxx-tilegx.c:4017 elfxx-x86.c:2773
#: elfnn-aarch64.c:10343 elfnn-kvx.c:4628 elfnn-loongarch.c:6062
#: elfnn-riscv.c:3615
-#, c-format
+#, fuzzy, c-format
msgid "discarded output section: `%pA'"
-msgstr ""
+msgstr "Bahagian"
#: elf32-v850.c:152
#, c-format
@@ -3885,8 +3956,9 @@ msgid "variable `%s' cannot be in both zero and tiny data regions simultaneously
msgstr ""
#: elf32-v850.c:466
+#, fuzzy
msgid "failed to find previous HI16 reloc"
-msgstr ""
+msgstr "Cari terdahulu"
#: elf32-v850.c:2309
msgid "could not locate special linker symbol __gp"
@@ -3916,9 +3988,9 @@ msgid "error: %pB uses FPU-3.0 but %pB only supports FPU-2.0"
msgstr ""
#: elf32-v850.c:2601
-#, c-format
+#, fuzzy, c-format
msgid " alignment of 8-byte entities: "
-msgstr ""
+msgstr "Salin semula entiti sedia ada"
#: elf32-v850.c:2604
#, c-format
@@ -3937,9 +4009,9 @@ msgstr "tidak ditetapkan"
#: elf32-v850.c:2607 elf32-v850.c:2619 elf32-v850.c:2631 elf32-v850.c:2642
#: elf32-v850.c:2653 elf32-v850.c:2664
-#, c-format
+#, fuzzy, c-format
msgid "unknown: %x"
-msgstr ""
+msgstr "(Kod mekanisma GSSAPI tidak diketahui: %x)"
#: elf32-v850.c:2613
#, c-format
@@ -3957,9 +4029,9 @@ msgid "8-bytes"
msgstr ""
#: elf32-v850.c:2625
-#, c-format
+#, fuzzy, c-format
msgid " FPU support required: "
-msgstr ""
+msgstr "Periksa sama ada alatan sokongan yang diperlukan tersedia"
#: elf32-v850.c:2628
#, c-format
@@ -3977,9 +4049,9 @@ msgid "none"
msgstr "tiada"
#: elf32-v850.c:2637
-#, c-format
+#, fuzzy, c-format
msgid "SIMD use: "
-msgstr ""
+msgstr "_Guna sebagaimana ia"
#: elf32-v850.c:2640 elf32-v850.c:2651 elf32-v850.c:2662
#, c-format
@@ -3992,14 +4064,16 @@ msgid "no"
msgstr ""
#: elf32-v850.c:2648
-#, c-format
+#, fuzzy, c-format
msgid "CACHE use: "
msgstr ""
+"Tiada fail indeks tema dalam \"%s\".\n"
+"Jika anda pasti mahu mencipta satu cache ikon di sini, guna -ignore-theme-index.\n"
#: elf32-v850.c:2659
-#, c-format
+#, fuzzy, c-format
msgid "MMU use: "
-msgstr ""
+msgstr "Benarkan MMU"
#: elf32-v850.c:2826 elf32-v850.c:2882
#, c-format
@@ -4008,49 +4082,49 @@ msgstr ""
#. xgettext:c-format.
#: elf32-v850.c:2900
-#, c-format
+#, fuzzy, c-format
msgid "private flags = %lx: "
-msgstr ""
+msgstr "Persendirian"
#: elf32-v850.c:2905
-#, c-format
+#, fuzzy, c-format
msgid "unknown v850 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2907
-#, c-format
+#, fuzzy, c-format
msgid "v850 E3 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2909 elf32-v850.c:2916
-#, c-format
+#, fuzzy, c-format
msgid "v850 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2917
-#, c-format
+#, fuzzy, c-format
msgid "v850e architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2918
-#, c-format
+#, fuzzy, c-format
msgid "v850e1 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2919
-#, c-format
+#, fuzzy, c-format
msgid "v850e2 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2920
-#, c-format
+#, fuzzy, c-format
msgid "v850e2v3 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:2921
-#, c-format
+#, fuzzy, c-format
msgid "v850e3v5 architecture"
-msgstr ""
+msgstr "S_eni Bina"
#: elf32-v850.c:3595 elf32-v850.c:3834
#, c-format
@@ -4078,14 +4152,14 @@ msgid " [nonpic]"
msgstr ""
#: elf32-vax.c:540
-#, c-format
+#, fuzzy, c-format
msgid " [d-float]"
-msgstr ""
+msgstr "apung"
#: elf32-vax.c:543
-#, c-format
+#, fuzzy, c-format
msgid " [g-float]"
-msgstr ""
+msgstr "apung"
#: elf32-vax.c:629
#, c-format
@@ -4113,9 +4187,9 @@ msgid "%pB: compiled %s -mtune=%s and linked with modules compiled %s -mtune=%s"
msgstr ""
#: elf32-xgate.c:506
-#, c-format
+#, fuzzy, c-format
msgid "cpu=XGATE]"
-msgstr ""
+msgstr "% CPU"
#: elf32-xgate.c:508
#, c-format
@@ -4123,13 +4197,14 @@ msgid "error reading cpu type from elf private data"
msgstr ""
#: elf32-xstormy16.c:457 elf64-ia64-vms.c:2076 elfnn-ia64.c:2345
+#, fuzzy
msgid "non-zero addend in @fptr reloc"
-msgstr ""
+msgstr "Ralat Dalaman, kiraan bukan-sifar"
#: elf32-xtensa.c:996
-#, c-format
+#, fuzzy, c-format
msgid "%pB(%pA): invalid property table"
-msgstr ""
+msgstr "Jadual pemampasan paparan tidak sah"
#: elf32-xtensa.c:2730
#, c-format
@@ -4137,8 +4212,9 @@ msgid "%pB(%pA+%#<PRIx64>): relocation offset out of range (size=%#<PRIx64>)"
msgstr ""
#: elf32-xtensa.c:2813 elf32-xtensa.c:2936
+#, fuzzy
msgid "dynamic relocation in read-only section"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: elf32-xtensa.c:2913
msgid "TLS relocation invalid without dynamic sections"
@@ -4154,8 +4230,9 @@ msgid "%pB: incompatible machine type; output is 0x%x; input is 0x%x"
msgstr ""
#: elf32-xtensa.c:4731 elf32-xtensa.c:4739
+#, fuzzy
msgid "attempt to convert L32R/CALLX to CALL failed"
-msgstr ""
+msgstr "Percubaan dailan telah gagal"
#: elf32-xtensa.c:6567 elf32-xtensa.c:6646 elf32-xtensa.c:8072
#, c-format
@@ -4168,12 +4245,14 @@ msgid "%pB(%pA+%#<PRIx64>): could not decode instruction for XTENSA_ASM_SIMPLIFY
msgstr ""
#: elf32-xtensa.c:9671
+#, fuzzy
msgid "invalid relocation address"
-msgstr ""
+msgstr "Alamat IP tidak sah"
#: elf32-xtensa.c:9762
+#, fuzzy
msgid "overflow after relaxation"
-msgstr ""
+msgstr "nombor baris melimpah"
#: elf32-xtensa.c:10908
#, c-format
@@ -4186,14 +4265,14 @@ msgid "%pB: unsupported bfd mach %#lx"
msgstr ""
#: elf32-z80.c:518
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unsupported mach %#x"
-msgstr ""
+msgstr "%1 PB"
#: elf32-z80.c:546
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unsupported arch %#x"
-msgstr ""
+msgstr "PB"
#: elf64-alpha.c:472
msgid "GPDISP relocation did not find ldah and lda instructions"
@@ -4225,13 +4304,12 @@ msgid "%pB: gp-relative relocation against dynamic symbol %s"
msgstr ""
#: elf64-alpha.c:4438
-#, c-format
+#, fuzzy, c-format
msgid "%pB: change in gp: BRSGP %s"
-msgstr ""
+msgstr "%s Pb"
#: elf64-alpha.c:4463 mach-o.c:625 elfnn-loongarch.c:908 elfnn-riscv.c:724
#: elfnn-riscv.c:929 elfnn-riscv.c:971
-#, fuzzy
msgid "<unknown>"
msgstr "<tidak diketahui>"
@@ -4262,8 +4340,9 @@ msgstr ""
#. Only if it's not an unresolved symbol.
#: elf64-bpf.c:344
+#, fuzzy
msgid "internal error: relocation not supported"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elf64-gen.c:71
#, c-format
@@ -4315,14 +4394,14 @@ msgid "%pB: linking non-pic code in a position independent executable"
msgstr ""
#: elf64-ia64-vms.c:3783 elfnn-ia64.c:4223
-#, c-format
+#, fuzzy, c-format
msgid "%pB: @internal branch to dynamic symbol %s"
-msgstr ""
+msgstr "Gagal menemui simbol '%s' dalam pustaka dinamik"
#: elf64-ia64-vms.c:3786 elfnn-ia64.c:4226
-#, c-format
+#, fuzzy, c-format
msgid "%pB: speculation fixup to dynamic symbol %s"
-msgstr ""
+msgstr "Gagal menemui simbol '%s' dalam pustaka dinamik"
#: elf64-ia64-vms.c:3789 elfnn-ia64.c:4229
#, c-format
@@ -4330,8 +4409,9 @@ msgid "%pB: @pcrel relocation against dynamic symbol %s"
msgstr ""
#: elf64-ia64-vms.c:3913 elfnn-ia64.c:4426
+#, fuzzy
msgid "unsupported reloc"
-msgstr ""
+msgstr " (tidak disokong)"
#: elf64-ia64-vms.c:3950 elfnn-ia64.c:4464
#, c-format
@@ -4439,8 +4519,9 @@ msgid "%pB: error: multiple definition of `%s'; start of %s is set in a earlier
msgstr ""
#: elf64-mmix.c:2208
+#, fuzzy
msgid "register section has contents\n"
-msgstr ""
+msgstr "Bahagian"
#: elf64-mmix.c:2398
#, c-format
@@ -4448,9 +4529,9 @@ msgid "internal inconsistency: remaining %lu != max %lu; please report this bug"
msgstr ""
#: elf64-ppc.c:1361
-#, c-format
+#, fuzzy, c-format
msgid "warning: %s should be used rather than %s"
-msgstr ""
+msgstr "Baca jalur %s berbanding %s!"
#: elf64-ppc.c:4302
#, c-format
@@ -4468,8 +4549,9 @@ msgid "%H: %s reloc unsupported in shared libraries and PIEs\n"
msgstr ""
#: elf64-ppc.c:5277
+#, fuzzy
msgid "%H: %s reloc unsupported here\n"
-msgstr ""
+msgstr "%s berada di sini"
#: elf64-ppc.c:5500
#, c-format
@@ -4482,23 +4564,23 @@ msgid "%pB: ABI version %ld is not compatible with ABI version %ld output"
msgstr ""
#: elf64-ppc.c:5535
-#, c-format
+#, fuzzy, c-format
msgid " [abiv%ld]"
-msgstr ""
+msgstr "%ld:%02ld"
#: elf64-ppc.c:6844
msgid "%P: copy reloc against `%pT' requires lazy plt linking; avoid setting LD_BIND_NOW=1 or upgrade gcc\n"
msgstr ""
#: elf64-ppc.c:7111
-#, c-format
+#, fuzzy, c-format
msgid "%pB: undefined symbol on R_PPC64_TOCSAVE relocation"
-msgstr ""
+msgstr "simbol permulaan %s tidak ditakrifkan"
#: elf64-ppc.c:7362
-#, c-format
+#, fuzzy, c-format
msgid "dynreloc miscount for %pB, section %pA"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: elf64-ppc.c:7453
#, c-format
@@ -4535,9 +4617,9 @@ msgid "%H __tls_get_addr lost arg, TLS optimization disabled\n"
msgstr ""
#: elf64-ppc.c:8745 elf64-ppc.c:9461
-#, c-format
+#, fuzzy, c-format
msgid "%s defined on removed toc entry"
-msgstr ""
+msgstr "Sistem mungkin tidak berfungsi dengan baik jika masukan ini diubah suai atau dibuang."
#: elf64-ppc.c:9418
#, c-format
@@ -4550,9 +4632,9 @@ msgid "%H: got/toc optimization is not supported for %s instruction\n"
msgstr ""
#: elf64-ppc.c:10534
-#, c-format
+#, fuzzy, c-format
msgid "warning: discarding dynamic section %s"
-msgstr ""
+msgstr "Bahagian"
#: elf64-ppc.c:11687
msgid "%P: cannot find opd entry toc for `%pT'\n"
@@ -4564,9 +4646,9 @@ msgid "long branch stub `%s' offset overflow"
msgstr ""
#: elf64-ppc.c:11864
-#, c-format
+#, fuzzy, c-format
msgid "can't find branch stub `%s'"
-msgstr ""
+msgstr "Gagal mencari posisi semasa dalam fail '%s'"
#: elf64-ppc.c:11925 elf64-ppc.c:12177 elf64-ppc.c:14742
#, c-format
@@ -4574,9 +4656,9 @@ msgid "%P: linkage table error against `%pT'\n"
msgstr ""
#: elf64-ppc.c:12376
-#, c-format
+#, fuzzy, c-format
msgid "can't build branch stub `%s'"
-msgstr ""
+msgstr "Gabung %s ke dalam cabang %s"
#: elf64-ppc.c:13407
#, c-format
@@ -4593,10 +4675,10 @@ msgid "%s offset too large for .eh_frame sdata4 encoding"
msgstr ""
#: elf64-ppc.c:15370
-#, c-format
+#, fuzzy, c-format
msgid "linker stubs in %u group"
msgid_plural "linker stubs in %u groups"
-msgstr[0] ""
+msgstr[0] "Pemaut"
#: elf64-ppc.c:15377
#, c-format
@@ -4609,9 +4691,9 @@ msgid ""
msgstr ""
#: elf64-ppc.c:15759
-#, c-format
+#, fuzzy, c-format
msgid "%H: %s used with TLS symbol `%pT'\n"
-msgstr ""
+msgstr "simbol %s digunakan lebih dari sekali sebagai rentetan perkataan"
#: elf64-ppc.c:15761
#, c-format
@@ -4629,9 +4711,9 @@ msgid "%H: call to `%pT' lacks nop, can't restore toc; (toc save/adjust stub)\n"
msgstr ""
#: elf64-ppc.c:17202
-#, c-format
+#, fuzzy, c-format
msgid "%H: %s against %pT is not supported\n"
-msgstr ""
+msgstr "%s pt"
#: elf64-ppc.c:17478
#, c-format
@@ -4644,24 +4726,26 @@ msgid "%X%P: %pB: %s against %pT is not supported by glibc as a dynamic relocati
msgstr ""
#: elf64-ppc.c:17620
-#, c-format
+#, fuzzy, c-format
msgid "%P: %pB: %s is not supported for `%pT'\n"
-msgstr ""
+msgstr "%s Pb"
#: elf64-ppc.c:17889
-#, c-format
+#, fuzzy, c-format
msgid "%H: error: %s not a multiple of %u\n"
-msgstr ""
+msgstr "Kod ralat %u ketika mengesahihkan: %s"
#: elf64-ppc.c:17912
-#, c-format
+#, fuzzy, c-format
msgid "%H: unresolvable %s against `%pT'\n"
-msgstr ""
+msgstr "%s pt"
#: elf64-ppc.c:18057
-#, c-format
+#, fuzzy, c-format
msgid "%H: %s against `%pT': error %d\n"
msgstr ""
+"\n"
+"%02d h %02d j %02d min pada: %s"
#: elf64-s390.c:2490
#, c-format
@@ -4704,16 +4788,19 @@ msgid "%pB: linking UltraSPARC specific with HAL specific code"
msgstr ""
#: elf64-x86-64.c:1660
+#, fuzzy
msgid "hidden symbol "
-msgstr ""
+msgstr "Tersembunyi"
#: elf64-x86-64.c:1663
+#, fuzzy
msgid "internal symbol "
-msgstr ""
+msgstr "Dalaman"
#: elf64-x86-64.c:1666 elf64-x86-64.c:1670
+#, fuzzy
msgid "protected symbol "
-msgstr ""
+msgstr "Dilindungi"
#: elf64-x86-64.c:1672
#, fuzzy
@@ -4726,20 +4813,23 @@ msgid "undefined "
msgstr "Tidak ditakrif"
#: elf64-x86-64.c:1688 elfnn-loongarch.c:892
+#, fuzzy
msgid "a shared object"
-msgstr ""
+msgstr "objek memori terkongsi"
#: elf64-x86-64.c:1690
msgid "; recompile with -fPIC"
msgstr ""
#: elf64-x86-64.c:1695 elfnn-loongarch.c:898
+#, fuzzy
msgid "a PIE object"
-msgstr ""
+msgstr "Pai"
#: elf64-x86-64.c:1697 elfnn-loongarch.c:900
+#, fuzzy
msgid "a PDE object"
-msgstr ""
+msgstr "Tiada objek sebegitu"
#: elf64-x86-64.c:1699
msgid "; recompile with -fPIE"
@@ -4865,9 +4955,9 @@ msgid "%pB: unexpected redefinition of indirect versioned symbol `%s'"
msgstr ""
#: elflink.c:2681
-#, c-format
+#, fuzzy, c-format
msgid "%pB: version node not found for symbol %s"
-msgstr ""
+msgstr "simbol tidak dijumpai di dalam pengeluaran: %.*s"
#: elflink.c:2780
#, c-format
@@ -4917,9 +5007,9 @@ msgid "%pB: %s local symbol at index %lu (>= sh_info of %lu)"
msgstr ""
#: elflink.c:5137
-#, c-format
+#, fuzzy, c-format
msgid "%pB: not enough version information"
-msgstr ""
+msgstr "Maklumat versi"
#: elflink.c:5175
#, c-format
@@ -4927,9 +5017,9 @@ msgid "%pB: %s: invalid version %u (max %d)"
msgstr ""
#: elflink.c:5212
-#, c-format
+#, fuzzy, c-format
msgid "%pB: %s: invalid needed version %d"
-msgstr ""
+msgstr "keperluan versi tidak sah: %s"
#: elflink.c:5498
#, c-format
@@ -4945,24 +5035,24 @@ msgid "warning: NOTE: size discrepancies can cause real problems. Investigation
msgstr ""
#: elflink.c:5670
-#, c-format
+#, fuzzy, c-format
msgid "%pB: undefined reference to symbol '%s'"
-msgstr ""
+msgstr "simbol permulaan %s tidak ditakrifkan"
#: elflink.c:6759
-#, c-format
+#, fuzzy, c-format
msgid "%pB: stack size specified and %s set"
-msgstr ""
+msgstr "Fail %s tidak wujud dan tiada saiz dinyatakan.\n"
#: elflink.c:6763
-#, c-format
+#, fuzzy, c-format
msgid "%pB: %s not absolute"
-msgstr ""
+msgstr "PB"
#: elflink.c:6975
-#, c-format
+#, fuzzy, c-format
msgid "%s: undefined version: %s"
-msgstr ""
+msgstr "%s: pembolehubah %s %%define tidak ditakrifkan"
#: elflink.c:7364
msgid "error: creating an executable stack because of -z execstack command line option"
@@ -5002,18 +5092,18 @@ msgid "%pB: .preinit_array section is not allowed in DSO"
msgstr ""
#: elflink.c:9218
-#, c-format
+#, fuzzy, c-format
msgid "undefined %s reference in complex symbol: %s"
-msgstr ""
+msgstr "simbol permulaan %s tidak ditakrifkan"
#: elflink.c:9381 elflink.c:9389
msgid "division by zero"
msgstr "dibahagi dengan sifar"
#: elflink.c:9403
-#, c-format
+#, fuzzy, c-format
msgid "unknown operator '%c' in complex symbol"
-msgstr ""
+msgstr "Pilihan tidak diketahui '-%c'\n"
#. PR 21524: Let the user know if a symbol was removed by garbage collection.
#: elflink.c:9739
@@ -5039,13 +5129,14 @@ msgid "%pB: unable to sort relocs - they are of an unknown size"
msgstr ""
#: elflink.c:10136
+#, fuzzy
msgid "not enough memory to sort relocations"
-msgstr ""
+msgstr "GIF: memori tidak mencukupi."
#: elflink.c:10470
-#, c-format
+#, fuzzy, c-format
msgid "%pB: too many sections: %d (>= %d)"
-msgstr ""
+msgstr "Terlalu banyak titik henti. Maksimum ialah %d."
#: elflink.c:10746
#, c-format
@@ -5068,19 +5159,19 @@ msgid "%pB: could not find output section %pA for input section %pA"
msgstr ""
#: elflink.c:11003
-#, c-format
+#, fuzzy, c-format
msgid "%pB: protected symbol `%s' isn't defined"
-msgstr ""
+msgstr "simbol %s digunakan, tetapi tidak ditakrifkan sebagai token atau mempunyai hukum"
#: elflink.c:11006
-#, c-format
+#, fuzzy, c-format
msgid "%pB: internal symbol `%s' isn't defined"
-msgstr ""
+msgstr "simbol %s digunakan, tetapi tidak ditakrifkan sebagai token atau mempunyai hukum"
#: elflink.c:11009
-#, c-format
+#, fuzzy, c-format
msgid "%pB: hidden symbol `%s' isn't defined"
-msgstr ""
+msgstr "simbol %s digunakan, tetapi tidak ditakrifkan sebagai token atau mempunyai hukum"
#: elflink.c:11041
#, c-format
@@ -5098,28 +5189,28 @@ msgid "error: %pB: size of section %pA is not multiple of address size"
msgstr ""
#: elflink.c:12473
-#, c-format
+#, fuzzy, c-format
msgid "%pB: no symbol found for import library"
-msgstr ""
+msgstr "Pustaka \"%1\" tidak dijumpai"
#: elflink.c:13078
msgid "%F%P: %pB: failed to finish relative relocations\n"
msgstr ""
#: elflink.c:13155
-#, c-format
+#, fuzzy, c-format
msgid "%pB: file class %s incompatible with %s"
-msgstr ""
+msgstr "%s: tidak sepadan dengan fail gmon pertama\n"
#: elflink.c:13377
-#, c-format
+#, fuzzy, c-format
msgid "%pB: failed to generate import library"
-msgstr ""
+msgstr "Pustaka yang digunakan untuk menjana lakaran kenit"
#: elflink.c:13538
-#, c-format
+#, fuzzy, c-format
msgid "warning: %s section has zero size"
-msgstr ""
+msgstr "Imej GIF yang terhasil bersaiz sifar"
#: elflink.c:13586
#, c-format
@@ -5161,9 +5252,9 @@ msgid "%pB: section '%pA': corrupt VTENTRY entry"
msgstr ""
#: elflink.c:14922
-#, c-format
+#, fuzzy, c-format
msgid "unrecognized INPUT_SECTION_FLAG %s\n"
-msgstr ""
+msgstr "%s: pilihan '--%s' tidak dikenali\n"
#: elflink.c:15703
#, c-format
@@ -5245,9 +5336,9 @@ msgid "%X%pB: error: GCS is required by -z gcs, but this input object file lacks
msgstr ""
#: elfxx-loongarch.c:1911
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unsupported relocation type %s"
-msgstr ""
+msgstr "%s Pb"
#: elfxx-loongarch.c:1939
#, c-format
@@ -5260,13 +5351,14 @@ msgid "%pB: relocation %s right shift %d error 0x%lx"
msgstr ""
#: elfxx-loongarch.c:2032
-#, c-format
+#, fuzzy, c-format
msgid "%pB: relocation %s overflow 0x%lx"
-msgstr ""
+msgstr "[find_call] %s: 0x%lx ke 0x%lx\n"
#: elfxx-mips.c:1534
+#, fuzzy
msgid "static procedure (no name)"
-msgstr ""
+msgstr "nama prosedur tiada"
#: elfxx-mips.c:5849
msgid "MIPS16 and microMIPS functions cannot call each other"
@@ -5299,9 +5391,12 @@ msgid "%pB: warning: bad `%s' option size %u smaller than its header"
msgstr ""
#: elfxx-mips.c:7635
-#, c-format
+#, fuzzy, c-format
msgid "%pB: warning: truncated `%s' option"
msgstr ""
+"Amaran mengenai %(cleaner)s - %(option)s:\n"
+"\n"
+"%(warning)s"
#: elfxx-mips.c:8453 elfxx-mips.c:8579
#, c-format
@@ -5334,14 +5429,14 @@ msgid "IFUNC symbol %s in dynamic symbol table - IFUNCS are not supported"
msgstr ""
#: elfxx-mips.c:9383
-#, c-format
+#, fuzzy, c-format
msgid "non-dynamic symbol %s in dynamic symbol table"
-msgstr ""
+msgstr "Gagal menemui simbol '%s' dalam pustaka dinamik"
#: elfxx-mips.c:9603
-#, c-format
+#, fuzzy, c-format
msgid "non-dynamic relocations refer to dynamic symbol %s"
-msgstr ""
+msgstr "Gagal menemui simbol '%s' dalam pustaka dinamik"
#: elfxx-mips.c:10523
#, c-format
@@ -5397,14 +5492,14 @@ msgid "%X%P: %pB(%pA): error: relocation for offset %V has no value\n"
msgstr ""
#: elfxx-mips.c:14729
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unknown architecture %s"
-msgstr ""
+msgstr "%s: -c tidak disokong pada rekabentuk %s\n"
#: elfxx-mips.c:15257
-#, c-format
+#, fuzzy, c-format
msgid "%pB: illegal section name `%pA'"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: elfxx-mips.c:15534
#, c-format
@@ -5467,14 +5562,14 @@ msgid "warning: %pB uses unknown MSA ABI %d (set by %pB), %pB uses unknown MSA A
msgstr ""
#: elfxx-mips.c:15894
-#, c-format
+#, fuzzy, c-format
msgid "%pB: endianness incompatible with that of the selected emulation"
-msgstr ""
+msgstr "Kekunci DSA yang diberikan tidak serasi dengan protokol TLS yang dipilih."
#: elfxx-mips.c:15908
-#, c-format
+#, fuzzy, c-format
msgid "%pB: ABI is incompatible with that of the selected emulation"
-msgstr ""
+msgstr "Kekunci DSA yang diberikan tidak serasi dengan protokol TLS yang dipilih."
#: elfxx-mips.c:15961
#, c-format
@@ -5506,34 +5601,32 @@ msgid "-mips32r2 -mfp64 (12 callee-saved)"
msgstr ""
#: elfxx-mips.c:16234 elfxx-mips.c:16245
-#, fuzzy
msgid "None"
msgstr "Tiada"
#: elfxx-mips.c:16236 elfxx-mips.c:16305
-#, fuzzy
msgid "Unknown"
msgstr "Tidak Diketahui"
#: elfxx-mips.c:16316
-#, c-format
+#, fuzzy, c-format
msgid "Hard or soft float\n"
-msgstr ""
+msgstr "apung"
#: elfxx-mips.c:16319
-#, c-format
+#, fuzzy, c-format
msgid "Hard float (double precision)\n"
-msgstr ""
+msgstr "Kepersisan"
#: elfxx-mips.c:16322
-#, c-format
+#, fuzzy, c-format
msgid "Hard float (single precision)\n"
-msgstr ""
+msgstr "Volum audio jitu tunggal"
#: elfxx-mips.c:16325
-#, c-format
+#, fuzzy, c-format
msgid "Soft float\n"
-msgstr ""
+msgstr "Soft"
#: elfxx-mips.c:16328
#, c-format
@@ -5576,9 +5669,9 @@ msgid " [abi=EABI64]"
msgstr ""
#: elfxx-mips.c:16377
-#, c-format
+#, fuzzy, c-format
msgid " [abi unknown]"
-msgstr ""
+msgstr "Tidak diketahui "
#: elfxx-mips.c:16379
#, c-format
@@ -5588,17 +5681,17 @@ msgstr ""
#: elfxx-mips.c:16381
#, c-format
msgid " [abi=64]"
-msgstr ""
+msgstr " [abi=64]"
#: elfxx-mips.c:16383
-#, c-format
+#, fuzzy, c-format
msgid " [no abi set]"
-msgstr ""
+msgstr "tidak ditetapkan"
#: elfxx-mips.c:16408
-#, c-format
+#, fuzzy, c-format
msgid " [unknown ISA]"
-msgstr ""
+msgstr "Tidak diketahui "
#: elfxx-mips.c:16428
#, c-format
@@ -5631,9 +5724,9 @@ msgid "%s: invalid prefixed ISA extension `%s' ends with <number>p"
msgstr ""
#: elfxx-riscv.c:2023
-#, c-format
+#, fuzzy, c-format
msgid "%s: unknown prefixed ISA extension `%s'"
-msgstr ""
+msgstr "%s\t\tSambungan tidak diketahui %s (%s):\n"
#: elfxx-riscv.c:2047
#, c-format
@@ -5641,31 +5734,32 @@ msgid "%s: prefixed ISA extension must separate with _"
msgstr ""
#: elfxx-riscv.c:2087
-#, c-format
+#, fuzzy, c-format
msgid "rv%de does not support the `h' extension"
-msgstr ""
+msgstr "Sambungan tidak menyokong versi shell"
#: elfxx-riscv.c:2095
-#, c-format
+#, fuzzy, c-format
msgid "rv%d does not support the `q' extension"
-msgstr ""
+msgstr "Sambungan tidak menyokong versi shell"
#: elfxx-riscv.c:2102
msgid "zcmp' is incompatible with `d/zcd' extension"
msgstr ""
#: elfxx-riscv.c:2109
-#, c-format
+#, fuzzy, c-format
msgid "rv%d does not support the `zcf' extension"
-msgstr ""
+msgstr "Sambungan tidak menyokong versi shell"
#: elfxx-riscv.c:2116
msgid "`zfinx' is conflict with the `f/d/q/zfh/zfhmin' extension"
msgstr ""
#: elfxx-riscv.c:2123
+#, fuzzy
msgid "`xtheadvector' is conflict with the `v' extension"
-msgstr ""
+msgstr "V"
#: elfxx-riscv.c:2144
msgid "zvl*b extensions need to enable either `v' or `zve' extension"
@@ -5692,62 +5786,73 @@ msgid "%sinvalid ISA extension ends with <number>p in %s `%s'"
msgstr ""
#: elfxx-riscv.c:2494
-#, c-format
+#, fuzzy, c-format
msgid "%sunknown ISA extension `%s' in %s `%s'"
-msgstr ""
+msgstr "%s\t\tSambungan tidak diketahui %s (%s):\n"
#: elfxx-riscv.c:2506
-#, c-format
+#, fuzzy, c-format
msgid "%scannot + or - base extension `%s' in %s `%s'"
-msgstr ""
+msgstr "%s\t\tSambungan tidak diketahui %s (%s):\n"
#: elfxx-riscv.c:2817 elfxx-riscv.c:3112
+#, fuzzy
msgid "internal: unreachable INSN_CLASS_*"
-msgstr ""
+msgstr "KELAS"
#: elfxx-riscv.c:2851
msgid "zicfiss' and `zcmop"
msgstr ""
#: elfxx-riscv.c:2865
+#, fuzzy
msgid "zihintntl' and `c', or `zihintntl' and `zca"
-msgstr ""
+msgstr "_C/C++"
#: elfxx-riscv.c:2870 elfxx-riscv.c:2896
+#, fuzzy
msgid "c' or `zca"
-msgstr ""
+msgstr "_C/C++"
#: elfxx-riscv.c:2878
+#, fuzzy
msgid "m' or `zmmul"
-msgstr ""
+msgstr "%a dari %m"
#: elfxx-riscv.c:2902
+#, fuzzy
msgid "f' and `c', or `f' and `zcf"
-msgstr ""
+msgstr "F"
#: elfxx-riscv.c:2907
+#, fuzzy
msgid "c' or `zcf"
-msgstr ""
+msgstr "_C/C++"
#: elfxx-riscv.c:2913
+#, fuzzy
msgid "d' and `c', or `d' and `zcd"
-msgstr ""
+msgstr "Volum %d%c (disenyapkan)"
#: elfxx-riscv.c:2918
+#, fuzzy
msgid "c' or `zcd"
-msgstr ""
+msgstr "_C/C++"
#: elfxx-riscv.c:2920
+#, fuzzy
msgid "f' or `zfinx"
-msgstr ""
+msgstr "%.f%%"
#: elfxx-riscv.c:2922
+#, fuzzy
msgid "d' or `zdinx"
-msgstr ""
+msgstr "%d × %d"
#: elfxx-riscv.c:2924
+#, fuzzy
msgid "q' or `zqinx"
-msgstr ""
+msgstr "\t\tQ: "
#: elfxx-riscv.c:2926
msgid "zfh' or `zhinx"
@@ -5758,20 +5863,24 @@ msgid "zfhmin' or `zhinxmin"
msgstr ""
#: elfxx-riscv.c:2941
+#, fuzzy
msgid "zfhmin' and `d', or `zhinxmin' and `zdinx"
-msgstr ""
+msgstr "%d × %d"
#: elfxx-riscv.c:2952
+#, fuzzy
msgid "zfhmin' and `q', or `zhinxmin' and `zqinx"
-msgstr ""
+msgstr " q, Q, Esc Keluar"
#: elfxx-riscv.c:2960
+#, fuzzy
msgid "d' and `zfa"
-msgstr ""
+msgstr "%d × %d"
#: elfxx-riscv.c:2968
+#, fuzzy
msgid "q' and `zfa"
-msgstr ""
+msgstr "\t\tQ: "
#: elfxx-riscv.c:2976
msgid "zfh' and `zfa"
@@ -5798,12 +5907,14 @@ msgid "zknd' or `zkne"
msgstr ""
#: elfxx-riscv.c:3023
+#, fuzzy
msgid "v' or `zve64x' or `zve32x"
-msgstr ""
+msgstr "Ctrl+V"
#: elfxx-riscv.c:3025
+#, fuzzy
msgid "v' or `zve64d' or `zve64f' or `zve32f"
-msgstr ""
+msgstr "Ctrl+V"
#: elfxx-riscv.c:3027
msgid "zvbb"
@@ -5846,15 +5957,15 @@ msgid "zcb' and `zbb"
msgstr ""
#: elfxx-riscv.c:3053
+#, fuzzy
msgid "zcb' and `zmmul', or `zcb' and `m"
-msgstr ""
+msgstr "Mod:"
#: elfxx-riscv.c:3061
msgid "smctr' or `ssctr"
msgstr ""
#: elfxx-riscv.c:3065
-#, fuzzy
msgid "h"
msgstr "h"
@@ -5864,9 +5975,9 @@ msgid "%pB: relocation %s against STT_GNU_IFUNC symbol `%s' isn't handled by %s"
msgstr ""
#: elfxx-tilegx.c:4126
-#, c-format
+#, fuzzy, c-format
msgid "%pB: cannot link together %s and %s objects"
-msgstr ""
+msgstr "%s: Tak dapat memaut keras ke %s"
#: elfxx-x86.c:534 elfxx-x86.c:3597
#, c-format
@@ -5956,47 +6067,54 @@ msgid "error: %pB: <corrupt x86 property (0x%x) size: 0x%x>"
msgstr ""
#: elfxx-x86.c:4189
-#, c-format
+#, fuzzy, c-format
msgid "%pB: x86 ISA needed: "
-msgstr ""
+msgstr "Sistem x86 32-bit"
#: elfxx-x86.c:4191
-#, c-format
+#, fuzzy, c-format
msgid "%pB: x86 ISA used: "
-msgstr ""
+msgstr "Sistem x86 32-bit"
#: elfxx-x86.c:4213
-#, c-format
+#, fuzzy, c-format
msgid "<unknown: %x>"
-msgstr ""
+msgstr "(Kod mekanisma GSSAPI tidak diketahui: %x)"
#: elfxx-x86.c:4368
+#, fuzzy
msgid "%P: %pB: warning: missing %s\n"
-msgstr ""
+msgstr "%s Pb"
#: elfxx-x86.c:4369
+#, fuzzy
msgid "%X%P: %pB: error: missing %s\n"
-msgstr ""
+msgstr "Ralat dalam alamat \"%s\"— atribut hos hilang atau cacat"
#: elfxx-x86.c:4475
+#, fuzzy
msgid "IBT and SHSTK properties"
-msgstr ""
+msgstr "&Sifat…"
#: elfxx-x86.c:4477
+#, fuzzy
msgid "IBT property"
-msgstr ""
+msgstr "Si_fat:"
#: elfxx-x86.c:4479
+#, fuzzy
msgid "SHSTK property"
-msgstr ""
+msgstr "Si_fat:"
#: elfxx-x86.c:4484
+#, fuzzy
msgid "LAM_U48 property"
-msgstr ""
+msgstr "Si_fat:"
#: elfxx-x86.c:4489
+#, fuzzy
msgid "LAM_U57 property"
-msgstr ""
+msgstr "Si_fat:"
#: elfxx-x86.c:4667
msgid "%F%P: failed to create VxWorks dynamic sections\n"
@@ -6082,14 +6200,14 @@ msgid "%pB:%u: unrecognized ihex type %u in Intel Hex file"
msgstr ""
#: ihex.c:580
-#, c-format
+#, fuzzy, c-format
msgid "%pB: internal error in ihex_read_section"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: ihex.c:613
-#, c-format
+#, fuzzy, c-format
msgid "%pB: bad section length in ihex_read_section"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: ihex.c:784
#, c-format
@@ -6126,9 +6244,9 @@ msgid "attempt to do relocatable link with %s input and %s output"
msgstr ""
#: linker.c:2896
-#, c-format
+#, fuzzy, c-format
msgid "%pB: ignoring duplicate section `%pA'\n"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: linker.c:2906 linker.c:2916
#, c-format
@@ -6136,9 +6254,9 @@ msgid "%pB: duplicate section `%pA' has different size\n"
msgstr ""
#: linker.c:2930 linker.c:2938
-#, c-format
+#, fuzzy, c-format
msgid "%pB: could not read contents of section `%pA'\n"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: linker.c:2947
#, c-format
@@ -6190,9 +6308,9 @@ msgid "malformed mach-o ARM reloc: unknown reloc type: %d"
msgstr ""
#: mach-o.c:640
-#, c-format
+#, fuzzy, c-format
msgid "<unknown mask flags>"
-msgstr ""
+msgstr "Bendera"
#: mach-o.c:695
#, fuzzy
@@ -6200,49 +6318,61 @@ msgid " (<unknown>)"
msgstr "Tidak diketahui "
#: mach-o.c:707
-#, c-format
+#, fuzzy, c-format
msgid " MACH-O header:\n"
-msgstr ""
+msgstr "Output:"
#: mach-o.c:708
-#, c-format
+#, fuzzy, c-format
msgid " magic: %#lx\n"
-msgstr ""
+msgstr "Ajaib"
#: mach-o.c:709
-#, c-format
+#, fuzzy, c-format
msgid " cputype: %#lx (%s)\n"
msgstr ""
+"\n"
+"Terdapat direktori nyahpepijat dalam %s pada 0x%lx\n"
+"\n"
#: mach-o.c:711
-#, c-format
+#, fuzzy, c-format
msgid " cpusubtype: %#lx%s\n"
msgstr ""
+"\n"
+"Terdapat direktori nyahpepijat dalam %s pada 0x%lx\n"
+"\n"
#: mach-o.c:713
-#, c-format
+#, fuzzy, c-format
msgid " filetype: %#lx\n"
-msgstr ""
+msgstr "Tiada jenis fail"
#: mach-o.c:714
-#, c-format
+#, fuzzy, c-format
msgid " ncmds: %#lx\n"
msgstr ""
+"\n"
+"Terdapat direktori nyahpepijat dalam %s pada 0x%lx\n"
+"\n"
#: mach-o.c:715
-#, c-format
+#, fuzzy, c-format
msgid " sizeocmds: %#lx\n"
msgstr ""
+"\n"
+"Terdapat direktori nyahpepijat dalam %s pada 0x%lx\n"
+"\n"
#: mach-o.c:716
-#, c-format
+#, fuzzy, c-format
msgid " flags: %#lx\n"
-msgstr ""
+msgstr "Bendera"
#: mach-o.c:717
-#, c-format
+#, fuzzy, c-format
msgid " version: %x\n"
-msgstr ""
+msgstr "Versi"
#. Urg - what has happened ?
#: mach-o.c:752
@@ -6268,9 +6398,9 @@ msgid "mach-o: there are too many sections (%u) maximum is 255,\n"
msgstr ""
#: mach-o.c:2695
-#, c-format
+#, fuzzy, c-format
msgid "unable to allocate data for load command %#x"
-msgstr ""
+msgstr "Tidak boleh muatkan data imej"
#: mach-o.c:2800
#, c-format
@@ -6318,9 +6448,9 @@ msgid "bfd_mach_o_read_symtab_symbol: symbol \"%s\" specified invalid type field
msgstr ""
#: mach-o.c:5066
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unknown load command %#x"
-msgstr ""
+msgstr "Arahan tak diketahui '%1'"
#: mach-o.c:5264
#, c-format
@@ -6485,25 +6615,25 @@ msgstr ""
#: pei-x86_64.c:174 pei-x86_64.c:228 pei-x86_64.c:238 pei-x86_64.c:263
#: pei-x86_64.c:275 pei-x86_64.c:289 pei-x86_64.c:307 pei-x86_64.c:319
#: pei-x86_64.c:331
-#, c-format
+#, fuzzy, c-format
msgid "warning: corrupt unwind data\n"
-msgstr ""
+msgstr "Data piksel imej rosak"
#. PR 17512: file: 2245-7442-0.004.
#: pei-x86_64.c:352
-#, c-format
+#, fuzzy, c-format
msgid "Unknown: %x"
-msgstr ""
+msgstr "(Kod mekanisma GSSAPI tidak diketahui: %x)"
#: pei-x86_64.c:403 pei-x86_64.c:413 pei-x86_64.c:422
-#, c-format
+#, fuzzy, c-format
msgid "warning: xdata section corrupt\n"
-msgstr ""
+msgstr "AMARAN"
#: pei-x86_64.c:477
-#, c-format
+#, fuzzy, c-format
msgid "Too many unwind codes (%ld)\n"
-msgstr ""
+msgstr "Terlalu banyak rujukan dalam jadual"
#: pei-x86_64.c:563
#, c-format
@@ -6511,9 +6641,11 @@ msgid "Warning: %s section size (%ld) is not a multiple of %d\n"
msgstr ""
#: pei-x86_64.c:570
-#, c-format
+#, fuzzy, c-format
msgid "Warning: %s section size is zero\n"
msgstr ""
+"Terima Sifar\n"
+"Saiz"
#: pei-x86_64.c:585
#, c-format
@@ -6533,16 +6665,16 @@ msgid "vma:\t\t\tBeginAddress\t EndAddress\t UnwindData\n"
msgstr ""
#: pei-x86_64.c:722
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"Dump of %s\n"
-msgstr ""
+msgstr "Longgok Ingatan..."
#: peicode.h:823
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unrecognized import type; %x"
-msgstr ""
+msgstr "Tidak boleh menyalin jenis widget yang tidak dikenali."
#: peicode.h:840
#, c-format
@@ -6580,19 +6712,19 @@ msgid "%pB: error: debug data ends beyond end of debug directory"
msgstr ""
#: peicode.h:1598
-#, c-format
+#, fuzzy, c-format
msgid "%pB: adjusting invalid SectionAlignment"
-msgstr ""
+msgstr "Pelarasan"
#: peicode.h:1608
-#, c-format
+#, fuzzy, c-format
msgid "%pB: adjusting invalid FileAlignment"
-msgstr ""
+msgstr "Pelarasan"
#: peicode.h:1616
-#, c-format
+#, fuzzy, c-format
msgid "%pB: invalid NumberOfRvaAndSizes"
-msgstr ""
+msgstr "%1 PB"
#: plugin.c:197
#, c-format
@@ -6624,31 +6756,31 @@ msgid "plugin framework: out of file descriptors. Try using fewer objects/archiv
msgstr ""
#: ppcboot.c:392
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"ppcboot header:\n"
-msgstr ""
+msgstr "_Pengepala"
#: ppcboot.c:393
-#, c-format
+#, fuzzy, c-format
msgid "Entry offset = 0x%.8lx (%ld)\n"
-msgstr ""
+msgstr "offset fail zip kepada masukan rosak"
#: ppcboot.c:395
-#, c-format
+#, fuzzy, c-format
msgid "Length = 0x%.8lx (%ld)\n"
-msgstr ""
+msgstr "Memadam fail %ld drpd %ld"
#: ppcboot.c:399
-#, c-format
+#, fuzzy, c-format
msgid "Flag field = 0x%.2x\n"
-msgstr ""
+msgstr "2x"
#: ppcboot.c:405
-#, c-format
+#, fuzzy, c-format
msgid "Partition name = \"%s\"\n"
-msgstr ""
+msgstr "Ralat menetapkan nama sekatan"
#: ppcboot.c:425
#, c-format
@@ -6673,8 +6805,9 @@ msgid "Partition[%d] length = 0x%.8lx (%ld)\n"
msgstr ""
#: reloc.c:8417
+#, fuzzy
msgid "INPUT_SECTION_FLAGS are not supported"
-msgstr ""
+msgstr "Bendera terima tidak disokong"
#: reloc.c:8683
#, c-format
@@ -6683,14 +6816,14 @@ msgstr ""
#. PR 21803: Suggest the most likely cause of this error.
#: reloc.c:8687
-#, c-format
+#, fuzzy, c-format
msgid "is this version of the linker - %s - out of date ?"
-msgstr ""
+msgstr "Pralihat sudah ketinggalan zaman"
#: rs6000-core.c:471
-#, c-format
+#, fuzzy, c-format
msgid "%pB: warning core file truncated"
-msgstr ""
+msgstr "Abai dan tinggalkan fail core"
#: som.c:3002
#, c-format
@@ -6709,15 +6842,16 @@ msgid "%pB[%pA]: no output section for space %pA"
msgstr ""
#: som.c:5449
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"Exec Auxiliary Header\n"
-msgstr ""
+msgstr "Jalankan"
#: som.c:5758
+#, fuzzy
msgid "som_sizeof_headers unimplemented"
-msgstr ""
+msgstr "Tak diimplementasi"
#: srec.c:260
#, c-format
@@ -6725,14 +6859,14 @@ msgid "%pB:%d: unexpected character `%s' in S-record file"
msgstr ""
#: srec.c:488
-#, c-format
+#, fuzzy, c-format
msgid "%pB:%d: byte count %d too small"
-msgstr ""
+msgstr "Saiz atom QTIF terlalu besar (%d bait)"
#: srec.c:580 srec.c:614
-#, c-format
+#, fuzzy, c-format
msgid "%pB:%d: bad checksum in S-record file"
-msgstr ""
+msgstr "%s: %s: tag buruk %d dijumpai (fail rosak?)\n"
#: stabs.c:308
#, c-format
@@ -6740,12 +6874,14 @@ msgid "%pB(%pA+%#lx): stabs entry has invalid string index"
msgstr ""
#: syms.c:1120
+#, fuzzy
msgid "unsupported .stab relocation"
-msgstr ""
+msgstr " (tidak disokong)"
#: vms-alpha.c:479
+#, fuzzy
msgid "corrupt EIHD record - size is too small"
-msgstr ""
+msgstr "Gagal menentukan saiz lightmap. Saiz lightmap maksimum terlalu kecil?"
#: vms-alpha.c:665
#, c-format
@@ -6777,9 +6913,9 @@ msgid "corrupt EGSD record: its psindx field is too big (%#lx)"
msgstr ""
#: vms-alpha.c:1441
-#, c-format
+#, fuzzy, c-format
msgid "unknown EGSD subtype %d"
-msgstr ""
+msgstr "Subjenis polyline tak diketahui: %d\n"
#: vms-alpha.c:1474
#, c-format
@@ -6787,37 +6923,40 @@ msgid "stack overflow (%d) in _bfd_vms_push"
msgstr ""
#: vms-alpha.c:1488
+#, fuzzy
msgid "stack underflow in _bfd_vms_pop"
-msgstr ""
+msgstr "tindanan bawah aliran\n"
#: vms-alpha.c:1562
-#, c-format
+#, fuzzy, c-format
msgid "dst_define_location %u too large"
-msgstr ""
+msgstr "Mesej terlalu besar untuk sambungan DTLS; maksimum ialah %u bait"
#. These names have not yet been added to this switch statement.
#: vms-alpha.c:1765
-#, c-format
+#, fuzzy, c-format
msgid "unknown ETIR command %d"
-msgstr ""
+msgstr "tidak diketahui-%d"
#: vms-alpha.c:1796
+#, fuzzy
msgid "corrupt vms value"
-msgstr ""
+msgstr "Takat rosak"
#: vms-alpha.c:1927
+#, fuzzy
msgid "corrupt ETIR record encountered"
-msgstr ""
+msgstr "Fail rosak?"
#: vms-alpha.c:1989
-#, c-format
+#, fuzzy, c-format
msgid "bad section index in %s"
-msgstr ""
+msgstr "Tiada seksyen sebegitu: %s"
#: vms-alpha.c:2003
-#, c-format
+#, fuzzy, c-format
msgid "unsupported STA cmd %s"
-msgstr ""
+msgstr "Tema tidak disokong '%s'."
#. Insert field.
#. Unsigned shift.
@@ -6842,27 +6981,29 @@ msgstr "%s tidak sah - %s"
#. Divide by zero is supposed to give a result of zero,
#. and a non-fatal warning message.
#: vms-alpha.c:2457
-#, c-format
+#, fuzzy, c-format
msgid "%s divide by zero"
-msgstr ""
+msgstr "Bahagi [/]"
#: vms-alpha.c:2523
-#, c-format
+#, fuzzy, c-format
msgid "invalid use of %s with contexts"
-msgstr ""
+msgstr "Tidak dapat menyenaraikan konteks fail"
#: vms-alpha.c:2581
-#, c-format
+#, fuzzy, c-format
msgid "reserved cmd %d"
-msgstr ""
+msgstr "Simpanan"
#: vms-alpha.c:2665
+#, fuzzy
msgid "corrupt EEOM record - size is too small"
-msgstr ""
+msgstr "Gagal menentukan saiz lightmap. Saiz lightmap maksimum terlalu kecil?"
#: vms-alpha.c:2674
+#, fuzzy
msgid "object module not error-free !"
-msgstr ""
+msgstr "Ralat: Laluan objek tidak dinyatakan\n"
#: vms-alpha.c:4006
#, c-format
@@ -6870,23 +7011,23 @@ msgid "SEC_RELOC with no relocs in section %pA"
msgstr ""
#: vms-alpha.c:4058 vms-alpha.c:4286
-#, c-format
+#, fuzzy, c-format
msgid "size error in section %pA"
-msgstr ""
+msgstr "Ralat sintaks dalam pengepala seksyen profil"
#: vms-alpha.c:4229
msgid "spurious ALPHA_R_BSR reloc"
msgstr ""
#: vms-alpha.c:4272
-#, c-format
+#, fuzzy, c-format
msgid "unhandled relocation %s"
-msgstr ""
+msgstr "Pengecualian tidak dikendalikan berlaku: %s"
#: vms-alpha.c:4637
-#, c-format
+#, fuzzy, c-format
msgid "unknown source command %d"
-msgstr ""
+msgstr "tidak diketahui-%d"
#: vms-alpha.c:4789 vms-alpha.c:4794 vms-alpha.c:4799 vms-alpha.c:4804
#: vms-alpha.c:4809 vms-alpha.c:4832 vms-alpha.c:4837 vms-alpha.c:4842
@@ -6896,122 +7037,125 @@ msgid "%s not implemented"
msgstr "%s tidak dilaksanakan"
#: vms-alpha.c:4883
-#, c-format
+#, fuzzy, c-format
msgid "unknown line command %d"
-msgstr ""
+msgstr "Nilai data tridak diketahui \"%s\" pada baris %d. Diabaikan."
#: vms-alpha.c:5322
+#, fuzzy
msgid "corrupt reloc record"
-msgstr ""
+msgstr "Fail rosak?"
#: vms-alpha.c:5352 vms-alpha.c:5370 vms-alpha.c:5387 vms-alpha.c:5405
#: vms-alpha.c:5418 vms-alpha.c:5430 vms-alpha.c:5443
-#, c-format
+#, fuzzy, c-format
msgid "unknown reloc %s + %s"
-msgstr ""
+msgstr "\t\tSambungan tidak diketahui %s (%s):\n"
#: vms-alpha.c:5502
-#, c-format
+#, fuzzy, c-format
msgid "unknown reloc %s"
-msgstr ""
+msgstr "\t\tSambungan tidak diketahui %s (%s):\n"
#: vms-alpha.c:5516
+#, fuzzy
msgid "invalid section index in ETIR"
-msgstr ""
+msgstr "Objek profile_section tidak sah"
#: vms-alpha.c:5525
+#, fuzzy
msgid "relocation for non-REL psect"
-msgstr ""
+msgstr "Direktori-direktori untuk diindeks secara bukan-rekursif"
#: vms-alpha.c:5578
-#, c-format
+#, fuzzy, c-format
msgid "unknown symbol in command %s"
-msgstr ""
+msgstr "arahan tidak diketahui: '%1$s'"
#: vms-alpha.c:5996
-#, c-format
+#, fuzzy, c-format
msgid "reloc (%d) is *UNKNOWN*"
-msgstr ""
+msgstr "Mod piksel tidak diketahui: %d\n"
#: vms-alpha.c:6113
-#, c-format
+#, fuzzy, c-format
msgid " EMH %d (len=%u): "
-msgstr ""
+msgstr "Ralat membaca dari klien, len = %d\n"
#: vms-alpha.c:6118 vms-alpha.c:6137 vms-alpha.c:6216
-#, c-format
+#, fuzzy, c-format
msgid " Error: %s min length is %u\n"
-msgstr ""
+msgstr "Jarak Fokus Min"
#: vms-alpha.c:6141
-#, c-format
+#, fuzzy, c-format
msgid "Module header\n"
-msgstr ""
+msgstr "Modul"
#: vms-alpha.c:6142
-#, c-format
+#, fuzzy, c-format
msgid " structure level: %u\n"
-msgstr ""
+msgstr "Struktur"
#: vms-alpha.c:6143
-#, c-format
+#, fuzzy, c-format
msgid " max record size: %u\n"
-msgstr ""
+msgstr "Nilai tidak sah bagi record_size"
#: vms-alpha.c:6149
-#, c-format
+#, fuzzy, c-format
msgid " Error: The module name is missing\n"
-msgstr ""
+msgstr "Nama tidak ditulis"
#: vms-alpha.c:6155
-#, c-format
+#, fuzzy, c-format
msgid " Error: The module name is too long\n"
-msgstr ""
+msgstr "Nama arkib terlalu panjang."
#: vms-alpha.c:6158
-#, c-format
+#, fuzzy, c-format
msgid " module name : %.*s\n"
-msgstr ""
+msgstr "Nama Modul Teratas"
#: vms-alpha.c:6162
-#, c-format
+#, fuzzy, c-format
msgid " Error: The module version is missing\n"
-msgstr ""
+msgstr "Ralat kaji hurai: Ruang Putih Hilang"
#: vms-alpha.c:6168
-#, c-format
+#, fuzzy, c-format
msgid " Error: The module version is too long\n"
-msgstr ""
+msgstr "Menunggu sistem fail terlalu lama"
#: vms-alpha.c:6171
-#, c-format
+#, fuzzy, c-format
msgid " module version : %.*s\n"
-msgstr ""
+msgstr "versi modul tidak sepadan dalam `%s'"
#: vms-alpha.c:6174
-#, c-format
+#, fuzzy, c-format
msgid " Error: The compile date is truncated\n"
-msgstr ""
+msgstr "Kompil ke…"
#: vms-alpha.c:6176
-#, c-format
+#, fuzzy, c-format
msgid " compile date : %.17s\n"
-msgstr ""
+msgstr "Kompil ke…"
#: vms-alpha.c:6181
-#, c-format
+#, fuzzy, c-format
msgid "Language Processor Name\n"
-msgstr ""
+msgstr "Bahasa Melayu"
#: vms-alpha.c:6182
-#, c-format
+#, fuzzy, c-format
msgid " language name: %.*s\n"
-msgstr ""
+msgstr "Bahasa: %s"
#: vms-alpha.c:6186
-#, c-format
+#, fuzzy, c-format
msgid "Source Files Header\n"
-msgstr ""
+msgstr "Jana pengepala sumber"
#: vms-alpha.c:6187
#, fuzzy, c-format
@@ -7019,9 +7163,9 @@ msgid " file: %.*s\n"
msgstr "Tiada fail %s sebegitu"
#: vms-alpha.c:6191
-#, c-format
+#, fuzzy, c-format
msgid "Title Text Header\n"
-msgstr ""
+msgstr "Pengepala Tetingkap - Tajuk"
#: vms-alpha.c:6192
#, fuzzy, c-format
@@ -7037,9 +7181,9 @@ msgstr ""
" under lay = %s\n"
#: vms-alpha.c:6196
-#, c-format
+#, fuzzy, c-format
msgid "Copyright Header\n"
-msgstr ""
+msgstr "Hakcipta"
#: vms-alpha.c:6197
#, fuzzy, c-format
@@ -7047,39 +7191,39 @@ msgid " copyright: %.*s\n"
msgstr "Hakcipta %s."
#: vms-alpha.c:6201
-#, c-format
+#, fuzzy, c-format
msgid "unhandled emh subtype %u\n"
-msgstr ""
+msgstr "Subjenis"
#: vms-alpha.c:6211
-#, c-format
+#, fuzzy, c-format
msgid " EEOM (len=%u):\n"
-msgstr ""
+msgstr "LEN(\"hello\") mengembalikan 5"
#: vms-alpha.c:6221
-#, c-format
+#, fuzzy, c-format
msgid " number of cond linkage pairs: %u\n"
-msgstr ""
+msgstr "bilangan pasangan asas per giliran heliks"
#: vms-alpha.c:6223
-#, c-format
+#, fuzzy, c-format
msgid " completion code: %u\n"
-msgstr ""
+msgstr "Kod ralat %u ketika mengesahihkan: %s"
#: vms-alpha.c:6228
-#, c-format
+#, fuzzy, c-format
msgid " transfer addr flags: 0x%02x\n"
-msgstr ""
+msgstr "DVDRead tidak dapa membaca blok %d/%d pada 0x%02x."
#: vms-alpha.c:6229
-#, c-format
+#, fuzzy, c-format
msgid " transfer addr psect: %u\n"
-msgstr ""
+msgstr "%u pemindahan selesai"
#: vms-alpha.c:6231
-#, c-format
+#, fuzzy, c-format
msgid " transfer address : 0x%08x\n"
-msgstr ""
+msgstr "Pindah"
#: vms-alpha.c:6240
#, fuzzy
@@ -7087,9 +7231,8 @@ msgid " WEAK"
msgstr "Lemah"
#: vms-alpha.c:6242
-#, fuzzy
msgid " DEF"
-msgstr "DEF"
+msgstr " DEF"
#: vms-alpha.c:6244
#, fuzzy
@@ -7173,9 +7316,9 @@ msgid " 64B"
msgstr ""
#: vms-alpha.c:6294
-#, c-format
+#, fuzzy, c-format
msgid " EGSD (len=%u):\n"
-msgstr ""
+msgstr "LEN(\"hello\") mengembalikan 5"
#: vms-alpha.c:6309
#, c-format
@@ -7183,24 +7326,24 @@ msgid " EGSD entry %2u (type: %u, len: %u): "
msgstr ""
#: vms-alpha.c:6315 vms-alpha.c:6610
-#, c-format
+#, fuzzy, c-format
msgid " Erroneous length\n"
-msgstr ""
+msgstr "Jangka masa"
#: vms-alpha.c:6328
-#, c-format
+#, fuzzy, c-format
msgid "PSC - Program section definition\n"
-msgstr ""
+msgstr "program tidak dibenarkan dalam seksyen ini"
#: vms-alpha.c:6329 vms-alpha.c:6349
-#, c-format
+#, fuzzy, c-format
msgid " alignment : 2**%u\n"
-msgstr ""
+msgstr "J&ajaran"
#: vms-alpha.c:6330 vms-alpha.c:6350
-#, c-format
+#, fuzzy, c-format
msgid " flags : 0x%04x"
-msgstr ""
+msgstr "(0x%04x, '%s'): "
#: vms-alpha.c:6334
#, c-format
@@ -7210,7 +7353,7 @@ msgstr ""
#: vms-alpha.c:6336 vms-alpha.c:6402 vms-alpha.c:6470
#, fuzzy, c-format
msgid " name : %.*s\n"
-msgstr "Nama: %s, EntitiID: %s"
+msgstr " nama: %.*s\n"
#: vms-alpha.c:6348
#, c-format
@@ -7223,79 +7366,79 @@ msgid " alloc (len) : %u (0x%08x)\n"
msgstr ""
#: vms-alpha.c:6355
-#, c-format
+#, fuzzy, c-format
msgid " image offset : 0x%08x\n"
-msgstr ""
+msgstr "Ofset kawasan imej"
#: vms-alpha.c:6357
-#, c-format
+#, fuzzy, c-format
msgid " symvec offset : 0x%08x\n"
-msgstr ""
+msgstr "ofset"
#: vms-alpha.c:6360
#, fuzzy, c-format
msgid " name : %.*s\n"
-msgstr "Nama: %s, EntitiID: %s"
+msgstr " nama: %.*s\n"
#: vms-alpha.c:6376
-#, c-format
+#, fuzzy, c-format
msgid "SYM - Global symbol definition\n"
-msgstr ""
+msgstr "Lompat ke takrifan simbol"
#: vms-alpha.c:6377 vms-alpha.c:6458 vms-alpha.c:6482 vms-alpha.c:6505
-#, c-format
+#, fuzzy, c-format
msgid " flags: 0x%04x"
-msgstr ""
+msgstr "(0x%04x, '%s'): "
#: vms-alpha.c:6380
-#, c-format
+#, fuzzy, c-format
msgid " psect offset: 0x%08x\n"
-msgstr ""
+msgstr "ofset"
#: vms-alpha.c:6384
-#, c-format
+#, fuzzy, c-format
msgid " code address: 0x%08x\n"
-msgstr ""
+msgstr "ralat tidak diketahui (kod ralat %08x)."
#: vms-alpha.c:6386
-#, c-format
+#, fuzzy, c-format
msgid " psect index for entry point : %u\n"
-msgstr ""
+msgstr "Masukan palet %u"
#: vms-alpha.c:6389 vms-alpha.c:6489 vms-alpha.c:6512
-#, c-format
+#, fuzzy, c-format
msgid " psect index : %u\n"
-msgstr ""
+msgstr "%U"
#: vms-alpha.c:6392 vms-alpha.c:6492 vms-alpha.c:6515
#, fuzzy, c-format
msgid " name : %.*s\n"
-msgstr "Nama: %s, EntitiID: %s"
+msgstr " nama: %.*s\n"
#: vms-alpha.c:6400
-#, c-format
+#, fuzzy, c-format
msgid "SYM - Global symbol reference\n"
-msgstr ""
+msgstr "Simbol"
#: vms-alpha.c:6415
-#, c-format
+#, fuzzy, c-format
msgid "IDC - Ident Consistency check\n"
-msgstr ""
+msgstr "IDENT: socket() gagal"
#: vms-alpha.c:6416
-#, c-format
+#, fuzzy, c-format
msgid " flags : 0x%08x"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:6420
-#, c-format
+#, fuzzy, c-format
msgid " id match : %x\n"
-msgstr ""
+msgstr "Tiada padanan"
#: vms-alpha.c:6422
-#, c-format
+#, fuzzy, c-format
msgid " error severity: %x\n"
-msgstr ""
+msgstr "ralat dalaman X: %s\n"
#: vms-alpha.c:6426
#, fuzzy, c-format
@@ -7303,24 +7446,24 @@ msgid " entity name : %.*s\n"
msgstr "Nama entiti \"%-.*s\" tidak diketahui"
#: vms-alpha.c:6432
-#, c-format
+#, fuzzy, c-format
msgid " object name : %.*s\n"
-msgstr ""
+msgstr "Nama Objek"
#: vms-alpha.c:6441
-#, c-format
+#, fuzzy, c-format
msgid " binary ident : 0x%08x\n"
-msgstr ""
+msgstr "binari"
#: vms-alpha.c:6445
-#, c-format
+#, fuzzy, c-format
msgid " ascii ident : %.*s\n"
-msgstr ""
+msgstr "IDENT: disambungkan kepada %s:%u"
#: vms-alpha.c:6457
-#, c-format
+#, fuzzy, c-format
msgid "SYMG - Universal symbol definition\n"
-msgstr ""
+msgstr "Lompat ke takrifan simbol"
#: vms-alpha.c:6461
#, c-format
@@ -7328,49 +7471,49 @@ msgid " symbol vector offset: 0x%08x\n"
msgstr ""
#: vms-alpha.c:6463
-#, c-format
+#, fuzzy, c-format
msgid " entry point: 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:6465
-#, c-format
+#, fuzzy, c-format
msgid " proc descr : 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:6467
-#, c-format
+#, fuzzy, c-format
msgid " psect index: %u\n"
-msgstr ""
+msgstr "%U"
#: vms-alpha.c:6481
-#, c-format
+#, fuzzy, c-format
msgid "SYMV - Vectored symbol definition\n"
-msgstr ""
+msgstr "Lompat ke takrifan simbol"
#: vms-alpha.c:6485
-#, c-format
+#, fuzzy, c-format
msgid " vector : 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:6487 vms-alpha.c:6510
-#, c-format
+#, fuzzy, c-format
msgid " psect offset: %u\n"
-msgstr ""
+msgstr "ofset"
#: vms-alpha.c:6504
-#, c-format
+#, fuzzy, c-format
msgid "SYMM - Global symbol definition with version\n"
-msgstr ""
+msgstr "Lompat ke takrifan simbol"
#: vms-alpha.c:6508
-#, c-format
+#, fuzzy, c-format
msgid " version mask: 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:6521
-#, c-format
+#, fuzzy, c-format
msgid "unhandled egsd entry type %u\n"
-msgstr ""
+msgstr "Xmpdatum %1 tidak dikendali bagi jenis %2"
#: vms-alpha.c:6560
#, c-format
@@ -7393,34 +7536,34 @@ msgid " psect idx 3: %u, offset 3: 0x%08x %08x\n"
msgstr ""
#: vms-alpha.c:6580
-#, c-format
+#, fuzzy, c-format
msgid " global name: %.*s\n"
-msgstr ""
+msgstr "Tidak boleh bertembung dengan nama pemalar global yang telah wujud."
#: vms-alpha.c:6592
-#, c-format
+#, fuzzy, c-format
msgid " %s (len=%u):\n"
-msgstr ""
+msgstr "Len Tower"
#: vms-alpha.c:6615
-#, c-format
+#, fuzzy, c-format
msgid " (type: %3u, size: %3u): "
-msgstr ""
+msgstr "jenis saiz tidak sah `%c'"
#: vms-alpha.c:6621
-#, c-format
+#, fuzzy, c-format
msgid "STA_GBL (stack global) %.*s\n"
-msgstr ""
+msgstr "Batalkan perincian sejagat untuk repositori \"%s\":"
#: vms-alpha.c:6625
-#, c-format
+#, fuzzy, c-format
msgid "STA_LW (stack longword)"
-msgstr ""
+msgstr "Tarikh m_ula:"
#: vms-alpha.c:6631
-#, c-format
+#, fuzzy, c-format
msgid "STA_QW (stack quadword)"
-msgstr ""
+msgstr "Tarikh m_ula:"
#: vms-alpha.c:6638
#, c-format
@@ -7433,14 +7576,14 @@ msgid " psect: %u, offset: 0x%08x %08x\n"
msgstr ""
#: vms-alpha.c:6647
-#, c-format
+#, fuzzy, c-format
msgid "STA_LI (stack literal)\n"
-msgstr ""
+msgstr "Tarikh m_ula:"
#: vms-alpha.c:6650
-#, c-format
+#, fuzzy, c-format
msgid "STA_MOD (stack module)\n"
-msgstr ""
+msgstr "Modul %(mod)r tidak dipasang"
#: vms-alpha.c:6653
#, c-format
@@ -7448,24 +7591,24 @@ msgid "STA_CKARG (compare procedure argument)\n"
msgstr ""
#: vms-alpha.c:6657
-#, c-format
+#, fuzzy, c-format
msgid "STO_B (store byte)\n"
-msgstr ""
+msgstr "bait,bait,B"
#: vms-alpha.c:6660
-#, c-format
+#, fuzzy, c-format
msgid "STO_W (store word)\n"
-msgstr ""
+msgstr " -W, --word-mode banding perkataan dan bukannya baris\n"
#: vms-alpha.c:6663
-#, c-format
+#, fuzzy, c-format
msgid "STO_LW (store longword)\n"
-msgstr ""
+msgstr "&Simpan"
#: vms-alpha.c:6666
-#, c-format
+#, fuzzy, c-format
msgid "STO_QW (store quadword)\n"
-msgstr ""
+msgstr "&Simpan"
#: vms-alpha.c:6673
#, c-format
@@ -7473,9 +7616,9 @@ msgid "STO_IMMR (store immediate repeat) %u bytes\n"
msgstr ""
#: vms-alpha.c:6682
-#, c-format
+#, fuzzy, c-format
msgid "STO_GBL (store global) %.*s\n"
-msgstr ""
+msgstr "Batalkan perincian sejagat untuk repositori \"%s\":"
#: vms-alpha.c:6687
#, c-format
@@ -7488,9 +7631,9 @@ msgid "STO_RB (store relative branch)\n"
msgstr ""
#: vms-alpha.c:6694
-#, c-format
+#, fuzzy, c-format
msgid "STO_AB (store absolute branch)\n"
-msgstr ""
+msgstr "Punca simpanan %s bukan laluan mutlak"
#: vms-alpha.c:6697
#, c-format
@@ -7523,79 +7666,79 @@ msgid "STO_BR_PS (store branch psect + offset) *todo*\n"
msgstr ""
#: vms-alpha.c:6727
-#, c-format
+#, fuzzy, c-format
msgid "OPR_NOP (no-operation)\n"
-msgstr ""
+msgstr "Sisip &nop"
#: vms-alpha.c:6730
-#, c-format
+#, fuzzy, c-format
msgid "OPR_ADD (add)\n"
-msgstr ""
+msgstr "Tambah"
#: vms-alpha.c:6733
-#, c-format
+#, fuzzy, c-format
msgid "OPR_SUB (subtract)\n"
-msgstr ""
+msgstr "Tolak [-]"
#: vms-alpha.c:6736
-#, c-format
+#, fuzzy, c-format
msgid "OPR_MUL (multiply)\n"
-msgstr ""
+msgstr "Darab [*]"
#: vms-alpha.c:6739
-#, c-format
+#, fuzzy, c-format
msgid "OPR_DIV (divide)\n"
-msgstr ""
+msgstr "Bahagi [/]"
#: vms-alpha.c:6742
-#, c-format
+#, fuzzy, c-format
msgid "OPR_AND (logical and)\n"
-msgstr ""
+msgstr "logikal not"
#: vms-alpha.c:6745
-#, c-format
+#, fuzzy, c-format
msgid "OPR_IOR (logical inclusive or)\n"
-msgstr ""
+msgstr "logikal not"
#: vms-alpha.c:6748
-#, c-format
+#, fuzzy, c-format
msgid "OPR_EOR (logical exclusive or)\n"
-msgstr ""
+msgstr "Boolean Exclusive OR"
#: vms-alpha.c:6751
-#, c-format
+#, fuzzy, c-format
msgid "OPR_NEG (negate)\n"
-msgstr ""
+msgstr "Sangkal"
#: vms-alpha.c:6754
-#, c-format
+#, fuzzy, c-format
msgid "OPR_COM (complement)\n"
-msgstr ""
+msgstr "pelengkap"
#: vms-alpha.c:6757
-#, c-format
+#, fuzzy, c-format
msgid "OPR_INSV (insert field)\n"
-msgstr ""
+msgstr "Selitkan Ke Dalam Medan Edit"
#: vms-alpha.c:6760
-#, c-format
+#, fuzzy, c-format
msgid "OPR_ASH (arithmetic shift)\n"
-msgstr ""
+msgstr "Abu Gunung Berapi"
#: vms-alpha.c:6763
-#, c-format
+#, fuzzy, c-format
msgid "OPR_USH (unsigned shift)\n"
-msgstr ""
+msgstr "K_osongkan Peti Keluar"
#: vms-alpha.c:6766
-#, c-format
+#, fuzzy, c-format
msgid "OPR_ROT (rotate)\n"
-msgstr ""
+msgstr "&Putar..."
#: vms-alpha.c:6769
-#, c-format
+#, fuzzy, c-format
msgid "OPR_SEL (select)\n"
-msgstr ""
+msgstr "%(sel)s daripada %(cnt)s dipilih"
#: vms-alpha.c:6772
#, c-format
@@ -7603,9 +7746,9 @@ msgid "OPR_REDEF (redefine symbol to curr location)\n"
msgstr ""
#: vms-alpha.c:6775
-#, c-format
+#, fuzzy, c-format
msgid "OPR_REDEF (define a literal)\n"
-msgstr ""
+msgstr "Bidang perlu menjadi perkataan literal."
#: vms-alpha.c:6779
#, c-format
@@ -7618,9 +7761,9 @@ msgid "STC_LP_PSB (store cond linkage pair + signature)\n"
msgstr ""
#: vms-alpha.c:6787
-#, c-format
+#, fuzzy, c-format
msgid " linkage index: %u, procedure: %.*s\n"
-msgstr ""
+msgstr "%s bukan objek prosedur"
#: vms-alpha.c:6794
#, fuzzy, c-format
@@ -7633,9 +7776,9 @@ msgid "STC_GBL (store cond global)\n"
msgstr ""
#: vms-alpha.c:6803
-#, c-format
+#, fuzzy, c-format
msgid " linkage index: %u, global: %.*s\n"
-msgstr ""
+msgstr "Batalkan perincian sejagat untuk repositori \"%s\":"
#: vms-alpha.c:6808
#, c-format
@@ -7643,9 +7786,9 @@ msgid "STC_GCA (store cond code address)\n"
msgstr ""
#: vms-alpha.c:6811
-#, c-format
+#, fuzzy, c-format
msgid " linkage index: %u, procedure name: %.*s\n"
-msgstr ""
+msgstr "gagal mendapatkan nama untuk platform %u (%s)"
#: vms-alpha.c:6816
#, c-format
@@ -7718,19 +7861,19 @@ msgid "CTL_AUGRB (augment relocation base) %u\n"
msgstr ""
#: vms-alpha.c:6879
-#, c-format
+#, fuzzy, c-format
msgid "CTL_DFLOC (define location)\n"
-msgstr ""
+msgstr "Lokasi:"
#: vms-alpha.c:6882
-#, c-format
+#, fuzzy, c-format
msgid "CTL_STLOC (set location)\n"
-msgstr ""
+msgstr "Arahan log keluar belum ditetapkan"
#: vms-alpha.c:6885
-#, c-format
+#, fuzzy, c-format
msgid "CTL_STKDL (stack defined location)\n"
-msgstr ""
+msgstr "Laluan ke direktori pembayang. Jika tiada laluan ditakrifkan, lokasi lalai akan digunakan."
#: vms-alpha.c:6888 vms-alpha.c:7316 vms-alpha.c:7477
#, fuzzy, c-format
@@ -7738,9 +7881,9 @@ msgid "*unhandled*\n"
msgstr "Ralat tidak boleh kendali"
#: vms-alpha.c:6913
-#, c-format
+#, fuzzy, c-format
msgid "cannot read GST record header\n"
-msgstr ""
+msgstr "Gagal membaca pengepala QTIF"
#. Ill-formed.
#: vms-alpha.c:6936
@@ -7749,19 +7892,19 @@ msgid "cannot find EMH in first GST record\n"
msgstr ""
#: vms-alpha.c:6960
-#, c-format
+#, fuzzy, c-format
msgid "corrupted GST\n"
-msgstr ""
+msgstr "profil-gst"
#: vms-alpha.c:6973
-#, c-format
+#, fuzzy, c-format
msgid "cannot read GST record\n"
-msgstr ""
+msgstr "profil-gst"
#: vms-alpha.c:7000
-#, c-format
+#, fuzzy, c-format
msgid " unhandled EOBJ record type %u\n"
-msgstr ""
+msgstr "Xmpdatum %1 tidak dikendali bagi jenis %2"
#: vms-alpha.c:7025
#, c-format
@@ -7774,14 +7917,14 @@ msgid " bitmap: 0x%08x (count: %u):\n"
msgstr ""
#: vms-alpha.c:7046
-#, fuzzy, c-format
+#, c-format
msgid " %08x"
-msgstr "ralat tidak diketahui (kod ralat %08x)."
+msgstr " %08x"
#: vms-alpha.c:7073
-#, c-format
+#, fuzzy, c-format
msgid " image %u (%u entries)\n"
-msgstr ""
+msgstr "Menyimpan imej “%s” (%u/%u)"
#: vms-alpha.c:7079
#, c-format
@@ -7789,20 +7932,20 @@ msgid " offset: 0x%08x, val: 0x%08x\n"
msgstr ""
#: vms-alpha.c:7102
-#, c-format
+#, fuzzy, c-format
msgid " image %u (%u entries), offsets:\n"
-msgstr ""
+msgstr "Menyimpan imej “%s” (%u/%u)"
#: vms-alpha.c:7109
#, c-format
msgid " 0x%08x"
-msgstr ""
+msgstr " 0x%08x"
#. 64 bits.
#: vms-alpha.c:7235
-#, c-format
+#, fuzzy, c-format
msgid "64 bits *unhandled*\n"
-msgstr ""
+msgstr "64 bit"
#: vms-alpha.c:7240
#, c-format
@@ -7810,9 +7953,9 @@ msgid "class: %u, dtype: %u, length: %u, pointer: 0x%08x\n"
msgstr ""
#: vms-alpha.c:7251
-#, c-format
+#, fuzzy, c-format
msgid "non-contiguous array of %s\n"
-msgstr ""
+msgstr "data berterusan"
#: vms-alpha.c:7258
#, c-format
@@ -7835,24 +7978,24 @@ msgid "Bounds:\n"
msgstr "Batas Kiri"
#: vms-alpha.c:7288
-#, c-format
+#, fuzzy, c-format
msgid "[%u]: Lower: %u, upper: %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:7302
-#, c-format
+#, fuzzy, c-format
msgid "unaligned bit-string of %s\n"
-msgstr ""
+msgstr "Tidak boleh membaca petikan bit: %s\n"
#: vms-alpha.c:7309
-#, c-format
+#, fuzzy, c-format
msgid "base: %u, pos: %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:7335
-#, c-format
+#, fuzzy, c-format
msgid "vflags: 0x%02x, value: 0x%08x "
-msgstr ""
+msgstr "DVDRead tidak dapa membaca blok %d/%d pada 0x%02x."
#: vms-alpha.c:7342
#, fuzzy, c-format
@@ -7875,19 +8018,19 @@ msgid "(descriptor)\n"
msgstr "Penerang salin"
#: vms-alpha.c:7356
-#, c-format
+#, fuzzy, c-format
msgid "(trailing value)\n"
-msgstr ""
+msgstr "Slash dibelakang"
#: vms-alpha.c:7359
-#, c-format
+#, fuzzy, c-format
msgid "(value spec follows)\n"
-msgstr ""
+msgstr "spec RPM"
#: vms-alpha.c:7362
-#, c-format
+#, fuzzy, c-format
msgid "(at bit offset %u)\n"
-msgstr ""
+msgstr "%u bit"
#: vms-alpha.c:7366
#, c-format
@@ -7914,14 +8057,14 @@ msgid "reg"
msgstr "Reg "
#: vms-alpha.c:7403
-#, c-format
+#, fuzzy, c-format
msgid "len: %2u, kind: %2u "
-msgstr ""
+msgstr "Len Tower"
#: vms-alpha.c:7411
-#, c-format
+#, fuzzy, c-format
msgid "atomic, type=0x%02x %s\n"
-msgstr ""
+msgstr "DVDRead tidak dapa membaca blok %d/%d pada 0x%02x."
#: vms-alpha.c:7416
#, c-format
@@ -7929,44 +8072,44 @@ msgid "indirect, defined at 0x%08x\n"
msgstr ""
#: vms-alpha.c:7420
-#, c-format
+#, fuzzy, c-format
msgid "typed pointer\n"
-msgstr ""
+msgstr "hukum kosong untuk bukan terminal ditaip, dan tiada tindakan"
#: vms-alpha.c:7424
-#, fuzzy, c-format
+#, c-format
msgid "pointer\n"
-msgstr "Penuding: %p"
+msgstr "penunjuk\n"
#: vms-alpha.c:7435
-#, c-format
+#, fuzzy, c-format
msgid "array, dim: %u, bitmap: "
-msgstr ""
+msgstr "Tatasusunan"
#: vms-alpha.c:7450
-#, c-format
+#, fuzzy, c-format
msgid "array descriptor:\n"
-msgstr ""
+msgstr "Penerang salin"
#: vms-alpha.c:7461
-#, c-format
+#, fuzzy, c-format
msgid "type spec for element:\n"
-msgstr ""
+msgstr "Jenis tidak dikenali \"%s\" pada unsur <%s>"
#: vms-alpha.c:7463
-#, c-format
+#, fuzzy, c-format
msgid "type spec for subscript %u:\n"
-msgstr ""
+msgstr "spec RPM"
#: vms-alpha.c:7488
-#, c-format
+#, fuzzy, c-format
msgid "Debug symbol table:\n"
-msgstr ""
+msgstr "nyahpepijat"
#: vms-alpha.c:7499
-#, c-format
+#, fuzzy, c-format
msgid "cannot read DST header\n"
-msgstr ""
+msgstr "Gagal membaca pengepala QTIF"
#: vms-alpha.c:7505
#, c-format
@@ -7974,19 +8117,19 @@ msgid " type: %3u, len: %3u (at 0x%08x): "
msgstr ""
#: vms-alpha.c:7524
-#, c-format
+#, fuzzy, c-format
msgid "cannot read DST symbol\n"
-msgstr ""
+msgstr "Tak dalat membaca CD: %s"
#: vms-alpha.c:7568
-#, c-format
+#, fuzzy, c-format
msgid "standard data: %s\n"
-msgstr ""
+msgstr "Hantar data sebagai &input standard"
#: vms-alpha.c:7572 vms-alpha.c:7696
-#, fuzzy, c-format
+#, c-format
msgid " name: %.*s\n"
-msgstr "Nama: %s, EntitiID: %s"
+msgstr " nama: %.*s\n"
#: vms-alpha.c:7580
#, c-format
@@ -7999,14 +8142,14 @@ msgid " flags: %d, language: %u, major: %u, minor: %u\n"
msgstr ""
#: vms-alpha.c:7594 vms-alpha.c:7963
-#, c-format
+#, fuzzy, c-format
msgid " module name: %.*s\n"
-msgstr ""
+msgstr "Nama Modul Teratas"
#: vms-alpha.c:7601
-#, fuzzy, c-format
+#, c-format
msgid " compiler : %.*s\n"
-msgstr "Pengkompil: %s\n"
+msgstr " pembina : %.*s\n"
#: vms-alpha.c:7608
#, c-format
@@ -8023,14 +8166,14 @@ msgid " flags: %u, address: 0x%08x, pd-address: 0x%08x\n"
msgstr ""
#: vms-alpha.c:7628
-#, c-format
+#, fuzzy, c-format
msgid " routine name: %.*s\n"
-msgstr ""
+msgstr "Nama: %s, EntitiID: %s"
#: vms-alpha.c:7639
-#, c-format
+#, fuzzy, c-format
msgid "rtnend: size 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:7649
#, c-format
@@ -8038,39 +8181,39 @@ msgid "prolog: bkpt address 0x%08x\n"
msgstr ""
#: vms-alpha.c:7659
-#, c-format
+#, fuzzy, c-format
msgid "epilog: flags: %u, count: %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:7674
-#, c-format
+#, fuzzy, c-format
msgid "blkbeg: address: 0x%08x, name: %.*s\n"
-msgstr ""
+msgstr "%s: nama hos adalah sah tetatpi tidak mempunyai alamat IP."
#: vms-alpha.c:7686
-#, c-format
+#, fuzzy, c-format
msgid "blkend: size: 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:7692
-#, c-format
+#, fuzzy, c-format
msgid "typspec (len: %u)\n"
-msgstr ""
+msgstr "LEN(\"hello\") mengembalikan 5"
#: vms-alpha.c:7708
-#, c-format
+#, fuzzy, c-format
msgid "septyp, name: %.*s\n"
-msgstr ""
+msgstr "Nama: %s, EntitiID: %s"
#: vms-alpha.c:7725
-#, c-format
+#, fuzzy, c-format
msgid "recbeg: name: %.*s\n"
-msgstr ""
+msgstr "Nama: %s, EntitiID: %s"
#: vms-alpha.c:7731
-#, c-format
+#, fuzzy, c-format
msgid " len: %u bits\n"
-msgstr ""
+msgstr "%u bit"
#: vms-alpha.c:7737
#, c-format
@@ -8078,14 +8221,14 @@ msgid "recend\n"
msgstr ""
#: vms-alpha.c:7742
-#, c-format
+#, fuzzy, c-format
msgid "enumbeg, len: %u, name: %.*s\n"
-msgstr ""
+msgstr "gagal mendapatkan nama untuk platform %u (%s)"
#: vms-alpha.c:7748
-#, c-format
+#, fuzzy, c-format
msgid "enumelt, name: %.*s\n"
-msgstr ""
+msgstr "Nama: %s, EntitiID: %s"
#: vms-alpha.c:7754
#, c-format
@@ -8093,69 +8236,69 @@ msgid "enumend\n"
msgstr ""
#: vms-alpha.c:7761
-#, c-format
+#, fuzzy, c-format
msgid "label, name: %.*s\n"
-msgstr ""
+msgstr "%s kehilangan nama atau label"
#: vms-alpha.c:7764
-#, c-format
+#, fuzzy, c-format
msgid " address: 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:7776
-#, c-format
+#, fuzzy, c-format
msgid "discontiguous range (nbr: %u)\n"
-msgstr ""
+msgstr "Blok buruk %u diluar julat; diabaikan.\n"
#: vms-alpha.c:7783
-#, c-format
+#, fuzzy, c-format
msgid " address: 0x%08x, size: %u\n"
-msgstr ""
+msgstr "%s: saiz alamat mempunyai nilai %u tidak dijangka\n"
#: vms-alpha.c:7794
-#, c-format
+#, fuzzy, c-format
msgid "line num (len: %u)\n"
-msgstr ""
+msgstr "%u aksara setiap baris"
#: vms-alpha.c:7813
-#, c-format
+#, fuzzy, c-format
msgid "delta_pc_w %u\n"
-msgstr ""
+msgstr "PC"
#: vms-alpha.c:7822
-#, c-format
+#, fuzzy, c-format
msgid "incr_linum(b): +%u\n"
-msgstr ""
+msgstr "%U"
#: vms-alpha.c:7830
-#, c-format
+#, fuzzy, c-format
msgid "incr_linum_w: +%u\n"
-msgstr ""
+msgstr "%U"
#: vms-alpha.c:7838
-#, c-format
+#, fuzzy, c-format
msgid "incr_linum_l: +%u\n"
-msgstr ""
+msgstr "Had Laju Muat Naik"
#: vms-alpha.c:7846
-#, c-format
+#, fuzzy, c-format
msgid "set_line_num(w) %u\n"
-msgstr ""
+msgstr "%u aksara setiap baris"
#: vms-alpha.c:7853
-#, c-format
+#, fuzzy, c-format
msgid "set_line_num_b %u\n"
-msgstr ""
+msgstr "%u aksara setiap baris"
#: vms-alpha.c:7860
-#, c-format
+#, fuzzy, c-format
msgid "set_line_num_l %u\n"
-msgstr ""
+msgstr "Kedua-dua L dan U dinyatakan.\n"
#: vms-alpha.c:7867
-#, c-format
+#, fuzzy, c-format
msgid "set_abs_pc: 0x%08x\n"
-msgstr ""
+msgstr "PC set 1"
#: vms-alpha.c:7873
#, c-format
@@ -8170,22 +8313,22 @@ msgstr ""
#: vms-alpha.c:7882
#, c-format
msgid " pc: 0x%08x\n"
-msgstr ""
+msgstr " pc: 0x%08x\n"
#: vms-alpha.c:7889
-#, c-format
+#, fuzzy, c-format
msgid "term_w: 0x%04x"
-msgstr ""
+msgstr "(0x%04x, '%s'): "
#: vms-alpha.c:7891
#, c-format
msgid " pc: 0x%08x\n"
-msgstr ""
+msgstr " pc: 0x%08x\n"
#: vms-alpha.c:7897
-#, c-format
+#, fuzzy, c-format
msgid "delta pc +%-4d"
-msgstr ""
+msgstr "PC"
#: vms-alpha.c:7901
#, c-format
@@ -8193,14 +8336,14 @@ msgid " pc: 0x%08x line: %5u\n"
msgstr ""
#: vms-alpha.c:7906
-#, c-format
+#, fuzzy, c-format
msgid " *unhandled* cmd %u\n"
-msgstr ""
+msgstr "Ralat tidak boleh kendali"
#: vms-alpha.c:7921
-#, c-format
+#, fuzzy, c-format
msgid "source (len: %u)\n"
-msgstr ""
+msgstr "LEN(\"hello\") mengembalikan 5"
#: vms-alpha.c:7940
#, c-format
@@ -8213,29 +8356,29 @@ msgid " rms: cdt: 0x%08x %08x, ebk: 0x%08x, ffb: 0x%04x, rfo: %u\n"
msgstr ""
#: vms-alpha.c:7957
-#, fuzzy, c-format
+#, c-format
msgid " filename : %.*s\n"
-msgstr "Nama fail \"%s\" tidak sah"
+msgstr " nama fail : %.*s\n"
#: vms-alpha.c:7973
-#, c-format
+#, fuzzy, c-format
msgid " setfile %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:7980 vms-alpha.c:7987
-#, c-format
+#, fuzzy, c-format
msgid " setrec %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:7994 vms-alpha.c:8001
-#, c-format
+#, fuzzy, c-format
msgid " setlnum %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:8008 vms-alpha.c:8015
-#, c-format
+#, fuzzy, c-format
msgid " deflines %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:8019
#, c-format
@@ -8243,43 +8386,42 @@ msgid " formfeed\n"
msgstr ""
#: vms-alpha.c:8023
-#, c-format
+#, fuzzy, c-format
msgid " *unhandled* cmd %u\n"
-msgstr ""
+msgstr "Ralat tidak boleh kendali"
#: vms-alpha.c:8035
-#, c-format
+#, fuzzy, c-format
msgid "*unhandled* dst type %u\n"
-msgstr ""
+msgstr "Xmpdatum %1 tidak dikendali bagi jenis %2"
#: vms-alpha.c:8067
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EIHD\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8071
-#, c-format
+#, fuzzy, c-format
msgid "EIHD: (size: %u, nbr blocks: %u)\n"
-msgstr ""
+msgstr "Blok buruk: %u"
#: vms-alpha.c:8075
-#, c-format
+#, fuzzy, c-format
msgid " majorid: %u, minorid: %u\n"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:8083
-#, fuzzy
msgid "executable"
-msgstr "Boleh Laku"
+msgstr "boleh laksana"
#: vms-alpha.c:8086
msgid "linkable image"
msgstr ""
#: vms-alpha.c:8093
-#, c-format
+#, fuzzy, c-format
msgid " image type: %u (%s)"
-msgstr ""
+msgstr "Menyimpan imej “%s” (%u/%u)"
#: vms-alpha.c:8099
msgid "native"
@@ -8290,9 +8432,9 @@ msgid "CLI"
msgstr "CLI"
#: vms-alpha.c:8109
-#, c-format
+#, fuzzy, c-format
msgid ", subtype: %u (%s)\n"
-msgstr ""
+msgstr "Gagal untuk menambah sub jenis '%s': %s\n"
#: vms-alpha.c:8116
#, c-format
@@ -8300,21 +8442,21 @@ msgid " offsets: isd: %u, activ: %u, symdbg: %u, imgid: %u, patch: %u\n"
msgstr ""
#: vms-alpha.c:8120
-#, c-format
+#, fuzzy, c-format
msgid " fixup info rva: "
-msgstr ""
+msgstr "Jenis Saiz Rva Offset\n"
#: vms-alpha.c:8122
-#, c-format
+#, fuzzy, c-format
msgid ", symbol vector rva: "
-msgstr ""
+msgstr "Grafik Vektor"
#: vms-alpha.c:8125
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
" version array off: %u\n"
-msgstr ""
+msgstr "Menggunakan VTE versi %u.%u.%u"
#: vms-alpha.c:8130
#, c-format
@@ -8322,9 +8464,9 @@ msgid " img I/O count: %u, nbr channels: %u, req pri: %08x%08x\n"
msgstr ""
#: vms-alpha.c:8136
-#, c-format
+#, fuzzy, c-format
msgid " linker flags: %08x:"
-msgstr ""
+msgstr "Pemaut"
#: vms-alpha.c:8167
#, c-format
@@ -8332,9 +8474,9 @@ msgid " ident: 0x%08x, sysver: 0x%08x, match ctrl: %u, symvect_size: %u\n"
msgstr ""
#: vms-alpha.c:8173
-#, c-format
+#, fuzzy, c-format
msgid " BPAGE: %u"
-msgstr ""
+msgstr "%u × %u"
#: vms-alpha.c:8180
#, c-format
@@ -8342,24 +8484,24 @@ msgid ", ext fixup offset: %u, no_opt psect off: %u"
msgstr ""
#: vms-alpha.c:8183
-#, c-format
+#, fuzzy, c-format
msgid ", alias: %u\n"
-msgstr ""
+msgstr "Alias"
#: vms-alpha.c:8191
-#, c-format
+#, fuzzy, c-format
msgid "system version array information:\n"
-msgstr ""
+msgstr "sistem, maklumat, terperinci, grafik, bunyi, kernel, versi"
#: vms-alpha.c:8195
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EIHVN header\n"
-msgstr ""
+msgstr "Gagal membaca pengepala QTIF"
#: vms-alpha.c:8205
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EIHVN version\n"
-msgstr ""
+msgstr "Versi Baca Jenis Doc"
#: vms-alpha.c:8208
#, c-format
@@ -8379,32 +8521,37 @@ msgid "IO "
msgstr "IO "
#: vms-alpha.c:8221
+#, fuzzy
msgid "FILES_VOLUMES "
-msgstr ""
+msgstr "_Volum"
#: vms-alpha.c:8224
+#, fuzzy
msgid "PROCESS_SCHED "
-msgstr ""
+msgstr "(dalam proses)"
#: vms-alpha.c:8227
msgid "SYSGEN "
msgstr ""
#: vms-alpha.c:8230
+#, fuzzy
msgid "CLUSTERS_LOCKMGR "
-msgstr ""
+msgstr "kelompok"
#: vms-alpha.c:8233
+#, fuzzy
msgid "LOGICAL_NAMES "
-msgstr ""
+msgstr "logikal not"
#: vms-alpha.c:8236
msgid "SECURITY "
msgstr "KESELAMATAN "
#: vms-alpha.c:8239
+#, fuzzy
msgid "IMAGE_ACTIVATOR "
-msgstr ""
+msgstr "Bukan imej"
#: vms-alpha.c:8242
msgid "NETWORKS "
@@ -8439,8 +8586,9 @@ msgid "POSIX "
msgstr "POSIX "
#: vms-alpha.c:8266
+#, fuzzy
msgid "MULTI_PROCESSING "
-msgstr ""
+msgstr "pelbagai"
#: vms-alpha.c:8269
msgid "GALAXY "
@@ -8451,14 +8599,14 @@ msgid "*unknown* "
msgstr "*tidak diketahui* "
#: vms-alpha.c:8288 vms-alpha.c:8575
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EIHA\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8291
-#, c-format
+#, fuzzy, c-format
msgid "Image activation: (size=%u)\n"
-msgstr ""
+msgstr "Saiz blok=%u (log=%u)\n"
#: vms-alpha.c:8294
#, c-format
@@ -8486,44 +8634,44 @@ msgid " Shared image : 0x%08x 0x%08x\n"
msgstr ""
#: vms-alpha.c:8321
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EIHI\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8325
-#, c-format
+#, fuzzy, c-format
msgid "Image identification: (major: %u, minor: %u)\n"
-msgstr ""
+msgstr "Menyimpan imej “%s” (%u/%u)"
#: vms-alpha.c:8331
-#, c-format
+#, fuzzy, c-format
msgid " image name : %.*s\n"
-msgstr ""
+msgstr "Nama peta imej"
#: vms-alpha.c:8332
-#, c-format
+#, fuzzy, c-format
msgid " link time : %s\n"
-msgstr ""
+msgstr "Pautan %s terpilih %s"
#: vms-alpha.c:8337
-#, c-format
+#, fuzzy, c-format
msgid " image ident : %.*s\n"
-msgstr ""
+msgstr "IDENT: disambungkan kepada %s:%u"
#: vms-alpha.c:8341
-#, c-format
+#, fuzzy, c-format
msgid " linker ident : %.*s\n"
-msgstr ""
+msgstr "IDENT: disambungkan kepada %s:%u"
#: vms-alpha.c:8345
-#, c-format
+#, fuzzy, c-format
msgid " image build ident: %.*s\n"
-msgstr ""
+msgstr "IDENT: disambungkan kepada %s:%u"
#: vms-alpha.c:8354
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EIHS\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8358
#, c-format
@@ -8546,9 +8694,9 @@ msgid " debug module table : vbn: %u, size: %u\n"
msgstr ""
#: vms-alpha.c:8387
-#, c-format
+#, fuzzy, c-format
msgid "cannot read EISD\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8398
#, c-format
@@ -8561,14 +8709,14 @@ msgid " section: base: 0x%08x%08x size: 0x%08x\n"
msgstr ""
#: vms-alpha.c:8411
-#, c-format
+#, fuzzy, c-format
msgid " flags: 0x%04x"
-msgstr ""
+msgstr "(0x%04x, '%s'): "
#: vms-alpha.c:8449
-#, c-format
+#, fuzzy, c-format
msgid " vbn: %u, pfc: %u, matchctl: %u type: %u ("
-msgstr ""
+msgstr "Satu integer biasa tidak bertanda tangan, jenis 'u'"
#: vms-alpha.c:8455
msgid "NORMAL"
@@ -8599,24 +8747,24 @@ msgid ")\n"
msgstr ""
#: vms-alpha.c:8483
-#, c-format
+#, fuzzy, c-format
msgid " ident: 0x%08x, name: %.*s\n"
-msgstr ""
+msgstr "IDENT: recvline() gagal: %s."
#: vms-alpha.c:8494
-#, c-format
+#, fuzzy, c-format
msgid "cannot read DMT\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8498
-#, c-format
+#, fuzzy, c-format
msgid "Debug module table:\n"
-msgstr ""
+msgstr "Ruang jadual"
#: vms-alpha.c:8507
-#, c-format
+#, fuzzy, c-format
msgid "cannot read DMT header\n"
-msgstr ""
+msgstr "Gagal membaca pengepala QTIF"
#: vms-alpha.c:8513
#, c-format
@@ -8624,9 +8772,9 @@ msgid " module offset: 0x%08x, size: 0x%08x, (%u psects)\n"
msgstr ""
#: vms-alpha.c:8523
-#, c-format
+#, fuzzy, c-format
msgid "cannot read DMT psect\n"
-msgstr ""
+msgstr "Tak dalat membaca CD: %s"
#: vms-alpha.c:8527
#, c-format
@@ -8634,19 +8782,19 @@ msgid " psect start: 0x%08x, length: %u\n"
msgstr ""
#: vms-alpha.c:8540
-#, c-format
+#, fuzzy, c-format
msgid "cannot read DST\n"
-msgstr ""
+msgstr "Tidak Dapat Baca"
#: vms-alpha.c:8550
-#, c-format
+#, fuzzy, c-format
msgid "cannot read GST\n"
-msgstr ""
+msgstr "profil-gst"
#: vms-alpha.c:8554
-#, c-format
+#, fuzzy, c-format
msgid "Global symbol table:\n"
-msgstr ""
+msgstr "Simbol"
#: vms-alpha.c:8581
#, c-format
@@ -8654,14 +8802,14 @@ msgid "Image activator fixup: (major: %u, minor: %u)\n"
msgstr ""
#: vms-alpha.c:8585
-#, c-format
+#, fuzzy, c-format
msgid " iaflink : 0x%08x %08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:8589
-#, c-format
+#, fuzzy, c-format
msgid " fixuplnk: 0x%08x %08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:8592
#, c-format
@@ -8669,9 +8817,9 @@ msgid " size : %u\n"
msgstr " saiz : %u\n"
#: vms-alpha.c:8594
-#, c-format
+#, fuzzy, c-format
msgid " flags: 0x%08x\n"
-msgstr ""
+msgstr "Ralat DDE %08x tidak diketahui"
#: vms-alpha.c:8599
#, c-format
@@ -8704,9 +8852,9 @@ msgid " shlextra : %5u, permctx : %5u\n"
msgstr ""
#: vms-alpha.c:8622
-#, c-format
+#, fuzzy, c-format
msgid " base_va : 0x%08x\n"
-msgstr ""
+msgstr "Penyahkod video VA-API"
#: vms-alpha.c:8624
#, c-format
@@ -8714,9 +8862,9 @@ msgid " lppsbfixoff: %5u\n"
msgstr ""
#: vms-alpha.c:8631
-#, c-format
+#, fuzzy, c-format
msgid " Shareable images:\n"
-msgstr ""
+msgstr "Senarai Main Boleh Kongsi (%s)"
#: vms-alpha.c:8642
#, c-format
@@ -8724,14 +8872,14 @@ msgid " %u: size: %u, flags: 0x%02x, name: %.*s\n"
msgstr ""
#: vms-alpha.c:8649
-#, c-format
+#, fuzzy, c-format
msgid " quad-word relocation fixups:\n"
-msgstr ""
+msgstr "Anak Panah Quad"
#: vms-alpha.c:8655
-#, c-format
+#, fuzzy, c-format
msgid " long-word relocation fixups:\n"
-msgstr ""
+msgstr "perkataan"
#: vms-alpha.c:8661
#, c-format
@@ -8739,24 +8887,24 @@ msgid " quad-word .address reference fixups:\n"
msgstr ""
#: vms-alpha.c:8666
-#, c-format
+#, fuzzy, c-format
msgid " long-word .address reference fixups:\n"
-msgstr ""
+msgstr "Panjang %u terlalu panjang untuk alamat"
#: vms-alpha.c:8671
-#, c-format
+#, fuzzy, c-format
msgid " Code Address Reference Fixups:\n"
-msgstr ""
+msgstr "Rujukan(en)"
#: vms-alpha.c:8676
-#, c-format
+#, fuzzy, c-format
msgid " Linkage Pairs Reference Fixups:\n"
-msgstr ""
+msgstr "Pasangan AT"
#: vms-alpha.c:8684
-#, c-format
+#, fuzzy, c-format
msgid " Change Protection (%u entries):\n"
-msgstr ""
+msgstr "Sebuah penyimpan buku catatan yang berguna, menyimpan %u masukan."
#: vms-alpha.c:8693
#, c-format
@@ -8766,8 +8914,9 @@ msgstr ""
#. FIXME: we do not yet support relocatable link. It is not obvious
#. how to do it for debug infos.
#: vms-alpha.c:9570
+#, fuzzy
msgid "%P: relocatable link is not supported\n"
-msgstr ""
+msgstr "Skema boleh letak semula"
#: vms-alpha.c:9641
#, c-format
@@ -8775,9 +8924,9 @@ msgid "%P: multiple entry points: in modules %pB and %pB\n"
msgstr ""
#: vms-lib.c:1530
-#, c-format
+#, fuzzy, c-format
msgid "could not open shared image '%s' from '%s'"
-msgstr ""
+msgstr "Tidak dapat membuka penukar dari \"%s\" ke \"%s\""
#: vms-misc.c:374
msgid "_bfd_vms_output_counted called with zero bytes"
@@ -8798,9 +8947,9 @@ msgid "%pB: XCOFF shared object when not producing XCOFF output"
msgstr ""
#: xcofflink.c:902
-#, c-format
+#, fuzzy, c-format
msgid "%pB: dynamic object with no .loader section"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: xcofflink.c:1484
#, c-format
@@ -8833,19 +8982,19 @@ msgid "%pB: TOC entry `%s' has a R_TLSMLrelocation not targeting itself"
msgstr ""
#: xcofflink.c:1776
-#, c-format
+#, fuzzy, c-format
msgid "%pB: csect `%s' not in enclosing section"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: xcofflink.c:1885
-#, c-format
+#, fuzzy, c-format
msgid "%pB: misplaced XTY_LD `%s'"
-msgstr ""
+msgstr "%s Pb"
#: xcofflink.c:2228
-#, c-format
+#, fuzzy, c-format
msgid "%pB: reloc %s:%<PRId64> not in csect"
-msgstr ""
+msgstr "%s Pb"
#: xcofflink.c:3337
#, c-format
@@ -8858,13 +9007,14 @@ msgid "%s: no such symbol"
msgstr "%s: tiada simbol sedemikian"
#: xcofflink.c:3494
-#, c-format
+#, fuzzy, c-format
msgid "warning: attempt to export undefined symbol `%s'"
-msgstr ""
+msgstr "amaran: pembolehubah tidak dinyatakan `%.*s'"
#: xcofflink.c:3842
+#, fuzzy
msgid "error: undefined symbol __rtinit"
-msgstr ""
+msgstr "simbol permulaan %s tidak ditakrifkan"
#: xcofflink.c:4855
#, c-format
@@ -8872,9 +9022,9 @@ msgid "%pB: Unable to find a stub csect in rangeof relocation at %#<PRIx64> targ
msgstr ""
#: xcofflink.c:4884
-#, c-format
+#, fuzzy, c-format
msgid "%pB: Cannot create stub entry '%s'"
-msgstr ""
+msgstr "%s: Tak dapat mencipta symlink ke %s"
#: xcofflink.c:5004
msgid "TOC overflow during stub generation; try -mminimal-toc when compiling"
@@ -8886,9 +9036,9 @@ msgid "%pB: loader reloc in unrecognized section `%s'"
msgstr ""
#: xcofflink.c:5084
-#, c-format
+#, fuzzy, c-format
msgid "%pB: `%s' in loader reloc but not loader sym"
-msgstr ""
+msgstr "Ralat dalaman pada pemuat GIF (%s)"
#: xcofflink.c:5101
#, c-format
@@ -8901,34 +9051,35 @@ msgid "TOC overflow: %#<PRIx64> > 0x10000; try -mminimal-toc when compiling"
msgstr ""
#: xcofflink.c:7296
-#, c-format
+#, fuzzy, c-format
msgid "Unable to link input file: %s"
-msgstr ""
+msgstr "menutup fail input %s"
#: xtensa-dynconfig.c:60
+#, fuzzy
msgid "Unable to load DLL."
-msgstr ""
+msgstr "Tidak boleh muatkan lokasi"
#: xtensa-dynconfig.c:86
-#, c-format
+#, fuzzy, c-format
msgid "%s is defined but could not be loaded: %s"
-msgstr ""
+msgstr "Fail '%s' tidak dapat dimuatkan."
#: xtensa-dynconfig.c:102
-#, c-format
+#, fuzzy, c-format
msgid "%s is loaded but symbol \"%s\" is not found: %s"
-msgstr ""
+msgstr "simbol tidak dijumpai di dalam pengeluaran: %.*s"
#: xtensa-dynconfig.c:115
-#, c-format
+#, fuzzy, c-format
msgid "%s is defined but plugin support is disabled"
-msgstr ""
+msgstr "Gagal memulakan perkhidmatan Penjejak: %s. Pemalam dilumpuhkan."
#. Not fatal, this callback cannot fail.
#: elfnn-aarch64.c:2878 elfnn-riscv.c:5739
-#, c-format
+#, fuzzy, c-format
msgid "unknown attribute for symbol `%s': 0x%02x"
-msgstr ""
+msgstr "Vendor GPU anda tidak diketahui: %s (0x%X)"
#: elfnn-aarch64.c:5468
#, c-format
@@ -8993,61 +9144,61 @@ msgid "%pB(%pA+%#<PRIx64>): unresolvable %s relocation in section `%s'"
msgstr ""
#: elfnn-kvx.c:2850
-#, c-format
+#, fuzzy, c-format
msgid "%s: Bad ELF id: `%d'"
-msgstr ""
+msgstr "%s: ofset teruk pada halaman %d\n"
#: elfnn-kvx.c:2905
-#, c-format
+#, fuzzy, c-format
msgid "%s: compiled as 32-bit object and %s is 64-bit"
-msgstr ""
+msgstr "Dikompil oleh %s pada %s (%s)\n"
#: elfnn-kvx.c:2908
-#, c-format
+#, fuzzy, c-format
msgid "%s: compiled as 64-bit object and %s is 32-bit"
-msgstr ""
+msgstr "Dikompil oleh %s pada %s (%s)\n"
#: elfnn-kvx.c:2910
-#, c-format
+#, fuzzy, c-format
msgid "%s: object size does not match that of target %s"
-msgstr ""
+msgstr "Direktori sasaran \"%s\" tidak wujud"
#. Ignore init flag - it may not be set, despite the flags field
#. containing valid data.
#: elfnn-kvx.c:2998
-#, c-format
+#, fuzzy, c-format
msgid "Private flags = 0x%lx : "
-msgstr ""
+msgstr "[find_call] %s: 0x%lx ke 0x%lx\n"
#: elfnn-kvx.c:3002
-#, c-format
+#, fuzzy, c-format
msgid "Coolidge (kv3) V1 64 bits"
-msgstr ""
+msgstr "64 bit"
#: elfnn-kvx.c:3004
-#, c-format
+#, fuzzy, c-format
msgid "Coolidge (kv3) V2 64 bits"
-msgstr ""
+msgstr "64 bit"
#: elfnn-kvx.c:3006
-#, c-format
+#, fuzzy, c-format
msgid "Coolidge (kv4) V1 64 bits"
-msgstr ""
+msgstr "64 bit"
#: elfnn-kvx.c:3011
-#, c-format
+#, fuzzy, c-format
msgid "Coolidge (kv3) V1 32 bits"
-msgstr ""
+msgstr "Himpun data dengan 32 bit"
#: elfnn-kvx.c:3013
-#, c-format
+#, fuzzy, c-format
msgid "Coolidge (kv3) V2 32 bits"
-msgstr ""
+msgstr "Himpun data dengan 32 bit"
#: elfnn-kvx.c:3015
-#, c-format
+#, fuzzy, c-format
msgid "Coolidge (kv4) V1 32 bits"
-msgstr ""
+msgstr "Himpun data dengan 32 bit"
#: elfnn-kvx.c:3847
#, c-format
@@ -9072,8 +9223,9 @@ msgid "%pB: can't link different ABI object."
msgstr ""
#: elfnn-loongarch.c:726
+#, fuzzy
msgid "Internal error: unreachable."
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elfnn-loongarch.c:906
#, c-format
@@ -9081,8 +9233,9 @@ msgid "%pB:(%pA+%#lx): relocation %s against `%s` can not be used when making %s
msgstr ""
#: elfnn-loongarch.c:910
+#, fuzzy
msgid " and check the symbol visibility"
-msgstr ""
+msgstr "Simbol"
#: elfnn-loongarch.c:1036
#, c-format
@@ -9149,9 +9302,9 @@ msgid "%%pcrel_lo overflow with an addend, the value of %%pcrel_hi is 0x%<PRIx64
msgstr ""
#: elfnn-riscv.c:2156
-#, c-format
+#, fuzzy, c-format
msgid "%pcrel_lo overflow with an addend"
-msgstr ""
+msgstr "Rekod melimpah"
#: elfnn-riscv.c:2639
#, c-format
@@ -9187,9 +9340,9 @@ msgid "%pcrel_lo section symbol with an addend"
msgstr ""
#: elfnn-riscv.c:2923
-#, c-format
+#, fuzzy, c-format
msgid "%tlsdesc_lo with addend"
-msgstr ""
+msgstr "Tambah _Lokasi...:"
#: elfnn-riscv.c:3156
#, c-format
@@ -9197,20 +9350,24 @@ msgid "%%X%%P: unresolvable %s relocation against symbol `%s'\n"
msgstr ""
#: elfnn-riscv.c:3191
+#, fuzzy
msgid "%X%P: internal error: out of range error\n"
-msgstr ""
+msgstr "ralat dalaman X: %s\n"
#: elfnn-riscv.c:3196
+#, fuzzy
msgid "%X%P: internal error: unsupported relocation error\n"
-msgstr ""
+msgstr "ralat dalaman X: %s\n"
#: elfnn-riscv.c:3202
+#, fuzzy
msgid "dangerous relocation error"
-msgstr ""
+msgstr "Fail berpontensi bahaya"
#: elfnn-riscv.c:3208
+#, fuzzy
msgid "%X%P: internal error: unknown error\n"
-msgstr ""
+msgstr "Ralat dalaman: Ralat tidak diketahui"
#: elfnn-riscv.c:3785
#, c-format
@@ -9247,9 +9404,9 @@ msgid "error: %pB use %u-byte stack aligned but the output use %u-byte stack ali
msgstr ""
#: elfnn-riscv.c:4238
-#, c-format
+#, fuzzy, c-format
msgid "%pB: can't link %s modules with %s modules"
-msgstr ""
+msgstr "Tidak dapat awalkan modul berdaftar PKCS#11: %s"
#: elfnn-riscv.c:4248
#, c-format
@@ -9267,9 +9424,9 @@ msgid "%pB: relocation %s against non-absolute symbol `%s' can not be used in RV
msgstr ""
#: peXXigen.c:161
-#, c-format
+#, fuzzy, c-format
msgid "%pB: unable to find name for empty section"
-msgstr ""
+msgstr "Pemasangan: Tidak jumpa nama folder yang sesuai untuk $1"
#: peXXigen.c:188
#, c-format
@@ -9287,9 +9444,9 @@ msgid "%pB:%.8s: section below image base"
msgstr ""
#: peXXigen.c:929
-#, c-format
+#, fuzzy, c-format
msgid "%pB:%.8s: RVA truncated"
-msgstr ""
+msgstr "DIPANGKAS"
#: peXXigen.c:1061
#, c-format
@@ -9301,60 +9458,74 @@ msgid "Export Directory [.edata (or where ever we found it)]"
msgstr ""
#: peXXigen.c:1228
+#, fuzzy
msgid "Import Directory [parts of .idata]"
-msgstr ""
+msgstr "bahagian"
#: peXXigen.c:1229
+#, fuzzy
msgid "Resource Directory [.rsrc]"
-msgstr ""
+msgstr "Sumber pada \"%s\" bukan satu direktori"
#: peXXigen.c:1230
+#, fuzzy
msgid "Exception Directory [.pdata]"
-msgstr ""
+msgstr "Maklumat pengecualian:"
#: peXXigen.c:1231
+#, fuzzy
msgid "Security Directory"
-msgstr ""
+msgstr "KESELAMATAN "
#: peXXigen.c:1232
+#, fuzzy
msgid "Base Relocation Directory [.reloc]"
-msgstr ""
+msgstr "_Pangkalan Direktori:"
#: peXXigen.c:1233
+#, fuzzy
msgid "Debug Directory"
-msgstr ""
+msgstr "gagal mengemaskini offset fail dalam direktori nyahpijat"
#: peXXigen.c:1234
+#, fuzzy
msgid "Description Directory"
-msgstr ""
+msgstr "Keterangan"
#: peXXigen.c:1235
+#, fuzzy
msgid "Special Directory"
-msgstr ""
+msgstr "SPECIAL"
#: peXXigen.c:1236
+#, fuzzy
msgid "Thread Storage Directory [.tls]"
-msgstr ""
+msgstr "Gagal memulakan benang: ralat menulis TLS."
#: peXXigen.c:1237
+#, fuzzy
msgid "Load Configuration Directory"
-msgstr ""
+msgstr "Muatkan item tambahan konfigurasi"
#: peXXigen.c:1238
+#, fuzzy
msgid "Bound Import Directory"
-msgstr ""
+msgstr "Import direktori"
#: peXXigen.c:1239
+#, fuzzy
msgid "Import Address Table Directory"
-msgstr ""
+msgstr "Import direktori"
#: peXXigen.c:1240
+#, fuzzy
msgid "Delay Import Directory"
-msgstr ""
+msgstr "Import direktori"
#: peXXigen.c:1241
+#, fuzzy
msgid "CLR Runtime Header"
-msgstr ""
+msgstr "Masa Jalan"
#: peXXigen.c:1242
msgid "Reserved"
@@ -9368,18 +9539,18 @@ msgid ""
msgstr ""
#: peXXigen.c:1313
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"There is an import table in %s, but that section has no contents\n"
-msgstr ""
+msgstr "Jadual %s telah dipindahkan ke %s."
#: peXXigen.c:1320
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"There is an import table in %s at 0x%lx\n"
-msgstr ""
+msgstr "[find_call] %s: 0x%lx ke 0x%lx\n"
#: peXXigen.c:1326
#, c-format
@@ -9396,11 +9567,11 @@ msgid ""
msgstr ""
#: peXXigen.c:1378
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"\tDLL Name: %.*s\n"
-msgstr ""
+msgstr "Nama: %s, EntitiID: %s"
#: peXXigen.c:1394
#, c-format
@@ -9415,9 +9586,9 @@ msgid ""
msgstr ""
#: peXXigen.c:1469 peXXigen.c:1514
-#, c-format
+#, fuzzy, c-format
msgid "\t<corrupt: 0x%08lx>"
-msgstr ""
+msgstr "Eksponen: 0x"
#: peXXigen.c:1608
#, c-format
@@ -9434,18 +9605,18 @@ msgid ""
msgstr ""
#: peXXigen.c:1629
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"There is an export table in %s, but contents cannot be read\n"
-msgstr ""
+msgstr "Tidak dapat menyediakan kandungan sebagai \"%s\""
#: peXXigen.c:1635
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"There is an export table in %s at 0x%lx\n"
-msgstr ""
+msgstr "[find_call] %s: 0x%lx ke 0x%lx\n"
#: peXXigen.c:1666
#, c-format
@@ -9456,19 +9627,19 @@ msgid ""
msgstr ""
#: peXXigen.c:1670
-#, c-format
+#, fuzzy, c-format
msgid "Export Flags \t\t\t%lx\n"
-msgstr ""
+msgstr "Eksport"
#: peXXigen.c:1673
-#, c-format
+#, fuzzy, c-format
msgid "Time/Date stamp \t\t%lx\n"
-msgstr ""
+msgstr "Setem Tarikh GPS"
#: peXXigen.c:1677
-#, c-format
+#, fuzzy, c-format
msgid "Major/Minor \t\t\t%d/%d\n"
-msgstr ""
+msgstr "Penggunaan: %s [OPSYEN]... NAMA JENIS [MAJOR MINOR]\n"
#: peXXigen.c:1680
#, c-format
@@ -9476,9 +9647,9 @@ msgid "Name \t\t\t\t"
msgstr "Nama \t\t\t\t"
#: peXXigen.c:1691
-#, c-format
+#, fuzzy, c-format
msgid "Ordinal Base \t\t\t%ld\n"
-msgstr ""
+msgstr "ordinal"
#: peXXigen.c:1694
#, c-format
@@ -9486,34 +9657,34 @@ msgid "Number in:\n"
msgstr "Nombor dalam:\n"
#: peXXigen.c:1697
-#, c-format
+#, fuzzy, c-format
msgid "\tExport Address Table \t\t%08lx\n"
-msgstr ""
+msgstr "Eksport"
#: peXXigen.c:1701
-#, c-format
+#, fuzzy, c-format
msgid "\t[Name Pointer/Ordinal] Table\t%08lx\n"
-msgstr ""
+msgstr "Nama jadual adalah kosong!"
#: peXXigen.c:1704
-#, c-format
+#, fuzzy, c-format
msgid "Table Addresses\n"
-msgstr ""
+msgstr "Alamat:"
#: peXXigen.c:1707
-#, c-format
+#, fuzzy, c-format
msgid "\tExport Address Table \t\t"
-msgstr ""
+msgstr "Eksport"
#: peXXigen.c:1712
-#, c-format
+#, fuzzy, c-format
msgid "\tName Pointer Table \t\t"
-msgstr ""
+msgstr "Nama jadual adalah kosong!"
#: peXXigen.c:1717
-#, c-format
+#, fuzzy, c-format
msgid "\tOrdinal Table \t\t\t"
-msgstr ""
+msgstr "ordinal"
#: peXXigen.c:1731
#, c-format
@@ -9528,12 +9699,14 @@ msgid "\tInvalid Export Address Table rva (0x%lx) or entry count (0x%lx)\n"
msgstr ""
#: peXXigen.c:1760
+#, fuzzy
msgid "Forwarder RVA"
-msgstr ""
+msgstr "Jenis Saiz Rva Offset\n"
#: peXXigen.c:1772
+#, fuzzy
msgid "Export RVA"
-msgstr ""
+msgstr "Jenis Saiz Rva Offset\n"
#: peXXigen.c:1779
#, c-format
@@ -9614,34 +9787,34 @@ msgid "\treloc %4d offset %4x [%4lx] %s"
msgstr ""
#: peXXigen.c:2276
-#, c-format
+#, fuzzy, c-format
msgid "%03x %*.s Entry: "
-msgstr ""
+msgstr "Masukan EXIF '%s' "
#: peXXigen.c:2300
-#, c-format
+#, fuzzy, c-format
msgid "name: [val: %08lx len %d]: "
-msgstr ""
+msgstr "Ralat membaca dari klien, len = %d\n"
#: peXXigen.c:2320
-#, c-format
+#, fuzzy, c-format
msgid "<corrupt string length: %#x>\n"
-msgstr ""
+msgstr "-X <rentetan>"
#: peXXigen.c:2330
-#, c-format
+#, fuzzy, c-format
msgid "<corrupt string offset: %#lx>\n"
-msgstr ""
+msgstr "ofset"
#: peXXigen.c:2335
#, c-format
msgid "ID: %#08lx"
-msgstr ""
+msgstr "ID: %#08lx"
#: peXXigen.c:2338
-#, c-format
+#, fuzzy, c-format
msgid ", Value: %#08lx\n"
-msgstr ""
+msgstr "nilai"
#: peXXigen.c:2360
#, c-format
@@ -9649,9 +9822,9 @@ msgid "%03x %*.s Leaf: Addr: %#08lx, Size: %#08lx, Codepage: %d\n"
msgstr ""
#: peXXigen.c:2402
-#, c-format
+#, fuzzy, c-format
msgid "<unknown directory type: %d>\n"
-msgstr ""
+msgstr "Jenis objek tak diketahui %d\n"
#: peXXigen.c:2410
#, c-format
@@ -9659,9 +9832,9 @@ msgid " Table: Char: %d, Time: %08lx, Ver: %d/%d, Num Names: %d, IDs: %d\n"
msgstr ""
#: peXXigen.c:2498
-#, c-format
+#, fuzzy, c-format
msgid "Corrupt .rsrc section detected!\n"
-msgstr ""
+msgstr "Fail rosak?"
#: peXXigen.c:2522
#, c-format
@@ -9676,9 +9849,9 @@ msgid " String table starts at offset: %#03x\n"
msgstr ""
#: peXXigen.c:2531
-#, c-format
+#, fuzzy, c-format
msgid " Resources start at offset: %#03x\n"
-msgstr ""
+msgstr "Mulakan Offset"
#: peXXigen.c:2588
#, c-format
@@ -9688,11 +9861,11 @@ msgid ""
msgstr ""
#: peXXigen.c:2594
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
"There is a debug directory in %s, but that section has no contents\n"
-msgstr ""
+msgstr "Gagal memproses laporan nyahpijat, meninggalkan fail dalam direktori \"%s\"."
#: peXXigen.c:2601
#, c-format
@@ -9708,6 +9881,9 @@ msgid ""
"There is a debug directory in %s at 0x%lx\n"
"\n"
msgstr ""
+"\n"
+"Terdapat direktori nyahpepijat dalam %s pada 0x%lx\n"
+"\n"
#: peXXigen.c:2613
#, c-format
@@ -9717,7 +9893,7 @@ msgstr ""
#: peXXigen.c:2618
#, c-format
msgid "Type Size Rva Offset\n"
-msgstr ""
+msgstr "Jenis Saiz Rva Offset\n"
#: peXXigen.c:2666
#, c-format
@@ -9738,6 +9914,8 @@ msgid ""
"\n"
"Characteristics 0x%x\n"
msgstr ""
+"\n"
+"Ciri-ciri 0x%x\n"
#: peXXigen.c:3047
#, c-format
@@ -9746,12 +9924,12 @@ msgstr ""
#: peXXigen.c:3088
msgid "failed to update file offsets in debug directory"
-msgstr ""
+msgstr "gagal mengemaskini offset fail dalam direktori nyahpijat"
#: peXXigen.c:3097
#, c-format
msgid "%pB: failed to read debug data section"
-msgstr ""
+msgstr "%pB: gagal membaca bahagian data nyahpepijat"
#: peXXigen.c:3900
#, c-format
diff --git a/bfd/reloc.c b/bfd/reloc.c
index d3ddafb..c9d53bb 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -7419,6 +7419,12 @@ ENUMDOC
AArch64 pseudo relocation code to be used internally by the AArch64
assembler and not (currently) written to any object files.
ENUM
+ BFD_RELOC_AARCH64_BRANCH9
+ENUMDOC
+ AArch64 9 bit pc-relative conditional branch and compare & branch.
+ The lowest two bits must be zero and are not stored in the
+ instruction, giving an 11 bit signed byte offset.
+ENUM
BFD_RELOC_TILEPRO_COPY
ENUMX
BFD_RELOC_TILEPRO_GLOB_DAT
diff --git a/bfd/syms.c b/bfd/syms.c
index 95017ba..df2229b 100644
--- a/bfd/syms.c
+++ b/bfd/syms.c
@@ -594,6 +594,7 @@ struct section_to_type
adding entries. Since it is so short, a linear search is used. */
static const struct section_to_type stt[] =
{
+ {".didat", 'i'}, /* MSVC's .didat (delay import) section */
{".drectve", 'i'}, /* MSVC's .drective section */
{".edata", 'e'}, /* MSVC's .edata (export) section */
{".idata", 'i'}, /* MSVC's .idata (import) section */
diff --git a/bfd/version.h b/bfd/version.h
index cd21a82..7400e34 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -16,7 +16,7 @@
In releases, the date is not included in either version strings or
sonames. */
-#define BFD_VERSION_DATE 20250414
+#define BFD_VERSION_DATE 20250701
#define BFD_VERSION @bfd_version@
#define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@
#define REPORT_BUGS_TO @report_bugs_to@
diff --git a/binutils/MAINTAINERS b/binutils/MAINTAINERS
index 2aaadc8..14c24af 100644
--- a/binutils/MAINTAINERS
+++ b/binutils/MAINTAINERS
@@ -63,7 +63,7 @@ maintainer. The first maintainer is free to devolve that
responsibility among the other maintainers.
AARCH64 Richard Earnshaw <rearnsha@arm.com>
- AARCH64 Marcus Shawcroft <marcus.shawcroft@arm.com>
+ AARCH64 Alice Carlotti <alice.carlotti@arm.com>
ARC Claudiu Zissulescu <claziss@gmail.com>
ARM Nick Clifton <nickc@redhat.com>
ARM Richard Earnshaw <rearnsha@arm.com>
@@ -117,7 +117,8 @@ responsibility among the other maintainers.
OR1K Christian Svensson <blue@cmd.nu>
OR1K Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
OR1K Stafford Horne <shorne@gmail.com>
- PPC Peter Bergner <bergner@linux.ibm.com>
+ PPC Surya Kumari Jangala <jskumari@linux.ibm.com>
+ PPC Peter Bergner <bergner@tenstorrent.com>
PPC vector ext Aldy Hernandez <aldyh@redhat.com>
RISC-V Palmer Dabbelt <palmer@dabbelt.com>
RISC-V Andrew Waterman <andrew@sifive.com>
diff --git a/binutils/NEWS b/binutils/NEWS
index a4599d9..a624106 100644
--- a/binutils/NEWS
+++ b/binutils/NEWS
@@ -1,5 +1,9 @@
-*- text -*-
+* Readelf now recognizes RISC-V GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS and
+ GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED for zicfiss and zicfilp
+ extensions.
+
* For RISC-V dis-assembler, the definition of mapping symbol $x is changed,
so the file needs to be rebuilt since 2.45 once used .option arch directives.
diff --git a/binutils/defparse.y b/binutils/defparse.y
index d50739e..a2c4c4b 100644
--- a/binutils/defparse.y
+++ b/binutils/defparse.y
@@ -213,7 +213,7 @@ opt_name2: ID { $$ = $1; }
}
;
opt_name: opt_name2 { $$ =$1; }
- | { $$=""; }
+ | { $$ = xstrdup (""); }
;
opt_ordinal:
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index ef21423..99c651f 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -2250,7 +2250,7 @@ typedef struct
#define DATA_SEC_FLAGS (SEC_ALLOC | SEC_LOAD | SEC_DATA)
#define BSS_SEC_FLAGS SEC_ALLOC
-static sinfo secdata[NSECS] =
+static sinfo secdata_plain[NSECS] =
{
INIT_SEC_DATA (TEXT, ".text", TEXT_SEC_FLAGS, 2),
INIT_SEC_DATA (DATA, ".data", DATA_SEC_FLAGS, 2),
@@ -2261,6 +2261,17 @@ static sinfo secdata[NSECS] =
INIT_SEC_DATA (IDATA6, ".idata$6", SEC_HAS_CONTENTS, 1)
};
+static sinfo secdata_delay[NSECS] =
+{
+ INIT_SEC_DATA (TEXT, ".text", TEXT_SEC_FLAGS, 2),
+ INIT_SEC_DATA (DATA, ".data", DATA_SEC_FLAGS, 2),
+ INIT_SEC_DATA (BSS, ".bss", BSS_SEC_FLAGS, 2),
+ INIT_SEC_DATA (IDATA7, ".didat$7", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (IDATA5, ".didat$5", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (IDATA4, ".didat$4", SEC_HAS_CONTENTS, 2),
+ INIT_SEC_DATA (IDATA6, ".didat$6", SEC_HAS_CONTENTS, 1)
+};
+
/* This is what we're trying to make. We generate the imp symbols with
both single and double underscores, for compatibility.
@@ -2323,6 +2334,7 @@ make_imp_label (bfd *abfd, const char *prefix, const char *name)
static bfd *
make_one_lib_file (export_type *exp, int i, int delay)
{
+ sinfo *const secdata = delay ? secdata_delay : secdata_plain;
char *outname = TMP_STUB;
size_t name_len = strlen (outname);
sprintf (outname + name_len - 7, "%05d.o", i);
@@ -2786,7 +2798,7 @@ make_delay_head (void)
/* Output the delay import descriptor */
fprintf (f, "\n%s DELAY_IMPORT_DESCRIPTOR\n", ASM_C);
- fprintf (f, ".section\t.text$2\n");
+ fprintf (f, ".section\t.didat$2\n");
fprintf (f, "%s __DELAY_IMPORT_DESCRIPTOR_%s\n", ASM_GLOBAL,imp_name_lab);
fprintf (f, "__DELAY_IMPORT_DESCRIPTOR_%s:\n", imp_name_lab);
fprintf (f, "\t%s 1\t%s grAttrs\n", ASM_LONG, ASM_C);
@@ -2814,27 +2826,29 @@ make_delay_head (void)
if (!no_idata5)
{
- fprintf (f, "\t.section\t.idata$5\n");
- /* NULL terminating list. */
- if (create_for_pep)
- fprintf (f, "\t%s\t0\n\t%s\t0\n", ASM_LONG, ASM_LONG);
- else
- fprintf (f, "\t%s\t0\n", ASM_LONG);
+ fprintf (f, "\t.section\t.didat$5\n");
+ if (use_nul_prefixed_import_tables)
+ {
+ if (create_for_pep)
+ fprintf (f, "\t%s\t0\n\t%s\t0\n", ASM_LONG, ASM_LONG);
+ else
+ fprintf (f, "\t%s\t0\n", ASM_LONG);
+ }
fprintf (f, "__IAT_%s:\n", imp_name_lab);
}
if (!no_idata4)
{
- fprintf (f, "\t.section\t.idata$4\n");
- fprintf (f, "\t%s\t0\n", ASM_LONG);
- if (create_for_pep)
- fprintf (f, "\t%s\t0\n", ASM_LONG);
- fprintf (f, "\t.section\t.idata$4\n");
+ fprintf (f, "\t.section\t.didat$4\n");
+ if (use_nul_prefixed_import_tables)
+ {
+ fprintf (f, "\t%s\t0\n", ASM_LONG);
+ if (create_for_pep)
+ fprintf (f, "\t%s\t0\n", ASM_LONG);
+ }
fprintf (f, "__INT_%s:\n", imp_name_lab);
}
- fprintf (f, "\t.section\t.idata$2\n");
-
fclose (f);
assemble_file (TMP_HEAD_S, TMP_HEAD_O);
@@ -2900,6 +2914,57 @@ make_tail (void)
return abfd;
}
+static bfd *
+make_delay_tail (void)
+{
+ FILE *f = fopen (TMP_TAIL_S, FOPEN_WT);
+ bfd *abfd;
+
+ if (f == NULL)
+ {
+ fatal (_("failed to open temporary tail file: %s"), TMP_TAIL_S);
+ return NULL;
+ }
+
+ temp_file_to_remove[TEMP_TAIL_FILE] = TMP_TAIL_S;
+
+ if (!no_idata4)
+ {
+ fprintf (f, "\t.section\t.didat$4\n");
+ if (create_for_pep)
+ fprintf (f, "\t%s\t0\n\t%s\t0\n", ASM_LONG, ASM_LONG);
+ else
+ fprintf (f, "\t%s\t0\n", ASM_LONG); /* NULL terminating list. */
+ }
+
+ if (!no_idata5)
+ {
+ fprintf (f, "\t.section\t.didat$5\n");
+ if (create_for_pep)
+ fprintf (f, "\t%s\t0\n\t%s\t0\n", ASM_LONG, ASM_LONG);
+ else
+ fprintf (f, "\t%s\t0\n", ASM_LONG); /* NULL terminating list. */
+ }
+
+ fprintf (f, "\t.section\t.didat$7\n");
+ fprintf (f, "\t%s\t__%s_iname\n", ASM_GLOBAL, imp_name_lab);
+ fprintf (f, "__%s_iname:\t%s\t\"%s\"\n",
+ imp_name_lab, ASM_TEXT, dll_name);
+
+ fclose (f);
+
+ assemble_file (TMP_TAIL_S, TMP_TAIL_O);
+
+ abfd = bfd_openr (TMP_TAIL_O, HOW_BFD_READ_TARGET);
+ if (abfd == NULL)
+ /* xgettext:c-format */
+ fatal (_("failed to open temporary tail file: %s: %s"),
+ TMP_TAIL_O, bfd_get_errmsg ());
+
+ temp_file_to_remove[TEMP_TAIL_O_FILE] = TMP_TAIL_O;
+ return abfd;
+}
+
static void
gen_lib_file (int delay)
{
@@ -2935,12 +3000,13 @@ gen_lib_file (int delay)
if (delay)
{
ar_head = make_delay_head ();
+ ar_tail = make_delay_tail();
}
else
{
ar_head = make_head ();
+ ar_tail = make_tail();
}
- ar_tail = make_tail();
if (ar_head == NULL || ar_tail == NULL)
return;
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index b291670..4543341 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -879,7 +879,7 @@ symbol is defined anywhere, the common symbols are treated as undefined
references.
@ifclear man
For more details on common symbols, see the discussion of
---warn-common in @ref{Options,,Linker options,ld.info,The GNU linker}.
+--warn-common in @ref{Options,,Linker options,ld,The GNU linker}.
@end ifclear
The lower case @var{c} character is used when the symbol is in a
special section for small commons.
@@ -1362,7 +1362,7 @@ between any two formats may not work as expected.
deletes them afterward. @command{objcopy} uses @sc{bfd} to do all its
translation work; it has access to all the formats described in @sc{bfd}
and thus is able to recognize most formats without being told
-explicitly. @xref{BFD,,BFD,ld.info,Using LD}.
+explicitly. @xref{BFD,,BFD,ld,Using LD}.
@command{objcopy} can be used to generate S-records by using an output
target of @samp{srec} (e.g., use @samp{-O srec}).
@@ -2701,6 +2701,14 @@ but the result again may not be as you expect.
For RISC-V, the following options are supported:
@table @code
+@item max
+Disassemble without checking architecture string. This is a best effort mode, so
+for overlapping ISA extensions the first match (possibly incorrect in a given
+context) will be used to decode the instruction. It's useful, if the ELF file
+doesn't expose ISA string, preventing automatic ISA subset deduction, and the
+default fallback ISA string (@code{rv64gc}) doesn't cover all instructions in
+the binary.
+
@item numeric
Print numeric register names, rather than ABI names (e.g., print @code{x2}
instead of @code{sp}).
@@ -2712,7 +2720,7 @@ instructions will be represented as such (@code{addi sp,sp,-128} will be
@item priv-spec=@var{SPEC}
Print the CSR according to the chosen privilege spec version (e.g.,
-@code{1.10}, @code{1.11}, @code{1.12}).
+@code{1.10}, @code{1.11}, @code{1.12}, @code{1.13}).
@end table
For MIPS, this option controls the printing of instruction mnemonic
@@ -3558,6 +3566,7 @@ strip [@option{-F} @var{bfdname} |@option{--target=}@var{bfdname}]
[@option{--keep-section-symbols}]
[@option{--keep-file-symbols}]
[@option{--only-keep-debug}]
+ [@option{--plugin} @var{name}]
[@option{-v} |@option{--verbose}] [@option{-V}|@option{--version}]
[@option{--help}] [@option{--info}]
@var{objfile}@dots{}
@@ -3817,6 +3826,26 @@ currently only supports the presence of one filename containing
debugging information, not multiple filenames on a one-per-object-file
basis.
+@item --plugin @var{name}
+@cindex plugins
+Load the plugin called @var{name} to add support for extra target
+types. This option is only available if the toolchain has been built
+with plugin support enabled.
+
+If @option{--plugin} is not provided, but plugin support has been
+enabled then @command{strip} iterates over the files in
+@file{$@{libdir@}/bfd-plugins} in alphabetic order and the first
+plugin that claims the object in question is used.
+
+Please note that this plugin search directory is @emph{not} the one
+used by @command{ld}'s @option{-plugin} option. In order to make
+@command{strip} use the linker plugin it must be copied into the
+@file{$@{libdir@}/bfd-plugins} directory. For GCC based compilations
+the linker plugin is called @file{liblto_plugin.so.0.0.0}. For Clang
+based compilations it is called @file{LLVMgold.so}. The GCC plugin
+is always backwards compatible with earlier versions, so it is
+sufficient to just copy the newest one.
+
@item -V
@itemx --version
Show the version number for @command{strip}.
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 08bb623..8806cde 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -7324,7 +7324,7 @@ display_debug_loc (struct dwarf_section *section, void *file)
unsigned int *array = NULL;
const char *suffix = strrchr (section->name, '.');
bool is_dwo = false;
- int is_loclists = strstr (section->name, "debug_loclists") != NULL;
+ bool is_loclists = strstr (section->name, "debug_loclists") != NULL;
uint64_t next_header_offset = 0;
if (suffix && strcmp (suffix, ".dwo") == 0)
@@ -7450,6 +7450,16 @@ display_debug_loc (struct dwarf_section *section, void *file)
debug_info *debug_info_p = debug_information + i;
uint32_t offset_count;
+ /* .debug_loclists section is loaded into debug_information as
+ DWARF-5 debug info and .debug_loc section is loaded into
+ debug_information as pre-DWARF-5 debug info. When dumping
+ .debug_loc section, we should only process pre-DWARF-5 debug
+ info in debug_information. When dumping .debug_loclists
+ section, we should only process DWARF-5 info in
+ debug_information. */
+ if ((debug_info_p->dwarf_version >= 5) != is_loclists)
+ continue;
+
if (!locs_sorted)
{
for (k = 0; k < debug_info_p->num_loc_offsets; k++)
@@ -7462,7 +7472,7 @@ display_debug_loc (struct dwarf_section *section, void *file)
/* .debug_loclists has a per-unit header.
Update start if we are detecting it. */
- if (debug_info_p->dwarf_version == 5)
+ if (debug_info_p->dwarf_version >= 5)
{
j = locs_sorted ? 0 : array [0];
@@ -8080,7 +8090,7 @@ range_entry_compar (const void *ap, const void *bp)
return (a > b) - (b > a);
}
-static void
+static unsigned char *
display_debug_ranges_list (unsigned char * start,
unsigned char * finish,
unsigned int pointer_size,
@@ -8127,6 +8137,8 @@ display_debug_ranges_list (unsigned char * start,
putchar ('\n');
}
+
+ return start;
}
static unsigned char *
@@ -8348,6 +8360,7 @@ display_debug_ranges (struct dwarf_section *section,
{
unsigned char *start = section->start;
unsigned char *last_start = start;
+ unsigned char *last_end;
uint64_t bytes = section->size;
unsigned char *section_begin = start;
unsigned char *finish = start + bytes;
@@ -8411,14 +8424,11 @@ display_debug_ranges (struct dwarf_section *section,
qsort (range_entries, num_range_list, sizeof (*range_entries),
range_entry_compar);
- if (dwarf_check != 0 && range_entries[0].ranges_offset != 0)
- warn (_("Range lists in %s section start at %#" PRIx64 "\n"),
- section->name, range_entries[0].ranges_offset);
-
putchar ('\n');
if (!is_rnglists)
printf (_(" Offset Begin End\n"));
+ last_end = NULL;
for (i = 0; i < num_range_list; i++)
{
struct range_entry *range_entry = &range_entries[i];
@@ -8457,6 +8467,12 @@ display_debug_ranges (struct dwarf_section *section,
next = section_begin + offset; /* Offset is from the section start, the base has already been added. */
+ if (i == 0)
+ {
+ last_end = section_begin;
+ if (is_rnglists)
+ last_end += 2 * offset_size - 4 + 2 + 1 + 1 + 4;
+ }
/* If multiple DWARF entities reference the same range then we will
have multiple entries in the `range_entries' list for the same
offset. Thanks to the sort above these will all be consecutive in
@@ -8466,11 +8482,15 @@ display_debug_ranges (struct dwarf_section *section,
continue;
last_offset = offset;
- if (dwarf_check != 0 && i > 0)
+ if (dwarf_check != 0)
{
if (start < next)
- warn (_("There is a hole [%#tx - %#tx] in %s section.\n"),
- start - section_begin, next - section_begin, section->name);
+ {
+ if (last_end != next)
+ warn (_("There is a hole [%#tx - %#tx] in %s section.\n"),
+ last_end - section_begin, next - section_begin,
+ section->name);
+ }
else if (start > next)
{
if (next == last_start)
@@ -8484,11 +8504,14 @@ display_debug_ranges (struct dwarf_section *section,
last_start = next;
if (is_rnglists)
- display_debug_rnglists_list
- (start, finish, pointer_size, offset, base_address, debug_info_p->addr_base);
+ last_end
+ = display_debug_rnglists_list
+ (start, finish, pointer_size, offset, base_address,
+ debug_info_p->addr_base);
else
- display_debug_ranges_list
- (start, finish, pointer_size, offset, base_address);
+ last_end
+ = display_debug_ranges_list
+ (start, finish, pointer_size, offset, base_address);
}
/* Display trailing empty (or unreferenced) compile units, if any. */
@@ -10907,7 +10930,7 @@ display_debug_links (struct dwarf_section * section,
(padding) If needed to reach a 4 byte boundary.
(uint32_t) CRC32 value.
- The .gun_debugaltlink section is formatted as:
+ The .gnu_debugaltlink section is formatted as:
(c-string) Filename.
(binary) Build-ID. */
@@ -12307,7 +12330,7 @@ load_build_id_debug_file (const char * main_filename ATTRIBUTE_UNUSED, void * ma
+ strlen (".debug")
/* The next string should be the same as the longest
name found in the prefixes[] array below. */
- + strlen ("/usrlib64/debug/usr")
+ + strlen ("/usr/lib64/debug/usr/")
+ 1);
void * handle;
@@ -12318,7 +12341,7 @@ load_build_id_debug_file (const char * main_filename ATTRIBUTE_UNUSED, void * ma
"/usr/lib/debug/",
"/usr/lib/debug/usr/",
"/usr/lib64/debug/",
- "/usr/lib64/debug/usr"
+ "/usr/lib64/debug/usr/"
};
long unsigned int i;
diff --git a/binutils/elfedit.c b/binutils/elfedit.c
index 1178d8a..43c319f 100644
--- a/binutils/elfedit.c
+++ b/binutils/elfedit.c
@@ -105,7 +105,18 @@ update_gnu_property (const char *file_name, FILE *file)
if (map == MAP_FAILED)
{
error (_("%s: mmap () failed\n"), file_name);
- return 0;
+ return 1;
+ }
+
+ if ((elf_header.e_ident[EI_CLASS] == ELFCLASS32
+ ? sizeof (Elf32_External_Phdr)
+ : sizeof (Elf64_External_Phdr)) != elf_header.e_phentsize
+ || elf_header.e_phoff > (size_t) st_buf.st_size
+ || (elf_header.e_phnum * (size_t) elf_header.e_phentsize
+ > st_buf.st_size - elf_header.e_phoff))
+ {
+ error (_("%s: can't read program headers\n"), file_name);
+ return 1;
}
phdrs = xmalloc (elf_header.e_phnum * sizeof (*phdrs));
diff --git a/binutils/nm.c b/binutils/nm.c
index 7ef5d61..a5d5631 100644
--- a/binutils/nm.c
+++ b/binutils/nm.c
@@ -801,10 +801,7 @@ filter_symbols (bfd *abfd, bool is_dynamic, void *minisyms,
if (sym == NULL)
continue;
- if (sym->name != NULL
- && sym->name[0] == '_'
- && sym->name[1] == '_'
- && strcmp (sym->name + (sym->name[2] == '_'), "__gnu_lto_slim") == 0
+ if (bfd_lto_slim_symbol_p (abfd, sym->name)
&& report_plugin_err)
{
report_plugin_err = false;
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 31933e1..2e98ba4 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -30,6 +30,8 @@
#include "coff/internal.h"
#include "libcoff.h"
#include "safe-ctype.h"
+#include "plugin-api.h"
+#include "plugin.h"
/* FIXME: See bfd/peXXigen.c for why we include an architecture specific
header in generic PE code. */
@@ -165,6 +167,11 @@ static struct section_list *change_sections;
/* TRUE if some sections are to be removed. */
static bool sections_removed;
+#if BFD_SUPPORTS_PLUGINS
+/* TRUE if all GCC LTO sections are to be removed. */
+static bool lto_sections_removed;
+#endif
+
/* TRUE if only some sections are to be copied. */
static bool sections_copied;
@@ -359,6 +366,7 @@ enum command_line_switch
OPTION_RENAME_SECTION,
OPTION_REVERSE_BYTES,
OPTION_PE_SECTION_ALIGNMENT,
+ OPTION_PLUGIN,
OPTION_SET_SECTION_FLAGS,
OPTION_SET_SECTION_ALIGNMENT,
OPTION_SET_START,
@@ -402,6 +410,7 @@ static struct option strip_options[] =
{"output-file", required_argument, 0, 'o'},
{"output-format", required_argument, 0, 'O'}, /* Obsolete */
{"output-target", required_argument, 0, 'O'},
+ {"plugin", required_argument, 0, OPTION_PLUGIN},
{"preserve-dates", no_argument, 0, 'p'},
{"remove-section", required_argument, 0, 'R'},
{"remove-relocations", required_argument, 0, OPTION_REMOVE_RELOCS},
@@ -758,6 +767,10 @@ strip_usage (FILE *stream, int exit_status)
--info List object formats & architectures supported\n\
-o <file> Place stripped output into <file>\n\
"));
+#if BFD_SUPPORTS_PLUGINS
+ fprintf (stream, _("\
+ --plugin NAME Load the specified plugin\n"));
+#endif
list_supported_targets (program_name, stream);
if (REPORT_BUGS_TO[0] && exit_status == 0)
@@ -1916,20 +1929,11 @@ add_redefine_syms_file (const char *filename)
Returns TRUE upon success, FALSE otherwise. */
static bool
-copy_unknown_object (bfd *ibfd, bfd *obfd)
+copy_unknown_file (bfd *ibfd, bfd *obfd, off_t size, unsigned int mode)
{
char *cbuf;
bfd_size_type tocopy;
- off_t size;
- struct stat buf;
-
- if (bfd_stat_arch_elt (ibfd, &buf) != 0)
- {
- bfd_nonfatal_message (NULL, ibfd, NULL, NULL);
- return false;
- }
- size = buf.st_size;
if (size < 0)
{
non_fatal (_("stat returns negative size for `%s'"),
@@ -1974,11 +1978,31 @@ copy_unknown_object (bfd *ibfd, bfd *obfd)
/* We should at least to be able to read it back when copying an
unknown object in an archive. */
- chmod (bfd_get_filename (obfd), buf.st_mode | S_IRUSR);
+ chmod (bfd_get_filename (obfd), mode | S_IRUSR);
free (cbuf);
return true;
}
+/* Copy unknown object file archive member IBFD onto OBFD.
+ Returns TRUE upon success, FALSE otherwise. */
+
+static bool
+copy_unknown_object (bfd *ibfd, bfd *obfd)
+{
+ struct stat buf;
+
+ if (bfd_stat_arch_elt (ibfd, &buf) != 0)
+ {
+ bfd_nonfatal_message (NULL, ibfd, NULL, NULL);
+ return false;
+ }
+
+ if (!copy_unknown_file (ibfd, obfd, buf.st_size, buf.st_mode))
+ return false;
+
+ return true;
+}
+
typedef struct objcopy_internal_note
{
Elf_Internal_Note note;
@@ -3744,6 +3768,12 @@ copy_archive (bfd *ibfd, bfd *obfd, const char *output_target,
goto cleanup_and_exit;
}
+#if BFD_SUPPORTS_PLUGINS
+ /* Copy LTO IR file as unknown object. */
+ if (bfd_plugin_target_p (this_element->xvec))
+ ok_object = false;
+ else
+#endif
if (ok_object)
{
ok = copy_object (this_element, output_element, input_arch);
@@ -3845,6 +3875,7 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
char **obj_matching;
char **core_matching;
off_t size = get_file_size (input_filename);
+ const char *target = input_target;
if (size < 1)
{
@@ -3855,9 +3886,16 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
return;
}
+#if BFD_SUPPORTS_PLUGINS
+ /* Enable LTO plugin in strip unless all LTO sections should be
+ removed. */
+ if (is_strip && !target && !lto_sections_removed)
+ target = "plugin";
+#endif
+
/* To allow us to do "strip *" without dying on the first
non-object file, failures are nonfatal. */
- ibfd = bfd_openr (input_filename, input_target);
+ ibfd = bfd_openr (input_filename, target);
if (ibfd == NULL || bfd_stat (ibfd, in_stat) != 0)
{
bfd_nonfatal_message (input_filename, NULL, NULL, NULL);
@@ -3974,17 +4012,31 @@ copy_file (const char *input_filename, const char *output_filename, int ofd,
return;
}
- if (! copy_object (ibfd, obfd, input_arch))
- status = 1;
-
- /* PR 17512: file: 0f15796a.
- If the file could not be copied it may not be in a writeable
- state. So use bfd_close_all_done to avoid the possibility of
- writing uninitialised data into the file. */
- if (! (status ? bfd_close_all_done (obfd) : bfd_close (obfd)))
+#if BFD_SUPPORTS_PLUGINS
+ if (bfd_plugin_target_p (ibfd->xvec))
{
- status = 1;
- bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
+ /* Copy LTO IR file as unknown file. */
+ if (!copy_unknown_file (ibfd, obfd, in_stat->st_size,
+ in_stat->st_mode))
+ status = 1;
+ else if (!bfd_close_all_done (obfd))
+ status = 1;
+ }
+ else
+#endif
+ {
+ if (! copy_object (ibfd, obfd, input_arch))
+ status = 1;
+
+ /* PR 17512: file: 0f15796a.
+ If the file could not be copied it may not be in a writeable
+ state. So use bfd_close_all_done to avoid the possibility of
+ writing uninitialised data into the file. */
+ if (! (status ? bfd_close_all_done (obfd) : bfd_close (obfd)))
+ {
+ status = 1;
+ bfd_nonfatal_message (output_filename, NULL, NULL, NULL);
+ }
}
if (!bfd_close (ibfd))
@@ -4598,6 +4650,7 @@ copy_section (bfd *ibfd, sec_ptr isection, bfd *obfd)
char *to = (char *) memhunk;
char *end = (char *) memhunk + size;
int i;
+ bfd_size_type memhunk_size = size;
/* If the section address is not exactly divisible by the interleave,
then we must bias the from address. If the copy_byte is less than
@@ -4617,6 +4670,11 @@ copy_section (bfd *ibfd, sec_ptr isection, bfd *obfd)
}
size = (size + interleave - 1 - copy_byte) / interleave * copy_width;
+
+ /* Don't extend the output section size. */
+ if (size > memhunk_size)
+ size = memhunk_size;
+
osection->lma /= interleave;
if (copy_byte < extra)
osection->lma++;
@@ -4837,6 +4895,10 @@ strip_main (int argc, char *argv[])
char *output_file = NULL;
bool merge_notes_set = false;
+#if BFD_SUPPORTS_PLUGINS
+ bfd_plugin_set_program_name (argv[0]);
+#endif
+
while ((c = getopt_long (argc, argv, "I:O:F:K:MN:R:o:sSpdgxXHhVvwDU",
strip_options, (int *) 0)) != EOF)
{
@@ -4927,6 +4989,13 @@ strip_main (int argc, char *argv[])
case OPTION_KEEP_SECTION_SYMBOLS:
keep_section_symbols = true;
break;
+ case OPTION_PLUGIN: /* --plugin */
+#if BFD_SUPPORTS_PLUGINS
+ bfd_plugin_set_plugin (optarg);
+#else
+ fatal (_("sorry - this program has been built without plugin support\n"));
+#endif
+ break;
case 0:
/* We've been given a long option. */
break;
@@ -4971,6 +5040,14 @@ strip_main (int argc, char *argv[])
if (output_target == NULL)
output_target = input_target;
+#if BFD_SUPPORTS_PLUGINS
+ /* Check if all GCC LTO sections should be removed, assuming all LTO
+ sections will be removed with -R .gnu.lto_.*. * Remove .gnu.lto_.*
+ sections will also remove .gnu.debuglto_. sections. */
+ lto_sections_removed = !!find_section_list (".gnu.lto_.*", false,
+ SECTION_CONTEXT_REMOVE);
+#endif
+
i = optind;
if (i == argc
|| (output_file != NULL && (i + 1) < argc))
diff --git a/binutils/objdump.c b/binutils/objdump.c
index 8fdbe03..43cfb79 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -4206,12 +4206,12 @@ disassemble_data (bfd *abfd)
abfd->arch_info = inf;
}
+ const struct bfd_target *old_xvec = NULL;
if (endian != BFD_ENDIAN_UNKNOWN)
{
- struct bfd_target *xvec;
-
- xvec = (struct bfd_target *) xmalloc (sizeof (struct bfd_target));
- memcpy (xvec, abfd->xvec, sizeof (struct bfd_target));
+ struct bfd_target *xvec = xmalloc (sizeof (*xvec));
+ old_xvec = abfd->xvec;
+ memcpy (xvec, old_xvec, sizeof (*xvec));
xvec->byteorder = endian;
abfd->xvec = xvec;
}
@@ -4225,8 +4225,7 @@ disassemble_data (bfd *abfd)
non_fatal (_("can't disassemble for architecture %s\n"),
bfd_printable_arch_mach (bfd_get_arch (abfd), 0));
exit_status = 1;
- free (sorted_syms);
- return;
+ goto out;
}
disasm_info.flavour = bfd_get_flavour (abfd);
@@ -4280,8 +4279,15 @@ disassemble_data (bfd *abfd)
free (disasm_info.dynrelbuf);
disasm_info.dynrelbuf = NULL;
- free (sorted_syms);
disassemble_free_target (&disasm_info);
+ out:
+ free (sorted_syms);
+ sorted_syms = NULL;
+ if (old_xvec)
+ {
+ free ((void *) abfd->xvec);
+ abfd->xvec = old_xvec;
+ }
}
static bool
diff --git a/binutils/readelf.c b/binutils/readelf.c
index dd1871d..f49092f 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -17779,13 +17779,17 @@ display_tag_value (signed int tag,
else if (tag & 1)
{
/* PR 17531 file: 027-19978-0.004. */
- size_t maxlen = (end - p) - 1;
+ size_t maxlen = end - p;
putchar ('"');
if (maxlen > 0)
{
+ maxlen -= 1; /* Remove \0 from the character count. */
print_symbol_name ((int) maxlen, (const char *) p);
- p += strnlen ((char *) p, maxlen) + 1;
+ size_t len = strnlen ((char *) p, maxlen);
+ if (len == maxlen && p[maxlen] != '\0')
+ printf (_("<corrupt string tag>"));
+ p += len + 1;
}
else
{
@@ -21288,6 +21292,33 @@ decode_aarch64_feature_1_and (unsigned int bitmask)
}
static void
+decode_riscv_feature_1_and (unsigned int bitmask)
+{
+ while (bitmask)
+ {
+ unsigned int bit = bitmask & (- bitmask);
+
+ bitmask &= ~ bit;
+ switch (bit)
+ {
+ case GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED:
+ printf ("CFI_LP_UNLABELED");
+ break;
+
+ case GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS:
+ printf ("CFI_SS");
+ break;
+
+ default:
+ printf (_("<unknown: %x>"), bit);
+ break;
+ }
+ if (bitmask)
+ printf (", ");
+ }
+}
+
+static void
decode_1_needed (unsigned int bitmask)
{
while (bitmask)
@@ -21477,6 +21508,18 @@ print_gnu_property_note (Filedata * filedata, Elf_Internal_Note * pnote)
goto next;
}
}
+ else if (filedata->file_header.e_machine == EM_RISCV)
+ {
+ if (type == GNU_PROPERTY_RISCV_FEATURE_1_AND)
+ {
+ printf ("RISC-V AND feature: ");
+ if (datasz != 4)
+ printf (_("<corrupt length: %#x> "), datasz);
+ else
+ decode_riscv_feature_1_and (byte_get (ptr, 4));
+ goto next;
+ }
+ }
}
else
{
diff --git a/binutils/resbin.c b/binutils/resbin.c
index 388b016..889126e 100644
--- a/binutils/resbin.c
+++ b/binutils/resbin.c
@@ -54,8 +54,8 @@ static rc_res_resource *bin_to_res_group_cursor (windres_bfd *, const bfd_byte *
static rc_res_resource *bin_to_res_group_icon (windres_bfd *, const bfd_byte *, rc_uint_type);
static rc_res_resource *bin_to_res_version (windres_bfd *, const bfd_byte *, rc_uint_type);
static rc_res_resource *bin_to_res_userdata (windres_bfd *, const bfd_byte *, rc_uint_type);
-static rc_res_resource *bin_to_res_toolbar (windres_bfd *, const bfd_byte *);
-static void get_version_header (windres_bfd *, const bfd_byte *, rc_uint_type, const char *,
+static rc_res_resource *bin_to_res_toolbar (windres_bfd *, const bfd_byte *, rc_uint_type);
+static bool get_version_header (windres_bfd *, const bfd_byte *, rc_uint_type, const char *,
unichar **, rc_uint_type *, rc_uint_type *, rc_uint_type *,
rc_uint_type *);
@@ -105,7 +105,7 @@ bin_to_res (windres_bfd *wrbfd, rc_res_id type, const bfd_byte *data,
case RT_VERSION:
return bin_to_res_version (wrbfd, data, length);
case RT_TOOLBAR:
- return bin_to_res_toolbar (wrbfd, data);
+ return bin_to_res_toolbar (wrbfd, data, length);
}
}
@@ -116,7 +116,7 @@ bin_to_res (windres_bfd *wrbfd, rc_res_id type, const bfd_byte *data,
static void
toosmall (const char *msg)
{
- fatal (_("%s: not enough binary data"), msg);
+ non_fatal (_("%s: not enough binary data"), msg);
}
/* Swap in a NULL terminated unicode string. */
@@ -132,16 +132,19 @@ get_unicode (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length,
while (1)
{
if (length < c * 2 + 2)
- toosmall (_("null terminated unicode string"));
- if (windres_get_16 (wrbfd, data + c * 2, 2) == 0)
+ {
+ toosmall (_("null terminated unicode string"));
+ return NULL;
+ }
+ if (windres_get_16 (wrbfd, data + c * 2) == 0)
break;
++c;
}
- ret = (unichar *) res_alloc ((c + 1) * sizeof (unichar));
+ ret = res_alloc ((c + 1) * sizeof (unichar));
for (i = 0; i < c; i++)
- ret[i] = windres_get_16 (wrbfd, data + i * 2, 2);
+ ret[i] = windres_get_16 (wrbfd, data + i * 2);
ret[i] = 0;
if (retlen != NULL)
@@ -159,21 +162,29 @@ get_resid (windres_bfd *wrbfd, rc_res_id *id, const bfd_byte *data,
rc_uint_type first;
if (length < 2)
- toosmall (_("resource ID"));
+ {
+ toosmall (_("resource ID"));
+ return -1;
+ }
- first = windres_get_16 (wrbfd, data, 2);
+ first = windres_get_16 (wrbfd, data);
if (first == 0xffff)
{
if (length < 4)
- toosmall (_("resource ID"));
+ {
+ toosmall (_("resource ID"));
+ return -1;
+ }
id->named = 0;
- id->u.id = windres_get_16 (wrbfd, data + 2, 2);
+ id->u.id = windres_get_16 (wrbfd, data + 2);
return 4;
}
else
{
id->named = 1;
id->u.n.name = get_unicode (wrbfd, data, length, &id->u.n.length);
+ if (id->u.n.name == NULL)
+ return -1;
return id->u.n.length * 2 + 2;
}
}
@@ -187,7 +198,7 @@ bin_to_res_generic (windres_bfd *wrbfd ATTRIBUTE_UNUSED, enum rc_res_type type,
{
rc_res_resource *r;
- r = (rc_res_resource *) res_alloc (sizeof (rc_res_resource));
+ r = res_alloc (sizeof (rc_res_resource));
r->type = type;
r->u.data.data = data;
r->u.data.length = length;
@@ -204,15 +215,18 @@ bin_to_res_cursor (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
rc_res_resource *r;
if (length < 4)
- toosmall (_("cursor"));
+ {
+ toosmall (_("cursor"));
+ return NULL;
+ }
- c = (rc_cursor *) res_alloc (sizeof (rc_cursor));
- c->xhotspot = windres_get_16 (wrbfd, data, 2);
- c->yhotspot = windres_get_16 (wrbfd, data + 2, 2);
+ c = res_alloc (sizeof (rc_cursor));
+ c->xhotspot = windres_get_16 (wrbfd, data);
+ c->yhotspot = windres_get_16 (wrbfd, data + 2);
c->length = length - 4;
c->data = data + 4;
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_CURSOR;
r->u.cursor = c;
@@ -228,39 +242,58 @@ bin_to_res_menu (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
rc_menu *m;
rc_uint_type version, got;
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_MENU;
- m = (rc_menu *) res_alloc (sizeof (rc_menu));
+ m = res_alloc (sizeof (rc_menu));
r->u.menu = m;
if (length < 2)
- toosmall (_("menu header"));
+ {
+ toosmall (_("menu header"));
+ return NULL;
+ }
- version = windres_get_16 (wrbfd, data, 2);
+ version = windres_get_16 (wrbfd, data);
if (version == 0)
{
if (length < 4)
- toosmall (_("menu header"));
+ {
+ toosmall (_("menu header"));
+ return NULL;
+ }
m->help = 0;
m->items = bin_to_res_menuitems (wrbfd, data + 4, length - 4, &got);
+ if (m->items == NULL)
+ return NULL;
}
else if (version == 1)
{
rc_uint_type offset;
if (length < 8)
- toosmall (_("menuex header"));
- m->help = windres_get_32 (wrbfd, data + 4, 4);
- offset = windres_get_16 (wrbfd, data + 2, 2);
+ {
+ toosmall (_("menuex header"));
+ return NULL;
+ }
+ m->help = windres_get_32 (wrbfd, data + 4);
+ offset = windres_get_16 (wrbfd, data + 2);
if (offset + 4 >= length)
- toosmall (_("menuex offset"));
+ {
+ toosmall (_("menuex offset"));
+ return NULL;
+ }
m->items = bin_to_res_menuexitems (wrbfd, data + 4 + offset,
length - (4 + offset), &got);
+ if (m->items == NULL)
+ return NULL;
}
else
- fatal (_("unsupported menu version %d"), (int) version);
+ {
+ non_fatal (_("unsupported menu version %d"), (int) version);
+ return NULL;
+ }
return r;
}
@@ -268,8 +301,8 @@ bin_to_res_menu (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
/* Convert menu items from binary. */
static rc_menuitem *
-bin_to_res_menuitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length,
- rc_uint_type *got)
+bin_to_res_menuitems (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length, rc_uint_type *got)
{
rc_menuitem *first, **pp;
@@ -285,13 +318,16 @@ bin_to_res_menuitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type len
rc_menuitem *mi;
if (length < 4)
- toosmall (_("menuitem header"));
+ {
+ toosmall (_("menuitem header"));
+ return NULL;
+ }
- mi = (rc_menuitem *) res_alloc (sizeof *mi);
+ mi = res_alloc (sizeof *mi);
mi->state = 0;
mi->help = 0;
- flags = windres_get_16 (wrbfd, data, 2);
+ flags = windres_get_16 (wrbfd, data);
mi->type = flags &~ (MENUITEM_POPUP | MENUITEM_ENDMENU);
if ((flags & MENUITEM_POPUP) == 0)
@@ -300,30 +336,39 @@ bin_to_res_menuitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type len
stroff = 2;
if (length < stroff + 2)
- toosmall (_("menuitem header"));
+ {
+ toosmall (_("menuitem header"));
+ return NULL;
+ }
- if (windres_get_16 (wrbfd, data + stroff, 2) == 0)
+ if (windres_get_16 (wrbfd, data + stroff) == 0)
{
slen = 0;
mi->text = NULL;
}
else
- mi->text = get_unicode (wrbfd, data + stroff, length - stroff, &slen);
+ {
+ mi->text = get_unicode (wrbfd, data + stroff, length - stroff, &slen);
+ if (mi->text == NULL)
+ return NULL;
+ }
itemlen = stroff + slen * 2 + 2;
if ((flags & MENUITEM_POPUP) == 0)
{
mi->popup = NULL;
- mi->id = windres_get_16 (wrbfd, data + 2, 2);
+ mi->id = windres_get_16 (wrbfd, data + 2);
}
else
{
rc_uint_type subread;
mi->id = 0;
- mi->popup = bin_to_res_menuitems (wrbfd, data + itemlen, length - itemlen,
- &subread);
+ mi->popup = bin_to_res_menuitems (wrbfd, data + itemlen,
+ length - itemlen, &subread);
+ if (mi->popup == NULL)
+ return NULL;
itemlen += subread;
}
@@ -345,8 +390,8 @@ bin_to_res_menuitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type len
/* Convert menuex items from binary. */
static rc_menuitem *
-bin_to_res_menuexitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length,
- rc_uint_type *got)
+bin_to_res_menuexitems (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length, rc_uint_type *got)
{
rc_menuitem *first, **pp;
@@ -362,25 +407,37 @@ bin_to_res_menuexitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type l
rc_menuitem *mi;
if (length < 16)
- toosmall (_("menuitem header"));
+ {
+ toosmall (_("menuitem header"));
+ return NULL;
+ }
- mi = (rc_menuitem *) res_alloc (sizeof (rc_menuitem));
- mi->type = windres_get_32 (wrbfd, data, 4);
- mi->state = windres_get_32 (wrbfd, data + 4, 4);
- mi->id = windres_get_32 (wrbfd, data + 8, 4);
+ mi = res_alloc (sizeof (rc_menuitem));
+ mi->type = windres_get_32 (wrbfd, data);
+ mi->state = windres_get_32 (wrbfd, data + 4);
+ mi->id = windres_get_32 (wrbfd, data + 8);
- flags = windres_get_16 (wrbfd, data + 12, 2);
+ flags = windres_get_16 (wrbfd, data + 12);
- if (windres_get_16 (wrbfd, data + 14, 2) == 0)
+ if (windres_get_16 (wrbfd, data + 14) == 0)
{
slen = 0;
mi->text = NULL;
}
else
- mi->text = get_unicode (wrbfd, data + 14, length - 14, &slen);
+ {
+ mi->text = get_unicode (wrbfd, data + 14, length - 14, &slen);
+ if (mi->text == NULL)
+ return NULL;
+ }
itemlen = 14 + slen * 2 + 2;
itemlen = (itemlen + 3) &~ 3;
+ /* Don't allow rounding up of itemlen to exceed length. This
+ is an anti-fuzzer measure to cope with unexpected offsets and
+ lengths. */
+ if (itemlen > length)
+ itemlen = length;
if ((flags & 1) == 0)
{
@@ -392,12 +449,17 @@ bin_to_res_menuexitems (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type l
rc_uint_type subread;
if (length < itemlen + 4)
- toosmall (_("menuitem"));
- mi->help = windres_get_32 (wrbfd, data + itemlen, 4);
+ {
+ toosmall (_("menuitem"));
+ return NULL;
+ }
+ mi->help = windres_get_32 (wrbfd, data + itemlen);
itemlen += 4;
mi->popup = bin_to_res_menuexitems (wrbfd, data + itemlen,
length - itemlen, &subread);
+ if (mi->popup == NULL)
+ return NULL;
itemlen += subread;
}
@@ -424,56 +486,72 @@ bin_to_res_dialog (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
rc_uint_type signature;
rc_dialog *d;
rc_uint_type c, sublen, i;
+ int ilen;
rc_uint_type off;
rc_dialog_control **pp;
rc_res_resource *r;
if (length < 18)
- toosmall (_("dialog header"));
+ {
+ toosmall (_("dialog header"));
+ return NULL;
+ }
- d = (rc_dialog *) res_alloc (sizeof (rc_dialog));
+ d = res_alloc (sizeof (rc_dialog));
- signature = windres_get_16 (wrbfd, data + 2, 2);
+ signature = windres_get_16 (wrbfd, data + 2);
if (signature != 0xffff)
{
d->ex = NULL;
- d->style = windres_get_32 (wrbfd, data, 4);
- d->exstyle = windres_get_32 (wrbfd, data + 4, 4);
+ d->style = windres_get_32 (wrbfd, data);
+ d->exstyle = windres_get_32 (wrbfd, data + 4);
off = 8;
}
else
{
int version;
- version = windres_get_16 (wrbfd, data, 2);
+ version = windres_get_16 (wrbfd, data);
if (version != 1)
- fatal (_("unexpected DIALOGEX version %d"), version);
+ {
+ non_fatal (_("unexpected DIALOGEX version %d"), version);
+ return NULL;
+ }
- d->ex = (rc_dialog_ex *) res_alloc (sizeof (rc_dialog_ex));
- d->ex->help = windres_get_32 (wrbfd, data + 4, 4);
- d->exstyle = windres_get_32 (wrbfd, data + 8, 4);
- d->style = windres_get_32 (wrbfd, data + 12, 4);
+ d->ex = res_alloc (sizeof (rc_dialog_ex));
+ d->ex->help = windres_get_32 (wrbfd, data + 4);
+ d->exstyle = windres_get_32 (wrbfd, data + 8);
+ d->style = windres_get_32 (wrbfd, data + 12);
off = 16;
}
if (length < off + 10)
- toosmall (_("dialog header"));
+ {
+ toosmall (_("dialog header"));
+ return NULL;
+ }
- c = windres_get_16 (wrbfd, data + off, 2);
- d->x = windres_get_16 (wrbfd, data + off + 2, 2);
- d->y = windres_get_16 (wrbfd, data + off + 4, 2);
- d->width = windres_get_16 (wrbfd, data + off + 6, 2);
- d->height = windres_get_16 (wrbfd, data + off + 8, 2);
+ c = windres_get_16 (wrbfd, data + off);
+ d->x = windres_get_16 (wrbfd, data + off + 2);
+ d->y = windres_get_16 (wrbfd, data + off + 4);
+ d->width = windres_get_16 (wrbfd, data + off + 6);
+ d->height = windres_get_16 (wrbfd, data + off + 8);
off += 10;
- sublen = get_resid (wrbfd, &d->menu, data + off, length - off);
- off += sublen;
+ ilen = get_resid (wrbfd, &d->menu, data + off, length - off);
+ if (ilen == -1)
+ return NULL;
+ off += ilen;
- sublen = get_resid (wrbfd, &d->class, data + off, length - off);
- off += sublen;
+ ilen = get_resid (wrbfd, &d->class, data + off, length - off);
+ if (ilen == -1)
+ return NULL;
+ off += ilen;
d->caption = get_unicode (wrbfd, data + off, length - off, &sublen);
+ if (d->caption == NULL)
+ return NULL;
off += sublen * 2 + 2;
if (sublen == 0)
d->caption = NULL;
@@ -492,22 +570,30 @@ bin_to_res_dialog (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
else
{
if (length < off + 2)
- toosmall (_("dialog font point size"));
+ {
+ toosmall (_("dialog font point size"));
+ return NULL;
+ }
- d->pointsize = windres_get_16 (wrbfd, data + off, 2);
+ d->pointsize = windres_get_16 (wrbfd, data + off);
off += 2;
if (d->ex != NULL)
{
if (length < off + 4)
- toosmall (_("dialogex font information"));
- d->ex->weight = windres_get_16 (wrbfd, data + off, 2);
- d->ex->italic = windres_get_8 (wrbfd, data + off + 2, 1);
- d->ex->charset = windres_get_8 (wrbfd, data + off + 3, 1);
+ {
+ toosmall (_("dialogex font information"));
+ return NULL;
+ }
+ d->ex->weight = windres_get_16 (wrbfd, data + off);
+ d->ex->italic = windres_get_8 (wrbfd, data + off + 2);
+ d->ex->charset = windres_get_8 (wrbfd, data + off + 3);
off += 4;
}
d->font = get_unicode (wrbfd, data + off, length - off, &sublen);
+ if (d->font == NULL)
+ return NULL;
off += sublen * 2 + 2;
}
@@ -521,53 +607,69 @@ bin_to_res_dialog (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
off = (off + 3) &~ 3;
- dc = (rc_dialog_control *) res_alloc (sizeof (rc_dialog_control));
+ dc = res_alloc (sizeof (rc_dialog_control));
if (d->ex == NULL)
{
if (length < off + 8)
- toosmall (_("dialog control"));
+ {
+ toosmall (_("dialog control"));
+ return NULL;
+ }
- dc->style = windres_get_32 (wrbfd, data + off, 4);
- dc->exstyle = windres_get_32 (wrbfd, data + off + 4, 4);
+ dc->style = windres_get_32 (wrbfd, data + off);
+ dc->exstyle = windres_get_32 (wrbfd, data + off + 4);
dc->help = 0;
off += 8;
}
else
{
if (length < off + 12)
- toosmall (_("dialogex control"));
- dc->help = windres_get_32 (wrbfd, data + off, 4);
- dc->exstyle = windres_get_32 (wrbfd, data + off + 4, 4);
- dc->style = windres_get_32 (wrbfd, data + off + 8, 4);
+ {
+ toosmall (_("dialogex control"));
+ return NULL;
+ }
+ dc->help = windres_get_32 (wrbfd, data + off);
+ dc->exstyle = windres_get_32 (wrbfd, data + off + 4);
+ dc->style = windres_get_32 (wrbfd, data + off + 8);
off += 12;
}
if (length < off + (d->ex != NULL ? 2 : 0) + 10)
- toosmall (_("dialog control"));
+ {
+ toosmall (_("dialog control"));
+ return NULL;
+ }
- dc->x = windres_get_16 (wrbfd, data + off, 2);
- dc->y = windres_get_16 (wrbfd, data + off + 2, 2);
- dc->width = windres_get_16 (wrbfd, data + off + 4, 2);
- dc->height = windres_get_16 (wrbfd, data + off + 6, 2);
+ dc->x = windres_get_16 (wrbfd, data + off);
+ dc->y = windres_get_16 (wrbfd, data + off + 2);
+ dc->width = windres_get_16 (wrbfd, data + off + 4);
+ dc->height = windres_get_16 (wrbfd, data + off + 6);
if (d->ex != NULL)
- dc->id = windres_get_32 (wrbfd, data + off + 8, 4);
+ dc->id = windres_get_32 (wrbfd, data + off + 8);
else
- dc->id = windres_get_16 (wrbfd, data + off + 8, 2);
+ dc->id = windres_get_16 (wrbfd, data + off + 8);
off += 10 + (d->ex != NULL ? 2 : 0);
- sublen = get_resid (wrbfd, &dc->class, data + off, length - off);
- off += sublen;
+ ilen = get_resid (wrbfd, &dc->class, data + off, length - off);
+ if (ilen == -1)
+ return NULL;
+ off += ilen;
- sublen = get_resid (wrbfd, &dc->text, data + off, length - off);
- off += sublen;
+ ilen = get_resid (wrbfd, &dc->text, data + off, length - off);
+ if (ilen == -1)
+ return NULL;
+ off += ilen;
if (length < off + 2)
- toosmall (_("dialog control end"));
+ {
+ toosmall (_("dialog control end"));
+ return NULL;
+ }
- datalen = windres_get_16 (wrbfd, data + off, 2);
+ datalen = windres_get_16 (wrbfd, data + off);
off += 2;
if (datalen == 0)
@@ -575,10 +677,12 @@ bin_to_res_dialog (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
else
{
if (length < off + datalen)
- toosmall (_("dialog control data"));
+ {
+ toosmall (_("dialog control data"));
+ return NULL;
+ }
- dc->data = ((rc_rcdata_item *)
- res_alloc (sizeof (rc_rcdata_item)));
+ dc->data = res_alloc (sizeof (rc_rcdata_item));
dc->data->next = NULL;
dc->data->type = RCDATA_BUFFER;
dc->data->u.buffer.length = datalen;
@@ -592,7 +696,7 @@ bin_to_res_dialog (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
pp = &dc->next;
}
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_DIALOG;
r->u.dialog = d;
@@ -608,15 +712,18 @@ bin_to_res_string (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
int i;
rc_res_resource *r;
- st = (rc_stringtable *) res_alloc (sizeof (rc_stringtable));
+ st = res_alloc (sizeof (rc_stringtable));
for (i = 0; i < 16; i++)
{
unsigned int slen;
if (length < 2)
- toosmall (_("stringtable string length"));
- slen = windres_get_16 (wrbfd, data, 2);
+ {
+ toosmall (_("stringtable string length"));
+ return NULL;
+ }
+ slen = windres_get_16 (wrbfd, data);
st->strings[i].length = slen;
if (slen > 0)
@@ -625,20 +732,23 @@ bin_to_res_string (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
unsigned int j;
if (length < 2 + 2 * slen)
- toosmall (_("stringtable string"));
+ {
+ toosmall (_("stringtable string"));
+ return NULL;
+ }
- s = (unichar *) res_alloc (slen * sizeof (unichar));
+ s = res_alloc (slen * sizeof (unichar));
st->strings[i].string = s;
for (j = 0; j < slen; j++)
- s[j] = windres_get_16 (wrbfd, data + 2 + j * 2, 2);
+ s[j] = windres_get_16 (wrbfd, data + 2 + j * 2);
}
data += 2 + 2 * slen;
length -= 2 + 2 * slen;
}
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_STRINGTABLE;
r->u.stringtable = st;
@@ -648,16 +758,20 @@ bin_to_res_string (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length
/* Convert a fontdir resource from binary. */
static rc_res_resource *
-bin_to_res_fontdir (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
+bin_to_res_fontdir (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length)
{
rc_uint_type c, i;
rc_fontdir *first, **pp;
rc_res_resource *r;
if (length < 2)
- toosmall (_("fontdir header"));
+ {
+ toosmall (_("fontdir header"));
+ return NULL;
+ }
- c = windres_get_16 (wrbfd, data, 2);
+ c = windres_get_16 (wrbfd, data);
first = NULL;
pp = &first;
@@ -669,11 +783,14 @@ bin_to_res_fontdir (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
unsigned int off;
if (length < 56)
- toosmall (_("fontdir"));
+ {
+ toosmall (_("fontdir"));
+ return NULL;
+ }
bfi = (const struct bin_fontdir_item *) data;
- fd = (rc_fontdir *) res_alloc (sizeof *fd);
- fd->index = windres_get_16 (wrbfd, bfi->index, 2);
+ fd = res_alloc (sizeof *fd);
+ fd->index = windres_get_16 (wrbfd, bfi->index);
/* To work out the length of the fontdir data, we must get the
length of the device name and face name strings, even though
@@ -686,13 +803,19 @@ bin_to_res_fontdir (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
while (off < length && data[off] != '\0')
++off;
if (off >= length)
- toosmall (_("fontdir device name"));
+ {
+ toosmall (_("fontdir device name"));
+ return NULL;
+ }
++off;
while (off < length && data[off] != '\0')
++off;
if (off >= length)
- toosmall (_("fontdir face name"));
+ {
+ toosmall (_("fontdir face name"));
+ return NULL;
+ }
++off;
fd->length = off;
@@ -709,7 +832,7 @@ bin_to_res_fontdir (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
length -= off;
}
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_FONTDIR;
r->u.fontdir = first;
@@ -719,7 +842,8 @@ bin_to_res_fontdir (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
/* Convert an accelerators resource from binary. */
static rc_res_resource *
-bin_to_res_accelerators (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
+bin_to_res_accelerators (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length)
{
rc_accelerator *first, **pp;
rc_res_resource *r;
@@ -732,13 +856,16 @@ bin_to_res_accelerators (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type
rc_accelerator *a;
if (length < 8)
- toosmall (_("accelerator"));
+ {
+ toosmall (_("accelerator"));
+ return NULL;
+ }
- a = (rc_accelerator *) res_alloc (sizeof (rc_accelerator));
+ a = res_alloc (sizeof (rc_accelerator));
- a->flags = windres_get_16 (wrbfd, data, 2);
- a->key = windres_get_16 (wrbfd, data + 2, 2);
- a->id = windres_get_16 (wrbfd, data + 4, 2);
+ a->flags = windres_get_16 (wrbfd, data);
+ a->key = windres_get_16 (wrbfd, data + 2);
+ a->id = windres_get_16 (wrbfd, data + 4);
a->next = NULL;
*pp = a;
@@ -751,7 +878,7 @@ bin_to_res_accelerators (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type
length -= 8;
}
- r = (rc_res_resource *) res_alloc (sizeof (rc_res_resource));
+ r = res_alloc (sizeof (rc_res_resource));
r->type = RES_TYPE_ACCELERATOR;
r->u.acc = first;
@@ -767,14 +894,14 @@ bin_to_res_rcdata (windres_bfd *wrbfd ATTRIBUTE_UNUSED, const bfd_byte *data,
rc_rcdata_item *ri;
rc_res_resource *r;
- ri = (rc_rcdata_item *) res_alloc (sizeof (rc_rcdata_item));
+ ri = res_alloc (sizeof (rc_rcdata_item));
ri->next = NULL;
ri->type = RCDATA_BUFFER;
ri->u.buffer.length = length;
ri->u.buffer.data = data;
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = rctyp;
r->u.rcdata = ri;
@@ -784,20 +911,27 @@ bin_to_res_rcdata (windres_bfd *wrbfd ATTRIBUTE_UNUSED, const bfd_byte *data,
/* Convert a group cursor resource from binary. */
static rc_res_resource *
-bin_to_res_group_cursor (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
+bin_to_res_group_cursor (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length)
{
int type, c, i;
rc_group_cursor *first, **pp;
rc_res_resource *r;
if (length < 6)
- toosmall (_("group cursor header"));
+ {
+ toosmall (_("group cursor header"));
+ return NULL;
+ }
- type = windres_get_16 (wrbfd, data + 2, 2);
+ type = windres_get_16 (wrbfd, data + 2);
if (type != 2)
- fatal (_("unexpected group cursor type %d"), type);
+ {
+ non_fatal (_("unexpected group cursor type %d"), type);
+ return NULL;
+ }
- c = windres_get_16 (wrbfd, data + 4, 2);
+ c = windres_get_16 (wrbfd, data + 4);
data += 6;
length -= 6;
@@ -810,16 +944,19 @@ bin_to_res_group_cursor (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type
rc_group_cursor *gc;
if (length < 14)
- toosmall (_("group cursor"));
+ {
+ toosmall (_("group cursor"));
+ return NULL;
+ }
- gc = (rc_group_cursor *) res_alloc (sizeof *gc);
+ gc = res_alloc (sizeof *gc);
- gc->width = windres_get_16 (wrbfd, data, 2);
- gc->height = windres_get_16 (wrbfd, data + 2, 2);
- gc->planes = windres_get_16 (wrbfd, data + 4, 2);
- gc->bits = windres_get_16 (wrbfd, data + 6, 2);
- gc->bytes = windres_get_32 (wrbfd, data + 8, 4);
- gc->index = windres_get_16 (wrbfd, data + 12, 2);
+ gc->width = windres_get_16 (wrbfd, data);
+ gc->height = windres_get_16 (wrbfd, data + 2);
+ gc->planes = windres_get_16 (wrbfd, data + 4);
+ gc->bits = windres_get_16 (wrbfd, data + 6);
+ gc->bytes = windres_get_32 (wrbfd, data + 8);
+ gc->index = windres_get_16 (wrbfd, data + 12);
gc->next = NULL;
*pp = gc;
@@ -829,7 +966,7 @@ bin_to_res_group_cursor (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type
length -= 14;
}
- r = (rc_res_resource *) res_alloc (sizeof (rc_res_resource));
+ r = res_alloc (sizeof (rc_res_resource));
r->type = RES_TYPE_GROUP_CURSOR;
r->u.group_cursor = first;
@@ -839,20 +976,27 @@ bin_to_res_group_cursor (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type
/* Convert a group icon resource from binary. */
static rc_res_resource *
-bin_to_res_group_icon (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
+bin_to_res_group_icon (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length)
{
int type, c, i;
rc_group_icon *first, **pp;
rc_res_resource *r;
if (length < 6)
- toosmall (_("group icon header"));
+ {
+ toosmall (_("group icon header"));
+ return NULL;
+ }
- type = windres_get_16 (wrbfd, data + 2, 2);
+ type = windres_get_16 (wrbfd, data + 2);
if (type != 1)
- fatal (_("unexpected group icon type %d"), type);
+ {
+ non_fatal (_("unexpected group icon type %d"), type);
+ return NULL;
+ }
- c = windres_get_16 (wrbfd, data + 4, 2);
+ c = windres_get_16 (wrbfd, data + 4);
data += 6;
length -= 6;
@@ -865,17 +1009,20 @@ bin_to_res_group_icon (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type le
rc_group_icon *gi;
if (length < 14)
- toosmall (_("group icon"));
+ {
+ toosmall (_("group icon"));
+ return NULL;
+ }
- gi = (rc_group_icon *) res_alloc (sizeof (rc_group_icon));
+ gi = res_alloc (sizeof (rc_group_icon));
- gi->width = windres_get_8 (wrbfd, data, 1);
- gi->height = windres_get_8 (wrbfd, data + 1, 1);
- gi->colors = windres_get_8 (wrbfd, data + 2, 1);
- gi->planes = windres_get_16 (wrbfd, data + 4, 2);
- gi->bits = windres_get_16 (wrbfd, data + 6, 2);
- gi->bytes = windres_get_32 (wrbfd, data + 8, 4);
- gi->index = windres_get_16 (wrbfd, data + 12, 2);
+ gi->width = windres_get_8 (wrbfd, data);
+ gi->height = windres_get_8 (wrbfd, data + 1);
+ gi->colors = windres_get_8 (wrbfd, data + 2);
+ gi->planes = windres_get_16 (wrbfd, data + 4);
+ gi->bits = windres_get_16 (wrbfd, data + 6);
+ gi->bytes = windres_get_32 (wrbfd, data + 8);
+ gi->index = windres_get_16 (wrbfd, data + 12);
gi->next = NULL;
*pp = gi;
@@ -885,7 +1032,7 @@ bin_to_res_group_icon (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type le
length -= 14;
}
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_GROUP_ICON;
r->u.group_icon = first;
@@ -897,18 +1044,21 @@ bin_to_res_group_icon (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type le
sets *LEN to the total length, *VALLEN to the value length, *TYPE
to the type, and *OFF to the offset to the children. */
-static void
-get_version_header (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length,
- const char *key, unichar **pkey,
+static bool
+get_version_header (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length, const char *key, unichar **pkey,
rc_uint_type *len, rc_uint_type *vallen, rc_uint_type *type,
rc_uint_type *off)
{
if (length < 8)
- toosmall (key);
+ {
+ toosmall (key);
+ return false;
+ }
- *len = (windres_get_16 (wrbfd, data, 2) + 3) & ~3;
- *vallen = windres_get_16 (wrbfd, data + 2, 2);
- *type = windres_get_16 (wrbfd, data + 4, 2);
+ *len = (windres_get_16 (wrbfd, data) + 3) & ~3;
+ *vallen = windres_get_16 (wrbfd, data + 2);
+ *type = windres_get_16 (wrbfd, data + 4);
*off = 6;
@@ -920,6 +1070,8 @@ get_version_header (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
rc_uint_type sublen;
*pkey = get_unicode (wrbfd, data, length, &sublen);
+ if (*pkey == NULL)
+ return false;
*off += (sublen + 1) * sizeof (unichar);
}
else
@@ -927,9 +1079,15 @@ get_version_header (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
while (1)
{
if (length < 2)
- toosmall (key);
- if (windres_get_16 (wrbfd, data, 2) != (bfd_byte) *key)
- fatal (_("unexpected version string"));
+ {
+ toosmall (key);
+ return false;
+ }
+ if (windres_get_16 (wrbfd, data) != (bfd_byte) *key)
+ {
+ non_fatal (_("unexpected version string"));
+ return false;
+ }
*off += 2;
length -= 2;
@@ -943,12 +1101,14 @@ get_version_header (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
}
*off = (*off + 3) &~ 3;
+ return true;
}
/* Convert a version resource from binary. */
static rc_res_resource *
-bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type length)
+bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length)
{
rc_uint_type verlen, vallen, type, off;
rc_fixed_versioninfo *fi;
@@ -956,18 +1116,26 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
rc_versioninfo *v;
rc_res_resource *r;
- get_version_header (wrbfd, data, length, "VS_VERSION_INFO",
- (unichar **) NULL, &verlen, &vallen, &type, &off);
+ if (!get_version_header (wrbfd, data, length, "VS_VERSION_INFO",
+ (unichar **) NULL, &verlen, &vallen, &type, &off))
+ return NULL;
/* PR 17512: The verlen field does not include padding length. */
if (verlen > length)
- fatal (_("version length %lu greater than resource length %lu"),
- (unsigned long) verlen, (unsigned long) length);
+ {
+ non_fatal (_("version length %lu greater than resource length %lu"),
+ (unsigned long) verlen, (unsigned long) length);
+ return NULL;
+ }
if (type != 0)
- fatal (_("unexpected version type %d"), (int) type);
+ {
+ non_fatal (_("unexpected version type %d"), (int) type);
+ return NULL;
+ }
- /* PR 27686: Ignore any padding bytes after the end of the version structure. */
+ /* PR 27686: Ignore any padding bytes after the end of the version
+ structure. */
length = verlen;
data += off;
@@ -980,32 +1148,45 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
unsigned long signature, fiv;
if (vallen != 52)
- fatal (_("unexpected fixed version information length %ld"), (long) vallen);
+ {
+ non_fatal (_("unexpected fixed version information length %ld"),
+ (long) vallen);
+ return NULL;
+ }
if (length < 52)
- toosmall (_("fixed version info"));
+ {
+ toosmall (_("fixed version info"));
+ return NULL;
+ }
- signature = windres_get_32 (wrbfd, data, 4);
+ signature = windres_get_32 (wrbfd, data);
if (signature != 0xfeef04bd)
- fatal (_("unexpected fixed version signature %lu"), signature);
+ {
+ non_fatal (_("unexpected fixed version signature %lu"), signature);
+ return NULL;
+ }
- fiv = windres_get_32 (wrbfd, data + 4, 4);
+ fiv = windres_get_32 (wrbfd, data + 4);
if (fiv != 0 && fiv != 0x10000)
- fatal (_("unexpected fixed version info version %lu"), fiv);
-
- fi = (rc_fixed_versioninfo *) res_alloc (sizeof (rc_fixed_versioninfo));
-
- fi->file_version_ms = windres_get_32 (wrbfd, data + 8, 4);
- fi->file_version_ls = windres_get_32 (wrbfd, data + 12, 4);
- fi->product_version_ms = windres_get_32 (wrbfd, data + 16, 4);
- fi->product_version_ls = windres_get_32 (wrbfd, data + 20, 4);
- fi->file_flags_mask = windres_get_32 (wrbfd, data + 24, 4);
- fi->file_flags = windres_get_32 (wrbfd, data + 28, 4);
- fi->file_os = windres_get_32 (wrbfd, data + 32, 4);
- fi->file_type = windres_get_32 (wrbfd, data + 36, 4);
- fi->file_subtype = windres_get_32 (wrbfd, data + 40, 4);
- fi->file_date_ms = windres_get_32 (wrbfd, data + 44, 4);
- fi->file_date_ls = windres_get_32 (wrbfd, data + 48, 4);
+ {
+ non_fatal (_("unexpected fixed version info version %lu"), fiv);
+ return NULL;
+ }
+
+ fi = res_alloc (sizeof (rc_fixed_versioninfo));
+
+ fi->file_version_ms = windres_get_32 (wrbfd, data + 8);
+ fi->file_version_ls = windres_get_32 (wrbfd, data + 12);
+ fi->product_version_ms = windres_get_32 (wrbfd, data + 16);
+ fi->product_version_ls = windres_get_32 (wrbfd, data + 20);
+ fi->file_flags_mask = windres_get_32 (wrbfd, data + 24);
+ fi->file_flags = windres_get_32 (wrbfd, data + 28);
+ fi->file_os = windres_get_32 (wrbfd, data + 32);
+ fi->file_type = windres_get_32 (wrbfd, data + 36);
+ fi->file_subtype = windres_get_32 (wrbfd, data + 40);
+ fi->file_date_ms = windres_get_32 (wrbfd, data + 44);
+ fi->file_date_ls = windres_get_32 (wrbfd, data + 48);
data += 52;
length -= 52;
@@ -1020,11 +1201,14 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
int ch;
if (length < 8)
- toosmall (_("version var info"));
+ {
+ toosmall (_("version var info"));
+ return NULL;
+ }
- vi = (rc_ver_info *) res_alloc (sizeof (rc_ver_info));
+ vi = res_alloc (sizeof (rc_ver_info));
- ch = windres_get_16 (wrbfd, data + 6, 2);
+ ch = windres_get_16 (wrbfd, data + 6);
if (ch == 'S')
{
@@ -1032,12 +1216,17 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
vi->type = VERINFO_STRING;
- get_version_header (wrbfd, data, length, "StringFileInfo",
- (unichar **) NULL, &verlen, &vallen, &type,
- &off);
+ if (!get_version_header (wrbfd, data, length, "StringFileInfo",
+ (unichar **) NULL, &verlen, &vallen, &type,
+ &off))
+ return NULL;
if (vallen != 0)
- fatal (_("unexpected stringfileinfo value length %ld"), (long) vallen);
+ {
+ non_fatal (_("unexpected stringfileinfo value length %ld"),
+ (long) vallen);
+ return NULL;
+ }
data += off;
length -= off;
@@ -1054,66 +1243,88 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
rc_ver_stringinfo **ppvs;
if (length < 8)
- toosmall (_("version stringtable"));
+ {
+ toosmall (_("version stringtable"));
+ return NULL;
+ }
- vst = (rc_ver_stringtable *) res_alloc (sizeof (rc_ver_stringtable));
+ vst = res_alloc (sizeof (rc_ver_stringtable));
- get_version_header (wrbfd, data, length, (const char *) NULL,
- &vst->language, &stverlen, &vallen, &type, &off);
+ if (!get_version_header (wrbfd, data, length, "version stringtable",
+ &vst->language, &stverlen, &vallen,
+ &type, &off))
+ return NULL;
if (vallen != 0)
- fatal (_("unexpected version stringtable value length %ld"), (long) vallen);
+ {
+ non_fatal (_("unexpected version stringtable value length %ld"),
+ (long) vallen);
+ return NULL;
+ }
data += off;
length -= off;
verlen -= off;
- stverlen -= off;
-
- vst->strings = NULL;
- ppvs = &vst->strings;
-
- while (stverlen > 0)
- {
- rc_ver_stringinfo *vs;
- rc_uint_type sverlen, vslen, valoff;
-
- if (length < 8)
- toosmall (_("version string"));
-
- vs = (rc_ver_stringinfo *) res_alloc (sizeof (rc_ver_stringinfo));
-
- get_version_header (wrbfd, data, length, (const char *) NULL,
- &vs->key, &sverlen, &vallen, &type, &off);
-
- data += off;
- length -= off;
-
- vs->value = get_unicode (wrbfd, data, length, &vslen);
- valoff = vslen * 2 + 2;
- valoff = (valoff + 3) & ~3;
-
- if (off + valoff != sverlen)
- fatal (_("unexpected version string length %ld != %ld + %ld"),
- (long) sverlen, (long) off, (long) valoff);
-
- data += valoff;
- length -= valoff;
-
- if (stverlen < sverlen)
- fatal (_("unexpected version string length %ld < %ld"),
- (long) verlen, (long) sverlen);
- stverlen -= sverlen;
- verlen -= sverlen;
-
- vs->next = NULL;
- *ppvs = vs;
- ppvs = &vs->next;
- }
-
- vst->next = NULL;
- *ppvst = vst;
- ppvst = &vst->next;
+ stverlen -= off;
+
+ vst->strings = NULL;
+ ppvs = &vst->strings;
+
+ while (stverlen > 0)
+ {
+ rc_ver_stringinfo *vs;
+ rc_uint_type sverlen, vslen, valoff;
+
+ if (length < 8)
+ {
+ toosmall (_("version string"));
+ return NULL;
+ }
+
+ vs = res_alloc (sizeof (rc_ver_stringinfo));
+
+ if (!get_version_header (wrbfd, data, length, "version string",
+ &vs->key, &sverlen, &vallen,
+ &type, &off))
+ return NULL;
+
+ data += off;
+ length -= off;
+
+ vs->value = get_unicode (wrbfd, data, length, &vslen);
+ if (vs->value == NULL)
+ return NULL;
+ valoff = vslen * 2 + 2;
+ valoff = (valoff + 3) & ~3;
+
+ if (off + valoff != sverlen)
+ {
+ non_fatal (_("unexpected version string length %ld != %ld + %ld"),
+ (long) sverlen, (long) off, (long) valoff);
+ return NULL;
+ }
+
+ data += valoff;
+ length -= valoff;
+
+ if (stverlen < sverlen)
+ {
+ non_fatal (_("unexpected version string length %ld < %ld"),
+ (long) verlen, (long) sverlen);
+ return NULL;
+ }
+ stverlen -= sverlen;
+ verlen -= sverlen;
+
+ vs->next = NULL;
+ *ppvs = vs;
+ ppvs = &vs->next;
+ }
+
+ vst->next = NULL;
+ *ppvst = vst;
+ ppvst = &vst->next;
}
}
else if (ch == 'V')
@@ -1122,18 +1333,25 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
vi->type = VERINFO_VAR;
- get_version_header (wrbfd, data, length, "VarFileInfo",
- (unichar **) NULL, &verlen, &vallen, &type,
- &off);
+ if (!get_version_header (wrbfd, data, length, "VarFileInfo",
+ (unichar **) NULL, &verlen, &vallen,
+ &type, &off))
+ return NULL;
if (vallen != 0)
- fatal (_("unexpected varfileinfo value length %ld"), (long) vallen);
+ {
+ non_fatal (_("unexpected varfileinfo value length %ld"),
+ (long) vallen);
+ return NULL;
+ }
data += off;
length -= off;
- get_version_header (wrbfd, data, length, (const char *) NULL,
- &vi->u.var.key, &verlen, &vallen, &type, &off);
+ if (!get_version_header (wrbfd, data, length, "version varfileinfo",
+ &vi->u.var.key, &verlen, &vallen,
+ &type, &off))
+ return NULL;
data += off;
length -= off;
@@ -1146,12 +1364,15 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
rc_ver_varinfo *vv;
if (length < 4)
- toosmall (_("version varfileinfo"));
+ {
+ toosmall (_("version varfileinfo"));
+ return NULL;
+ }
- vv = (rc_ver_varinfo *) res_alloc (sizeof (rc_ver_varinfo));
+ vv = res_alloc (sizeof (rc_ver_varinfo));
- vv->language = windres_get_16 (wrbfd, data, 2);
- vv->charset = windres_get_16 (wrbfd, data + 2, 2);
+ vv->language = windres_get_16 (wrbfd, data);
+ vv->charset = windres_get_16 (wrbfd, data + 2);
vv->next = NULL;
*ppvv = vv;
@@ -1161,7 +1382,11 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
length -= 4;
if (vallen < 4)
- fatal (_("unexpected version value length %ld"), (long) vallen);
+ {
+ non_fatal (_("unexpected version value length %ld"),
+ (long) vallen);
+ return NULL;
+ }
vallen -= 4;
}
@@ -1171,21 +1396,25 @@ bin_to_res_version (windres_bfd *wrbfd, const bfd_byte *data, rc_uint_type lengt
if (length == 8)
/* Padding - skip. */
break;
- fatal (_("nul bytes found in version string"));
+ non_fatal (_("nul bytes found in version string"));
+ return NULL;
}
else
- fatal (_("unexpected version string character: %x"), ch);
+ {
+ non_fatal (_("unexpected version string character: %x"), ch);
+ return NULL;
+ }
vi->next = NULL;
*pp = vi;
pp = &vi->next;
}
- v = (rc_versioninfo *) res_alloc (sizeof (rc_versioninfo));
+ v = res_alloc (sizeof (rc_versioninfo));
v->fixed = fi;
v->var = first;
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_VERSIONINFO;
r->u.versioninfo = v;
@@ -1201,14 +1430,14 @@ bin_to_res_userdata (windres_bfd *wrbfd ATTRIBUTE_UNUSED, const bfd_byte *data,
rc_rcdata_item *ri;
rc_res_resource *r;
- ri = (rc_rcdata_item *) res_alloc (sizeof (rc_rcdata_item));
+ ri = res_alloc (sizeof (rc_rcdata_item));
ri->next = NULL;
ri->type = RCDATA_BUFFER;
ri->u.buffer.length = length;
ri->u.buffer.data = data;
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_USERDATA;
r->u.rcdata = ri;
@@ -1216,38 +1445,51 @@ bin_to_res_userdata (windres_bfd *wrbfd ATTRIBUTE_UNUSED, const bfd_byte *data,
}
static rc_res_resource *
-bin_to_res_toolbar (windres_bfd *wrbfd, const bfd_byte *data)
+bin_to_res_toolbar (windres_bfd *wrbfd, const bfd_byte *data,
+ rc_uint_type length)
{
rc_toolbar *ri;
rc_res_resource *r;
rc_uint_type i;
- ri = (rc_toolbar *) res_alloc (sizeof (rc_toolbar));
- ri->button_width = windres_get_32 (wrbfd, data, 4);
- ri->button_height = windres_get_32 (wrbfd, data + 4, 4);
- ri->nitems = windres_get_32 (wrbfd, data + 8, 4);
+ if (length < 12)
+ {
+ toosmall (_("toolbar"));
+ return NULL;
+ }
+ ri = res_alloc (sizeof (rc_toolbar));
+ ri->button_width = windres_get_32 (wrbfd, data);
+ ri->button_height = windres_get_32 (wrbfd, data + 4);
+ ri->nitems = windres_get_32 (wrbfd, data + 8);
ri->items = NULL;
data += 12;
- for (i=0 ; i < ri->nitems; i++)
- {
- rc_toolbar_item *it;
- it = (rc_toolbar_item *) res_alloc (sizeof (rc_toolbar_item));
- it->id.named = 0;
- it->id.u.id = (int) windres_get_32 (wrbfd, data, 4);
- it->prev = it->next = NULL;
- data += 4;
- if(ri->items) {
- rc_toolbar_item *ii = ri->items;
- while (ii->next != NULL)
- ii = ii->next;
- it->prev = ii;
- ii->next = it;
- }
- else
- ri->items = it;
- }
- r = (rc_res_resource *) res_alloc (sizeof *r);
+ length -= 12;
+ for (i = 0; i < ri->nitems; i++)
+ {
+ rc_toolbar_item *it;
+ it = res_alloc (sizeof (rc_toolbar_item));
+ it->id.named = 0;
+ if (length < 4)
+ {
+ toosmall (_("toolbar item"));
+ return NULL;
+ }
+ it->id.u.id = (int) windres_get_32 (wrbfd, data);
+ it->prev = it->next = NULL;
+ data += 4;
+ length -= 4;
+ if(ri->items) {
+ rc_toolbar_item *ii = ri->items;
+ while (ii->next != NULL)
+ ii = ii->next;
+ it->prev = ii;
+ ii->next = it;
+ }
+ else
+ ri->items = it;
+ }
+ r = res_alloc (sizeof *r);
r->type = RES_TYPE_TOOLBAR;
r->u.toolbar = ri;
return r;
@@ -1286,7 +1528,8 @@ res_to_bin (windres_bfd *wrbfd, rc_uint_type off, const rc_res_resource *res)
case RES_TYPE_FONT:
case RES_TYPE_ICON:
case RES_TYPE_MESSAGETABLE:
- return res_to_bin_generic (wrbfd, off, res->u.data.length, res->u.data.data);
+ return res_to_bin_generic (wrbfd, off, res->u.data.length,
+ res->u.data.data);
case RES_TYPE_ACCELERATOR:
return res_to_bin_accelerator (wrbfd, off, res->u.acc);
case RES_TYPE_CURSOR:
@@ -1337,13 +1580,13 @@ resid_to_bin (windres_bfd *wrbfd, rc_uint_type off, rc_res_id id)
rc_uint_type len = (id.u.n.name ? unichar_len (id.u.n.name) : 0);
if (wrbfd)
{
- bfd_byte *d = (bfd_byte *) reswr_alloc ((len + 1) * sizeof (unichar));
+ bfd_byte *d = reswr_alloc ((len + 1) * sizeof (unichar));
rc_uint_type i;
for (i = 0; i < len; i++)
windres_put_16 (wrbfd, d + (i * sizeof (unichar)), id.u.n.name[i]);
windres_put_16 (wrbfd, d + (len * sizeof (unichar)), 0);
set_windres_bfd_content (wrbfd, d, off, (len + 1) * sizeof (unichar));
- }
+ }
off += (rc_uint_type) ((len + 1) * sizeof (unichar));
}
return off;
@@ -1364,7 +1607,7 @@ unicode_to_bin (windres_bfd *wrbfd, rc_uint_type off, const unichar *str)
{
bfd_byte *d;
rc_uint_type i;
- d = (bfd_byte *) reswr_alloc ( (len + 1) * sizeof (unichar));
+ d = reswr_alloc ((len + 1) * sizeof (unichar));
for (i = 0; i < len; i++)
windres_put_16 (wrbfd, d + (i * sizeof (unichar)), str[i]);
windres_put_16 (wrbfd, d + (len * sizeof (unichar)), 0);
@@ -1389,12 +1632,13 @@ res_to_bin_accelerator (windres_bfd *wrbfd, rc_uint_type off,
{
struct bin_accelerator ba;
- windres_put_16 (wrbfd, ba.flags, a->flags | (a->next != NULL ? 0 : ACC_LAST));
+ windres_put_16 (wrbfd, ba.flags,
+ a->flags | (a->next != NULL ? 0 : ACC_LAST));
windres_put_16 (wrbfd, ba.key, a->key);
windres_put_16 (wrbfd, ba.id, a->id);
windres_put_16 (wrbfd, ba.pad, 0);
set_windres_bfd_content (wrbfd, &ba, off, BIN_ACCELERATOR_SIZE);
- }
+ }
off += BIN_ACCELERATOR_SIZE;
}
return off;
@@ -1413,7 +1657,8 @@ res_to_bin_cursor (windres_bfd *wrbfd, rc_uint_type off, const rc_cursor *c)
windres_put_16 (wrbfd, bc.yhotspot, c->yhotspot);
set_windres_bfd_content (wrbfd, &bc, off, BIN_CURSOR_SIZE);
if (c->length)
- set_windres_bfd_content (wrbfd, c->data, off + BIN_CURSOR_SIZE, c->length);
+ set_windres_bfd_content (wrbfd, c->data, off + BIN_CURSOR_SIZE,
+ c->length);
}
off = (off + BIN_CURSOR_SIZE + (rc_uint_type) c->length);
return off;
@@ -1443,8 +1688,9 @@ res_to_bin_group_cursor (windres_bfd *wrbfd, rc_uint_type off,
windres_put_16 (wrbfd, bgci.bits, gc->bits);
windres_put_32 (wrbfd, bgci.bytes, gc->bytes);
windres_put_16 (wrbfd, bgci.index, gc->index);
- set_windres_bfd_content (wrbfd, &bgci, off, BIN_GROUP_CURSOR_ITEM_SIZE);
- }
+ set_windres_bfd_content (wrbfd, &bgci, off,
+ BIN_GROUP_CURSOR_ITEM_SIZE);
+ }
off += BIN_GROUP_CURSOR_ITEM_SIZE;
}
@@ -1477,17 +1723,17 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
if (wrbfd)
{
- if (! dialogex)
- {
+ if (! dialogex)
+ {
windres_put_32 (wrbfd, bd.style, dialog->style);
windres_put_32 (wrbfd, bd.exstyle, dialog->exstyle);
windres_put_16 (wrbfd, bd.x, dialog->x);
windres_put_16 (wrbfd, bd.y, dialog->y);
windres_put_16 (wrbfd, bd.width, dialog->width);
windres_put_16 (wrbfd, bd.height, dialog->height);
- }
- else
- {
+ }
+ else
+ {
windres_put_16 (wrbfd, bdx.sig1, 1);
windres_put_16 (wrbfd, bdx.sig2, 0xffff);
windres_put_32 (wrbfd, bdx.help, (dialog->ex ? dialog->ex->help : 0));
@@ -1520,9 +1766,12 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
{
struct bin_dialogexfont bdxf;
windres_put_16 (wrbfd, bdxf.pointsize, dialog->pointsize);
- windres_put_16 (wrbfd, bdxf.weight, (dialog->ex == NULL ? 0 : dialog->ex->weight));
- windres_put_8 (wrbfd, bdxf.italic, (dialog->ex == NULL ? 0 : dialog->ex->italic));
- windres_put_8 (wrbfd, bdxf.charset, (dialog->ex == NULL ? 1 : dialog->ex->charset));
+ windres_put_16 (wrbfd, bdxf.weight,
+ dialog->ex == NULL ? 0 : dialog->ex->weight);
+ windres_put_8 (wrbfd, bdxf.italic,
+ dialog->ex == NULL ? 0 : dialog->ex->italic);
+ windres_put_8 (wrbfd, bdxf.charset,
+ dialog->ex == NULL ? 1 : dialog->ex->charset);
set_windres_bfd_content (wrbfd, &bdxf, off, BIN_DIALOGEXFONT_SIZE);
}
}
@@ -1536,8 +1785,8 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
off += (4 - ((off - off_delta) & 3)) & 3;
if (wrbfd)
{
- if (! dialogex)
- {
+ if (! dialogex)
+ {
struct bin_dialog_control bdc;
windres_put_32 (wrbfd, bdc.style, dc->style);
@@ -1547,10 +1796,11 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
windres_put_16 (wrbfd, bdc.width, dc->width);
windres_put_16 (wrbfd, bdc.height, dc->height);
windres_put_16 (wrbfd, bdc.id, dc->id);
- set_windres_bfd_content (wrbfd, &bdc, off, BIN_DIALOG_CONTROL_SIZE);
- }
- else
- {
+ set_windres_bfd_content (wrbfd, &bdc, off,
+ BIN_DIALOG_CONTROL_SIZE);
+ }
+ else
+ {
struct bin_dialogex_control bdc;
windres_put_32 (wrbfd, bdc.help, dc->help);
@@ -1561,11 +1811,11 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
windres_put_16 (wrbfd, bdc.width, dc->width);
windres_put_16 (wrbfd, bdc.height, dc->height);
windres_put_32 (wrbfd, bdc.id, dc->id);
- set_windres_bfd_content (wrbfd, &bdc, off, BIN_DIALOGEX_CONTROL_SIZE);
+ set_windres_bfd_content (wrbfd, &bdc, off,
+ BIN_DIALOGEX_CONTROL_SIZE);
}
}
- off += (dialogex != 0 ? BIN_DIALOGEX_CONTROL_SIZE : BIN_DIALOG_CONTROL_SIZE);
-
+ off += dialogex != 0 ? BIN_DIALOGEX_CONTROL_SIZE : BIN_DIALOG_CONTROL_SIZE;
off = resid_to_bin (wrbfd, off, dc->class);
off = resid_to_bin (wrbfd, off, dc->text);
@@ -1607,7 +1857,8 @@ res_to_bin_dialog (windres_bfd *wrbfd, rc_uint_type off, const rc_dialog *dialog
/* Convert a fontdir resource to binary. */
static rc_uint_type
-res_to_bin_fontdir (windres_bfd *wrbfd, rc_uint_type off, const rc_fontdir *fontdirs)
+res_to_bin_fontdir (windres_bfd *wrbfd, rc_uint_type off,
+ const rc_fontdir *fontdirs)
{
rc_uint_type start;
int c;
@@ -1641,7 +1892,8 @@ res_to_bin_fontdir (windres_bfd *wrbfd, rc_uint_type off, const rc_fontdir *font
/* Convert a group icon resource to binary. */
static rc_uint_type
-res_to_bin_group_icon (windres_bfd *wrbfd, rc_uint_type off, const rc_group_icon *group_icons)
+res_to_bin_group_icon (windres_bfd *wrbfd, rc_uint_type off,
+ const rc_group_icon *group_icons)
{
rc_uint_type start;
struct bin_group_icon bgi;
@@ -1691,21 +1943,21 @@ res_to_bin_menu (windres_bfd *wrbfd, rc_uint_type off, const rc_menu *menu)
if (wrbfd)
{
- if (! menuex)
- {
+ if (! menuex)
+ {
struct bin_menu bm;
windres_put_16 (wrbfd, bm.sig1, 0);
windres_put_16 (wrbfd, bm.sig2, 0);
set_windres_bfd_content (wrbfd, &bm, off, BIN_MENU_SIZE);
- }
- else
- {
+ }
+ else
+ {
struct bin_menuex bm;
windres_put_16 (wrbfd, bm.sig1, 1);
windres_put_16 (wrbfd, bm.sig2, 4);
windres_put_32 (wrbfd, bm.help, menu->help);
set_windres_bfd_content (wrbfd, &bm, off, BIN_MENUEX_SIZE);
- }
+ }
}
off += (menuex != 0 ? BIN_MENUEX_SIZE : BIN_MENU_SIZE);
if (! menuex)
@@ -1722,7 +1974,8 @@ res_to_bin_menu (windres_bfd *wrbfd, rc_uint_type off, const rc_menu *menu)
/* Convert menu items to binary. */
static rc_uint_type
-res_to_bin_menuitems (windres_bfd *wrbfd, rc_uint_type off, const rc_menuitem *items)
+res_to_bin_menuitems (windres_bfd *wrbfd, rc_uint_type off,
+ const rc_menuitem *items)
{
const rc_menuitem *mi;
@@ -1740,11 +1993,12 @@ res_to_bin_menuitems (windres_bfd *wrbfd, rc_uint_type off, const rc_menuitem *i
if (wrbfd)
{
windres_put_16 (wrbfd, bmi.flags, flags);
- if (mi->popup == NULL)
+ if (mi->popup == NULL)
windres_put_16 (wrbfd, bmi.id, mi->id);
set_windres_bfd_content (wrbfd, &bmi, off,
- mi->popup == NULL ? BIN_MENUITEM_SIZE
- : BIN_MENUITEM_POPUP_SIZE);
+ (mi->popup == NULL
+ ? BIN_MENUITEM_SIZE
+ : BIN_MENUITEM_POPUP_SIZE));
}
off += (mi->popup == NULL ? BIN_MENUITEM_SIZE : BIN_MENUITEM_POPUP_SIZE);
@@ -1761,7 +2015,8 @@ res_to_bin_menuitems (windres_bfd *wrbfd, rc_uint_type off, const rc_menuitem *i
/* Convert menuex items to binary. */
static rc_uint_type
-res_to_bin_menuexitems (windres_bfd *wrbfd, rc_uint_type off, const rc_menuitem *items)
+res_to_bin_menuexitems (windres_bfd *wrbfd, rc_uint_type off,
+ const rc_menuitem *items)
{
rc_uint_type off_delta = off;
const rc_menuitem *mi;
@@ -1814,7 +2069,8 @@ res_to_bin_menuexitems (windres_bfd *wrbfd, rc_uint_type off, const rc_menuitem
to binary. */
static rc_uint_type
-res_to_bin_rcdata (windres_bfd *wrbfd, rc_uint_type off, const rc_rcdata_item *items)
+res_to_bin_rcdata (windres_bfd *wrbfd, rc_uint_type off,
+ const rc_rcdata_item *items)
{
const rc_rcdata_item *ri;
@@ -1855,22 +2111,23 @@ res_to_bin_rcdata (windres_bfd *wrbfd, rc_uint_type off, const rc_rcdata_item *i
break;
case RCDATA_STRING:
hp = (bfd_byte *) ri->u.string.s;
- break;
- case RCDATA_WSTRING:
- {
+ break;
+ case RCDATA_WSTRING:
+ {
rc_uint_type i;
- hp = (bfd_byte *) reswr_alloc (len);
- for (i = 0; i < ri->u.wstring.length; i++)
- windres_put_16 (wrbfd, hp + i * sizeof (unichar), ri->u.wstring.w[i]);
- }
+ hp = reswr_alloc (len);
+ for (i = 0; i < ri->u.wstring.length; i++)
+ windres_put_16 (wrbfd, hp + i * sizeof (unichar),
+ ri->u.wstring.w[i]);
+ }
break;
- case RCDATA_BUFFER:
+ case RCDATA_BUFFER:
hp = (bfd_byte *) ri->u.buffer.data;
- break;
- }
+ break;
+ }
set_windres_bfd_content (wrbfd, hp, off, len);
- }
+ }
off += len;
}
return off;
@@ -1899,13 +2156,13 @@ res_to_bin_stringtable (windres_bfd *wrbfd, rc_uint_type off,
bfd_byte *hp;
rc_uint_type j;
- hp = (bfd_byte *) reswr_alloc (length);
+ hp = reswr_alloc (length);
windres_put_16 (wrbfd, hp, slen);
- for (j = 0; j < slen; j++)
+ for (j = 0; j < slen; j++)
windres_put_16 (wrbfd, hp + 2 + j * 2, s[j]);
set_windres_bfd_content (wrbfd, hp, off, length);
- }
+ }
off += length;
}
return off;
@@ -1926,7 +2183,7 @@ string_to_unicode_bin (windres_bfd *wrbfd, rc_uint_type off, const char *s)
rc_uint_type i;
bfd_byte *hp;
- hp = (bfd_byte *) reswr_alloc ((len + 1) * sizeof (unichar));
+ hp = reswr_alloc ((len + 1) * sizeof (unichar));
for (i = 0; i < len; i++)
windres_put_16 (wrbfd, hp + i * 2, s[i]);
@@ -1953,7 +2210,7 @@ res_to_bin_toolbar (windres_bfd *wrbfd, rc_uint_type off, rc_toolbar *tb)
bfd_byte *ids;
rc_uint_type i = 0;
- ids = (bfd_byte *) reswr_alloc (tb->nitems * 4);
+ ids = reswr_alloc (tb->nitems * 4);
it=tb->items;
while(it != NULL)
{
@@ -1992,7 +2249,7 @@ res_to_bin_versioninfo (windres_bfd *wrbfd, rc_uint_type off,
struct bin_fixed_versioninfo bfv;
const rc_fixed_versioninfo *fi;
- fi = versioninfo->fixed;
+ fi = versioninfo->fixed;
windres_put_32 (wrbfd, bfv.sig1, 0xfeef04bd);
windres_put_32 (wrbfd, bfv.sig2, 0x10000);
windres_put_32 (wrbfd, bfv.file_version, fi->file_version_ms);
@@ -2119,13 +2376,13 @@ res_to_bin_versioninfo (windres_bfd *wrbfd, rc_uint_type off,
off += 4;
}
if (wrbfd)
- {
+ {
windres_put_16 (wrbfd, bvvd.size, off - vvd_off);
windres_put_16 (wrbfd, bvvd.sig1, off - vvvd_off);
windres_put_16 (wrbfd, bvvd.sig2, 0);
set_windres_bfd_content (wrbfd, &bvvd, vvd_off,
BIN_VER_INFO_SIZE);
- }
+ }
break;
}
@@ -2146,7 +2403,7 @@ res_to_bin_versioninfo (windres_bfd *wrbfd, rc_uint_type off,
windres_put_16 (wrbfd, bvi.size, off - start);
windres_put_16 (wrbfd, bvi.fixed_size,
versioninfo->fixed == NULL ? 0
- : BIN_FIXED_VERSIONINFO_SIZE);
+ : BIN_FIXED_VERSIONINFO_SIZE);
windres_put_16 (wrbfd, bvi.sig2, 0);
set_windres_bfd_content (wrbfd, &bvi, start, BIN_VER_INFO_SIZE);
}
diff --git a/binutils/rescoff.c b/binutils/rescoff.c
index f9a1e70..14546a4 100644
--- a/binutils/rescoff.c
+++ b/binutils/rescoff.c
@@ -120,27 +120,41 @@ read_coff_rsrc (const char *filename, const char *target)
struct coff_file_info flaginfo;
if (filename == NULL)
- fatal (_("filename required for COFF input"));
+ {
+ non_fatal (_("filename required for COFF input"));
+ return NULL;
+ }
abfd = bfd_openr (filename, target);
if (abfd == NULL)
- bfd_fatal (filename);
+ {
+ bfd_nonfatal (filename);
+ return NULL;
+ }
if (! bfd_check_format_matches (abfd, bfd_object, &matching))
{
bfd_nonfatal (bfd_get_filename (abfd));
if (bfd_get_error () == bfd_error_file_ambiguously_recognized)
list_matching_formats (matching);
- xexit (1);
+ free (matching);
+ bfd_close (abfd);
+ return NULL;
}
if (bfd_get_flavour (abfd) != bfd_target_coff_flavour
|| !obj_pe (abfd))
- fatal (_("%s: not a PE file"), filename);
+ {
+ non_fatal (_("%s: not a PE file"), filename);
+ bfd_close (abfd);
+ return NULL;
+ }
sec = bfd_get_section_by_name (abfd, ".rsrc");
if (sec == NULL)
{
- fatal (_("%s: no resource section"), filename);
+ non_fatal (_("%s: no resource section"), filename);
+ bfd_close (abfd);
+ return NULL;
}
set_windres_bfd (&wrbfd, abfd, sec, WR_KIND_BFD);
@@ -150,7 +164,11 @@ read_coff_rsrc (const char *filename, const char *target)
but there is no other way to determine if the section size
is reasonable. */
if (size > (bfd_size_type) get_file_size (filename))
- fatal (_("%s: .rsrc section is bigger than the file!"), filename);
+ {
+ non_fatal (_("%s: .rsrc section is bigger than the file!"), filename);
+ bfd_close (abfd);
+ return NULL;
+ }
data = (bfd_byte *) res_alloc (size);
get_windres_bfd_content (&wrbfd, data, 0, size);
@@ -178,7 +196,7 @@ read_coff_rsrc (const char *filename, const char *target)
static void
overrun (const struct coff_file_info *flaginfo, const char *msg)
{
- fatal (_("%s: %s: address out of bounds"), flaginfo->filename, msg);
+ non_fatal (_("%s: %s: address out of bounds"), flaginfo->filename, msg);
}
/* Read a resource directory. */
@@ -199,22 +217,29 @@ read_coff_res_dir (windres_bfd *wrbfd, const bfd_byte *data,
Microsoft only defines 3 levels. Corrupt files however might
claim to use more. */
if (level > 4)
- fatal (_("%s: resources nest too deep"), flaginfo->filename);
+ {
+ non_fatal (_("%s: resources nest too deep"), flaginfo->filename);
+ return NULL;
+ }
- if ((size_t) (flaginfo->data_end - data) < sizeof (struct extern_res_directory))
- overrun (flaginfo, _("directory"));
+ size_t data_len = flaginfo->data_end - data;
+ if (data_len < sizeof (struct extern_res_directory))
+ {
+ overrun (flaginfo, _("directory"));
+ return NULL;
+ }
erd = (const struct extern_res_directory *) data;
rd = (rc_res_directory *) res_alloc (sizeof (rc_res_directory));
- rd->characteristics = windres_get_32 (wrbfd, erd->characteristics, 4);
- rd->time = windres_get_32 (wrbfd, erd->time, 4);
- rd->major = windres_get_16 (wrbfd, erd->major, 2);
- rd->minor = windres_get_16 (wrbfd, erd->minor, 2);
+ rd->characteristics = windres_get_32 (wrbfd, erd->characteristics);
+ rd->time = windres_get_32 (wrbfd, erd->time);
+ rd->major = windres_get_16 (wrbfd, erd->major);
+ rd->minor = windres_get_16 (wrbfd, erd->minor);
rd->entries = NULL;
- name_count = windres_get_16 (wrbfd, erd->name_count, 2);
- id_count = windres_get_16 (wrbfd, erd->id_count, 2);
+ name_count = windres_get_16 (wrbfd, erd->name_count);
+ id_count = windres_get_16 (wrbfd, erd->id_count);
pp = &rd->entries;
@@ -229,33 +254,45 @@ read_coff_res_dir (windres_bfd *wrbfd, const bfd_byte *data,
const bfd_byte *ers;
int length, j;
- if ((const bfd_byte *) ere >= flaginfo->data_end)
- overrun (flaginfo, _("named directory entry"));
+ if ((const bfd_byte *) ere > flaginfo->data_end
+ || flaginfo->data_end - (const bfd_byte *) ere < 8)
+ {
+ overrun (flaginfo, _("named directory entry"));
+ return NULL;
+ }
- name = windres_get_32 (wrbfd, ere->name, 4);
- rva = windres_get_32 (wrbfd, ere->rva, 4);
+ name = windres_get_32 (wrbfd, ere->name);
+ rva = windres_get_32 (wrbfd, ere->rva);
/* For some reason the high bit in NAME is set. */
name &=~ 0x80000000;
- if (name > (rc_uint_type) (flaginfo->data_end - flaginfo->data))
- overrun (flaginfo, _("directory entry name"));
+ if (name > data_len)
+ {
+ overrun (flaginfo, _("directory entry name"));
+ return NULL;
+ }
ers = flaginfo->data + name;
-
+ if (flaginfo->data_end - ers < 2)
+ {
+ overrun (flaginfo, _("resource name"));
+ return NULL;
+ }
+ length = windres_get_16 (wrbfd, ers);
+ /* PR 17512: file: 05dc4a16. */
+ if (length * 2 + 4 > flaginfo->data_end - ers)
+ {
+ overrun (flaginfo, _("resource name"));
+ return NULL;
+ }
re = (rc_res_entry *) res_alloc (sizeof *re);
re->next = NULL;
re->id.named = 1;
- length = windres_get_16 (wrbfd, ers, 2);
re->id.u.n.length = length;
re->id.u.n.name = (unichar *) res_alloc (length * sizeof (unichar));
for (j = 0; j < length; j++)
- {
- /* PR 17512: file: 05dc4a16. */
- if (length < 0 || ers >= flaginfo->data_end || ers + j * 2 + 4 >= flaginfo->data_end)
- overrun (flaginfo, _("resource name"));
- re->id.u.n.name[j] = windres_get_16 (wrbfd, ers + j * 2 + 2, 2);
- }
+ re->id.u.n.name[j] = windres_get_16 (wrbfd, ers + j * 2 + 2);
if (level == 0)
type = &re->id;
@@ -263,18 +300,25 @@ read_coff_res_dir (windres_bfd *wrbfd, const bfd_byte *data,
if ((rva & 0x80000000) != 0)
{
rva &=~ 0x80000000;
- if (rva >= (rc_uint_type) (flaginfo->data_end - flaginfo->data))
- overrun (flaginfo, _("named subdirectory"));
+ if (rva >= data_len)
+ {
+ overrun (flaginfo, _("named subdirectory"));
+ return NULL;
+ }
re->subdir = 1;
- re->u.dir = read_coff_res_dir (wrbfd, flaginfo->data + rva, flaginfo, type,
- level + 1);
+ re->u.dir = read_coff_res_dir (wrbfd, flaginfo->data + rva, flaginfo,
+ type, level + 1);
}
else
{
- if (rva >= (rc_uint_type) (flaginfo->data_end - flaginfo->data))
- overrun (flaginfo, _("named resource"));
+ if (rva >= data_len)
+ {
+ overrun (flaginfo, _("named resource"));
+ return NULL;
+ }
re->subdir = 0;
- re->u.res = read_coff_data_entry (wrbfd, flaginfo->data + rva, flaginfo, type);
+ re->u.res = read_coff_data_entry (wrbfd, flaginfo->data + rva,
+ flaginfo, type);
}
*pp = re;
@@ -286,11 +330,15 @@ read_coff_res_dir (windres_bfd *wrbfd, const bfd_byte *data,
unsigned long name, rva;
rc_res_entry *re;
- if ((const bfd_byte *) ere >= flaginfo->data_end)
- overrun (flaginfo, _("ID directory entry"));
+ if ((const bfd_byte *) ere > flaginfo->data_end
+ || flaginfo->data_end - (const bfd_byte *) ere < 8)
+ {
+ overrun (flaginfo, _("ID directory entry"));
+ return NULL;
+ }
- name = windres_get_32 (wrbfd, ere->name, 4);
- rva = windres_get_32 (wrbfd, ere->rva, 4);
+ name = windres_get_32 (wrbfd, ere->name);
+ rva = windres_get_32 (wrbfd, ere->rva);
re = (rc_res_entry *) res_alloc (sizeof *re);
re->next = NULL;
@@ -303,18 +351,25 @@ read_coff_res_dir (windres_bfd *wrbfd, const bfd_byte *data,
if ((rva & 0x80000000) != 0)
{
rva &=~ 0x80000000;
- if (rva >= (rc_uint_type) (flaginfo->data_end - flaginfo->data))
- overrun (flaginfo, _("ID subdirectory"));
+ if (rva >= data_len)
+ {
+ overrun (flaginfo, _("ID subdirectory"));
+ return NULL;
+ }
re->subdir = 1;
- re->u.dir = read_coff_res_dir (wrbfd, flaginfo->data + rva, flaginfo, type,
- level + 1);
+ re->u.dir = read_coff_res_dir (wrbfd, flaginfo->data + rva, flaginfo,
+ type, level + 1);
}
else
{
- if (rva >= (rc_uint_type) (flaginfo->data_end - flaginfo->data))
- overrun (flaginfo, _("ID resource"));
+ if (rva >= data_len)
+ {
+ overrun (flaginfo, _("ID resource"));
+ return NULL;
+ }
re->subdir = 0;
- re->u.res = read_coff_data_entry (wrbfd, flaginfo->data + rva, flaginfo, type);
+ re->u.res = read_coff_data_entry (wrbfd, flaginfo->data + rva,
+ flaginfo, type);
}
*pp = re;
@@ -337,29 +392,43 @@ read_coff_data_entry (windres_bfd *wrbfd, const bfd_byte *data,
const bfd_byte *resdata;
if (type == NULL)
- fatal (_("resource type unknown"));
+ {
+ non_fatal (_("resource type unknown"));
+ return NULL;
+ }
if ((size_t) (flaginfo->data_end - data) < sizeof (struct extern_res_data))
- overrun (flaginfo, _("data entry"));
+ {
+ overrun (flaginfo, _("data entry"));
+ return NULL;
+ }
erd = (const struct extern_res_data *) data;
- size = windres_get_32 (wrbfd, erd->size, 4);
- rva = windres_get_32 (wrbfd, erd->rva, 4);
+ size = windres_get_32 (wrbfd, erd->size);
+ rva = windres_get_32 (wrbfd, erd->rva);
if (rva < flaginfo->secaddr
|| rva - flaginfo->secaddr >= (rc_uint_type) (flaginfo->data_end - flaginfo->data))
- overrun (flaginfo, _("resource data"));
+ {
+ overrun (flaginfo, _("resource data"));
+ return NULL;
+ }
resdata = flaginfo->data + (rva - flaginfo->secaddr);
if (size > (rc_uint_type) (flaginfo->data_end - resdata))
- overrun (flaginfo, _("resource data size"));
+ {
+ overrun (flaginfo, _("resource data size"));
+ return NULL;
+ }
r = bin_to_res (wrbfd, *type, resdata, size);
-
- memset (&r->res_info, 0, sizeof (rc_res_res_info));
- r->coff_info.codepage = windres_get_32 (wrbfd, erd->codepage, 4);
- r->coff_info.reserved = windres_get_32 (wrbfd, erd->reserved, 4);
+ if (r != NULL)
+ {
+ memset (&r->res_info, 0, sizeof (rc_res_res_info));
+ r->coff_info.codepage = windres_get_32 (wrbfd, erd->codepage);
+ r->coff_info.reserved = windres_get_32 (wrbfd, erd->reserved);
+ }
return r;
}
@@ -422,9 +491,9 @@ struct coff_write_info
static void coff_bin_sizes (const rc_res_directory *, struct coff_write_info *);
static bfd_byte *coff_alloc (struct bindata_build *, rc_uint_type);
-static void coff_to_bin
+static bool coff_to_bin
(const rc_res_directory *, struct coff_write_info *);
-static void coff_res_to_bin
+static bool coff_res_to_bin
(const rc_res_resource *, struct coff_write_info *);
/* Write resources to a COFF file. RESOURCES should already be
@@ -435,7 +504,7 @@ static void coff_res_to_bin
would require doing the basic work of objcopy, just modifying or
adding the .rsrc section. */
-void
+bool
write_coff_file (const char *filename, const char *target,
const rc_res_directory *resources)
{
@@ -448,44 +517,86 @@ write_coff_file (const char *filename, const char *target,
unsigned long length, offset;
if (filename == NULL)
- fatal (_("filename required for COFF output"));
+ {
+ non_fatal (_("filename required for COFF output"));
+ return false;
+ }
abfd = bfd_openw (filename, target);
if (abfd == NULL)
- bfd_fatal (filename);
+ {
+ bfd_nonfatal (filename);
+ return false;
+ }
if (! bfd_set_format (abfd, bfd_object))
- bfd_fatal ("bfd_set_format");
+ {
+ bfd_nonfatal ("bfd_set_format");
+ bfd_close_all_done (abfd);
+ return false;
+ }
#if defined DLLTOOL_SH
if (! bfd_set_arch_mach (abfd, bfd_arch_sh, 0))
- bfd_fatal ("bfd_set_arch_mach(sh)");
+ {
+ bfd_nonfatal ("bfd_set_arch_mach(sh)");
+ bfd_close_all_done (abfd);
+ return false;
+ }
#elif defined DLLTOOL_MIPS
if (! bfd_set_arch_mach (abfd, bfd_arch_mips, 0))
- bfd_fatal ("bfd_set_arch_mach(mips)");
+ {
+ bfd_nonfatal ("bfd_set_arch_mach(mips)");
+ bfd_close_all_done (abfd);
+ return false;
+ }
#elif defined DLLTOOL_ARM
if (! bfd_set_arch_mach (abfd, bfd_arch_arm, 0))
- bfd_fatal ("bfd_set_arch_mach(arm)");
+ {
+ bfd_nonfatal ("bfd_set_arch_mach(arm)");
+ bfd_close_all_done (abfd);
+ return false;
+ }
#elif defined DLLTOOL_AARCH64
if (! bfd_set_arch_mach (abfd, bfd_arch_aarch64, 0))
- bfd_fatal ("bfd_set_arch_mach(aarch64)");
+ {
+ bfd_nonfatal ("bfd_set_arch_mach(aarch64)");
+ bfd_close_all_done (abfd);
+ return false;
+ }
#else
/* FIXME: This is obviously i386 specific. */
if (! bfd_set_arch_mach (abfd, bfd_arch_i386, 0))
- bfd_fatal ("bfd_set_arch_mach(i386)");
+ {
+ bfd_nonfatal ("bfd_set_arch_mach(i386)");
+ bfd_close_all_done (abfd);
+ return false;
+ }
#endif
if (! bfd_set_file_flags (abfd, HAS_SYMS | HAS_RELOC))
- bfd_fatal ("bfd_set_file_flags");
+ {
+ bfd_nonfatal ("bfd_set_file_flags");
+ bfd_close_all_done (abfd);
+ return false;
+ }
sec = bfd_make_section_with_flags (abfd, ".rsrc",
(SEC_HAS_CONTENTS | SEC_ALLOC
| SEC_LOAD | SEC_DATA | SEC_READONLY));
if (sec == NULL)
- bfd_fatal ("bfd_make_section");
+ {
+ bfd_nonfatal ("bfd_make_section");
+ bfd_close_all_done (abfd);
+ return false;
+ }
if (! bfd_set_symtab (abfd, &sec->symbol, 1))
- bfd_fatal ("bfd_set_symtab");
+ {
+ bfd_nonfatal ("bfd_set_symtab");
+ bfd_close_all_done (abfd);
+ return false;
+ }
/* Requiring this is probably a bug in BFD. */
sec->output_section = sec;
@@ -529,7 +640,12 @@ write_coff_file (const char *filename, const char *target,
cwi.dirstrsize = (cwi.dirstrsize + 7) & ~7;
/* Actually convert the resources to binary. */
- coff_to_bin (resources, &cwi);
+ if (!coff_to_bin (resources, &cwi))
+ {
+ bfd_close_all_done (abfd);
+ free (cwi.relocs);
+ return false;
+ }
/* Add another few bytes to the directory strings if needed for
alignment. */
@@ -554,7 +670,12 @@ write_coff_file (const char *filename, const char *target,
+ cwi.resources.length);
if (!bfd_set_section_size (sec, length))
- bfd_fatal ("bfd_set_section_size");
+ {
+ bfd_nonfatal ("bfd_set_section_size");
+ bfd_close_all_done (abfd);
+ free (cwi.relocs);
+ return false;
+ }
bfd_set_reloc (abfd, sec, cwi.relocs, cwi.reloc_count);
@@ -562,7 +683,12 @@ write_coff_file (const char *filename, const char *target,
for (d = cwi.dirs.d; d != NULL; d = d->next)
{
if (! bfd_set_section_contents (abfd, sec, d->data, offset, d->length))
- bfd_fatal ("bfd_set_section_contents");
+ {
+ bfd_nonfatal ("bfd_set_section_contents");
+ bfd_close_all_done (abfd);
+ free (cwi.relocs);
+ return false;
+ }
offset += d->length;
}
for (d = cwi.dirstrs.d; d != NULL; d = d->next)
@@ -577,17 +703,28 @@ write_coff_file (const char *filename, const char *target,
}
for (rd = cwi.resources.d; rd != NULL; rd = rd->next)
{
- res_to_bin (cwi.wrbfd, (rc_uint_type) offset, rd->res);
+ if (res_to_bin (cwi.wrbfd, (rc_uint_type) offset, rd->res)
+ == (rc_uint_type) -1)
+ {
+ bfd_close_all_done (abfd);
+ free (cwi.relocs);
+ return false;
+ }
offset += rd->length;
}
assert (offset == length);
if (! bfd_close (abfd))
- bfd_fatal ("bfd_close");
+ {
+ bfd_nonfatal ("bfd_close");
+ free (cwi.relocs);
+ return false;
+ }
/* We allocated the relocs array using malloc. */
free (cwi.relocs);
+ return true;
}
/* Work out the sizes of the various fixed size resource directory
@@ -640,7 +777,7 @@ coff_alloc (struct bindata_build *bb, rc_uint_type size)
/* Convert the resource directory RESDIR to binary. */
-static void
+static bool
coff_to_bin (const rc_res_directory *resdir, struct coff_write_info *cwi)
{
struct extern_res_directory *erd;
@@ -701,21 +838,24 @@ coff_to_bin (const rc_res_directory *resdir, struct coff_write_info *cwi)
if (e->subdir)
{
windres_put_32 (cwi->wrbfd, ere->rva, 0x80000000 | cwi->dirs.length);
- coff_to_bin (e->u.dir, cwi);
+ if (!coff_to_bin (e->u.dir, cwi))
+ return false;
}
else
{
windres_put_32 (cwi->wrbfd, ere->rva,
- cwi->dirsize + cwi->dirstrsize + cwi->dataents.length);
+ cwi->dirsize + cwi->dirstrsize + cwi->dataents.length);
- coff_res_to_bin (e->u.res, cwi);
+ if (!coff_res_to_bin (e->u.res, cwi))
+ return false;
}
}
+ return true;
}
/* Convert the resource RES to binary. */
-static void
+static bool
coff_res_to_bin (const rc_res_resource *res, struct coff_write_info *cwi)
{
arelent *r;
@@ -735,7 +875,10 @@ coff_res_to_bin (const rc_res_resource *res, struct coff_write_info *cwi)
r->addend = 0;
r->howto = bfd_reloc_type_lookup (WR_BFD (cwi->wrbfd), BFD_RELOC_RVA);
if (r->howto == NULL)
- bfd_fatal (_("can't get BFD_RELOC_RVA relocation type"));
+ {
+ bfd_nonfatal (_("can't get BFD_RELOC_RVA relocation type"));
+ return false;
+ }
cwi->relocs = xrealloc (cwi->relocs,
(cwi->reloc_count + 2) * sizeof (arelent *));
@@ -755,6 +898,8 @@ coff_res_to_bin (const rc_res_resource *res, struct coff_write_info *cwi)
d = (coff_res_data *) reswr_alloc (sizeof (coff_res_data));
d->length = res_to_bin (NULL, (rc_uint_type) 0, res);
+ if (d->length == (rc_uint_type) -1)
+ return false;
d->res = res;
d->next = NULL;
@@ -770,4 +915,5 @@ coff_res_to_bin (const rc_res_resource *res, struct coff_write_info *cwi)
/* Force the next resource to have 64 bit alignment. */
d->length = (d->length + 7) & ~7;
+ return true;
}
diff --git a/binutils/resrc.c b/binutils/resrc.c
index d265818..4ab830f 100644
--- a/binutils/resrc.c
+++ b/binutils/resrc.c
@@ -299,7 +299,7 @@ run_cmd (char *cmd, const char *redir)
if (WEXITSTATUS (wait_status) != 0)
{
fatal (_("%s exited with status %d"), cmd,
- WEXITSTATUS (wait_status));
+ WEXITSTATUS (wait_status));
retcode = 1;
}
}
@@ -331,7 +331,7 @@ open_input_stream (char *cmd)
if (verbose)
fprintf (stderr,
- _("Using temporary file `%s' to read preprocessor output\n"),
+ _("Using temporary file `%s' to read preprocessor output\n"),
cpp_temp_file);
}
else
@@ -359,15 +359,15 @@ filename_need_quotes (const char *filename)
while (*filename != 0)
{
switch (*filename)
- {
- case '&':
- case ' ':
- case '<':
- case '>':
- case '|':
- case '%':
- return 1;
- }
+ {
+ case '&':
+ case ' ':
+ case '<':
+ case '>':
+ case '|':
+ case '%':
+ return 1;
+ }
++filename;
}
return 0;
@@ -529,7 +529,7 @@ read_rc_file (const char *filename, const char *preprocessor,
if (slash && ! cpp_pipe)
{
/* Next, try looking for a gcc in the same directory as
- that windres */
+ that windres */
cpp_pipe = look_for_default (cmd, program_name, slash - program_name + 1,
preprocargs, filename);
@@ -586,11 +586,11 @@ close_input_stream (void)
else
{
if (cpp_pipe != NULL)
- {
+ {
int err;
err = pclose (cpp_pipe);
/* We are reading from a pipe, therefore we don't
- know if cpp failed or succeeded until pclose. */
+ know if cpp failed or succeeded until pclose. */
if (err != 0 || errno == ECHILD)
{
/* Since this is also run via xatexit, safeguard. */
@@ -598,7 +598,7 @@ close_input_stream (void)
cpp_temp_file = NULL;
fatal (_("preprocessing failed."));
}
- }
+ }
}
/* Since this is also run via xatexit, safeguard. */
@@ -679,6 +679,22 @@ get_data (FILE *e, bfd_byte *p, rc_uint_type c, const char *msg)
fatal (_("%s: read of %lu returned %lu"),
msg, (unsigned long) c, (unsigned long) got);
}
+
+static rc_uint_type
+target_get_16 (const void *p, size_t len)
+{
+ if (len < 2)
+ fatal (_("not enough data"));
+ return windres_get_16 (&wrtarget, p);
+}
+
+static rc_uint_type
+target_get_32 (const void *p, size_t len)
+{
+ if (len < 4)
+ fatal (_("not enough data"));
+ return windres_get_32 (&wrtarget, p);
+}
/* Define an accelerator resource. */
@@ -1094,7 +1110,7 @@ define_fontdir_rcdata (rc_res_id id,const rc_res_res_info *resinfo,
if (pb_data)
{
rc_uint_type off = 2;
- c = windres_get_16 (&wrtarget, pb_data, len_data);
+ c = target_get_16 (pb_data, len_data);
for (; c > 0; c--)
{
size_t len;
@@ -1103,7 +1119,7 @@ define_fontdir_rcdata (rc_res_id id,const rc_res_res_info *resinfo,
bfi = (const struct bin_fontdir_item *) pb_data + off;
fd = (rc_fontdir *) res_alloc (sizeof (rc_fontdir));
- fd->index = windres_get_16 (&wrtarget, bfi->index, len_data - off);
+ fd->index = target_get_16 (bfi->index, len_data - off);
fd->data = pb_data + off;
off += 56;
len = strlen ((char *) bfi->device_name) + 1;
@@ -1230,8 +1246,8 @@ define_icon (rc_res_id id, const rc_res_res_info *resinfo,
rc_group_icon *cg;
/* For some reason, at least in some files the planes and bits
- are zero. We instead set them from the color. This is
- copied from rcl. */
+ are zero. We instead set them from the color. This is
+ copied from rcl. */
cg = (rc_group_icon *) res_alloc (sizeof (rc_group_icon));
cg->next = NULL;
@@ -1288,10 +1304,10 @@ define_group_icon_rcdata (rc_res_id id, const rc_res_res_info *resinfo,
{
int c, i;
unsigned short type;
- type = windres_get_16 (&wrtarget, pb_data + 2, len_data - 2);
+ type = target_get_16 (pb_data + 2, len_data - 2);
if (type != 1)
fatal (_("unexpected group icon type %d"), type);
- c = windres_get_16 (&wrtarget, pb_data + 4, len_data - 4);
+ c = target_get_16 (pb_data + 4, len_data - 4);
len_data -= 6;
pb_data += 6;
@@ -1304,10 +1320,10 @@ define_group_icon_rcdata (rc_res_id id, const rc_res_res_info *resinfo,
cg->width = pb_data[0];
cg->height = pb_data[1];
cg->colors = pb_data[2];
- cg->planes = windres_get_16 (&wrtarget, pb_data + 4, len_data - 4);
- cg->bits = windres_get_16 (&wrtarget, pb_data + 6, len_data - 6);
- cg->bytes = windres_get_32 (&wrtarget, pb_data + 8, len_data - 8);
- cg->index = windres_get_16 (&wrtarget, pb_data + 12, len_data - 12);
+ cg->planes = target_get_16 (pb_data + 4, len_data - 4);
+ cg->bits = target_get_16 (pb_data + 6, len_data - 6);
+ cg->bytes = target_get_32 (pb_data + 8, len_data - 8);
+ cg->index = target_get_16 (pb_data + 12, len_data - 12);
if (! first)
first = cg;
else
@@ -1341,10 +1357,10 @@ define_group_cursor_rcdata (rc_res_id id, const rc_res_res_info *resinfo,
{
int c, i;
unsigned short type;
- type = windres_get_16 (&wrtarget, pb_data + 2, len_data - 2);
+ type = target_get_16 (pb_data + 2, len_data - 2);
if (type != 2)
fatal (_("unexpected group cursor type %d"), type);
- c = windres_get_16 (&wrtarget, pb_data + 4, len_data - 4);
+ c = target_get_16 (pb_data + 4, len_data - 4);
len_data -= 6;
pb_data += 6;
@@ -1354,12 +1370,12 @@ define_group_cursor_rcdata (rc_res_id id, const rc_res_res_info *resinfo,
fatal ("too small group icon rcdata");
cg = (rc_group_cursor *) res_alloc (sizeof (rc_group_cursor));
cg->next = NULL;
- cg->width = windres_get_16 (&wrtarget, pb_data, len_data);
- cg->height = windres_get_16 (&wrtarget, pb_data + 2, len_data - 2);
- cg->planes = windres_get_16 (&wrtarget, pb_data + 4, len_data - 4);
- cg->bits = windres_get_16 (&wrtarget, pb_data + 6, len_data - 6);
- cg->bytes = windres_get_32 (&wrtarget, pb_data + 8, len_data - 8);
- cg->index = windres_get_16 (&wrtarget, pb_data + 12, len_data - 12);
+ cg->width = target_get_16 (pb_data, len_data);
+ cg->height = target_get_16 (pb_data + 2, len_data - 2);
+ cg->planes = target_get_16 (pb_data + 4, len_data - 4);
+ cg->bits = target_get_16 (pb_data + 6, len_data - 6);
+ cg->bytes = target_get_32 (pb_data + 8, len_data - 8);
+ cg->index = target_get_16 (pb_data + 12, len_data - 12);
if (! first)
first = cg;
else
@@ -1389,8 +1405,8 @@ define_cursor_rcdata (rc_res_id id, const rc_res_res_info *resinfo,
pb_data = rcdata_render_as_buffer (data, &len_data);
c = (rc_cursor *) res_alloc (sizeof (rc_cursor));
- c->xhotspot = windres_get_16 (&wrtarget, pb_data, len_data);
- c->yhotspot = windres_get_16 (&wrtarget, pb_data + 2, len_data - 2);
+ c->xhotspot = target_get_16 (pb_data, len_data);
+ c->yhotspot = target_get_16 (pb_data + 2, len_data - 2);
c->length = len_data - BIN_CURSOR_SIZE;
c->data = (const bfd_byte *) (data + BIN_CURSOR_SIZE);
@@ -1938,7 +1954,7 @@ indent (FILE *e, int c)
refer to that file, we use the user-data model for that to express it binary
without the need to store it somewhere externally. */
-void
+bool
write_rc_file (const char *filename, const rc_res_directory *res_dir)
{
FILE *e;
@@ -1950,12 +1966,17 @@ write_rc_file (const char *filename, const rc_res_directory *res_dir)
{
e = fopen (filename, FOPEN_WT);
if (e == NULL)
- fatal (_("can't open `%s' for output: %s"), filename, strerror (errno));
+ {
+ non_fatal (_("can't open `%s' for output: %s"),
+ filename, strerror (errno));
+ return false;
+ }
}
language = (rc_uint_type) ((bfd_signed_vma) -1);
write_rc_directory (e, res_dir, (const rc_res_id *) NULL,
(const rc_res_id *) NULL, &language, 1);
+ return true;
}
/* Write out a directory. E is the file to write to. RD is the
@@ -1989,9 +2010,9 @@ write_rc_directory (FILE *e, const rc_res_directory *rd,
{
case 1:
/* If we're at level 1, the key of this resource is the
- type. This normally duplicates the information we have
- stored with the resource itself, but we need to remember
- the type if this is a user define resource type. */
+ type. This normally duplicates the information we have
+ stored with the resource itself, but we need to remember
+ the type if this is a user define resource type. */
type = &re->id;
break;
@@ -2026,10 +2047,10 @@ write_rc_directory (FILE *e, const rc_res_directory *rd,
if (level == 3)
{
/* This is the normal case: the three levels are
- TYPE/NAME/LANGUAGE. NAME will have been set at level
- 2, and represents the name to use. We probably just
- set LANGUAGE, and it will probably match what the
- resource itself records if anything. */
+ TYPE/NAME/LANGUAGE. NAME will have been set at level
+ 2, and represents the name to use. We probably just
+ set LANGUAGE, and it will probably match what the
+ resource itself records if anything. */
write_rc_resource (e, type, name, re->u.res, language);
}
else
@@ -2488,7 +2509,7 @@ write_rc_cursor (FILE *e, const rc_cursor *cursor)
(unsigned int) cursor->xhotspot, (unsigned int) cursor->yhotspot,
(int) cursor->xhotspot, (int) cursor->yhotspot);
write_rc_datablock (e, (rc_uint_type) cursor->length, (const bfd_byte *) cursor->data,
- 0, 0, 0);
+ 0, 0, 0);
fprintf (e, "END\n");
}
@@ -2649,10 +2670,10 @@ write_rc_dialog_control (FILE *e, const rc_dialog_control *control)
/* For EDITTEXT, COMBOBOX, LISTBOX, and SCROLLBAR don't dump text. */
if ((control->text.named || control->text.u.id != 0)
&& (!ci
- || (ci->class != CTL_EDIT
- && ci->class != CTL_COMBOBOX
- && ci->class != CTL_LISTBOX
- && ci->class != CTL_SCROLLBAR)))
+ || (ci->class != CTL_EDIT
+ && ci->class != CTL_COMBOBOX
+ && ci->class != CTL_LISTBOX
+ && ci->class != CTL_SCROLLBAR)))
{
fprintf (e, " ");
res_id_print (e, control->text, 1);
@@ -2901,8 +2922,8 @@ test_rc_datablock_text (rc_uint_type length, const bfd_byte *data)
for (i = 0, c = 0; i < length; i++)
{
if (! ISPRINT (data[i]) && data[i] != '\n'
- && ! (data[i] == '\r' && (i + 1) < length && data[i + 1] == '\n')
- && data[i] != '\t'
+ && ! (data[i] == '\r' && (i + 1) < length && data[i + 1] == '\n')
+ && data[i] != '\t'
&& ! (data[i] == 0 && (i + 1) != length))
{
if (data[i] <= 7)
@@ -2939,7 +2960,7 @@ write_rc_messagetable (FILE *e, rc_uint_type length, const bfd_byte *data)
rc_uint_type m, i;
mt = (const struct bin_messagetable *) data;
- m = windres_get_32 (&wrtarget, mt->cblocks, length);
+ m = target_get_32 (mt->cblocks, length);
if (length < (BIN_MESSAGETABLE_SIZE + m * BIN_MESSAGETABLE_BLOCK_SIZE))
{
@@ -2951,9 +2972,9 @@ write_rc_messagetable (FILE *e, rc_uint_type length, const bfd_byte *data)
rc_uint_type low, high, offset;
const struct bin_messagetable_item *mti;
- low = windres_get_32 (&wrtarget, mt->items[i].lowid, 4);
- high = windres_get_32 (&wrtarget, mt->items[i].highid, 4);
- offset = windres_get_32 (&wrtarget, mt->items[i].offset, 4);
+ low = windres_get_32 (&wrtarget, mt->items[i].lowid);
+ high = windres_get_32 (&wrtarget, mt->items[i].highid);
+ offset = windres_get_32 (&wrtarget, mt->items[i].offset);
while (low <= high)
{
@@ -2964,8 +2985,8 @@ write_rc_messagetable (FILE *e, rc_uint_type length, const bfd_byte *data)
break;
}
mti = (const struct bin_messagetable_item *) &data[offset];
- elen = windres_get_16 (&wrtarget, mti->length, 2);
- flags = windres_get_16 (&wrtarget, mti->flags, 2);
+ elen = windres_get_16 (&wrtarget, mti->length);
+ flags = windres_get_16 (&wrtarget, mti->flags);
if ((offset + elen) > length)
{
has_error = 1;
@@ -3003,8 +3024,8 @@ write_rc_messagetable (FILE *e, rc_uint_type length, const bfd_byte *data)
}
static void
-write_rc_datablock (FILE *e, rc_uint_type length, const bfd_byte *data, int has_next,
- int hasblock, int show_comment)
+write_rc_datablock (FILE *e, rc_uint_type length, const bfd_byte *data,
+ int has_next, int hasblock, int show_comment)
{
int plen;
@@ -3026,23 +3047,23 @@ write_rc_datablock (FILE *e, rc_uint_type length, const bfd_byte *data, int has_
if (i < length && data[i] == '\n')
++i, ++c;
ascii_print(e, (const char *) &data[i - c], c);
- fprintf (e, "\"");
+ fprintf (e, "\"");
if (i < length)
fprintf (e, "\n");
}
if (i == 0)
- {
+ {
indent (e, 2);
fprintf (e, "\"\"");
- }
+ }
if (has_next)
fprintf (e, ",");
fprintf (e, "\n");
if (hasblock)
fprintf (e, "END\n");
return;
- }
+ }
if (test_rc_datablock_unicode (length, data))
{
rc_uint_type i, c;
@@ -3052,20 +3073,20 @@ write_rc_datablock (FILE *e, rc_uint_type length, const bfd_byte *data, int has_
u = (const unichar *) &data[i];
indent (e, 2);
- fprintf (e, "L\"");
+ fprintf (e, "L\"");
for (c = 0; i < length && c < 160 && u[c] != '\n'; c++, i += 2)
;
if (i < length && u[c] == '\n')
i += 2, ++c;
unicode_print (e, u, c);
- fprintf (e, "\"");
+ fprintf (e, "\"");
if (i < length)
fprintf (e, "\n");
}
if (i == 0)
- {
+ {
indent (e, 2);
fprintf (e, "L\"\"");
}
@@ -3081,14 +3102,14 @@ write_rc_datablock (FILE *e, rc_uint_type length, const bfd_byte *data, int has_
}
if (length != 0)
- {
+ {
rc_uint_type i, max_row;
int first = 1;
max_row = (show_comment ? 4 : 8);
indent (e, 2);
for (i = 0; i + 3 < length;)
- {
+ {
rc_uint_type k;
rc_uint_type comment_start;
@@ -3098,65 +3119,68 @@ write_rc_datablock (FILE *e, rc_uint_type length, const bfd_byte *data, int has_
indent (e, 2);
for (k = 0; k < max_row && i + 3 < length; k++, i += 4)
- {
+ {
if (k == 0)
- plen = fprintf (e, "0x%lxL",
- (unsigned long) windres_get_32 (&wrtarget, data + i, length - i));
- else
+ plen = fprintf (e, "0x%lxL",
+ (unsigned long) target_get_32 (data + i,
+ length - i));
+ else
plen = fprintf (e, " 0x%lxL",
- (unsigned long) windres_get_32 (&wrtarget, data + i, length - i)) - 1;
+ (unsigned long) target_get_32 (data + i,
+ length - i)) - 1;
if (has_next || (i + 4) < length)
- {
+ {
if (plen>0 && plen < 11)
indent (e, 11 - plen);
fprintf (e, ",");
- }
- }
+ }
+ }
if (show_comment)
{
fprintf (e, "\t/* ");
- ascii_print (e, (const char *) &data[comment_start], i - comment_start);
+ ascii_print (e, (const char *) &data[comment_start],
+ i - comment_start);
fprintf (e, ". */");
- }
- fprintf (e, "\n");
- first = 0;
- }
+ }
+ fprintf (e, "\n");
+ first = 0;
+ }
if (i + 1 < length)
- {
- if (! first)
+ {
+ if (! first)
indent (e, 2);
plen = fprintf (e, "0x%x",
- (int) windres_get_16 (&wrtarget, data + i, length - i));
+ (int) target_get_16 (data + i, length - i));
if (has_next || i + 2 < length)
- {
+ {
if (plen > 0 && plen < 11)
indent (e, 11 - plen);
fprintf (e, ",");
- }
+ }
if (show_comment)
{
fprintf (e, "\t/* ");
ascii_print (e, (const char *) &data[i], 2);
fprintf (e, ". */");
- }
- fprintf (e, "\n");
- i += 2;
- first = 0;
- }
+ }
+ fprintf (e, "\n");
+ i += 2;
+ first = 0;
+ }
if (i < length)
- {
- if (! first)
+ {
+ if (! first)
indent (e, 2);
fprintf (e, "\"");
ascii_print (e, (const char *) &data[i], 1);
fprintf (e, "\"");
if (has_next)
- fprintf (e, ",");
- fprintf (e, "\n");
- first = 0;
- }
+ fprintf (e, ",");
+ fprintf (e, "\n");
+ first = 0;
+ }
}
if (hasblock)
fprintf (e, "END\n");
@@ -3209,9 +3233,9 @@ write_rc_rcdata (FILE *e, const rc_rcdata_item *rcdata, int ind)
case RCDATA_BUFFER:
write_rc_datablock (e, (rc_uint_type) ri->u.buffer.length,
- (const bfd_byte *) ri->u.buffer.data,
- ri->next != NULL, 0, -1);
- break;
+ (const bfd_byte *) ri->u.buffer.data,
+ ri->next != NULL, 0, -1);
+ break;
}
if (ri->type != RCDATA_BUFFER)
@@ -3252,7 +3276,7 @@ write_rc_stringtable (FILE *e, const rc_res_id *name,
{
fprintf (e, " %lu, ", (unsigned long) offset + i);
unicode_print_quoted (e, stringtable->strings[i].string,
- stringtable->strings[i].length);
+ stringtable->strings[i].length);
fprintf (e, "\n");
}
}
@@ -3293,7 +3317,7 @@ write_rc_versioninfo (FILE *e, const rc_versioninfo *versioninfo)
fprintf (e, " FILESUBTYPE 0x%x\n", (unsigned int) f->file_subtype);
if (f->file_date_ms != 0 || f->file_date_ls != 0)
fprintf (e, "/* Date: %u, %u. */\n",
- (unsigned int) f->file_date_ms, (unsigned int) f->file_date_ls);
+ (unsigned int) f->file_date_ms, (unsigned int) f->file_date_ls);
fprintf (e, "BEGIN\n");
@@ -3361,7 +3385,7 @@ rcdata_copy (const rc_rcdata_item *src, bfd_byte *dst)
if (! src)
return 0;
switch (src->type)
- {
+ {
case RCDATA_WORD:
if (dst)
windres_put_16 (&wrtarget, dst, (rc_uint_type) src->u.word);
diff --git a/binutils/resres.c b/binutils/resres.c
index ab5aa66..6505580 100644
--- a/binutils/resres.c
+++ b/binutils/resres.c
@@ -109,14 +109,14 @@ read_res_file (const char *fn)
}
/* Write resource file */
-void
+bool
write_res_file (const char *fn,const rc_res_directory *resdir)
{
asection *sec;
rc_uint_type language;
bfd *abfd;
windres_bfd wrbfd;
- unsigned long sec_length = 0,sec_length_wrote;
+ rc_uint_type sec_length = 0, sec_length_wrote;
static const bfd_byte sign[] =
{0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00,
@@ -130,7 +130,10 @@ write_res_file (const char *fn,const rc_res_directory *resdir)
(SEC_HAS_CONTENTS | SEC_ALLOC
| SEC_LOAD | SEC_DATA));
if (sec == NULL)
- bfd_fatal ("bfd_make_section");
+ {
+ bfd_nonfatal ("bfd_make_section");
+ return false;
+ }
/* Requiring this is probably a bug in BFD. */
sec->output_section = sec;
@@ -142,8 +145,13 @@ write_res_file (const char *fn,const rc_res_directory *resdir)
sec_length = write_res_directory ((windres_bfd *) NULL, 0x20UL, resdir,
(const rc_res_id *) NULL,
(const rc_res_id *) NULL, &language, 1);
+ if (sec_length == (rc_uint_type) -1)
+ return false;
if (!bfd_set_section_size (sec, (sec_length + 3) & ~3))
- bfd_fatal ("bfd_set_section_size");
+ {
+ bfd_nonfatal ("bfd_set_section_size");
+ return false;
+ }
if ((sec_length & 3) != 0)
set_windres_bfd_content (&wrbfd, sign, sec_length, 4-(sec_length & 3));
set_windres_bfd_content (&wrbfd, sign, 0, sizeof (sign));
@@ -152,12 +160,16 @@ write_res_file (const char *fn,const rc_res_directory *resdir)
(const rc_res_id *) NULL,
(const rc_res_id *) NULL,
&language, 1);
+ if (sec_length_wrote == (rc_uint_type) -1)
+ return false;
if (sec_length != sec_length_wrote)
- fatal ("res write failed with different sizes (%lu/%lu).",
- (unsigned long) sec_length, (unsigned long) sec_length_wrote);
+ {
+ non_fatal ("res write failed with different sizes (%lu/%lu).",
+ (unsigned long) sec_length, (unsigned long) sec_length_wrote);
+ return false;
+ }
- bfd_close (abfd);
- return;
+ return bfd_close (abfd);
}
/* Read a resource entry, returns 0 when all resources are read */
@@ -189,11 +201,11 @@ read_resource_entry (windres_bfd *wrbfd, rc_uint_type *off, rc_uint_type omax)
/* Read additional resource header */
read_res_data (wrbfd, off, omax, &l, BIN_RES_INFO_SIZE);
- resinfo.version = windres_get_32 (wrbfd, l.version, 4);
- resinfo.memflags = windres_get_16 (wrbfd, l.memflags, 2);
- resinfo.language = windres_get_16 (wrbfd, l.language, 2);
- /* resinfo.version2 = windres_get_32 (wrbfd, l.version2, 4); */
- resinfo.characteristics = windres_get_32 (wrbfd, l.characteristics, 4);
+ resinfo.version = windres_get_32 (wrbfd, l.version);
+ resinfo.memflags = windres_get_16 (wrbfd, l.memflags);
+ resinfo.language = windres_get_16 (wrbfd, l.language);
+ /* resinfo.version2 = windres_get_32 (wrbfd, l.version2); */
+ resinfo.characteristics = windres_get_32 (wrbfd, l.characteristics);
off[0] = (off[0] + 3) & ~3;
@@ -252,8 +264,12 @@ write_res_directory (windres_bfd *wrbfd, rc_uint_type off, const rc_res_director
}
if (re->subdir)
- off = write_res_directory (wrbfd, off, re->u.dir, type, name, language,
- level + 1);
+ {
+ off = write_res_directory (wrbfd, off, re->u.dir, type, name, language,
+ level + 1);
+ if (off == (rc_uint_type) -1)
+ return off;
+ }
else
{
if (level == 3)
@@ -265,12 +281,16 @@ write_res_directory (windres_bfd *wrbfd, rc_uint_type off, const rc_res_director
resource itself records if anything. */
off = write_res_resource (wrbfd, off, type, name, re->u.res,
language);
+ if (off == (rc_uint_type) -1)
+ return off;
}
else
{
fprintf (stderr, "// Resource at unexpected level %d\n", level);
off = write_res_resource (wrbfd, off, type, (rc_res_id *) NULL,
re->u.res, language);
+ if (off == (rc_uint_type) -1)
+ return off;
}
}
}
@@ -378,6 +398,8 @@ write_res_bin (windres_bfd *wrbfd, rc_uint_type off, const rc_res_resource *res,
rc_uint_type datasize = 0;
noff = res_to_bin ((windres_bfd *) NULL, off, res);
+ if (noff == (rc_uint_type) -1)
+ return noff;
datasize = noff - off;
off = write_res_header (wrbfd, off, datasize, type, name, resinfo);
@@ -442,8 +464,8 @@ read_res_data_hdr (windres_bfd *wrbfd, rc_uint_type *off, rc_uint_type omax,
fatal ("%s: unexpected end of file %ld/%ld", filename,(long) off[0], (long) omax);
get_windres_bfd_content (wrbfd, &brh, off[0], BIN_RES_HDR_SIZE);
- reshdr->data_size = windres_get_32 (wrbfd, brh.data_size, 4);
- reshdr->header_size = windres_get_32 (wrbfd, brh.header_size, 4);
+ reshdr->data_size = windres_get_32 (wrbfd, brh.data_size);
+ reshdr->header_size = windres_get_32 (wrbfd, brh.header_size);
off[0] += BIN_RES_HDR_SIZE;
}
@@ -520,12 +542,12 @@ read_res_id (windres_bfd *wrbfd, rc_uint_type *off, rc_uint_type omax, rc_res_id
rc_uint_type len;
read_res_data (wrbfd, off, omax, &bid, BIN_RES_ID - 2);
- ord = (unsigned short) windres_get_16 (wrbfd, bid.sig, 2);
+ ord = (unsigned short) windres_get_16 (wrbfd, bid.sig);
if (ord == 0xFFFF) /* an ordinal id */
{
read_res_data (wrbfd, off, omax, bid.id, BIN_RES_ID - 2);
id->named = 0;
- id->u.id = windres_get_16 (wrbfd, bid.id, 2);
+ id->u.id = windres_get_16 (wrbfd, bid.id);
}
else
/* named id */
@@ -553,7 +575,7 @@ read_unistring (windres_bfd *wrbfd, rc_uint_type *off, rc_uint_type omax,
do
{
read_res_data (wrbfd, &soff, omax, d, sizeof (unichar));
- c = windres_get_16 (wrbfd, d, 2);
+ c = windres_get_16 (wrbfd, d);
}
while (c != 0);
l = ((soff - off[0]) / sizeof (unichar));
@@ -563,7 +585,7 @@ read_unistring (windres_bfd *wrbfd, rc_uint_type *off, rc_uint_type omax,
do
{
read_res_data (wrbfd, off, omax, d, sizeof (unichar));
- c = windres_get_16 (wrbfd, d, 2);
+ c = windres_get_16 (wrbfd, d);
*p++ = c;
}
while (c != 0);
diff --git a/binutils/testsuite/binutils-all/nm.exp b/binutils/testsuite/binutils-all/nm.exp
index b81126b..c571520 100644
--- a/binutils/testsuite/binutils-all/nm.exp
+++ b/binutils/testsuite/binutils-all/nm.exp
@@ -163,7 +163,7 @@ if { [is_elf_format]
|| [istarget wasm32-*-*]
|| [istarget bpf-*-*]} {
set nm_1_src "nm-elf-1.s"
-} elseif {[is_coff_format] && ![istarget arm*-*-*]} {
+} elseif {[is_coff_format]} {
if {[istarget *c4x-*-*] || [istarget *c54x-*-*]} {
set nm_1_src "nm-coff-sdef-1.s"
} else {
diff --git a/binutils/testsuite/binutils-all/objcopy.exp b/binutils/testsuite/binutils-all/objcopy.exp
index ff93fea..6aa6d2d 100644
--- a/binutils/testsuite/binutils-all/objcopy.exp
+++ b/binutils/testsuite/binutils-all/objcopy.exp
@@ -180,7 +180,7 @@ proc objcopy_test_verilog {testname} {
untested "verilog width-4 and width-8 tests"
return
}
-
+
foreach width {4 8} {
set got [binutils_run $OBJCOPY "-O verilog --verilog-data-width $width $binfile $verilog-$width.hex"]
if ![string equal "" $got] then {
@@ -194,7 +194,7 @@ proc objcopy_test_verilog {testname} {
}
}
- # Test generating endian correct output.
+ # Test generating endian correct output.
set testname "objcopy (verilog output endian-ness == input endian-ness)"
set got [binutils_run $OBJCOPY "-O verilog --verilog-data-width 4 $binfile $verilog-I4.hex"]
if ![string equal "" $got] then {
@@ -202,9 +202,9 @@ proc objcopy_test_verilog {testname} {
}
send_log "regexp_diff $verilog-I4.hex $srcdir/$subdir/verilog-I4.hex\n"
if {! [regexp_diff "$verilog-I4.hex" "$srcdir/$subdir/verilog-I4.hex"]} {
- pass $testname
+ pass $testname
} else {
- fail $testname
+ fail $testname
}
}
@@ -661,6 +661,87 @@ proc strip_test_with_saving_a_symbol { } {
strip_test_with_saving_a_symbol
+# Test stripping an archive.
+
+proc strip_test_archive { } {
+ global AR
+ global CC
+ global STRIP
+ global srcdir
+ global subdir
+
+ set test "strip -g on archive"
+
+ if { [target_compile $srcdir/$subdir/testprog.c tmpdir/testprog.o object debug] != "" } {
+ untested $test
+ return
+ }
+
+ set stripobjfile tmpdir/striptestprog.o
+ set stripobjarchive testprog.o
+ if [is_remote host] {
+ set archive libstrip.a
+ set objfile [remote_download host tmpdir/testprog.o]
+ remote_file host delete $archive
+ remote_file host delete $stripobjfile
+ remote_file host delete $stripobjarchive
+ } else {
+ set archive tmpdir/libstrip.a
+ set objfile tmpdir/testprog.o
+ remote_file build delete $stripobjfile
+ remote_file build delete $stripobjarchive
+ }
+
+ remote_file build delete tmpdir/libstrip.a
+
+ set exec_output [binutils_run $STRIP "-g -o $stripobjfile $objfile"]
+ set exec_output [prune_warnings $exec_output]
+ if ![string equal "" $exec_output] {
+ fail $test
+ return
+ }
+
+ set exec_output [binutils_run $AR "rc $archive ${objfile}"]
+ set exec_output [prune_warnings $exec_output]
+ if ![string equal "" $exec_output] {
+ fail $test
+ return
+ }
+
+ set exec_output [binutils_run $STRIP "-g $archive"]
+ set exec_output [prune_warnings $exec_output]
+ if ![string equal "" $exec_output] {
+ fail $test
+ return
+ }
+
+ set exec_output [binutils_run $AR "x $archive"]
+ set exec_output [prune_warnings $exec_output]
+ if ![string equal "" $exec_output] {
+ fail $test
+ return
+ }
+
+ if [is_remote host] {
+ set stripobjfile [remote_download host $stripobjfile]
+ set stripobjarchive [remote_download host $stripobjarchive]
+ }
+
+ send_log "cmp $stripobjarchive $stripobjfile\n"
+ verbose "cmp $stripobjarchive $stripobjfile"
+ set status [remote_exec build cmp "$stripobjarchive $stripobjfile"]
+ set exec_output [lindex $status 1]
+ set exec_output [prune_warnings $exec_output]
+
+ if [string equal "" $exec_output] then {
+ pass $test
+ } else {
+ fail $test
+ }
+}
+
+strip_test_archive
+
# Build a final executable.
set exe [exeext]
diff --git a/binutils/testsuite/binutils-all/riscv/property-cfi-lp-unlabeled.d b/binutils/testsuite/binutils-all/riscv/property-cfi-lp-unlabeled.d
new file mode 100644
index 0000000..396b4cd
--- /dev/null
+++ b/binutils/testsuite/binutils-all/riscv/property-cfi-lp-unlabeled.d
@@ -0,0 +1,8 @@
+#as: -defsym __property_zicfilp_unlabeled__=1 -march=rv64i -mabi=lp64
+#readelf: -n
+#source: property.s
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x00000010[ ]+NT_GNU_PROPERTY_TYPE_0
+[ ]+Properties: RISC-V AND feature: CFI_LP_UNLABELED
diff --git a/binutils/testsuite/binutils-all/riscv/property-cfi-ss.d b/binutils/testsuite/binutils-all/riscv/property-cfi-ss.d
new file mode 100644
index 0000000..5bc844a
--- /dev/null
+++ b/binutils/testsuite/binutils-all/riscv/property-cfi-ss.d
@@ -0,0 +1,8 @@
+#as: -defsym __property_zicfiss__=1 -march=rv64i -mabi=lp64
+#readelf: -n
+#source: property.s
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x00000010[ ]+NT_GNU_PROPERTY_TYPE_0
+[ ]+Properties: RISC-V AND feature: CFI_SS
diff --git a/binutils/testsuite/binutils-all/riscv/property.s b/binutils/testsuite/binutils-all/riscv/property.s
new file mode 100644
index 0000000..1b62654
--- /dev/null
+++ b/binutils/testsuite/binutils-all/riscv/property.s
@@ -0,0 +1,41 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ ret
+
+.ifdef __property_zicfilp_unlabeled__
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x1 /* GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED. */
+4:
+ .p2align 3
+5:
+.endif
+
+.ifdef __property_zicfiss__
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x2 /* GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS. */
+4:
+ .p2align 3
+5:
+.endif
diff --git a/binutils/testsuite/binutils-all/x86-64/dwarf4.s b/binutils/testsuite/binutils-all/x86-64/dwarf4.s
new file mode 100644
index 0000000..6c393b9
--- /dev/null
+++ b/binutils/testsuite/binutils-all/x86-64/dwarf4.s
@@ -0,0 +1,26166 @@
+/* Assembly outputs of
+
+#include <memory>
+struct Base {};
+void func() {
+ static std::unique_ptr<Base> varStatic = std::make_unique<Base>();
+}
+int main(int, char**) {
+ func();
+ return 0;
+}
+
+compiled by GCC 15.1.1 with -g3 -O2 -dA -gdwarf-4. */
+
+ .file "dwarf.cc"
+ .text
+.Ltext0:
+ .file 1 "dwarf.cc"
+ .section .text._ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev,"axG",@progbits,_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED5Ev,comdat
+ .align 2
+ .p2align 4
+ .weak _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev
+ .type _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev, @function
+_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev:
+.LVL0:
+ # DEBUG this => di
+.LFB1565:
+ .file 2 "/usr/include/c++/15/bits/unique_ptr.h"
+ # /usr/include/c++/15/bits/unique_ptr.h:393:7
+ .loc 2 393 7 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # DEBUG this => di
+.LBB143:
+.LBB144:
+.LBB145:
+.LBI145:
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 2 191 18 view .LVU1
+ # DEBUG this RESET
+ # DEBUG __ptr => di
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 2 191 18 is_stmt 0 view .LVU2
+.LBE145:
+ # /usr/include/c++/15/bits/unique_ptr.h:398:12
+ .loc 2 398 12 view .LVU3
+ movq (%rdi), %rdi
+.LVL1:
+ # DEBUG __ptr => entry_value
+ # DEBUG this => entry_value
+ # /usr/include/c++/15/bits/unique_ptr.h:398:2
+ .loc 2 398 2 view .LVU4
+ testq %rdi, %rdi
+# SUCC: 3 [53.5% (guessed)] count:574129752 (estimated locally, freq 0.5347) (FALLTHRU,CAN_FALLTHRU) 4 [46.5% (guessed)] count:499612072 (estimated locally, freq 0.4653) (CAN_FALLTHRU)
+ je .L1
+# BLOCK 3, count:574129752 (estimated locally) seq:1
+# PRED: 2 [53.5% (guessed)] count:574129752 (estimated locally, freq 0.5347) (FALLTHRU,CAN_FALLTHRU)
+.LVL2:
+ # DEBUG this => entry_value
+.LBB146:
+.LBI146:
+ # /usr/include/c++/15/bits/unique_ptr.h:478:7
+ .loc 2 478 7 is_stmt 1 view .LVU5
+ # DEBUG this RESET
+ # DEBUG __ptr => di
+ # /usr/include/c++/15/bits/unique_ptr.h:478:7
+ .loc 2 478 7 is_stmt 0 view .LVU6
+.LBE146:
+.LBB147:
+.LBI147:
+ # /usr/include/c++/15/bits/unique_ptr.h:87:7
+ .loc 2 87 7 is_stmt 1 view .LVU7
+.LBB148:
+ # /usr/include/c++/15/bits/unique_ptr.h:93:2
+ .loc 2 93 2 is_stmt 0 discriminator 1 view .LVU8
+ movl $1, %esi
+# SUCC: EXIT [always] count:574129752 (estimated locally, freq 0.5347) (ABNORMAL,SIBCALL)
+ jmp _ZdlPvm
+.LVL3:
+ # DEBUG __ptr RESET
+ # DEBUG __ptr RESET
+# BLOCK 4, count:499612072 (estimated locally) seq:2
+# PRED: 2 [46.5% (guessed)] count:499612072 (estimated locally, freq 0.4653) (CAN_FALLTHRU)
+ .p2align 4,,10
+ .p2align 3
+.L1:
+ # /usr/include/c++/15/bits/unique_ptr.h:93:2
+ .loc 2 93 2 discriminator 1 view .LVU9
+.LBE148:
+.LBE147:
+.LBE144:
+.LBE143:
+# SUCC: EXIT [always] count:499612072 (estimated locally, freq 0.4653)
+ # /usr/include/c++/15/bits/unique_ptr.h:401:7
+ .loc 2 401 7 view .LVU10
+ ret
+ .cfi_endproc
+.LFE1565:
+ .size _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev, .-_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev
+ .weak _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev
+ .set _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev,_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev
+ .section .text.unlikely,"ax",@progbits
+.LCOLDB0:
+ .text
+.LHOTB0:
+ .p2align 4
+ .section .text.unlikely
+.Ltext_cold0:
+ .text
+ .globl _Z4funcv
+ .type _Z4funcv, @function
+_Z4funcv:
+.LFB1545:
+ # dwarf.cc:3:13
+ .loc 1 3 13 is_stmt 1 view -0
+ .cfi_startproc
+ .cfi_personality 0x3,__gxx_personality_v0
+ .cfi_lsda 0x3,.LLSDA1545
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf.cc:4:2
+ .loc 1 4 2 view .LVU12
+ # dwarf.cc:4:66
+ .loc 1 4 66 is_stmt 0 view .LVU13
+ movzbl _ZGVZ4funcvE9varStatic(%rip), %eax
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 1 view .LVU14
+ testb %al, %al
+# SUCC: 4 [33.0% (guessed)] count:354334800 (estimated locally, freq 0.3300) (CAN_FALLTHRU) 3 [67.0% (guessed)] count:719407024 (estimated locally, freq 0.6700) (FALLTHRU,CAN_FALLTHRU)
+ je .L17
+# BLOCK 3, count:641063600 (estimated locally) seq:1
+# PRED: 2 [67.0% (guessed)] count:719407024 (estimated locally, freq 0.6700) (FALLTHRU,CAN_FALLTHRU)
+# SUCC: EXIT [always] count:641063600 (estimated locally, freq 0.5970)
+ ret
+# BLOCK 4, count:354334800 (estimated locally) seq:2
+# PRED: 2 [33.0% (guessed)] count:354334800 (estimated locally, freq 0.3300) (CAN_FALLTHRU)
+ .p2align 4,,10
+ .p2align 3
+.L17:
+ # dwarf.cc:3:13
+ .loc 1 3 13 view .LVU15
+ pushq %rbx
+ .cfi_def_cfa_offset 16
+ .cfi_offset 3, -16
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 2 view .LVU16
+ movl $_ZGVZ4funcvE9varStatic, %edi
+ call __cxa_guard_acquire
+.LVL4:
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 3 view .LVU17
+ testl %eax, %eax
+# SUCC: 6 [33.0% (guessed)] count:116930483 (estimated locally, freq 0.1089) (CAN_FALLTHRU) 5 [67.0% (guessed)] count:237404317 (estimated locally, freq 0.2211) (FALLTHRU,CAN_FALLTHRU)
+ jne .L18
+# BLOCK 5, count:315747741 (estimated locally) seq:3
+# PRED: 4 [67.0% (guessed)] count:237404317 (estimated locally, freq 0.2211) (FALLTHRU,CAN_FALLTHRU)
+ # dwarf.cc:5:1
+ .loc 1 5 1 view .LVU18
+ popq %rbx
+ .cfi_remember_state
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:315747741 (estimated locally, freq 0.2941)
+ ret
+# BLOCK 6, count:116930483 (estimated locally) seq:4
+# PRED: 4 [33.0% (guessed)] count:116930483 (estimated locally, freq 0.1089) (CAN_FALLTHRU)
+ .p2align 4,,10
+ .p2align 3
+.L18:
+ .cfi_restore_state
+.LBB149:
+.LBI149:
+ # /usr/include/c++/15/bits/unique_ptr.h:1084:5
+ .loc 2 1084 5 is_stmt 1 view .LVU19
+.LBB150:
+ # /usr/include/c++/15/bits/unique_ptr.h:1085:30
+ .loc 2 1085 30 is_stmt 0 view .LVU20
+ movl $1, %edi
+.LEHB0:
+# SUCC: 8 [never] count:0 (precise, freq 0.0000) (ABNORMAL,ABNORMAL_CALL,EH) 7 [always (adjusted)] count:116930483 (estimated locally, freq 0.1089) (FALLTHRU,CAN_FALLTHRU)
+ call _Znwm
+.LVL5:
+.LEHE0:
+# BLOCK 7, count:116930483 (estimated locally) seq:5
+# PRED: 6 [always (adjusted)] count:116930483 (estimated locally, freq 0.1089) (FALLTHRU,CAN_FALLTHRU)
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # DEBUG __p => ax
+.LBB151:
+.LBI151:
+ # /usr/include/c++/15/bits/unique_ptr.h:311:2
+ .loc 2 311 2 is_stmt 1 view .LVU21
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # DEBUG => ax
+.LBB152:
+.LBI152:
+ # /usr/include/c++/15/bits/unique_ptr.h:235:40
+ .loc 2 235 40 view .LVU22
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # DEBUG __p => ax
+.LBB153:
+.LBI153:
+ # /usr/include/c++/15/bits/unique_ptr.h:170:7
+ .loc 2 170 7 view .LVU23
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB154:
+.LBB155:
+.LBI155:
+ .file 3 "/usr/include/c++/15/tuple"
+ # /usr/include/c++/15/tuple:2090:2
+ .loc 3 2090 2 view .LVU24
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB156:
+.LBI156:
+ # /usr/include/c++/15/tuple:302:17
+ .loc 3 302 17 view .LVU25
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB157:
+.LBI157:
+ # /usr/include/c++/15/tuple:560:7
+ .loc 3 560 7 view .LVU26
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB158:
+.LBI158:
+ # /usr/include/c++/15/tuple:93:17
+ .loc 3 93 17 view .LVU27
+ # DEBUG this RESET
+ # DEBUG this RESET
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # /usr/include/c++/15/tuple:93:17
+ .loc 3 93 17 is_stmt 0 view .LVU28
+.LBE158:
+.LBE157:
+.LBB159:
+.LBI159:
+ # /usr/include/c++/15/tuple:202:17
+ .loc 3 202 17 is_stmt 1 view .LVU29
+ # DEBUG this RESET
+ # DEBUG this RESET
+ # DEBUG this RESET
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # /usr/include/c++/15/tuple:202:17
+ .loc 3 202 17 is_stmt 0 view .LVU30
+.LBE159:
+.LBE156:
+.LBE155:
+.LBB160:
+.LBI160:
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 2 191 18 is_stmt 1 view .LVU31
+ # DEBUG this RESET
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 2 191 18 is_stmt 0 view .LVU32
+.LBE160:
+.LBE154:
+.LBE153:
+.LBE152:
+.LBE151:
+.LBE150:
+.LBE149:
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 7 view .LVU33
+ movl $_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev, %edi
+ movl $__dso_handle, %edx
+ movl $_ZZ4funcvE9varStatic, %esi
+.LBB166:
+.LBB165:
+.LBB164:
+.LBB163:
+.LBB162:
+.LBB161:
+ # /usr/include/c++/15/bits/unique_ptr.h:170:56
+ .loc 2 170 56 discriminator 2 view .LVU34
+ movq %rax, _ZZ4funcvE9varStatic(%rip)
+.LVL6:
+ # DEBUG this RESET
+ # DEBUG __p RESET
+ # DEBUG this RESET
+ # DEBUG RESET
+ # DEBUG this RESET
+ # DEBUG __p RESET
+ # /usr/include/c++/15/bits/unique_ptr.h:170:56
+ .loc 2 170 56 discriminator 2 view .LVU35
+.LBE161:
+.LBE162:
+.LBE163:
+.LBE164:
+.LBE165:
+.LBE166:
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 7 view .LVU36
+ call __cxa_atexit
+.LVL7:
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 8 view .LVU37
+ movl $_ZGVZ4funcvE9varStatic, %edi
+ # dwarf.cc:5:1
+ .loc 1 5 1 view .LVU38
+ popq %rbx
+ .cfi_remember_state
+ .cfi_restore 3
+ .cfi_def_cfa_offset 8
+.LEHB1:
+# SUCC: EXIT [always] count:116930483 (estimated locally, freq 0.1089) (ABNORMAL,SIBCALL)
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 8 view .LVU39
+ jmp __cxa_guard_release
+.LVL8:
+.LEHE1:
+# BLOCK 8, count:0 (precise) seq:6
+# PRED: 6 [never] count:0 (precise, freq 0.0000) (ABNORMAL,ABNORMAL_CALL,EH)
+.L9:
+ .cfi_restore_state
+ # dwarf.cc:4:66
+ .loc 1 4 66 discriminator 10 view .LVU40
+ movq %rax, %rbx
+# SUCC: 9 [always] count:0 (precise, freq 0.0000) (CROSSING)
+ jmp .L8
+ .section .gcc_except_table,"a",@progbits
+.LLSDA1545:
+ .byte 0xff # @LPStart format (omit)
+ .byte 0xff # @TType format (omit)
+ .byte 0x1 # call-site format (uleb128)
+ .uleb128 .LLSDACSE1545-.LLSDACSB1545 # Call-site table length
+.LLSDACSB1545:
+ .uleb128 .LEHB0-.LFB1545 # region 0 start
+ .uleb128 .LEHE0-.LEHB0 # length
+ .uleb128 .L9-.LFB1545 # landing pad
+ .uleb128 0 # action
+ .uleb128 .LEHB1-.LFB1545 # region 1 start
+ .uleb128 .LEHE1-.LEHB1 # length
+ .uleb128 0 # landing pad
+ .uleb128 0 # action
+.LLSDACSE1545:
+ .text
+ .cfi_endproc
+ .section .text.unlikely
+ .cfi_startproc
+ .cfi_personality 0x3,__gxx_personality_v0
+ .cfi_lsda 0x3,.LLSDAC1545
+ .type _Z4funcv.cold, @function
+_Z4funcv.cold:
+.LFSB1545:
+# BLOCK 9, count:0 (precise) seq:7
+# PRED: 8 [always] count:0 (precise, freq 0.0000) (CROSSING)
+.L8:
+ .cfi_def_cfa_offset 16
+ .cfi_offset 3, -16
+ movl $_ZGVZ4funcvE9varStatic, %edi
+ call __cxa_guard_abort
+.LVL9:
+ movq %rbx, %rdi
+.LEHB2:
+# SUCC:
+ call _Unwind_Resume
+.LVL10:
+.LEHE2:
+ .cfi_endproc
+.LFE1545:
+ .section .gcc_except_table
+.LLSDAC1545:
+ .byte 0xff # @LPStart format (omit)
+ .byte 0xff # @TType format (omit)
+ .byte 0x1 # call-site format (uleb128)
+ .uleb128 .LLSDACSEC1545-.LLSDACSBC1545 # Call-site table length
+.LLSDACSBC1545:
+ .uleb128 .LEHB2-.LCOLDB0 # region 0 start
+ .uleb128 .LEHE2-.LEHB2 # length
+ .uleb128 0 # landing pad
+ .uleb128 0 # action
+.LLSDACSEC1545:
+ .section .text.unlikely
+ .text
+ .size _Z4funcv, .-_Z4funcv
+ .section .text.unlikely
+ .size _Z4funcv.cold, .-_Z4funcv.cold
+.LCOLDE0:
+ .text
+.LHOTE0:
+ .section .text.startup,"ax",@progbits
+ .p2align 4
+ .globl main
+ .type main, @function
+main:
+.LFB1555:
+ # dwarf.cc:6:23
+ .loc 1 6 23 is_stmt 1 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf.cc:7:2
+ .loc 1 7 2 view .LVU42
+ # dwarf.cc:6:23
+ .loc 1 6 23 is_stmt 0 view .LVU43
+ subq $8, %rsp
+ .cfi_def_cfa_offset 16
+ # dwarf.cc:7:6
+ .loc 1 7 6 view .LVU44
+ call _Z4funcv
+.LVL11:
+ # dwarf.cc:8:2
+ .loc 1 8 2 is_stmt 1 view .LVU45
+ # dwarf.cc:9:1
+ .loc 1 9 1 is_stmt 0 view .LVU46
+ xorl %eax, %eax
+ addq $8, %rsp
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:1073741824 (estimated locally, freq 1.0000)
+ ret
+ .cfi_endproc
+.LFE1555:
+ .size main, .-main
+ .local _ZGVZ4funcvE9varStatic
+ .comm _ZGVZ4funcvE9varStatic,8,8
+ .local _ZZ4funcvE9varStatic
+ .comm _ZZ4funcvE9varStatic,8,8
+ .text
+.Letext0:
+ .section .text.unlikely
+.Letext_cold0:
+ .file 4 "/usr/include/c++/15/type_traits"
+ .file 5 "/usr/include/c++/15/debug/debug.h"
+ .file 6 "/usr/include/c++/15/bits/uses_allocator.h"
+ .file 7 "/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h"
+ .file 8 "/usr/include/c++/15/cwchar"
+ .file 9 "/usr/include/c++/15/bits/exception_ptr.h"
+ .file 10 "/usr/include/c++/15/bits/shared_ptr_base.h"
+ .file 11 "/usr/include/c++/15/bits/utility.h"
+ .file 12 "/usr/include/c++/15/bits/predefined_ops.h"
+ .file 13 "/usr/include/c++/15/bits/stl_iterator.h"
+ .file 14 "/usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h"
+ .file 15 "<built-in>"
+ .file 16 "/usr/include/bits/types/wint_t.h"
+ .file 17 "/usr/include/bits/types/__mbstate_t.h"
+ .file 18 "/usr/include/bits/types/mbstate_t.h"
+ .file 19 "/usr/include/bits/types/__FILE.h"
+ .file 20 "/usr/include/wchar.h"
+ .file 21 "/usr/include/bits/types/struct_tm.h"
+ .file 22 "/usr/include/c++/15/pstl/execution_defs.h"
+ .file 23 "/usr/include/c++/15/new"
+ .file 24 "/usr/include/c++/15/ext/concurrence.h"
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0x2787 # Length of Compilation Unit Info
+ .value 0x4 # DWARF version number
+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
+ .byte 0x8 # Pointer Size (in bytes)
+ .uleb128 0x48 # (DIE (0xb) DW_TAG_compile_unit)
+ .long .LASF2378 # DW_AT_producer: "GNU C++17 15.1.1 20250425 (Red Hat 15.1.1-1) -mtune=generic -march=x86-64 -g3 -gdwarf-4 -O2"
+ .byte 0x4 # DW_AT_language
+ .long .LASF2379 # DW_AT_name: "dwarf.cc"
+ .long .LASF2380 # DW_AT_comp_dir: "."
+ .long .Ldebug_ranges0+0x90 # DW_AT_ranges
+ .quad 0 # DW_AT_low_pc
+ .long .Ldebug_line0 # DW_AT_stmt_list
+ .long .Ldebug_macro0 # DW_AT_GNU_macros
+ .uleb128 0x49 # (DIE (0x2d) DW_TAG_namespace)
+ .ascii "std\0" # DW_AT_name
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8ca # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x12ea # DW_AT_sibling
+ .uleb128 0x37 # (DIE (0x3a) DW_TAG_namespace)
+ .long .LASF2295 # DW_AT_name: "__cxx11"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8ed # DW_AT_decl_line
+ .byte 0x41 # DW_AT_decl_column
+ # DW_AT_export_symbols
+ .uleb128 0x38 # (DIE (0x43) DW_TAG_imported_module)
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8ed # DW_AT_decl_line
+ .byte 0x41 # DW_AT_decl_column
+ .long 0x3a # DW_AT_import
+ .uleb128 0x18 # (DIE (0x4c) DW_TAG_typedef)
+ .long .LASF2130 # DW_AT_name: "size_t"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8cc # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long 0x1368 # DW_AT_type
+ .uleb128 0x39 # (DIE (0x59) DW_TAG_namespace)
+ .long .LASF2124 # DW_AT_name: "__swappable_details"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0xb92 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .uleb128 0x39 # (DIE (0x62) DW_TAG_namespace)
+ .long .LASF2125 # DW_AT_name: "__swappable_with_details"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0xbe7 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .uleb128 0x3a # (DIE (0x6b) DW_TAG_namespace)
+ .long .LASF2126 # DW_AT_name: "__debug"
+ .byte 0x5 # DW_AT_decl_file (/usr/include/c++/15/debug/debug.h)
+ .byte 0x32 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .uleb128 0x16 # (DIE (0x73) DW_TAG_structure_type)
+ .long .LASF2127 # DW_AT_name: "allocator_arg_t"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x38 # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0x98 # DW_AT_sibling
+ .uleb128 0x4a # (DIE (0x80) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2127 # DW_AT_name: "allocator_arg_t"
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x38 # DW_AT_decl_line
+ .byte 0x25 # DW_AT_decl_column
+ .long .LASF2136 # DW_AT_linkage_name: "_ZNSt15allocator_arg_tC4Ev"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x91 # DW_AT_object_pointer
+ .uleb128 0x2 # (DIE (0x91) DW_TAG_formal_parameter)
+ .long 0x1435 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x80
+ .byte 0 # end of children of DIE 0x73
+ .uleb128 0x3b # (DIE (0x98) DW_TAG_structure_type)
+ .long .LASF2354 # DW_AT_name: "__uses_alloc_base"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x4d # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .uleb128 0x16 # (DIE (0xa1) DW_TAG_structure_type)
+ .long .LASF2128 # DW_AT_name: "__uses_alloc0"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x4f # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0xeb # DW_AT_sibling
+ .uleb128 0x16 # (DIE (0xae) DW_TAG_structure_type)
+ .long .LASF2129 # DW_AT_name: "_Sink"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xd7 # DW_AT_sibling
+ .uleb128 0x4b # (DIE (0xbb) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0x2e # DW_AT_decl_column
+ .long .LASF2359 # DW_AT_linkage_name: "_ZNSt13__uses_alloc05_SinkaSEPKv"
+ # DW_AT_declaration
+ .long 0xcb # DW_AT_object_pointer
+ .uleb128 0x2 # (DIE (0xcb) DW_TAG_formal_parameter)
+ .long 0x143b # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xd0) DW_TAG_formal_parameter)
+ .long 0x13df # DW_AT_type
+ .byte 0 # end of children of DIE 0xbb
+ .byte 0 # end of children of DIE 0xae
+ .uleb128 0x2c # (DIE (0xd7) DW_TAG_inheritance)
+ .long 0x98 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0xdd) DW_TAG_member)
+ .long .LASF2133 # DW_AT_name: "_M_a"
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0x4b # DW_AT_decl_column
+ .long 0xae # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0xa1
+ .uleb128 0x18 # (DIE (0xeb) DW_TAG_typedef)
+ .long .LASF2131 # DW_AT_name: "nullptr_t"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8d0 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long 0x1441 # DW_AT_type
+ .uleb128 0x3 # (DIE (0xf8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x42 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1501 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x100) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x8f # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x148f # DW_AT_import
+ .uleb128 0x3 # (DIE (0x108) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x91 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1523 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x110) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x92 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x153a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x118) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x93 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1557 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x120) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x94 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1578 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x128) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x95 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1594 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x130) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x96 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x15b0 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x138) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x97 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x15cc # DW_AT_import
+ .uleb128 0x3 # (DIE (0x140) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x98 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x15e9 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x148) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x99 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x160a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x150) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9a # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1621 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x158) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9b # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x162e # DW_AT_import
+ .uleb128 0x3 # (DIE (0x160) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9c # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1655 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x168) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9d # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x167b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x170) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9e # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1698 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x178) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9f # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x16c4 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x180) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x16e0 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x188) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x16f7 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x190) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1719 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x198) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa5 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x173a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1a0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa6 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1756 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1a8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x177d # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1b0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xab # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17a2 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1b8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xae # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17c8 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1c0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17ed # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1c8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1809 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1d0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1829 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1d8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb5 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x184a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1e0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb6 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1865 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1e8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb7 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1880 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1f0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x189b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1f8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb9 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x18b6 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x200) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xba # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x18d1 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x208) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbb # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x199e # DW_AT_import
+ .uleb128 0x3 # (DIE (0x210) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbc # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x19b4 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x218) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbd # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x19d4 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x220) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbe # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x19f4 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x228) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbf # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a14 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x230) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a40 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x238) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a5b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x240) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc3 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a7d # DW_AT_import
+ .uleb128 0x3 # (DIE (0x248) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc5 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a99 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x250) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc6 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ab9 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x258) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc7 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ade # DW_AT_import
+ .uleb128 0x3 # (DIE (0x260) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b03 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x268) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc9 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b23 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x270) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xca # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b3a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x278) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcb # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b5b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x280) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcc # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b7c # DW_AT_import
+ .uleb128 0x3 # (DIE (0x288) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcd # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b9d # DW_AT_import
+ .uleb128 0x3 # (DIE (0x290) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xce # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1bbe # DW_AT_import
+ .uleb128 0x3 # (DIE (0x298) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcf # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1bd6 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2a0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1bf2 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2a8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c11 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2b0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c30 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2b8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c4f # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2c0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c6e # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2c8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c8d # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2d0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd3 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1cac # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2d8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd3 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ccb # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2e0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1cea # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2e8) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1d0f # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2f0) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x10d # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long 0x1d34 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2f9) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x10e # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long 0x1d50 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x302) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x10f # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long 0x1d75 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x30b) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x11d # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1a7d # DW_AT_import
+ .uleb128 0x11 # (DIE (0x314) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x120 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x177d # DW_AT_import
+ .uleb128 0x11 # (DIE (0x31d) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x123 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x17c8 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x326) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x126 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1809 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x32f) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x12a # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1d34 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x338) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x12b # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1d50 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x341) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x12c # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1d75 # DW_AT_import
+ .uleb128 0x2d # (DIE (0x34a) DW_TAG_namespace)
+ .long .LASF2132 # DW_AT_name: "__exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x3d # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x53f # DW_AT_sibling
+ .uleb128 0x3c # (DIE (0x356) DW_TAG_class_type)
+ .long .LASF2135 # DW_AT_name: "exception_ptr"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x61 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x51a # DW_AT_sibling
+ .uleb128 0xa # (DIE (0x363) DW_TAG_member)
+ .long .LASF2134 # DW_AT_name: "_M_exception_object"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x63 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x13dd # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x4c # (DIE (0x370) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2135 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x65 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long .LASF2137 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4EPv"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x384 # DW_AT_object_pointer
+ .long 0x38f # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x384) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x389) DW_TAG_formal_parameter)
+ .long 0x13dd # DW_AT_type
+ .byte 0 # end of children of DIE 0x370
+ .uleb128 0x19 # (DIE (0x38f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2138 # DW_AT_name: "_M_addref"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x67 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2140 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv"
+ # DW_AT_declaration
+ .long 0x3a3 # DW_AT_object_pointer
+ .long 0x3a9 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3a3) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x38f
+ .uleb128 0x19 # (DIE (0x3a9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2139 # DW_AT_name: "_M_release"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x68 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2141 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv"
+ # DW_AT_declaration
+ .long 0x3bd # DW_AT_object_pointer
+ .long 0x3c3 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3bd) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x3a9
+ .uleb128 0x4d # (DIE (0x3c3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2142 # DW_AT_name: "_M_get"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x6a # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long .LASF2143 # DW_AT_linkage_name: "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv"
+ .long 0x13dd # DW_AT_type
+ # DW_AT_declaration
+ .long 0x3db # DW_AT_object_pointer
+ .long 0x3e1 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3db) DW_TAG_formal_parameter)
+ .long 0x1da0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x3c3
+ .uleb128 0x17 # (DIE (0x3e1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2135 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x72 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2144 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4Ev"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x3f6 # DW_AT_object_pointer
+ .long 0x3fc # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3f6) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x3e1
+ .uleb128 0x17 # (DIE (0x3fc) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2135 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x74 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2145 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4ERKS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x411 # DW_AT_object_pointer
+ .long 0x41c # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x411) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x416) DW_TAG_formal_parameter)
+ .long 0x1da6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x3fc
+ .uleb128 0x17 # (DIE (0x41c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2135 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x77 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2146 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4EDn"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x431 # DW_AT_object_pointer
+ .long 0x43c # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x431) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x436) DW_TAG_formal_parameter)
+ .long 0xeb # DW_AT_type
+ .byte 0 # end of children of DIE 0x41c
+ .uleb128 0x17 # (DIE (0x43c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2135 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x7b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2147 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4EOS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x451 # DW_AT_object_pointer
+ .long 0x45c # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x451) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x456) DW_TAG_formal_parameter)
+ .long 0x1dac # DW_AT_type
+ .byte 0 # end of children of DIE 0x43c
+ .uleb128 0x1c # (DIE (0x45c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x88 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2149 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptraSERKS0_"
+ .long 0x1db2 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x475 # DW_AT_object_pointer
+ .long 0x480 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x475) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x47a) DW_TAG_formal_parameter)
+ .long 0x1da6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x45c
+ .uleb128 0x1c # (DIE (0x480) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x8c # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2150 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptraSEOS0_"
+ .long 0x1db2 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x499 # DW_AT_object_pointer
+ .long 0x4a4 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x499) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x49e) DW_TAG_formal_parameter)
+ .long 0x1dac # DW_AT_type
+ .byte 0 # end of children of DIE 0x480
+ .uleb128 0x17 # (DIE (0x4a4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2151 # DW_AT_name: "~exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x93 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2152 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrD4Ev"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x4b9 # DW_AT_object_pointer
+ .long 0x4bf # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x4b9) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x4a4
+ .uleb128 0x17 # (DIE (0x4bf) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2153 # DW_AT_name: "swap"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x96 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2154 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptr4swapERS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x4d4 # DW_AT_object_pointer
+ .long 0x4df # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x4d4) DW_TAG_formal_parameter)
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x4d9) DW_TAG_formal_parameter)
+ .long 0x1db2 # DW_AT_type
+ .byte 0 # end of children of DIE 0x4bf
+ .uleb128 0x4e # (DIE (0x4df) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2252 # DW_AT_name: "operator bool"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xa1 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long .LASF2381 # DW_AT_linkage_name: "_ZNKSt15__exception_ptr13exception_ptrcvbEv"
+ .long 0x136f # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x4f8 # DW_AT_object_pointer
+ .long 0x4fe # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x4f8) DW_TAG_formal_parameter)
+ .long 0x1da0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x4df
+ .uleb128 0x4f # (DIE (0x4fe) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2155 # DW_AT_name: "__cxa_exception_type"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xb6 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2156 # DW_AT_linkage_name: "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv"
+ .long 0x1db8 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x513 # DW_AT_object_pointer
+ .uleb128 0x2 # (DIE (0x513) DW_TAG_formal_parameter)
+ .long 0x1da0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x4fe
+ .byte 0 # end of children of DIE 0x356
+ .uleb128 0x7 # (DIE (0x51a) DW_TAG_const_type)
+ .long 0x356 # DW_AT_type
+ .uleb128 0x3 # (DIE (0x51f) DW_TAG_imported_declaration)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x55 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long 0x547 # DW_AT_import
+ .uleb128 0x50 # (DIE (0x527) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2153 # DW_AT_name: "swap"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xe5 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2382 # DW_AT_linkage_name: "_ZNSt15__exception_ptr4swapERNS_13exception_ptrES1_"
+ # DW_AT_declaration
+ .uleb128 0x1 # (DIE (0x533) DW_TAG_formal_parameter)
+ .long 0x1db2 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x538) DW_TAG_formal_parameter)
+ .long 0x1db2 # DW_AT_type
+ .byte 0 # end of children of DIE 0x527
+ .byte 0 # end of children of DIE 0x34a
+ .uleb128 0x3 # (DIE (0x53f) DW_TAG_imported_declaration)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x42 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long 0x356 # DW_AT_import
+ .uleb128 0x51 # (DIE (0x547) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2157 # DW_AT_name: "rethrow_exception"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long .LASF2158 # DW_AT_linkage_name: "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE"
+ # DW_AT_noreturn
+ # DW_AT_declaration
+ .long 0x55d # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x557) DW_TAG_formal_parameter)
+ .long 0x356 # DW_AT_type
+ .byte 0 # end of children of DIE 0x547
+ .uleb128 0x52 # (DIE (0x55d) DW_TAG_class_type)
+ .long .LASF2383 # DW_AT_name: "type_info"
+ # DW_AT_declaration
+ .uleb128 0x7 # (DIE (0x562) DW_TAG_const_type)
+ .long 0x55d # DW_AT_type
+ .uleb128 0x3 # (DIE (0x567) DW_TAG_imported_declaration)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xf2 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long 0x527 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x56f) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x61 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x132b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x577) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x62 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x1dbe # DW_AT_import
+ .uleb128 0x3 # (DIE (0x57f) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x63 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x133d # DW_AT_import
+ .uleb128 0x3 # (DIE (0x587) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x64 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x1343 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x58f) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x65 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x1349 # DW_AT_import
+ .uleb128 0x16 # (DIE (0x597) DW_TAG_structure_type)
+ .long .LASF2159 # DW_AT_name: "default_delete<Base>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x45 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x5e8 # DW_AT_sibling
+ .uleb128 0x22 # (DIE (0x5a4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2160 # DW_AT_name: "default_delete"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x48 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2161 # DW_AT_linkage_name: "_ZNSt14default_deleteI4BaseEC4Ev"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x5b9 # DW_AT_object_pointer
+ .long 0x5bf # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x5b9) DW_TAG_formal_parameter)
+ .long 0x1df1 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x5a4
+ .uleb128 0x19 # (DIE (0x5bf) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2162 # DW_AT_name: "operator()"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x57 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2163 # DW_AT_linkage_name: "_ZNKSt14default_deleteI4BaseEclEPS0_"
+ # DW_AT_declaration
+ .long 0x5d3 # DW_AT_object_pointer
+ .long 0x5de # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x5d3) DW_TAG_formal_parameter)
+ .long 0x1df7 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x5d8) DW_TAG_formal_parameter)
+ .long 0x1e02 # DW_AT_type
+ .byte 0 # end of children of DIE 0x5bf
+ .uleb128 0xd # (DIE (0x5de) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .byte 0 # end of children of DIE 0x597
+ .uleb128 0x7 # (DIE (0x5e8) DW_TAG_const_type)
+ .long 0x597 # DW_AT_type
+ .uleb128 0x3c # (DIE (0x5ed) DW_TAG_class_type)
+ .long .LASF2164 # DW_AT_name: "__uniq_ptr_impl<Base, std::default_delete<Base> >"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x8e # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x7ae # DW_AT_sibling
+ .uleb128 0x16 # (DIE (0x5fa) DW_TAG_structure_type)
+ .long .LASF2165 # DW_AT_name: "_Ptr<Base, std::default_delete<Base>, void>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x91 # DW_AT_decl_line
+ .byte 0x9 # DW_AT_decl_column
+ .long 0x626 # DW_AT_sibling
+ .uleb128 0xe # (DIE (0x607) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x93 # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xd # (DIE (0x613) DW_TAG_template_type_param)
+ .ascii "_Up\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0xd # (DIE (0x61c) DW_TAG_template_type_param)
+ .ascii "_Ep\0" # DW_AT_name
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x5fa
+ .uleb128 0x53 # (DIE (0x626) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2167 # DW_AT_name: "__uniq_ptr_impl"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xa8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2168 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4Ev"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x63c # DW_AT_object_pointer
+ .long 0x642 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x63c) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x626
+ .uleb128 0x17 # (DIE (0x642) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2167 # DW_AT_name: "__uniq_ptr_impl"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2169 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EPS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x657 # DW_AT_object_pointer
+ .long 0x662 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x657) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x65c) DW_TAG_formal_parameter)
+ .long 0x662 # DW_AT_type
+ .byte 0 # end of children of DIE 0x642
+ .uleb128 0x54 # (DIE (0x662) DW_TAG_typedef)
+ .long .LASF2256 # DW_AT_name: "pointer"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xa2 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x607 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ .uleb128 0x17 # (DIE (0x66f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2167 # DW_AT_name: "__uniq_ptr_impl"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xb2 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2170 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EOS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x684 # DW_AT_object_pointer
+ .long 0x68f # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x684) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x689) DW_TAG_formal_parameter)
+ .long 0x1ecd # DW_AT_type
+ .byte 0 # end of children of DIE 0x66f
+ .uleb128 0x1c # (DIE (0x68f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xb7 # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .long .LASF2171 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEaSEOS3_"
+ .long 0x1ed3 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x6a8 # DW_AT_object_pointer
+ .long 0x6b3 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x6a8) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x6ad) DW_TAG_formal_parameter)
+ .long 0x1ecd # DW_AT_type
+ .byte 0 # end of children of DIE 0x68f
+ .uleb128 0x1c # (DIE (0x6b3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2172 # DW_AT_name: "_M_ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xbf # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2173 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+ .long 0x1ed9 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x6cc # DW_AT_object_pointer
+ .long 0x6d2 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x6cc) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x6b3
+ .uleb128 0x1c # (DIE (0x6d2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2172 # DW_AT_name: "_M_ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc1 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2174 # DW_AT_linkage_name: "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+ .long 0x662 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x6eb # DW_AT_object_pointer
+ .long 0x6f1 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x6eb) DW_TAG_formal_parameter)
+ .long 0x1edf # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x6d2
+ .uleb128 0x1c # (DIE (0x6f1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2175 # DW_AT_name: "_M_deleter"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc3 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2176 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+ .long 0x1e2a # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x70a # DW_AT_object_pointer
+ .long 0x710 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x70a) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x6f1
+ .uleb128 0x1c # (DIE (0x710) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2175 # DW_AT_name: "_M_deleter"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc5 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2177 # DW_AT_linkage_name: "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+ .long 0x1e18 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x729 # DW_AT_object_pointer
+ .long 0x72f # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x729) DW_TAG_formal_parameter)
+ .long 0x1edf # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x710
+ .uleb128 0x17 # (DIE (0x72f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2178 # DW_AT_name: "reset"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc8 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2179 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x744 # DW_AT_object_pointer
+ .long 0x74f # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x744) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x749) DW_TAG_formal_parameter)
+ .long 0x662 # DW_AT_type
+ .byte 0 # end of children of DIE 0x72f
+ .uleb128 0x1c # (DIE (0x74f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2180 # DW_AT_name: "release"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long .LASF2181 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE7releaseEv"
+ .long 0x662 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x768 # DW_AT_object_pointer
+ .long 0x76e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x768) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x74f
+ .uleb128 0x17 # (DIE (0x76e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2153 # DW_AT_name: "swap"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xda # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2182 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE4swapERS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x783 # DW_AT_object_pointer
+ .long 0x78e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x783) DW_TAG_formal_parameter)
+ .long 0x1ec2 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x788) DW_TAG_formal_parameter)
+ .long 0x1ed3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x76e
+ .uleb128 0xa # (DIE (0x78e) DW_TAG_member)
+ .long .LASF2183 # DW_AT_name: "_M_t"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xe2 # DW_AT_decl_line
+ .byte 0x1b # DW_AT_decl_column
+ .long 0xc88 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xd # (DIE (0x79b) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0xd # (DIE (0x7a4) DW_TAG_template_type_param)
+ .ascii "_Dp\0" # DW_AT_name
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x5ed
+ .uleb128 0x7 # (DIE (0x7ae) DW_TAG_const_type)
+ .long 0x5ed # DW_AT_type
+ .uleb128 0x16 # (DIE (0x7b3) DW_TAG_structure_type)
+ .long .LASF2184 # DW_AT_name: "_Head_base<1, std::default_delete<Base>, true>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x5b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x8b2 # DW_AT_sibling
+ .uleb128 0x19 # (DIE (0x7c0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x5d # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2186 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4Ev"
+ # DW_AT_declaration
+ .long 0x7d4 # DW_AT_object_pointer
+ .long 0x7da # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x7d4) DW_TAG_formal_parameter)
+ .long 0x1e0d # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x7c0
+ .uleb128 0x19 # (DIE (0x7da) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x60 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2187 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS2_"
+ # DW_AT_declaration
+ .long 0x7ee # DW_AT_object_pointer
+ .long 0x7f9 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x7ee) DW_TAG_formal_parameter)
+ .long 0x1e0d # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x7f3) DW_TAG_formal_parameter)
+ .long 0x1e18 # DW_AT_type
+ .byte 0 # end of children of DIE 0x7da
+ .uleb128 0x22 # (DIE (0x7f9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x63 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2188 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS3_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x80e # DW_AT_object_pointer
+ .long 0x819 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x80e) DW_TAG_formal_parameter)
+ .long 0x1e0d # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x813) DW_TAG_formal_parameter)
+ .long 0x1e1e # DW_AT_type
+ .byte 0 # end of children of DIE 0x7f9
+ .uleb128 0x22 # (DIE (0x819) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x64 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2189 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4EOS3_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x82e # DW_AT_object_pointer
+ .long 0x839 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x82e) DW_TAG_formal_parameter)
+ .long 0x1e0d # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x833) DW_TAG_formal_parameter)
+ .long 0x1e24 # DW_AT_type
+ .byte 0 # end of children of DIE 0x819
+ .uleb128 0x19 # (DIE (0x839) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x6b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2190 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+ # DW_AT_declaration
+ .long 0x84d # DW_AT_object_pointer
+ .long 0x85d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x84d) DW_TAG_formal_parameter)
+ .long 0x1e0d # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x852) DW_TAG_formal_parameter)
+ .long 0x73 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x857) DW_TAG_formal_parameter)
+ .long 0xa1 # DW_AT_type
+ .byte 0 # end of children of DIE 0x839
+ .uleb128 0xf # (DIE (0x85d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x89 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2192 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERS3_"
+ .long 0x1e2a # DW_AT_type
+ # DW_AT_declaration
+ .long 0x877 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x871) DW_TAG_formal_parameter)
+ .long 0x1e30 # DW_AT_type
+ .byte 0 # end of children of DIE 0x85d
+ .uleb128 0xf # (DIE (0x877) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x8c # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2193 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERKS3_"
+ .long 0x1e18 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x891 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x88b) DW_TAG_formal_parameter)
+ .long 0x1e1e # DW_AT_type
+ .byte 0 # end of children of DIE 0x877
+ .uleb128 0xa # (DIE (0x891) DW_TAG_member)
+ .long .LASF2194 # DW_AT_name: "_M_head_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x8e # DW_AT_decl_line
+ .byte 0x27 # DW_AT_decl_column
+ .long 0x597 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x27 # (DIE (0x89e) DW_TAG_template_value_param)
+ .long .LASF2206 # DW_AT_name: "_Idx"
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x8a8) DW_TAG_template_type_param)
+ .long .LASF2195 # DW_AT_name: "_Head"
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x7b3
+ .uleb128 0x7 # (DIE (0x8b2) DW_TAG_const_type)
+ .long 0x7b3 # DW_AT_type
+ .uleb128 0x24 # (DIE (0x8b7) DW_TAG_structure_type)
+ .long .LASF2196 # DW_AT_name: "_Tuple_impl<1, std::default_delete<Base> >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x222 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x9d9 # DW_AT_sibling
+ .uleb128 0x2e # (DIE (0x8c5) DW_TAG_inheritance)
+ .long 0x7b3 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .byte 0x3 # DW_AT_accessibility
+ .uleb128 0x8 # (DIE (0x8cc) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x22a # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2197 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERS3_"
+ .long 0x1e2a # DW_AT_type
+ # DW_AT_declaration
+ .long 0x8e7 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x8e1) DW_TAG_formal_parameter)
+ .long 0x1e36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x8cc
+ .uleb128 0x8 # (DIE (0x8e7) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x22d # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2198 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERKS3_"
+ .long 0x1e18 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x902 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x8fc) DW_TAG_formal_parameter)
+ .long 0x1e3c # DW_AT_type
+ .byte 0 # end of children of DIE 0x8e7
+ .uleb128 0x2f # (DIE (0x902) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x230 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2200 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4Ev"
+ # DW_AT_declaration
+ .long 0x917 # DW_AT_object_pointer
+ .long 0x91d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x917) DW_TAG_formal_parameter)
+ .long 0x1e42 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x902
+ .uleb128 0x3d # (DIE (0x91d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x234 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2201 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS2_"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x932 # DW_AT_object_pointer
+ .long 0x93d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x932) DW_TAG_formal_parameter)
+ .long 0x1e42 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x937) DW_TAG_formal_parameter)
+ .long 0x1e18 # DW_AT_type
+ .byte 0 # end of children of DIE 0x91d
+ .uleb128 0x30 # (DIE (0x93d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x23e # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2202 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS3_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x953 # DW_AT_object_pointer
+ .long 0x95e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x953) DW_TAG_formal_parameter)
+ .long 0x1e42 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x958) DW_TAG_formal_parameter)
+ .long 0x1e3c # DW_AT_type
+ .byte 0 # end of children of DIE 0x93d
+ .uleb128 0x3e # (DIE (0x95e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x242 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long .LASF2225 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEaSERKS3_"
+ .long 0x1e36 # DW_AT_type
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0x977 # DW_AT_object_pointer
+ .long 0x982 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x977) DW_TAG_formal_parameter)
+ .long 0x1e42 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x97c) DW_TAG_formal_parameter)
+ .long 0x1e3c # DW_AT_type
+ .byte 0 # end of children of DIE 0x95e
+ .uleb128 0x2f # (DIE (0x982) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x248 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2203 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4EOS3_"
+ # DW_AT_declaration
+ .long 0x997 # DW_AT_object_pointer
+ .long 0x9a2 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x997) DW_TAG_formal_parameter)
+ .long 0x1e42 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x99c) DW_TAG_formal_parameter)
+ .long 0x1e4d # DW_AT_type
+ .byte 0 # end of children of DIE 0x982
+ .uleb128 0x20 # (DIE (0x9a2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2204 # DW_AT_name: "_M_swap"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x2f0 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2205 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_swapERS3_"
+ .byte 0x2 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x9b8 # DW_AT_object_pointer
+ .long 0x9c3 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x9b8) DW_TAG_formal_parameter)
+ .long 0x1e42 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x9bd) DW_TAG_formal_parameter)
+ .long 0x1e36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x9a2
+ .uleb128 0x27 # (DIE (0x9c3) DW_TAG_template_value_param)
+ .long .LASF2206 # DW_AT_name: "_Idx"
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0x9cd) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2229 # DW_AT_name: "_Elements"
+ .uleb128 0xb # (DIE (0x9d2) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x9cd
+ .byte 0 # end of children of DIE 0x8b7
+ .uleb128 0x7 # (DIE (0x9d9) DW_TAG_const_type)
+ .long 0x8b7 # DW_AT_type
+ .uleb128 0x16 # (DIE (0x9de) DW_TAG_structure_type)
+ .long .LASF2207 # DW_AT_name: "_Head_base<0, Base*, false>"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xc8 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xadd # DW_AT_sibling
+ .uleb128 0x19 # (DIE (0x9eb) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xca # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2208 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4Ev"
+ # DW_AT_declaration
+ .long 0x9ff # DW_AT_object_pointer
+ .long 0xa05 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x9ff) DW_TAG_formal_parameter)
+ .long 0x1e53 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x9eb
+ .uleb128 0x19 # (DIE (0xa05) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xcd # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2209 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS1_"
+ # DW_AT_declaration
+ .long 0xa19 # DW_AT_object_pointer
+ .long 0xa24 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xa19) DW_TAG_formal_parameter)
+ .long 0x1e53 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xa1e) DW_TAG_formal_parameter)
+ .long 0x1e5e # DW_AT_type
+ .byte 0 # end of children of DIE 0xa05
+ .uleb128 0x22 # (DIE (0xa24) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xd0 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2210 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS2_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xa39 # DW_AT_object_pointer
+ .long 0xa44 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xa39) DW_TAG_formal_parameter)
+ .long 0x1e53 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xa3e) DW_TAG_formal_parameter)
+ .long 0x1e64 # DW_AT_type
+ .byte 0 # end of children of DIE 0xa24
+ .uleb128 0x22 # (DIE (0xa44) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2211 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4EOS2_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xa59 # DW_AT_object_pointer
+ .long 0xa64 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xa59) DW_TAG_formal_parameter)
+ .long 0x1e53 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xa5e) DW_TAG_formal_parameter)
+ .long 0x1e6a # DW_AT_type
+ .byte 0 # end of children of DIE 0xa44
+ .uleb128 0x19 # (DIE (0xa64) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2185 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xd8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2212 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+ # DW_AT_declaration
+ .long 0xa78 # DW_AT_object_pointer
+ .long 0xa88 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xa78) DW_TAG_formal_parameter)
+ .long 0x1e53 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xa7d) DW_TAG_formal_parameter)
+ .long 0x73 # DW_AT_type
+ .uleb128 0x1 # (DIE (0xa82) DW_TAG_formal_parameter)
+ .long 0xa1 # DW_AT_type
+ .byte 0 # end of children of DIE 0xa64
+ .uleb128 0xf # (DIE (0xa88) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xf6 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2213 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERS2_"
+ .long 0x1e70 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xaa2 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xa9c) DW_TAG_formal_parameter)
+ .long 0x1e76 # DW_AT_type
+ .byte 0 # end of children of DIE 0xa88
+ .uleb128 0xf # (DIE (0xaa2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xf9 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2214 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERKS2_"
+ .long 0x1e5e # DW_AT_type
+ # DW_AT_declaration
+ .long 0xabc # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xab6) DW_TAG_formal_parameter)
+ .long 0x1e64 # DW_AT_type
+ .byte 0 # end of children of DIE 0xaa2
+ .uleb128 0xa # (DIE (0xabc) DW_TAG_member)
+ .long .LASF2194 # DW_AT_name: "_M_head_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xfb # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1e02 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x27 # (DIE (0xac9) DW_TAG_template_value_param)
+ .long .LASF2206 # DW_AT_name: "_Idx"
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0xad3) DW_TAG_template_type_param)
+ .long .LASF2195 # DW_AT_name: "_Head"
+ .long 0x1e02 # DW_AT_type
+ .byte 0 # end of children of DIE 0x9de
+ .uleb128 0x7 # (DIE (0xadd) DW_TAG_const_type)
+ .long 0x9de # DW_AT_type
+ .uleb128 0x24 # (DIE (0xae2) DW_TAG_structure_type)
+ .long .LASF2215 # DW_AT_name: "_Tuple_impl<0, Base*, std::default_delete<Base> >"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x119 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xc5d # DW_AT_sibling
+ .uleb128 0x2c # (DIE (0xaf0) DW_TAG_inheritance)
+ .long 0x8b7 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x2e # (DIE (0xaf6) DW_TAG_inheritance)
+ .long 0x9de # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .byte 0x3 # DW_AT_accessibility
+ .uleb128 0x8 # (DIE (0xafd) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x123 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2216 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERS4_"
+ .long 0x1e70 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xb18 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xb12) DW_TAG_formal_parameter)
+ .long 0x1e7c # DW_AT_type
+ .byte 0 # end of children of DIE 0xafd
+ .uleb128 0x8 # (DIE (0xb18) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2191 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x126 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2217 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERKS4_"
+ .long 0x1e5e # DW_AT_type
+ # DW_AT_declaration
+ .long 0xb33 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xb2d) DW_TAG_formal_parameter)
+ .long 0x1e82 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb18
+ .uleb128 0x18 # (DIE (0xb33) DW_TAG_typedef)
+ .long .LASF2218 # DW_AT_name: "_Inherited"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x11f # DW_AT_decl_line
+ .byte 0x2f # DW_AT_decl_column
+ .long 0x8b7 # DW_AT_type
+ .uleb128 0x7 # (DIE (0xb40) DW_TAG_const_type)
+ .long 0xb33 # DW_AT_type
+ .uleb128 0x8 # (DIE (0xb45) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2219 # DW_AT_name: "_M_tail"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x129 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2220 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERS4_"
+ .long 0x1e88 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xb60 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xb5a) DW_TAG_formal_parameter)
+ .long 0x1e7c # DW_AT_type
+ .byte 0 # end of children of DIE 0xb45
+ .uleb128 0x8 # (DIE (0xb60) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2219 # DW_AT_name: "_M_tail"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x12c # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2221 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERKS4_"
+ .long 0x1e8e # DW_AT_type
+ # DW_AT_declaration
+ .long 0xb7b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xb75) DW_TAG_formal_parameter)
+ .long 0x1e82 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb60
+ .uleb128 0x2f # (DIE (0xb7b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x12e # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2222 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4Ev"
+ # DW_AT_declaration
+ .long 0xb90 # DW_AT_object_pointer
+ .long 0xb96 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xb90) DW_TAG_formal_parameter)
+ .long 0x1e94 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xb7b
+ .uleb128 0x3d # (DIE (0xb96) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x132 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2223 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS1_RKS3_"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0xbab # DW_AT_object_pointer
+ .long 0xbbb # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xbab) DW_TAG_formal_parameter)
+ .long 0x1e94 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbb0) DW_TAG_formal_parameter)
+ .long 0x1e5e # DW_AT_type
+ .uleb128 0x1 # (DIE (0xbb5) DW_TAG_formal_parameter)
+ .long 0x1e18 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb96
+ .uleb128 0x30 # (DIE (0xbbb) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x13e # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2224 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xbd1 # DW_AT_object_pointer
+ .long 0xbdc # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xbd1) DW_TAG_formal_parameter)
+ .long 0x1e94 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbd6) DW_TAG_formal_parameter)
+ .long 0x1e82 # DW_AT_type
+ .byte 0 # end of children of DIE 0xbbb
+ .uleb128 0x3e # (DIE (0xbdc) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x142 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long .LASF2226 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+ .long 0x1e7c # DW_AT_type
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0xbf5 # DW_AT_object_pointer
+ .long 0xc00 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xbf5) DW_TAG_formal_parameter)
+ .long 0x1e94 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbfa) DW_TAG_formal_parameter)
+ .long 0x1e82 # DW_AT_type
+ .byte 0 # end of children of DIE 0xbdc
+ .uleb128 0x30 # (DIE (0xc00) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2199 # DW_AT_name: "_Tuple_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x144 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2227 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xc16 # DW_AT_object_pointer
+ .long 0xc21 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xc16) DW_TAG_formal_parameter)
+ .long 0x1e94 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xc1b) DW_TAG_formal_parameter)
+ .long 0x1e9f # DW_AT_type
+ .byte 0 # end of children of DIE 0xc00
+ .uleb128 0x20 # (DIE (0xc21) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2204 # DW_AT_name: "_M_swap"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x20e # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2228 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_swapERS4_"
+ .byte 0x2 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xc37 # DW_AT_object_pointer
+ .long 0xc42 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xc37) DW_TAG_formal_parameter)
+ .long 0x1e94 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xc3c) DW_TAG_formal_parameter)
+ .long 0x1e7c # DW_AT_type
+ .byte 0 # end of children of DIE 0xc21
+ .uleb128 0x27 # (DIE (0xc42) DW_TAG_template_value_param)
+ .long .LASF2206 # DW_AT_name: "_Idx"
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0xc4c) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2229 # DW_AT_name: "_Elements"
+ .uleb128 0xb # (DIE (0xc51) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0xc56) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0xc4c
+ .byte 0 # end of children of DIE 0xae2
+ .uleb128 0x7 # (DIE (0xc5d) DW_TAG_const_type)
+ .long 0xae2 # DW_AT_type
+ .uleb128 0x16 # (DIE (0xc62) DW_TAG_structure_type)
+ .long .LASF2230 # DW_AT_name: "__conditional<true>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0x92 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xc88 # DW_AT_sibling
+ .uleb128 0xe # (DIE (0xc6f) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0x95 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1eb0 # DW_AT_type
+ .uleb128 0xe # (DIE (0xc7b) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0x95 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1eb6 # DW_AT_type
+ .byte 0 # end of children of DIE 0xc62
+ .uleb128 0x3f # (DIE (0xc88) DW_TAG_class_type)
+ .long .LASF2231 # DW_AT_name: "tuple<Base*, std::default_delete<Base> >"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x7d8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0xd85 # DW_AT_sibling
+ .uleb128 0x2e # (DIE (0xc96) DW_TAG_inheritance)
+ .long 0xae2 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .byte 0x1 # DW_AT_accessibility
+ .uleb128 0x55 # (DIE (0xc9d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2384 # DW_AT_name: "__nothrow_default_constructible"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x80e # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF2385 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE31__nothrow_default_constructibleEv"
+ .long 0x136f # DW_AT_type
+ # DW_AT_declaration
+ .uleb128 0x31 # (DIE (0xcae) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2232 # DW_AT_name: "tuple"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x853 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2233 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xcc5 # DW_AT_object_pointer
+ .long 0xcd0 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xcc5) DW_TAG_formal_parameter)
+ .long 0x1ea5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xcca) DW_TAG_formal_parameter)
+ .long 0x1eb0 # DW_AT_type
+ .byte 0 # end of children of DIE 0xcae
+ .uleb128 0x31 # (DIE (0xcd0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2232 # DW_AT_name: "tuple"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x855 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2234 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xce7 # DW_AT_object_pointer
+ .long 0xcf2 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xce7) DW_TAG_formal_parameter)
+ .long 0x1ea5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xcec) DW_TAG_formal_parameter)
+ .long 0x1eb6 # DW_AT_type
+ .byte 0 # end of children of DIE 0xcd0
+ .uleb128 0x1d # (DIE (0xcf2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x91b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2235 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+ .long 0x1ebc # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xd0c # DW_AT_object_pointer
+ .long 0xd17 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xd0c) DW_TAG_formal_parameter)
+ .long 0x1ea5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xd11) DW_TAG_formal_parameter)
+ .long 0xd8a # DW_AT_type
+ .byte 0 # end of children of DIE 0xcf2
+ .uleb128 0x1d # (DIE (0xd17) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x926 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2236 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSEOS4_"
+ .long 0x1ebc # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xd31 # DW_AT_object_pointer
+ .long 0xd3c # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xd31) DW_TAG_formal_parameter)
+ .long 0x1ea5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xd36) DW_TAG_formal_parameter)
+ .long 0xd96 # DW_AT_type
+ .byte 0 # end of children of DIE 0xd17
+ .uleb128 0x20 # (DIE (0xd3c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2153 # DW_AT_name: "swap"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x95b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2237 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE4swapERS4_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xd52 # DW_AT_object_pointer
+ .long 0xd5d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xd52) DW_TAG_formal_parameter)
+ .long 0x1ea5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xd57) DW_TAG_formal_parameter)
+ .long 0x1ebc # DW_AT_type
+ .byte 0 # end of children of DIE 0xd3c
+ .uleb128 0x20 # (DIE (0xd5d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2238 # DW_AT_name: "tuple<>"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x82a # DW_AT_decl_line
+ .byte 0x2 # DW_AT_decl_column
+ .long .LASF2239 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ILb1ELb1EEEv"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xd7d # DW_AT_object_pointer
+ .long 0xd83 # DW_AT_sibling
+ .uleb128 0x32 # (DIE (0xd73) DW_TAG_template_value_param)
+ .long .LASF2368 # DW_AT_name: "_Dummy"
+ .long 0x136f # DW_AT_type
+ # DW_AT_default_value
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x2 # (DIE (0xd7d) DW_TAG_formal_parameter)
+ .long 0x1ea5 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xd5d
+ .uleb128 0x56 # (DIE (0xd83) DW_TAG_GNU_template_parameter_pack)
+ .byte 0 # end of children of DIE 0xc88
+ .uleb128 0x7 # (DIE (0xd85) DW_TAG_const_type)
+ .long 0xc88 # DW_AT_type
+ .uleb128 0xe # (DIE (0xd8a) DW_TAG_typedef)
+ .long .LASF2240 # DW_AT_name: "__conditional_t"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0xa1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0xc6f # DW_AT_type
+ .uleb128 0xe # (DIE (0xd96) DW_TAG_typedef)
+ .long .LASF2240 # DW_AT_name: "__conditional_t"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0xa1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0xc7b # DW_AT_type
+ .uleb128 0x16 # (DIE (0xda2) DW_TAG_structure_type)
+ .long .LASF2241 # DW_AT_name: "__uniq_ptr_data<Base, std::default_delete<Base>, true, true>"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xe9 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xe28 # DW_AT_sibling
+ .uleb128 0x2c # (DIE (0xdaf) DW_TAG_inheritance)
+ .long 0x5ed # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x22 # (DIE (0xdb5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2242 # DW_AT_name: "__uniq_ptr_data"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xec # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2243 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEC4EOS3_"
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xdca # DW_AT_object_pointer
+ .long 0xdd5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xdca) DW_TAG_formal_parameter)
+ .long 0x1ee5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xdcf) DW_TAG_formal_parameter)
+ .long 0x1ef0 # DW_AT_type
+ .byte 0 # end of children of DIE 0xdb5
+ .uleb128 0x57 # (DIE (0xdd5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xed # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .long .LASF2244 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEaSEOS3_"
+ .long 0x1ef6 # DW_AT_type
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xdee # DW_AT_object_pointer
+ .long 0xdf9 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xdee) DW_TAG_formal_parameter)
+ .long 0x1ee5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xdf3) DW_TAG_formal_parameter)
+ .long 0x1ef0 # DW_AT_type
+ .byte 0 # end of children of DIE 0xdd5
+ .uleb128 0x58 # (DIE (0xdf9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2242 # DW_AT_name: "__uniq_ptr_data"
+ .long .LASF2386 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI4St15__uniq_ptr_implIS0_S2_EEPS0_"
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0xe0a # DW_AT_object_pointer
+ .long 0xe15 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xe0a) DW_TAG_formal_parameter)
+ .long 0x1ee5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xe0f) DW_TAG_formal_parameter)
+ .long 0x662 # DW_AT_type
+ .byte 0 # end of children of DIE 0xdf9
+ .uleb128 0xd # (DIE (0xe15) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0xd # (DIE (0xe1e) DW_TAG_template_type_param)
+ .ascii "_Dp\0" # DW_AT_name
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0xda2
+ .uleb128 0x24 # (DIE (0xe28) DW_TAG_structure_type)
+ .long .LASF2245 # DW_AT_name: "add_lvalue_reference<Base>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0x6fd # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xe4d # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0xe36) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0x6fe # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0xe4d # DW_AT_type
+ .uleb128 0xd # (DIE (0xe43) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .byte 0 # end of children of DIE 0xe28
+ .uleb128 0x18 # (DIE (0xe4d) DW_TAG_typedef)
+ .long .LASF2246 # DW_AT_name: "__add_lval_ref_t"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0x497 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1efc # DW_AT_type
+ .uleb128 0x3f # (DIE (0xe5a) DW_TAG_class_type)
+ .long .LASF2247 # DW_AT_name: "unique_ptr<Base, std::default_delete<Base> >"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x10f # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x10c5 # DW_AT_sibling
+ .uleb128 0x59 # (DIE (0xe68) DW_TAG_member)
+ .long .LASF2183 # DW_AT_name: "_M_t"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x115 # DW_AT_decl_line
+ .byte 0x21 # DW_AT_decl_column
+ .long 0xda2 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x31 # (DIE (0xe76) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2248 # DW_AT_name: "unique_ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x168 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2249 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4EOS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xe8d # DW_AT_object_pointer
+ .long 0xe98 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xe8d) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xe92) DW_TAG_formal_parameter)
+ .long 0x1f0d # DW_AT_type
+ .byte 0 # end of children of DIE 0xe76
+ .uleb128 0x20 # (DIE (0xe98) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2250 # DW_AT_name: "~unique_ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x189 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2251 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED4Ev"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xeae # DW_AT_object_pointer
+ .long 0xeb4 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xeae) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xe98
+ .uleb128 0x5a # (DIE (0xeb4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x199 # DW_AT_decl_line
+ .byte 0x13 # DW_AT_decl_column
+ .long .LASF2263 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEOS3_"
+ .long 0x1f13 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xecf # DW_AT_object_pointer
+ .long 0xeda # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xecf) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xed4) DW_TAG_formal_parameter)
+ .long 0x1f0d # DW_AT_type
+ .byte 0 # end of children of DIE 0xeb4
+ .uleb128 0x1d # (DIE (0xeda) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1b3 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2253 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEDn"
+ .long 0x1f13 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xef4 # DW_AT_object_pointer
+ .long 0xeff # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xef4) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xef9) DW_TAG_formal_parameter)
+ .long 0xeb # DW_AT_type
+ .byte 0 # end of children of DIE 0xeda
+ .uleb128 0x1d # (DIE (0xeff) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2254 # DW_AT_name: "operator*"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1be # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2255 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEdeEv"
+ .long 0xe36 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xf19 # DW_AT_object_pointer
+ .long 0xf1f # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf19) DW_TAG_formal_parameter)
+ .long 0x1f19 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xeff
+ .uleb128 0x40 # (DIE (0xf1f) DW_TAG_typedef)
+ .long .LASF2256 # DW_AT_name: "pointer"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x118 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x662 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ .uleb128 0x1d # (DIE (0xf2d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2257 # DW_AT_name: "operator->"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1cf # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2258 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEptEv"
+ .long 0xf1f # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xf47 # DW_AT_object_pointer
+ .long 0xf4d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf47) DW_TAG_formal_parameter)
+ .long 0x1f19 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf2d
+ .uleb128 0x5b # (DIE (0xf4d) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "get\0" # DW_AT_name
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1d8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2387 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE3getEv"
+ .long 0xf1f # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xf67 # DW_AT_object_pointer
+ .long 0xf6d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf67) DW_TAG_formal_parameter)
+ .long 0x1f19 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf4d
+ .uleb128 0x40 # (DIE (0xf6d) DW_TAG_typedef)
+ .long .LASF2259 # DW_AT_name: "deleter_type"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x11a # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x597 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ .uleb128 0x7 # (DIE (0xf7b) DW_TAG_const_type)
+ .long 0xf6d # DW_AT_type
+ .uleb128 0x1d # (DIE (0xf80) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2260 # DW_AT_name: "get_deleter"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1de # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2261 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+ .long 0x1f1f # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xf9a # DW_AT_object_pointer
+ .long 0xfa0 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf9a) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf80
+ .uleb128 0x1d # (DIE (0xfa0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2260 # DW_AT_name: "get_deleter"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1e4 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2262 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+ .long 0x1f25 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xfba # DW_AT_object_pointer
+ .long 0xfc0 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xfba) DW_TAG_formal_parameter)
+ .long 0x1f19 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xfa0
+ .uleb128 0x5c # (DIE (0xfc0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2252 # DW_AT_name: "operator bool"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1e9 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long .LASF2264 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEcvbEv"
+ .long 0x136f # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0xfda # DW_AT_object_pointer
+ .long 0xfe0 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xfda) DW_TAG_formal_parameter)
+ .long 0x1f19 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xfc0
+ .uleb128 0x1d # (DIE (0xfe0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2180 # DW_AT_name: "release"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1f1 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2265 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE7releaseEv"
+ .long 0xf1f # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xffa # DW_AT_object_pointer
+ .long 0x1000 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xffa) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xfe0
+ .uleb128 0x20 # (DIE (0x1000) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2178 # DW_AT_name: "reset"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1fc # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2266 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x1016 # DW_AT_object_pointer
+ .long 0x1021 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x1016) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x101b) DW_TAG_formal_parameter)
+ .long 0xf1f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1000
+ .uleb128 0x20 # (DIE (0x1021) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2153 # DW_AT_name: "swap"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x206 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2267 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE4swapERS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x1037 # DW_AT_object_pointer
+ .long 0x1042 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x1037) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x103c) DW_TAG_formal_parameter)
+ .long 0x1f13 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1021
+ .uleb128 0x5d # (DIE (0x1042) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2248 # DW_AT_name: "unique_ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x20d # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2268 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4ERKS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0x1058 # DW_AT_object_pointer
+ .long 0x1063 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x1058) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x105d) DW_TAG_formal_parameter)
+ .long 0x1f2b # DW_AT_type
+ .byte 0 # end of children of DIE 0x1042
+ .uleb128 0x5e # (DIE (0x1063) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2148 # DW_AT_name: "operator="
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x20e # DW_AT_decl_line
+ .byte 0x13 # DW_AT_decl_column
+ .long .LASF2269 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSERKS3_"
+ .long 0x1f13 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0x107d # DW_AT_object_pointer
+ .long 0x1088 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x107d) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x1082) DW_TAG_formal_parameter)
+ .long 0x1f2b # DW_AT_type
+ .byte 0 # end of children of DIE 0x1063
+ .uleb128 0x5f # (DIE (0x1088) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2270 # DW_AT_name: "unique_ptr<>"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x137 # DW_AT_decl_line
+ .byte 0x2 # DW_AT_decl_column
+ .long .LASF2271 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4IS2_vEEPS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x10a7 # DW_AT_object_pointer
+ .long 0x10b2 # DW_AT_sibling
+ .uleb128 0x33 # (DIE (0x109e) DW_TAG_template_type_param)
+ .long .LASF2272 # DW_AT_name: "_Del"
+ .long 0x597 # DW_AT_type
+ # DW_AT_default_value
+ .uleb128 0x2 # (DIE (0x10a7) DW_TAG_formal_parameter)
+ .long 0x1f02 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x10ac) DW_TAG_formal_parameter)
+ .long 0xf1f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1088
+ .uleb128 0xd # (DIE (0x10b2) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0x60 # (DIE (0x10bb) DW_TAG_template_type_param)
+ .ascii "_Dp\0" # DW_AT_name
+ .long 0x597 # DW_AT_type
+ # DW_AT_default_value
+ .byte 0 # end of children of DIE 0xe5a
+ .uleb128 0x7 # (DIE (0x10c5) DW_TAG_const_type)
+ .long 0xe5a # DW_AT_type
+ .uleb128 0x2d # (DIE (0x10ca) DW_TAG_namespace)
+ .long .LASF2273 # DW_AT_name: "__detail"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0xac # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1109 # DW_AT_sibling
+ .uleb128 0x24 # (DIE (0x10d6) DW_TAG_structure_type)
+ .long .LASF2274 # DW_AT_name: "_MakeUniq<Base>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x41e # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x10fb # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x10e4) DW_TAG_typedef)
+ .long .LASF2275 # DW_AT_name: "__single_object"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x41f # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long 0xe5a # DW_AT_type
+ .uleb128 0xd # (DIE (0x10f1) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .byte 0 # end of children of DIE 0x10d6
+ .uleb128 0x18 # (DIE (0x10fb) DW_TAG_typedef)
+ .long .LASF2276 # DW_AT_name: "__unique_ptr_t"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x42a # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x10e4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x10ca
+ .uleb128 0x16 # (DIE (0x1109) DW_TAG_structure_type)
+ .long .LASF2277 # DW_AT_name: "_Nth_type<0, Base*, std::default_delete<Base> >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xeb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x113d # DW_AT_sibling
+ .uleb128 0xe # (DIE (0x1116) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xec # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x1122) DW_TAG_template_value_param)
+ .ascii "_Np\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0x112c) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2278 # DW_AT_name: "_Types"
+ .uleb128 0xb # (DIE (0x1131) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0x1136) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x112c
+ .byte 0 # end of children of DIE 0x1109
+ .uleb128 0x24 # (DIE (0x113d) DW_TAG_structure_type)
+ .long .LASF2279 # DW_AT_name: "tuple_element<0, std::tuple<Base*, std::default_delete<Base> > >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x973 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x116c # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x114b) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x977 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1116 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x1158) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0xd # (DIE (0x1162) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0xc88 # DW_AT_type
+ .byte 0 # end of children of DIE 0x113d
+ .uleb128 0x16 # (DIE (0x116c) DW_TAG_structure_type)
+ .long .LASF2280 # DW_AT_name: "_Nth_type<1, Base*, std::default_delete<Base> >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xeb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x11a0 # DW_AT_sibling
+ .uleb128 0xe # (DIE (0x1179) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xec # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x597 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x1185) DW_TAG_template_value_param)
+ .ascii "_Np\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0x118f) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2278 # DW_AT_name: "_Types"
+ .uleb128 0xb # (DIE (0x1194) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0x1199) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x118f
+ .byte 0 # end of children of DIE 0x116c
+ .uleb128 0x24 # (DIE (0x11a0) DW_TAG_structure_type)
+ .long .LASF2281 # DW_AT_name: "tuple_element<1, std::tuple<Base*, std::default_delete<Base> > >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x973 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x11cf # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x11ae) DW_TAG_typedef)
+ .long .LASF2166 # DW_AT_name: "type"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x977 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1179 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x11bb) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0xd # (DIE (0x11c5) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0xc88 # DW_AT_type
+ .byte 0 # end of children of DIE 0x11a0
+ .uleb128 0x8 # (DIE (0x11cf) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2282 # DW_AT_name: "__get_helper<1, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2283 # DW_AT_linkage_name: "_ZSt12__get_helperILm1ESt14default_deleteI4BaseEJEERT0_RSt11_Tuple_implIXT_EJS3_DpT1_EE"
+ .long 0x1e2a # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1202 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x11e4) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x11ee) DW_TAG_template_type_param)
+ .long .LASF2195 # DW_AT_name: "_Head"
+ .long 0x597 # DW_AT_type
+ .uleb128 0x29 # (DIE (0x11f7) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2289 # DW_AT_name: "_Tail"
+ .uleb128 0x1 # (DIE (0x11fc) DW_TAG_formal_parameter)
+ .long 0x1e36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x11cf
+ .uleb128 0xe # (DIE (0x1202) DW_TAG_typedef)
+ .long .LASF2284 # DW_AT_name: "__tuple_element_t"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0x56 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x11ae # DW_AT_type
+ .uleb128 0x8 # (DIE (0x120e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2285 # DW_AT_name: "get<1, Base*, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2286 # DW_AT_linkage_name: "_ZSt3getILm1EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+ .long 0x20f0 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1247 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x1223) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x122d) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2229 # DW_AT_name: "_Elements"
+ .long 0x1241 # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x1236) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0x123b) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x122d
+ .uleb128 0x1 # (DIE (0x1241) DW_TAG_formal_parameter)
+ .long 0x1ebc # DW_AT_type
+ .byte 0 # end of children of DIE 0x120e
+ .uleb128 0x8 # (DIE (0x1247) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2287 # DW_AT_name: "__get_helper<0, Base*, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2288 # DW_AT_linkage_name: "_ZSt12__get_helperILm0EP4BaseJSt14default_deleteIS0_EEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE"
+ .long 0x1e70 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1284 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x125c) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x1266) DW_TAG_template_type_param)
+ .long .LASF2195 # DW_AT_name: "_Head"
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0x25 # (DIE (0x126f) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2289 # DW_AT_name: "_Tail"
+ .long 0x127e # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x1278) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x126f
+ .uleb128 0x1 # (DIE (0x127e) DW_TAG_formal_parameter)
+ .long 0x1e7c # DW_AT_type
+ .byte 0 # end of children of DIE 0x1247
+ .uleb128 0xe # (DIE (0x1284) DW_TAG_typedef)
+ .long .LASF2284 # DW_AT_name: "__tuple_element_t"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0x56 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x114b # DW_AT_type
+ .uleb128 0x8 # (DIE (0x1290) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2290 # DW_AT_name: "get<0, Base*, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2291 # DW_AT_linkage_name: "_ZSt3getILm0EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+ .long 0x21c1 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x12c9 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x12a5) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x12af) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2229 # DW_AT_name: "_Elements"
+ .long 0x12c3 # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x12b8) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0x12bd) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x12af
+ .uleb128 0x1 # (DIE (0x12c3) DW_TAG_formal_parameter)
+ .long 0x1ebc # DW_AT_type
+ .byte 0 # end of children of DIE 0x1290
+ .uleb128 0x61 # (DIE (0x12c9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2292 # DW_AT_name: "make_unique<Base>"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x43c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2388 # DW_AT_linkage_name: "_ZSt11make_uniqueI4BaseJEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"
+ .long 0x10fb # DW_AT_type
+ # DW_AT_declaration
+ .uleb128 0xd # (DIE (0x12da) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0x29 # (DIE (0x12e3) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2293 # DW_AT_name: "_Args"
+ .byte 0 # end of children of DIE 0x12c9
+ .byte 0 # end of children of DIE 0x2d
+ .uleb128 0x41 # (DIE (0x12ea) DW_TAG_namespace)
+ .long .LASF2294 # DW_AT_name: "__gnu_cxx"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8ef # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1368 # DW_AT_sibling
+ .uleb128 0x37 # (DIE (0x12f7) DW_TAG_namespace)
+ .long .LASF2295 # DW_AT_name: "__cxx11"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8f1 # DW_AT_decl_line
+ .byte 0x41 # DW_AT_decl_column
+ # DW_AT_export_symbols
+ .uleb128 0x38 # (DIE (0x1300) DW_TAG_imported_module)
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8f1 # DW_AT_decl_line
+ .byte 0x41 # DW_AT_decl_column
+ .long 0x12f7 # DW_AT_import
+ .uleb128 0x3a # (DIE (0x1309) DW_TAG_namespace)
+ .long .LASF2296 # DW_AT_name: "__ops"
+ .byte 0xc # DW_AT_decl_file (/usr/include/c++/15/bits/predefined_ops.h)
+ .byte 0x25 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .uleb128 0x3 # (DIE (0x1311) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xfd # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1d34 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x1319) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x106 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1d50 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x1322) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .value 0x107 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1d75 # DW_AT_import
+ .uleb128 0x62 # (DIE (0x132b) DW_TAG_enumeration_type)
+ .long .LASF2389 # DW_AT_name: "_Lock_policy"
+ .byte 0x7 # DW_AT_encoding
+ .byte 0x4 # DW_AT_byte_size
+ .long 0x1384 # DW_AT_type
+ .byte 0x18 # DW_AT_decl_file (/usr/include/c++/15/ext/concurrence.h)
+ .byte 0x36 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1350 # DW_AT_sibling
+ .uleb128 0x34 # (DIE (0x133d) DW_TAG_enumerator)
+ .long .LASF2297 # DW_AT_name: "_S_single"
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x34 # (DIE (0x1343) DW_TAG_enumerator)
+ .long .LASF2298 # DW_AT_name: "_S_mutex"
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x34 # (DIE (0x1349) DW_TAG_enumerator)
+ .long .LASF2299 # DW_AT_name: "_S_atomic"
+ .byte 0x2 # DW_AT_const_value
+ .byte 0 # end of children of DIE 0x132b
+ .uleb128 0x7 # (DIE (0x1350) DW_TAG_const_type)
+ .long 0x132b # DW_AT_type
+ .uleb128 0x63 # (DIE (0x1355) DW_TAG_variable)
+ .long .LASF2390 # DW_AT_name: "__default_lock_policy"
+ .byte 0x18 # DW_AT_decl_file (/usr/include/c++/15/ext/concurrence.h)
+ .byte 0x3a # DW_AT_decl_line
+ .byte 0x28 # DW_AT_decl_column
+ .long .LASF2391 # DW_AT_linkage_name: "_ZN9__gnu_cxx21__default_lock_policyE"
+ .long 0x1350 # DW_AT_type
+ # DW_AT_external
+ # DW_AT_declaration
+ .byte 0x2 # DW_AT_const_value
+ .byte 0x3 # DW_AT_inline
+ .byte 0 # end of children of DIE 0x12ea
+ .uleb128 0x9 # (DIE (0x1368) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2300 # DW_AT_name: "long unsigned int"
+ .uleb128 0x9 # (DIE (0x136f) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_encoding
+ .long .LASF2301 # DW_AT_name: "bool"
+ .uleb128 0x9 # (DIE (0x1376) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x8 # DW_AT_encoding
+ .long .LASF2302 # DW_AT_name: "unsigned char"
+ .uleb128 0x9 # (DIE (0x137d) DW_TAG_base_type)
+ .byte 0x2 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2303 # DW_AT_name: "short unsigned int"
+ .uleb128 0x9 # (DIE (0x1384) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2304 # DW_AT_name: "unsigned int"
+ .uleb128 0x9 # (DIE (0x138b) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2305 # DW_AT_name: "long long unsigned int"
+ .uleb128 0x9 # (DIE (0x1392) DW_TAG_base_type)
+ .byte 0x10 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2306 # DW_AT_name: "__int128 unsigned"
+ .uleb128 0x9 # (DIE (0x1399) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_encoding
+ .long .LASF2307 # DW_AT_name: "signed char"
+ .uleb128 0x9 # (DIE (0x13a0) DW_TAG_base_type)
+ .byte 0x2 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2308 # DW_AT_name: "short int"
+ .uleb128 0x64 # (DIE (0x13a7) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .ascii "int\0" # DW_AT_name
+ .uleb128 0x9 # (DIE (0x13ae) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2309 # DW_AT_name: "long int"
+ .uleb128 0x9 # (DIE (0x13b5) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2310 # DW_AT_name: "long long int"
+ .uleb128 0x9 # (DIE (0x13bc) DW_TAG_base_type)
+ .byte 0x10 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2311 # DW_AT_name: "__int128"
+ .uleb128 0x9 # (DIE (0x13c3) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2312 # DW_AT_name: "wchar_t"
+ .uleb128 0x7 # (DIE (0x13ca) DW_TAG_const_type)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x9 # (DIE (0x13cf) DW_TAG_base_type)
+ .byte 0x2 # DW_AT_byte_size
+ .byte 0x10 # DW_AT_encoding
+ .long .LASF2313 # DW_AT_name: "char16_t"
+ .uleb128 0x9 # (DIE (0x13d6) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x10 # DW_AT_encoding
+ .long .LASF2314 # DW_AT_name: "char32_t"
+ .uleb128 0x65 # (DIE (0x13dd) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .uleb128 0x4 # (DIE (0x13df) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13e5 # DW_AT_type
+ .uleb128 0x66 # (DIE (0x13e5) DW_TAG_const_type)
+ .uleb128 0x4 # (DIE (0x13e6) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13ec # DW_AT_type
+ .uleb128 0x9 # (DIE (0x13ec) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_encoding
+ .long .LASF2315 # DW_AT_name: "char"
+ .uleb128 0x7 # (DIE (0x13f3) DW_TAG_const_type)
+ .long 0x13ec # DW_AT_type
+ .uleb128 0x4 # (DIE (0x13f8) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13f3 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x13fe) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1404) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13ca # DW_AT_type
+ .uleb128 0x9 # (DIE (0x140a) DW_TAG_base_type)
+ .byte 0x10 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_encoding
+ .long .LASF2316 # DW_AT_name: "long double"
+ .uleb128 0x9 # (DIE (0x1411) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_encoding
+ .long .LASF2317 # DW_AT_name: "double"
+ .uleb128 0x9 # (DIE (0x1418) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_encoding
+ .long .LASF2318 # DW_AT_name: "float"
+ .uleb128 0x41 # (DIE (0x141f) DW_TAG_namespace)
+ .long .LASF2319 # DW_AT_name: "__gnu_debug"
+ .byte 0xd # DW_AT_decl_file (/usr/include/c++/15/bits/stl_iterator.h)
+ .value 0xba7 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1435 # DW_AT_sibling
+ .uleb128 0x42 # (DIE (0x142c) DW_TAG_imported_module)
+ .byte 0x5 # DW_AT_decl_file (/usr/include/c++/15/debug/debug.h)
+ .byte 0x3a # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .long 0x6b # DW_AT_import
+ .byte 0 # end of children of DIE 0x141f
+ .uleb128 0x4 # (DIE (0x1435) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x73 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x143b) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xae # DW_AT_type
+ .uleb128 0x67 # (DIE (0x1441) DW_TAG_unspecified_type)
+ .long .LASF2392 # DW_AT_name: "decltype(nullptr)"
+ .uleb128 0xe # (DIE (0x1446) DW_TAG_typedef)
+ .long .LASF2130 # DW_AT_name: "size_t"
+ .byte 0xe # DW_AT_decl_file (/usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h)
+ .byte 0xe5 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long 0x1368 # DW_AT_type
+ .uleb128 0x68 # (DIE (0x1452) DW_TAG_structure_type)
+ .long .LASF2393 # DW_AT_name: "typedef __va_list_tag __va_list_tag"
+ .byte 0x18 # DW_AT_byte_size
+ .byte 0xf # DW_AT_decl_file (<built-in>)
+ .byte 0 # DW_AT_decl_line
+ .long 0x148f # DW_AT_sibling
+ .uleb128 0x2a # (DIE (0x145e) DW_TAG_member)
+ .long .LASF2320 # DW_AT_name: "gp_offset"
+ .byte 0xf # DW_AT_decl_file (<built-in>)
+ .byte 0 # DW_AT_decl_line
+ .long 0x1384 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x2a # (DIE (0x146a) DW_TAG_member)
+ .long .LASF2321 # DW_AT_name: "fp_offset"
+ .byte 0xf # DW_AT_decl_file (<built-in>)
+ .byte 0 # DW_AT_decl_line
+ .long 0x1384 # DW_AT_type
+ .byte 0x4 # DW_AT_data_member_location
+ .uleb128 0x2a # (DIE (0x1476) DW_TAG_member)
+ .long .LASF2322 # DW_AT_name: "overflow_arg_area"
+ .byte 0xf # DW_AT_decl_file (<built-in>)
+ .byte 0 # DW_AT_decl_line
+ .long 0x13dd # DW_AT_type
+ .byte 0x8 # DW_AT_data_member_location
+ .uleb128 0x2a # (DIE (0x1482) DW_TAG_member)
+ .long .LASF2323 # DW_AT_name: "reg_save_area"
+ .byte 0xf # DW_AT_decl_file (<built-in>)
+ .byte 0 # DW_AT_decl_line
+ .long 0x13dd # DW_AT_type
+ .byte 0x10 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x1452
+ .uleb128 0xe # (DIE (0x148f) DW_TAG_typedef)
+ .long .LASF2324 # DW_AT_name: "wint_t"
+ .byte 0x10 # DW_AT_decl_file (/usr/include/bits/types/wint_t.h)
+ .byte 0x14 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long 0x1384 # DW_AT_type
+ .uleb128 0x69 # (DIE (0x149b) DW_TAG_structure_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0xe # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long .LASF2394 # DW_AT_linkage_name: "11__mbstate_t"
+ .long 0x14e5 # DW_AT_sibling
+ .uleb128 0x6a # (DIE (0x14a8) DW_TAG_union_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x11 # DW_AT_decl_line
+ .byte 0x3 # DW_AT_decl_column
+ .long 0x14ca # DW_AT_sibling
+ .uleb128 0x43 # (DIE (0x14b1) DW_TAG_member)
+ .long .LASF2325 # DW_AT_name: "__wch"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x12 # DW_AT_decl_line
+ .byte 0x13 # DW_AT_decl_column
+ .long 0x1384 # DW_AT_type
+ .uleb128 0x43 # (DIE (0x14bd) DW_TAG_member)
+ .long .LASF2326 # DW_AT_name: "__wchb"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x13 # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0x14e5 # DW_AT_type
+ .byte 0 # end of children of DIE 0x14a8
+ .uleb128 0xa # (DIE (0x14ca) DW_TAG_member)
+ .long .LASF2327 # DW_AT_name: "__count"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0xf # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x14d7) DW_TAG_member)
+ .long .LASF2328 # DW_AT_name: "__value"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x14 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long 0x14a8 # DW_AT_type
+ .byte 0x4 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x149b
+ .uleb128 0x6b # (DIE (0x14e5) DW_TAG_array_type)
+ .long 0x13ec # DW_AT_type
+ .long 0x14f5 # DW_AT_sibling
+ .uleb128 0x6c # (DIE (0x14ee) DW_TAG_subrange_type)
+ .long 0x1368 # DW_AT_type
+ .byte 0x3 # DW_AT_upper_bound
+ .byte 0 # end of children of DIE 0x14e5
+ .uleb128 0xe # (DIE (0x14f5) DW_TAG_typedef)
+ .long .LASF2329 # DW_AT_name: "__mbstate_t"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x15 # DW_AT_decl_line
+ .byte 0x3 # DW_AT_decl_column
+ .long 0x149b # DW_AT_type
+ .uleb128 0xe # (DIE (0x1501) DW_TAG_typedef)
+ .long .LASF2330 # DW_AT_name: "mbstate_t"
+ .byte 0x12 # DW_AT_decl_file (/usr/include/bits/types/mbstate_t.h)
+ .byte 0x6 # DW_AT_decl_line
+ .byte 0x15 # DW_AT_decl_column
+ .long 0x14f5 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x150d) DW_TAG_const_type)
+ .long 0x1501 # DW_AT_type
+ .uleb128 0xe # (DIE (0x1512) DW_TAG_typedef)
+ .long .LASF2331 # DW_AT_name: "__FILE"
+ .byte 0x13 # DW_AT_decl_file (/usr/include/bits/types/__FILE.h)
+ .byte 0x5 # DW_AT_decl_line
+ .byte 0x19 # DW_AT_decl_column
+ .long 0x151e # DW_AT_type
+ .uleb128 0x6d # (DIE (0x151e) DW_TAG_structure_type)
+ .long .LASF2395 # DW_AT_name: "_IO_FILE"
+ # DW_AT_declaration
+ .uleb128 0x5 # (DIE (0x1523) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1635 # DW_AT_name: "btowc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x157 # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x153a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1534) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1523
+ .uleb128 0x5 # (DIE (0x153a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1636 # DW_AT_name: "fgetwc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3a7 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1551 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x154b) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x153a
+ .uleb128 0x4 # (DIE (0x1551) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1512 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x1557) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1637 # DW_AT_name: "fgetws"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3c4 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1578 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1568) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x156d) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1572) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1557
+ .uleb128 0x5 # (DIE (0x1578) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1638 # DW_AT_name: "fputwc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3b5 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1594 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1589) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x158e) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1578
+ .uleb128 0x5 # (DIE (0x1594) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1639 # DW_AT_name: "fputws"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3cb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x15b0 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15a5) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15aa) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1594
+ .uleb128 0x5 # (DIE (0x15b0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1640 # DW_AT_name: "fwide"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2d5 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x15cc # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15c1) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15c6) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x15b0
+ .uleb128 0x5 # (DIE (0x15cc) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1641 # DW_AT_name: "fwprintf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2dc # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x15e9 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15dd) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15e2) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x26 # (DIE (0x15e7) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x15cc
+ .uleb128 0x8 # (DIE (0x15e9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1642 # DW_AT_name: "fwscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x31b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2332 # DW_AT_linkage_name: "__isoc23_fwscanf"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x160a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15fe) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1603) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1608) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x15e9
+ .uleb128 0x5 # (DIE (0x160a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1643 # DW_AT_name: "getwc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3a8 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1621 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x161b) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x160a
+ .uleb128 0x6e # (DIE (0x1621) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1644 # DW_AT_name: "getwchar"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3ae # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .uleb128 0x5 # (DIE (0x162e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1645 # DW_AT_name: "mbrlen"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x162 # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x164f # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x163f) DW_TAG_formal_parameter)
+ .long 0x13f8 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1644) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1649) DW_TAG_formal_parameter)
+ .long 0x164f # DW_AT_type
+ .byte 0 # end of children of DIE 0x162e
+ .uleb128 0x4 # (DIE (0x164f) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1501 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x1655) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1646 # DW_AT_name: "mbrtowc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x141 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x167b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1666) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x166b) DW_TAG_formal_parameter)
+ .long 0x13f8 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1670) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1675) DW_TAG_formal_parameter)
+ .long 0x164f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1655
+ .uleb128 0x5 # (DIE (0x167b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1647 # DW_AT_name: "mbsinit"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x13d # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1692 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x168c) DW_TAG_formal_parameter)
+ .long 0x1692 # DW_AT_type
+ .byte 0 # end of children of DIE 0x167b
+ .uleb128 0x4 # (DIE (0x1692) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x150d # DW_AT_type
+ .uleb128 0x5 # (DIE (0x1698) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1648 # DW_AT_name: "mbsrtowcs"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x16a # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x16be # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x16a9) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16ae) DW_TAG_formal_parameter)
+ .long 0x16be # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16b3) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16b8) DW_TAG_formal_parameter)
+ .long 0x164f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1698
+ .uleb128 0x4 # (DIE (0x16be) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13f8 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x16c4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1649 # DW_AT_name: "putwc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3b6 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x16e0 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x16d5) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16da) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x16c4
+ .uleb128 0x5 # (DIE (0x16e0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1650 # DW_AT_name: "putwchar"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3bc # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x16f7 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x16f1) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x16e0
+ .uleb128 0x5 # (DIE (0x16f7) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1651 # DW_AT_name: "swprintf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2e6 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1719 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1708) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x170d) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1712) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1717) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x16f7
+ .uleb128 0x8 # (DIE (0x1719) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1652 # DW_AT_name: "swscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x322 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2333 # DW_AT_linkage_name: "__isoc23_swscanf"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x173a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x172e) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1733) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1738) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1719
+ .uleb128 0x5 # (DIE (0x173a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1653 # DW_AT_name: "ungetwc"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3d3 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x148f # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1756 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x174b) DW_TAG_formal_parameter)
+ .long 0x148f # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1750) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .byte 0 # end of children of DIE 0x173a
+ .uleb128 0x5 # (DIE (0x1756) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1654 # DW_AT_name: "vfwprintf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2ee # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1777 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1767) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x176c) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1771) DW_TAG_formal_parameter)
+ .long 0x1777 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1756
+ .uleb128 0x4 # (DIE (0x1777) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1452 # DW_AT_type
+ .uleb128 0x8 # (DIE (0x177d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1655 # DW_AT_name: "vfwscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x36b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2334 # DW_AT_linkage_name: "__isoc23_vfwscanf"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17a2 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1792) DW_TAG_formal_parameter)
+ .long 0x1551 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1797) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x179c) DW_TAG_formal_parameter)
+ .long 0x1777 # DW_AT_type
+ .byte 0 # end of children of DIE 0x177d
+ .uleb128 0x5 # (DIE (0x17a2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1656 # DW_AT_name: "vswprintf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2fb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17c8 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17b3) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17b8) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17bd) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17c2) DW_TAG_formal_parameter)
+ .long 0x1777 # DW_AT_type
+ .byte 0 # end of children of DIE 0x17a2
+ .uleb128 0x8 # (DIE (0x17c8) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1657 # DW_AT_name: "vswscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x372 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2335 # DW_AT_linkage_name: "__isoc23_vswscanf"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17ed # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17dd) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17e2) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17e7) DW_TAG_formal_parameter)
+ .long 0x1777 # DW_AT_type
+ .byte 0 # end of children of DIE 0x17c8
+ .uleb128 0x5 # (DIE (0x17ed) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1658 # DW_AT_name: "vwprintf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2f6 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1809 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17fe) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1803) DW_TAG_formal_parameter)
+ .long 0x1777 # DW_AT_type
+ .byte 0 # end of children of DIE 0x17ed
+ .uleb128 0x8 # (DIE (0x1809) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1659 # DW_AT_name: "vwscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x36f # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2336 # DW_AT_linkage_name: "__isoc23_vwscanf"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1829 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x181e) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1823) DW_TAG_formal_parameter)
+ .long 0x1777 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1809
+ .uleb128 0x5 # (DIE (0x1829) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1660 # DW_AT_name: "wcrtomb"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x146 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x184a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x183a) DW_TAG_formal_parameter)
+ .long 0x13e6 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x183f) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1844) DW_TAG_formal_parameter)
+ .long 0x164f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1829
+ .uleb128 0x13 # (DIE (0x184a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1661 # DW_AT_name: "wcscat"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x79 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1865 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x185a) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x185f) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x184a
+ .uleb128 0x13 # (DIE (0x1865) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1663 # DW_AT_name: "wcscmp"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x82 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1880 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1875) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x187a) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1865
+ .uleb128 0x13 # (DIE (0x1880) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1664 # DW_AT_name: "wcscoll"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x9b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x189b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1890) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1895) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1880
+ .uleb128 0x13 # (DIE (0x189b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1665 # DW_AT_name: "wcscpy"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x62 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x18b6 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x18ab) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x18b0) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x189b
+ .uleb128 0x13 # (DIE (0x18b6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1666 # DW_AT_name: "wcscspn"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xd4 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x18d1 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x18c6) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x18cb) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x18b6
+ .uleb128 0x5 # (DIE (0x18d1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1667 # DW_AT_name: "wcsftime"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x413 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x18f7 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x18e2) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x18e7) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x18ec) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x18f1) DW_TAG_formal_parameter)
+ .long 0x18f7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x18d1
+ .uleb128 0x4 # (DIE (0x18f7) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1999 # DW_AT_type
+ .uleb128 0x6f # (DIE (0x18fd) DW_TAG_structure_type)
+ .ascii "tm\0" # DW_AT_name
+ .byte 0x38 # DW_AT_byte_size
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x7 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1999 # DW_AT_sibling
+ .uleb128 0xa # (DIE (0x1909) DW_TAG_member)
+ .long .LASF2337 # DW_AT_name: "tm_sec"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x9 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1916) DW_TAG_member)
+ .long .LASF2338 # DW_AT_name: "tm_min"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xa # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x4 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1923) DW_TAG_member)
+ .long .LASF2339 # DW_AT_name: "tm_hour"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xb # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x8 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1930) DW_TAG_member)
+ .long .LASF2340 # DW_AT_name: "tm_mday"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xc # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0xc # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x193d) DW_TAG_member)
+ .long .LASF2341 # DW_AT_name: "tm_mon"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xd # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x10 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x194a) DW_TAG_member)
+ .long .LASF2342 # DW_AT_name: "tm_year"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xe # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x14 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1957) DW_TAG_member)
+ .long .LASF2343 # DW_AT_name: "tm_wday"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xf # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x18 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1964) DW_TAG_member)
+ .long .LASF2344 # DW_AT_name: "tm_yday"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x10 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x1c # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1971) DW_TAG_member)
+ .long .LASF2345 # DW_AT_name: "tm_isdst"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x11 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .byte 0x20 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x197e) DW_TAG_member)
+ .long .LASF2346 # DW_AT_name: "tm_gmtoff"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x14 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13ae # DW_AT_type
+ .byte 0x28 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x198b) DW_TAG_member)
+ .long .LASF2347 # DW_AT_name: "tm_zone"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x15 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f8 # DW_AT_type
+ .byte 0x30 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x18fd
+ .uleb128 0x7 # (DIE (0x1999) DW_TAG_const_type)
+ .long 0x18fd # DW_AT_type
+ .uleb128 0x13 # (DIE (0x199e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1668 # DW_AT_name: "wcslen"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xf7 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x19b4 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x19ae) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x199e
+ .uleb128 0x13 # (DIE (0x19b4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1669 # DW_AT_name: "wcsncat"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x7d # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x19d4 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x19c4) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19c9) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19ce) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x19b4
+ .uleb128 0x13 # (DIE (0x19d4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1670 # DW_AT_name: "wcsncmp"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x85 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x19f4 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x19e4) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19e9) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19ee) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x19d4
+ .uleb128 0x13 # (DIE (0x19f4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1671 # DW_AT_name: "wcsncpy"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x67 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a14 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a04) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a09) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a0e) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x19f4
+ .uleb128 0x5 # (DIE (0x1a14) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1674 # DW_AT_name: "wcsrtombs"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x170 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a3a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a25) DW_TAG_formal_parameter)
+ .long 0x13e6 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a2a) DW_TAG_formal_parameter)
+ .long 0x1a3a # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a2f) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a34) DW_TAG_formal_parameter)
+ .long 0x164f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a14
+ .uleb128 0x4 # (DIE (0x1a3a) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x13 # (DIE (0x1a40) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1675 # DW_AT_name: "wcsspn"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xd8 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a5b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a50) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a55) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a40
+ .uleb128 0x5 # (DIE (0x1a5b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1677 # DW_AT_name: "wcstod"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x192 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1411 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a77 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a6c) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a71) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a5b
+ .uleb128 0x4 # (DIE (0x1a77) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x5 # (DIE (0x1a7d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1678 # DW_AT_name: "wcstof"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x197 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1418 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a99 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a8e) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a93) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a7d
+ .uleb128 0x13 # (DIE (0x1a99) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1679 # DW_AT_name: "wcstok"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xf2 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ab9 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1aa9) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1aae) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ab3) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a99
+ .uleb128 0x8 # (DIE (0x1ab9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1680 # DW_AT_name: "wcstol"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x1f4 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2348 # DW_AT_linkage_name: "__isoc23_wcstol"
+ .long 0x13ae # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ade # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1ace) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ad3) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ad8) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ab9
+ .uleb128 0x8 # (DIE (0x1ade) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1681 # DW_AT_name: "wcstoul"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x1f7 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long .LASF2349 # DW_AT_linkage_name: "__isoc23_wcstoul"
+ .long 0x1368 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b03 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1af3) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1af8) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1afd) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ade
+ .uleb128 0x13 # (DIE (0x1b03) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1682 # DW_AT_name: "wcsxfrm"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0x9f # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1446 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b23 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b13) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b18) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b1d) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b03
+ .uleb128 0x5 # (DIE (0x1b23) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1683 # DW_AT_name: "wctob"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x15d # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b3a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b34) DW_TAG_formal_parameter)
+ .long 0x148f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b23
+ .uleb128 0x5 # (DIE (0x1b3a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1685 # DW_AT_name: "wmemcmp"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x11b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b5b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b4b) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b50) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b55) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b3a
+ .uleb128 0x5 # (DIE (0x1b5b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1686 # DW_AT_name: "wmemcpy"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x11f # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b7c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b6c) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b71) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b76) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b5b
+ .uleb128 0x5 # (DIE (0x1b7c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1687 # DW_AT_name: "wmemmove"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x124 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b9d # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b8d) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b92) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b97) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b7c
+ .uleb128 0x5 # (DIE (0x1b9d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1688 # DW_AT_name: "wmemset"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x128 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1bbe # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1bae) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1bb3) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1bb8) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b9d
+ .uleb128 0x5 # (DIE (0x1bbe) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1689 # DW_AT_name: "wprintf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x2e3 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1bd6 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1bcf) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1bd4) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1bbe
+ .uleb128 0x8 # (DIE (0x1bd6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1690 # DW_AT_name: "wscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x31f # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2350 # DW_AT_linkage_name: "__isoc23_wscanf"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1bf2 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1beb) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1bf0) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1bd6
+ .uleb128 0xf # (DIE (0x1bf2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1662 # DW_AT_name: "wcschr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xba # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1662 # DW_AT_linkage_name: "wcschr"
+ .long 0x1404 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c11 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c06) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c0b) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1bf2
+ .uleb128 0xf # (DIE (0x1c11) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1662 # DW_AT_name: "wcschr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xb8 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1662 # DW_AT_linkage_name: "wcschr"
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c30 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c25) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c2a) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c11
+ .uleb128 0xf # (DIE (0x1c30) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1672 # DW_AT_name: "wcspbrk"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xde # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1672 # DW_AT_linkage_name: "wcspbrk"
+ .long 0x1404 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c4f # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c44) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c49) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c30
+ .uleb128 0xf # (DIE (0x1c4f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1672 # DW_AT_name: "wcspbrk"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xdc # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1672 # DW_AT_linkage_name: "wcspbrk"
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c6e # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c63) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c68) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c4f
+ .uleb128 0xf # (DIE (0x1c6e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1673 # DW_AT_name: "wcsrchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xc4 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1673 # DW_AT_linkage_name: "wcsrchr"
+ .long 0x1404 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c8d # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c82) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c87) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c6e
+ .uleb128 0xf # (DIE (0x1c8d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1673 # DW_AT_name: "wcsrchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xc2 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1673 # DW_AT_linkage_name: "wcsrchr"
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1cac # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1ca1) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ca6) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c8d
+ .uleb128 0xf # (DIE (0x1cac) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1676 # DW_AT_name: "wcsstr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xe9 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1676 # DW_AT_linkage_name: "wcsstr"
+ .long 0x1404 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ccb # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1cc0) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1cc5) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1cac
+ .uleb128 0xf # (DIE (0x1ccb) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1676 # DW_AT_name: "wcsstr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xe7 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1676 # DW_AT_linkage_name: "wcsstr"
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1cea # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1cdf) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ce4) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ccb
+ .uleb128 0x8 # (DIE (0x1cea) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1684 # DW_AT_name: "wmemchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x112 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1684 # DW_AT_linkage_name: "wmemchr"
+ .long 0x1404 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1d0f # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1cff) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d04) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d09) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1cea
+ .uleb128 0x8 # (DIE (0x1d0f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1684 # DW_AT_name: "wmemchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x110 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1684 # DW_AT_linkage_name: "wmemchr"
+ .long 0x13fe # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1d34 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1d24) DW_TAG_formal_parameter)
+ .long 0x13fe # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d29) DW_TAG_formal_parameter)
+ .long 0x13c3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d2e) DW_TAG_formal_parameter)
+ .long 0x1446 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1d0f
+ .uleb128 0x5 # (DIE (0x1d34) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1691 # DW_AT_name: "wcstold"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x199 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x140a # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1d50 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1d45) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d4a) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1d34
+ .uleb128 0x8 # (DIE (0x1d50) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1692 # DW_AT_name: "wcstoll"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x1fc # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long .LASF2351 # DW_AT_linkage_name: "__isoc23_wcstoll"
+ .long 0x13b5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1d75 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1d65) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d6a) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d6f) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1d50
+ .uleb128 0x8 # (DIE (0x1d75) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1693 # DW_AT_name: "wcstoull"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x201 # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long .LASF2352 # DW_AT_linkage_name: "__isoc23_wcstoull"
+ .long 0x138b # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1d9a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1d8a) DW_TAG_formal_parameter)
+ .long 0x1404 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d8f) DW_TAG_formal_parameter)
+ .long 0x1a77 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1d94) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1d75
+ .uleb128 0x4 # (DIE (0x1d9a) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x356 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1da0) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x51a # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1da6) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x51a # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1dac) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x356 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1db2) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x356 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1db8) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x562 # DW_AT_type
+ .uleb128 0x70 # (DIE (0x1dbe) DW_TAG_variable)
+ .long 0x1355 # DW_AT_specification
+ .uleb128 0x2d # (DIE (0x1dc3) DW_TAG_namespace)
+ .long .LASF2353 # DW_AT_name: "__pstl"
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0xf # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1de8 # DW_AT_sibling
+ .uleb128 0x71 # (DIE (0x1dcf) DW_TAG_namespace)
+ .long .LASF2396 # DW_AT_name: "execution"
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0x11 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .uleb128 0x72 # (DIE (0x1dd7) DW_TAG_namespace)
+ .ascii "v1\0" # DW_AT_name
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0x13 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ # DW_AT_export_symbols
+ .uleb128 0x42 # (DIE (0x1dde) DW_TAG_imported_module)
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0x13 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long 0x1dd7 # DW_AT_import
+ .byte 0 # end of children of DIE 0x1dcf
+ .byte 0 # end of children of DIE 0x1dc3
+ .uleb128 0x3b # (DIE (0x1de8) DW_TAG_structure_type)
+ .long .LASF2355 # DW_AT_name: "Base"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x1 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x2 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .uleb128 0x4 # (DIE (0x1df1) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x597 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1df7) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x5e8 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1dfd) DW_TAG_const_type)
+ .long 0x1df7 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1e02) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1e08) DW_TAG_const_type)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1e0d) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x7b3 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1e13) DW_TAG_const_type)
+ .long 0x1e0d # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e18) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x5e8 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e1e) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x8b2 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1e24) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x7b3 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e2a) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x597 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e30) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x7b3 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e36) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x8b7 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e3c) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x9d9 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1e42) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x8b7 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1e48) DW_TAG_const_type)
+ .long 0x1e42 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1e4d) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x8b7 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1e53) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x9de # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1e59) DW_TAG_const_type)
+ .long 0x1e53 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e5e) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1e08 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e64) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xadd # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1e6a) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x9de # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e70) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e76) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x9de # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e7c) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xae2 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e82) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xc5d # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e88) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xb33 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e8e) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xb40 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1e94) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xae2 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1e9a) DW_TAG_const_type)
+ .long 0x1e94 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1e9f) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xae2 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1ea5) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xc88 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1eab) DW_TAG_const_type)
+ .long 0x1ea5 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1eb0) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xd85 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1eb6) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xc88 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1ebc) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xc88 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1ec2) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x5ed # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1ec8) DW_TAG_const_type)
+ .long 0x1ec2 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1ecd) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x5ed # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1ed3) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x5ed # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1ed9) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x662 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1edf) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x7ae # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1ee5) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xda2 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1eeb) DW_TAG_const_type)
+ .long 0x1ee5 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1ef0) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xda2 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1ef6) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xda2 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1efc) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1f02) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xe5a # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1f08) DW_TAG_const_type)
+ .long 0x1f02 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1f0d) DW_TAG_rvalue_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xe5a # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1f13) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xe5a # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1f19) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x10c5 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1f1f) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xf6d # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1f25) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0xf7b # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1f2b) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x10c5 # DW_AT_type
+ .uleb128 0x73 # (DIE (0x1f31) DW_TAG_variable)
+ .long .LASF2374 # DW_AT_name: "__dso_handle"
+ .long 0x13dd # DW_AT_type
+ # DW_AT_external
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .uleb128 0xf # (DIE (0x1f3a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2356 # DW_AT_name: "operator new"
+ .byte 0x17 # DW_AT_decl_file (/usr/include/c++/15/new)
+ .byte 0x89 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long .LASF2357 # DW_AT_linkage_name: "_Znwm"
+ .long 0x13dd # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1f54 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1f4e) DW_TAG_formal_parameter)
+ .long 0x4c # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f3a
+ .uleb128 0x74 # (DIE (0x1f54) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2358 # DW_AT_name: "operator delete"
+ .byte 0x17 # DW_AT_decl_file (/usr/include/c++/15/new)
+ .byte 0x94 # DW_AT_decl_line
+ .byte 0x6 # DW_AT_decl_column
+ .long .LASF2360 # DW_AT_linkage_name: "_ZdlPvm"
+ # DW_AT_declaration
+ .long 0x1f6f # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1f64) DW_TAG_formal_parameter)
+ .long 0x13dd # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1f69) DW_TAG_formal_parameter)
+ .long 0x4c # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f54
+ .uleb128 0x44 # (DIE (0x1f6f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2361 # DW_AT_name: "__cxa_guard_abort"
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0x1f7e # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1f78) DW_TAG_formal_parameter)
+ .long 0x1f7e # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f6f
+ .uleb128 0x4 # (DIE (0x1f7e) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13b5 # DW_AT_type
+ .uleb128 0x44 # (DIE (0x1f84) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2362 # DW_AT_name: "__cxa_guard_release"
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0x1f93 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1f8d) DW_TAG_formal_parameter)
+ .long 0x1f7e # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f84
+ .uleb128 0x75 # (DIE (0x1f93) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2397 # DW_AT_name: "__cxa_guard_acquire"
+ .long 0x13a7 # DW_AT_type
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0x1fa6 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1fa0) DW_TAG_formal_parameter)
+ .long 0x1f7e # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f93
+ .uleb128 0x1b # (DIE (0x1fa6) DW_TAG_subprogram)
+ .long 0x85d # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x1fbd # DW_AT_sibling
+ .uleb128 0x35 # (DIE (0x1fb0) DW_TAG_formal_parameter)
+ .ascii "__b\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x89 # DW_AT_decl_line
+ .byte 0x1b # DW_AT_decl_column
+ .long 0x1e30 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1fa6
+ .uleb128 0x14 # (DIE (0x1fbd) DW_TAG_subprogram)
+ .long 0x7c0 # DW_AT_specification
+ .long 0x1fcb # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x1fd5 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x1fcb) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1e13 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x1fbd
+ .uleb128 0x1e # (DIE (0x1fd5) DW_TAG_subprogram)
+ .long 0x1fbd # DW_AT_abstract_origin
+ .long .LASF2364 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC2Ev"
+ .long 0x1fe6 # DW_AT_object_pointer
+ .long 0x1fec # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x1fe6) DW_TAG_formal_parameter)
+ .long 0x1fcb # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x1fd5
+ .uleb128 0x1b # (DIE (0x1fec) DW_TAG_subprogram)
+ .long 0x8cc # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x2004 # DW_AT_sibling
+ .uleb128 0x21 # (DIE (0x1ff6) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x22a # DW_AT_decl_line
+ .byte 0x1c # DW_AT_decl_column
+ .long 0x1e36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1fec
+ .uleb128 0x1b # (DIE (0x2004) DW_TAG_subprogram)
+ .long 0xa88 # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x201b # DW_AT_sibling
+ .uleb128 0x35 # (DIE (0x200e) DW_TAG_formal_parameter)
+ .ascii "__b\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xf6 # DW_AT_decl_line
+ .byte 0x1b # DW_AT_decl_column
+ .long 0x1e76 # DW_AT_type
+ .byte 0 # end of children of DIE 0x2004
+ .uleb128 0x14 # (DIE (0x201b) DW_TAG_subprogram)
+ .long 0x9eb # DW_AT_specification
+ .long 0x2029 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2033 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x2029) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1e59 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x201b
+ .uleb128 0x1e # (DIE (0x2033) DW_TAG_subprogram)
+ .long 0x201b # DW_AT_abstract_origin
+ .long .LASF2365 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC2Ev"
+ .long 0x2044 # DW_AT_object_pointer
+ .long 0x204a # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x2044) DW_TAG_formal_parameter)
+ .long 0x2029 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2033
+ .uleb128 0x14 # (DIE (0x204a) DW_TAG_subprogram)
+ .long 0x902 # DW_AT_specification
+ .long 0x2058 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2062 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x2058) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1e48 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x204a
+ .uleb128 0x1e # (DIE (0x2062) DW_TAG_subprogram)
+ .long 0x204a # DW_AT_abstract_origin
+ .long .LASF2366 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC2Ev"
+ .long 0x2073 # DW_AT_object_pointer
+ .long 0x2079 # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x2073) DW_TAG_formal_parameter)
+ .long 0x2058 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2062
+ .uleb128 0x1b # (DIE (0x2079) DW_TAG_subprogram)
+ .long 0x11cf # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x20a9 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x2083) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x208d) DW_TAG_template_type_param)
+ .long .LASF2195 # DW_AT_name: "_Head"
+ .long 0x597 # DW_AT_type
+ .uleb128 0x29 # (DIE (0x2096) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2289 # DW_AT_name: "_Tail"
+ .uleb128 0x21 # (DIE (0x209b) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x35 # DW_AT_decl_column
+ .long 0x1e36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x2079
+ .uleb128 0x1b # (DIE (0x20a9) DW_TAG_subprogram)
+ .long 0xafd # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x20c1 # DW_AT_sibling
+ .uleb128 0x21 # (DIE (0x20b3) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x123 # DW_AT_decl_line
+ .byte 0x1c # DW_AT_decl_column
+ .long 0x1e7c # DW_AT_type
+ .byte 0 # end of children of DIE 0x20a9
+ .uleb128 0x14 # (DIE (0x20c1) DW_TAG_subprogram)
+ .long 0xb7b # DW_AT_specification
+ .long 0x20cf # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x20d9 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x20cf) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1e9a # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x20c1
+ .uleb128 0x1e # (DIE (0x20d9) DW_TAG_subprogram)
+ .long 0x20c1 # DW_AT_abstract_origin
+ .long .LASF2367 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC2Ev"
+ .long 0x20ea # DW_AT_object_pointer
+ .long 0x20f0 # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x20ea) DW_TAG_formal_parameter)
+ .long 0x20cf # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x20d9
+ .uleb128 0x6 # (DIE (0x20f0) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1202 # DW_AT_type
+ .uleb128 0x1b # (DIE (0x20f6) DW_TAG_subprogram)
+ .long 0x120e # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x212c # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x2100) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x210a) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2229 # DW_AT_name: "_Elements"
+ .long 0x211e # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x2113) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0x2118) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x210a
+ .uleb128 0x21 # (DIE (0x211e) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x1e # DW_AT_decl_column
+ .long 0x1ebc # DW_AT_type
+ .byte 0 # end of children of DIE 0x20f6
+ .uleb128 0x1b # (DIE (0x212c) DW_TAG_subprogram)
+ .long 0x1247 # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x2166 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x2136) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x2140) DW_TAG_template_type_param)
+ .long .LASF2195 # DW_AT_name: "_Head"
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0x25 # (DIE (0x2149) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2289 # DW_AT_name: "_Tail"
+ .long 0x2158 # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x2152) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x2149
+ .uleb128 0x21 # (DIE (0x2158) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x35 # DW_AT_decl_column
+ .long 0x1e7c # DW_AT_type
+ .byte 0 # end of children of DIE 0x212c
+ .uleb128 0x14 # (DIE (0x2166) DW_TAG_subprogram)
+ .long 0xd5d # DW_AT_specification
+ .long 0x217e # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2188 # DW_AT_sibling
+ .uleb128 0x32 # (DIE (0x2174) DW_TAG_template_value_param)
+ .long .LASF2368 # DW_AT_name: "_Dummy"
+ .long 0x136f # DW_AT_type
+ # DW_AT_default_value
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x10 # (DIE (0x217e) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1eab # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2166
+ .uleb128 0x1e # (DIE (0x2188) DW_TAG_subprogram)
+ .long 0x2166 # DW_AT_abstract_origin
+ .long .LASF2369 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC2ILb1ELb1EEEv"
+ .long 0x21a3 # DW_AT_object_pointer
+ .long 0x21a9 # DW_AT_sibling
+ .uleb128 0x32 # (DIE (0x2199) DW_TAG_template_value_param)
+ .long .LASF2368 # DW_AT_name: "_Dummy"
+ .long 0x136f # DW_AT_type
+ # DW_AT_default_value
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x15 # (DIE (0x21a3) DW_TAG_formal_parameter)
+ .long 0x217e # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2188
+ .uleb128 0x14 # (DIE (0x21a9) DW_TAG_subprogram)
+ .long 0x6f1 # DW_AT_specification
+ .long 0x21b7 # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x21c1 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x21b7) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1ec8 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x21a9
+ .uleb128 0x6 # (DIE (0x21c1) DW_TAG_reference_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x1284 # DW_AT_type
+ .uleb128 0x1b # (DIE (0x21c7) DW_TAG_subprogram)
+ .long 0x1290 # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x21fd # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x21d1) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1368 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x21db) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2229 # DW_AT_name: "_Elements"
+ .long 0x21ef # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x21e4) DW_TAG_template_type_param)
+ .long 0x1e02 # DW_AT_type
+ .uleb128 0xb # (DIE (0x21e9) DW_TAG_template_type_param)
+ .long 0x597 # DW_AT_type
+ .byte 0 # end of children of DIE 0x21db
+ .uleb128 0x21 # (DIE (0x21ef) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x1e # DW_AT_decl_column
+ .long 0x1ebc # DW_AT_type
+ .byte 0 # end of children of DIE 0x21c7
+ .uleb128 0x14 # (DIE (0x21fd) DW_TAG_subprogram)
+ .long 0x642 # DW_AT_specification
+ .long 0x220b # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2221 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x220b) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1ec8 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x35 # (DIE (0x2214) DW_TAG_formal_parameter)
+ .ascii "__p\0" # DW_AT_name
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long 0x662 # DW_AT_type
+ .byte 0 # end of children of DIE 0x21fd
+ .uleb128 0x1e # (DIE (0x2221) DW_TAG_subprogram)
+ .long 0x21fd # DW_AT_abstract_origin
+ .long .LASF2370 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC2EPS0_"
+ .long 0x2232 # DW_AT_object_pointer
+ .long 0x223d # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x2232) DW_TAG_formal_parameter)
+ .long 0x220b # DW_AT_abstract_origin
+ .uleb128 0x15 # (DIE (0x2237) DW_TAG_formal_parameter)
+ .long 0x2214 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2221
+ .uleb128 0x14 # (DIE (0x223d) DW_TAG_subprogram)
+ .long 0x5bf # DW_AT_specification
+ .long 0x224b # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x2261 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x224b) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1dfd # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x76 # (DIE (0x2254) DW_TAG_formal_parameter)
+ .long .LASF2371 # DW_AT_name: "__ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x57 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long 0x1e02 # DW_AT_type
+ .byte 0 # end of children of DIE 0x223d
+ .uleb128 0x14 # (DIE (0x2261) DW_TAG_subprogram)
+ .long 0xf80 # DW_AT_specification
+ .long 0x226f # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x2279 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x226f) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1f08 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2261
+ .uleb128 0x14 # (DIE (0x2279) DW_TAG_subprogram)
+ .long 0x6b3 # DW_AT_specification
+ .long 0x2287 # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x2291 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x2287) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1ec8 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2279
+ .uleb128 0x14 # (DIE (0x2291) DW_TAG_subprogram)
+ .long 0x1088 # DW_AT_specification
+ .long 0x22a8 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x22bf # DW_AT_sibling
+ .uleb128 0x33 # (DIE (0x229f) DW_TAG_template_type_param)
+ .long .LASF2272 # DW_AT_name: "_Del"
+ .long 0x597 # DW_AT_type
+ # DW_AT_default_value
+ .uleb128 0x10 # (DIE (0x22a8) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1f08 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x21 # (DIE (0x22b1) DW_TAG_formal_parameter)
+ .ascii "__p\0" # DW_AT_name
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x137 # DW_AT_decl_line
+ .byte 0x15 # DW_AT_decl_column
+ .long 0xf1f # DW_AT_type
+ .byte 0 # end of children of DIE 0x2291
+ .uleb128 0x1e # (DIE (0x22bf) DW_TAG_subprogram)
+ .long 0x2291 # DW_AT_abstract_origin
+ .long .LASF2372 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC2IS2_vEEPS0_"
+ .long 0x22d9 # DW_AT_object_pointer
+ .long 0x22e4 # DW_AT_sibling
+ .uleb128 0x33 # (DIE (0x22d0) DW_TAG_template_type_param)
+ .long .LASF2272 # DW_AT_name: "_Del"
+ .long 0x597 # DW_AT_type
+ # DW_AT_default_value
+ .uleb128 0x15 # (DIE (0x22d9) DW_TAG_formal_parameter)
+ .long 0x22a8 # DW_AT_abstract_origin
+ .uleb128 0x15 # (DIE (0x22de) DW_TAG_formal_parameter)
+ .long 0x22b1 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x22bf
+ .uleb128 0x77 # (DIE (0x22e4) DW_TAG_subprogram)
+ .long 0xdf9 # DW_AT_specification
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xeb # DW_AT_decl_line
+ .byte 0x28 # DW_AT_decl_column
+ .long 0x22f5 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2304 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x22f5) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1eeb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x22fe) DW_TAG_formal_parameter)
+ .long 0x662 # DW_AT_type
+ .byte 0 # end of children of DIE 0x22e4
+ .uleb128 0x1e # (DIE (0x2304) DW_TAG_subprogram)
+ .long 0x22e4 # DW_AT_abstract_origin
+ .long .LASF2373 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI2St15__uniq_ptr_implIS0_S2_EEPS0_"
+ .long 0x2315 # DW_AT_object_pointer
+ .long 0x2320 # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x2315) DW_TAG_formal_parameter)
+ .long 0x22f5 # DW_AT_abstract_origin
+ .uleb128 0x15 # (DIE (0x231a) DW_TAG_formal_parameter)
+ .long 0x22fe # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2304
+ .uleb128 0x14 # (DIE (0x2320) DW_TAG_subprogram)
+ .long 0xe98 # DW_AT_specification
+ .long 0x232e # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2347 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x232e) DW_TAG_formal_parameter)
+ .long .LASF2363 # DW_AT_name: "this"
+ .long 0x1f08 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x78 # (DIE (0x2337) DW_TAG_lexical_block)
+ .uleb128 0x79 # (DIE (0x2338) DW_TAG_variable)
+ .long .LASF2371 # DW_AT_name: "__ptr"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18d # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1e70 # DW_AT_type
+ .byte 0 # end of children of DIE 0x2337
+ .byte 0 # end of children of DIE 0x2320
+ .uleb128 0x7a # (DIE (0x2347) DW_TAG_subprogram)
+ .long 0x2320 # DW_AT_abstract_origin
+ .long .LASF2398 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev"
+ .long 0x236a # DW_AT_object_pointer
+ .quad .LFB1565 # DW_AT_low_pc
+ .quad .LFE1565-.LFB1565 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .long 0x245a # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x236a) DW_TAG_formal_parameter)
+ .long 0x232e # DW_AT_abstract_origin
+ .long .LLST0 # DW_AT_location
+ .long .LVUS0 # DW_AT_GNU_locviews
+ .uleb128 0x7b # (DIE (0x2377) DW_TAG_lexical_block)
+ .long 0x2337 # DW_AT_abstract_origin
+ .long 0x2386 # DW_AT_sibling
+ .uleb128 0x7c # (DIE (0x2380) DW_TAG_variable)
+ .long 0x2338 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2377
+ .uleb128 0x7d # (DIE (0x2386) DW_TAG_lexical_block)
+ .long 0x2337 # DW_AT_abstract_origin
+ .quad .LBB144 # DW_AT_low_pc
+ .quad .LBE144-.LBB144 # DW_AT_high_pc
+ .uleb128 0x7e # (DIE (0x239b) DW_TAG_variable)
+ .long 0x2338 # DW_AT_abstract_origin
+ .long .LLST1 # DW_AT_location
+ .long .LVUS1 # DW_AT_GNU_locviews
+ .uleb128 0x36 # (DIE (0x23a8) DW_TAG_inlined_subroutine)
+ .long 0x2279 # DW_AT_abstract_origin
+ .quad .LBI145 # DW_AT_entry_pc
+ .byte .LVU1 # DW_AT_GNU_entry_view
+ .quad .LBB145 # DW_AT_low_pc
+ .quad .LBE145-.LBB145 # DW_AT_high_pc
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18d # DW_AT_call_line
+ .byte 0x1b # DW_AT_call_column
+ .long 0x23dc # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x23ce) DW_TAG_formal_parameter)
+ .long 0x2287 # DW_AT_abstract_origin
+ .long .LLST2 # DW_AT_location
+ .long .LVUS2 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x23a8
+ .uleb128 0x36 # (DIE (0x23dc) DW_TAG_inlined_subroutine)
+ .long 0x2261 # DW_AT_abstract_origin
+ .quad .LBI146 # DW_AT_entry_pc
+ .byte .LVU5 # DW_AT_GNU_entry_view
+ .quad .LBB146 # DW_AT_low_pc
+ .quad .LBE146-.LBB146 # DW_AT_high_pc
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18f # DW_AT_call_line
+ .byte 0xf # DW_AT_call_column
+ .long 0x2410 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x2402) DW_TAG_formal_parameter)
+ .long 0x226f # DW_AT_abstract_origin
+ .long .LLST3 # DW_AT_location
+ .long .LVUS3 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x23dc
+ .uleb128 0x2b # (DIE (0x2410) DW_TAG_inlined_subroutine)
+ .long 0x223d # DW_AT_abstract_origin
+ .quad .LBI147 # DW_AT_entry_pc
+ .byte .LVU7 # DW_AT_GNU_entry_view
+ .quad .LBB147 # DW_AT_low_pc
+ .quad .LBE147-.LBB147 # DW_AT_high_pc
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18f # DW_AT_call_line
+ .byte 0x11 # DW_AT_call_column
+ .uleb128 0x15 # (DIE (0x2432) DW_TAG_formal_parameter)
+ .long 0x224b # DW_AT_abstract_origin
+ .uleb128 0xc # (DIE (0x2437) DW_TAG_formal_parameter)
+ .long 0x2254 # DW_AT_abstract_origin
+ .long .LLST4 # DW_AT_location
+ .long .LVUS4 # DW_AT_GNU_locviews
+ .uleb128 0x7f # (DIE (0x2444) DW_TAG_GNU_call_site)
+ .quad .LVL3 # DW_AT_low_pc
+ # DW_AT_GNU_tail_call
+ .long 0x1f54 # DW_AT_abstract_origin
+ .uleb128 0x1f # (DIE (0x2451) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x54 # DW_OP_reg4
+ .uleb128 0x1 # DW_AT_GNU_call_site_value
+ .byte 0x31 # DW_OP_lit1
+ .byte 0 # end of children of DIE 0x2444
+ .byte 0 # end of children of DIE 0x2410
+ .byte 0 # end of children of DIE 0x2386
+ .byte 0 # end of children of DIE 0x2347
+ .uleb128 0x1b # (DIE (0x245a) DW_TAG_subprogram)
+ .long 0x12c9 # DW_AT_specification
+ .byte 0x3 # DW_AT_inline
+ .long 0x247d # DW_AT_sibling
+ .uleb128 0xd # (DIE (0x2464) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1de8 # DW_AT_type
+ .uleb128 0x29 # (DIE (0x246d) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2293 # DW_AT_name: "_Args"
+ .uleb128 0x80 # (DIE (0x2472) DW_TAG_GNU_formal_parameter_pack)
+ .long .LASF2399 # DW_AT_name: "__args"
+ .byte 0x2 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x43c # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .byte 0 # end of children of DIE 0x245a
+ .uleb128 0x81 # (DIE (0x247d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2375 # DW_AT_name: "main"
+ .byte 0x1 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x6 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long 0x13a7 # DW_AT_type
+ .quad .LFB1555 # DW_AT_low_pc
+ .quad .LFE1555-.LFB1555 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .long 0x24bd # DW_AT_sibling
+ .uleb128 0x45 # (DIE (0x24a0) DW_TAG_formal_parameter)
+ .long 0x13a7 # DW_AT_type
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x45 # (DIE (0x24a7) DW_TAG_formal_parameter)
+ .long 0x24bd # DW_AT_type
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x54 # DW_OP_reg4
+ .uleb128 0x82 # (DIE (0x24ae) DW_TAG_GNU_call_site)
+ .quad .LVL11 # DW_AT_low_pc
+ .long 0x24c3 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x247d
+ .uleb128 0x4 # (DIE (0x24bd) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long 0x13e6 # DW_AT_type
+ .uleb128 0x83 # (DIE (0x24c3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2376 # DW_AT_name: "func"
+ .byte 0x1 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x3 # DW_AT_decl_line
+ .byte 0x6 # DW_AT_decl_column
+ .long .LASF2377 # DW_AT_linkage_name: "_Z4funcv"
+ .long .Ldebug_ranges0+0 # DW_AT_ranges
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .long 0x2780 # DW_AT_sibling
+ .uleb128 0x84 # (DIE (0x24da) DW_TAG_variable)
+ .long .LASF2400 # DW_AT_name: "varStatic"
+ .byte 0x1 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x4 # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long 0xe5a # DW_AT_type
+ .uleb128 0x9 # DW_AT_location
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .uleb128 0x85 # (DIE (0x24f1) DW_TAG_inlined_subroutine)
+ .long 0x245a # DW_AT_abstract_origin
+ .quad .LBI149 # DW_AT_entry_pc
+ .byte .LVU19 # DW_AT_GNU_entry_view
+ .long .Ldebug_ranges0+0x30 # DW_AT_ranges
+ .byte 0x1 # DW_AT_call_file (dwarf.cc)
+ .byte 0x4 # DW_AT_call_line
+ .byte 0x42 # DW_AT_call_column
+ .long 0x26e0 # DW_AT_sibling
+ .uleb128 0x86 # (DIE (0x250b) DW_TAG_inlined_subroutine)
+ .long 0x2291 # DW_AT_abstract_origin
+ .quad .LBI151 # DW_AT_entry_pc
+ .byte .LVU21 # DW_AT_GNU_entry_view
+ .long .Ldebug_ranges0+0x60 # DW_AT_ranges
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x43d # DW_AT_call_line
+ .byte 0x45 # DW_AT_call_column
+ .long 0x26cc # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x2526) DW_TAG_formal_parameter)
+ .long 0x22a8 # DW_AT_abstract_origin
+ .long .LLST5 # DW_AT_location
+ .long .LVUS5 # DW_AT_GNU_locviews
+ .uleb128 0xc # (DIE (0x2533) DW_TAG_formal_parameter)
+ .long 0x22b1 # DW_AT_abstract_origin
+ .long .LLST6 # DW_AT_location
+ .long .LVUS6 # DW_AT_GNU_locviews
+ .uleb128 0x87 # (DIE (0x2540) DW_TAG_inlined_subroutine)
+ .long 0x22e4 # DW_AT_abstract_origin
+ .quad .LBI152 # DW_AT_entry_pc
+ .byte .LVU22 # DW_AT_GNU_entry_view
+ .long .Ldebug_ranges0+0x60 # DW_AT_ranges
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x138 # DW_AT_call_line
+ .byte 0x4 # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x2557) DW_TAG_formal_parameter)
+ .long 0x22f5 # DW_AT_abstract_origin
+ .long .LLST7 # DW_AT_location
+ .long .LVUS7 # DW_AT_GNU_locviews
+ .uleb128 0xc # (DIE (0x2564) DW_TAG_formal_parameter)
+ .long 0x22fe # DW_AT_abstract_origin
+ .long .LLST8 # DW_AT_location
+ .long .LVUS8 # DW_AT_GNU_locviews
+ .uleb128 0x88 # (DIE (0x2571) DW_TAG_inlined_subroutine)
+ .long 0x21fd # DW_AT_abstract_origin
+ .quad .LBI153 # DW_AT_entry_pc
+ .byte .LVU23 # DW_AT_GNU_entry_view
+ .long .Ldebug_ranges0+0x60 # DW_AT_ranges
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xeb # DW_AT_call_line
+ .byte 0x28 # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x2587) DW_TAG_formal_parameter)
+ .long 0x220b # DW_AT_abstract_origin
+ .long .LLST9 # DW_AT_location
+ .long .LVUS9 # DW_AT_GNU_locviews
+ .uleb128 0xc # (DIE (0x2594) DW_TAG_formal_parameter)
+ .long 0x2214 # DW_AT_abstract_origin
+ .long .LLST10 # DW_AT_location
+ .long .LVUS10 # DW_AT_GNU_locviews
+ .uleb128 0x89 # (DIE (0x25a1) DW_TAG_inlined_subroutine)
+ .long 0x2166 # DW_AT_abstract_origin
+ .quad .LBI155 # DW_AT_entry_pc
+ .byte .LVU24 # DW_AT_GNU_entry_view
+ .quad .LBB155 # DW_AT_low_pc
+ .quad .LBE155-.LBB155 # DW_AT_high_pc
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_call_line
+ .byte 0x26 # DW_AT_call_column
+ .long 0x2699 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x25c7) DW_TAG_formal_parameter)
+ .long 0x217e # DW_AT_abstract_origin
+ .long .LLST11 # DW_AT_location
+ .long .LVUS11 # DW_AT_GNU_locviews
+ .uleb128 0x2b # (DIE (0x25d4) DW_TAG_inlined_subroutine)
+ .long 0x20c1 # DW_AT_abstract_origin
+ .quad .LBI156 # DW_AT_entry_pc
+ .byte .LVU25 # DW_AT_GNU_entry_view
+ .quad .LBB156 # DW_AT_low_pc
+ .quad .LBE156-.LBB156 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x82c # DW_AT_call_line
+ .byte 0xf # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x25f6) DW_TAG_formal_parameter)
+ .long 0x20cf # DW_AT_abstract_origin
+ .long .LLST12 # DW_AT_location
+ .long .LVUS12 # DW_AT_GNU_locviews
+ .uleb128 0x36 # (DIE (0x2603) DW_TAG_inlined_subroutine)
+ .long 0x204a # DW_AT_abstract_origin
+ .quad .LBI157 # DW_AT_entry_pc
+ .byte .LVU26 # DW_AT_GNU_entry_view
+ .quad .LBB157 # DW_AT_low_pc
+ .quad .LBE157-.LBB157 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x12f # DW_AT_call_line
+ .byte 0x1d # DW_AT_call_column
+ .long 0x2667 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x2629) DW_TAG_formal_parameter)
+ .long 0x2058 # DW_AT_abstract_origin
+ .long .LLST13 # DW_AT_location
+ .long .LVUS13 # DW_AT_GNU_locviews
+ .uleb128 0x2b # (DIE (0x2636) DW_TAG_inlined_subroutine)
+ .long 0x1fbd # DW_AT_abstract_origin
+ .quad .LBI158 # DW_AT_entry_pc
+ .byte .LVU27 # DW_AT_GNU_entry_view
+ .quad .LBB158 # DW_AT_low_pc
+ .quad .LBE158-.LBB158 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x231 # DW_AT_call_line
+ .byte 0xf # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x2658) DW_TAG_formal_parameter)
+ .long 0x1fcb # DW_AT_abstract_origin
+ .long .LLST14 # DW_AT_location
+ .long .LVUS14 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x2636
+ .byte 0 # end of children of DIE 0x2603
+ .uleb128 0x2b # (DIE (0x2667) DW_TAG_inlined_subroutine)
+ .long 0x201b # DW_AT_abstract_origin
+ .quad .LBI159 # DW_AT_entry_pc
+ .byte .LVU29 # DW_AT_GNU_entry_view
+ .quad .LBB159 # DW_AT_low_pc
+ .quad .LBE159-.LBB159 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x12f # DW_AT_call_line
+ .byte 0x1d # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x2689) DW_TAG_formal_parameter)
+ .long 0x2029 # DW_AT_abstract_origin
+ .long .LLST15 # DW_AT_location
+ .long .LVUS15 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x2667
+ .byte 0 # end of children of DIE 0x25d4
+ .byte 0 # end of children of DIE 0x25a1
+ .uleb128 0x8a # (DIE (0x2699) DW_TAG_inlined_subroutine)
+ .long 0x2279 # DW_AT_abstract_origin
+ .quad .LBI160 # DW_AT_entry_pc
+ .byte .LVU31 # DW_AT_GNU_entry_view
+ .quad .LBB160 # DW_AT_low_pc
+ .quad .LBE160-.LBB160 # DW_AT_high_pc
+ .byte 0x2 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_call_line
+ .byte 0x35 # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x26bb) DW_TAG_formal_parameter)
+ .long 0x2287 # DW_AT_abstract_origin
+ .long .LLST16 # DW_AT_location
+ .long .LVUS16 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x2699
+ .byte 0 # end of children of DIE 0x2571
+ .byte 0 # end of children of DIE 0x2540
+ .byte 0 # end of children of DIE 0x250b
+ .uleb128 0x46 # (DIE (0x26cc) DW_TAG_GNU_call_site)
+ .quad .LVL5 # DW_AT_low_pc
+ .long 0x1f3a # DW_AT_abstract_origin
+ .uleb128 0x1f # (DIE (0x26d9) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x1 # DW_AT_GNU_call_site_value
+ .byte 0x31 # DW_OP_lit1
+ .byte 0 # end of children of DIE 0x26cc
+ .byte 0 # end of children of DIE 0x24f1
+ .uleb128 0x47 # (DIE (0x26e0) DW_TAG_GNU_call_site)
+ .quad .LVL4 # DW_AT_low_pc
+ .long 0x1f93 # DW_AT_abstract_origin
+ .long 0x26ff # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x26f1) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_GNU_call_site_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZGVZ4funcvE9varStatic
+ .byte 0 # end of children of DIE 0x26e0
+ .uleb128 0x8b # (DIE (0x26ff) DW_TAG_GNU_call_site)
+ .quad .LVL7 # DW_AT_low_pc
+ .long 0x272c # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x270d) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_GNU_call_site_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev
+ .uleb128 0x1f # (DIE (0x271a) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x54 # DW_OP_reg4
+ .uleb128 0x9 # DW_AT_GNU_call_site_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .uleb128 0x8c # (DIE (0x2727) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x51 # DW_OP_reg1
+ .byte 0 # end of children of DIE 0x26ff
+ .uleb128 0x8d # (DIE (0x272c) DW_TAG_GNU_call_site)
+ .quad .LVL8 # DW_AT_low_pc
+ # DW_AT_GNU_tail_call
+ .long 0x1f84 # DW_AT_abstract_origin
+ .long 0x274c # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x273e) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_GNU_call_site_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZGVZ4funcvE9varStatic
+ .byte 0 # end of children of DIE 0x272c
+ .uleb128 0x47 # (DIE (0x274c) DW_TAG_GNU_call_site)
+ .quad .LVL9 # DW_AT_low_pc
+ .long 0x1f6f # DW_AT_abstract_origin
+ .long 0x276b # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x275d) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_GNU_call_site_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZGVZ4funcvE9varStatic
+ .byte 0 # end of children of DIE 0x274c
+ .uleb128 0x46 # (DIE (0x276b) DW_TAG_GNU_call_site)
+ .quad .LVL10 # DW_AT_low_pc
+ .long 0x2780 # DW_AT_abstract_origin
+ .uleb128 0x1f # (DIE (0x2778) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x2 # DW_AT_GNU_call_site_value
+ .byte 0x73 # DW_OP_breg3
+ .sleb128 0
+ .byte 0 # end of children of DIE 0x276b
+ .byte 0 # end of children of DIE 0x24c3
+ .uleb128 0x8e # (DIE (0x2780) DW_TAG_subprogram)
+ # DW_AT_external
+ # DW_AT_declaration
+ .long .LASF2401 # DW_AT_linkage_name: "_Unwind_Resume"
+ .long .LASF2402 # DW_AT_name: "__builtin_unwind_resume"
+ .byte 0 # end of children of DIE 0xb
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x2 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x3 # (abbrev code)
+ .uleb128 0x8 # (TAG: DW_TAG_imported_declaration)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4 # (abbrev code)
+ .uleb128 0xf # (TAG: DW_TAG_pointer_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6 # (abbrev code)
+ .uleb128 0x10 # (TAG: DW_TAG_reference_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7 # (abbrev code)
+ .uleb128 0x26 # (TAG: DW_TAG_const_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x9 # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0xa # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0xb # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xc # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0xd # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xe # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xf # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x10 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x11 # (abbrev code)
+ .uleb128 0x8 # (TAG: DW_TAG_imported_declaration)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x12 # (abbrev code)
+ .uleb128 0x30 # (TAG: DW_TAG_template_value_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x13 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x14 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x15 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x16 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x17 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x18 # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x19 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1a # (abbrev code)
+ .uleb128 0x42 # (TAG: DW_TAG_rvalue_reference_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1d # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1f # (abbrev code)
+ .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x2111 # (DW_AT_GNU_call_site_value)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x20 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x21 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x22 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x23 # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x24 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x25 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x26 # (abbrev code)
+ .uleb128 0x18 # (TAG: DW_TAG_unspecified_parameters)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x27 # (abbrev code)
+ .uleb128 0x30 # (TAG: DW_TAG_template_value_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x28 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0x29 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0x2a # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2b # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2c # (abbrev code)
+ .uleb128 0x1c # (TAG: DW_TAG_inheritance)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2d # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x2e # (abbrev code)
+ .uleb128 0x1c # (TAG: DW_TAG_inheritance)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2f # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x30 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x31 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x32 # (abbrev code)
+ .uleb128 0x30 # (TAG: DW_TAG_template_value_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1e # (DW_AT_default_value)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x33 # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1e # (DW_AT_default_value)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x34 # (abbrev code)
+ .uleb128 0x28 # (TAG: DW_TAG_enumerator)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x35 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x36 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x37 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x89 # (DW_AT_export_symbols)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x38 # (abbrev code)
+ .uleb128 0x3a # (TAG: DW_TAG_imported_module)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x39 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x3a # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x3b # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x3c # (abbrev code)
+ .uleb128 0x2 # (TAG: DW_TAG_class_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3d # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8a # (DW_AT_deleted)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3f # (abbrev code)
+ .uleb128 0x2 # (TAG: DW_TAG_class_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x40 # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x41 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x42 # (abbrev code)
+ .uleb128 0x3a # (TAG: DW_TAG_imported_module)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x43 # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x44 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x45 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x46 # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x47 # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x48 # (abbrev code)
+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x25 # (DW_AT_producer)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x13 # (DW_AT_language)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1b # (DW_AT_comp_dir)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x10 # (DW_AT_stmt_list)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2119 # (DW_AT_GNU_macros)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x49 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4a # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4d # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4f # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x50 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x51 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x87 # (DW_AT_noreturn)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x52 # (abbrev code)
+ .uleb128 0x2 # (TAG: DW_TAG_class_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x53 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x54 # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x55 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0 # DW_children_no
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x56 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x57 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x58 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x59 # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x5a # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5d # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8a # (DW_AT_deleted)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8a # (DW_AT_deleted)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5f # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x60 # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1e # (DW_AT_default_value)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x61 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x62 # (abbrev code)
+ .uleb128 0x4 # (TAG: DW_TAG_enumeration_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x63 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x64 # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .byte 0
+ .byte 0
+ .uleb128 0x65 # (abbrev code)
+ .uleb128 0xf # (TAG: DW_TAG_pointer_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x66 # (abbrev code)
+ .uleb128 0x26 # (TAG: DW_TAG_const_type)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x67 # (abbrev code)
+ .uleb128 0x3b # (TAG: DW_TAG_unspecified_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0x68 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x69 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6a # (abbrev code)
+ .uleb128 0x17 # (TAG: DW_TAG_union_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6b # (abbrev code)
+ .uleb128 0x1 # (TAG: DW_TAG_array_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6c # (abbrev code)
+ .uleb128 0x21 # (TAG: DW_TAG_subrange_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2f # (DW_AT_upper_bound)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x6d # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x6e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0 # DW_children_no
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x6f # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x70 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x71 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x72 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x89 # (DW_AT_export_symbols)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x73 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x74 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x75 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x76 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x77 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x78 # (abbrev code)
+ .uleb128 0xb # (TAG: DW_TAG_lexical_block)
+ .byte 0x1 # DW_children_yes
+ .byte 0
+ .byte 0
+ .uleb128 0x79 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7a # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7b # (abbrev code)
+ .uleb128 0xb # (TAG: DW_TAG_lexical_block)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7c # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7d # (abbrev code)
+ .uleb128 0xb # (TAG: DW_TAG_lexical_block)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .byte 0
+ .byte 0
+ .uleb128 0x7e # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x7f # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2115 # (DW_AT_GNU_tail_call)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x80 # (abbrev code)
+ .uleb128 0x4108 # (TAG: DW_TAG_GNU_formal_parameter_pack)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x81 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x82 # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0 # DW_children_no
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x83 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x84 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x85 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x86 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x87 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x88 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x89 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8a # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x8b # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8c # (abbrev code)
+ .uleb128 0x410a # (TAG: DW_TAG_GNU_call_site_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x8d # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2115 # (DW_AT_GNU_tail_call)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0 # DW_children_no
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_loc,"",@progbits
+.Ldebug_loc0:
+.LVUS0:
+ .uleb128 0 # View list begin (*.LVUS0)
+ .uleb128 .LVU4 # View list end (*.LVUS0)
+ .uleb128 .LVU4 # View list begin (*.LVUS0)
+ .uleb128 0 # View list end (*.LVUS0)
+.LLST0:
+ .quad .LVL0 # Location list begin address (*.LLST0)
+ .quad .LVL1 # Location list end address (*.LLST0)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad .LVL1 # Location list begin address (*.LLST0)
+ .quad .LFE1565 # Location list end address (*.LLST0)
+ .value 0x4 # Location expression size
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST0)
+ .quad 0 # Location list terminator end (*.LLST0)
+.LVUS1:
+ .uleb128 .LVU2 # View list begin (*.LVUS1)
+ .uleb128 .LVU4 # View list end (*.LVUS1)
+ .uleb128 .LVU4 # View list begin (*.LVUS1)
+ .uleb128 0 # View list end (*.LVUS1)
+.LLST1:
+ .quad .LVL0 # Location list begin address (*.LLST1)
+ .quad .LVL1 # Location list end address (*.LLST1)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad .LVL1 # Location list begin address (*.LLST1)
+ .quad .LFE1565 # Location list end address (*.LLST1)
+ .value 0x4 # Location expression size
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST1)
+ .quad 0 # Location list terminator end (*.LLST1)
+.LVUS2:
+ .uleb128 .LVU1 # View list begin (*.LVUS2)
+ .uleb128 .LVU2 # View list end (*.LVUS2)
+.LLST2:
+ .quad .LVL0 # Location list begin address (*.LLST2)
+ .quad .LVL0 # Location list end address (*.LLST2)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad 0 # Location list terminator begin (*.LLST2)
+ .quad 0 # Location list terminator end (*.LLST2)
+.LVUS3:
+ .uleb128 .LVU5 # View list begin (*.LVUS3)
+ .uleb128 .LVU6 # View list end (*.LVUS3)
+.LLST3:
+ .quad .LVL2 # Location list begin address (*.LLST3)
+ .quad .LVL2 # Location list end address (*.LLST3)
+ .value 0x4 # Location expression size
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST3)
+ .quad 0 # Location list terminator end (*.LLST3)
+.LVUS4:
+ .uleb128 .LVU6 # View list begin (*.LVUS4)
+ .uleb128 .LVU9 # View list end (*.LVUS4)
+.LLST4:
+ .quad .LVL2 # Location list begin address (*.LLST4)
+ .quad .LVL3-1 # Location list end address (*.LLST4)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad 0 # Location list terminator begin (*.LLST4)
+ .quad 0 # Location list terminator end (*.LLST4)
+.LVUS5:
+ .uleb128 .LVU21 # View list begin (*.LVUS5)
+ .uleb128 .LVU35 # View list end (*.LVUS5)
+.LLST5:
+ .quad .LVL5 # Location list begin address (*.LLST5)
+ .quad .LVL6 # Location list end address (*.LLST5)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST5)
+ .quad 0 # Location list terminator end (*.LLST5)
+.LVUS6:
+ .uleb128 .LVU21 # View list begin (*.LVUS6)
+ .uleb128 .LVU35 # View list end (*.LVUS6)
+.LLST6:
+ .quad .LVL5 # Location list begin address (*.LLST6)
+ .quad .LVL6 # Location list end address (*.LLST6)
+ .value 0x1 # Location expression size
+ .byte 0x50 # DW_OP_reg0
+ .quad 0 # Location list terminator begin (*.LLST6)
+ .quad 0 # Location list terminator end (*.LLST6)
+.LVUS7:
+ .uleb128 .LVU22 # View list begin (*.LVUS7)
+ .uleb128 .LVU35 # View list end (*.LVUS7)
+.LLST7:
+ .quad .LVL5 # Location list begin address (*.LLST7)
+ .quad .LVL6 # Location list end address (*.LLST7)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST7)
+ .quad 0 # Location list terminator end (*.LLST7)
+.LVUS8:
+ .uleb128 .LVU22 # View list begin (*.LVUS8)
+ .uleb128 .LVU35 # View list end (*.LVUS8)
+.LLST8:
+ .quad .LVL5 # Location list begin address (*.LLST8)
+ .quad .LVL6 # Location list end address (*.LLST8)
+ .value 0x1 # Location expression size
+ .byte 0x50 # DW_OP_reg0
+ .quad 0 # Location list terminator begin (*.LLST8)
+ .quad 0 # Location list terminator end (*.LLST8)
+.LVUS9:
+ .uleb128 .LVU23 # View list begin (*.LVUS9)
+ .uleb128 .LVU35 # View list end (*.LVUS9)
+.LLST9:
+ .quad .LVL5 # Location list begin address (*.LLST9)
+ .quad .LVL6 # Location list end address (*.LLST9)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST9)
+ .quad 0 # Location list terminator end (*.LLST9)
+.LVUS10:
+ .uleb128 .LVU23 # View list begin (*.LVUS10)
+ .uleb128 .LVU35 # View list end (*.LVUS10)
+.LLST10:
+ .quad .LVL5 # Location list begin address (*.LLST10)
+ .quad .LVL6 # Location list end address (*.LLST10)
+ .value 0x1 # Location expression size
+ .byte 0x50 # DW_OP_reg0
+ .quad 0 # Location list terminator begin (*.LLST10)
+ .quad 0 # Location list terminator end (*.LLST10)
+.LVUS11:
+ .uleb128 .LVU24 # View list begin (*.LVUS11)
+ .uleb128 .LVU30 # View list end (*.LVUS11)
+.LLST11:
+ .quad .LVL5 # Location list begin address (*.LLST11)
+ .quad .LVL5 # Location list end address (*.LLST11)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST11)
+ .quad 0 # Location list terminator end (*.LLST11)
+.LVUS12:
+ .uleb128 .LVU25 # View list begin (*.LVUS12)
+ .uleb128 .LVU30 # View list end (*.LVUS12)
+.LLST12:
+ .quad .LVL5 # Location list begin address (*.LLST12)
+ .quad .LVL5 # Location list end address (*.LLST12)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST12)
+ .quad 0 # Location list terminator end (*.LLST12)
+.LVUS13:
+ .uleb128 .LVU26 # View list begin (*.LVUS13)
+ .uleb128 .LVU28 # View list end (*.LVUS13)
+.LLST13:
+ .quad .LVL5 # Location list begin address (*.LLST13)
+ .quad .LVL5 # Location list end address (*.LLST13)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST13)
+ .quad 0 # Location list terminator end (*.LLST13)
+.LVUS14:
+ .uleb128 .LVU27 # View list begin (*.LVUS14)
+ .uleb128 .LVU28 # View list end (*.LVUS14)
+.LLST14:
+ .quad .LVL5 # Location list begin address (*.LLST14)
+ .quad .LVL5 # Location list end address (*.LLST14)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST14)
+ .quad 0 # Location list terminator end (*.LLST14)
+.LVUS15:
+ .uleb128 .LVU28 # View list begin (*.LVUS15)
+ .uleb128 .LVU30 # View list end (*.LVUS15)
+.LLST15:
+ .quad .LVL5 # Location list begin address (*.LLST15)
+ .quad .LVL5 # Location list end address (*.LLST15)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST15)
+ .quad 0 # Location list terminator end (*.LLST15)
+.LVUS16:
+ .uleb128 .LVU30 # View list begin (*.LVUS16)
+ .uleb128 .LVU32 # View list end (*.LVUS16)
+.LLST16:
+ .quad .LVL5 # Location list begin address (*.LLST16)
+ .quad .LVL5 # Location list end address (*.LLST16)
+ .value 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST16)
+ .quad 0 # Location list terminator end (*.LLST16)
+ .section .debug_aranges,"",@progbits
+ .long 0x5c # Length of Address Ranges Info
+ .value 0x2 # DWARF aranges version
+ .long .Ldebug_info0 # Offset of Compilation Unit Info
+ .byte 0x8 # Size of Address
+ .byte 0 # Size of Segment Descriptor
+ .value 0 # Pad to 16 byte boundary
+ .value 0
+ .quad .Ltext0 # Address
+ .quad .Letext0-.Ltext0 # Length
+ .quad .Ltext_cold0 # Address
+ .quad .Letext_cold0-.Ltext_cold0 # Length
+ .quad .LFB1565 # Address
+ .quad .LFE1565-.LFB1565 # Length
+ .quad .LFB1555 # Address
+ .quad .LFE1555-.LFB1555 # Length
+ .quad 0
+ .quad 0
+ .section .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+ .quad .LFB1545 # Offset 0
+ .quad .LHOTE0
+ .quad .LFSB1545 # Offset 0x10
+ .quad .LCOLDE0
+ .quad 0
+ .quad 0
+ .quad .LBB149 # Offset 0x30
+ .quad .LBE149
+ .quad .LBB166
+ .quad .LBE166
+ .quad 0
+ .quad 0
+ .quad .LBB151 # Offset 0x60
+ .quad .LBE151
+ .quad .LBB164
+ .quad .LBE164
+ .quad 0
+ .quad 0
+ .quad .Ltext0 # Offset 0x90
+ .quad .Letext0
+ .quad .Ltext_cold0 # Offset 0xa0
+ .quad .Letext_cold0
+ .quad .LFB1565 # Offset 0xb0
+ .quad .LFE1565
+ .quad .LFB1555 # Offset 0xc0
+ .quad .LFE1555
+ .quad 0
+ .quad 0
+ .section .debug_macro,"",@progbits
+.Ldebug_macro0:
+ .value 0x4 # DWARF macro version number
+ .byte 0x2 # Flags: 32-bit, lineptr present
+ .long .Ldebug_line0
+ .byte 0x7 # Import
+ .long .Ldebug_macro2
+ .byte 0x3 # Start new file
+ .uleb128 0 # Included from line number 0
+ .uleb128 0x1 # file dwarf.cc
+ .file 25 "/usr/include/stdc-predef.h"
+ .byte 0x3 # Start new file
+ .uleb128 0 # Included from line number 0
+ .uleb128 0x19 # file /usr/include/stdc-predef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro3
+ .byte 0x4 # End file
+ .file 26 "/usr/include/c++/15/memory"
+ .byte 0x3 # Start new file
+ .uleb128 0x1 # Included from line number 1
+ .uleb128 0x1a # file /usr/include/c++/15/memory
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF469 # The macro: "_GLIBCXX_MEMORY 1"
+ .file 27 "/usr/include/c++/15/bits/memoryfwd.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x41 # Included from line number 65
+ .uleb128 0x1b # file /usr/include/c++/15/bits/memoryfwd.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF470 # The macro: "_MEMORYFWD_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x32 # Included from line number 50
+ .uleb128 0x7 # file /usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF471 # The macro: "_CPP_CPPCONFIG_WRAPPER 1"
+ .file 28 "/usr/include/bits/wordsize.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3 # Included from line number 3
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro5
+ .file 29 "/usr/include/c++/15/x86_64-redhat-linux/bits/os_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa51 # Included from line number 2641
+ .uleb128 0x1d # file /usr/include/c++/15/x86_64-redhat-linux/bits/os_defines.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro6
+ .file 30 "/usr/include/features.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x1e # file /usr/include/features.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro7
+ .file 31 "/usr/include/features-time64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x19f # Included from line number 415
+ .uleb128 0x1f # file /usr/include/features-time64.h
+ .byte 0x3 # Start new file
+ .uleb128 0x14 # Included from line number 20
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .file 32 "/usr/include/bits/timesize.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x15 # Included from line number 21
+ .uleb128 0x20 # file /usr/include/bits/timesize.h
+ .byte 0x3 # Start new file
+ .uleb128 0x13 # Included from line number 19
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF636 # The macro: "__TIMESIZE __WORDSIZE"
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF637 # The macro: "__USE_TIME_BITS64 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro8
+ .file 33 "/usr/include/sys/cdefs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x20c # Included from line number 524
+ .uleb128 0x21 # file /usr/include/sys/cdefs.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro9
+ .byte 0x3 # Start new file
+ .uleb128 0x2da # Included from line number 730
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .file 34 "/usr/include/bits/long-double.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2db # Included from line number 731
+ .uleb128 0x22 # file /usr/include/bits/long-double.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF717 # The macro: "__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro10
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21c # At line number 540
+ .long .LASF736 # The macro: "__USE_EXTERN_INLINES 1"
+ .file 35 "/usr/include/gnu/stubs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x224 # Included from line number 548
+ .uleb128 0x23 # file /usr/include/gnu/stubs.h
+ .file 36 "/usr/include/gnu/stubs-64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa # Included from line number 10
+ .uleb128 0x24 # file /usr/include/gnu/stubs-64.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro11
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro12
+ .byte 0x4 # End file
+ .file 37 "/usr/include/c++/15/x86_64-redhat-linux/bits/cpu_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa54 # Included from line number 2644
+ .uleb128 0x25 # file /usr/include/c++/15/x86_64-redhat-linux/bits/cpu_defines.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF751 # The macro: "_GLIBCXX_CPU_DEFINES 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro13
+ .file 38 "/usr/include/c++/15/pstl/pstl_config.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xb2f # Included from line number 2863
+ .uleb128 0x26 # file /usr/include/c++/15/pstl/pstl_config.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro14
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro15
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 39 "/usr/include/c++/15/bits/allocator.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x43 # Included from line number 67
+ .uleb128 0x27 # file /usr/include/c++/15/bits/allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1066 # The macro: "_ALLOCATOR_H 1"
+ .file 40 "/usr/include/c++/15/x86_64-redhat-linux/bits/c++allocator.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2e # Included from line number 46
+ .uleb128 0x28 # file /usr/include/c++/15/x86_64-redhat-linux/bits/c++allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1067 # The macro: "_GLIBCXX_CXX_ALLOCATOR_H 1"
+ .file 41 "/usr/include/c++/15/bits/new_allocator.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x29 # file /usr/include/c++/15/bits/new_allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1068 # The macro: "_STD_NEW_ALLOCATOR_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x22 # Included from line number 34
+ .uleb128 0x17 # file /usr/include/c++/15/new
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1069 # The macro: "_NEW "
+ .file 42 "/usr/include/c++/15/bits/exception.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x2a # file /usr/include/c++/15/bits/exception.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1070 # The macro: "__EXCEPTION_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro16
+ .file 43 "/usr/include/c++/15/bits/version.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x31 # Included from line number 49
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro17
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro18
+ .byte 0x4 # End file
+ .file 44 "/usr/include/c++/15/bits/functexcept.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x2c # file /usr/include/c++/15/bits/functexcept.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1354 # The macro: "_FUNCTEXCEPT_H 1"
+ .file 45 "/usr/include/c++/15/bits/exception_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x2d # file /usr/include/c++/15/bits/exception_defines.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro19
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 46 "/usr/include/c++/15/bits/move.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x2e # file /usr/include/c++/15/bits/move.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1359 # The macro: "_MOVE_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x4 # file /usr/include/c++/15/type_traits
+ .byte 0x7 # Import
+ .long .Ldebug_macro20
+ .byte 0x3 # Start new file
+ .uleb128 0x42 # Included from line number 66
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro21
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb65 # At line number 2917
+ .long .LASF1398 # The macro: "_GLIBCXX_HAS_NESTED_TYPE(_NTYPE) template<typename _Tp, typename = __void_t<>> struct __has_ ##_NTYPE : false_type { }; template<typename _Tp> struct __has_ ##_NTYPE<_Tp, __void_t<typename _Tp::_NTYPE>> : true_type { };"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro22
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro23
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x129 # At line number 297
+ .long .LASF1408 # The macro: "__allocator_base"
+ .byte 0x4 # End file
+ .file 47 "/usr/include/c++/15/bits/stl_tempbuf.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x44 # Included from line number 68
+ .uleb128 0x2f # file /usr/include/c++/15/bits/stl_tempbuf.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1409 # The macro: "_STL_TEMPBUF_H 1"
+ .file 48 "/usr/include/c++/15/bits/stl_construct.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x30 # file /usr/include/c++/15/bits/stl_construct.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1410 # The macro: "_STL_CONSTRUCT_H 1"
+ .file 49 "/usr/include/c++/15/bits/stl_iterator_base_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x31 # file /usr/include/c++/15/bits/stl_iterator_base_types.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro24
+ .byte 0x4 # End file
+ .file 50 "/usr/include/c++/15/bits/stl_iterator_base_funcs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0x32 # file /usr/include/c++/15/bits/stl_iterator_base_funcs.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1414 # The macro: "_STL_ITERATOR_BASE_FUNCS_H 1"
+ .file 51 "/usr/include/c++/15/bits/concept_check.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x42 # Included from line number 66
+ .uleb128 0x33 # file /usr/include/c++/15/bits/concept_check.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro25
+ .byte 0x4 # End file
+ .file 52 "/usr/include/c++/15/debug/assertions.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x43 # Included from line number 67
+ .uleb128 0x34 # file /usr/include/c++/15/debug/assertions.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro26
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 53 "/usr/include/c++/15/bits/stl_pair.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0x35 # file /usr/include/c++/15/bits/stl_pair.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1428 # The macro: "_STL_PAIR_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0xb # file /usr/include/c++/15/bits/utility.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1429 # The macro: "_GLIBCXX_UTILITY_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro27
+ .byte 0x4 # End file
+ .file 54 "/usr/include/c++/15/ext/numeric_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x36 # file /usr/include/c++/15/ext/numeric_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1434 # The macro: "_EXT_NUMERIC_TRAITS 1"
+ .file 55 "/usr/include/c++/15/bits/cpp_type_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x37 # file /usr/include/c++/15/bits/cpp_type_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1435 # The macro: "_CPP_TYPE_TRAITS_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro29
+ .byte 0x4 # End file
+ .file 56 "/usr/include/c++/15/ext/type_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x38 # file /usr/include/c++/15/ext/type_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1438 # The macro: "_EXT_TYPE_TRAITS 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro30
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro31
+ .byte 0x4 # End file
+ .file 57 "/usr/include/c++/15/bits/stl_uninitialized.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x47 # Included from line number 71
+ .uleb128 0x39 # file /usr/include/c++/15/bits/stl_uninitialized.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1450 # The macro: "_STL_UNINITIALIZED_H 1"
+ .file 58 "/usr/include/c++/15/bits/ptr_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x3a # file /usr/include/c++/15/bits/ptr_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1451 # The macro: "_PTR_TRAITS_H 1"
+ .byte 0x4 # End file
+ .file 59 "/usr/include/c++/15/bits/stl_algobase.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x3b # file /usr/include/c++/15/bits/stl_algobase.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1452 # The macro: "_STL_ALGOBASE_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x43 # Included from line number 67
+ .uleb128 0xd # file /usr/include/c++/15/bits/stl_iterator.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro32
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x45 # Included from line number 69
+ .uleb128 0x5 # file /usr/include/c++/15/debug/debug.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro33
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x47 # Included from line number 71
+ .uleb128 0xc # file /usr/include/c++/15/bits/predefined_ops.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1478 # The macro: "_GLIBCXX_PREDEFINED_OPS_H 1"
+ .byte 0x4 # End file
+ .file 60 "/usr/include/c++/15/bit"
+ .byte 0x3 # Start new file
+ .uleb128 0x4c # Included from line number 76
+ .uleb128 0x3c # file /usr/include/c++/15/bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1479 # The macro: "_GLIBCXX_BIT 1"
+ .file 61 "/usr/include/c++/15/concepts"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x3d # file /usr/include/c++/15/concepts
+ .byte 0x7 # Import
+ .long .Ldebug_macro34
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro35
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro36
+ .byte 0x4 # End file
+ .file 62 "/usr/include/c++/15/ext/alloc_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x45 # Included from line number 69
+ .uleb128 0x3e # file /usr/include/c++/15/ext/alloc_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1493 # The macro: "_EXT_ALLOC_TRAITS_H 1"
+ .file 63 "/usr/include/c++/15/bits/alloc_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x3f # file /usr/include/c++/15/bits/alloc_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1494 # The macro: "_ALLOC_TRAITS_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 64 "/usr/include/c++/15/bits/stl_raw_storage_iter.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x48 # Included from line number 72
+ .uleb128 0x40 # file /usr/include/c++/15/bits/stl_raw_storage_iter.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1495 # The macro: "_STL_RAW_STORAGE_ITERATOR_H 1"
+ .byte 0x4 # End file
+ .file 65 "/usr/include/c++/15/bits/align.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x4c # Included from line number 76
+ .uleb128 0x41 # file /usr/include/c++/15/bits/align.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1496 # The macro: "_GLIBCXX_ALIGN_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x4d # Included from line number 77
+ .uleb128 0x6 # file /usr/include/c++/15/bits/uses_allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1497 # The macro: "_USES_ALLOCATOR_H 1"
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x50 # Included from line number 80
+ .uleb128 0x2 # file /usr/include/c++/15/bits/unique_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1498 # The macro: "_UNIQUE_PTR_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x3 # file /usr/include/c++/15/tuple
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1499 # The macro: "_GLIBCXX_TUPLE 1"
+ .file 66 "/usr/include/c++/15/bits/invoke.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x42 # file /usr/include/c++/15/bits/invoke.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1500 # The macro: "_GLIBCXX_INVOKE_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro37
+ .byte 0x3 # Start new file
+ .uleb128 0x39 # Included from line number 57
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro38
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro39
+ .byte 0x4 # End file
+ .file 67 "/usr/include/c++/15/bits/stl_function.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x43 # file /usr/include/c++/15/bits/stl_function.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1514 # The macro: "_STL_FUNCTION_H 1"
+ .file 68 "/usr/include/c++/15/backward/binders.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5a1 # Included from line number 1441
+ .uleb128 0x44 # file /usr/include/c++/15/backward/binders.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1515 # The macro: "_BACKWARD_BINDERS_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 69 "/usr/include/c++/15/bits/functional_hash.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x45 # file /usr/include/c++/15/bits/functional_hash.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1516 # The macro: "_FUNCTIONAL_HASH_H 1"
+ .file 70 "/usr/include/c++/15/bits/hash_bytes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x46 # file /usr/include/c++/15/bits/hash_bytes.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1517 # The macro: "_HASH_BYTES_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro40
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 71 "/usr/include/c++/15/bits/shared_ptr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x52 # Included from line number 82
+ .uleb128 0x47 # file /usr/include/c++/15/bits/shared_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1520 # The macro: "_SHARED_PTR_H 1"
+ .file 72 "/usr/include/c++/15/iosfwd"
+ .byte 0x3 # Start new file
+ .uleb128 0x34 # Included from line number 52
+ .uleb128 0x48 # file /usr/include/c++/15/iosfwd
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1521 # The macro: "_GLIBCXX_IOSFWD 1"
+ .file 73 "/usr/include/c++/15/bits/requires_hosted.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x49 # file /usr/include/c++/15/bits/requires_hosted.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1522 # The macro: "_REQUIRES_FREESTANDING_H 1"
+ .byte 0x4 # End file
+ .file 74 "/usr/include/c++/15/bits/stringfwd.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x4a # file /usr/include/c++/15/bits/stringfwd.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1523 # The macro: "_STRINGFWD_H 1"
+ .byte 0x4 # End file
+ .file 75 "/usr/include/c++/15/bits/postypes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2c # Included from line number 44
+ .uleb128 0x4b # file /usr/include/c++/15/bits/postypes.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1524 # The macro: "_GLIBCXX_POSTYPES_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x2a # Included from line number 42
+ .uleb128 0x8 # file /usr/include/c++/15/cwchar
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1525 # The macro: "_GLIBCXX_CWCHAR 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x31 # Included from line number 49
+ .uleb128 0x14 # file /usr/include/wchar.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro41
+ .file 76 "/usr/include/bits/libc-header-start.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1b # Included from line number 27
+ .uleb128 0x4c # file /usr/include/bits/libc-header-start.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro42
+ .byte 0x4 # End file
+ .file 77 "/usr/include/bits/floatn.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1e # Included from line number 30
+ .uleb128 0x4d # file /usr/include/bits/floatn.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro43
+ .file 78 "/usr/include/bits/floatn-common.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x83 # Included from line number 131
+ .uleb128 0x4e # file /usr/include/bits/floatn-common.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1550 # The macro: "_BITS_FLOATN_COMMON_H "
+ .byte 0x3 # Start new file
+ .uleb128 0x18 # Included from line number 24
+ .uleb128 0x22 # file /usr/include/bits/long-double.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF717 # The macro: "__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro44
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro45
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro46
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1615 # The macro: "__need___va_list "
+ .file 79 "/usr/lib/gcc/x86_64-redhat-linux/15/include/stdarg.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x4f # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stdarg.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro47
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1618 # The macro: "_VA_LIST_DEFINED "
+ .file 80 "/usr/include/bits/wchar.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x33 # Included from line number 51
+ .uleb128 0x50 # file /usr/include/bits/wchar.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro48
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x34 # Included from line number 52
+ .uleb128 0x10 # file /usr/include/bits/types/wint_t.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro49
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x35 # Included from line number 53
+ .uleb128 0x12 # file /usr/include/bits/types/mbstate_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1624 # The macro: "__mbstate_t_defined 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x4 # Included from line number 4
+ .uleb128 0x11 # file /usr/include/bits/types/__mbstate_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1625 # The macro: "____mbstate_t_defined 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x36 # Included from line number 54
+ .uleb128 0x13 # file /usr/include/bits/types/__FILE.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1626 # The macro: "____FILE_defined 1"
+ .byte 0x4 # End file
+ .file 81 "/usr/include/bits/types/FILE.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x39 # Included from line number 57
+ .uleb128 0x51 # file /usr/include/bits/types/FILE.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1627 # The macro: "__FILE_defined 1"
+ .byte 0x4 # End file
+ .file 82 "/usr/include/bits/types/locale_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3c # Included from line number 60
+ .uleb128 0x52 # file /usr/include/bits/types/locale_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1628 # The macro: "_BITS_TYPES_LOCALE_T_H 1"
+ .file 83 "/usr/include/bits/types/__locale_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x16 # Included from line number 22
+ .uleb128 0x53 # file /usr/include/bits/types/__locale_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1629 # The macro: "_BITS_TYPES___LOCALE_T_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro50
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro51
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x35 # Included from line number 53
+ .uleb128 0xa # file /usr/include/c++/15/bits/shared_ptr_base.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1694 # The macro: "_SHARED_PTR_BASE_H 1"
+ .file 84 "/usr/include/c++/15/typeinfo"
+ .byte 0x3 # Start new file
+ .uleb128 0x34 # Included from line number 52
+ .uleb128 0x54 # file /usr/include/c++/15/typeinfo
+ .byte 0x7 # Import
+ .long .Ldebug_macro52
+ .byte 0x3 # Start new file
+ .uleb128 0x2a # Included from line number 42
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro53
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro54
+ .byte 0x4 # End file
+ .file 85 "/usr/include/c++/15/bits/allocated_ptr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x35 # Included from line number 53
+ .uleb128 0x55 # file /usr/include/c++/15/bits/allocated_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1699 # The macro: "_ALLOCATED_PTR_H 1"
+ .byte 0x4 # End file
+ .file 86 "/usr/include/c++/15/bits/refwrap.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x39 # Included from line number 57
+ .uleb128 0x56 # file /usr/include/c++/15/bits/refwrap.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro55
+ .byte 0x4 # End file
+ .file 87 "/usr/include/c++/15/ext/aligned_buffer.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3c # Included from line number 60
+ .uleb128 0x57 # file /usr/include/c++/15/ext/aligned_buffer.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1705 # The macro: "_ALIGNED_BUFFER_H 1"
+ .byte 0x4 # End file
+ .file 88 "/usr/include/c++/15/ext/atomicity.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x58 # file /usr/include/c++/15/ext/atomicity.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1706 # The macro: "_GLIBCXX_ATOMICITY_H 1"
+ .file 89 "/usr/include/c++/15/x86_64-redhat-linux/bits/gthr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x59 # file /usr/include/c++/15/x86_64-redhat-linux/bits/gthr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1707 # The macro: "_GLIBCXX_GCC_GTHR_H "
+ .file 90 "/usr/include/c++/15/x86_64-redhat-linux/bits/gthr-default.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x9d # Included from line number 157
+ .uleb128 0x5a # file /usr/include/c++/15/x86_64-redhat-linux/bits/gthr-default.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro56
+ .file 91 "/usr/include/pthread.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x5b # file /usr/include/pthread.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF1711 # The macro: "_PTHREAD_H 1"
+ .file 92 "/usr/include/sched.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x16 # Included from line number 22
+ .uleb128 0x5c # file /usr/include/sched.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1712 # The macro: "_SCHED_H 1"
+ .file 93 "/usr/include/bits/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x19 # Included from line number 25
+ .uleb128 0x5d # file /usr/include/bits/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1713 # The macro: "_BITS_TYPES_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x1b # Included from line number 27
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x1c # Included from line number 28
+ .uleb128 0x20 # file /usr/include/bits/timesize.h
+ .byte 0x3 # Start new file
+ .uleb128 0x13 # Included from line number 19
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF636 # The macro: "__TIMESIZE __WORDSIZE"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro57
+ .file 94 "/usr/include/bits/typesizes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x8d # Included from line number 141
+ .uleb128 0x5e # file /usr/include/bits/typesizes.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro58
+ .byte 0x4 # End file
+ .file 95 "/usr/include/bits/time64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x8e # Included from line number 142
+ .uleb128 0x5f # file /usr/include/bits/time64.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro59
+ .byte 0x4 # End file
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1773 # The macro: "__STD_TYPE"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro60
+ .byte 0x3 # Start new file
+ .uleb128 0x1d # Included from line number 29
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro61
+ .byte 0x4 # End file
+ .file 96 "/usr/include/bits/types/time_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1f # Included from line number 31
+ .uleb128 0x60 # file /usr/include/bits/types/time_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1774 # The macro: "__time_t_defined 1"
+ .byte 0x4 # End file
+ .file 97 "/usr/include/bits/types/struct_timespec.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x20 # Included from line number 32
+ .uleb128 0x61 # file /usr/include/bits/types/struct_timespec.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1775 # The macro: "_STRUCT_TIMESPEC 1"
+ .file 98 "/usr/include/bits/endian.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x6 # Included from line number 6
+ .uleb128 0x62 # file /usr/include/bits/endian.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro62
+ .file 99 "/usr/include/bits/endianness.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x63 # file /usr/include/bits/endianness.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro63
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro64
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF1784 # The macro: "__pid_t_defined "
+ .file 100 "/usr/include/bits/sched.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x64 # file /usr/include/bits/sched.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro65
+ .file 101 "/usr/include/linux/sched/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x65 # file /usr/include/linux/sched/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1806 # The macro: "_LINUX_SCHED_TYPES_H "
+ .file 102 "/usr/include/linux/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5 # Included from line number 5
+ .uleb128 0x66 # file /usr/include/linux/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1807 # The macro: "_LINUX_TYPES_H "
+ .file 103 "/usr/include/asm/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5 # Included from line number 5
+ .uleb128 0x67 # file /usr/include/asm/types.h
+ .file 104 "/usr/include/asm-generic/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1 # Included from line number 1
+ .uleb128 0x68 # file /usr/include/asm-generic/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1808 # The macro: "_ASM_GENERIC_TYPES_H "
+ .file 105 "/usr/include/asm-generic/int-ll64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x7 # Included from line number 7
+ .uleb128 0x69 # file /usr/include/asm-generic/int-ll64.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa # At line number 10
+ .long .LASF1809 # The macro: "_ASM_GENERIC_INT_LL64_H "
+ .file 106 "/usr/include/asm/bitsperlong.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xc # Included from line number 12
+ .uleb128 0x6a # file /usr/include/asm/bitsperlong.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro66
+ .file 107 "/usr/include/asm-generic/bitsperlong.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xb # Included from line number 11
+ .uleb128 0x6b # file /usr/include/asm-generic/bitsperlong.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro67
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 108 "/usr/include/linux/posix_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x9 # Included from line number 9
+ .uleb128 0x6c # file /usr/include/linux/posix_types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1814 # The macro: "_LINUX_POSIX_TYPES_H "
+ .file 109 "/usr/include/linux/stddef.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5 # Included from line number 5
+ .uleb128 0x6d # file /usr/include/linux/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro68
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro69
+ .file 110 "/usr/include/asm/posix_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x6e # file /usr/include/asm/posix_types.h
+ .file 111 "/usr/include/asm/posix_types_64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x7 # Included from line number 7
+ .uleb128 0x6f # file /usr/include/asm/posix_types_64.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro70
+ .file 112 "/usr/include/asm-generic/posix_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x12 # Included from line number 18
+ .uleb128 0x70 # file /usr/include/asm-generic/posix_types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1826 # The macro: "__ASM_GENERIC_POSIX_TYPES_H "
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro71
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro72
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro73
+ .file 113 "/usr/include/bits/types/struct_sched_param.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x7e # Included from line number 126
+ .uleb128 0x71 # file /usr/include/bits/types/struct_sched_param.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1862 # The macro: "_BITS_TYPES_STRUCT_SCHED_PARAM 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 114 "/usr/include/bits/cpu-set.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2c # Included from line number 44
+ .uleb128 0x72 # file /usr/include/bits/cpu-set.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro74
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro75
+ .byte 0x4 # End file
+ .file 115 "/usr/include/time.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x17 # Included from line number 23
+ .uleb128 0x73 # file /usr/include/time.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro76
+ .byte 0x3 # Start new file
+ .uleb128 0x1d # Included from line number 29
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro61
+ .byte 0x4 # End file
+ .file 116 "/usr/include/bits/time.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x74 # file /usr/include/bits/time.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro77
+ .file 117 "/usr/include/bits/timex.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x49 # Included from line number 73
+ .uleb128 0x75 # file /usr/include/bits/timex.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF1917 # The macro: "_BITS_TIMEX_H 1"
+ .file 118 "/usr/include/bits/types/struct_timeval.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x16 # Included from line number 22
+ .uleb128 0x76 # file /usr/include/bits/types/struct_timeval.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1918 # The macro: "__timeval_defined 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro78
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 119 "/usr/include/bits/types/clock_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x77 # file /usr/include/bits/types/clock_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1960 # The macro: "__clock_t_defined 1"
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x15 # file /usr/include/bits/types/struct_tm.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1961 # The macro: "__struct_tm_defined 1"
+ .byte 0x4 # End file
+ .file 120 "/usr/include/bits/types/clockid_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2e # Included from line number 46
+ .uleb128 0x78 # file /usr/include/bits/types/clockid_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1962 # The macro: "__clockid_t_defined 1"
+ .byte 0x4 # End file
+ .file 121 "/usr/include/bits/types/timer_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2f # Included from line number 47
+ .uleb128 0x79 # file /usr/include/bits/types/timer_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1963 # The macro: "__timer_t_defined 1"
+ .byte 0x4 # End file
+ .file 122 "/usr/include/bits/types/struct_itimerspec.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x30 # Included from line number 48
+ .uleb128 0x7a # file /usr/include/bits/types/struct_itimerspec.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1964 # The macro: "__itimerspec_defined 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro79
+ .byte 0x4 # End file
+ .file 123 "/usr/include/bits/pthreadtypes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1a # Included from line number 26
+ .uleb128 0x7b # file /usr/include/bits/pthreadtypes.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1967 # The macro: "_BITS_PTHREADTYPES_COMMON_H 1"
+ .file 124 "/usr/include/bits/thread-shared-types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x17 # Included from line number 23
+ .uleb128 0x7c # file /usr/include/bits/thread-shared-types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1968 # The macro: "_THREAD_SHARED_TYPES_H 1"
+ .file 125 "/usr/include/bits/pthreadtypes-arch.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2c # Included from line number 44
+ .uleb128 0x7d # file /usr/include/bits/pthreadtypes-arch.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF1969 # The macro: "_BITS_PTHREADTYPES_ARCH_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x15 # Included from line number 21
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro80
+ .byte 0x4 # End file
+ .file 126 "/usr/include/bits/atomic_wide_counter.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2e # Included from line number 46
+ .uleb128 0x7e # file /usr/include/bits/atomic_wide_counter.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1981 # The macro: "_BITS_ATOMIC_WIDE_COUNTER_H "
+ .byte 0x4 # End file
+ .file 127 "/usr/include/bits/struct_mutex.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x4c # Included from line number 76
+ .uleb128 0x7f # file /usr/include/bits/struct_mutex.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro81
+ .byte 0x4 # End file
+ .file 128 "/usr/include/bits/struct_rwlock.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x59 # Included from line number 89
+ .uleb128 0x80 # file /usr/include/bits/struct_rwlock.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro82
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1988 # The macro: "__ONCE_FLAG_INIT { 0 }"
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1989 # The macro: "__have_pthread_attr_t 1"
+ .byte 0x4 # End file
+ .file 129 "/usr/include/bits/setjmp.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1b # Included from line number 27
+ .uleb128 0x81 # file /usr/include/bits/setjmp.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1990 # The macro: "_BITS_SETJMP_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x1a # Included from line number 26
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x1c # Included from line number 28
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .file 130 "/usr/include/bits/types/__sigset_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1e # Included from line number 30
+ .uleb128 0x82 # file /usr/include/bits/types/__sigset_t.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro83
+ .byte 0x4 # End file
+ .file 131 "/usr/include/bits/types/struct___jmp_buf_tag.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1f # Included from line number 31
+ .uleb128 0x83 # file /usr/include/bits/types/struct___jmp_buf_tag.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1993 # The macro: "__jmp_buf_tag_defined 1"
+ .byte 0x4 # End file
+ .file 132 "/usr/include/bits/pthread_stack_min-dynamic.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x84 # file /usr/include/bits/pthread_stack_min-dynamic.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro84
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro85
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro86
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 133 "/usr/include/c++/15/x86_64-redhat-linux/bits/atomic_word.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x85 # file /usr/include/c++/15/x86_64-redhat-linux/bits/atomic_word.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro87
+ .byte 0x4 # End file
+ .file 134 "/usr/include/sys/single_threaded.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x86 # file /usr/include/sys/single_threaded.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF2041 # The macro: "_SYS_SINGLE_THREADED_H "
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0x18 # file /usr/include/c++/15/ext/concurrence.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF2042 # The macro: "_CONCURRENCE_H 1"
+ .file 135 "/usr/include/c++/15/exception"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x87 # file /usr/include/c++/15/exception
+ .byte 0x7 # Import
+ .long .Ldebug_macro88
+ .byte 0x3 # Start new file
+ .uleb128 0x29 # Included from line number 41
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro89
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0xa8 # Included from line number 168
+ .uleb128 0x9 # file /usr/include/c++/15/bits/exception_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF2046 # The macro: "_EXCEPTION_PTR_H "
+ .file 136 "/usr/include/c++/15/bits/cxxabi_init_exception.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x88 # file /usr/include/c++/15/bits/cxxabi_init_exception.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF2047 # The macro: "_CXXABI_INIT_EXCEPTION_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro90
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro91
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro92
+ .byte 0x4 # End file
+ .file 137 "/usr/include/c++/15/bits/nested_exception.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa9 # Included from line number 169
+ .uleb128 0x89 # file /usr/include/c++/15/bits/nested_exception.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2070 # The macro: "_GLIBCXX_NESTED_EXCEPTION_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 138 "/usr/include/c++/15/bits/shared_ptr_atomic.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x53 # Included from line number 83
+ .uleb128 0x8a # file /usr/include/c++/15/bits/shared_ptr_atomic.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2071 # The macro: "_SHARED_PTR_ATOMIC_H 1"
+ .file 139 "/usr/include/c++/15/bits/atomic_base.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x8b # file /usr/include/c++/15/bits/atomic_base.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2072 # The macro: "_GLIBCXX_ATOMIC_BASE_H 1"
+ .file 140 "/usr/include/c++/15/bits/atomic_lockfree_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x8c # file /usr/include/c++/15/bits/atomic_lockfree_defines.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro93
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF2084 # The macro: "_GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__))"
+ .byte 0x3 # Start new file
+ .uleb128 0x32 # Included from line number 50
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro94
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro95
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro96
+ .byte 0x4 # End file
+ .file 141 "/usr/include/c++/15/backward/auto_ptr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x58 # Included from line number 88
+ .uleb128 0x8d # file /usr/include/c++/15/backward/auto_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2096 # The macro: "_BACKWARD_AUTO_PTR_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro97
+ .byte 0x3 # Start new file
+ .uleb128 0x75 # Included from line number 117
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro98
+ .byte 0x4 # End file
+ .file 142 "/usr/include/c++/15/pstl/glue_memory_defs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xad # Included from line number 173
+ .uleb128 0x8e # file /usr/include/c++/15/pstl/glue_memory_defs.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF2122 # The macro: "_PSTL_GLUE_MEMORY_DEFS_H "
+ .byte 0x3 # Start new file
+ .uleb128 0xd # Included from line number 13
+ .uleb128 0x16 # file /usr/include/c++/15/pstl/execution_defs.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF2123 # The macro: "_PSTL_EXECUTION_POLICY_DEFS_H "
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.0.6d6edf9739a27cf28f5b627df695fc9e,comdat
+.Ldebug_macro2:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF0 # The macro: "__STDC__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF1 # The macro: "__cplusplus 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF2 # The macro: "__STDC_UTF_16__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF3 # The macro: "__STDC_UTF_32__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF4 # The macro: "__STDC_HOSTED__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF5 # The macro: "__STDC_EMBED_NOT_FOUND__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF6 # The macro: "__STDC_EMBED_FOUND__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF7 # The macro: "__STDC_EMBED_EMPTY__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF8 # The macro: "__GNUC__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF9 # The macro: "__GNUC_MINOR__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF10 # The macro: "__GNUC_PATCHLEVEL__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF11 # The macro: "__VERSION__ "15.1.1 20250425 (Red Hat 15.1.1-1)""
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF12 # The macro: "__GNUC_RH_RELEASE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF13 # The macro: "__ATOMIC_RELAXED 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF14 # The macro: "__ATOMIC_SEQ_CST 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF15 # The macro: "__ATOMIC_ACQUIRE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF16 # The macro: "__ATOMIC_RELEASE 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF17 # The macro: "__ATOMIC_ACQ_REL 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF18 # The macro: "__ATOMIC_CONSUME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF19 # The macro: "__OPTIMIZE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF20 # The macro: "__FINITE_MATH_ONLY__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF21 # The macro: "_LP64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF22 # The macro: "__LP64__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF23 # The macro: "__SIZEOF_INT__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF24 # The macro: "__SIZEOF_LONG__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF25 # The macro: "__SIZEOF_LONG_LONG__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF26 # The macro: "__SIZEOF_SHORT__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF27 # The macro: "__SIZEOF_FLOAT__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF28 # The macro: "__SIZEOF_DOUBLE__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF29 # The macro: "__SIZEOF_LONG_DOUBLE__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF30 # The macro: "__SIZEOF_SIZE_T__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF31 # The macro: "__CHAR_BIT__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF32 # The macro: "__BIGGEST_ALIGNMENT__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF33 # The macro: "__ORDER_LITTLE_ENDIAN__ 1234"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF34 # The macro: "__ORDER_BIG_ENDIAN__ 4321"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF35 # The macro: "__ORDER_PDP_ENDIAN__ 3412"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF36 # The macro: "__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF37 # The macro: "__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF38 # The macro: "__SIZEOF_POINTER__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF39 # The macro: "__GNUC_EXECUTION_CHARSET_NAME "UTF-8""
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF40 # The macro: "__GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE""
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF41 # The macro: "__GNUG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF42 # The macro: "__SIZE_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF43 # The macro: "__PTRDIFF_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF44 # The macro: "__WCHAR_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF45 # The macro: "__WINT_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF46 # The macro: "__INTMAX_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF47 # The macro: "__UINTMAX_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF48 # The macro: "__CHAR16_TYPE__ short unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF49 # The macro: "__CHAR32_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF50 # The macro: "__SIG_ATOMIC_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF51 # The macro: "__INT8_TYPE__ signed char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF52 # The macro: "__INT16_TYPE__ short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF53 # The macro: "__INT32_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF54 # The macro: "__INT64_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF55 # The macro: "__UINT8_TYPE__ unsigned char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF56 # The macro: "__UINT16_TYPE__ short unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF57 # The macro: "__UINT32_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF58 # The macro: "__UINT64_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF59 # The macro: "__INT_LEAST8_TYPE__ signed char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF60 # The macro: "__INT_LEAST16_TYPE__ short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF61 # The macro: "__INT_LEAST32_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF62 # The macro: "__INT_LEAST64_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF63 # The macro: "__UINT_LEAST8_TYPE__ unsigned char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF64 # The macro: "__UINT_LEAST16_TYPE__ short unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF65 # The macro: "__UINT_LEAST32_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF66 # The macro: "__UINT_LEAST64_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF67 # The macro: "__INT_FAST8_TYPE__ signed char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF68 # The macro: "__INT_FAST16_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF69 # The macro: "__INT_FAST32_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF70 # The macro: "__INT_FAST64_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF71 # The macro: "__UINT_FAST8_TYPE__ unsigned char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF72 # The macro: "__UINT_FAST16_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF73 # The macro: "__UINT_FAST32_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF74 # The macro: "__UINT_FAST64_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF75 # The macro: "__INTPTR_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF76 # The macro: "__UINTPTR_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF77 # The macro: "__GXX_WEAK__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF78 # The macro: "__DEPRECATED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF79 # The macro: "__GXX_RTTI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF80 # The macro: "__cpp_rtti 199711L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF81 # The macro: "__GXX_EXPERIMENTAL_CXX0X__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF82 # The macro: "__GXX_CONSTEXPR_ASM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF83 # The macro: "__cpp_binary_literals 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF84 # The macro: "__cpp_hex_float 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF85 # The macro: "__cpp_runtime_arrays 198712L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF86 # The macro: "__cpp_raw_strings 200710L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF87 # The macro: "__cpp_unicode_literals 200710L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF88 # The macro: "__cpp_user_defined_literals 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF89 # The macro: "__cpp_lambdas 200907L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF90 # The macro: "__cpp_decltype 200707L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF91 # The macro: "__cpp_attributes 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF92 # The macro: "__cpp_rvalue_reference 200610L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF93 # The macro: "__cpp_rvalue_references 200610L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF94 # The macro: "__cpp_variadic_templates 200704L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF95 # The macro: "__cpp_initializer_lists 200806L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF96 # The macro: "__cpp_delegating_constructors 200604L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF97 # The macro: "__cpp_nsdmi 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF98 # The macro: "__cpp_inheriting_constructors 201511L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF99 # The macro: "__cpp_ref_qualifiers 200710L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF100 # The macro: "__cpp_alias_templates 200704L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF101 # The macro: "__cpp_return_type_deduction 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF102 # The macro: "__cpp_init_captures 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF103 # The macro: "__cpp_generic_lambdas 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF104 # The macro: "__cpp_decltype_auto 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF105 # The macro: "__cpp_aggregate_nsdmi 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF106 # The macro: "__cpp_variable_templates 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF107 # The macro: "__cpp_digit_separators 201309L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF108 # The macro: "__cpp_unicode_characters 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF109 # The macro: "__cpp_static_assert 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF110 # The macro: "__cpp_namespace_attributes 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF111 # The macro: "__cpp_enumerator_attributes 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF112 # The macro: "__cpp_nested_namespace_definitions 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF113 # The macro: "__cpp_fold_expressions 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF114 # The macro: "__cpp_nontype_template_args 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF115 # The macro: "__cpp_range_based_for 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF116 # The macro: "__cpp_constexpr 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF117 # The macro: "__cpp_if_constexpr 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF118 # The macro: "__cpp_capture_star_this 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF119 # The macro: "__cpp_inline_variables 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF120 # The macro: "__cpp_aggregate_bases 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF121 # The macro: "__cpp_deduction_guides 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF122 # The macro: "__cpp_noexcept_function_type 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF123 # The macro: "__cpp_template_auto 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF124 # The macro: "__cpp_structured_bindings 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF125 # The macro: "__cpp_variadic_using 201611L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF126 # The macro: "__cpp_guaranteed_copy_elision 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF127 # The macro: "__cpp_nontype_template_parameter_auto 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF128 # The macro: "__cpp_sized_deallocation 201309L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF129 # The macro: "__cpp_aligned_new 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF130 # The macro: "__STDCPP_DEFAULT_NEW_ALIGNMENT__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF131 # The macro: "__cpp_template_template_args 201611L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF132 # The macro: "__cpp_threadsafe_static_init 200806L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF133 # The macro: "__STDCPP_THREADS__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF134 # The macro: "__EXCEPTIONS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF135 # The macro: "__cpp_exceptions 199711L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF136 # The macro: "__GXX_ABI_VERSION 1020"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF137 # The macro: "__SCHAR_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF138 # The macro: "__SHRT_MAX__ 0x7fff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF139 # The macro: "__INT_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF140 # The macro: "__LONG_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF141 # The macro: "__LONG_LONG_MAX__ 0x7fffffffffffffffLL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF142 # The macro: "__WCHAR_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF143 # The macro: "__WCHAR_MIN__ (-__WCHAR_MAX__ - 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF144 # The macro: "__WINT_MAX__ 0xffffffffU"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF145 # The macro: "__WINT_MIN__ 0U"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF146 # The macro: "__PTRDIFF_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF147 # The macro: "__SIZE_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF148 # The macro: "__SCHAR_WIDTH__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF149 # The macro: "__SHRT_WIDTH__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF150 # The macro: "__INT_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF151 # The macro: "__LONG_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF152 # The macro: "__LONG_LONG_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF153 # The macro: "__WCHAR_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF154 # The macro: "__WINT_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF155 # The macro: "__PTRDIFF_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF156 # The macro: "__SIZE_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF157 # The macro: "__GLIBCXX_TYPE_INT_N_0 __int128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF158 # The macro: "__GLIBCXX_BITSIZE_INT_N_0 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF159 # The macro: "__INTMAX_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF160 # The macro: "__INTMAX_C(c) c ## L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF161 # The macro: "__UINTMAX_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF162 # The macro: "__UINTMAX_C(c) c ## UL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF163 # The macro: "__INTMAX_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF164 # The macro: "__SIG_ATOMIC_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF165 # The macro: "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF166 # The macro: "__SIG_ATOMIC_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF167 # The macro: "__INT8_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF168 # The macro: "__INT16_MAX__ 0x7fff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF169 # The macro: "__INT32_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF170 # The macro: "__INT64_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF171 # The macro: "__UINT8_MAX__ 0xff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF172 # The macro: "__UINT16_MAX__ 0xffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF173 # The macro: "__UINT32_MAX__ 0xffffffffU"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF174 # The macro: "__UINT64_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF175 # The macro: "__INT_LEAST8_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF176 # The macro: "__INT8_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF177 # The macro: "__INT_LEAST8_WIDTH__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF178 # The macro: "__INT_LEAST16_MAX__ 0x7fff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF179 # The macro: "__INT16_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF180 # The macro: "__INT_LEAST16_WIDTH__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF181 # The macro: "__INT_LEAST32_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF182 # The macro: "__INT32_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF183 # The macro: "__INT_LEAST32_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF184 # The macro: "__INT_LEAST64_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF185 # The macro: "__INT64_C(c) c ## L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF186 # The macro: "__INT_LEAST64_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF187 # The macro: "__UINT_LEAST8_MAX__ 0xff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF188 # The macro: "__UINT8_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF189 # The macro: "__UINT_LEAST16_MAX__ 0xffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF190 # The macro: "__UINT16_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF191 # The macro: "__UINT_LEAST32_MAX__ 0xffffffffU"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF192 # The macro: "__UINT32_C(c) c ## U"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF193 # The macro: "__UINT_LEAST64_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF194 # The macro: "__UINT64_C(c) c ## UL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF195 # The macro: "__INT_FAST8_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF196 # The macro: "__INT_FAST8_WIDTH__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF197 # The macro: "__INT_FAST16_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF198 # The macro: "__INT_FAST16_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF199 # The macro: "__INT_FAST32_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF200 # The macro: "__INT_FAST32_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF201 # The macro: "__INT_FAST64_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF202 # The macro: "__INT_FAST64_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF203 # The macro: "__UINT_FAST8_MAX__ 0xff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF204 # The macro: "__UINT_FAST16_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF205 # The macro: "__UINT_FAST32_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF206 # The macro: "__UINT_FAST64_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF207 # The macro: "__INTPTR_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF208 # The macro: "__INTPTR_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF209 # The macro: "__UINTPTR_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF210 # The macro: "__GCC_IEC_559 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF211 # The macro: "__GCC_IEC_559_COMPLEX 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF212 # The macro: "__FLT_EVAL_METHOD__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF213 # The macro: "__FLT_EVAL_METHOD_TS_18661_3__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF214 # The macro: "__DEC_EVAL_METHOD__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF215 # The macro: "__FLT_RADIX__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF216 # The macro: "__FLT_MANT_DIG__ 24"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF217 # The macro: "__FLT_DIG__ 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF218 # The macro: "__FLT_MIN_EXP__ (-125)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF219 # The macro: "__FLT_MIN_10_EXP__ (-37)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF220 # The macro: "__FLT_MAX_EXP__ 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF221 # The macro: "__FLT_MAX_10_EXP__ 38"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF222 # The macro: "__FLT_DECIMAL_DIG__ 9"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF223 # The macro: "__FLT_MAX__ 3.40282346638528859811704183484516925e+38F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF224 # The macro: "__FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF225 # The macro: "__FLT_MIN__ 1.17549435082228750796873653722224568e-38F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF226 # The macro: "__FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF227 # The macro: "__FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF228 # The macro: "__FLT_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF229 # The macro: "__FLT_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF230 # The macro: "__FLT_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF231 # The macro: "__FLT_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF232 # The macro: "__DBL_MANT_DIG__ 53"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF233 # The macro: "__DBL_DIG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF234 # The macro: "__DBL_MIN_EXP__ (-1021)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF235 # The macro: "__DBL_MIN_10_EXP__ (-307)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF236 # The macro: "__DBL_MAX_EXP__ 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF237 # The macro: "__DBL_MAX_10_EXP__ 308"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF238 # The macro: "__DBL_DECIMAL_DIG__ 17"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF239 # The macro: "__DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF240 # The macro: "__DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF241 # The macro: "__DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF242 # The macro: "__DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF243 # The macro: "__DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF244 # The macro: "__DBL_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF245 # The macro: "__DBL_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF246 # The macro: "__DBL_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF247 # The macro: "__DBL_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF248 # The macro: "__LDBL_MANT_DIG__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF249 # The macro: "__LDBL_DIG__ 18"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF250 # The macro: "__LDBL_MIN_EXP__ (-16381)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF251 # The macro: "__LDBL_MIN_10_EXP__ (-4931)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF252 # The macro: "__LDBL_MAX_EXP__ 16384"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF253 # The macro: "__LDBL_MAX_10_EXP__ 4932"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF254 # The macro: "__DECIMAL_DIG__ 21"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF255 # The macro: "__LDBL_DECIMAL_DIG__ 21"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF256 # The macro: "__LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF257 # The macro: "__LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF258 # The macro: "__LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF259 # The macro: "__LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF260 # The macro: "__LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF261 # The macro: "__LDBL_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF262 # The macro: "__LDBL_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF263 # The macro: "__LDBL_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF264 # The macro: "__LDBL_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF265 # The macro: "__FLT16_MANT_DIG__ 11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF266 # The macro: "__FLT16_DIG__ 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF267 # The macro: "__FLT16_MIN_EXP__ (-13)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF268 # The macro: "__FLT16_MIN_10_EXP__ (-4)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF269 # The macro: "__FLT16_MAX_EXP__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF270 # The macro: "__FLT16_MAX_10_EXP__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF271 # The macro: "__FLT16_DECIMAL_DIG__ 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF272 # The macro: "__FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF273 # The macro: "__FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF274 # The macro: "__FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF275 # The macro: "__FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF276 # The macro: "__FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF277 # The macro: "__FLT16_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF278 # The macro: "__FLT16_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF279 # The macro: "__FLT16_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF280 # The macro: "__FLT16_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF281 # The macro: "__FLT32_MANT_DIG__ 24"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF282 # The macro: "__FLT32_DIG__ 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF283 # The macro: "__FLT32_MIN_EXP__ (-125)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF284 # The macro: "__FLT32_MIN_10_EXP__ (-37)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF285 # The macro: "__FLT32_MAX_EXP__ 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF286 # The macro: "__FLT32_MAX_10_EXP__ 38"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF287 # The macro: "__FLT32_DECIMAL_DIG__ 9"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF288 # The macro: "__FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF289 # The macro: "__FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF290 # The macro: "__FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF291 # The macro: "__FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF292 # The macro: "__FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF293 # The macro: "__FLT32_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF294 # The macro: "__FLT32_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF295 # The macro: "__FLT32_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF296 # The macro: "__FLT32_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF297 # The macro: "__FLT64_MANT_DIG__ 53"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF298 # The macro: "__FLT64_DIG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF299 # The macro: "__FLT64_MIN_EXP__ (-1021)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF300 # The macro: "__FLT64_MIN_10_EXP__ (-307)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF301 # The macro: "__FLT64_MAX_EXP__ 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF302 # The macro: "__FLT64_MAX_10_EXP__ 308"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF303 # The macro: "__FLT64_DECIMAL_DIG__ 17"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF304 # The macro: "__FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF305 # The macro: "__FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF306 # The macro: "__FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF307 # The macro: "__FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF308 # The macro: "__FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF309 # The macro: "__FLT64_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF310 # The macro: "__FLT64_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF311 # The macro: "__FLT64_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF312 # The macro: "__FLT64_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF313 # The macro: "__FLT128_MANT_DIG__ 113"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF314 # The macro: "__FLT128_DIG__ 33"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF315 # The macro: "__FLT128_MIN_EXP__ (-16381)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF316 # The macro: "__FLT128_MIN_10_EXP__ (-4931)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF317 # The macro: "__FLT128_MAX_EXP__ 16384"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF318 # The macro: "__FLT128_MAX_10_EXP__ 4932"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF319 # The macro: "__FLT128_DECIMAL_DIG__ 36"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF320 # The macro: "__FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF321 # The macro: "__FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF322 # The macro: "__FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF323 # The macro: "__FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF324 # The macro: "__FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF325 # The macro: "__FLT128_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF326 # The macro: "__FLT128_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF327 # The macro: "__FLT128_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF328 # The macro: "__FLT128_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF329 # The macro: "__FLT32X_MANT_DIG__ 53"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF330 # The macro: "__FLT32X_DIG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF331 # The macro: "__FLT32X_MIN_EXP__ (-1021)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF332 # The macro: "__FLT32X_MIN_10_EXP__ (-307)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF333 # The macro: "__FLT32X_MAX_EXP__ 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF334 # The macro: "__FLT32X_MAX_10_EXP__ 308"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF335 # The macro: "__FLT32X_DECIMAL_DIG__ 17"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF336 # The macro: "__FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF337 # The macro: "__FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF338 # The macro: "__FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF339 # The macro: "__FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF340 # The macro: "__FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF341 # The macro: "__FLT32X_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF342 # The macro: "__FLT32X_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF343 # The macro: "__FLT32X_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF344 # The macro: "__FLT32X_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF345 # The macro: "__FLT64X_MANT_DIG__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF346 # The macro: "__FLT64X_DIG__ 18"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF347 # The macro: "__FLT64X_MIN_EXP__ (-16381)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF348 # The macro: "__FLT64X_MIN_10_EXP__ (-4931)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF349 # The macro: "__FLT64X_MAX_EXP__ 16384"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF350 # The macro: "__FLT64X_MAX_10_EXP__ 4932"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF351 # The macro: "__FLT64X_DECIMAL_DIG__ 21"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF352 # The macro: "__FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF353 # The macro: "__FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF354 # The macro: "__FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF355 # The macro: "__FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF356 # The macro: "__FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF357 # The macro: "__FLT64X_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF358 # The macro: "__FLT64X_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF359 # The macro: "__FLT64X_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF360 # The macro: "__FLT64X_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF361 # The macro: "__BFLT16_MANT_DIG__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF362 # The macro: "__BFLT16_DIG__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF363 # The macro: "__BFLT16_MIN_EXP__ (-125)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF364 # The macro: "__BFLT16_MIN_10_EXP__ (-37)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF365 # The macro: "__BFLT16_MAX_EXP__ 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF366 # The macro: "__BFLT16_MAX_10_EXP__ 38"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF367 # The macro: "__BFLT16_DECIMAL_DIG__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF368 # The macro: "__BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF369 # The macro: "__BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF370 # The macro: "__BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF371 # The macro: "__BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF372 # The macro: "__BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF373 # The macro: "__BFLT16_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF374 # The macro: "__BFLT16_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF375 # The macro: "__BFLT16_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF376 # The macro: "__BFLT16_IS_IEC_60559__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF377 # The macro: "__DEC32_MANT_DIG__ 7"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF378 # The macro: "__DEC32_MIN_EXP__ (-94)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF379 # The macro: "__DEC32_MAX_EXP__ 97"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF380 # The macro: "__DEC32_MIN__ 1E-95DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF381 # The macro: "__DEC32_MAX__ 9.999999E96DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF382 # The macro: "__DEC32_EPSILON__ 1E-6DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF383 # The macro: "__DEC32_SUBNORMAL_MIN__ 0.000001E-95DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF384 # The macro: "__DEC64_MANT_DIG__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF385 # The macro: "__DEC64_MIN_EXP__ (-382)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF386 # The macro: "__DEC64_MAX_EXP__ 385"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF387 # The macro: "__DEC64_MIN__ 1E-383DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF388 # The macro: "__DEC64_MAX__ 9.999999999999999E384DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF389 # The macro: "__DEC64_EPSILON__ 1E-15DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF390 # The macro: "__DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF391 # The macro: "__DEC128_MANT_DIG__ 34"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF392 # The macro: "__DEC128_MIN_EXP__ (-6142)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF393 # The macro: "__DEC128_MAX_EXP__ 6145"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF394 # The macro: "__DEC128_MIN__ 1E-6143DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF395 # The macro: "__DEC128_MAX__ 9.999999999999999999999999999999999E6144DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF396 # The macro: "__DEC128_EPSILON__ 1E-33DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF397 # The macro: "__DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF398 # The macro: "__DEC64X_MANT_DIG__ 34"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF399 # The macro: "__DEC64X_MIN_EXP__ (-6142)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF400 # The macro: "__DEC64X_MAX_EXP__ 6145"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF401 # The macro: "__DEC64X_MIN__ 1E-6143D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF402 # The macro: "__DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF403 # The macro: "__DEC64X_EPSILON__ 1E-33D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF404 # The macro: "__DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF405 # The macro: "__REGISTER_PREFIX__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF406 # The macro: "__USER_LABEL_PREFIX__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF407 # The macro: "__GNUC_STDC_INLINE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF408 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF409 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF410 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF411 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF412 # The macro: "__GCC_ATOMIC_BOOL_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF413 # The macro: "__GCC_ATOMIC_CHAR_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF414 # The macro: "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF415 # The macro: "__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF416 # The macro: "__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF417 # The macro: "__GCC_ATOMIC_SHORT_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF418 # The macro: "__GCC_ATOMIC_INT_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF419 # The macro: "__GCC_ATOMIC_LONG_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF420 # The macro: "__GCC_ATOMIC_LLONG_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF421 # The macro: "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF422 # The macro: "__GCC_DESTRUCTIVE_SIZE 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF423 # The macro: "__GCC_CONSTRUCTIVE_SIZE 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF424 # The macro: "__GCC_ATOMIC_POINTER_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF425 # The macro: "__HAVE_SPECULATION_SAFE_VALUE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF426 # The macro: "__GCC_HAVE_DWARF2_CFI_ASM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF427 # The macro: "__PRAGMA_REDEFINE_EXTNAME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF428 # The macro: "__SIZEOF_INT128__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF429 # The macro: "__SIZEOF_WCHAR_T__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF430 # The macro: "__SIZEOF_WINT_T__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF431 # The macro: "__SIZEOF_PTRDIFF_T__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF432 # The macro: "__amd64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF433 # The macro: "__amd64__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF434 # The macro: "__x86_64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF435 # The macro: "__x86_64__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF436 # The macro: "__SIZEOF_FLOAT80__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF437 # The macro: "__SIZEOF_FLOAT128__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF438 # The macro: "__ATOMIC_HLE_ACQUIRE 65536"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF439 # The macro: "__ATOMIC_HLE_RELEASE 131072"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF440 # The macro: "__GCC_ASM_FLAG_OUTPUTS__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF441 # The macro: "__k8 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF442 # The macro: "__k8__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF443 # The macro: "__code_model_small__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF444 # The macro: "__MMX__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF445 # The macro: "__SSE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF446 # The macro: "__SSE2__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF447 # The macro: "__FXSR__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF448 # The macro: "__SSE_MATH__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF449 # The macro: "__SSE2_MATH__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF450 # The macro: "__MMX_WITH_SSE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF451 # The macro: "__SEG_FS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF452 # The macro: "__SEG_GS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF453 # The macro: "__gnu_linux__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF454 # The macro: "__linux 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF455 # The macro: "__linux__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF456 # The macro: "linux 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF457 # The macro: "__unix 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF458 # The macro: "__unix__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF459 # The macro: "unix 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF460 # The macro: "__ELF__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF461 # The macro: "__DECIMAL_BID_FORMAT__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF462 # The macro: "_GNU_SOURCE 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stdcpredef.h.19.88fdbfd5cf6f83ed579effc3e425f09b,comdat
+.Ldebug_macro3:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF463 # The macro: "_STDC_PREDEF_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF464 # The macro: "__STDC_IEC_559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF465 # The macro: "__STDC_IEC_60559_BFP__ 201404L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF466 # The macro: "__STDC_IEC_559_COMPLEX__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF467 # The macro: "__STDC_IEC_60559_COMPLEX__ 201404L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF468 # The macro: "__STDC_ISO_10646__ 201706L"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wordsize.h.4.21825217995af4880cdf0ea22ad93ab2,comdat
+.Ldebug_macro4:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4 # At line number 4
+ .long .LASF472 # The macro: "__WORDSIZE 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF473 # The macro: "__WORDSIZE_TIME64_COMPAT32 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF474 # The macro: "__SYSCALL_WORDSIZE 64"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cconfig.h.1945.b6e1a0853c4cceb838353ccb00a51862,comdat
+.Ldebug_macro5:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x799 # At line number 1945
+ .long .LASF475 # The macro: "_GLIBCXX_CXX_CONFIG_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7a7 # At line number 1959
+ .long .LASF476 # The macro: "_GLIBCXX_RELEASE 15"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7aa # At line number 1962
+ .long .LASF477 # The macro: "__GLIBCXX__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7ab # At line number 1963
+ .long .LASF478 # The macro: "__GLIBCXX__ 20250425"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b4 # At line number 1972
+ .long .LASF479 # The macro: "_GLIBCXX_PURE __attribute__ ((__pure__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b8 # At line number 1976
+ .long .LASF480 # The macro: "_GLIBCXX_CONST __attribute__ ((__const__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF481 # The macro: "_GLIBCXX_NORETURN __attribute__ ((__noreturn__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7c9 # At line number 1993
+ .long .LASF482 # The macro: "_GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7cc # At line number 1996
+ .long .LASF483 # The macro: "_GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e4 # At line number 2020
+ .long .LASF484 # The macro: "_GLIBCXX_USE_DEPRECATED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e8 # At line number 2024
+ .long .LASF485 # The macro: "_GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF486 # The macro: "_GLIBCXX_DEPRECATED_SUGGEST(ALT) __attribute__ ((__deprecated__ ("use '" ALT "' instead")))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f1 # At line number 2033
+ .long .LASF487 # The macro: "_GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f2 # At line number 2034
+ .long .LASF488 # The macro: "_GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f9 # At line number 2041
+ .long .LASF489 # The macro: "_GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7fa # At line number 2042
+ .long .LASF490 # The macro: "_GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x801 # At line number 2049
+ .long .LASF491 # The macro: "_GLIBCXX17_DEPRECATED [[__deprecated__]]"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x802 # At line number 2050
+ .long .LASF492 # The macro: "_GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80c # At line number 2060
+ .long .LASF493 # The macro: "_GLIBCXX20_DEPRECATED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80d # At line number 2061
+ .long .LASF494 # The macro: "_GLIBCXX20_DEPRECATED_SUGGEST(ALT) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x814 # At line number 2068
+ .long .LASF495 # The macro: "_GLIBCXX23_DEPRECATED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x815 # At line number 2069
+ .long .LASF496 # The macro: "_GLIBCXX23_DEPRECATED_SUGGEST(ALT) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81c # At line number 2076
+ .long .LASF497 # The macro: "_GLIBCXX26_DEPRECATED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81d # At line number 2077
+ .long .LASF498 # The macro: "_GLIBCXX26_DEPRECATED_SUGGEST(ALT) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x822 # At line number 2082
+ .long .LASF499 # The macro: "_GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11")))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x827 # At line number 2087
+ .long .LASF500 # The macro: "_GLIBCXX_NODISCARD [[__nodiscard__]]"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x833 # At line number 2099
+ .long .LASF501 # The macro: "_GLIBCXX_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x834 # At line number 2100
+ .long .LASF502 # The macro: "_GLIBCXX_USE_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x83d # At line number 2109
+ .long .LASF503 # The macro: "_GLIBCXX14_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x845 # At line number 2117
+ .long .LASF504 # The macro: "_GLIBCXX17_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84f # At line number 2127
+ .long .LASF505 # The macro: "_GLIBCXX20_CONSTEXPR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF506 # The macro: "_GLIBCXX23_CONSTEXPR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x85f # At line number 2143
+ .long .LASF507 # The macro: "_GLIBCXX26_CONSTEXPR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x865 # At line number 2149
+ .long .LASF508 # The macro: "_GLIBCXX17_INLINE inline"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86e # At line number 2158
+ .long .LASF509 # The macro: "_GLIBCXX_NOEXCEPT noexcept"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86f # At line number 2159
+ .long .LASF510 # The macro: "_GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x870 # At line number 2160
+ .long .LASF511 # The macro: "_GLIBCXX_USE_NOEXCEPT noexcept"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x871 # At line number 2161
+ .long .LASF512 # The macro: "_GLIBCXX_THROW(_EXC) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87b # At line number 2171
+ .long .LASF513 # The macro: "_GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x880 # At line number 2176
+ .long .LASF514 # The macro: "_GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x887 # At line number 2183
+ .long .LASF515 # The macro: "_GLIBCXX_NOEXCEPT_PARM , bool _NE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x888 # At line number 2184
+ .long .LASF516 # The macro: "_GLIBCXX_NOEXCEPT_QUAL noexcept (_NE)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x898 # At line number 2200
+ .long .LASF517 # The macro: "_GLIBCXX_EXTERN_TEMPLATE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8df # At line number 2271
+ .long .LASF518 # The macro: "_GLIBCXX_USE_DUAL_ABI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8e7 # At line number 2279
+ .long .LASF519 # The macro: "_GLIBCXX_USE_CXX11_ABI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f3 # At line number 2291
+ .long .LASF520 # The macro: "_GLIBCXX_NAMESPACE_CXX11 __cxx11::"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f4 # At line number 2292
+ .long .LASF521 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f5 # At line number 2293
+ .long .LASF522 # The macro: "_GLIBCXX_END_NAMESPACE_CXX11 }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f6 # At line number 2294
+ .long .LASF523 # The macro: "_GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8ff # At line number 2303
+ .long .LASF524 # The macro: "_GLIBCXX_INLINE_VERSION 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x921 # At line number 2337
+ .long .LASF525 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_VERSION "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x922 # At line number 2338
+ .long .LASF526 # The macro: "_GLIBCXX_END_NAMESPACE_VERSION "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x924 # At line number 2340
+ .long .LASF527 # The macro: "_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x925 # At line number 2341
+ .long .LASF528 # The macro: "_GLIBCXX_END_INLINE_ABI_NAMESPACE(X) }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x966 # At line number 2406
+ .long .LASF529 # The macro: "_GLIBCXX_STD_C std"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x967 # At line number 2407
+ .long .LASF530 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_CONTAINER "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x968 # At line number 2408
+ .long .LASF531 # The macro: "_GLIBCXX_END_NAMESPACE_CONTAINER "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x971 # At line number 2417
+ .long .LASF532 # The macro: "_GLIBCXX_STD_A std"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x972 # At line number 2418
+ .long .LASF533 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_ALGO "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x973 # At line number 2419
+ .long .LASF534 # The macro: "_GLIBCXX_END_NAMESPACE_ALGO "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x978 # At line number 2424
+ .long .LASF535 # The macro: "_GLIBCXX_LONG_DOUBLE_COMPAT"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x982 # At line number 2434
+ .long .LASF536 # The macro: "_GLIBCXX_CLANG"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x988 # At line number 2440
+ .long .LASF537 # The macro: "_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a6 # At line number 2470
+ .long .LASF538 # The macro: "_GLIBCXX_NAMESPACE_LDBL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a7 # At line number 2471
+ .long .LASF539 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_LDBL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a8 # At line number 2472
+ .long .LASF540 # The macro: "_GLIBCXX_END_NAMESPACE_LDBL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ac # At line number 2476
+ .long .LASF541 # The macro: "_GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ad # At line number 2477
+ .long .LASF542 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ae # At line number 2478
+ .long .LASF543 # The macro: "_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9c6 # At line number 2502
+ .long .LASF544 # The macro: "_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9df # At line number 2527
+ .long .LASF545 # The macro: "_GLIBCXX_VERBOSE_ASSERT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ef # At line number 2543
+ .long .LASF546 # The macro: "_GLIBCXX_ASSERT_FAIL(_Condition) std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, #_Condition)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa09 # At line number 2569
+ .long .LASF547 # The macro: "__glibcxx_assert(cond) do { if (std::__is_constant_evaluated() && !bool(cond)) std::__glibcxx_assert_fail(); } while (false)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa33 # At line number 2611
+ .long .LASF548 # The macro: "_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa36 # At line number 2614
+ .long .LASF549 # The macro: "_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3a # At line number 2618
+ .long .LASF550 # The macro: "_GLIBCXX_BEGIN_EXTERN_C extern "C" {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3b # At line number 2619
+ .long .LASF551 # The macro: "_GLIBCXX_END_EXTERN_C }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3d # At line number 2621
+ .long .LASF552 # The macro: "_GLIBCXX_USE_ALLOCATOR_NEW 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.os_defines.h.31.00ac2dfcc18ce0a4ccd7d724c7e326ea,comdat
+.Ldebug_macro6:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF553 # The macro: "_GLIBCXX_OS_DEFINES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF554 # The macro: "__NO_CTYPE 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.features.h.19.bdce2f9bc3939800030d1d9eb242d816,comdat
+.Ldebug_macro7:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF555 # The macro: "_FEATURES_H 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF556 # The macro: "__USE_ISOC11"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF557 # The macro: "__USE_ISOC99"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF558 # The macro: "__USE_ISOC95"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF559 # The macro: "__USE_ISOCXX11"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF560 # The macro: "__USE_POSIX"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86 # At line number 134
+ .long .LASF561 # The macro: "__USE_POSIX2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF562 # The macro: "__USE_POSIX199309"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF563 # The macro: "__USE_POSIX199506"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x89 # At line number 137
+ .long .LASF564 # The macro: "__USE_XOPEN"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8a # At line number 138
+ .long .LASF565 # The macro: "__USE_XOPEN_EXTENDED"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8b # At line number 139
+ .long .LASF566 # The macro: "__USE_UNIX98"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF567 # The macro: "__USE_XOPEN2K"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8d # At line number 141
+ .long .LASF568 # The macro: "__USE_XOPEN2KXSI"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8e # At line number 142
+ .long .LASF569 # The macro: "__USE_XOPEN2K8"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8f # At line number 143
+ .long .LASF570 # The macro: "__USE_XOPEN2K8XSI"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x90 # At line number 144
+ .long .LASF571 # The macro: "__USE_LARGEFILE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x91 # At line number 145
+ .long .LASF572 # The macro: "__USE_LARGEFILE64"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF573 # The macro: "__USE_FILE_OFFSET64"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF574 # The macro: "__USE_MISC"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x94 # At line number 148
+ .long .LASF575 # The macro: "__USE_ATFILE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x95 # At line number 149
+ .long .LASF576 # The macro: "__USE_DYNAMIC_STACK_SIZE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF577 # The macro: "__USE_GNU"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF578 # The macro: "__USE_FORTIFY_LEVEL"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x98 # At line number 152
+ .long .LASF579 # The macro: "__KERNEL_STRICT_NAMES"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x99 # At line number 153
+ .long .LASF580 # The macro: "__GLIBC_USE_ISOC23"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9a # At line number 154
+ .long .LASF581 # The macro: "__GLIBC_USE_ISOC2Y"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9b # At line number 155
+ .long .LASF582 # The macro: "__GLIBC_USE_DEPRECATED_GETS"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF583 # The macro: "__GLIBC_USE_DEPRECATED_SCANF"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9d # At line number 157
+ .long .LASF584 # The macro: "__GLIBC_USE_C23_STRTOL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa2 # At line number 162
+ .long .LASF585 # The macro: "__KERNEL_STRICT_NAMES "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad # At line number 173
+ .long .LASF586 # The macro: "__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb # At line number 187
+ .long .LASF587 # The macro: "__glibc_clang_prereq(maj,min) 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf # At line number 191
+ .long .LASF588 # The macro: "__GLIBC_USE(F) __GLIBC_USE_ ## F"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd5 # At line number 213
+ .long .LASF589 # The macro: "_ISOC95_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd6 # At line number 214
+ .long .LASF590 # The macro: "_ISOC95_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd7 # At line number 215
+ .long .LASF591 # The macro: "_ISOC99_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF592 # The macro: "_ISOC99_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd9 # At line number 217
+ .long .LASF593 # The macro: "_ISOC11_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xda # At line number 218
+ .long .LASF594 # The macro: "_ISOC11_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xdb # At line number 219
+ .long .LASF595 # The macro: "_ISOC23_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF596 # The macro: "_ISOC23_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xdd # At line number 221
+ .long .LASF597 # The macro: "_ISOC2Y_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xde # At line number 222
+ .long .LASF598 # The macro: "_ISOC2Y_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xdf # At line number 223
+ .long .LASF599 # The macro: "_POSIX_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe0 # At line number 224
+ .long .LASF600 # The macro: "_POSIX_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe1 # At line number 225
+ .long .LASF601 # The macro: "_POSIX_C_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF602 # The macro: "_POSIX_C_SOURCE 200809L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe3 # At line number 227
+ .long .LASF603 # The macro: "_XOPEN_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe4 # At line number 228
+ .long .LASF604 # The macro: "_XOPEN_SOURCE 700"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe5 # At line number 229
+ .long .LASF605 # The macro: "_XOPEN_SOURCE_EXTENDED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6 # At line number 230
+ .long .LASF606 # The macro: "_XOPEN_SOURCE_EXTENDED 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe7 # At line number 231
+ .long .LASF607 # The macro: "_LARGEFILE64_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe8 # At line number 232
+ .long .LASF608 # The macro: "_LARGEFILE64_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe9 # At line number 233
+ .long .LASF609 # The macro: "_DEFAULT_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xea # At line number 234
+ .long .LASF610 # The macro: "_DEFAULT_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xeb # At line number 235
+ .long .LASF611 # The macro: "_ATFILE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF612 # The macro: "_ATFILE_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xed # At line number 237
+ .long .LASF613 # The macro: "_DYNAMIC_STACK_SIZE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xee # At line number 238
+ .long .LASF614 # The macro: "_DYNAMIC_STACK_SIZE_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf9 # At line number 249
+ .long .LASF609 # The macro: "_DEFAULT_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF610 # The macro: "_DEFAULT_SOURCE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF615 # The macro: "__GLIBC_USE_ISOC2Y 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x108 # At line number 264
+ .long .LASF616 # The macro: "__GLIBC_USE_ISOC23 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x111 # At line number 273
+ .long .LASF617 # The macro: "__USE_ISOC11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x118 # At line number 280
+ .long .LASF618 # The macro: "__USE_ISOC99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11f # At line number 287
+ .long .LASF619 # The macro: "__USE_ISOC95 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x125 # At line number 293
+ .long .LASF617 # The macro: "__USE_ISOC11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x12a # At line number 298
+ .long .LASF620 # The macro: "__USE_ISOCXX11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x12b # At line number 299
+ .long .LASF618 # The macro: "__USE_ISOC99 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x136 # At line number 310
+ .long .LASF599 # The macro: "_POSIX_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF600 # The macro: "_POSIX_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x138 # At line number 312
+ .long .LASF601 # The macro: "_POSIX_C_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x139 # At line number 313
+ .long .LASF602 # The macro: "_POSIX_C_SOURCE 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15c # At line number 348
+ .long .LASF621 # The macro: "__USE_POSIX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x160 # At line number 352
+ .long .LASF622 # The macro: "__USE_POSIX2 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x164 # At line number 356
+ .long .LASF623 # The macro: "__USE_POSIX199309 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x168 # At line number 360
+ .long .LASF624 # The macro: "__USE_POSIX199506 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16c # At line number 364
+ .long .LASF625 # The macro: "__USE_XOPEN2K 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF558 # The macro: "__USE_ISOC95"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16e # At line number 366
+ .long .LASF619 # The macro: "__USE_ISOC95 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16f # At line number 367
+ .long .LASF557 # The macro: "__USE_ISOC99"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x170 # At line number 368
+ .long .LASF618 # The macro: "__USE_ISOC99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x174 # At line number 372
+ .long .LASF626 # The macro: "__USE_XOPEN2K8 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x175 # At line number 373
+ .long .LASF611 # The macro: "_ATFILE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x176 # At line number 374
+ .long .LASF612 # The macro: "_ATFILE_SOURCE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17a # At line number 378
+ .long .LASF627 # The macro: "__USE_XOPEN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17c # At line number 380
+ .long .LASF628 # The macro: "__USE_XOPEN_EXTENDED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF629 # The macro: "__USE_UNIX98 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17e # At line number 382
+ .long .LASF630 # The macro: "_LARGEFILE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17f # At line number 383
+ .long .LASF631 # The macro: "_LARGEFILE_SOURCE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x182 # At line number 386
+ .long .LASF626 # The macro: "__USE_XOPEN2K8 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x183 # At line number 387
+ .long .LASF632 # The macro: "__USE_XOPEN2K8XSI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x185 # At line number 389
+ .long .LASF625 # The macro: "__USE_XOPEN2K 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x186 # At line number 390
+ .long .LASF633 # The macro: "__USE_XOPEN2KXSI 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF558 # The macro: "__USE_ISOC95"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x188 # At line number 392
+ .long .LASF619 # The macro: "__USE_ISOC95 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x189 # At line number 393
+ .long .LASF557 # The macro: "__USE_ISOC99"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18a # At line number 394
+ .long .LASF618 # The macro: "__USE_ISOC99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x194 # At line number 404
+ .long .LASF634 # The macro: "__USE_LARGEFILE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x198 # At line number 408
+ .long .LASF635 # The macro: "__USE_LARGEFILE64 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.features.h.418.0b5c3539d8a4e9fd50fc3039208f3961,comdat
+.Ldebug_macro8:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a2 # At line number 418
+ .long .LASF638 # The macro: "__USE_MISC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a6 # At line number 422
+ .long .LASF639 # The macro: "__USE_ATFILE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1aa # At line number 426
+ .long .LASF640 # The macro: "__USE_DYNAMIC_STACK_SIZE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ae # At line number 430
+ .long .LASF641 # The macro: "__USE_GNU 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF642 # The macro: "__USE_FORTIFY_LEVEL 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1cf # At line number 463
+ .long .LASF643 # The macro: "__GLIBC_USE_DEPRECATED_GETS 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e6 # At line number 486
+ .long .LASF644 # The macro: "__GLIBC_USE_DEPRECATED_SCANF 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ef # At line number 495
+ .long .LASF645 # The macro: "__GLIBC_USE_C23_STRTOL 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1fe # At line number 510
+ .long .LASF646 # The macro: "__GNU_LIBRARY__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF647 # The macro: "__GNU_LIBRARY__ 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF648 # The macro: "__GLIBC__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x204 # At line number 516
+ .long .LASF649 # The macro: "__GLIBC_MINOR__ 41"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x206 # At line number 518
+ .long .LASF650 # The macro: "__GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cdefs.h.20.3b5b75c5448e96e4c39679d0a8f1a476,comdat
+.Ldebug_macro9:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF651 # The macro: "_SYS_CDEFS_H 1"
+ .byte 0x2 # Undefine macro
+ .uleb128 0x23 # At line number 35
+ .ascii "__P\0" # The macro
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF652 # The macro: "__PMT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF653 # The macro: "__glibc_has_attribute(attr) __has_attribute (attr)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF654 # The macro: "__glibc_has_builtin(name) __has_builtin (name)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF655 # The macro: "__glibc_has_extension(ext) __has_extension (ext)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF656 # The macro: "__LEAF , __leaf__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF657 # The macro: "__LEAF_ATTR __attribute__ ((__leaf__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF658 # The macro: "__THROW noexcept (true)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF659 # The macro: "__THROWNL __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF660 # The macro: "__NTH(fct) __LEAF_ATTR fct __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF661 # The macro: "__NTHNL(fct) fct __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF662 # The macro: "__COLD __attribute__ ((__cold__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF663 # The macro: "__P(args) args"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF664 # The macro: "__PMT(args) args"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF665 # The macro: "__CONCAT(x,y) x ## y"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF666 # The macro: "__STRING(x) #x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF667 # The macro: "__ptr_t void *"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF668 # The macro: "__BEGIN_DECLS extern "C" {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8d # At line number 141
+ .long .LASF669 # The macro: "__END_DECLS }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x99 # At line number 153
+ .long .LASF670 # The macro: "__attribute_overloadable__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9d # At line number 157
+ .long .LASF671 # The macro: "__bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9e # At line number 158
+ .long .LASF672 # The macro: "__bos0(ptr) __builtin_object_size (ptr, 0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF673 # The macro: "__glibc_objsize0(__o) __bos0 (__o)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa7 # At line number 167
+ .long .LASF674 # The macro: "__glibc_objsize(__o) __bos (__o)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16e # At line number 366
+ .long .LASF675 # The macro: "__warnattr(msg) __attribute__((__warning__ (msg)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16f # At line number 367
+ .long .LASF676 # The macro: "__errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x180 # At line number 384
+ .long .LASF677 # The macro: "__flexarr []"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF678 # The macro: "__glibc_c99_flexarr_available 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19a # At line number 410
+ .long .LASF679 # The macro: "__REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19c # At line number 412
+ .long .LASF680 # The macro: "__REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF681 # The macro: "__REDIRECT_NTHNL(name,proto,alias) name proto __THROWNL __asm__ (__ASMNAME (#alias))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a6 # At line number 422
+ .long .LASF682 # The macro: "__ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a7 # At line number 423
+ .long .LASF683 # The macro: "__ASMNAME2(prefix,cname) __STRING (prefix) cname"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1aa # At line number 426
+ .long .LASF684 # The macro: "__REDIRECT_FORTIFY __REDIRECT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ae # At line number 430
+ .long .LASF685 # The macro: "__REDIRECT_FORTIFY_NTH __REDIRECT_NTH"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c4 # At line number 452
+ .long .LASF686 # The macro: "__attribute_malloc__ __attribute__ ((__malloc__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1cc # At line number 460
+ .long .LASF687 # The macro: "__attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d5 # At line number 469
+ .long .LASF688 # The macro: "__attribute_alloc_align__(param) __attribute__ ((__alloc_align__ param))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1df # At line number 479
+ .long .LASF689 # The macro: "__attribute_pure__ __attribute__ ((__pure__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e6 # At line number 486
+ .long .LASF690 # The macro: "__attribute_const__ __attribute__ ((__const__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ec # At line number 492
+ .long .LASF691 # The macro: "__attribute_maybe_unused__ __attribute__ ((__unused__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF692 # The macro: "__attribute_used__ __attribute__ ((__used__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f6 # At line number 502
+ .long .LASF693 # The macro: "__attribute_noinline__ __attribute__ ((__noinline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1fe # At line number 510
+ .long .LASF694 # The macro: "__attribute_deprecated__ __attribute__ ((__deprecated__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x208 # At line number 520
+ .long .LASF695 # The macro: "__attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x215 # At line number 533
+ .long .LASF696 # The macro: "__attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21f # At line number 543
+ .long .LASF697 # The macro: "__attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF698 # The macro: "__attribute_nonnull__(params) __attribute__ ((__nonnull__ params))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF699 # The macro: "__nonnull(params) __attribute_nonnull__ (params)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x238 # At line number 568
+ .long .LASF700 # The macro: "__returns_nonnull __attribute__ ((__returns_nonnull__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x241 # At line number 577
+ .long .LASF701 # The macro: "__attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24a # At line number 586
+ .long .LASF702 # The macro: "__wur "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x252 # At line number 594
+ .long .LASF703 # The macro: "__always_inline"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x253 # At line number 595
+ .long .LASF704 # The macro: "__always_inline __inline __attribute__ ((__always_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25c # At line number 604
+ .long .LASF705 # The macro: "__attribute_artificial__ __attribute__ ((__artificial__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26e # At line number 622
+ .long .LASF706 # The macro: "__extern_inline extern __inline __attribute__ ((__gnu_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26f # At line number 623
+ .long .LASF707 # The macro: "__extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x278 # At line number 632
+ .long .LASF708 # The macro: "__fortify_function __extern_always_inline __attribute_artificial__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27e # At line number 638
+ .long .LASF709 # The macro: "__va_arg_pack() __builtin_va_arg_pack ()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27f # At line number 639
+ .long .LASF710 # The macro: "__va_arg_pack_len() __builtin_va_arg_pack_len ()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29d # At line number 669
+ .long .LASF711 # The macro: "__restrict_arr "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a9 # At line number 681
+ .long .LASF712 # The macro: "__glibc_unlikely(cond) __builtin_expect ((cond), 0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2aa # At line number 682
+ .long .LASF713 # The macro: "__glibc_likely(cond) __builtin_expect ((cond), 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bf # At line number 703
+ .long .LASF714 # The macro: "__attribute_nonstring__ __attribute__ ((__nonstring__))"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c5 # At line number 709
+ .long .LASF715 # The macro: "__attribute_copy__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c9 # At line number 713
+ .long .LASF716 # The macro: "__attribute_copy__(arg) __attribute__ ((__copy__ (arg)))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cdefs.h.788.9af8f5176cd272e215897fe8049c214d,comdat
+.Ldebug_macro10:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x314 # At line number 788
+ .long .LASF718 # The macro: "__LDBL_REDIR1(name,proto,alias) name proto"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x315 # At line number 789
+ .long .LASF719 # The macro: "__LDBL_REDIR(name,proto) name proto"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF720 # The macro: "__LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x317 # At line number 791
+ .long .LASF721 # The macro: "__LDBL_REDIR_NTH(name,proto) name proto __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x318 # At line number 792
+ .long .LASF722 # The macro: "__LDBL_REDIR2_DECL(name) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x319 # At line number 793
+ .long .LASF723 # The macro: "__LDBL_REDIR_DECL(name) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31b # At line number 795
+ .long .LASF724 # The macro: "__REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF725 # The macro: "__REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x327 # At line number 807
+ .long .LASF726 # The macro: "__glibc_macro_warning1(message) _Pragma (#message)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x328 # At line number 808
+ .long .LASF727 # The macro: "__glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33c # At line number 828
+ .long .LASF728 # The macro: "__HAVE_GENERIC_SELECTION 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x345 # At line number 837
+ .long .LASF729 # The macro: "__attr_access(x) __attribute__ ((__access__ x))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34d # At line number 845
+ .long .LASF730 # The macro: "__fortified_attr_access(a,o,s) __attr_access ((a, o, s))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x350 # At line number 848
+ .long .LASF731 # The macro: "__attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35d # At line number 861
+ .long .LASF732 # The macro: "__attr_dealloc(dealloc,argno) __attribute__ ((__malloc__ (dealloc, argno)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35f # At line number 863
+ .long .LASF733 # The macro: "__attr_dealloc_free __attr_dealloc (__builtin_free, 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x368 # At line number 872
+ .long .LASF734 # The macro: "__attribute_returns_twice__ __attribute__ ((__returns_twice__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x371 # At line number 881
+ .long .LASF735 # The macro: "__attribute_struct_may_alias__ __attribute__ ((__may_alias__))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stubs64.h.10.7865f4f7062bab1c535c1f73f43aa9b9,comdat
+.Ldebug_macro11:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa # At line number 10
+ .long .LASF737 # The macro: "__stub___compat_bdflush "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF738 # The macro: "__stub_chflags "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc # At line number 12
+ .long .LASF739 # The macro: "__stub_fchflags "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd # At line number 13
+ .long .LASF740 # The macro: "__stub_gtty "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe # At line number 14
+ .long .LASF741 # The macro: "__stub_revoke "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF742 # The macro: "__stub_setlogin "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10 # At line number 16
+ .long .LASF743 # The macro: "__stub_sigreturn "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11 # At line number 17
+ .long .LASF744 # The macro: "__stub_stty "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.os_defines.h.45.d06a304670a31a32135668aa1e3d636d,comdat
+.Ldebug_macro12:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF745 # The macro: "_GLIBCXX_HAVE_GETS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF746 # The macro: "_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF747 # The macro: "_GLIBCXX_HAVE_FLOAT128_MATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF748 # The macro: "_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF749 # The macro: "_GLIBCXX_NATIVE_THREAD_ID pthread_self()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF750 # The macro: "_GLIBCXX_GTHREAD_USE_WEAK 0"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cconfig.h.2649.87423048acc70a6cfbf4eb1b288281c7,comdat
+.Ldebug_macro13:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa59 # At line number 2649
+ .long .LASF752 # The macro: "_GLIBCXX_PSEUDO_VISIBILITY(V) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa60 # At line number 2656
+ .long .LASF753 # The macro: "_GLIBCXX_WEAK_DEFINITION "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa68 # At line number 2664
+ .long .LASF754 # The macro: "_GLIBCXX_USE_WEAK_REF __GXX_WEAK__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa75 # At line number 2677
+ .long .LASF755 # The macro: "_GLIBCXX_TXN_SAFE "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa76 # At line number 2678
+ .long .LASF756 # The macro: "_GLIBCXX_TXN_SAFE_DYN "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa7b # At line number 2683
+ .long .LASF757 # The macro: "_GLIBCXX_USE_STD_SPEC_FUNCS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa88 # At line number 2696
+ .long .LASF758 # The macro: "_GLIBCXX_FAST_MATH 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa8f # At line number 2703
+ .long .LASF759 # The macro: "__N(msgid) (msgid)"
+ .byte 0x2 # Undefine macro
+ .uleb128 0xa92 # At line number 2706
+ .ascii "min\0" # The macro
+ .byte 0x2 # Undefine macro
+ .uleb128 0xa93 # At line number 2707
+ .ascii "max\0" # The macro
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa99 # At line number 2713
+ .long .LASF760 # The macro: "_GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa9c # At line number 2716
+ .long .LASF761 # The macro: "_GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa9f # At line number 2719
+ .long .LASF762 # The macro: "_GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa2 # At line number 2722
+ .long .LASF763 # The macro: "_GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa5 # At line number 2725
+ .long .LASF764 # The macro: "_GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xac8 # At line number 2760
+ .long .LASF765 # The macro: "_GLIBCXX_USE_FLOAT128 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad0 # At line number 2768
+ .long .LASF766 # The macro: "_GLIBCXX_FLOAT_IS_IEEE_BINARY32 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad7 # At line number 2775
+ .long .LASF767 # The macro: "_GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xafc # At line number 2812
+ .long .LASF768 # The macro: "_GLIBCXX_HAS_BUILTIN(B) __has_builtin(B)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb01 # At line number 2817
+ .long .LASF769 # The macro: "_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb05 # At line number 2821
+ .long .LASF770 # The macro: "_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb09 # At line number 2825
+ .long .LASF771 # The macro: "_GLIBCXX_HAVE_BUILTIN_LAUNDER 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb11 # At line number 2833
+ .long .LASF772 # The macro: "_GLIBCXX_USE_BUILTIN_TRAIT(BT) _GLIBCXX_HAS_BUILTIN(BT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb17 # At line number 2839
+ .long .LASF773 # The macro: "_GLIBCXX_DOXYGEN_ONLY(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb23 # At line number 2851
+ .long .LASF774 # The macro: "_GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb29 # At line number 2857
+ .long .LASF775 # The macro: "_PSTL_PAR_BACKEND_SERIAL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2c # At line number 2860
+ .long .LASF776 # The macro: "_PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2d # At line number 2861
+ .long .LASF777 # The macro: "_PSTL_ASSERT_MSG(_Condition,_Message) __glibcxx_assert(_Condition)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pstl_config.h.11.cc2ab118dc65e0b245923f61105bc215,comdat
+.Ldebug_macro14:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF778 # The macro: "_PSTL_CONFIG_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe # At line number 14
+ .long .LASF779 # The macro: "_PSTL_VERSION 17000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF780 # The macro: "_PSTL_VERSION_MAJOR (_PSTL_VERSION / 1000)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10 # At line number 16
+ .long .LASF781 # The macro: "_PSTL_VERSION_MINOR ((_PSTL_VERSION % 1000) / 10)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11 # At line number 17
+ .long .LASF782 # The macro: "_PSTL_VERSION_PATCH (_PSTL_VERSION % 10)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF783 # The macro: "_PSTL_USAGE_WARNINGS 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF784 # The macro: "_PSTL_PRAGMA(x) _Pragma(#x)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF785 # The macro: "_PSTL_STRING_AUX(x) #x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF786 # The macro: "_PSTL_STRING(x) _PSTL_STRING_AUX(x)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF787 # The macro: "_PSTL_STRING_CONCAT(x,y) x #y"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF788 # The macro: "_PSTL_HIDE_FROM_ABI_PUSH "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF789 # The macro: "_PSTL_HIDE_FROM_ABI_POP "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF790 # The macro: "_PSTL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF791 # The macro: "_PSTL_PRAGMA_SIMD _PSTL_PRAGMA(omp simd)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF792 # The macro: "_PSTL_PRAGMA_DECLARE_SIMD _PSTL_PRAGMA(omp declare simd)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x44 # At line number 68
+ .long .LASF793 # The macro: "_PSTL_PRAGMA_SIMD_REDUCTION(PRM) _PSTL_PRAGMA(omp simd reduction(PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF794 # The macro: "_PSTL_PRAGMA_FORCEINLINE "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF795 # The macro: "_PSTL_PRAGMA_SIMD_SCAN(PRM) _PSTL_PRAGMA(omp simd reduction(inscan, PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF796 # The macro: "_PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan inclusive(PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF797 # The macro: "_PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan exclusive(PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF798 # The macro: "_PSTL_CPP17_EXECUTION_POLICIES_PRESENT (_MSC_VER >= 1912 && _MSVC_LANG >= 201703L) || (_GLIBCXX_RELEASE >= 9 && __GLIBCXX__ >= 20190503 && __cplusplus >= 201703L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF799 # The macro: "_PSTL_CPP14_2RANGE_MISMATCH_EQUAL_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF800 # The macro: "_PSTL_CPP14_MAKE_REVERSE_ITERATOR_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF801 # The macro: "_PSTL_CPP14_INTEGER_SEQUENCE_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF802 # The macro: "_PSTL_CPP14_VARIABLE_TEMPLATES_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF803 # The macro: "_PSTL_UDR_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF804 # The macro: "_PSTL_UDS_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8a # At line number 138
+ .long .LASF805 # The macro: "_PSTL_PRAGMA_SIMD_EARLYEXIT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x91 # At line number 145
+ .long .LASF806 # The macro: "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC(PRM) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF807 # The macro: "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC_2ARGS(PRM1,PRM2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF808 # The macro: "_PSTL_PRAGMA_DECLARE_REDUCTION(NAME,OP) _PSTL_PRAGMA(omp declare reduction(NAME:OP : omp_out(omp_in)) initializer(omp_priv = omp_orig))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa2 # At line number 162
+ .long .LASF809 # The macro: "_PSTL_PRAGMA_VECTOR_UNALIGNED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa9 # At line number 169
+ .long .LASF810 # The macro: "_PSTL_USE_NONTEMPORAL_STORES_IF_ALLOWED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaf # At line number 175
+ .long .LASF811 # The macro: "_PSTL_PRAGMA_LOCATION " [Parallel STL message]: ""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2 # At line number 178
+ .long .LASF812 # The macro: "_PSTL_PRAGMA_MESSAGE_IMPL(x) _PSTL_PRAGMA(message(_PSTL_STRING_CONCAT(_PSTL_PRAGMA_LOCATION, x)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb8 # At line number 184
+ .long .LASF813 # The macro: "_PSTL_PRAGMA_MESSAGE(x) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb9 # At line number 185
+ .long .LASF814 # The macro: "_PSTL_PRAGMA_MESSAGE_POLICIES(x) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cconfig.h.2874.54f1071a8367a9bf141fad3e68fc75e0,comdat
+.Ldebug_macro15:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb3a # At line number 2874
+ .long .LASF815 # The macro: "_GLIBCXX_HAVE_ACOSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb3d # At line number 2877
+ .long .LASF816 # The macro: "_GLIBCXX_HAVE_ACOSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb40 # At line number 2880
+ .long .LASF817 # The macro: "_GLIBCXX_HAVE_ALIGNED_ALLOC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb43 # At line number 2883
+ .long .LASF818 # The macro: "_GLIBCXX_HAVE_ARC4RANDOM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb46 # At line number 2886
+ .long .LASF819 # The macro: "_GLIBCXX_HAVE_ARPA_INET_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb49 # At line number 2889
+ .long .LASF820 # The macro: "_GLIBCXX_HAVE_ASINF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4c # At line number 2892
+ .long .LASF821 # The macro: "_GLIBCXX_HAVE_ASINL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4f # At line number 2895
+ .long .LASF822 # The macro: "_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb52 # At line number 2898
+ .long .LASF823 # The macro: "_GLIBCXX_HAVE_ATAN2F 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb55 # At line number 2901
+ .long .LASF824 # The macro: "_GLIBCXX_HAVE_ATAN2L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb58 # At line number 2904
+ .long .LASF825 # The macro: "_GLIBCXX_HAVE_ATANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb5b # At line number 2907
+ .long .LASF826 # The macro: "_GLIBCXX_HAVE_ATANL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb5e # At line number 2910
+ .long .LASF827 # The macro: "_GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb61 # At line number 2913
+ .long .LASF828 # The macro: "_GLIBCXX_HAVE_AT_QUICK_EXIT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb65 # At line number 2917
+ .long .LASF829 # The macro: "_GLIBCXX_HAVE_C99_FLT_EVAL_TYPES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb6b # At line number 2923
+ .long .LASF830 # The macro: "_GLIBCXX_HAVE_CEILF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb6e # At line number 2926
+ .long .LASF831 # The macro: "_GLIBCXX_HAVE_CEILL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb71 # At line number 2929
+ .long .LASF832 # The macro: "_GLIBCXX_HAVE_COMPLEX_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb74 # At line number 2932
+ .long .LASF833 # The macro: "_GLIBCXX_HAVE_COSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb77 # At line number 2935
+ .long .LASF834 # The macro: "_GLIBCXX_HAVE_COSHF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb7a # At line number 2938
+ .long .LASF835 # The macro: "_GLIBCXX_HAVE_COSHL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb7d # At line number 2941
+ .long .LASF836 # The macro: "_GLIBCXX_HAVE_COSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb81 # At line number 2945
+ .long .LASF837 # The macro: "_GLIBCXX_HAVE_DECL_STRNLEN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb84 # At line number 2948
+ .long .LASF838 # The macro: "_GLIBCXX_HAVE_DIRENT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb87 # At line number 2951
+ .long .LASF839 # The macro: "_GLIBCXX_HAVE_DIRFD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb8a # At line number 2954
+ .long .LASF840 # The macro: "_GLIBCXX_HAVE_DLFCN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb8d # At line number 2957
+ .long .LASF841 # The macro: "_GLIBCXX_HAVE_ENDIAN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb90 # At line number 2960
+ .long .LASF842 # The macro: "_GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb93 # At line number 2963
+ .long .LASF843 # The macro: "_GLIBCXX_HAVE_EXECINFO_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb96 # At line number 2966
+ .long .LASF844 # The macro: "_GLIBCXX_HAVE_EXPF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb99 # At line number 2969
+ .long .LASF845 # The macro: "_GLIBCXX_HAVE_EXPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb9c # At line number 2972
+ .long .LASF846 # The macro: "_GLIBCXX_HAVE_FABSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb9f # At line number 2975
+ .long .LASF847 # The macro: "_GLIBCXX_HAVE_FABSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba2 # At line number 2978
+ .long .LASF848 # The macro: "_GLIBCXX_HAVE_FCNTL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba5 # At line number 2981
+ .long .LASF849 # The macro: "_GLIBCXX_HAVE_FDOPENDIR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba8 # At line number 2984
+ .long .LASF850 # The macro: "_GLIBCXX_HAVE_FENV_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbab # At line number 2987
+ .long .LASF851 # The macro: "_GLIBCXX_HAVE_FINITE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbae # At line number 2990
+ .long .LASF852 # The macro: "_GLIBCXX_HAVE_FINITEF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb1 # At line number 2993
+ .long .LASF853 # The macro: "_GLIBCXX_HAVE_FINITEL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb4 # At line number 2996
+ .long .LASF854 # The macro: "_GLIBCXX_HAVE_FLOAT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb7 # At line number 2999
+ .long .LASF855 # The macro: "_GLIBCXX_HAVE_FLOORF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbba # At line number 3002
+ .long .LASF856 # The macro: "_GLIBCXX_HAVE_FLOORL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbbd # At line number 3005
+ .long .LASF857 # The macro: "_GLIBCXX_HAVE_FMODF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbc0 # At line number 3008
+ .long .LASF858 # The macro: "_GLIBCXX_HAVE_FMODL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbc9 # At line number 3017
+ .long .LASF859 # The macro: "_GLIBCXX_HAVE_FREXPF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbcc # At line number 3020
+ .long .LASF860 # The macro: "_GLIBCXX_HAVE_FREXPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbcf # At line number 3023
+ .long .LASF861 # The macro: "_GLIBCXX_HAVE_GETENTROPY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbd2 # At line number 3026
+ .long .LASF862 # The macro: "_GLIBCXX_HAVE_GETIPINFO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbd5 # At line number 3029
+ .long .LASF863 # The macro: "_GLIBCXX_HAVE_GETS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbd8 # At line number 3032
+ .long .LASF864 # The macro: "_GLIBCXX_HAVE_HYPOT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbdb # At line number 3035
+ .long .LASF865 # The macro: "_GLIBCXX_HAVE_HYPOTF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbde # At line number 3038
+ .long .LASF866 # The macro: "_GLIBCXX_HAVE_HYPOTL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe1 # At line number 3041
+ .long .LASF867 # The macro: "_GLIBCXX_HAVE_ICONV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe7 # At line number 3047
+ .long .LASF868 # The macro: "_GLIBCXX_HAVE_INTTYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbed # At line number 3053
+ .long .LASF869 # The macro: "_GLIBCXX_HAVE_ISINFF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf0 # At line number 3056
+ .long .LASF870 # The macro: "_GLIBCXX_HAVE_ISINFL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf6 # At line number 3062
+ .long .LASF871 # The macro: "_GLIBCXX_HAVE_ISNANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf9 # At line number 3065
+ .long .LASF872 # The macro: "_GLIBCXX_HAVE_ISNANL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbfc # At line number 3068
+ .long .LASF873 # The macro: "_GLIBCXX_HAVE_ISWBLANK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbff # At line number 3071
+ .long .LASF874 # The macro: "_GLIBCXX_HAVE_LC_MESSAGES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc02 # At line number 3074
+ .long .LASF875 # The macro: "_GLIBCXX_HAVE_LDEXPF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc05 # At line number 3077
+ .long .LASF876 # The macro: "_GLIBCXX_HAVE_LDEXPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc08 # At line number 3080
+ .long .LASF877 # The macro: "_GLIBCXX_HAVE_LIBINTL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc0b # At line number 3083
+ .long .LASF878 # The macro: "_GLIBCXX_HAVE_LIMIT_AS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc0e # At line number 3086
+ .long .LASF879 # The macro: "_GLIBCXX_HAVE_LIMIT_DATA 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc11 # At line number 3089
+ .long .LASF880 # The macro: "_GLIBCXX_HAVE_LIMIT_FSIZE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc14 # At line number 3092
+ .long .LASF881 # The macro: "_GLIBCXX_HAVE_LIMIT_RSS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc17 # At line number 3095
+ .long .LASF882 # The macro: "_GLIBCXX_HAVE_LIMIT_VMEM 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc1a # At line number 3098
+ .long .LASF883 # The macro: "_GLIBCXX_HAVE_LINK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc1d # At line number 3101
+ .long .LASF884 # The macro: "_GLIBCXX_HAVE_LINK_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc20 # At line number 3104
+ .long .LASF885 # The macro: "_GLIBCXX_HAVE_LINUX_FUTEX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc23 # At line number 3107
+ .long .LASF886 # The macro: "_GLIBCXX_HAVE_LINUX_RANDOM_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc26 # At line number 3110
+ .long .LASF887 # The macro: "_GLIBCXX_HAVE_LINUX_TYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc29 # At line number 3113
+ .long .LASF888 # The macro: "_GLIBCXX_HAVE_LOCALE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc2c # At line number 3116
+ .long .LASF889 # The macro: "_GLIBCXX_HAVE_LOG10F 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc2f # At line number 3119
+ .long .LASF890 # The macro: "_GLIBCXX_HAVE_LOG10L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc32 # At line number 3122
+ .long .LASF891 # The macro: "_GLIBCXX_HAVE_LOGF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc35 # At line number 3125
+ .long .LASF892 # The macro: "_GLIBCXX_HAVE_LOGL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc38 # At line number 3128
+ .long .LASF893 # The macro: "_GLIBCXX_HAVE_LSEEK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc41 # At line number 3137
+ .long .LASF894 # The macro: "_GLIBCXX_HAVE_MBSTATE_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc44 # At line number 3140
+ .long .LASF895 # The macro: "_GLIBCXX_HAVE_MEMALIGN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc47 # At line number 3143
+ .long .LASF896 # The macro: "_GLIBCXX_HAVE_MEMORY_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc4a # At line number 3146
+ .long .LASF897 # The macro: "_GLIBCXX_HAVE_MODF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc4d # At line number 3149
+ .long .LASF898 # The macro: "_GLIBCXX_HAVE_MODFF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc50 # At line number 3152
+ .long .LASF899 # The macro: "_GLIBCXX_HAVE_MODFL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc56 # At line number 3158
+ .long .LASF900 # The macro: "_GLIBCXX_HAVE_NETDB_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc59 # At line number 3161
+ .long .LASF901 # The macro: "_GLIBCXX_HAVE_NETINET_IN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc5c # At line number 3164
+ .long .LASF902 # The macro: "_GLIBCXX_HAVE_NETINET_TCP_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc65 # At line number 3173
+ .long .LASF903 # The macro: "_GLIBCXX_HAVE_OPENAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc68 # At line number 3176
+ .long .LASF904 # The macro: "_GLIBCXX_HAVE_O_NONBLOCK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc6b # At line number 3179
+ .long .LASF905 # The macro: "_GLIBCXX_HAVE_POLL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc6e # At line number 3182
+ .long .LASF906 # The macro: "_GLIBCXX_HAVE_POLL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc71 # At line number 3185
+ .long .LASF907 # The macro: "_GLIBCXX_HAVE_POSIX_MEMALIGN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc75 # At line number 3189
+ .long .LASF908 # The macro: "_GLIBCXX_HAVE_POSIX_SEMAPHORE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc78 # At line number 3192
+ .long .LASF909 # The macro: "_GLIBCXX_HAVE_POWF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc7b # At line number 3195
+ .long .LASF910 # The macro: "_GLIBCXX_HAVE_POWL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc81 # At line number 3201
+ .long .LASF911 # The macro: "_GLIBCXX_HAVE_QUICK_EXIT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc84 # At line number 3204
+ .long .LASF912 # The macro: "_GLIBCXX_HAVE_READLINK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc87 # At line number 3207
+ .long .LASF913 # The macro: "_GLIBCXX_HAVE_SECURE_GETENV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8a # At line number 3210
+ .long .LASF914 # The macro: "_GLIBCXX_HAVE_SETENV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8d # At line number 3213
+ .long .LASF915 # The macro: "_GLIBCXX_HAVE_SINCOS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc90 # At line number 3216
+ .long .LASF916 # The macro: "_GLIBCXX_HAVE_SINCOSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc93 # At line number 3219
+ .long .LASF917 # The macro: "_GLIBCXX_HAVE_SINCOSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc96 # At line number 3222
+ .long .LASF918 # The macro: "_GLIBCXX_HAVE_SINF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc99 # At line number 3225
+ .long .LASF919 # The macro: "_GLIBCXX_HAVE_SINHF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9c # At line number 3228
+ .long .LASF920 # The macro: "_GLIBCXX_HAVE_SINHL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9f # At line number 3231
+ .long .LASF921 # The macro: "_GLIBCXX_HAVE_SINL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca5 # At line number 3237
+ .long .LASF922 # The macro: "_GLIBCXX_HAVE_SOCKATMARK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca8 # At line number 3240
+ .long .LASF923 # The macro: "_GLIBCXX_HAVE_SQRTF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcab # At line number 3243
+ .long .LASF924 # The macro: "_GLIBCXX_HAVE_SQRTL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcae # At line number 3246
+ .long .LASF925 # The macro: "_GLIBCXX_HAVE_STACKTRACE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb1 # At line number 3249
+ .long .LASF926 # The macro: "_GLIBCXX_HAVE_STDALIGN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb4 # At line number 3252
+ .long .LASF927 # The macro: "_GLIBCXX_HAVE_STDBOOL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb7 # At line number 3255
+ .long .LASF928 # The macro: "_GLIBCXX_HAVE_STDINT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcba # At line number 3258
+ .long .LASF929 # The macro: "_GLIBCXX_HAVE_STDLIB_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcbd # At line number 3261
+ .long .LASF930 # The macro: "_GLIBCXX_HAVE_STRERROR_L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc0 # At line number 3264
+ .long .LASF931 # The macro: "_GLIBCXX_HAVE_STRERROR_R 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc3 # At line number 3267
+ .long .LASF932 # The macro: "_GLIBCXX_HAVE_STRINGS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc6 # At line number 3270
+ .long .LASF933 # The macro: "_GLIBCXX_HAVE_STRING_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc9 # At line number 3273
+ .long .LASF934 # The macro: "_GLIBCXX_HAVE_STRTOF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xccc # At line number 3276
+ .long .LASF935 # The macro: "_GLIBCXX_HAVE_STRTOLD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xccf # At line number 3279
+ .long .LASF936 # The macro: "_GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd2 # At line number 3282
+ .long .LASF937 # The macro: "_GLIBCXX_HAVE_STRXFRM_L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd5 # At line number 3285
+ .long .LASF938 # The macro: "_GLIBCXX_HAVE_SYMLINK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd9 # At line number 3289
+ .long .LASF939 # The macro: "_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcdf # At line number 3295
+ .long .LASF940 # The macro: "_GLIBCXX_HAVE_SYS_IOCTL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xce2 # At line number 3298
+ .long .LASF941 # The macro: "_GLIBCXX_HAVE_SYS_IPC_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xceb # At line number 3307
+ .long .LASF942 # The macro: "_GLIBCXX_HAVE_SYS_MMAN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcee # At line number 3310
+ .long .LASF943 # The macro: "_GLIBCXX_HAVE_SYS_PARAM_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf1 # At line number 3313
+ .long .LASF944 # The macro: "_GLIBCXX_HAVE_SYS_RESOURCE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf4 # At line number 3316
+ .long .LASF945 # The macro: "_GLIBCXX_HAVE_SYS_SDT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf7 # At line number 3319
+ .long .LASF946 # The macro: "_GLIBCXX_HAVE_SYS_SEM_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcfa # At line number 3322
+ .long .LASF947 # The macro: "_GLIBCXX_HAVE_SYS_SOCKET_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcfd # At line number 3325
+ .long .LASF948 # The macro: "_GLIBCXX_HAVE_SYS_STATVFS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd00 # At line number 3328
+ .long .LASF949 # The macro: "_GLIBCXX_HAVE_SYS_STAT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd03 # At line number 3331
+ .long .LASF950 # The macro: "_GLIBCXX_HAVE_SYS_SYSINFO_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd06 # At line number 3334
+ .long .LASF951 # The macro: "_GLIBCXX_HAVE_SYS_TIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd09 # At line number 3337
+ .long .LASF952 # The macro: "_GLIBCXX_HAVE_SYS_TYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd0c # At line number 3340
+ .long .LASF953 # The macro: "_GLIBCXX_HAVE_SYS_UIO_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd12 # At line number 3346
+ .long .LASF954 # The macro: "_GLIBCXX_HAVE_S_ISREG 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd15 # At line number 3349
+ .long .LASF955 # The macro: "_GLIBCXX_HAVE_TANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd18 # At line number 3352
+ .long .LASF956 # The macro: "_GLIBCXX_HAVE_TANHF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd1b # At line number 3355
+ .long .LASF957 # The macro: "_GLIBCXX_HAVE_TANHL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd1e # At line number 3358
+ .long .LASF958 # The macro: "_GLIBCXX_HAVE_TANL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd21 # At line number 3361
+ .long .LASF959 # The macro: "_GLIBCXX_HAVE_TGMATH_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd24 # At line number 3364
+ .long .LASF960 # The macro: "_GLIBCXX_HAVE_TIMESPEC_GET 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2a # At line number 3370
+ .long .LASF961 # The macro: "_GLIBCXX_HAVE_TLS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2d # At line number 3373
+ .long .LASF962 # The macro: "_GLIBCXX_HAVE_TRUNCATE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd30 # At line number 3376
+ .long .LASF963 # The macro: "_GLIBCXX_HAVE_UCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd33 # At line number 3379
+ .long .LASF964 # The macro: "_GLIBCXX_HAVE_UNISTD_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd36 # At line number 3382
+ .long .LASF965 # The macro: "_GLIBCXX_HAVE_UNLINKAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd39 # At line number 3385
+ .long .LASF966 # The macro: "_GLIBCXX_HAVE_USELOCALE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd3f # At line number 3391
+ .long .LASF967 # The macro: "_GLIBCXX_HAVE_UTIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd42 # At line number 3394
+ .long .LASF968 # The macro: "_GLIBCXX_HAVE_VFWSCANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd45 # At line number 3397
+ .long .LASF969 # The macro: "_GLIBCXX_HAVE_VSWSCANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd48 # At line number 3400
+ .long .LASF970 # The macro: "_GLIBCXX_HAVE_VWSCANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd4b # At line number 3403
+ .long .LASF971 # The macro: "_GLIBCXX_HAVE_WCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd4e # At line number 3406
+ .long .LASF972 # The macro: "_GLIBCXX_HAVE_WCSTOF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd51 # At line number 3409
+ .long .LASF973 # The macro: "_GLIBCXX_HAVE_WCTYPE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd57 # At line number 3415
+ .long .LASF974 # The macro: "_GLIBCXX_HAVE_WRITEV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd66 # At line number 3430
+ .long .LASF975 # The macro: "_GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd69 # At line number 3433
+ .long .LASF976 # The macro: "_GLIBCXX_ICONV_CONST "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd6d # At line number 3437
+ .long .LASF977 # The macro: "_GLIBCXX_LT_OBJDIR ".libs/""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd73 # At line number 3443
+ .long .LASF978 # The macro: "_GLIBCXX_PACKAGE_BUGREPORT """
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd76 # At line number 3446
+ .long .LASF979 # The macro: "_GLIBCXX_PACKAGE_NAME "package-unused""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd79 # At line number 3449
+ .long .LASF980 # The macro: "_GLIBCXX_PACKAGE_STRING "package-unused version-unused""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd7c # At line number 3452
+ .long .LASF981 # The macro: "_GLIBCXX_PACKAGE_TARNAME "libstdc++""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd7f # At line number 3455
+ .long .LASF982 # The macro: "_GLIBCXX_PACKAGE_URL """
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd82 # At line number 3458
+ .long .LASF983 # The macro: "_GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd85 # At line number 3461
+ .long .LASF984 # The macro: "_GLIBCXX_STDC_HEADERS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd8c # At line number 3468
+ .long .LASF985 # The macro: "_GLIBCXX_DARWIN_USE_64_BIT_INODE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd95 # At line number 3477
+ .long .LASF986 # The macro: "_GLIBCXX11_USE_C99_COMPLEX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd99 # At line number 3481
+ .long .LASF987 # The macro: "_GLIBCXX11_USE_C99_MATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd9d # At line number 3485
+ .long .LASF988 # The macro: "_GLIBCXX11_USE_C99_STDIO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xda1 # At line number 3489
+ .long .LASF989 # The macro: "_GLIBCXX11_USE_C99_STDLIB 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xda5 # At line number 3493
+ .long .LASF990 # The macro: "_GLIBCXX11_USE_C99_WCHAR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdaa # At line number 3498
+ .long .LASF991 # The macro: "_GLIBCXX98_USE_C99_COMPLEX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdae # At line number 3502
+ .long .LASF992 # The macro: "_GLIBCXX98_USE_C99_MATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdb2 # At line number 3506
+ .long .LASF993 # The macro: "_GLIBCXX98_USE_C99_STDIO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdb6 # At line number 3510
+ .long .LASF994 # The macro: "_GLIBCXX98_USE_C99_STDLIB 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdba # At line number 3514
+ .long .LASF995 # The macro: "_GLIBCXX98_USE_C99_WCHAR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdbd # At line number 3517
+ .long .LASF996 # The macro: "_GLIBCXX_ATOMIC_BUILTINS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc1 # At line number 3521
+ .long .LASF997 # The macro: "_GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc8 # At line number 3528
+ .long .LASF998 # The macro: "_GLIBCXX_FULLY_DYNAMIC_STRING 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdcb # At line number 3531
+ .long .LASF999 # The macro: "_GLIBCXX_HAS_GTHREADS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdce # At line number 3534
+ .long .LASF1000 # The macro: "_GLIBCXX_HOSTED __STDC_HOSTED__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdd6 # At line number 3542
+ .long .LASF1001 # The macro: "_GLIBCXX_MANGLE_SIZE_T m"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xde2 # At line number 3554
+ .long .LASF1002 # The macro: "_GLIBCXX_RES_LIMITS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdeb # At line number 3563
+ .long .LASF1003 # The macro: "_GLIBCXX_STDIO_EOF -1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdee # At line number 3566
+ .long .LASF1004 # The macro: "_GLIBCXX_STDIO_SEEK_CUR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdf1 # At line number 3569
+ .long .LASF1005 # The macro: "_GLIBCXX_STDIO_SEEK_END 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdf4 # At line number 3572
+ .long .LASF1006 # The macro: "_GLIBCXX_SYMVER 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdfa # At line number 3578
+ .long .LASF1007 # The macro: "_GLIBCXX_SYMVER_GNU 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe04 # At line number 3588
+ .long .LASF1008 # The macro: "_GLIBCXX_USE_C11_UCHAR_CXX11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe08 # At line number 3592
+ .long .LASF1009 # The macro: "_GLIBCXX_USE_C99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe0d # At line number 3597
+ .long .LASF1010 # The macro: "_GLIBCXX_USE_C99_COMPLEX_ARC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe12 # At line number 3602
+ .long .LASF1011 # The macro: "_GLIBCXX_USE_C99_COMPLEX_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe16 # At line number 3606
+ .long .LASF1012 # The macro: "_GLIBCXX_USE_C99_CTYPE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe1a # At line number 3610
+ .long .LASF1013 # The macro: "_GLIBCXX_USE_C99_CTYPE_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe1e # At line number 3614
+ .long .LASF1014 # The macro: "_GLIBCXX_USE_C99_FENV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe22 # At line number 3618
+ .long .LASF1015 # The macro: "_GLIBCXX_USE_C99_FENV_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe26 # At line number 3622
+ .long .LASF1016 # The macro: "_GLIBCXX_USE_C99_INTTYPES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe2a # At line number 3626
+ .long .LASF1017 # The macro: "_GLIBCXX_USE_C99_INTTYPES_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe2e # At line number 3630
+ .long .LASF1018 # The macro: "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe32 # At line number 3634
+ .long .LASF1019 # The macro: "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe36 # At line number 3638
+ .long .LASF1020 # The macro: "_GLIBCXX_USE_C99_MATH_FUNCS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe3a # At line number 3642
+ .long .LASF1021 # The macro: "_GLIBCXX_USE_C99_MATH_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe3e # At line number 3646
+ .long .LASF1022 # The macro: "_GLIBCXX_USE_C99_STDINT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe42 # At line number 3650
+ .long .LASF1023 # The macro: "_GLIBCXX_USE_C99_STDINT_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe45 # At line number 3653
+ .long .LASF1024 # The macro: "_GLIBCXX_USE_CHDIR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe48 # At line number 3656
+ .long .LASF1025 # The macro: "_GLIBCXX_USE_CHMOD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe4f # At line number 3663
+ .long .LASF1026 # The macro: "_GLIBCXX_USE_CLOCK_MONOTONIC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe52 # At line number 3666
+ .long .LASF1027 # The macro: "_GLIBCXX_USE_CLOCK_REALTIME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe59 # At line number 3673
+ .long .LASF1028 # The macro: "_GLIBCXX_USE_DECIMAL_FLOAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe5d # At line number 3677
+ .long .LASF1029 # The macro: "_GLIBCXX_USE_DEV_RANDOM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe60 # At line number 3680
+ .long .LASF1030 # The macro: "_GLIBCXX_USE_FCHMOD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe63 # At line number 3683
+ .long .LASF1031 # The macro: "_GLIBCXX_USE_FCHMODAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe66 # At line number 3686
+ .long .LASF1032 # The macro: "_GLIBCXX_USE_FSEEKO_FTELLO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe69 # At line number 3689
+ .long .LASF1033 # The macro: "_GLIBCXX_USE_GETCWD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6c # At line number 3692
+ .long .LASF1034 # The macro: "_GLIBCXX_USE_GETTIMEOFDAY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6f # At line number 3695
+ .long .LASF1035 # The macro: "_GLIBCXX_USE_GET_NPROCS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe72 # At line number 3698
+ .long .LASF1036 # The macro: "_GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe75 # At line number 3701
+ .long .LASF1037 # The macro: "_GLIBCXX_USE_LFS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe78 # At line number 3704
+ .long .LASF1038 # The macro: "_GLIBCXX_USE_LONG_LONG 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe7b # At line number 3707
+ .long .LASF1039 # The macro: "_GLIBCXX_USE_LSTAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe7e # At line number 3710
+ .long .LASF1040 # The macro: "_GLIBCXX_USE_MKDIR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe81 # At line number 3713
+ .long .LASF1041 # The macro: "_GLIBCXX_USE_NANOSLEEP 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe84 # At line number 3716
+ .long .LASF1042 # The macro: "_GLIBCXX_USE_NLS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe87 # At line number 3719
+ .long .LASF1043 # The macro: "_GLIBCXX_USE_NL_LANGINFO_L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe8d # At line number 3725
+ .long .LASF1044 # The macro: "_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe90 # At line number 3728
+ .long .LASF1045 # The macro: "_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK (_GLIBCXX_TSAN==0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe94 # At line number 3732
+ .long .LASF1046 # The macro: "_GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe97 # At line number 3735
+ .long .LASF1047 # The macro: "_GLIBCXX_USE_PTHREAD_RWLOCK_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe9b # At line number 3739
+ .long .LASF1048 # The macro: "_GLIBCXX_USE_RANDOM_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe9e # At line number 3742
+ .long .LASF1049 # The macro: "_GLIBCXX_USE_REALPATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xea1 # At line number 3745
+ .long .LASF1050 # The macro: "_GLIBCXX_USE_SCHED_YIELD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xea4 # At line number 3748
+ .long .LASF1051 # The macro: "_GLIBCXX_USE_SC_NPROCESSORS_ONLN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeaa # At line number 3754
+ .long .LASF1052 # The macro: "_GLIBCXX_USE_SENDFILE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeb0 # At line number 3760
+ .long .LASF1053 # The macro: "_GLIBCXX_USE_STRUCT_TM_TM_ZONE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeb3 # At line number 3763
+ .long .LASF1054 # The macro: "_GLIBCXX_USE_ST_MTIM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeb9 # At line number 3769
+ .long .LASF1055 # The macro: "_GLIBCXX_USE_TMPNAM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xebd # At line number 3773
+ .long .LASF1056 # The macro: "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec1 # At line number 3777
+ .long .LASF1057 # The macro: "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec4 # At line number 3780
+ .long .LASF1058 # The macro: "_GLIBCXX_USE_UTIME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec8 # At line number 3784
+ .long .LASF1059 # The macro: "_GLIBCXX_USE_UTIMENSAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xecb # At line number 3787
+ .long .LASF1060 # The macro: "_GLIBCXX_USE_WCHAR_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xed4 # At line number 3796
+ .long .LASF1061 # The macro: "_GLIBCXX_VERBOSE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xed7 # At line number 3799
+ .long .LASF1062 # The macro: "_GLIBCXX_X86_RDRAND 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeda # At line number 3802
+ .long .LASF1063 # The macro: "_GLIBCXX_X86_RDSEED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xedd # At line number 3805
+ .long .LASF1064 # The macro: "_GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xee0 # At line number 3808
+ .long .LASF1065 # The macro: "_GTHREAD_USE_MUTEX_TIMEDLOCK 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.new.45.14daa5310e6c27c6800c0ff00fae2903,comdat
+.Ldebug_macro16:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1071 # The macro: "__glibcxx_want_launder "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1072 # The macro: "__glibcxx_want_hardware_interference_size "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1073 # The macro: "__glibcxx_want_destroying_delete "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1074 # The macro: "__glibcxx_want_constexpr_new "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.0b9e7054804f0f6f91d57c80dd7f547b,comdat
+.Ldebug_macro17:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1077 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1081 # The macro: "__glibcxx_is_null_pointer 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1083 # The macro: "__glibcxx_result_of_sfinae 201210L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1087 # The macro: "__glibcxx_is_swappable 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1089 # The macro: "__glibcxx_void_t 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe # At line number 190
+ .long .LASF1100 # The macro: "__glibcxx_integral_constant_callable 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8 # At line number 200
+ .long .LASF1102 # The macro: "__glibcxx_is_final 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6 # At line number 230
+ .long .LASF1108 # The macro: "__glibcxx_transformation_trait_aliases 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1112 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1114 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1138 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19f # At line number 415
+ .long .LASF1144 # The macro: "__glibcxx_bool_constant 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b3 # At line number 435
+ .long .LASF1148 # The macro: "__glibcxx_has_unique_object_representations 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1bd # At line number 445
+ .long .LASF1150 # The macro: "__glibcxx_hardware_interference_size 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1bf # At line number 447
+ .long .LASF1151 # The macro: "__cpp_lib_hardware_interference_size 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d1 # At line number 465
+ .long .LASF1155 # The macro: "__glibcxx_is_aggregate 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1db # At line number 475
+ .long .LASF1157 # The macro: "__glibcxx_is_invocable 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e5 # At line number 485
+ .long .LASF1159 # The macro: "__glibcxx_launder 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e7 # At line number 487
+ .long .LASF1160 # The macro: "__cpp_lib_launder 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ef # At line number 495
+ .long .LASF1162 # The macro: "__glibcxx_logical_traits 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1164 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20d # At line number 525
+ .long .LASF1168 # The macro: "__glibcxx_type_trait_variable_templates 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.new.201.1eb3e1860491e06c4f6a2a2ab9b40193,comdat
+.Ldebug_macro18:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9 # At line number 201
+ .long .LASF1352 # The macro: "_GLIBCXX_PLACEMENT_CONSTEXPR inline"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd6 # At line number 214
+ .long .LASF1353 # The macro: "_GLIBCXX_PLACEMENT_CONSTEXPR"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.exception_defines.h.31.ca6841b9be3287386aafc5c717935b2e,comdat
+.Ldebug_macro19:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1355 # The macro: "_EXCEPTION_DEFINES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1356 # The macro: "__try try"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1357 # The macro: "__catch(X) catch(X)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1358 # The macro: "__throw_exception_again throw"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.type_traits.30.22003fcb9485c4dd55557aae4be38779,comdat
+.Ldebug_macro20:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1360 # The macro: "_GLIBCXX_TYPE_TRAITS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1361 # The macro: "__glibcxx_want_bool_constant "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1362 # The macro: "__glibcxx_want_bounded_array_traits "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1363 # The macro: "__glibcxx_want_has_unique_object_representations "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1364 # The macro: "__glibcxx_want_integral_constant_callable "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1365 # The macro: "__glibcxx_want_is_aggregate "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1366 # The macro: "__glibcxx_want_is_constant_evaluated "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1367 # The macro: "__glibcxx_want_is_final "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF1368 # The macro: "__glibcxx_want_is_invocable "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1369 # The macro: "__glibcxx_want_is_layout_compatible "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1370 # The macro: "__glibcxx_want_is_nothrow_convertible "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1371 # The macro: "__glibcxx_want_is_null_pointer "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1372 # The macro: "__glibcxx_want_is_pointer_interconvertible "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1373 # The macro: "__glibcxx_want_is_scoped_enum "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1374 # The macro: "__glibcxx_want_is_swappable "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1375 # The macro: "__glibcxx_want_is_virtual_base_of "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1376 # The macro: "__glibcxx_want_logical_traits "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1377 # The macro: "__glibcxx_want_reference_from_temporary "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1378 # The macro: "__glibcxx_want_remove_cvref "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1379 # The macro: "__glibcxx_want_result_of_sfinae "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1380 # The macro: "__glibcxx_want_transformation_trait_aliases "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1381 # The macro: "__glibcxx_want_type_identity "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1382 # The macro: "__glibcxx_want_type_trait_variable_templates "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1383 # The macro: "__glibcxx_want_unwrap_ref "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1384 # The macro: "__glibcxx_want_void_t "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.04ca65c8c659e0b8ec719f4ded8118a4,comdat
+.Ldebug_macro21:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1077 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1081 # The macro: "__glibcxx_is_null_pointer 201309L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF1385 # The macro: "__cpp_lib_is_null_pointer 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1083 # The macro: "__glibcxx_result_of_sfinae 201210L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1386 # The macro: "__cpp_lib_result_of_sfinae 201210L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1087 # The macro: "__glibcxx_is_swappable 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7a # At line number 122
+ .long .LASF1387 # The macro: "__cpp_lib_is_swappable 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1089 # The macro: "__glibcxx_void_t 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1388 # The macro: "__cpp_lib_void_t 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe # At line number 190
+ .long .LASF1100 # The macro: "__glibcxx_integral_constant_callable 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc0 # At line number 192
+ .long .LASF1389 # The macro: "__cpp_lib_integral_constant_callable 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8 # At line number 200
+ .long .LASF1102 # The macro: "__glibcxx_is_final 201402L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca # At line number 202
+ .long .LASF1390 # The macro: "__cpp_lib_is_final 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6 # At line number 230
+ .long .LASF1108 # The macro: "__glibcxx_transformation_trait_aliases 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe8 # At line number 232
+ .long .LASF1391 # The macro: "__cpp_lib_transformation_trait_aliases 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1112 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1114 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1138 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19f # At line number 415
+ .long .LASF1144 # The macro: "__glibcxx_bool_constant 201505L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a1 # At line number 417
+ .long .LASF1392 # The macro: "__cpp_lib_bool_constant 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b3 # At line number 435
+ .long .LASF1148 # The macro: "__glibcxx_has_unique_object_representations 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b5 # At line number 437
+ .long .LASF1393 # The macro: "__cpp_lib_has_unique_object_representations 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d1 # At line number 465
+ .long .LASF1155 # The macro: "__glibcxx_is_aggregate 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d3 # At line number 467
+ .long .LASF1394 # The macro: "__cpp_lib_is_aggregate 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1db # At line number 475
+ .long .LASF1157 # The macro: "__glibcxx_is_invocable 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1dd # At line number 477
+ .long .LASF1395 # The macro: "__cpp_lib_is_invocable 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ef # At line number 495
+ .long .LASF1162 # The macro: "__glibcxx_logical_traits 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f1 # At line number 497
+ .long .LASF1396 # The macro: "__cpp_lib_logical_traits 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1164 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20d # At line number 525
+ .long .LASF1168 # The macro: "__glibcxx_type_trait_variable_templates 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20f # At line number 527
+ .long .LASF1397 # The macro: "__cpp_lib_type_trait_variable_templates 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.move.h.197.554053be3e47ff971b6f2e34fb57d41b,comdat
+.Ldebug_macro22:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc5 # At line number 197
+ .long .LASF1399 # The macro: "_GLIBCXX_FWDREF(_Tp) _Tp&&"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc6 # At line number 198
+ .long .LASF1400 # The macro: "_GLIBCXX_MOVE(__val) std::move(__val)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc7 # At line number 199
+ .long .LASF1401 # The macro: "_GLIBCXX_FORWARD(_Tp,__val) std::forward<_Tp>(__val)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.new_allocator.h.116.1a2b510fb95ea5ea4197559f239d362f,comdat
+.Ldebug_macro23:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1402 # The macro: "_GLIBCXX_OPERATOR_NEW __builtin_operator_new"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1403 # The macro: "_GLIBCXX_OPERATOR_DELETE __builtin_operator_delete"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9f # At line number 159
+ .long .LASF1404 # The macro: "_GLIBCXX_SIZED_DEALLOC(p,n) (p), (n) * sizeof(_Tp)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xaf # At line number 175
+ .long .LASF1405 # The macro: "_GLIBCXX_SIZED_DEALLOC"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1406 # The macro: "_GLIBCXX_OPERATOR_DELETE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb1 # At line number 177
+ .long .LASF1407 # The macro: "_GLIBCXX_OPERATOR_NEW"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_iterator_base_types.h.60.f5b04b2834b4a202064919a73d7a2a46,comdat
+.Ldebug_macro24:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1411 # The macro: "_STL_ITERATOR_BASE_TYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1412 # The macro: "_GLIBCXX26_DEF_VAL_T(T) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11e # At line number 286
+ .long .LASF1413 # The macro: "_GLIBCXX26_ALGO_DEF_VAL_T(_Iterator) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.concept_check.h.31.74a671c8485a1bc7531658609764a36b,comdat
+.Ldebug_macro25:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1415 # The macro: "_CONCEPT_CHECK_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1416 # The macro: "__glibcxx_function_requires(...) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1417 # The macro: "__glibcxx_class_requires(_a,_b) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1418 # The macro: "__glibcxx_class_requires2(_a,_b,_c) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1419 # The macro: "__glibcxx_class_requires3(_a,_b,_c,_d) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1420 # The macro: "__glibcxx_class_requires4(_a,_b,_c,_d,_e) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.assertions.h.30.d72752d74be140ecd1b957aafdcc8b28,comdat
+.Ldebug_macro26:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1421 # The macro: "_GLIBCXX_DEBUG_ASSERTIONS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1422 # The macro: "__glibcxx_requires_non_empty_range(_First,_Last) __glibcxx_assert(_First != _Last)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF1423 # The macro: "__glibcxx_requires_subscript(_N) __glibcxx_assert(_N < this->size())"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1424 # The macro: "__glibcxx_requires_nonempty() __glibcxx_assert(!this->empty())"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1425 # The macro: "_GLIBCXX_DEBUG_ASSERT(_Condition) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1426 # The macro: "_GLIBCXX_DEBUG_PEDASSERT(_Condition) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1427 # The macro: "_GLIBCXX_DEBUG_ONLY(_Statement) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_pair.h.733.b93f55d6a8f972e77632d7b03102caef,comdat
+.Ldebug_macro27:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2dd # At line number 733
+ .long .LASF1430 # The macro: "__glibcxx_no_dangling_refs(_U1,_U2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32f # At line number 815
+ .long .LASF1431 # The macro: "_GLIBCXX_DEPRECATED_PAIR_CTOR __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x37c # At line number 892
+ .long .LASF1432 # The macro: "_GLIBCXX_DEPRECATED_PAIR_CTOR"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3aa # At line number 938
+ .long .LASF1433 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.58bd32deac3e6c00a2eef1e72d963e8f,comdat
+.Ldebug_macro28:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1077 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1112 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1114 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1138 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1164 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cpp_type_traits.h.247.c76f5fcefeda021659c214fc4154481c,comdat
+.Ldebug_macro29:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf7 # At line number 247
+ .long .LASF1436 # The macro: "__INT_N(TYPE) __extension__ template<> struct __is_integer<TYPE> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer<unsigned TYPE> { enum { __value = 1 }; typedef __true_type __type; };"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1437 # The macro: "__INT_N"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.numeric_traits.h.97.218ab54da1c35bff7230edfa0d0219e8,comdat
+.Ldebug_macro30:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1439 # The macro: "_GLIBCXX_INT_N_TRAITS(T,WIDTH) __extension__ template<> struct __is_integer_nonstrict<T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; }; __extension__ template<> struct __is_integer_nonstrict<unsigned T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; };"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF1440 # The macro: "_GLIBCXX_INT_N_TRAITS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f # At line number 143
+ .long .LASF1441 # The macro: "__glibcxx_floating(_Tp,_Fval,_Dval,_LDval) (std::__are_same<_Tp, float>::__value ? _Fval : std::__are_same<_Tp, double>::__value ? _Dval : _LDval)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF1442 # The macro: "__glibcxx_max_digits10(_Tp) (2 + __glibcxx_floating(_Tp, __FLT_MANT_DIG__, __DBL_MANT_DIG__, __LDBL_MANT_DIG__) * 643L / 2136)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF1443 # The macro: "__glibcxx_digits10(_Tp) __glibcxx_floating(_Tp, __FLT_DIG__, __DBL_DIG__, __LDBL_DIG__)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a # At line number 154
+ .long .LASF1444 # The macro: "__glibcxx_max_exponent10(_Tp) __glibcxx_floating(_Tp, __FLT_MAX_10_EXP__, __DBL_MAX_10_EXP__, __LDBL_MAX_10_EXP__)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb7 # At line number 183
+ .long .LASF1445 # The macro: "__glibcxx_floating"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb8 # At line number 184
+ .long .LASF1446 # The macro: "__glibcxx_max_digits10"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb9 # At line number 185
+ .long .LASF1447 # The macro: "__glibcxx_digits10"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1448 # The macro: "__glibcxx_max_exponent10"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_tempbuf.h.70.f8a9d1b22cd67f05ae2d3f2377260bc8,comdat
+.Ldebug_macro31:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1402 # The macro: "_GLIBCXX_OPERATOR_NEW __builtin_operator_new"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1403 # The macro: "_GLIBCXX_OPERATOR_DELETE __builtin_operator_delete"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1449 # The macro: "_GLIBCXX_SIZED_DEALLOC(T,p,n) (p), (n) * sizeof(T)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1405 # The macro: "_GLIBCXX_SIZED_DEALLOC"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb3 # At line number 179
+ .long .LASF1406 # The macro: "_GLIBCXX_OPERATOR_DELETE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1407 # The macro: "_GLIBCXX_OPERATOR_NEW"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_iterator.h.61.5bc243fde8a97ed55fd0715da8a10ac4,comdat
+.Ldebug_macro32:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1453 # The macro: "_STL_ITERATOR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x728 # At line number 1832
+ .long .LASF1454 # The macro: "_GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x729 # At line number 1833
+ .long .LASF1455 # The macro: "_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) std::__make_move_if_noexcept_iterator(_Iter)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.debug.h.30.14675c66734128005fe180e1012feff9,comdat
+.Ldebug_macro33:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1456 # The macro: "_GLIBCXX_DEBUG_MACRO_SWITCH_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1457 # The macro: "__glibcxx_requires_cond(_Cond,_Msg) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1458 # The macro: "__glibcxx_requires_valid_range(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x44 # At line number 68
+ .long .LASF1459 # The macro: "__glibcxx_requires_can_increment(_First,_Size) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1460 # The macro: "__glibcxx_requires_can_increment_range(_First1,_Last1,_First2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1461 # The macro: "__glibcxx_requires_can_decrement_range(_First1,_Last1,_First2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1462 # The macro: "__glibcxx_requires_sorted(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1463 # The macro: "__glibcxx_requires_sorted_pred(_First,_Last,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1464 # The macro: "__glibcxx_requires_sorted_set(_First1,_Last1,_First2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4a # At line number 74
+ .long .LASF1465 # The macro: "__glibcxx_requires_sorted_set_pred(_First1,_Last1,_First2,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1466 # The macro: "__glibcxx_requires_partitioned_lower(_First,_Last,_Value) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4c # At line number 76
+ .long .LASF1467 # The macro: "__glibcxx_requires_partitioned_upper(_First,_Last,_Value) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF1468 # The macro: "__glibcxx_requires_partitioned_lower_pred(_First,_Last,_Value,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4e # At line number 78
+ .long .LASF1469 # The macro: "__glibcxx_requires_partitioned_upper_pred(_First,_Last,_Value,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4f # At line number 79
+ .long .LASF1470 # The macro: "__glibcxx_requires_heap(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x50 # At line number 80
+ .long .LASF1471 # The macro: "__glibcxx_requires_heap_pred(_First,_Last,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1472 # The macro: "__glibcxx_requires_string(_String) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF1473 # The macro: "__glibcxx_requires_string_len(_String,_Len) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x53 # At line number 83
+ .long .LASF1474 # The macro: "__glibcxx_requires_irreflexive(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1475 # The macro: "__glibcxx_requires_irreflexive2(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1476 # The macro: "__glibcxx_requires_irreflexive_pred(_First,_Last,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF1477 # The macro: "__glibcxx_requires_irreflexive_pred2(_First,_Last,_Pred) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.concepts.31.ea57833c2d2cf5ded5d66f52bc824ee7,comdat
+.Ldebug_macro34:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1480 # The macro: "_GLIBCXX_CONCEPTS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1481 # The macro: "__glibcxx_want_concepts "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.bit.58.ea88997f91bfc9ea788eded5c5af9f1e,comdat
+.Ldebug_macro35:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1482 # The macro: "__glibcxx_want_bit_cast "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1483 # The macro: "__glibcxx_want_byteswap "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1484 # The macro: "__glibcxx_want_bitops "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1485 # The macro: "__glibcxx_want_int_pow2 "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1486 # The macro: "__glibcxx_want_endian "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_algobase.h.391.f046b31537a7eda4575156a5f2152d88,comdat
+.Ldebug_macro36:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1487 # The macro: "_GLIBCXX_TO_ADDR(P) P"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x188 # At line number 392
+ .long .LASF1488 # The macro: "_GLIBCXX_ADVANCE(P,N) P += N"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a6 # At line number 678
+ .long .LASF1489 # The macro: "_GLIBCXX_MOVE3(_Tp,_Up,_Vp) std::move(_Tp, _Up, _Vp)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1490 # The macro: "_GLIBCXX_TO_ADDR"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ea # At line number 746
+ .long .LASF1491 # The macro: "_GLIBCXX_ADVANCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x377 # At line number 887
+ .long .LASF1492 # The macro: "_GLIBCXX_MOVE_BACKWARD3(_Tp,_Up,_Vp) std::move_backward(_Tp, _Up, _Vp)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.tuple.49.28e57568481853c5a2e00d3db484dd79,comdat
+.Ldebug_macro37:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF1501 # The macro: "__glibcxx_want_constexpr_tuple "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1502 # The macro: "__glibcxx_want_tuple_element_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1503 # The macro: "__glibcxx_want_tuples_by_type "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1504 # The macro: "__glibcxx_want_apply "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1505 # The macro: "__glibcxx_want_make_from_tuple "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1506 # The macro: "__glibcxx_want_ranges_zip "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1507 # The macro: "__glibcxx_want_tuple_like "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1508 # The macro: "__glibcxx_want_constrained_equality "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.9d4b65f44a4baa3dea24bd8c586430f4,comdat
+.Ldebug_macro38:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1077 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1112 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1509 # The macro: "__cpp_lib_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1114 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x106 # At line number 262
+ .long .LASF1510 # The macro: "__cpp_lib_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1138 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x183 # At line number 387
+ .long .LASF1511 # The macro: "__cpp_lib_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1164 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1fb # At line number 507
+ .long .LASF1512 # The macro: "__cpp_lib_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.tuple.1435.d67aea3b9a6325c4550c93c814ec362b,comdat
+.Ldebug_macro39:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x59b # At line number 1435
+ .long .LASF1433 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1513 # The macro: "__glibcxx_no_dangling_refs(U) "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x819 # At line number 2073
+ .long .LASF1433 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x822 # At line number 2082
+ .long .LASF1430 # The macro: "__glibcxx_no_dangling_refs(_U1,_U2) "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xbd3 # At line number 3027
+ .long .LASF1433 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.functional_hash.h.118.388637d73fc5240c0e876c238ef18aa3,comdat
+.Ldebug_macro40:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1518 # The macro: "_Cxx_hashtable_define_trivial_hash(_Tp) template<> struct hash<_Tp> : public __hash_base<size_t, _Tp> { size_t operator()(_Tp __val) const noexcept { return static_cast<size_t>(__val); } };"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xca # At line number 202
+ .long .LASF1519 # The macro: "_Cxx_hashtable_define_trivial_hash"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.24.10c1a3649a347ee5acc556316eedb15a,comdat
+.Ldebug_macro41:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1526 # The macro: "_WCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF1527 # The macro: "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.libcheaderstart.h.31.ef39b7b23471fa34d163e8083abf71d4,comdat
+.Ldebug_macro42:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1528 # The macro: "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1529 # The macro: "__GLIBC_USE_LIB_EXT2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1530 # The macro: "__GLIBC_USE_LIB_EXT2 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1531 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1532 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1533 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT_C23"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1534 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT_C23 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f # At line number 79
+ .long .LASF1535 # The macro: "__GLIBC_USE_IEC_60559_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1536 # The macro: "__GLIBC_USE_IEC_60559_EXT 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1537 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1538 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1539 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x62 # At line number 98
+ .long .LASF1540 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1541 # The macro: "__GLIBC_USE_IEC_60559_TYPES_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF1542 # The macro: "__GLIBC_USE_IEC_60559_TYPES_EXT 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.floatn.h.20.40a9ac728e59b3a32d20c30e247f330a,comdat
+.Ldebug_macro43:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1543 # The macro: "_BITS_FLOATN_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1544 # The macro: "__HAVE_FLOAT128 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1545 # The macro: "__HAVE_DISTINCT_FLOAT128 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1546 # The macro: "__HAVE_FLOAT64X 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1547 # The macro: "__HAVE_FLOAT64X_LONG_DOUBLE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1548 # The macro: "__f128(x) x ##f128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF1549 # The macro: "__CFLOAT128 _Complex _Float128"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.floatncommon.h.34.df172c769a97023fbe97facd72e1212b,comdat
+.Ldebug_macro44:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1551 # The macro: "__HAVE_FLOAT16 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1552 # The macro: "__HAVE_FLOAT32 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1553 # The macro: "__HAVE_FLOAT64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1554 # The macro: "__HAVE_FLOAT32X 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF1555 # The macro: "__HAVE_FLOAT128X 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1556 # The macro: "__HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1557 # The macro: "__HAVE_DISTINCT_FLOAT32 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1558 # The macro: "__HAVE_DISTINCT_FLOAT64 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1559 # The macro: "__HAVE_DISTINCT_FLOAT32X 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1560 # The macro: "__HAVE_DISTINCT_FLOAT64X 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1561 # The macro: "__HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1562 # The macro: "__HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1563 # The macro: "__HAVE_FLOATN_NOT_TYPEDEF 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1564 # The macro: "__f32(x) x ##f32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1565 # The macro: "__f64(x) x ##f64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1566 # The macro: "__f32x(x) x ##f32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1567 # The macro: "__f64x(x) x ##f64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF1568 # The macro: "__CFLOAT32 _Complex _Float32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3 # At line number 163
+ .long .LASF1569 # The macro: "__CFLOAT64 _Complex _Float64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xab # At line number 171
+ .long .LASF1570 # The macro: "__CFLOAT32X _Complex _Float32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb7 # At line number 183
+ .long .LASF1571 # The macro: "__CFLOAT64X _Complex _Float64x"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.32.859ec9de6e76762773b13581955bbb2b,comdat
+.Ldebug_macro45:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1572 # The macro: "__need_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1573 # The macro: "__need_wchar_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1574 # The macro: "__need_NULL "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.200.c4d2c1d067703956b4be3d13d3c90377,comdat
+.Ldebug_macro46:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8 # At line number 200
+ .long .LASF1575 # The macro: "__size_t__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9 # At line number 201
+ .long .LASF1576 # The macro: "__SIZE_T__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca # At line number 202
+ .long .LASF1577 # The macro: "_SIZE_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb # At line number 203
+ .long .LASF1578 # The macro: "_SYS_SIZE_T_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc # At line number 204
+ .long .LASF1579 # The macro: "_T_SIZE_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd # At line number 205
+ .long .LASF1580 # The macro: "_T_SIZE "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1581 # The macro: "__SIZE_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf # At line number 207
+ .long .LASF1582 # The macro: "_SIZE_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd0 # At line number 208
+ .long .LASF1583 # The macro: "_BSD_SIZE_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd1 # At line number 209
+ .long .LASF1584 # The macro: "_SIZE_T_DEFINED_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1585 # The macro: "_SIZE_T_DEFINED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd3 # At line number 211
+ .long .LASF1586 # The macro: "_BSD_SIZE_T_DEFINED_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd4 # At line number 212
+ .long .LASF1587 # The macro: "_SIZE_T_DECLARED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd5 # At line number 213
+ .long .LASF1588 # The macro: "__DEFINED_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd6 # At line number 214
+ .long .LASF1589 # The macro: "___int_size_t_h "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd7 # At line number 215
+ .long .LASF1590 # The macro: "_GCC_SIZE_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1591 # The macro: "_SIZET_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdf # At line number 223
+ .long .LASF1592 # The macro: "__size_t "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1593 # The macro: "__need_size_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11a # At line number 282
+ .long .LASF1594 # The macro: "__wchar_t__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11b # At line number 283
+ .long .LASF1595 # The macro: "__WCHAR_T__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11c # At line number 284
+ .long .LASF1596 # The macro: "_WCHAR_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1597 # The macro: "_T_WCHAR_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11e # At line number 286
+ .long .LASF1598 # The macro: "_T_WCHAR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11f # At line number 287
+ .long .LASF1599 # The macro: "__WCHAR_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x120 # At line number 288
+ .long .LASF1600 # The macro: "_WCHAR_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x121 # At line number 289
+ .long .LASF1601 # The macro: "_BSD_WCHAR_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x122 # At line number 290
+ .long .LASF1602 # The macro: "_WCHAR_T_DEFINED_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1603 # The macro: "_WCHAR_T_DEFINED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x124 # At line number 292
+ .long .LASF1604 # The macro: "_WCHAR_T_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x125 # At line number 293
+ .long .LASF1605 # The macro: "___int_wchar_t_h "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x126 # At line number 294
+ .long .LASF1606 # The macro: "__INT_WCHAR_T_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1607 # The macro: "_GCC_WCHAR_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x128 # At line number 296
+ .long .LASF1608 # The macro: "_WCHAR_T_DECLARED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x129 # At line number 297
+ .long .LASF1609 # The macro: "__DEFINED_wchar_t "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x136 # At line number 310
+ .long .LASF1610 # The macro: "_BSD_WCHAR_T_"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16c # At line number 364
+ .long .LASF1611 # The macro: "__need_wchar_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF1612 # The macro: "NULL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a0 # At line number 416
+ .long .LASF1613 # The macro: "NULL __null"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1614 # The macro: "__need_NULL"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stdarg.h.34.3a23a216c0c293b3d2ea2e89281481e6,comdat
+.Ldebug_macro47:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1616 # The macro: "__need___va_list"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF1617 # The macro: "__GNUC_VA_LIST "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.20.510818a05484290d697a517509bf4b2d,comdat
+.Ldebug_macro48:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1619 # The macro: "_BITS_WCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1620 # The macro: "__WCHAR_MAX __WCHAR_MAX__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1621 # The macro: "__WCHAR_MIN __WCHAR_MIN__"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wint_t.h.2.b153cb48df5337e6e56fe1404a1b29c5,comdat
+.Ldebug_macro49:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1622 # The macro: "__wint_t_defined 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa # At line number 10
+ .long .LASF1623 # The macro: "_WINT_T 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.65.e3fe15defaa684f3e64fa6c530673c3a,comdat
+.Ldebug_macro50:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1630 # The macro: "__CORRECT_ISO_CPP_WCHAR_H_PROTO "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1631 # The macro: "WCHAR_MIN __WCHAR_MIN"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1632 # The macro: "WCHAR_MAX __WCHAR_MAX"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1633 # The macro: "WEOF (0xffffffffu)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c9 # At line number 713
+ .long .LASF1634 # The macro: "__attr_dealloc_fclose "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cwchar.70.10f0ac513f08a236e4be3486931c2c1b,comdat
+.Ldebug_macro51:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1635 # The macro: "btowc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1636 # The macro: "fgetwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1637 # The macro: "fgetws"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1638 # The macro: "fputwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a # At line number 74
+ .long .LASF1639 # The macro: "fputws"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1640 # The macro: "fwide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c # At line number 76
+ .long .LASF1641 # The macro: "fwprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF1642 # The macro: "fwscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e # At line number 78
+ .long .LASF1643 # The macro: "getwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f # At line number 79
+ .long .LASF1644 # The macro: "getwchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x50 # At line number 80
+ .long .LASF1645 # The macro: "mbrlen"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1646 # The macro: "mbrtowc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF1647 # The macro: "mbsinit"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x53 # At line number 83
+ .long .LASF1648 # The macro: "mbsrtowcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1649 # The macro: "putwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1650 # The macro: "putwchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF1651 # The macro: "swprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF1652 # The macro: "swscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF1653 # The macro: "ungetwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1654 # The macro: "vfwprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1655 # The macro: "vfwscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1656 # The macro: "vswprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1657 # The macro: "vswscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1658 # The macro: "vwprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1659 # The macro: "vwscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1660 # The macro: "wcrtomb"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF1661 # The macro: "wcscat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1662 # The macro: "wcschr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1663 # The macro: "wcscmp"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1664 # The macro: "wcscoll"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1665 # The macro: "wcscpy"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF1666 # The macro: "wcscspn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1667 # The macro: "wcsftime"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1668 # The macro: "wcslen"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1669 # The macro: "wcsncat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1670 # The macro: "wcsncmp"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1671 # The macro: "wcsncpy"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1672 # The macro: "wcspbrk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1673 # The macro: "wcsrchr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF1674 # The macro: "wcsrtombs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1675 # The macro: "wcsspn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1676 # The macro: "wcsstr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1677 # The macro: "wcstod"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1678 # The macro: "wcstof"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a # At line number 122
+ .long .LASF1679 # The macro: "wcstok"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b # At line number 123
+ .long .LASF1680 # The macro: "wcstol"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c # At line number 124
+ .long .LASF1681 # The macro: "wcstoul"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1682 # The macro: "wcsxfrm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1683 # The macro: "wctob"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF1684 # The macro: "wmemchr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x80 # At line number 128
+ .long .LASF1685 # The macro: "wmemcmp"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF1686 # The macro: "wmemcpy"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1687 # The macro: "wmemmove"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF1688 # The macro: "wmemset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1689 # The macro: "wprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF1690 # The macro: "wscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf2 # At line number 242
+ .long .LASF1691 # The macro: "wcstold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf3 # At line number 243
+ .long .LASF1692 # The macro: "wcstoll"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf4 # At line number 244
+ .long .LASF1693 # The macro: "wcstoull"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.typeinfo.30.311085fb6803c6c86c2ae5d923e63677,comdat
+.Ldebug_macro52:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1695 # The macro: "_TYPEINFO "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1696 # The macro: "__glibcxx_want_constexpr_typeinfo "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.27d86c228edb584b68e180abfd62a984,comdat
+.Ldebug_macro53:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1077 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.typeinfo.73.1788909457a301848ebd50ac4a1d7613,comdat
+.Ldebug_macro54:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1697 # The macro: "__GXX_MERGED_TYPEINFO_NAMES 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1698 # The macro: "__GXX_TYPEINFO_EQUALITY_INLINE 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.refwrap.h.31.907281f023ab9c0ecb0f514bf04ae7a0,comdat
+.Ldebug_macro55:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1700 # The macro: "_GLIBCXX_REFWRAP_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1701 # The macro: "_GLIBCXX_MEM_FN_TRAITS2(_CV,_REF,_LVAL,_RVAL) template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) _CV _REF> : _Mem_fn_traits_base<_Res, _CV _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) _CV _REF> : _Mem_fn_traits_base<_Res, _CV _Class, _ArgTypes...> { using __vararg = true_type; };"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1702 # The macro: "_GLIBCXX_MEM_FN_TRAITS(_REF,_LVAL,_RVAL) _GLIBCXX_MEM_FN_TRAITS2( , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(volatile , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const volatile, _REF, _LVAL, _RVAL)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1703 # The macro: "_GLIBCXX_MEM_FN_TRAITS"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1704 # The macro: "_GLIBCXX_MEM_FN_TRAITS2"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.gthrdefault.h.27.30a03623e42919627c5b0e155787471b,comdat
+.Ldebug_macro56:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1708 # The macro: "_GLIBCXX_GCC_GTHR_POSIX_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1709 # The macro: "__GTHREADS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1710 # The macro: "__GTHREADS_CXX0X 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.types.h.109.56eb9ae966b255288cc544f18746a7ff,comdat
+.Ldebug_macro57:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1714 # The macro: "__S16_TYPE short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1715 # The macro: "__U16_TYPE unsigned short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1716 # The macro: "__S32_TYPE int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1717 # The macro: "__U32_TYPE unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1718 # The macro: "__SLONGWORD_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1719 # The macro: "__ULONGWORD_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80 # At line number 128
+ .long .LASF1720 # The macro: "__SQUAD_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF1721 # The macro: "__UQUAD_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1722 # The macro: "__SWORD_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF1723 # The macro: "__UWORD_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1724 # The macro: "__SLONG32_TYPE int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF1725 # The macro: "__ULONG32_TYPE unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86 # At line number 134
+ .long .LASF1726 # The macro: "__S64_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF1727 # The macro: "__U64_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x89 # At line number 137
+ .long .LASF1728 # The macro: "__STD_TYPE typedef"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.typesizes.h.24.ccf5919b8e01b553263cf8f4ab1d5fde,comdat
+.Ldebug_macro58:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1729 # The macro: "_BITS_TYPESIZES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1730 # The macro: "__SYSCALL_SLONG_TYPE __SLONGWORD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1731 # The macro: "__SYSCALL_ULONG_TYPE __ULONGWORD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF1732 # The macro: "__DEV_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF1733 # The macro: "__UID_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1734 # The macro: "__GID_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1735 # The macro: "__INO_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1736 # The macro: "__INO64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1737 # The macro: "__MODE_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1738 # The macro: "__NLINK_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1739 # The macro: "__FSWORD_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1740 # The macro: "__OFF_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1741 # The macro: "__OFF64_T_TYPE __SQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1742 # The macro: "__PID_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1743 # The macro: "__RLIM_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1744 # The macro: "__RLIM64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1745 # The macro: "__BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1746 # The macro: "__BLKCNT64_T_TYPE __SQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1747 # The macro: "__FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1748 # The macro: "__FSBLKCNT64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1749 # The macro: "__FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1750 # The macro: "__FSFILCNT64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1751 # The macro: "__ID_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1752 # The macro: "__CLOCK_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1753 # The macro: "__TIME_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1754 # The macro: "__USECONDS_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1755 # The macro: "__SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1756 # The macro: "__SUSECONDS64_T_TYPE __SQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x44 # At line number 68
+ .long .LASF1757 # The macro: "__DADDR_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1758 # The macro: "__KEY_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1759 # The macro: "__CLOCKID_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1760 # The macro: "__TIMER_T_TYPE void *"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1761 # The macro: "__BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1762 # The macro: "__FSID_T_TYPE struct { int __val[2]; }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4a # At line number 74
+ .long .LASF1763 # The macro: "__SSIZE_T_TYPE __SWORD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1764 # The macro: "__CPU_MASK_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1765 # The macro: "__OFF_T_MATCHES_OFF64_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1766 # The macro: "__INO_T_MATCHES_INO64_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF1767 # The macro: "__RLIM_T_MATCHES_RLIM64_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1768 # The macro: "__STATFS_MATCHES_STATFS64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1769 # The macro: "__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1770 # The macro: "__FD_SETSIZE 1024"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time64.h.24.a8166ae916ec910dab0d8987098d42ee,comdat
+.Ldebug_macro59:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1771 # The macro: "_BITS_TIME64_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1772 # The macro: "__TIME64_T_TYPE __TIME_T_TYPE"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.27.ebf7af1e1d56fba9b2f5e63b6e60d64f,comdat
+.Ldebug_macro60:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1572 # The macro: "__need_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1574 # The macro: "__need_NULL "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.252.48df7efd2eec7c5dc2cb2bd0904069e0,comdat
+.Ldebug_macro61:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1593 # The macro: "__need_size_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF1612 # The macro: "NULL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a0 # At line number 416
+ .long .LASF1613 # The macro: "NULL __null"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1614 # The macro: "__need_NULL"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.endian.h.20.efabd1018df5d7b4052c27dc6bdd5ce5,comdat
+.Ldebug_macro62:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1776 # The macro: "_BITS_ENDIAN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1777 # The macro: "__LITTLE_ENDIAN 1234"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1778 # The macro: "__BIG_ENDIAN 4321"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1779 # The macro: "__PDP_ENDIAN 3412"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.endianness.h.2.2c6a211f7909f3af5e9e9cfa3b6b63c8,comdat
+.Ldebug_macro63:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1780 # The macro: "_BITS_ENDIANNESS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9 # At line number 9
+ .long .LASF1781 # The macro: "__BYTE_ORDER __LITTLE_ENDIAN"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.endian.h.40.9e5d395adda2f4eb53ae69b69b664084,comdat
+.Ldebug_macro64:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1782 # The macro: "__FLOAT_WORD_ORDER __BYTE_ORDER"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1783 # The macro: "__LONG_LONG_PAIR(HI,LO) LO, HI"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.21.0fa6cb99c7cdaf5d5eb874d94ea7116a,comdat
+.Ldebug_macro65:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1785 # The macro: "_BITS_SCHED_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1786 # The macro: "SCHED_OTHER 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1787 # The macro: "SCHED_FIFO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1788 # The macro: "SCHED_RR 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1789 # The macro: "SCHED_NORMAL 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1790 # The macro: "SCHED_BATCH 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1791 # The macro: "SCHED_ISO 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1792 # The macro: "SCHED_IDLE 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1793 # The macro: "SCHED_DEADLINE 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1794 # The macro: "SCHED_EXT 7"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1795 # The macro: "SCHED_RESET_ON_FORK 0x40000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1796 # The macro: "SCHED_FLAG_RESET_ON_FORK 0x01"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1797 # The macro: "SCHED_FLAG_RECLAIM 0x02"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1798 # The macro: "SCHED_FLAG_DL_OVERRUN 0x04"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1799 # The macro: "SCHED_FLAG_KEEP_POLICY 0x08"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1800 # The macro: "SCHED_FLAG_KEEP_PARAMS 0x10"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1801 # The macro: "SCHED_FLAG_UTIL_CLAMP_MIN 0x20"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF1802 # The macro: "SCHED_FLAG_UTIL_CLAMP_MAX 0x40"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1803 # The macro: "SCHED_FLAG_KEEP_ALL (SCHED_FLAG_KEEP_POLICY | SCHED_FLAG_KEEP_PARAMS)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1804 # The macro: "SCHED_FLAG_UTIL_CLAMP (SCHED_FLAG_UTIL_CLAMP_MIN | SCHED_FLAG_UTIL_CLAMP_MAX)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1805 # The macro: "sched_param __glibc_mask_sched_param"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.bitsperlong.h.3.81201f16c5ebf9ebeb0f369d7d7d8e27,comdat
+.Ldebug_macro66:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1810 # The macro: "__ASM_X86_BITSPERLONG_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6 # At line number 6
+ .long .LASF1811 # The macro: "__BITS_PER_LONG 64"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.bitsperlong.h.3.c81570a1b11d23e1da1277c0e6d6abad,comdat
+.Ldebug_macro67:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1812 # The macro: "__ASM_GENERIC_BITS_PER_LONG "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1813 # The macro: "__BITS_PER_LONG_LONG 64"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.3.30f7c09bd532ee2f949603c349599342,comdat
+.Ldebug_macro68:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1815 # The macro: "_LINUX_STDDEF_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF1816 # The macro: "__struct_group_tag(TAG) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1817 # The macro: "__struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; } ATTRS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1818 # The macro: "__DECLARE_FLEX_ARRAY(T,member) T member[0]"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1819 # The macro: "__counted_by(m) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1820 # The macro: "__counted_by_le(m) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1821 # The macro: "__counted_by_be(m) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.posix_types.h.22.ce27b629270cbb91230af7498cb5994b,comdat
+.Ldebug_macro69:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16 # At line number 22
+ .long .LASF1822 # The macro: "__FD_SETSIZE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17 # At line number 23
+ .long .LASF1770 # The macro: "__FD_SETSIZE 1024"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.posix_types_64.h.3.c35937438f2f85070758d4696b933189,comdat
+.Ldebug_macro70:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1823 # The macro: "_ASM_X86_POSIX_TYPES_64_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd # At line number 13
+ .long .LASF1824 # The macro: "__kernel_old_uid_t __kernel_old_uid_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10 # At line number 16
+ .long .LASF1825 # The macro: "__kernel_old_dev_t __kernel_old_dev_t"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.types.h.25.5e03dcce3b8caa26d2b50a3b7f9269de,comdat
+.Ldebug_macro71:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19 # At line number 25
+ .long .LASF1827 # The macro: "__bitwise "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1828 # The macro: "__bitwise__ __bitwise"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1829 # The macro: "__aligned_u64 __u64 __attribute__((aligned(8)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1830 # The macro: "__aligned_s64 __s64 __attribute__((aligned(8)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1831 # The macro: "__aligned_be64 __be64 __attribute__((aligned(8)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1832 # The macro: "__aligned_le64 __le64 __attribute__((aligned(8)))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.types.h.7.d8bedba570dbee0f3b10d2711797b3ea,comdat
+.Ldebug_macro72:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7 # At line number 7
+ .long .LASF1833 # The macro: "SCHED_ATTR_SIZE_VER0 48"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8 # At line number 8
+ .long .LASF1834 # The macro: "SCHED_ATTR_SIZE_VER1 56"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.64.0da2abe4c551d0d3a1777f85f829b986,comdat
+.Ldebug_macro73:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1835 # The macro: "sched_param"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF1836 # The macro: "CSIGNAL 0x000000ff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1837 # The macro: "CLONE_VM 0x00000100"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1838 # The macro: "CLONE_FS 0x00000200"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1839 # The macro: "CLONE_FILES 0x00000400"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1840 # The macro: "CLONE_SIGHAND 0x00000800"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1841 # The macro: "CLONE_PIDFD 0x00001000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1842 # The macro: "CLONE_PTRACE 0x00002000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1843 # The macro: "CLONE_VFORK 0x00004000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x62 # At line number 98
+ .long .LASF1844 # The macro: "CLONE_PARENT 0x00008000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF1845 # The macro: "CLONE_THREAD 0x00010000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1846 # The macro: "CLONE_NEWNS 0x00020000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF1847 # The macro: "CLONE_SYSVSEM 0x00040000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1848 # The macro: "CLONE_SETTLS 0x00080000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1849 # The macro: "CLONE_PARENT_SETTID 0x00100000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1850 # The macro: "CLONE_CHILD_CLEARTID 0x00200000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1851 # The macro: "CLONE_DETACHED 0x00400000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1852 # The macro: "CLONE_UNTRACED 0x00800000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1853 # The macro: "CLONE_CHILD_SETTID 0x01000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1854 # The macro: "CLONE_NEWCGROUP 0x02000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1855 # The macro: "CLONE_NEWUTS 0x04000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF1856 # The macro: "CLONE_NEWIPC 0x08000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1857 # The macro: "CLONE_NEWUSER 0x10000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1858 # The macro: "CLONE_NEWPID 0x20000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1859 # The macro: "CLONE_NEWNET 0x40000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1860 # The macro: "CLONE_IO 0x80000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b # At line number 123
+ .long .LASF1861 # The macro: "CLONE_NEWTIME 0x00000080"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cpuset.h.21.819c5d0fbb06c94c4652b537360ff25a,comdat
+.Ldebug_macro74:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1863 # The macro: "_BITS_CPU_SET_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1864 # The macro: "__CPU_SETSIZE 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1865 # The macro: "__NCPUBITS (8 * sizeof (__cpu_mask))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1866 # The macro: "__CPUELT(cpu) ((cpu) / __NCPUBITS)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1867 # The macro: "__CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1868 # The macro: "__CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\0', setsize); while (0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1869 # The macro: "__CPU_SET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1870 # The macro: "__CPU_CLR_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1871 # The macro: "__CPU_ISSET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x50 # At line number 80
+ .long .LASF1872 # The macro: "__CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1873 # The macro: "__CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1874 # The macro: "__CPU_OP_S(setsize,destset,srcset1,srcset2,op) (__extension__ ({ cpu_set_t *__dest = (destset); const __cpu_mask *__arr1 = (srcset1)->__bits; const __cpu_mask *__arr2 = (srcset2)->__bits; size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; __dest; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1875 # The macro: "__CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1876 # The macro: "__CPU_ALLOC(count) __sched_cpualloc (count)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1877 # The macro: "__CPU_FREE(cpuset) __sched_cpufree (cpuset)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.47.e67ad745c847e33c4e7b201dc9f663a6,comdat
+.Ldebug_macro75:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1878 # The macro: "sched_priority sched_priority"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1879 # The macro: "__sched_priority sched_priority"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1880 # The macro: "CPU_SETSIZE __CPU_SETSIZE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1881 # The macro: "CPU_SET(cpu,cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1882 # The macro: "CPU_CLR(cpu,cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5e # At line number 94
+ .long .LASF1883 # The macro: "CPU_ISSET(cpu,cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1884 # The macro: "CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1885 # The macro: "CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1886 # The macro: "CPU_SET_S(cpu,setsize,cpusetp) __CPU_SET_S (cpu, setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF1887 # The macro: "CPU_CLR_S(cpu,setsize,cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1888 # The macro: "CPU_ISSET_S(cpu,setsize,cpusetp) __CPU_ISSET_S (cpu, setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1889 # The macro: "CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1890 # The macro: "CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1891 # The macro: "CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1892 # The macro: "CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1893 # The macro: "CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1894 # The macro: "CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF1895 # The macro: "CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1896 # The macro: "CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1897 # The macro: "CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x79 # At line number 121
+ .long .LASF1898 # The macro: "CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7c # At line number 124
+ .long .LASF1899 # The macro: "CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1900 # The macro: "CPU_ALLOC(count) __CPU_ALLOC (count)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1901 # The macro: "CPU_FREE(cpuset) __CPU_FREE (cpuset)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time.h.23.18ede267f3a48794bef4705df80339de,comdat
+.Ldebug_macro76:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17 # At line number 23
+ .long .LASF1902 # The macro: "_TIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1572 # The macro: "__need_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1574 # The macro: "__need_NULL "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time.h.24.2a1e1114b014e13763222c5cd6400760,comdat
+.Ldebug_macro77:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1903 # The macro: "_BITS_TIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1904 # The macro: "CLOCKS_PER_SEC ((__clock_t) 1000000)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1905 # The macro: "CLOCK_REALTIME 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1906 # The macro: "CLOCK_MONOTONIC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1907 # The macro: "CLOCK_PROCESS_CPUTIME_ID 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1908 # The macro: "CLOCK_THREAD_CPUTIME_ID 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1909 # The macro: "CLOCK_MONOTONIC_RAW 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1910 # The macro: "CLOCK_REALTIME_COARSE 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1911 # The macro: "CLOCK_MONOTONIC_COARSE 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1912 # The macro: "CLOCK_BOOTTIME 7"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1913 # The macro: "CLOCK_REALTIME_ALARM 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1914 # The macro: "CLOCK_BOOTTIME_ALARM 9"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1915 # The macro: "CLOCK_TAI 11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1916 # The macro: "TIMER_ABSTIME 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.timex.h.88.8db50feb82d841a67daef3e223fd9324,comdat
+.Ldebug_macro78:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF1919 # The macro: "ADJ_OFFSET 0x0001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1920 # The macro: "ADJ_FREQUENCY 0x0002"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1921 # The macro: "ADJ_MAXERROR 0x0004"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1922 # The macro: "ADJ_ESTERROR 0x0008"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1923 # The macro: "ADJ_STATUS 0x0010"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1924 # The macro: "ADJ_TIMECONST 0x0020"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5e # At line number 94
+ .long .LASF1925 # The macro: "ADJ_TAI 0x0080"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1926 # The macro: "ADJ_SETOFFSET 0x0100"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1927 # The macro: "ADJ_MICRO 0x1000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1928 # The macro: "ADJ_NANO 0x2000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x62 # At line number 98
+ .long .LASF1929 # The macro: "ADJ_TICK 0x4000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1930 # The macro: "ADJ_OFFSET_SINGLESHOT 0x8001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF1931 # The macro: "ADJ_OFFSET_SS_READ 0xa001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1932 # The macro: "MOD_OFFSET ADJ_OFFSET"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1933 # The macro: "MOD_FREQUENCY ADJ_FREQUENCY"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1934 # The macro: "MOD_MAXERROR ADJ_MAXERROR"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1935 # The macro: "MOD_ESTERROR ADJ_ESTERROR"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF1936 # The macro: "MOD_STATUS ADJ_STATUS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1937 # The macro: "MOD_TIMECONST ADJ_TIMECONST"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1938 # The macro: "MOD_CLKB ADJ_TICK"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1939 # The macro: "MOD_CLKA ADJ_OFFSET_SINGLESHOT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1940 # The macro: "MOD_TAI ADJ_TAI"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1941 # The macro: "MOD_MICRO ADJ_MICRO"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1942 # The macro: "MOD_NANO ADJ_NANO"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1943 # The macro: "STA_PLL 0x0001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1944 # The macro: "STA_PPSFREQ 0x0002"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1945 # The macro: "STA_PPSTIME 0x0004"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1946 # The macro: "STA_FLL 0x0008"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7a # At line number 122
+ .long .LASF1947 # The macro: "STA_INS 0x0010"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b # At line number 123
+ .long .LASF1948 # The macro: "STA_DEL 0x0020"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7c # At line number 124
+ .long .LASF1949 # The macro: "STA_UNSYNC 0x0040"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1950 # The macro: "STA_FREQHOLD 0x0080"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF1951 # The macro: "STA_PPSSIGNAL 0x0100"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80 # At line number 128
+ .long .LASF1952 # The macro: "STA_PPSJITTER 0x0200"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF1953 # The macro: "STA_PPSWANDER 0x0400"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1954 # The macro: "STA_PPSERROR 0x0800"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1955 # The macro: "STA_CLOCKERR 0x1000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF1956 # The macro: "STA_NANO 0x2000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86 # At line number 134
+ .long .LASF1957 # The macro: "STA_MODE 0x4000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF1958 # The macro: "STA_CLK 0x8000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8a # At line number 138
+ .long .LASF1959 # The macro: "STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time.h.65.ad8b7cdf304665ee800a89090a0d61aa,comdat
+.Ldebug_macro79:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1965 # The macro: "TIME_UTC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xef # At line number 239
+ .long .LASF1966 # The macro: "__isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pthreadtypesarch.h.25.6063cba99664c916e22d3a912bcc348a,comdat
+.Ldebug_macro80:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19 # At line number 25
+ .long .LASF1970 # The macro: "__SIZEOF_PTHREAD_MUTEX_T 40"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF1971 # The macro: "__SIZEOF_PTHREAD_ATTR_T 56"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1972 # The macro: "__SIZEOF_PTHREAD_RWLOCK_T 56"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1973 # The macro: "__SIZEOF_PTHREAD_BARRIER_T 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1974 # The macro: "__SIZEOF_PTHREAD_MUTEXATTR_T 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1975 # The macro: "__SIZEOF_PTHREAD_COND_T 48"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1976 # The macro: "__SIZEOF_PTHREAD_CONDATTR_T 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1977 # The macro: "__SIZEOF_PTHREAD_RWLOCKATTR_T 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1978 # The macro: "__SIZEOF_PTHREAD_BARRIERATTR_T 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1979 # The macro: "__LOCK_ALIGNMENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1980 # The macro: "__ONCE_ALIGNMENT "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.struct_mutex.h.20.e3a8115b63766b45e6c385382ab210bd,comdat
+.Ldebug_macro81:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1982 # The macro: "_THREAD_MUTEX_INTERNAL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1983 # The macro: "__PTHREAD_MUTEX_HAVE_PREV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1984 # The macro: "__PTHREAD_MUTEX_INITIALIZER(__kind) 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL }"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.struct_rwlock.h.21.0254880f2904e3833fb8ae683e0f0330,comdat
+.Ldebug_macro82:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1985 # The macro: "_RWLOCK_INTERNAL_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1986 # The macro: "__PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1987 # The macro: "__PTHREAD_RWLOCK_INITIALIZER(__flags) 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.__sigset_t.h.2.6b1ab6ff3d7b8fd9c0c42b0d80afbd80,comdat
+.Ldebug_macro83:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1991 # The macro: "____sigset_t_defined "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4 # At line number 4
+ .long .LASF1992 # The macro: "_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pthread_stack_mindynamic.h.22.a920bc0766cffdef9d211057c8bee7ba,comdat
+.Ldebug_macro84:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16 # At line number 22
+ .long .LASF1994 # The macro: "__SC_THREAD_STACK_MIN_VALUE 75"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF1995 # The macro: "PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pthread.h.40.aa18493bac84a5edd35d6ba449181dda,comdat
+.Ldebug_macro85:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1996 # The macro: "PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1997 # The macro: "PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1998 # The macro: "PTHREAD_MUTEX_INITIALIZER { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1999 # The macro: "PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF2000 # The macro: "PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF2001 # The macro: "PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF2002 # The macro: "PTHREAD_RWLOCK_INITIALIZER { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF2003 # The macro: "PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF2004 # The macro: "PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF2005 # The macro: "PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x89 # At line number 137
+ .long .LASF2006 # The macro: "PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8b # At line number 139
+ .long .LASF2007 # The macro: "PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF2008 # The macro: "PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x95 # At line number 149
+ .long .LASF2009 # The macro: "PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9b # At line number 155
+ .long .LASF2010 # The macro: "PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xab # At line number 171
+ .long .LASF2011 # The macro: "PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad # At line number 173
+ .long .LASF2012 # The macro: "PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2 # At line number 178
+ .long .LASF2013 # The macro: "PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF2014 # The macro: "PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb6 # At line number 182
+ .long .LASF2015 # The macro: "PTHREAD_CANCELED ((void *) -1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF2016 # The macro: "PTHREAD_ONCE_INIT 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc1 # At line number 193
+ .long .LASF2017 # The macro: "PTHREAD_BARRIER_SERIAL_THREAD -1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a6 # At line number 422
+ .long .LASF2018 # The macro: "PTHREAD_ATTR_NO_SIGMASK_NP (-1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x228 # At line number 552
+ .long .LASF2019 # The macro: "__cleanup_fct_attribute "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x250 # At line number 592
+ .long .LASF2020 # The macro: "pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x256 # At line number 598
+ .long .LASF2021 # The macro: "pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25e # At line number 606
+ .long .LASF2022 # The macro: "pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer ()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x266 # At line number 614
+ .long .LASF2023 # The macro: "pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.gthrdefault.h.49.776f7f6d916a6e544d813c72e9649b80,comdat
+.Ldebug_macro86:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF2024 # The macro: "__GTHREAD_ALWAYS_INLINE __attribute__((__always_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF2025 # The macro: "__GTHREAD_INLINE inline __GTHREAD_ALWAYS_INLINE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF2026 # The macro: "__GTHREAD_HAS_COND 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF2027 # The macro: "__GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4e # At line number 78
+ .long .LASF2028 # The macro: "__GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF2029 # The macro: "__GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF2030 # The macro: "__GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF2031 # The macro: "__GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF2032 # The macro: "__GTHREAD_TIME_INIT {0,0}"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF2033 # The macro: "__gthrw2(name,name2,type) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF2034 # The macro: "__gthrw_(name) name"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x79 # At line number 121
+ .long .LASF2035 # The macro: "__gthrw(name) __gthrw2(__gthrw_ ## name,name,name)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d7 # At line number 983
+ .long .LASF2036 # The macro: "__GTHREAD_INLINE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d8 # At line number 984
+ .long .LASF2037 # The macro: "__GTHREAD_ALWAYS_INLINE"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.atomic_word.h.30.9e0ac69fd462d5e650933e05133b4afa,comdat
+.Ldebug_macro87:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF2038 # The macro: "_GLIBCXX_ATOMIC_WORD_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF2039 # The macro: "_GLIBCXX_READ_MEM_BARRIER __atomic_thread_fence (__ATOMIC_ACQUIRE)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF2040 # The macro: "_GLIBCXX_WRITE_MEM_BARRIER __atomic_thread_fence (__ATOMIC_RELEASE)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.exception.31.b7d845aa1bc0759048241eca7b2b3a8a,comdat
+.Ldebug_macro88:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2043 # The macro: "__EXCEPTION__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF2044 # The macro: "__glibcxx_want_uncaught_exceptions "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.3e356afe9fc49338ddf8c6cb48ea7fb4,comdat
+.Ldebug_macro89:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1077 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF2045 # The macro: "__cpp_lib_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.39.c8a8030e26a8297e31791110b80c861f,comdat
+.Ldebug_macro90:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF2048 # The macro: "_STDDEF_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF2049 # The macro: "_STDDEF_H_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF2050 # The macro: "_ANSI_STDDEF_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF2051 # The macro: "_PTRDIFF_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x94 # At line number 148
+ .long .LASF2052 # The macro: "_T_PTRDIFF_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x95 # At line number 149
+ .long .LASF2053 # The macro: "_T_PTRDIFF "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF2054 # The macro: "__PTRDIFF_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF2055 # The macro: "_PTRDIFF_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x98 # At line number 152
+ .long .LASF2056 # The macro: "_BSD_PTRDIFF_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x99 # At line number 153
+ .long .LASF2057 # The macro: "___int_ptrdiff_t_h "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a # At line number 154
+ .long .LASF2058 # The macro: "_GCC_PTRDIFF_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9b # At line number 155
+ .long .LASF2059 # The macro: "_PTRDIFF_T_DECLARED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF2060 # The macro: "__DEFINED_ptrdiff_t "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xad # At line number 173
+ .long .LASF2061 # The macro: "__need_ptrdiff_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1593 # The macro: "__need_size_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16c # At line number 364
+ .long .LASF1611 # The macro: "__need_wchar_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF1612 # The macro: "NULL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a0 # At line number 416
+ .long .LASF1613 # The macro: "NULL __null"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1614 # The macro: "__need_NULL"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ae # At line number 430
+ .long .LASF2062 # The macro: "offsetof"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF2063 # The macro: "offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b4 # At line number 436
+ .long .LASF2064 # The macro: "_GCC_MAX_ALIGN_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c9 # At line number 457
+ .long .LASF2065 # The macro: "_GXX_NULLPTR_T "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cxxabi_init_exception.h.44.e38819c3787893de1602efd23782161a,comdat
+.Ldebug_macro91:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF2066 # The macro: "_GLIBCXX_CDTOR_CALLABI "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF2067 # The macro: "_GLIBCXX_HAVE_CDTOR_CALLABI 0"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.exception_ptr.h.47.d815ed5919163856a16558bd72e9bbb6,comdat
+.Ldebug_macro92:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF2068 # The macro: "_GLIBCXX_EH_PTR_USED "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x11f # At line number 287
+ .long .LASF2069 # The macro: "_GLIBCXX_EH_PTR_USED"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.atomic_lockfree_defines.h.31.c7378ca49150c49af64f890ebd8a3b58,comdat
+.Ldebug_macro93:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2073 # The macro: "_GLIBCXX_ATOMIC_LOCK_FREE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF2074 # The macro: "ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF2075 # The macro: "ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF2076 # The macro: "ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF2077 # The macro: "ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF2078 # The macro: "ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF2079 # The macro: "ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF2080 # The macro: "ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF2081 # The macro: "ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF2082 # The macro: "ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF2083 # The macro: "ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.1bab2d1f88a15dc12cc1e04c277024a3,comdat
+.Ldebug_macro94:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.atomic_base.h.166.99474906244c1847065aafe1dd57874a,comdat
+.Ldebug_macro95:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF2085 # The macro: "_GLIBCXX20_INIT(I) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF2086 # The macro: "ATOMIC_VAR_INIT(_VI) { _VI }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd0 # At line number 208
+ .long .LASF2087 # The macro: "ATOMIC_FLAG_INIT { 0 }"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.shared_ptr_atomic.h.52.7b1fdb82095db19eef10a15a017eba27,comdat
+.Ldebug_macro96:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF2088 # The macro: "_GLIBCXX_TSAN_MUTEX_DESTROY(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF2089 # The macro: "_GLIBCXX_TSAN_MUTEX_TRY_LOCK(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF2090 # The macro: "_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF2091 # The macro: "_GLIBCXX_TSAN_MUTEX_LOCKED(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF2092 # The macro: "_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF2093 # The macro: "_GLIBCXX_TSAN_MUTEX_POST_UNLOCK(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF2094 # The macro: "_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF2095 # The macro: "_GLIBCXX_TSAN_MUTEX_POST_SIGNAL(X) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.memory.100.8a1d5fa44c5bf6978a87030b981fc4da,comdat
+.Ldebug_macro97:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF2097 # The macro: "__glibcxx_want_allocator_traits_is_always_equal "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF2098 # The macro: "__glibcxx_want_assume_aligned "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF2099 # The macro: "__glibcxx_want_atomic_shared_ptr "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF2100 # The macro: "__glibcxx_want_atomic_value_initialization "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF2101 # The macro: "__glibcxx_want_constexpr_dynamic_alloc "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF2102 # The macro: "__glibcxx_want_constexpr_memory "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF2103 # The macro: "__glibcxx_want_enable_shared_from_this "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF2104 # The macro: "__glibcxx_want_make_unique "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF2105 # The macro: "__glibcxx_want_out_ptr "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF2106 # The macro: "__glibcxx_want_parallel_algorithm "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF2107 # The macro: "__glibcxx_want_ranges "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF2108 # The macro: "__glibcxx_want_raw_memory_algorithms "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF2109 # The macro: "__glibcxx_want_shared_ptr_arrays "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF2110 # The macro: "__glibcxx_want_shared_ptr_weak_type "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF2111 # The macro: "__glibcxx_want_smart_ptr_for_overwrite "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF2112 # The macro: "__glibcxx_want_to_address "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF2113 # The macro: "__glibcxx_want_transparent_operators "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.21c2af1cd6704f846902979f24b7ee22,comdat
+.Ldebug_macro98:
+ .value 0x4 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1075 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1076 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1078 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1079 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF2114 # The macro: "__cpp_lib_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1080 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1082 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1084 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1085 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF2115 # The macro: "__cpp_lib_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1086 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1088 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1090 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1091 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8e # At line number 142
+ .long .LASF2116 # The macro: "__cpp_lib_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1092 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1093 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1094 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1095 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1096 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1097 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1098 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1099 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1101 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1103 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1104 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1105 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1106 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1107 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1109 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1110 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf2 # At line number 242
+ .long .LASF2117 # The macro: "__cpp_lib_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1111 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1113 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1115 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1116 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1117 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1118 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1119 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1120 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1121 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1122 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1123 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1124 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1125 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1126 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x147 # At line number 327
+ .long .LASF2118 # The macro: "__cpp_lib_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1127 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1128 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1129 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1130 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1131 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1132 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1133 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1134 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1135 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1136 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1137 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1139 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1140 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1141 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1142 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1143 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1145 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1146 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1147 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1149 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1152 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1153 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1154 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1156 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1158 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1161 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1163 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1165 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1166 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1167 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1169 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1170 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1171 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1172 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1173 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1174 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1175 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1176 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1178 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x250 # At line number 592
+ .long .LASF2119 # The macro: "__cpp_lib_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1179 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1180 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1181 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1182 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1183 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1184 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1185 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1186 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1187 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1188 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1189 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1190 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1191 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1192 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1193 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1194 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1195 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1196 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1197 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1198 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1199 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1200 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1201 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1202 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1203 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1204 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1205 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1206 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2eb # At line number 747
+ .long .LASF2120 # The macro: "__cpp_lib_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1207 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1208 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1209 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1210 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1211 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1212 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x309 # At line number 777
+ .long .LASF2121 # The macro: "__cpp_lib_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1214 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1215 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1216 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1217 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1218 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1219 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1220 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1224 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1225 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1226 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1227 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1228 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1229 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1230 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1231 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1232 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1233 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1234 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1235 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1236 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1237 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1238 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1239 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1240 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1241 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1242 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1243 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1244 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1245 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1246 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1247 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1248 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1249 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1250 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1251 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1252 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1253 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1254 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1255 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1256 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1258 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1259 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1260 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1261 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1265 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1266 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1267 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1268 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1269 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1270 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1271 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1272 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1274 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1275 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1276 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1277 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1278 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1279 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1280 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1281 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1282 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1283 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1284 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1285 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1286 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1287 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1288 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1289 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1290 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1291 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1292 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1298 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1299 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1300 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1301 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1302 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1303 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1318 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1319 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1320 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1321 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1322 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1323 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1324 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1325 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1326 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1327 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1328 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1329 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1330 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1331 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1332 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1333 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1334 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1335 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1336 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1337 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1338 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1339 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1340 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1341 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1342 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1343 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1344 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1345 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1346 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1347 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1348 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1349 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1350 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1351 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF1826:
+ .string "__ASM_GENERIC_POSIX_TYPES_H "
+.LASF802:
+ .string "_PSTL_CPP14_VARIABLE_TEMPLATES_PRESENT "
+.LASF2286:
+ .string "_ZSt3getILm1EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+.LASF1869:
+ .string "__CPU_SET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))"
+.LASF1672:
+ .string "wcspbrk"
+.LASF1390:
+ .string "__cpp_lib_is_final 201402L"
+.LASF359:
+ .string "__FLT64X_HAS_QUIET_NAN__ 1"
+.LASF1324:
+ .string "__glibcxx_want_forward_like"
+.LASF1843:
+ .string "CLONE_VFORK 0x00004000"
+.LASF1049:
+ .string "_GLIBCXX_USE_REALPATH 1"
+.LASF1950:
+ .string "STA_FREQHOLD 0x0080"
+.LASF129:
+ .string "__cpp_aligned_new 201606L"
+.LASF552:
+ .string "_GLIBCXX_USE_ALLOCATOR_NEW 1"
+.LASF1976:
+ .string "__SIZEOF_PTHREAD_CONDATTR_T 4"
+.LASF869:
+ .string "_GLIBCXX_HAVE_ISINFF 1"
+.LASF2104:
+ .string "__glibcxx_want_make_unique "
+.LASF644:
+ .string "__GLIBC_USE_DEPRECATED_SCANF 0"
+.LASF1623:
+ .string "_WINT_T 1"
+.LASF1348:
+ .string "__glibcxx_want_ranges_to_input"
+.LASF1500:
+ .string "_GLIBCXX_INVOKE_H 1"
+.LASF1705:
+ .string "_ALIGNED_BUFFER_H 1"
+.LASF1283:
+ .string "__glibcxx_want_semaphore"
+.LASF282:
+ .string "__FLT32_DIG__ 6"
+.LASF998:
+ .string "_GLIBCXX_FULLY_DYNAMIC_STRING 0"
+.LASF1118:
+ .string "__glibcxx_to_chars 201611L"
+.LASF508:
+ .string "_GLIBCXX17_INLINE inline"
+.LASF1804:
+ .string "SCHED_FLAG_UTIL_CLAMP (SCHED_FLAG_UTIL_CLAMP_MIN | SCHED_FLAG_UTIL_CLAMP_MAX)"
+.LASF653:
+ .string "__glibc_has_attribute(attr) __has_attribute (attr)"
+.LASF1783:
+ .string "__LONG_LONG_PAIR(HI,LO) LO, HI"
+.LASF2072:
+ .string "_GLIBCXX_ATOMIC_BASE_H 1"
+.LASF614:
+ .string "_DYNAMIC_STACK_SIZE_SOURCE 1"
+.LASF1794:
+ .string "SCHED_EXT 7"
+.LASF788:
+ .string "_PSTL_HIDE_FROM_ABI_PUSH "
+.LASF1746:
+ .string "__BLKCNT64_T_TYPE __SQUAD_TYPE"
+.LASF1269:
+ .string "__glibcxx_want_format_uchar"
+.LASF682:
+ .string "__ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)"
+.LASF620:
+ .string "__USE_ISOCXX11 1"
+.LASF297:
+ .string "__FLT64_MANT_DIG__ 53"
+.LASF898:
+ .string "_GLIBCXX_HAVE_MODFF 1"
+.LASF1194:
+ .string "__glibcxx_filesystem 201703L"
+.LASF2337:
+ .string "tm_sec"
+.LASF221:
+ .string "__FLT_MAX_10_EXP__ 38"
+.LASF164:
+ .string "__SIG_ATOMIC_MAX__ 0x7fffffff"
+.LASF1878:
+ .string "sched_priority sched_priority"
+.LASF1284:
+ .string "__glibcxx_want_smart_ptr_for_overwrite"
+.LASF753:
+ .string "_GLIBCXX_WEAK_DEFINITION "
+.LASF795:
+ .string "_PSTL_PRAGMA_SIMD_SCAN(PRM) _PSTL_PRAGMA(omp simd reduction(inscan, PRM))"
+.LASF638:
+ .string "__USE_MISC 1"
+.LASF780:
+ .string "_PSTL_VERSION_MAJOR (_PSTL_VERSION / 1000)"
+.LASF2368:
+ .string "_Dummy"
+.LASF1338:
+ .string "__glibcxx_want_constexpr_new"
+.LASF1640:
+ .string "fwide"
+.LASF533:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_ALGO "
+.LASF294:
+ .string "__FLT32_HAS_INFINITY__ 1"
+.LASF186:
+ .string "__INT_LEAST64_WIDTH__ 64"
+.LASF1784:
+ .string "__pid_t_defined "
+.LASF2181:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE7releaseEv"
+.LASF1776:
+ .string "_BITS_ENDIAN_H 1"
+.LASF2264:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEcvbEv"
+.LASF1347:
+ .string "__glibcxx_want_text_encoding"
+.LASF1232:
+ .string "__glibcxx_want_optional"
+.LASF786:
+ .string "_PSTL_STRING(x) _PSTL_STRING_AUX(x)"
+.LASF708:
+ .string "__fortify_function __extern_always_inline __attribute_artificial__"
+.LASF385:
+ .string "__DEC64_MIN_EXP__ (-382)"
+.LASF907:
+ .string "_GLIBCXX_HAVE_POSIX_MEMALIGN 1"
+.LASF649:
+ .string "__GLIBC_MINOR__ 41"
+.LASF1883:
+ .string "CPU_ISSET(cpu,cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+.LASF439:
+ .string "__ATOMIC_HLE_RELEASE 131072"
+.LASF1805:
+ .string "sched_param __glibc_mask_sched_param"
+.LASF146:
+ .string "__PTRDIFF_MAX__ 0x7fffffffffffffffL"
+.LASF1633:
+ .string "WEOF (0xffffffffu)"
+.LASF1619:
+ .string "_BITS_WCHAR_H 1"
+.LASF1397:
+ .string "__cpp_lib_type_trait_variable_templates 201510L"
+.LASF44:
+ .string "__WCHAR_TYPE__ int"
+.LASF854:
+ .string "_GLIBCXX_HAVE_FLOAT_H 1"
+.LASF1379:
+ .string "__glibcxx_want_result_of_sfinae "
+.LASF2208:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4Ev"
+.LASF1400:
+ .string "_GLIBCXX_MOVE(__val) std::move(__val)"
+.LASF0:
+ .string "__STDC__ 1"
+.LASF356:
+ .string "__FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x"
+.LASF2024:
+ .string "__GTHREAD_ALWAYS_INLINE __attribute__((__always_inline__))"
+.LASF1062:
+ .string "_GLIBCXX_X86_RDRAND 1"
+.LASF1191:
+ .string "__glibcxx_want_chrono"
+.LASF719:
+ .string "__LDBL_REDIR(name,proto) name proto"
+.LASF1699:
+ .string "_ALLOCATED_PTR_H 1"
+.LASF1806:
+ .string "_LINUX_SCHED_TYPES_H "
+.LASF2079:
+ .string "ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE"
+.LASF204:
+ .string "__UINT_FAST16_MAX__ 0xffffffffffffffffUL"
+.LASF392:
+ .string "__DEC128_MIN_EXP__ (-6142)"
+.LASF1188:
+ .string "__glibcxx_boyer_moore_searcher 201603L"
+.LASF1031:
+ .string "_GLIBCXX_USE_FCHMODAT 1"
+.LASF2296:
+ .string "__ops"
+.LASF1402:
+ .string "_GLIBCXX_OPERATOR_NEW __builtin_operator_new"
+.LASF1418:
+ .string "__glibcxx_class_requires2(_a,_b,_c) "
+.LASF657:
+ .string "__LEAF_ATTR __attribute__ ((__leaf__))"
+.LASF324:
+ .string "__FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128"
+.LASF1811:
+ .string "__BITS_PER_LONG 64"
+.LASF1094:
+ .string "__glibcxx_want_math_spec_funcs"
+.LASF237:
+ .string "__DBL_MAX_10_EXP__ 308"
+.LASF701:
+ .string "__attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))"
+.LASF727:
+ .string "__glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message)"
+.LASF1207:
+ .string "__glibcxx_want_parallel_algorithm"
+.LASF968:
+ .string "_GLIBCXX_HAVE_VFWSCANF 1"
+.LASF1322:
+ .string "__glibcxx_want_flat_set"
+.LASF526:
+ .string "_GLIBCXX_END_NAMESPACE_VERSION "
+.LASF1844:
+ .string "CLONE_PARENT 0x00008000"
+.LASF2250:
+ .string "~unique_ptr"
+.LASF1423:
+ .string "__glibcxx_requires_subscript(_N) __glibcxx_assert(_N < this->size())"
+.LASF2197:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERS3_"
+.LASF1042:
+ .string "_GLIBCXX_USE_NLS 1"
+.LASF460:
+ .string "__ELF__ 1"
+.LASF1307:
+ .string "__glibcxx_want_ranges_join_with"
+.LASF808:
+ .string "_PSTL_PRAGMA_DECLARE_REDUCTION(NAME,OP) _PSTL_PRAGMA(omp declare reduction(NAME:OP : omp_out(omp_in)) initializer(omp_priv = omp_orig))"
+.LASF1984:
+ .string "__PTHREAD_MUTEX_INITIALIZER(__kind) 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL }"
+.LASF1429:
+ .string "_GLIBCXX_UTILITY_H 1"
+.LASF576:
+ .string "__USE_DYNAMIC_STACK_SIZE"
+.LASF1104:
+ .string "__glibcxx_make_reverse_iterator 201402L"
+.LASF2044:
+ .string "__glibcxx_want_uncaught_exceptions "
+.LASF615:
+ .string "__GLIBC_USE_ISOC2Y 1"
+.LASF874:
+ .string "_GLIBCXX_HAVE_LC_MESSAGES 1"
+.LASF2303:
+ .string "short unsigned int"
+.LASF2356:
+ .string "operator new"
+.LASF1492:
+ .string "_GLIBCXX_MOVE_BACKWARD3(_Tp,_Up,_Vp) std::move_backward(_Tp, _Up, _Vp)"
+.LASF1815:
+ .string "_LINUX_STDDEF_H "
+.LASF1245:
+ .string "__glibcxx_want_make_obj_using_allocator"
+.LASF2176:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+.LASF843:
+ .string "_GLIBCXX_HAVE_EXECINFO_H 1"
+.LASF2076:
+ .string "ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE"
+.LASF2105:
+ .string "__glibcxx_want_out_ptr "
+.LASF1085:
+ .string "__glibcxx_shared_ptr_arrays 201611L"
+.LASF2108:
+ .string "__glibcxx_want_raw_memory_algorithms "
+.LASF503:
+ .string "_GLIBCXX14_CONSTEXPR constexpr"
+.LASF1457:
+ .string "__glibcxx_requires_cond(_Cond,_Msg) "
+.LASF1616:
+ .string "__need___va_list"
+.LASF2090:
+ .string "_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED(X) "
+.LASF553:
+ .string "_GLIBCXX_OS_DEFINES 1"
+.LASF2334:
+ .string "__isoc23_vfwscanf"
+.LASF81:
+ .string "__GXX_EXPERIMENTAL_CXX0X__ 1"
+.LASF98:
+ .string "__cpp_inheriting_constructors 201511L"
+.LASF1670:
+ .string "wcsncmp"
+.LASF751:
+ .string "_GLIBCXX_CPU_DEFINES 1"
+.LASF1251:
+ .string "__glibcxx_want_to_address"
+.LASF432:
+ .string "__amd64 1"
+.LASF149:
+ .string "__SHRT_WIDTH__ 16"
+.LASF915:
+ .string "_GLIBCXX_HAVE_SINCOS 1"
+.LASF1453:
+ .string "_STL_ITERATOR_H 1"
+.LASF1560:
+ .string "__HAVE_DISTINCT_FLOAT64X 0"
+.LASF956:
+ .string "_GLIBCXX_HAVE_TANHF 1"
+.LASF842:
+ .string "_GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1"
+.LASF245:
+ .string "__DBL_HAS_INFINITY__ 1"
+.LASF1524:
+ .string "_GLIBCXX_POSTYPES_H 1"
+.LASF1415:
+ .string "_CONCEPT_CHECK_H 1"
+.LASF1447:
+ .string "__glibcxx_digits10"
+.LASF2156:
+ .string "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv"
+.LASF1502:
+ .string "__glibcxx_want_tuple_element_t "
+.LASF841:
+ .string "_GLIBCXX_HAVE_ENDIAN_H 1"
+.LASF229:
+ .string "__FLT_HAS_INFINITY__ 1"
+.LASF1078:
+ .string "__glibcxx_want_uncaught_exceptions"
+.LASF316:
+ .string "__FLT128_MIN_10_EXP__ (-4931)"
+.LASF2385:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE31__nothrow_default_constructibleEv"
+.LASF1448:
+ .string "__glibcxx_max_exponent10"
+.LASF143:
+ .string "__WCHAR_MIN__ (-__WCHAR_MAX__ - 1)"
+.LASF456:
+ .string "linux 1"
+.LASF1136:
+ .string "__glibcxx_any 201606L"
+.LASF758:
+ .string "_GLIBCXX_FAST_MATH 0"
+.LASF1770:
+ .string "__FD_SETSIZE 1024"
+.LASF374:
+ .string "__BFLT16_HAS_INFINITY__ 1"
+.LASF839:
+ .string "_GLIBCXX_HAVE_DIRFD 1"
+.LASF903:
+ .string "_GLIBCXX_HAVE_OPENAT 1"
+.LASF1868:
+ .string "__CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\\0', setsize); while (0)"
+.LASF2322:
+ .string "overflow_arg_area"
+.LASF844:
+ .string "_GLIBCXX_HAVE_EXPF 1"
+.LASF130:
+ .string "__STDCPP_DEFAULT_NEW_ALIGNMENT__ 16"
+.LASF1711:
+ .string "_PTHREAD_H 1"
+.LASF908:
+ .string "_GLIBCXX_HAVE_POSIX_SEMAPHORE 1"
+.LASF762:
+ .string "_GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO"
+.LASF1083:
+ .string "__glibcxx_result_of_sfinae 201210L"
+.LASF372:
+ .string "__BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16"
+.LASF1585:
+ .string "_SIZE_T_DEFINED "
+.LASF2283:
+ .string "_ZSt12__get_helperILm1ESt14default_deleteI4BaseEJEERT0_RSt11_Tuple_implIXT_EJS3_DpT1_EE"
+.LASF1179:
+ .string "__glibcxx_want_raw_memory_algorithms"
+.LASF2323:
+ .string "reg_save_area"
+.LASF969:
+ .string "_GLIBCXX_HAVE_VSWSCANF 1"
+.LASF2200:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4Ev"
+.LASF478:
+ .string "__GLIBCXX__ 20250425"
+.LASF759:
+ .string "__N(msgid) (msgid)"
+.LASF2052:
+ .string "_T_PTRDIFF_ "
+.LASF1329:
+ .string "__glibcxx_want_print"
+.LASF539:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_LDBL "
+.LASF1528:
+ .string "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION"
+.LASF1717:
+ .string "__U32_TYPE unsigned int"
+.LASF1451:
+ .string "_PTR_TRAITS_H 1"
+.LASF2023:
+ .string "pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0)"
+.LASF2121:
+ .string "__cpp_lib_shared_ptr_weak_type 201606L"
+.LASF1732:
+ .string "__DEV_T_TYPE __UQUAD_TYPE"
+.LASF363:
+ .string "__BFLT16_MIN_EXP__ (-125)"
+.LASF180:
+ .string "__INT_LEAST16_WIDTH__ 16"
+.LASF1069:
+ .string "_NEW "
+.LASF1548:
+ .string "__f128(x) x ##f128"
+.LASF1488:
+ .string "_GLIBCXX_ADVANCE(P,N) P += N"
+.LASF1534:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT_C23 1"
+.LASF1982:
+ .string "_THREAD_MUTEX_INTERNAL_H 1"
+.LASF574:
+ .string "__USE_MISC"
+.LASF206:
+ .string "__UINT_FAST64_MAX__ 0xffffffffffffffffUL"
+.LASF277:
+ .string "__FLT16_HAS_DENORM__ 1"
+.LASF1044:
+ .string "_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1"
+.LASF1099:
+ .string "__glibcxx_want_integer_sequence"
+.LASF492:
+ .string "_GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+.LASF2225:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEaSERKS3_"
+.LASF391:
+ .string "__DEC128_MANT_DIG__ 34"
+.LASF138:
+ .string "__SHRT_MAX__ 0x7fff"
+.LASF942:
+ .string "_GLIBCXX_HAVE_SYS_MMAN_H 1"
+.LASF1341:
+ .string "__glibcxx_want_ranges_cache_latest"
+.LASF948:
+ .string "_GLIBCXX_HAVE_SYS_STATVFS_H 1"
+.LASF1209:
+ .string "__glibcxx_want_scoped_lock"
+.LASF292:
+ .string "__FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32"
+.LASF1218:
+ .string "__glibcxx_want_assume_aligned"
+.LASF1691:
+ .string "wcstold"
+.LASF178:
+ .string "__INT_LEAST16_MAX__ 0x7fff"
+.LASF1750:
+ .string "__FSFILCNT64_T_TYPE __UQUAD_TYPE"
+.LASF1862:
+ .string "_BITS_TYPES_STRUCT_SCHED_PARAM 1"
+.LASF565:
+ .string "__USE_XOPEN_EXTENDED"
+.LASF2351:
+ .string "__isoc23_wcstoll"
+.LASF1692:
+ .string "wcstoll"
+.LASF547:
+ .string "__glibcxx_assert(cond) do { if (std::__is_constant_evaluated() && !bool(cond)) std::__glibcxx_assert_fail(); } while (false)"
+.LASF1391:
+ .string "__cpp_lib_transformation_trait_aliases 201304L"
+.LASF1503:
+ .string "__glibcxx_want_tuples_by_type "
+.LASF720:
+ .string "__LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW"
+.LASF1737:
+ .string "__MODE_T_TYPE __U32_TYPE"
+.LASF2252:
+ .string "operator bool"
+.LASF1797:
+ .string "SCHED_FLAG_RECLAIM 0x02"
+.LASF1567:
+ .string "__f64x(x) x ##f64x"
+.LASF62:
+ .string "__INT_LEAST64_TYPE__ long int"
+.LASF169:
+ .string "__INT32_MAX__ 0x7fffffff"
+.LASF322:
+ .string "__FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128"
+.LASF2163:
+ .string "_ZNKSt14default_deleteI4BaseEclEPS0_"
+.LASF1702:
+ .string "_GLIBCXX_MEM_FN_TRAITS(_REF,_LVAL,_RVAL) _GLIBCXX_MEM_FN_TRAITS2( , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(volatile , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const volatile, _REF, _LVAL, _RVAL)"
+.LASF1894:
+ .string "CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)"
+.LASF538:
+ .string "_GLIBCXX_NAMESPACE_LDBL "
+.LASF1282:
+ .string "__glibcxx_want_move_iterator_concept"
+.LASF413:
+ .string "__GCC_ATOMIC_CHAR_LOCK_FREE 2"
+.LASF1107:
+ .string "__glibcxx_want_null_iterators"
+.LASF1173:
+ .string "__glibcxx_want_lcm"
+.LASF2133:
+ .string "_M_a"
+.LASF666:
+ .string "__STRING(x) #x"
+.LASF73:
+ .string "__UINT_FAST32_TYPE__ long unsigned int"
+.LASF865:
+ .string "_GLIBCXX_HAVE_HYPOTF 1"
+.LASF1766:
+ .string "__INO_T_MATCHES_INO64_T 1"
+.LASF23:
+ .string "__SIZEOF_INT__ 4"
+.LASF678:
+ .string "__glibc_c99_flexarr_available 1"
+.LASF849:
+ .string "_GLIBCXX_HAVE_FDOPENDIR 1"
+.LASF1131:
+ .string "__glibcxx_want_shared_timed_mutex"
+.LASF334:
+ .string "__FLT32X_MAX_10_EXP__ 308"
+.LASF1315:
+ .string "__glibcxx_want_ranges_contains"
+.LASF937:
+ .string "_GLIBCXX_HAVE_STRXFRM_L 1"
+.LASF2183:
+ .string "_M_t"
+.LASF1626:
+ .string "____FILE_defined 1"
+.LASF1671:
+ .string "wcsncpy"
+.LASF876:
+ .string "_GLIBCXX_HAVE_LDEXPL 1"
+.LASF983:
+ .string "_GLIBCXX_PACKAGE__GLIBCXX_VERSION \"version-unused\""
+.LASF50:
+ .string "__SIG_ATOMIC_TYPE__ int"
+.LASF1586:
+ .string "_BSD_SIZE_T_DEFINED_ "
+.LASF32:
+ .string "__BIGGEST_ALIGNMENT__ 16"
+.LASF923:
+ .string "_GLIBCXX_HAVE_SQRTF 1"
+.LASF273:
+ .string "__FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16"
+.LASF198:
+ .string "__INT_FAST16_WIDTH__ 64"
+.LASF368:
+ .string "__BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+.LASF1215:
+ .string "__glibcxx_want_string_view"
+.LASF1303:
+ .string "__glibcxx_want_ranges_zip"
+.LASF834:
+ .string "_GLIBCXX_HAVE_COSHF 1"
+.LASF190:
+ .string "__UINT16_C(c) c"
+.LASF1070:
+ .string "__EXCEPTION_H 1"
+.LASF427:
+ .string "__PRAGMA_REDEFINE_EXTNAME 1"
+.LASF1997:
+ .string "PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED"
+.LASF2029:
+ .string "__GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT"
+.LASF1545:
+ .string "__HAVE_DISTINCT_FLOAT128 1"
+.LASF72:
+ .string "__UINT_FAST16_TYPE__ long unsigned int"
+.LASF1208:
+ .string "__glibcxx_scoped_lock 201703L"
+.LASF1898:
+ .string "CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)"
+.LASF818:
+ .string "_GLIBCXX_HAVE_ARC4RANDOM 1"
+.LASF1757:
+ .string "__DADDR_T_TYPE __S32_TYPE"
+.LASF120:
+ .string "__cpp_aggregate_bases 201603L"
+.LASF2126:
+ .string "__debug"
+.LASF1452:
+ .string "_STL_ALGOBASE_H 1"
+.LASF891:
+ .string "_GLIBCXX_HAVE_LOGF 1"
+.LASF517:
+ .string "_GLIBCXX_EXTERN_TEMPLATE 1"
+.LASF1593:
+ .string "__need_size_t"
+.LASF2278:
+ .string "_Types"
+.LASF1605:
+ .string "___int_wchar_t_h "
+.LASF425:
+ .string "__HAVE_SPECULATION_SAFE_VALUE 1"
+.LASF889:
+ .string "_GLIBCXX_HAVE_LOG10F 1"
+.LASF1335:
+ .string "__glibcxx_want_tuple_like"
+.LASF556:
+ .string "__USE_ISOC11"
+.LASF777:
+ .string "_PSTL_ASSERT_MSG(_Condition,_Message) __glibcxx_assert(_Condition)"
+.LASF2275:
+ .string "__single_object"
+.LASF530:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_CONTAINER "
+.LASF1201:
+ .string "__glibcxx_want_math_special_functions"
+.LASF2003:
+ .string "PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } }"
+.LASF1553:
+ .string "__HAVE_FLOAT64 1"
+.LASF1407:
+ .string "_GLIBCXX_OPERATOR_NEW"
+.LASF76:
+ .string "__UINTPTR_TYPE__ long unsigned int"
+.LASF2021:
+ .string "pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0)"
+.LASF1151:
+ .string "__cpp_lib_hardware_interference_size 201703L"
+.LASF1088:
+ .string "__glibcxx_want_is_swappable"
+.LASF730:
+ .string "__fortified_attr_access(a,o,s) __attr_access ((a, o, s))"
+.LASF147:
+ .string "__SIZE_MAX__ 0xffffffffffffffffUL"
+.LASF110:
+ .string "__cpp_namespace_attributes 201411L"
+.LASF1659:
+ .string "vwscanf"
+.LASF703:
+ .string "__always_inline"
+.LASF1999:
+ .string "PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }"
+.LASF55:
+ .string "__UINT8_TYPE__ unsigned char"
+.LASF1551:
+ .string "__HAVE_FLOAT16 0"
+.LASF765:
+ .string "_GLIBCXX_USE_FLOAT128 1"
+.LASF1018:
+ .string "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T 1"
+.LASF2219:
+ .string "_M_tail"
+.LASF635:
+ .string "__USE_LARGEFILE64 1"
+.LASF1921:
+ .string "ADJ_MAXERROR 0x0004"
+.LASF284:
+ .string "__FLT32_MIN_10_EXP__ (-37)"
+.LASF1374:
+ .string "__glibcxx_want_is_swappable "
+.LASF1934:
+ .string "MOD_MAXERROR ADJ_MAXERROR"
+.LASF670:
+ .string "__attribute_overloadable__ "
+.LASF315:
+ .string "__FLT128_MIN_EXP__ (-16381)"
+.LASF2388:
+ .string "_ZSt11make_uniqueI4BaseJEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"
+.LASF1016:
+ .string "_GLIBCXX_USE_C99_INTTYPES 1"
+.LASF1994:
+ .string "__SC_THREAD_STACK_MIN_VALUE 75"
+.LASF2086:
+ .string "ATOMIC_VAR_INIT(_VI) { _VI }"
+.LASF1620:
+ .string "__WCHAR_MAX __WCHAR_MAX__"
+.LASF1813:
+ .string "__BITS_PER_LONG_LONG 64"
+.LASF255:
+ .string "__LDBL_DECIMAL_DIG__ 21"
+.LASF75:
+ .string "__INTPTR_TYPE__ long int"
+.LASF1724:
+ .string "__SLONG32_TYPE int"
+.LASF1696:
+ .string "__glibcxx_want_constexpr_typeinfo "
+.LASF1167:
+ .string "__glibcxx_want_not_fn"
+.LASF512:
+ .string "_GLIBCXX_THROW(_EXC) "
+.LASF1709:
+ .string "__GTHREADS 1"
+.LASF1039:
+ .string "_GLIBCXX_USE_LSTAT 1"
+.LASF511:
+ .string "_GLIBCXX_USE_NOEXCEPT noexcept"
+.LASF195:
+ .string "__INT_FAST8_MAX__ 0x7f"
+.LASF1714:
+ .string "__S16_TYPE short int"
+.LASF2253:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEDn"
+.LASF56:
+ .string "__UINT16_TYPE__ short unsigned int"
+.LASF2276:
+ .string "__unique_ptr_t"
+.LASF1255:
+ .string "__glibcxx_want_constexpr_iterator"
+.LASF399:
+ .string "__DEC64X_MIN_EXP__ (-6142)"
+.LASF2185:
+ .string "_Head_base"
+.LASF1923:
+ .string "ADJ_STATUS 0x0010"
+.LASF1481:
+ .string "__glibcxx_want_concepts "
+.LASF905:
+ .string "_GLIBCXX_HAVE_POLL 1"
+.LASF1102:
+ .string "__glibcxx_is_final 201402L"
+.LASF1212:
+ .string "__glibcxx_shared_ptr_weak_type 201606L"
+.LASF946:
+ .string "_GLIBCXX_HAVE_SYS_SEM_H 1"
+.LASF1579:
+ .string "_T_SIZE_ "
+.LASF1896:
+ .string "CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &)"
+.LASF2180:
+ .string "release"
+.LASF939:
+ .string "_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1"
+.LASF339:
+ .string "__FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x"
+.LASF342:
+ .string "__FLT32X_HAS_INFINITY__ 1"
+.LASF660:
+ .string "__NTH(fct) __LEAF_ATTR fct __THROW"
+.LASF2131:
+ .string "nullptr_t"
+.LASF674:
+ .string "__glibc_objsize(__o) __bos (__o)"
+.LASF1305:
+ .string "__glibcxx_want_ranges_slide"
+.LASF280:
+ .string "__FLT16_IS_IEC_60559__ 1"
+.LASF2263:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEOS3_"
+.LASF2210:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS2_"
+.LASF807:
+ .string "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC_2ARGS(PRM1,PRM2) "
+.LASF1263:
+ .string "__glibcxx_want_constexpr_tuple"
+.LASF174:
+ .string "__UINT64_MAX__ 0xffffffffffffffffUL"
+.LASF176:
+ .string "__INT8_C(c) c"
+.LASF1825:
+ .string "__kernel_old_dev_t __kernel_old_dev_t"
+.LASF738:
+ .string "__stub_chflags "
+.LASF2211:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4EOS2_"
+.LASF1788:
+ .string "SCHED_RR 2"
+.LASF124:
+ .string "__cpp_structured_bindings 201606L"
+.LASF2233:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+.LASF269:
+ .string "__FLT16_MAX_EXP__ 16"
+.LASF871:
+ .string "_GLIBCXX_HAVE_ISNANF 1"
+.LASF1300:
+ .string "__glibcxx_want_reference_from_temporary"
+.LASF1274:
+ .string "__glibcxx_want_constexpr_vector"
+.LASF1625:
+ .string "____mbstate_t_defined 1"
+.LASF2354:
+ .string "__uses_alloc_base"
+.LASF1372:
+ .string "__glibcxx_want_is_pointer_interconvertible "
+.LASF2362:
+ .string "__cxa_guard_release"
+.LASF220:
+ .string "__FLT_MAX_EXP__ 128"
+.LASF1675:
+ .string "wcsspn"
+.LASF14:
+ .string "__ATOMIC_SEQ_CST 5"
+.LASF2186:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4Ev"
+.LASF85:
+ .string "__cpp_runtime_arrays 198712L"
+.LASF742:
+ .string "__stub_setlogin "
+.LASF1200:
+ .string "__glibcxx_math_special_functions 201603L"
+.LASF1101:
+ .string "__glibcxx_want_integral_constant_callable"
+.LASF1980:
+ .string "__ONCE_ALIGNMENT "
+.LASF591:
+ .string "_ISOC99_SOURCE"
+.LASF1882:
+ .string "CPU_CLR(cpu,cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp)"
+.LASF537:
+ .string "_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT"
+.LASF353:
+ .string "__FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+.LASF281:
+ .string "__FLT32_MANT_DIG__ 24"
+.LASF744:
+ .string "__stub_stty "
+.LASF1045:
+ .string "_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK (_GLIBCXX_TSAN==0)"
+.LASF1306:
+ .string "__glibcxx_want_ranges_chunk_by"
+.LASF2184:
+ .string "_Head_base<1, std::default_delete<Base>, true>"
+.LASF2201:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS2_"
+.LASF1852:
+ .string "CLONE_UNTRACED 0x00800000"
+.LASF360:
+ .string "__FLT64X_IS_IEC_60559__ 1"
+.LASF922:
+ .string "_GLIBCXX_HAVE_SOCKATMARK 1"
+.LASF2030:
+ .string "__GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP"
+.LASF1369:
+ .string "__glibcxx_want_is_layout_compatible "
+.LASF992:
+ .string "_GLIBCXX98_USE_C99_MATH 1"
+.LASF160:
+ .string "__INTMAX_C(c) c ## L"
+.LASF2170:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EOS3_"
+.LASF725:
+ .string "__REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)"
+.LASF2231:
+ .string "tuple<Base*, std::default_delete<Base> >"
+.LASF1676:
+ .string "wcsstr"
+.LASF1859:
+ .string "CLONE_NEWNET 0x40000000"
+.LASF1480:
+ .string "_GLIBCXX_CONCEPTS 1"
+.LASF135:
+ .string "__cpp_exceptions 199711L"
+.LASF2078:
+ .string "ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE"
+.LASF980:
+ .string "_GLIBCXX_PACKAGE_STRING \"package-unused version-unused\""
+.LASF1164:
+ .string "__glibcxx_make_from_tuple 201606L"
+.LASF1169:
+ .string "__glibcxx_want_type_trait_variable_templates"
+.LASF211:
+ .string "__GCC_IEC_559_COMPLEX 2"
+.LASF2070:
+ .string "_GLIBCXX_NESTED_EXCEPTION_H 1"
+.LASF858:
+ .string "_GLIBCXX_HAVE_FMODL 1"
+.LASF1081:
+ .string "__glibcxx_is_null_pointer 201309L"
+.LASF1459:
+ .string "__glibcxx_requires_can_increment(_First,_Size) "
+.LASF769:
+ .string "_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1"
+.LASF279:
+ .string "__FLT16_HAS_QUIET_NAN__ 1"
+.LASF2294:
+ .string "__gnu_cxx"
+.LASF2305:
+ .string "long long unsigned int"
+.LASF1594:
+ .string "__wchar_t__ "
+.LASF1259:
+ .string "__glibcxx_want_ranges"
+.LASF406:
+ .string "__USER_LABEL_PREFIX__ "
+.LASF659:
+ .string "__THROWNL __THROW"
+.LASF920:
+ .string "_GLIBCXX_HAVE_SINHL 1"
+.LASF911:
+ .string "_GLIBCXX_HAVE_QUICK_EXIT 1"
+.LASF711:
+ .string "__restrict_arr "
+.LASF1677:
+ .string "wcstod"
+.LASF2202:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS3_"
+.LASF1678:
+ .string "wcstof"
+.LASF846:
+ .string "_GLIBCXX_HAVE_FABSF 1"
+.LASF1922:
+ .string "ADJ_ESTERROR 0x0008"
+.LASF254:
+ .string "__DECIMAL_DIG__ 21"
+.LASF1679:
+ .string "wcstok"
+.LASF507:
+ .string "_GLIBCXX26_CONSTEXPR "
+.LASF1729:
+ .string "_BITS_TYPESIZES_H 1"
+.LASF1470:
+ .string "__glibcxx_requires_heap(_First,_Last) "
+.LASF268:
+ .string "__FLT16_MIN_10_EXP__ (-4)"
+.LASF637:
+ .string "__USE_TIME_BITS64 1"
+.LASF2084:
+ .string "_GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__))"
+.LASF1047:
+ .string "_GLIBCXX_USE_PTHREAD_RWLOCK_T 1"
+.LASF1774:
+ .string "__time_t_defined 1"
+.LASF2220:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERS4_"
+.LASF1716:
+ .string "__S32_TYPE int"
+.LASF1945:
+ .string "STA_PPSTIME 0x0004"
+.LASF1077:
+ .string "__glibcxx_uncaught_exceptions 201411L"
+.LASF696:
+ .string "__attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))"
+.LASF2112:
+ .string "__glibcxx_want_to_address "
+.LASF2082:
+ .string "ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE"
+.LASF367:
+ .string "__BFLT16_DECIMAL_DIG__ 4"
+.LASF168:
+ .string "__INT16_MAX__ 0x7fff"
+.LASF1105:
+ .string "__glibcxx_want_make_reverse_iterator"
+.LASF2370:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC2EPS0_"
+.LASF2371:
+ .string "__ptr"
+.LASF645:
+ .string "__GLIBC_USE_C23_STRTOL 1"
+.LASF214:
+ .string "__DEC_EVAL_METHOD__ 2"
+.LASF1541:
+ .string "__GLIBC_USE_IEC_60559_TYPES_EXT"
+.LASF840:
+ .string "_GLIBCXX_HAVE_DLFCN_H 1"
+.LASF1558:
+ .string "__HAVE_DISTINCT_FLOAT64 0"
+.LASF1113:
+ .string "__glibcxx_want_tuple_element_t"
+.LASF490:
+ .string "_GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+.LASF1527:
+ .string "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION "
+.LASF1121:
+ .string "__glibcxx_want_chrono_udls"
+.LASF1912:
+ .string "CLOCK_BOOTTIME 7"
+.LASF283:
+ .string "__FLT32_MIN_EXP__ (-125)"
+.LASF1880:
+ .string "CPU_SETSIZE __CPU_SETSIZE"
+.LASF2149:
+ .string "_ZNSt15__exception_ptr13exception_ptraSERKS0_"
+.LASF2166:
+ .string "type"
+.LASF1780:
+ .string "_BITS_ENDIANNESS_H 1"
+.LASF489:
+ .string "_GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED"
+.LASF235:
+ .string "__DBL_MIN_10_EXP__ (-307)"
+.LASF2115:
+ .string "__cpp_lib_shared_ptr_arrays 201611L"
+.LASF1098:
+ .string "__glibcxx_integer_sequence 201304L"
+.LASF2254:
+ .string "operator*"
+.LASF1918:
+ .string "__timeval_defined 1"
+.LASF754:
+ .string "_GLIBCXX_USE_WEAK_REF __GXX_WEAK__"
+.LASF2058:
+ .string "_GCC_PTRDIFF_T "
+.LASF340:
+ .string "__FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x"
+.LASF2319:
+ .string "__gnu_debug"
+.LASF259:
+ .string "__LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L"
+.LASF916:
+ .string "_GLIBCXX_HAVE_SINCOSF 1"
+.LASF1516:
+ .string "_FUNCTIONAL_HASH_H 1"
+.LASF77:
+ .string "__GXX_WEAK__ 1"
+.LASF219:
+ .string "__FLT_MIN_10_EXP__ (-37)"
+.LASF1688:
+ .string "wmemset"
+.LASF677:
+ .string "__flexarr []"
+.LASF2148:
+ .string "operator="
+.LASF940:
+ .string "_GLIBCXX_HAVE_SYS_IOCTL_H 1"
+.LASF112:
+ .string "__cpp_nested_namespace_definitions 201411L"
+.LASF1909:
+ .string "CLOCK_MONOTONIC_RAW 4"
+.LASF201:
+ .string "__INT_FAST64_MAX__ 0x7fffffffffffffffL"
+.LASF1857:
+ .string "CLONE_NEWUSER 0x10000000"
+.LASF1940:
+ .string "MOD_TAI ADJ_TAI"
+.LASF1635:
+ .string "btowc"
+.LASF2036:
+ .string "__GTHREAD_INLINE"
+.LASF1905:
+ .string "CLOCK_REALTIME 0"
+.LASF909:
+ .string "_GLIBCXX_HAVE_POWF 1"
+.LASF1061:
+ .string "_GLIBCXX_VERBOSE 1"
+.LASF441:
+ .string "__k8 1"
+.LASF621:
+ .string "__USE_POSIX 1"
+.LASF560:
+ .string "__USE_POSIX"
+.LASF878:
+ .string "_GLIBCXX_HAVE_LIMIT_AS 1"
+.LASF943:
+ .string "_GLIBCXX_HAVE_SYS_PARAM_H 1"
+.LASF1606:
+ .string "__INT_WCHAR_T_H "
+.LASF1552:
+ .string "__HAVE_FLOAT32 1"
+.LASF257:
+ .string "__LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L"
+.LASF1380:
+ .string "__glibcxx_want_transformation_trait_aliases "
+.LASF382:
+ .string "__DEC32_EPSILON__ 1E-6DF"
+.LASF1650:
+ .string "putwchar"
+.LASF103:
+ .string "__cpp_generic_lambdas 201304L"
+.LASF2119:
+ .string "__cpp_lib_raw_memory_algorithms 201606L"
+.LASF504:
+ .string "_GLIBCXX17_CONSTEXPR constexpr"
+.LASF1135:
+ .string "__glibcxx_want_addressof_constexpr"
+.LASF80:
+ .string "__cpp_rtti 199711L"
+.LASF1065:
+ .string "_GTHREAD_USE_MUTEX_TIMEDLOCK 1"
+.LASF1603:
+ .string "_WCHAR_T_DEFINED "
+.LASF1525:
+ .string "_GLIBCXX_CWCHAR 1"
+.LASF1117:
+ .string "__glibcxx_want_robust_nonmodifying_seq_ops"
+.LASF599:
+ .string "_POSIX_SOURCE"
+.LASF337:
+ .string "__FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+.LASF144:
+ .string "__WINT_MAX__ 0xffffffffU"
+.LASF2270:
+ .string "unique_ptr<>"
+.LASF2297:
+ .string "_S_single"
+.LASF226:
+ .string "__FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F"
+.LASF781:
+ .string "_PSTL_VERSION_MINOR ((_PSTL_VERSION % 1000) / 10)"
+.LASF1222:
+ .string "__glibcxx_want_atomic_ref"
+.LASF375:
+ .string "__BFLT16_HAS_QUIET_NAN__ 1"
+.LASF832:
+ .string "_GLIBCXX_HAVE_COMPLEX_H 1"
+.LASF1468:
+ .string "__glibcxx_requires_partitioned_lower_pred(_First,_Last,_Value,_Pred) "
+.LASF902:
+ .string "_GLIBCXX_HAVE_NETINET_TCP_H 1"
+.LASF817:
+ .string "_GLIBCXX_HAVE_ALIGNED_ALLOC 1"
+.LASF348:
+ .string "__FLT64X_MIN_10_EXP__ (-4931)"
+.LASF421:
+ .string "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1"
+.LASF1858:
+ .string "CLONE_NEWPID 0x20000000"
+.LASF1478:
+ .string "_GLIBCXX_PREDEFINED_OPS_H 1"
+.LASF193:
+ .string "__UINT_LEAST64_MAX__ 0xffffffffffffffffUL"
+.LASF1531:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT"
+.LASF1123:
+ .string "__glibcxx_want_complex_udls"
+.LASF1847:
+ .string "CLONE_SYSVSEM 0x00040000"
+.LASF1523:
+ .string "_STRINGFWD_H 1"
+.LASF398:
+ .string "__DEC64X_MANT_DIG__ 34"
+.LASF188:
+ .string "__UINT8_C(c) c"
+.LASF113:
+ .string "__cpp_fold_expressions 201603L"
+.LASF213:
+ .string "__FLT_EVAL_METHOD_TS_18661_3__ 0"
+.LASF288:
+ .string "__FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32"
+.LASF1566:
+ .string "__f32x(x) x ##f32x"
+.LASF1038:
+ .string "_GLIBCXX_USE_LONG_LONG 1"
+.LASF1132:
+ .string "__glibcxx_string_udls 201304L"
+.LASF2034:
+ .string "__gthrw_(name) name"
+.LASF929:
+ .string "_GLIBCXX_HAVE_STDLIB_H 1"
+.LASF713:
+ .string "__glibc_likely(cond) __builtin_expect ((cond), 1)"
+.LASF46:
+ .string "__INTMAX_TYPE__ long int"
+.LASF1032:
+ .string "_GLIBCXX_USE_FSEEKO_FTELLO 1"
+.LASF1681:
+ .string "wcstoul"
+.LASF1204:
+ .string "__glibcxx_node_extract 201606L"
+.LASF2394:
+ .string "11__mbstate_t"
+.LASF260:
+ .string "__LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L"
+.LASF1017:
+ .string "_GLIBCXX_USE_C99_INTTYPES_TR1 1"
+.LASF2014:
+ .string "PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS"
+.LASF2302:
+ .string "unsigned char"
+.LASF230:
+ .string "__FLT_HAS_QUIET_NAN__ 1"
+.LASF1258:
+ .string "__glibcxx_want_shift"
+.LASF1221:
+ .string "__glibcxx_want_atomic_lock_free_type_aliases"
+.LASF810:
+ .string "_PSTL_USE_NONTEMPORAL_STORES_IF_ALLOWED "
+.LASF803:
+ .string "_PSTL_UDR_PRESENT "
+.LASF1383:
+ .string "__glibcxx_want_unwrap_ref "
+.LASF793:
+ .string "_PSTL_PRAGMA_SIMD_REDUCTION(PRM) _PSTL_PRAGMA(omp simd reduction(PRM))"
+.LASF1519:
+ .string "_Cxx_hashtable_define_trivial_hash"
+.LASF33:
+ .string "__ORDER_LITTLE_ENDIAN__ 1234"
+.LASF2059:
+ .string "_PTRDIFF_T_DECLARED "
+.LASF1860:
+ .string "CLONE_IO 0x80000000"
+.LASF757:
+ .string "_GLIBCXX_USE_STD_SPEC_FUNCS 1"
+.LASF1027:
+ .string "_GLIBCXX_USE_CLOCK_REALTIME 1"
+.LASF2081:
+ .string "ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE"
+.LASF1928:
+ .string "ADJ_NANO 0x2000"
+.LASF1682:
+ .string "wcsxfrm"
+.LASF1040:
+ .string "_GLIBCXX_USE_MKDIR 1"
+.LASF1142:
+ .string "__glibcxx_atomic_is_always_lock_free 201603L"
+.LASF1668:
+ .string "wcslen"
+.LASF217:
+ .string "__FLT_DIG__ 6"
+.LASF137:
+ .string "__SCHAR_MAX__ 0x7f"
+.LASF1467:
+ .string "__glibcxx_requires_partitioned_upper(_First,_Last,_Value) "
+.LASF1009:
+ .string "_GLIBCXX_USE_C99 1"
+.LASF1395:
+ .string "__cpp_lib_is_invocable 201703L"
+.LASF2318:
+ .string "float"
+.LASF1517:
+ .string "_HASH_BYTES_H 1"
+.LASF236:
+ .string "__DBL_MAX_EXP__ 1024"
+.LASF2238:
+ .string "tuple<>"
+.LASF558:
+ .string "__USE_ISOC95"
+.LASF1998:
+ .string "PTHREAD_MUTEX_INITIALIZER { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } }"
+.LASF1239:
+ .string "__glibcxx_constexpr_char_traits 201611L"
+.LASF557:
+ .string "__USE_ISOC99"
+.LASF189:
+ .string "__UINT_LEAST16_MAX__ 0xffff"
+.LASF1309:
+ .string "__glibcxx_want_ranges_stride"
+.LASF1865:
+ .string "__NCPUBITS (8 * sizeof (__cpu_mask))"
+.LASF2011:
+ .string "PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE"
+.LASF1891:
+ .string "CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)"
+.LASF1469:
+ .string "__glibcxx_requires_partitioned_upper_pred(_First,_Last,_Value,_Pred) "
+.LASF1236:
+ .string "__glibcxx_want_int_pow2"
+.LASF1799:
+ .string "SCHED_FLAG_KEEP_POLICY 0x08"
+.LASF616:
+ .string "__GLIBC_USE_ISOC23 1"
+.LASF333:
+ .string "__FLT32X_MAX_EXP__ 1024"
+.LASF1311:
+ .string "__glibcxx_want_ranges_as_rvalue"
+.LASF133:
+ .string "__STDCPP_THREADS__ 1"
+.LASF2289:
+ .string "_Tail"
+.LASF1120:
+ .string "__glibcxx_chrono_udls 201304L"
+.LASF2335:
+ .string "__isoc23_vswscanf"
+.LASF1351:
+ .string "__glibcxx_want_all"
+.LASF1229:
+ .string "__glibcxx_want_bounded_array_traits"
+.LASF1403:
+ .string "_GLIBCXX_OPERATOR_DELETE __builtin_operator_delete"
+.LASF30:
+ .string "__SIZEOF_SIZE_T__ 8"
+.LASF395:
+ .string "__DEC128_MAX__ 9.999999999999999999999999999999999E6144DL"
+.LASF1301:
+ .string "__glibcxx_want_containers_ranges"
+.LASF1977:
+ .string "__SIZEOF_PTHREAD_RWLOCKATTR_T 8"
+.LASF1174:
+ .string "__glibcxx_gcd 201606L"
+.LASF435:
+ .string "__x86_64__ 1"
+.LASF2051:
+ .string "_PTRDIFF_T "
+.LASF1888:
+ .string "CPU_ISSET_S(cpu,setsize,cpusetp) __CPU_ISSET_S (cpu, setsize, cpusetp)"
+.LASF724:
+ .string "__REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)"
+.LASF155:
+ .string "__PTRDIFF_WIDTH__ 64"
+.LASF567:
+ .string "__USE_XOPEN2K"
+.LASF1261:
+ .string "__glibcxx_want_constexpr_functional"
+.LASF563:
+ .string "__USE_POSIX199506"
+.LASF1228:
+ .string "__glibcxx_want_bitops"
+.LASF121:
+ .string "__cpp_deduction_guides 201703L"
+.LASF1193:
+ .string "__glibcxx_want_execution"
+.LASF1317:
+ .string "__glibcxx_want_ranges_find_last"
+.LASF1147:
+ .string "__glibcxx_want_byte"
+.LASF952:
+ .string "_GLIBCXX_HAVE_SYS_TYPES_H 1"
+.LASF41:
+ .string "__GNUG__ 15"
+.LASF2221:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERKS4_"
+.LASF458:
+ .string "__unix__ 1"
+.LASF1064:
+ .string "_GLIBCXX_ZONEINFO_DIR \"/usr/share/zoneinfo\""
+.LASF914:
+ .string "_GLIBCXX_HAVE_SETENV 1"
+.LASF1340:
+ .string "__glibcxx_want_is_virtual_base_of"
+.LASF1344:
+ .string "__glibcxx_want_reference_wrapper"
+.LASF1370:
+ .string "__glibcxx_want_is_nothrow_convertible "
+.LASF930:
+ .string "_GLIBCXX_HAVE_STRERROR_L 1"
+.LASF609:
+ .string "_DEFAULT_SOURCE"
+.LASF1313:
+ .string "__glibcxx_want_ranges_enumerate"
+.LASF2400:
+ .string "varStatic"
+.LASF2005:
+ .string "PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED"
+.LASF959:
+ .string "_GLIBCXX_HAVE_TGMATH_H 1"
+.LASF531:
+ .string "_GLIBCXX_END_NAMESPACE_CONTAINER "
+.LASF1036:
+ .string "_GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1"
+.LASF2246:
+ .string "__add_lval_ref_t"
+.LASF1363:
+ .string "__glibcxx_want_has_unique_object_representations "
+.LASF2028:
+ .string "__GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function"
+.LASF702:
+ .string "__wur "
+.LASF1969:
+ .string "_BITS_PTHREADTYPES_ARCH_H 1"
+.LASF900:
+ .string "_GLIBCXX_HAVE_NETDB_H 1"
+.LASF238:
+ .string "__DBL_DECIMAL_DIG__ 17"
+.LASF25:
+ .string "__SIZEOF_LONG_LONG__ 8"
+.LASF2274:
+ .string "_MakeUniq<Base>"
+.LASF2152:
+ .string "_ZNSt15__exception_ptr13exception_ptrD4Ev"
+.LASF1435:
+ .string "_CPP_TYPE_TRAITS_H 1"
+.LASF1963:
+ .string "__timer_t_defined 1"
+.LASF2347:
+ .string "tm_zone"
+.LASF350:
+ .string "__FLT64X_MAX_10_EXP__ 4932"
+.LASF2267:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE4swapERS3_"
+.LASF287:
+ .string "__FLT32_DECIMAL_DIG__ 9"
+.LASF2141:
+ .string "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv"
+.LASF1607:
+ .string "_GCC_WCHAR_T "
+.LASF1642:
+ .string "fwscanf"
+.LASF2085:
+ .string "_GLIBCXX20_INIT(I) "
+.LASF1667:
+ .string "wcsftime"
+.LASF1378:
+ .string "__glibcxx_want_remove_cvref "
+.LASF480:
+ .string "_GLIBCXX_CONST __attribute__ ((__const__))"
+.LASF934:
+ .string "_GLIBCXX_HAVE_STRTOF 1"
+.LASF469:
+ .string "_GLIBCXX_MEMORY 1"
+.LASF2093:
+ .string "_GLIBCXX_TSAN_MUTEX_POST_UNLOCK(X) "
+.LASF1960:
+ .string "__clock_t_defined 1"
+.LASF116:
+ .string "__cpp_constexpr 201603L"
+.LASF2007:
+ .string "PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS"
+.LASF610:
+ .string "_DEFAULT_SOURCE 1"
+.LASF1602:
+ .string "_WCHAR_T_DEFINED_ "
+.LASF1248:
+ .string "__glibcxx_want_span"
+.LASF990:
+ .string "_GLIBCXX11_USE_C99_WCHAR 1"
+.LASF2138:
+ .string "_M_addref"
+.LASF1645:
+ .string "mbrlen"
+.LASF45:
+ .string "__WINT_TYPE__ unsigned int"
+.LASF1024:
+ .string "_GLIBCXX_USE_CHDIR 1"
+.LASF318:
+ .string "__FLT128_MAX_10_EXP__ 4932"
+.LASF836:
+ .string "_GLIBCXX_HAVE_COSL 1"
+.LASF158:
+ .string "__GLIBCXX_BITSIZE_INT_N_0 128"
+.LASF1789:
+ .string "SCHED_NORMAL 0"
+.LASF166:
+ .string "__SIG_ATOMIC_WIDTH__ 32"
+.LASF1205:
+ .string "__glibcxx_want_node_extract"
+.LASF239:
+ .string "__DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+.LASF2381:
+ .string "_ZNKSt15__exception_ptr13exception_ptrcvbEv"
+.LASF2071:
+ .string "_SHARED_PTR_ATOMIC_H 1"
+.LASF1446:
+ .string "__glibcxx_max_digits10"
+.LASF1721:
+ .string "__UQUAD_TYPE unsigned long int"
+.LASF718:
+ .string "__LDBL_REDIR1(name,proto,alias) name proto"
+.LASF216:
+ .string "__FLT_MANT_DIG__ 24"
+.LASF1802:
+ .string "SCHED_FLAG_UTIL_CLAMP_MAX 0x40"
+.LASF1856:
+ .string "CLONE_NEWIPC 0x08000000"
+.LASF1489:
+ .string "_GLIBCXX_MOVE3(_Tp,_Up,_Vp) std::move(_Tp, _Up, _Vp)"
+.LASF673:
+ .string "__glibc_objsize0(__o) __bos0 (__o)"
+.LASF1472:
+ .string "__glibcxx_requires_string(_String) "
+.LASF999:
+ .string "_GLIBCXX_HAS_GTHREADS 1"
+.LASF1526:
+ .string "_WCHAR_H 1"
+.LASF2242:
+ .string "__uniq_ptr_data"
+.LASF1033:
+ .string "_GLIBCXX_USE_GETCWD 1"
+.LASF1561:
+ .string "__HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X"
+.LASF2401:
+ .string "_Unwind_Resume"
+.LASF227:
+ .string "__FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F"
+.LASF506:
+ .string "_GLIBCXX23_CONSTEXPR "
+.LASF1735:
+ .string "__INO_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF972:
+ .string "_GLIBCXX_HAVE_WCSTOF 1"
+.LASF570:
+ .string "__USE_XOPEN2K8XSI"
+.LASF2369:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC2ILb1ELb1EEEv"
+.LASF107:
+ .string "__cpp_digit_separators 201309L"
+.LASF1835:
+ .string "sched_param"
+.LASF1807:
+ .string "_LINUX_TYPES_H "
+.LASF2102:
+ .string "__glibcxx_want_constexpr_memory "
+.LASF1183:
+ .string "__glibcxx_want_nonmember_container_access"
+.LASF156:
+ .string "__SIZE_WIDTH__ 64"
+.LASF1615:
+ .string "__need___va_list "
+.LASF486:
+ .string "_GLIBCXX_DEPRECATED_SUGGEST(ALT) __attribute__ ((__deprecated__ (\"use '\" ALT \"' instead\")))"
+.LASF1895:
+ .string "CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)"
+.LASF2226:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+.LASF1556:
+ .string "__HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16"
+.LASF1246:
+ .string "__glibcxx_want_remove_cvref"
+.LASF636:
+ .string "__TIMESIZE __WORDSIZE"
+.LASF380:
+ .string "__DEC32_MIN__ 1E-95DF"
+.LASF218:
+ .string "__FLT_MIN_EXP__ (-125)"
+.LASF800:
+ .string "_PSTL_CPP14_MAKE_REVERSE_ITERATOR_PRESENT "
+.LASF355:
+ .string "__FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x"
+.LASF608:
+ .string "_LARGEFILE64_SOURCE 1"
+.LASF975:
+ .string "_GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+.LASF2402:
+ .string "__builtin_unwind_resume"
+.LASF36:
+ .string "__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__"
+.LASF1265:
+ .string "__glibcxx_want_atomic_shared_ptr"
+.LASF1511:
+ .string "__cpp_lib_apply 201603L"
+.LASF177:
+ .string "__INT_LEAST8_WIDTH__ 8"
+.LASF2006:
+ .string "PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM"
+.LASF1712:
+ .string "_SCHED_H 1"
+.LASF215:
+ .string "__FLT_RADIX__ 2"
+.LASF182:
+ .string "__INT32_C(c) c"
+.LASF726:
+ .string "__glibc_macro_warning1(message) _Pragma (#message)"
+.LASF264:
+ .string "__LDBL_IS_IEC_60559__ 1"
+.LASF330:
+ .string "__FLT32X_DIG__ 15"
+.LASF1904:
+ .string "CLOCKS_PER_SEC ((__clock_t) 1000000)"
+.LASF1661:
+ .string "wcscat"
+.LASF801:
+ .string "_PSTL_CPP14_INTEGER_SEQUENCE_PRESENT "
+.LASF1178:
+ .string "__glibcxx_raw_memory_algorithms 201606L"
+.LASF2239:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ILb1ELb1EEEv"
+.LASF1241:
+ .string "__glibcxx_want_is_layout_compatible"
+.LASF501:
+ .string "_GLIBCXX_CONSTEXPR constexpr"
+.LASF1924:
+ .string "ADJ_TIMECONST 0x0020"
+.LASF977:
+ .string "_GLIBCXX_LT_OBJDIR \".libs/\""
+.LASF1145:
+ .string "__glibcxx_want_bool_constant"
+.LASF1345:
+ .string "__glibcxx_want_saturation_arithmetic"
+.LASF1728:
+ .string "__STD_TYPE typedef"
+.LASF2259:
+ .string "deleter_type"
+.LASF1126:
+ .string "__glibcxx_make_unique 201304L"
+.LASF484:
+ .string "_GLIBCXX_USE_DEPRECATED 1"
+.LASF2150:
+ .string "_ZNSt15__exception_ptr13exception_ptraSEOS0_"
+.LASF2027:
+ .string "__GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER"
+.LASF2234:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+.LASF2269:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSERKS3_"
+.LASF1778:
+ .string "__BIG_ENDIAN 4321"
+.LASF117:
+ .string "__cpp_if_constexpr 201606L"
+.LASF1342:
+ .string "__glibcxx_want_ranges_concat"
+.LASF1680:
+ .string "wcstol"
+.LASF66:
+ .string "__UINT_LEAST64_TYPE__ long unsigned int"
+.LASF826:
+ .string "_GLIBCXX_HAVE_ATANL 1"
+.LASF320:
+ .string "__FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+.LASF520:
+ .string "_GLIBCXX_NAMESPACE_CXX11 __cxx11::"
+.LASF2004:
+ .string "PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED"
+.LASF1444:
+ .string "__glibcxx_max_exponent10(_Tp) __glibcxx_floating(_Tp, __FLT_MAX_10_EXP__, __DBL_MAX_10_EXP__, __LDBL_MAX_10_EXP__)"
+.LASF383:
+ .string "__DEC32_SUBNORMAL_MIN__ 0.000001E-95DF"
+.LASF579:
+ .string "__KERNEL_STRICT_NAMES"
+.LASF47:
+ .string "__UINTMAX_TYPE__ long unsigned int"
+.LASF549:
+ .string "_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) "
+.LASF1727:
+ .string "__U64_TYPE unsigned long int"
+.LASF329:
+ .string "__FLT32X_MANT_DIG__ 53"
+.LASF770:
+ .string "_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1"
+.LASF1365:
+ .string "__glibcxx_want_is_aggregate "
+.LASF1700:
+ .string "_GLIBCXX_REFWRAP_H 1"
+.LASF71:
+ .string "__UINT_FAST8_TYPE__ unsigned char"
+.LASF941:
+ .string "_GLIBCXX_HAVE_SYS_IPC_H 1"
+.LASF906:
+ .string "_GLIBCXX_HAVE_POLL_H 1"
+.LASF2272:
+ .string "_Del"
+.LASF1751:
+ .string "__ID_T_TYPE __U32_TYPE"
+.LASF150:
+ .string "__INT_WIDTH__ 32"
+.LASF1137:
+ .string "__glibcxx_want_any"
+.LASF688:
+ .string "__attribute_alloc_align__(param) __attribute__ ((__alloc_align__ param))"
+.LASF2198:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERKS3_"
+.LASF58:
+ .string "__UINT64_TYPE__ long unsigned int"
+.LASF2158:
+ .string "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE"
+.LASF514:
+ .string "_GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))"
+.LASF2083:
+ .string "ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE"
+.LASF497:
+ .string "_GLIBCXX26_DEPRECATED "
+.LASF2143:
+ .string "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv"
+.LASF572:
+ .string "__USE_LARGEFILE64"
+.LASF2124:
+ .string "__swappable_details"
+.LASF296:
+ .string "__FLT32_IS_IEC_60559__ 1"
+.LASF1577:
+ .string "_SIZE_T "
+.LASF482:
+ .string "_GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1"
+.LASF704:
+ .string "__always_inline __inline __attribute__ ((__always_inline__))"
+.LASF2280:
+ .string "_Nth_type<1, Base*, std::default_delete<Base> >"
+.LASF22:
+ .string "__LP64__ 1"
+.LASF640:
+ .string "__USE_DYNAMIC_STACK_SIZE 1"
+.LASF521:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {"
+.LASF1715:
+ .string "__U16_TYPE unsigned short int"
+.LASF1900:
+ .string "CPU_ALLOC(count) __CPU_ALLOC (count)"
+.LASF785:
+ .string "_PSTL_STRING_AUX(x) #x"
+.LASF699:
+ .string "__nonnull(params) __attribute_nonnull__ (params)"
+.LASF976:
+ .string "_GLIBCXX_ICONV_CONST "
+.LASF179:
+ .string "__INT16_C(c) c"
+.LASF824:
+ .string "_GLIBCXX_HAVE_ATAN2L 1"
+.LASF736:
+ .string "__USE_EXTERN_INLINES 1"
+.LASF451:
+ .string "__SEG_FS 1"
+.LASF689:
+ .string "__attribute_pure__ __attribute__ ((__pure__))"
+.LASF1234:
+ .string "__glibcxx_want_constexpr_string_view"
+.LASF1368:
+ .string "__glibcxx_want_is_invocable "
+.LASF335:
+ .string "__FLT32X_DECIMAL_DIG__ 17"
+.LASF1846:
+ .string "CLONE_NEWNS 0x00020000"
+.LASF796:
+ .string "_PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan inclusive(PRM))"
+.LASF415:
+ .string "__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2"
+.LASF1618:
+ .string "_VA_LIST_DEFINED "
+.LASF1050:
+ .string "_GLIBCXX_USE_SCHED_YIELD 1"
+.LASF1666:
+ .string "wcscspn"
+.LASF314:
+ .string "__FLT128_DIG__ 33"
+.LASF2333:
+ .string "__isoc23_swscanf"
+.LASF1124:
+ .string "__glibcxx_generic_associative_lookup 201304L"
+.LASF1627:
+ .string "__FILE_defined 1"
+.LASF1280:
+ .string "__glibcxx_want_list_remove_return_type"
+.LASF1022:
+ .string "_GLIBCXX_USE_C99_STDINT 1"
+.LASF518:
+ .string "_GLIBCXX_USE_DUAL_ABI 1"
+.LASF811:
+ .string "_PSTL_PRAGMA_LOCATION \" [Parallel STL message]: \""
+.LASF1589:
+ .string "___int_size_t_h "
+.LASF65:
+ .string "__UINT_LEAST32_TYPE__ unsigned int"
+.LASF1584:
+ .string "_SIZE_T_DEFINED_ "
+.LASF313:
+ .string "__FLT128_MANT_DIG__ 113"
+.LASF1925:
+ .string "ADJ_TAI 0x0080"
+.LASF369:
+ .string "__BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+.LASF2130:
+ .string "size_t"
+.LASF879:
+ .string "_GLIBCXX_HAVE_LIMIT_DATA 1"
+.LASF419:
+ .string "__GCC_ATOMIC_LONG_LOCK_FREE 2"
+.LASF1067:
+ .string "_GLIBCXX_CXX_ALLOCATOR_H 1"
+.LASF1082:
+ .string "__glibcxx_want_is_null_pointer"
+.LASF1917:
+ .string "_BITS_TIMEX_H 1"
+.LASF1698:
+ .string "__GXX_TYPEINFO_EQUALITY_INLINE 1"
+.LASF2327:
+ .string "__count"
+.LASF1753:
+ .string "__TIME_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF853:
+ .string "_GLIBCXX_HAVE_FINITEL 1"
+.LASF145:
+ .string "__WINT_MIN__ 0U"
+.LASF2037:
+ .string "__GTHREAD_ALWAYS_INLINE"
+.LASF1339:
+ .string "__glibcxx_want_fstream_native_handle"
+.LASF1694:
+ .string "_SHARED_PTR_BASE_H 1"
+.LASF739:
+ .string "__stub_fchflags "
+.LASF2106:
+ .string "__glibcxx_want_parallel_algorithm "
+.LASF1572:
+ .string "__need_size_t "
+.LASF1719:
+ .string "__ULONGWORD_TYPE unsigned long int"
+.LASF1334:
+ .string "__glibcxx_want_to_underlying"
+.LASF393:
+ .string "__DEC128_MAX_EXP__ 6145"
+.LASF2240:
+ .string "__conditional_t"
+.LASF1262:
+ .string "__glibcxx_want_constexpr_algorithms"
+.LASF550:
+ .string "_GLIBCXX_BEGIN_EXTERN_C extern \"C\" {"
+.LASF571:
+ .string "__USE_LARGEFILE"
+.LASF1278:
+ .string "__glibcxx_want_jthread"
+.LASF1165:
+ .string "__glibcxx_want_make_from_tuple"
+.LASF1530:
+ .string "__GLIBC_USE_LIB_EXT2 1"
+.LASF89:
+ .string "__cpp_lambdas 200907L"
+.LASF564:
+ .string "__USE_XOPEN"
+.LASF433:
+ .string "__amd64__ 1"
+.LASF1786:
+ .string "SCHED_OTHER 0"
+.LASF157:
+ .string "__GLIBCXX_TYPE_INT_N_0 __int128"
+.LASF1483:
+ .string "__glibcxx_want_byteswap "
+.LASF588:
+ .string "__GLIBC_USE(F) __GLIBC_USE_ ## F"
+.LASF1063:
+ .string "_GLIBCXX_X86_RDSEED 1"
+.LASF819:
+ .string "_GLIBCXX_HAVE_ARPA_INET_H 1"
+.LASF2336:
+ .string "__isoc23_vwscanf"
+.LASF373:
+ .string "__BFLT16_HAS_DENORM__ 1"
+.LASF1264:
+ .string "__glibcxx_want_constexpr_memory"
+.LASF829:
+ .string "_GLIBCXX_HAVE_C99_FLT_EVAL_TYPES 1"
+.LASF473:
+ .string "__WORDSIZE_TIME64_COMPAT32 1"
+.LASF1831:
+ .string "__aligned_be64 __be64 __attribute__((aligned(8)))"
+.LASF731:
+ .string "__attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))"
+.LASF1010:
+ .string "_GLIBCXX_USE_C99_COMPLEX_ARC 1"
+.LASF1861:
+ .string "CLONE_NEWTIME 0x00000080"
+.LASF716:
+ .string "__attribute_copy__(arg) __attribute__ ((__copy__ (arg)))"
+.LASF1297:
+ .string "__glibcxx_want_freestanding_variant"
+.LASF1119:
+ .string "__glibcxx_want_to_chars"
+.LASF134:
+ .string "__EXCEPTIONS 1"
+.LASF1910:
+ .string "CLOCK_REALTIME_COARSE 5"
+.LASF94:
+ .string "__cpp_variadic_templates 200704L"
+.LASF1631:
+ .string "WCHAR_MIN __WCHAR_MIN"
+.LASF2244:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEaSEOS3_"
+.LASF202:
+ .string "__INT_FAST64_WIDTH__ 64"
+.LASF723:
+ .string "__LDBL_REDIR_DECL(name) "
+.LASF1382:
+ .string "__glibcxx_want_type_trait_variable_templates "
+.LASF1398:
+ .string "_GLIBCXX_HAS_NESTED_TYPE(_NTYPE) template<typename _Tp, typename = __void_t<>> struct __has_ ##_NTYPE : false_type { }; template<typename _Tp> struct __has_ ##_NTYPE<_Tp, __void_t<typename _Tp::_NTYPE>> : true_type { };"
+.LASF1330:
+ .string "__glibcxx_want_spanstream"
+.LASF459:
+ .string "unix 1"
+.LASF2355:
+ .string "Base"
+.LASF1965:
+ .string "TIME_UTC 1"
+.LASF1384:
+ .string "__glibcxx_want_void_t "
+.LASF2228:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_swapERS4_"
+.LASF125:
+ .string "__cpp_variadic_using 201611L"
+.LASF2382:
+ .string "_ZNSt15__exception_ptr4swapERNS_13exception_ptrES1_"
+.LASF1855:
+ .string "CLONE_NEWUTS 0x04000000"
+.LASF491:
+ .string "_GLIBCXX17_DEPRECATED [[__deprecated__]]"
+.LASF250:
+ .string "__LDBL_MIN_EXP__ (-16381)"
+.LASF1683:
+ .string "wctob"
+.LASF618:
+ .string "__USE_ISOC99 1"
+.LASF1610:
+ .string "_BSD_WCHAR_T_"
+.LASF2374:
+ .string "__dso_handle"
+.LASF1202:
+ .string "__glibcxx_memory_resource 201603L"
+.LASF1641:
+ .string "fwprintf"
+.LASF773:
+ .string "_GLIBCXX_DOXYGEN_ONLY(X) "
+.LASF426:
+ .string "__GCC_HAVE_DWARF2_CFI_ASM 1"
+.LASF950:
+ .string "_GLIBCXX_HAVE_SYS_SYSINFO_H 1"
+.LASF1549:
+ .string "__CFLOAT128 _Complex _Float128"
+.LASF1509:
+ .string "__cpp_lib_tuple_element_t 201402L"
+.LASF2213:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERS2_"
+.LASF1295:
+ .string "__glibcxx_want_freestanding_optional"
+.LASF1095:
+ .string "__glibcxx_want_coroutine"
+.LASF2190:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+.LASF1870:
+ .string "__CPU_CLR_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))"
+.LASF88:
+ .string "__cpp_user_defined_literals 200809L"
+.LASF270:
+ .string "__FLT16_MAX_10_EXP__ 4"
+.LASF1089:
+ .string "__glibcxx_void_t 201411L"
+.LASF104:
+ .string "__cpp_decltype_auto 201304L"
+.LASF995:
+ .string "_GLIBCXX98_USE_C99_WCHAR 1"
+.LASF1074:
+ .string "__glibcxx_want_constexpr_new "
+.LASF918:
+ .string "_GLIBCXX_HAVE_SINF 1"
+.LASF1150:
+ .string "__glibcxx_hardware_interference_size 201703L"
+.LASF1008:
+ .string "_GLIBCXX_USE_C11_UCHAR_CXX11 1"
+.LASF1889:
+ .string "CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp)"
+.LASF2306:
+ .string "__int128 unsigned"
+.LASF632:
+ .string "__USE_XOPEN2K8XSI 1"
+.LASF487:
+ .string "_GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED"
+.LASF1540:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1"
+.LASF2281:
+ .string "tuple_element<1, std::tuple<Base*, std::default_delete<Base> > >"
+.LASF706:
+ .string "__extern_inline extern __inline __attribute__ ((__gnu_inline__))"
+.LASF1792:
+ .string "SCHED_IDLE 5"
+.LASF2397:
+ .string "__cxa_guard_acquire"
+.LASF2048:
+ .string "_STDDEF_H "
+.LASF1655:
+ .string "vfwscanf"
+.LASF2324:
+ .string "wint_t"
+.LASF394:
+ .string "__DEC128_MIN__ 1E-6143DL"
+.LASF1471:
+ .string "__glibcxx_requires_heap_pred(_First,_Last,_Pred) "
+.LASF592:
+ .string "_ISOC99_SOURCE 1"
+.LASF54:
+ .string "__INT64_TYPE__ long int"
+.LASF1995:
+ .string "PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)"
+.LASF1430:
+ .string "__glibcxx_no_dangling_refs(_U1,_U2) "
+.LASF1071:
+ .string "__glibcxx_want_launder "
+.LASF2016:
+ .string "PTHREAD_ONCE_INIT 0"
+.LASF384:
+ .string "__DEC64_MANT_DIG__ 16"
+.LASF962:
+ .string "_GLIBCXX_HAVE_TRUNCATE 1"
+.LASF1892:
+ .string "CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)"
+.LASF880:
+ .string "_GLIBCXX_HAVE_LIMIT_FSIZE 1"
+.LASF210:
+ .string "__GCC_IEC_559 2"
+.LASF822:
+ .string "_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1"
+.LASF882:
+ .string "_GLIBCXX_HAVE_LIMIT_VMEM 0"
+.LASF685:
+ .string "__REDIRECT_FORTIFY_NTH __REDIRECT_NTH"
+.LASF566:
+ .string "__USE_UNIX98"
+.LASF1730:
+ .string "__SYSCALL_SLONG_TYPE __SLONGWORD_TYPE"
+.LASF1693:
+ .string "wcstoull"
+.LASF1357:
+ .string "__catch(X) catch(X)"
+.LASF633:
+ .string "__USE_XOPEN2KXSI 1"
+.LASF665:
+ .string "__CONCAT(x,y) x ## y"
+.LASF1801:
+ .string "SCHED_FLAG_UTIL_CLAMP_MIN 0x20"
+.LASF2074:
+ .string "ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE"
+.LASF2224:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+.LASF240:
+ .string "__DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+.LASF274:
+ .string "__FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16"
+.LASF821:
+ .string "_GLIBCXX_HAVE_ASINL 1"
+.LASF1597:
+ .string "_T_WCHAR_ "
+.LASF148:
+ .string "__SCHAR_WIDTH__ 8"
+.LASF740:
+ .string "__stub_gtty "
+.LASF1808:
+ .string "_ASM_GENERIC_TYPES_H "
+.LASF1745:
+ .string "__BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF35:
+ .string "__ORDER_PDP_ENDIAN__ 3412"
+.LASF1725:
+ .string "__ULONG32_TYPE unsigned int"
+.LASF15:
+ .string "__ATOMIC_ACQUIRE 2"
+.LASF1323:
+ .string "__glibcxx_want_formatters"
+.LASF1518:
+ .string "_Cxx_hashtable_define_trivial_hash(_Tp) template<> struct hash<_Tp> : public __hash_base<size_t, _Tp> { size_t operator()(_Tp __val) const noexcept { return static_cast<size_t>(__val); } };"
+.LASF1019:
+ .string "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1"
+.LASF1992:
+ .string "_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))"
+.LASF1687:
+ .string "wmemmove"
+.LASF1314:
+ .string "__glibcxx_want_ranges_fold"
+.LASF1638:
+ .string "fputwc"
+.LASF2179:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+.LASF505:
+ .string "_GLIBCXX20_CONSTEXPR "
+.LASF1587:
+ .string "_SIZE_T_DECLARED "
+.LASF1405:
+ .string "_GLIBCXX_SIZED_DEALLOC"
+.LASF1848:
+ .string "CLONE_SETTLS 0x00080000"
+.LASF1550:
+ .string "_BITS_FLOATN_COMMON_H "
+.LASF1048:
+ .string "_GLIBCXX_USE_RANDOM_TR1 1"
+.LASF1639:
+ .string "fputws"
+.LASF485:
+ .string "_GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))"
+.LASF745:
+ .string "_GLIBCXX_HAVE_GETS"
+.LASF1175:
+ .string "__glibcxx_want_gcd"
+.LASF91:
+ .string "__cpp_attributes 200809L"
+.LASF1128:
+ .string "__glibcxx_quoted_string_io 201304L"
+.LASF1936:
+ .string "MOD_STATUS ADJ_STATUS"
+.LASF1331:
+ .string "__glibcxx_want_stacktrace"
+.LASF2229:
+ .string "_Elements"
+.LASF183:
+ .string "__INT_LEAST32_WIDTH__ 32"
+.LASF2268:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4ERKS3_"
+.LASF776:
+ .string "_PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition)"
+.LASF766:
+ .string "_GLIBCXX_FLOAT_IS_IEEE_BINARY32 1"
+.LASF924:
+ .string "_GLIBCXX_HAVE_SQRTL 1"
+.LASF1210:
+ .string "__glibcxx_shared_mutex 201505L"
+.LASF1495:
+ .string "_STL_RAW_STORAGE_ITERATOR_H 1"
+.LASF1956:
+ .string "STA_NANO 0x2000"
+.LASF1817:
+ .string "__struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; } ATTRS"
+.LASF496:
+ .string "_GLIBCXX23_DEPRECATED_SUGGEST(ALT) "
+.LASF1823:
+ .string "_ASM_X86_POSIX_TYPES_64_H "
+.LASF265:
+ .string "__FLT16_MANT_DIG__ 11"
+.LASF1213:
+ .string "__glibcxx_want_shared_ptr_weak_type"
+.LASF1613:
+ .string "NULL __null"
+.LASF2287:
+ .string "__get_helper<0, Base*, std::default_delete<Base> >"
+.LASF1431:
+ .string "_GLIBCXX_DEPRECATED_PAIR_CTOR __attribute__ ((__deprecated__ (\"use 'nullptr' instead of '0' to \" \"initialize std::pair of move-only \" \"type and pointer\")))"
+.LASF585:
+ .string "__KERNEL_STRICT_NAMES "
+.LASF163:
+ .string "__INTMAX_WIDTH__ 64"
+.LASF1292:
+ .string "__glibcxx_want_freestanding_array"
+.LASF1830:
+ .string "__aligned_s64 __s64 __attribute__((aligned(8)))"
+.LASF686:
+ .string "__attribute_malloc__ __attribute__ ((__malloc__))"
+.LASF1501:
+ .string "__glibcxx_want_constexpr_tuple "
+.LASF784:
+ .string "_PSTL_PRAGMA(x) _Pragma(#x)"
+.LASF1907:
+ .string "CLOCK_PROCESS_CPUTIME_ID 2"
+.LASF1386:
+ .string "__cpp_lib_result_of_sfinae 201210L"
+.LASF641:
+ .string "__USE_GNU 1"
+.LASF987:
+ .string "_GLIBCXX11_USE_C99_MATH 1"
+.LASF1181:
+ .string "__glibcxx_want_array_constexpr"
+.LASF1662:
+ .string "wcschr"
+.LASF984:
+ .string "_GLIBCXX_STDC_HEADERS 1"
+.LASF2173:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+.LASF2249:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4EOS3_"
+.LASF1821:
+ .string "__counted_by_be(m) "
+.LASF1975:
+ .string "__SIZEOF_PTHREAD_COND_T 48"
+.LASF13:
+ .string "__ATOMIC_RELAXED 0"
+.LASF161:
+ .string "__UINTMAX_MAX__ 0xffffffffffffffffUL"
+.LASF887:
+ .string "_GLIBCXX_HAVE_LINUX_TYPES_H 1"
+.LASF467:
+ .string "__STDC_IEC_60559_COMPLEX__ 201404L"
+.LASF108:
+ .string "__cpp_unicode_characters 201411L"
+.LASF965:
+ .string "_GLIBCXX_HAVE_UNLINKAT 1"
+.LASF646:
+ .string "__GNU_LIBRARY__"
+.LASF2386:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI4St15__uniq_ptr_implIS0_S2_EEPS0_"
+.LASF1352:
+ .string "_GLIBCXX_PLACEMENT_CONSTEXPR inline"
+.LASF639:
+ .string "__USE_ATFILE 1"
+.LASF404:
+ .string "__DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x"
+.LASF2245:
+ .string "add_lvalue_reference<Base>"
+.LASF2042:
+ .string "_CONCURRENCE_H 1"
+.LASF1419:
+ .string "__glibcxx_class_requires3(_a,_b,_c,_d) "
+.LASF867:
+ .string "_GLIBCXX_HAVE_ICONV 1"
+.LASF2039:
+ .string "_GLIBCXX_READ_MEM_BARRIER __atomic_thread_fence (__ATOMIC_ACQUIRE)"
+.LASF1829:
+ .string "__aligned_u64 __u64 __attribute__((aligned(8)))"
+.LASF522:
+ .string "_GLIBCXX_END_NAMESPACE_CXX11 }"
+.LASF1161:
+ .string "__glibcxx_want_launder"
+.LASF805:
+ .string "_PSTL_PRAGMA_SIMD_EARLYEXIT "
+.LASF231:
+ .string "__FLT_IS_IEC_60559__ 1"
+.LASF755:
+ .string "_GLIBCXX_TXN_SAFE "
+.LASF1920:
+ .string "ADJ_FREQUENCY 0x0002"
+.LASF798:
+ .string "_PSTL_CPP17_EXECUTION_POLICIES_PRESENT (_MSC_VER >= 1912 && _MSVC_LANG >= 201703L) || (_GLIBCXX_RELEASE >= 9 && __GLIBCXX__ >= 20190503 && __cplusplus >= 201703L)"
+.LASF2392:
+ .string "decltype(nullptr)"
+.LASF860:
+ .string "_GLIBCXX_HAVE_FREXPL 1"
+.LASF2363:
+ .string "this"
+.LASF589:
+ .string "_ISOC95_SOURCE"
+.LASF1015:
+ .string "_GLIBCXX_USE_C99_FENV_TR1 1"
+.LASF1803:
+ .string "SCHED_FLAG_KEEP_ALL (SCHED_FLAG_KEEP_POLICY | SCHED_FLAG_KEEP_PARAMS)"
+.LASF1996:
+ .string "PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE"
+.LASF1190:
+ .string "__glibcxx_chrono 201611L"
+.LASF376:
+ .string "__BFLT16_IS_IEC_60559__ 0"
+.LASF1028:
+ .string "_GLIBCXX_USE_DECIMAL_FLOAT 1"
+.LASF1842:
+ .string "CLONE_PTRACE 0x00002000"
+.LASF2379:
+ .string "dwarf.cc"
+.LASF1312:
+ .string "__glibcxx_want_ranges_as_const"
+.LASF197:
+ .string "__INT_FAST16_MAX__ 0x7fffffffffffffffL"
+.LASF1744:
+ .string "__RLIM64_T_TYPE __UQUAD_TYPE"
+.LASF1387:
+ .string "__cpp_lib_is_swappable 201603L"
+.LASF774:
+ .string "_GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>)"
+.LASF1800:
+ .string "SCHED_FLAG_KEEP_PARAMS 0x10"
+.LASF978:
+ .string "_GLIBCXX_PACKAGE_BUGREPORT \"\""
+.LASF652:
+ .string "__PMT"
+.LASF2230:
+ .string "__conditional<true>"
+.LASF1608:
+ .string "_WCHAR_T_DECLARED "
+.LASF1537:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT"
+.LASF16:
+ .string "__ATOMIC_RELEASE 3"
+.LASF170:
+ .string "__INT64_MAX__ 0x7fffffffffffffffL"
+.LASF2265:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE7releaseEv"
+.LASF1053:
+ .string "_GLIBCXX_USE_STRUCT_TM_TM_ZONE 1"
+.LASF1979:
+ .string "__LOCK_ALIGNMENT "
+.LASF994:
+ .string "_GLIBCXX98_USE_C99_STDLIB 1"
+.LASF448:
+ .string "__SSE_MATH__ 1"
+.LASF1581:
+ .string "__SIZE_T "
+.LASF1514:
+ .string "_STL_FUNCTION_H 1"
+.LASF2273:
+ .string "__detail"
+.LASF1271:
+ .string "__glibcxx_want_constexpr_dynamic_alloc"
+.LASF1199:
+ .string "__glibcxx_want_map_try_emplace"
+.LASF8:
+ .string "__GNUC__ 15"
+.LASF200:
+ .string "__INT_FAST32_WIDTH__ 64"
+.LASF536:
+ .string "_GLIBCXX_CLANG"
+.LASF1498:
+ .string "_UNIQUE_PTR_H 1"
+.LASF463:
+ .string "_STDC_PREDEF_H 1"
+.LASF1824:
+ .string "__kernel_old_uid_t __kernel_old_uid_t"
+.LASF476:
+ .string "_GLIBCXX_RELEASE 15"
+.LASF2187:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS2_"
+.LASF997:
+ .string "_GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1"
+.LASF370:
+ .string "__BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16"
+.LASF1473:
+ .string "__glibcxx_requires_string_len(_String,_Len) "
+.LASF1588:
+ .string "__DEFINED_size_t "
+.LASF2032:
+ .string "__GTHREAD_TIME_INIT {0,0}"
+.LASF247:
+ .string "__DBL_IS_IEC_60559__ 1"
+.LASF325:
+ .string "__FLT128_HAS_DENORM__ 1"
+.LASF1927:
+ .string "ADJ_MICRO 0x1000"
+.LASF837:
+ .string "_GLIBCXX_HAVE_DECL_STRNLEN 1"
+.LASF1281:
+ .string "__glibcxx_want_polymorphic_allocator"
+.LASF430:
+ .string "__SIZEOF_WINT_T__ 4"
+.LASF2056:
+ .string "_BSD_PTRDIFF_T_ "
+.LASF2118:
+ .string "__cpp_lib_make_unique 201304L"
+.LASF2282:
+ .string "__get_helper<1, std::default_delete<Base> >"
+.LASF1432:
+ .string "_GLIBCXX_DEPRECATED_PAIR_CTOR"
+.LASF2261:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+.LASF979:
+ .string "_GLIBCXX_PACKAGE_NAME \"package-unused\""
+.LASF1546:
+ .string "__HAVE_FLOAT64X 1"
+.LASF477:
+ .string "__GLIBCXX__"
+.LASF2095:
+ .string "_GLIBCXX_TSAN_MUTEX_POST_SIGNAL(X) "
+.LASF1412:
+ .string "_GLIBCXX26_DEF_VAL_T(T) "
+.LASF111:
+ .string "__cpp_enumerator_attributes 201411L"
+.LASF1758:
+ .string "__KEY_T_TYPE __S32_TYPE"
+.LASF1192:
+ .string "__glibcxx_execution 201902L"
+.LASF1926:
+ .string "ADJ_SETOFFSET 0x0100"
+.LASF139:
+ .string "__INT_MAX__ 0x7fffffff"
+.LASF1148:
+ .string "__glibcxx_has_unique_object_representations 201606L"
+.LASF2352:
+ .string "__isoc23_wcstoull"
+.LASF513:
+ .string "_GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT"
+.LASF2367:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC2Ev"
+.LASF1122:
+ .string "__glibcxx_complex_udls 201309L"
+.LASF59:
+ .string "__INT_LEAST8_TYPE__ signed char"
+.LASF1598:
+ .string "_T_WCHAR "
+.LASF516:
+ .string "_GLIBCXX_NOEXCEPT_QUAL noexcept (_NE)"
+.LASF606:
+ .string "_XOPEN_SOURCE_EXTENDED 1"
+.LASF2396:
+ .string "execution"
+.LASF446:
+ .string "__SSE2__ 1"
+.LASF1445:
+ .string "__glibcxx_floating"
+.LASF1596:
+ .string "_WCHAR_T "
+.LASF2215:
+ .string "_Tuple_impl<0, Base*, std::default_delete<Base> >"
+.LASF1718:
+ .string "__SLONGWORD_TYPE long int"
+.LASF1886:
+ .string "CPU_SET_S(cpu,setsize,cpusetp) __CPU_SET_S (cpu, setsize, cpusetp)"
+.LASF2188:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS3_"
+.LASF856:
+ .string "_GLIBCXX_HAVE_FLOORL 1"
+.LASF1508:
+ .string "__glibcxx_want_constrained_equality "
+.LASF312:
+ .string "__FLT64_IS_IEC_60559__ 1"
+.LASF258:
+ .string "__LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L"
+.LASF429:
+ .string "__SIZEOF_WCHAR_T__ 4"
+.LASF791:
+ .string "_PSTL_PRAGMA_SIMD _PSTL_PRAGMA(omp simd)"
+.LASF212:
+ .string "__FLT_EVAL_METHOD__ 0"
+.LASF1217:
+ .string "__glibcxx_want_unordered_map_try_emplace"
+.LASF648:
+ .string "__GLIBC__ 2"
+.LASF366:
+ .string "__BFLT16_MAX_10_EXP__ 38"
+.LASF1406:
+ .string "_GLIBCXX_OPERATOR_DELETE"
+.LASF167:
+ .string "__INT8_MAX__ 0x7f"
+.LASF1941:
+ .string "MOD_MICRO ADJ_MICRO"
+.LASF1913:
+ .string "CLOCK_REALTIME_ALARM 8"
+.LASF1600:
+ .string "_WCHAR_T_ "
+.LASF524:
+ .string "_GLIBCXX_INLINE_VERSION 0"
+.LASF912:
+ .string "_GLIBCXX_HAVE_READLINK 1"
+.LASF540:
+ .string "_GLIBCXX_END_NAMESPACE_LDBL "
+.LASF1227:
+ .string "__glibcxx_want_bit_cast"
+.LASF1034:
+ .string "_GLIBCXX_USE_GETTIMEOFDAY 1"
+.LASF2377:
+ .string "_Z4funcv"
+.LASF1349:
+ .string "__glibcxx_want_to_string"
+.LASF1652:
+ .string "swscanf"
+.LASF555:
+ .string "_FEATURES_H 1"
+.LASF663:
+ .string "__P(args) args"
+.LASF1938:
+ .string "MOD_CLKB ADJ_TICK"
+.LASF2387:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE3getEv"
+.LASF1562:
+ .string "__HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113)"
+.LASF2128:
+ .string "__uses_alloc0"
+.LASF974:
+ .string "_GLIBCXX_HAVE_WRITEV 1"
+.LASF136:
+ .string "__GXX_ABI_VERSION 1020"
+.LASF118:
+ .string "__cpp_capture_star_this 201603L"
+.LASF1003:
+ .string "_GLIBCXX_STDIO_EOF -1"
+.LASF2384:
+ .string "__nothrow_default_constructible"
+.LASF1578:
+ .string "_SYS_SIZE_T_H "
+.LASF1743:
+ .string "__RLIM_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF275:
+ .string "__FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16"
+.LASF1041:
+ .string "_GLIBCXX_USE_NANOSLEEP 1"
+.LASF888:
+ .string "_GLIBCXX_HAVE_LOCALE_H 1"
+.LASF1056:
+ .string "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 1"
+.LASF747:
+ .string "_GLIBCXX_HAVE_FLOAT128_MATH 1"
+.LASF1337:
+ .string "__glibcxx_want_algorithm_default_value_type"
+.LASF2216:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERS4_"
+.LASF1055:
+ .string "_GLIBCXX_USE_TMPNAM 1"
+.LASF304:
+ .string "__FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64"
+.LASF327:
+ .string "__FLT128_HAS_QUIET_NAN__ 1"
+.LASF1755:
+ .string "__SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF936:
+ .string "_GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1"
+.LASF434:
+ .string "__x86_64 1"
+.LASF893:
+ .string "_GLIBCXX_HAVE_LSEEK 1"
+.LASF1812:
+ .string "__ASM_GENERIC_BITS_PER_LONG "
+.LASF2237:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE4swapERS4_"
+.LASF1454:
+ .string "_GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter)"
+.LASF1978:
+ .string "__SIZEOF_PTHREAD_BARRIERATTR_T 4"
+.LASF1005:
+ .string "_GLIBCXX_STDIO_SEEK_END 2"
+.LASF1185:
+ .string "__glibcxx_want_clamp"
+.LASF2008:
+ .string "PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE"
+.LASF578:
+ .string "__USE_FORTIFY_LEVEL"
+.LASF1543:
+ .string "_BITS_FLOATN_H "
+.LASF2009:
+ .string "PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED"
+.LASF114:
+ .string "__cpp_nontype_template_args 201411L"
+.LASF809:
+ .string "_PSTL_PRAGMA_VECTOR_UNALIGNED "
+.LASF1689:
+ .string "wprintf"
+.LASF2338:
+ .string "tm_min"
+.LASF2111:
+ .string "__glibcxx_want_smart_ptr_for_overwrite "
+.LASF1884:
+ .string "CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp)"
+.LASF1754:
+ .string "__USECONDS_T_TYPE __U32_TYPE"
+.LASF2247:
+ .string "unique_ptr<Base, std::default_delete<Base> >"
+.LASF1968:
+ .string "_THREAD_SHARED_TYPES_H 1"
+.LASF949:
+ .string "_GLIBCXX_HAVE_SYS_STAT_H 1"
+.LASF1211:
+ .string "__glibcxx_want_shared_mutex"
+.LASF1822:
+ .string "__FD_SETSIZE"
+.LASF1962:
+ .string "__clockid_t_defined 1"
+.LASF595:
+ .string "_ISOC23_SOURCE"
+.LASF569:
+ .string "__USE_XOPEN2K8"
+.LASF892:
+ .string "_GLIBCXX_HAVE_LOGL 1"
+.LASF2236:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSEOS4_"
+.LASF1663:
+ .string "wcscmp"
+.LASF1186:
+ .string "__glibcxx_sample 201603L"
+.LASF815:
+ .string "_GLIBCXX_HAVE_ACOSF 1"
+.LASF1614:
+ .string "__need_NULL"
+.LASF2063:
+ .string "offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)"
+.LASF1504:
+ .string "__glibcxx_want_apply "
+.LASF583:
+ .string "__GLIBC_USE_DEPRECATED_SCANF"
+.LASF2091:
+ .string "_GLIBCXX_TSAN_MUTEX_LOCKED(X) "
+.LASF474:
+ .string "__SYSCALL_WORDSIZE 64"
+.LASF1505:
+ .string "__glibcxx_want_make_from_tuple "
+.LASF2321:
+ .string "fp_offset"
+.LASF1496:
+ .string "_GLIBCXX_ALIGN_H 1"
+.LASF378:
+ .string "__DEC32_MIN_EXP__ (-94)"
+.LASF1243:
+ .string "__glibcxx_want_is_pointer_interconvertible"
+.LASF1171:
+ .string "__glibcxx_want_variant"
+.LASF1648:
+ .string "mbsrtowcs"
+.LASF2142:
+ .string "_M_get"
+.LASF1224:
+ .string "__glibcxx_want_bind_front"
+.LASF408:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1"
+.LASF1442:
+ .string "__glibcxx_max_digits10(_Tp) (2 + __glibcxx_floating(_Tp, __FLT_MANT_DIG__, __DBL_MANT_DIG__, __LDBL_MANT_DIG__) * 643L / 2136)"
+.LASF2320:
+ .string "gp_offset"
+.LASF862:
+ .string "_GLIBCXX_HAVE_GETIPINFO 1"
+.LASF671:
+ .string "__bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)"
+.LASF1841:
+ .string "CLONE_PIDFD 0x00001000"
+.LASF1404:
+ .string "_GLIBCXX_SIZED_DEALLOC(p,n) (p), (n) * sizeof(_Tp)"
+.LASF925:
+ .string "_GLIBCXX_HAVE_STACKTRACE 1"
+.LASF623:
+ .string "__USE_POSIX199309 1"
+.LASF57:
+ .string "__UINT32_TYPE__ unsigned int"
+.LASF756:
+ .string "_GLIBCXX_TXN_SAFE_DYN "
+.LASF927:
+ .string "_GLIBCXX_HAVE_STDBOOL_H 1"
+.LASF691:
+ .string "__attribute_maybe_unused__ __attribute__ ((__unused__))"
+.LASF346:
+ .string "__FLT64X_DIG__ 18"
+.LASF140:
+ .string "__LONG_MAX__ 0x7fffffffffffffffL"
+.LASF1772:
+ .string "__TIME64_T_TYPE __TIME_T_TYPE"
+.LASF2311:
+ .string "__int128"
+.LASF2178:
+ .string "reset"
+.LASF1906:
+ .string "CLOCK_MONOTONIC 1"
+.LASF2314:
+ .string "char32_t"
+.LASF1506:
+ .string "__glibcxx_want_ranges_zip "
+.LASF2344:
+ .string "tm_yday"
+.LASF2199:
+ .string "_Tuple_impl"
+.LASF1647:
+ .string "mbsinit"
+.LASF253:
+ .string "__LDBL_MAX_10_EXP__ 4932"
+.LASF1163:
+ .string "__glibcxx_want_logical_traits"
+.LASF1863:
+ .string "_BITS_CPU_SET_H 1"
+.LASF128:
+ .string "__cpp_sized_deallocation 201309L"
+.LASF389:
+ .string "__DEC64_EPSILON__ 1E-15DD"
+.LASF1482:
+ .string "__glibcxx_want_bit_cast "
+.LASF827:
+ .string "_GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1"
+.LASF1184:
+ .string "__glibcxx_clamp 201603L"
+.LASF1832:
+ .string "__aligned_le64 __le64 __attribute__((aligned(8)))"
+.LASF123:
+ .string "__cpp_template_auto 201606L"
+.LASF1949:
+ .string "STA_UNSYNC 0x0040"
+.LASF2151:
+ .string "~exception_ptr"
+.LASF2075:
+ .string "ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE"
+.LASF1890:
+ .string "CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp)"
+.LASF1226:
+ .string "__glibcxx_want_starts_ends_with"
+.LASF2116:
+ .string "__cpp_lib_enable_shared_from_this 201603L"
+.LASF379:
+ .string "__DEC32_MAX_EXP__ 97"
+.LASF1740:
+ .string "__OFF_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF344:
+ .string "__FLT32X_IS_IEC_60559__ 1"
+.LASF495:
+ .string "_GLIBCXX23_DEPRECATED "
+.LASF2349:
+ .string "__isoc23_wcstoul"
+.LASF1376:
+ .string "__glibcxx_want_logical_traits "
+.LASF1266:
+ .string "__glibcxx_want_atomic_wait"
+.LASF2193:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERKS3_"
+.LASF1466:
+ .string "__glibcxx_requires_partitioned_lower(_First,_Last,_Value) "
+.LASF1253:
+ .string "__glibcxx_want_type_identity"
+.LASF2262:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+.LASF1115:
+ .string "__glibcxx_want_tuples_by_type"
+.LASF462:
+ .string "_GNU_SOURCE 1"
+.LASF323:
+ .string "__FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128"
+.LASF428:
+ .string "__SIZEOF_INT128__ 16"
+.LASF1611:
+ .string "__need_wchar_t"
+.LASF328:
+ .string "__FLT128_IS_IEC_60559__ 1"
+.LASF1013:
+ .string "_GLIBCXX_USE_C99_CTYPE_TR1 1"
+.LASF2307:
+ .string "signed char"
+.LASF761:
+ .string "_GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX"
+.LASF1288:
+ .string "__glibcxx_want_constexpr_typeinfo"
+.LASF763:
+ .string "_GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB"
+.LASF1377:
+ .string "__glibcxx_want_reference_from_temporary "
+.LASF437:
+ .string "__SIZEOF_FLOAT128__ 16"
+.LASF1575:
+ .string "__size_t__ "
+.LASF12:
+ .string "__GNUC_RH_RELEASE__ 1"
+.LASF625:
+ .string "__USE_XOPEN2K 1"
+.LASF1029:
+ .string "_GLIBCXX_USE_DEV_RANDOM 1"
+.LASF1393:
+ .string "__cpp_lib_has_unique_object_representations 201606L"
+.LASF1320:
+ .string "__glibcxx_want_adaptor_iterator_pair_constructor"
+.LASF986:
+ .string "_GLIBCXX11_USE_C99_COMPLEX 1"
+.LASF1604:
+ .string "_WCHAR_T_H "
+.LASF358:
+ .string "__FLT64X_HAS_INFINITY__ 1"
+.LASF1932:
+ .string "MOD_OFFSET ADJ_OFFSET"
+.LASF692:
+ .string "__attribute_used__ __attribute__ ((__used__))"
+.LASF1114:
+ .string "__glibcxx_tuples_by_type 201304L"
+.LASF1030:
+ .string "_GLIBCXX_USE_FCHMOD 1"
+.LASF31:
+ .string "__CHAR_BIT__ 8"
+.LASF605:
+ .string "_XOPEN_SOURCE_EXTENDED"
+.LASF1651:
+ .string "swprintf"
+.LASF2146:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4EDn"
+.LASF1293:
+ .string "__glibcxx_want_freestanding_cstring"
+.LASF1542:
+ .string "__GLIBC_USE_IEC_60559_TYPES_EXT 1"
+.LASF2248:
+ .string "unique_ptr"
+.LASF1943:
+ .string "STA_PLL 0x0001"
+.LASF2065:
+ .string "_GXX_NULLPTR_T "
+.LASF737:
+ .string "__stub___compat_bdflush "
+.LASF2160:
+ .string "default_delete"
+.LASF935:
+ .string "_GLIBCXX_HAVE_STRTOLD 1"
+.LASF2013:
+ .string "PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED"
+.LASF1809:
+ .string "_ASM_GENERIC_INT_LL64_H "
+.LASF1988:
+ .string "__ONCE_FLAG_INIT { 0 }"
+.LASF2277:
+ .string "_Nth_type<0, Base*, std::default_delete<Base> >"
+.LASF1658:
+ .string "vwprintf"
+.LASF1565:
+ .string "__f64(x) x ##f64"
+.LASF2350:
+ .string "__isoc23_wscanf"
+.LASF1583:
+ .string "_BSD_SIZE_T_ "
+.LASF710:
+ .string "__va_arg_pack_len() __builtin_va_arg_pack_len ()"
+.LASF1955:
+ .string "STA_CLOCKERR 0x1000"
+.LASF2019:
+ .string "__cleanup_fct_attribute "
+.LASF1424:
+ .string "__glibcxx_requires_nonempty() __glibcxx_assert(!this->empty())"
+.LASF694:
+ .string "__attribute_deprecated__ __attribute__ ((__deprecated__))"
+.LASF53:
+ .string "__INT32_TYPE__ int"
+.LASF1967:
+ .string "_BITS_PTHREADTYPES_COMMON_H 1"
+.LASF79:
+ .string "__GXX_RTTI 1"
+.LASF1007:
+ .string "_GLIBCXX_SYMVER_GNU 1"
+.LASF668:
+ .string "__BEGIN_DECLS extern \"C\" {"
+.LASF1665:
+ .string "wcscpy"
+.LASF584:
+ .string "__GLIBC_USE_C23_STRTOL"
+.LASF2312:
+ .string "wchar_t"
+.LASF1656:
+ .string "vswprintf"
+.LASF1493:
+ .string "_EXT_ALLOC_TRAITS_H 1"
+.LASF424:
+ .string "__GCC_ATOMIC_POINTER_LOCK_FREE 2"
+.LASF1649:
+ .string "putwc"
+.LASF1708:
+ .string "_GLIBCXX_GCC_GTHR_POSIX_H "
+.LASF1020:
+ .string "_GLIBCXX_USE_C99_MATH_FUNCS 1"
+.LASF1214:
+ .string "__glibcxx_string_view 201803L"
+.LASF1554:
+ .string "__HAVE_FLOAT32X 1"
+.LASF895:
+ .string "_GLIBCXX_HAVE_MEMALIGN 1"
+.LASF851:
+ .string "_GLIBCXX_HAVE_FINITE 1"
+.LASF286:
+ .string "__FLT32_MAX_10_EXP__ 38"
+.LASF1768:
+ .string "__STATFS_MATCHES_STATFS64 1"
+.LASF1417:
+ .string "__glibcxx_class_requires(_a,_b) "
+.LASF307:
+ .string "__FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64"
+.LASF1828:
+ .string "__bitwise__ __bitwise"
+.LASF1443:
+ .string "__glibcxx_digits10(_Tp) __glibcxx_floating(_Tp, __FLT_DIG__, __DBL_DIG__, __LDBL_DIG__)"
+.LASF1966:
+ .string "__isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))"
+.LASF386:
+ .string "__DEC64_MAX_EXP__ 385"
+.LASF864:
+ .string "_GLIBCXX_HAVE_HYPOT 1"
+.LASF814:
+ .string "_PSTL_PRAGMA_MESSAGE_POLICIES(x) "
+.LASF93:
+ .string "__cpp_rvalue_references 200610L"
+.LASF2162:
+ .string "operator()"
+.LASF931:
+ .string "_GLIBCXX_HAVE_STRERROR_R 1"
+.LASF1595:
+ .string "__WCHAR_T__ "
+.LASF102:
+ .string "__cpp_init_captures 201304L"
+.LASF207:
+ .string "__INTPTR_MAX__ 0x7fffffffffffffffL"
+.LASF2251:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED4Ev"
+.LASF261:
+ .string "__LDBL_HAS_DENORM__ 1"
+.LASF1422:
+ .string "__glibcxx_requires_non_empty_range(_First,_Last) __glibcxx_assert(_First != _Last)"
+.LASF593:
+ .string "_ISOC11_SOURCE"
+.LASF2050:
+ .string "_ANSI_STDDEF_H "
+.LASF1058:
+ .string "_GLIBCXX_USE_UTIME 1"
+.LASF543:
+ .string "_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11"
+.LASF1959:
+ .string "STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)"
+.LASF656:
+ .string "__LEAF , __leaf__"
+.LASF1952:
+ .string "STA_PPSJITTER 0x0200"
+.LASF2330:
+ .string "mbstate_t"
+.LASF1011:
+ .string "_GLIBCXX_USE_C99_COMPLEX_TR1 1"
+.LASF481:
+ .string "_GLIBCXX_NORETURN __attribute__ ((__noreturn__))"
+.LASF771:
+ .string "_GLIBCXX_HAVE_BUILTIN_LAUNDER 1"
+.LASF1893:
+ .string "CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &)"
+.LASF1052:
+ .string "_GLIBCXX_USE_SENDFILE 1"
+.LASF418:
+ .string "__GCC_ATOMIC_INT_LOCK_FREE 2"
+.LASF192:
+ .string "__UINT32_C(c) c ## U"
+.LASF301:
+ .string "__FLT64_MAX_EXP__ 1024"
+.LASF2100:
+ .string "__glibcxx_want_atomic_value_initialization "
+.LASF2343:
+ .string "tm_wday"
+.LASF199:
+ .string "__INT_FAST32_MAX__ 0x7fffffffffffffffL"
+.LASF1513:
+ .string "__glibcxx_no_dangling_refs(U) "
+.LASF1247:
+ .string "__glibcxx_want_source_location"
+.LASF2109:
+ .string "__glibcxx_want_shared_ptr_arrays "
+.LASF405:
+ .string "__REGISTER_PREFIX__ "
+.LASF951:
+ .string "_GLIBCXX_HAVE_SYS_TIME_H 1"
+.LASF2139:
+ .string "_M_release"
+.LASF2164:
+ .string "__uniq_ptr_impl<Base, std::default_delete<Base> >"
+.LASF870:
+ .string "_GLIBCXX_HAVE_ISINFL 1"
+.LASF1350:
+ .string "__glibcxx_want_modules"
+.LASF1818:
+ .string "__DECLARE_FLEX_ARRAY(T,member) T member[0]"
+.LASF1798:
+ .string "SCHED_FLAG_DL_OVERRUN 0x04"
+.LASF499:
+ .string "_GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ (\"cxx11\")))"
+.LASF1080:
+ .string "__glibcxx_want_allocator_traits_is_always_equal"
+.LASF1327:
+ .string "__glibcxx_want_move_only_function"
+.LASF1475:
+ .string "__glibcxx_requires_irreflexive2(_First,_Last) "
+.LASF1564:
+ .string "__f32(x) x ##f32"
+.LASF1046:
+ .string "_GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1"
+.LASF2325:
+ .string "__wch"
+.LASF498:
+ .string "_GLIBCXX26_DEPRECATED_SUGGEST(ALT) "
+.LASF2227:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+.LASF1439:
+ .ascii "_GLIBCXX_INT_N_TRAITS(T,WIDTH) __extension__ template<> stru"
+ .ascii "ct __is_int"
+ .string "eger_nonstrict<T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; }; __extension__ template<> struct __is_integer_nonstrict<unsigned T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; };"
+.LASF1436:
+ .string "__INT_N(TYPE) __extension__ template<> struct __is_integer<TYPE> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer<unsigned TYPE> { enum { __value = 1 }; typedef __true_type __type; };"
+.LASF848:
+ .string "_GLIBCXX_HAVE_FCNTL_H 1"
+.LASF2212:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+.LASF1219:
+ .string "__glibcxx_want_atomic_flag_test"
+.LASF1371:
+ .string "__glibcxx_want_is_null_pointer "
+.LASF2165:
+ .string "_Ptr<Base, std::default_delete<Base>, void>"
+.LASF899:
+ .string "_GLIBCXX_HAVE_MODFL 1"
+.LASF1793:
+ .string "SCHED_DEADLINE 6"
+.LASF857:
+ .string "_GLIBCXX_HAVE_FMODF 1"
+.LASF2191:
+ .string "_M_head"
+.LASF455:
+ .string "__linux__ 1"
+.LASF1630:
+ .string "__CORRECT_ISO_CPP_WCHAR_H_PROTO "
+.LASF2279:
+ .string "tuple_element<0, std::tuple<Base*, std::default_delete<Base> > >"
+.LASF1361:
+ .string "__glibcxx_want_bool_constant "
+.LASF2026:
+ .string "__GTHREAD_HAS_COND 1"
+.LASF1427:
+ .string "_GLIBCXX_DEBUG_ONLY(_Statement) "
+.LASF1159:
+ .string "__glibcxx_launder 201606L"
+.LASF729:
+ .string "__attr_access(x) __attribute__ ((__access__ x))"
+.LASF2055:
+ .string "_PTRDIFF_T_ "
+.LASF596:
+ .string "_ISOC23_SOURCE 1"
+.LASF1657:
+ .string "vswscanf"
+.LASF667:
+ .string "__ptr_t void *"
+.LASF1897:
+ .string "CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |)"
+.LASF2341:
+ .string "tm_mon"
+.LASF938:
+ .string "_GLIBCXX_HAVE_SYMLINK 1"
+.LASF1004:
+ .string "_GLIBCXX_STDIO_SEEK_CUR 1"
+.LASF1051:
+ .string "_GLIBCXX_USE_SC_NPROCESSORS_ONLN 1"
+.LASF919:
+ .string "_GLIBCXX_HAVE_SINHF 1"
+.LASF1499:
+ .string "_GLIBCXX_TUPLE 1"
+.LASF2169:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EPS0_"
+.LASF4:
+ .string "__STDC_HOSTED__ 1"
+.LASF1710:
+ .string "__GTHREADS_CXX0X 1"
+.LASF886:
+ .string "_GLIBCXX_HAVE_LINUX_RANDOM_H 1"
+.LASF470:
+ .string "_MEMORYFWD_H 1"
+.LASF69:
+ .string "__INT_FAST32_TYPE__ long int"
+.LASF2061:
+ .string "__need_ptrdiff_t"
+.LASF2285:
+ .string "get<1, Base*, std::default_delete<Base> >"
+.LASF989:
+ .string "_GLIBCXX11_USE_C99_STDLIB 1"
+.LASF1134:
+ .string "__glibcxx_addressof_constexpr 201603L"
+.LASF436:
+ .string "__SIZEOF_FLOAT80__ 16"
+.LASF2155:
+ .string "__cxa_exception_type"
+.LASF928:
+ .string "_GLIBCXX_HAVE_STDINT_H 1"
+.LASF181:
+ .string "__INT_LEAST32_MAX__ 0x7fffffff"
+.LASF285:
+ .string "__FLT32_MAX_EXP__ 128"
+.LASF559:
+ .string "__USE_ISOCXX11"
+.LASF99:
+ .string "__cpp_ref_qualifiers 200710L"
+.LASF2378:
+ .string "GNU C++17 15.1.1 20250425 (Red Hat 15.1.1-1) -mtune=generic -march=x86-64 -g3 -gdwarf-4 -O2"
+.LASF2309:
+ .string "long int"
+.LASF1951:
+ .string "STA_PPSSIGNAL 0x0100"
+.LASF400:
+ .string "__DEC64X_MAX_EXP__ 6145"
+.LASF6:
+ .string "__STDC_EMBED_FOUND__ 1"
+.LASF1486:
+ .string "__glibcxx_want_endian "
+.LASF244:
+ .string "__DBL_HAS_DENORM__ 1"
+.LASF2113:
+ .string "__glibcxx_want_transparent_operators "
+.LASF597:
+ .string "_ISOC2Y_SOURCE"
+.LASF173:
+ .string "__UINT32_MAX__ 0xffffffffU"
+.LASF302:
+ .string "__FLT64_MAX_10_EXP__ 308"
+.LASF271:
+ .string "__FLT16_DECIMAL_DIG__ 5"
+.LASF2256:
+ .string "pointer"
+.LASF2171:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEaSEOS3_"
+.LASF2053:
+ .string "_T_PTRDIFF "
+.LASF587:
+ .string "__glibc_clang_prereq(maj,min) 0"
+.LASF1154:
+ .string "__glibcxx_want_invoke"
+.LASF885:
+ .string "_GLIBCXX_HAVE_LINUX_FUTEX 1"
+.LASF414:
+ .string "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2"
+.LASF813:
+ .string "_PSTL_PRAGMA_MESSAGE(x) "
+.LASF764:
+ .string "_GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR"
+.LASF1182:
+ .string "__glibcxx_nonmember_container_access 201411L"
+.LASF407:
+ .string "__GNUC_STDC_INLINE__ 1"
+.LASF884:
+ .string "_GLIBCXX_HAVE_LINK_H 1"
+.LASF981:
+ .string "_GLIBCXX_PACKAGE_TARNAME \"libstdc++\""
+.LASF2342:
+ .string "tm_year"
+.LASF1787:
+ .string "SCHED_FIFO 1"
+.LASF2243:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEC4EOS3_"
+.LASF1079:
+ .string "__glibcxx_allocator_traits_is_always_equal 201411L"
+.LASF2235:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+.LASF2022:
+ .string "pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer ()"
+.LASF748:
+ .string "_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+.LASF1643:
+ .string "getwc"
+.LASF804:
+ .string "_PSTL_UDS_PRESENT "
+.LASF1972:
+ .string "__SIZEOF_PTHREAD_RWLOCK_T 56"
+.LASF1820:
+ .string "__counted_by_le(m) "
+.LASF664:
+ .string "__PMT(args) args"
+.LASF1827:
+ .string "__bitwise "
+.LASF690:
+ .string "__attribute_const__ __attribute__ ((__const__))"
+.LASF1455:
+ .string "_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) std::__make_move_if_noexcept_iterator(_Iter)"
+.LASF1690:
+ .string "wscanf"
+.LASF153:
+ .string "__WCHAR_WIDTH__ 32"
+.LASF3:
+ .string "__STDC_UTF_32__ 1"
+.LASF2255:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEdeEv"
+.LASF306:
+ .string "__FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64"
+.LASF2041:
+ .string "_SYS_SINGLE_THREADED_H "
+.LASF973:
+ .string "_GLIBCXX_HAVE_WCTYPE_H 1"
+.LASF2054:
+ .string "__PTRDIFF_T "
+.LASF1874:
+ .ascii "__CPU_OP_S(setsize,destset,srcset1,srcset2,op) (__extension_"
+ .ascii "_ ({ cpu_set_t *__dest = (destset); const __cp"
+ .string "u_mask *__arr1 = (srcset1)->__bits; const __cpu_mask *__arr2 = (srcset2)->__bits; size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; __dest; }))"
+.LASF1775:
+ .string "_STRUCT_TIMESPEC 1"
+.LASF985:
+ .string "_GLIBCXX_DARWIN_USE_64_BIT_INODE 1"
+.LASF465:
+ .string "__STDC_IEC_60559_BFP__ 201404L"
+.LASF2110:
+ .string "__glibcxx_want_shared_ptr_weak_type "
+.LASF945:
+ .string "_GLIBCXX_HAVE_SYS_SDT_H 1"
+.LASF1873:
+ .string "__CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)"
+.LASF1961:
+ .string "__struct_tm_defined 1"
+.LASF1930:
+ .string "ADJ_OFFSET_SINGLESHOT 0x8001"
+.LASF142:
+ .string "__WCHAR_MAX__ 0x7fffffff"
+.LASF2129:
+ .string "_Sink"
+.LASF87:
+ .string "__cpp_unicode_literals 200710L"
+.LASF2172:
+ .string "_M_ptr"
+.LASF1701:
+ .ascii "_GLIBCXX_MEM_FN_TRAITS2(_CV,_REF,_LVAL,_RVAL) template<typen"
+ .ascii "ame _Res, typename _Class, typename... _ArgTypes> struct _Me"
+ .ascii "m_fn_traits<_Res (_Class::*)(_ArgTypes...) _CV _REF> : _Mem_"
+ .ascii "fn_traits_base<_Res, _CV _Class, _ArgTypes."
+ .string "..> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) _CV _REF> : _Mem_fn_traits_base<_Res, _CV _Class, _ArgTypes...> { using __vararg = true_type; };"
+.LASF1237:
+ .string "__glibcxx_want_integer_comparison_functions"
+.LASF293:
+ .string "__FLT32_HAS_DENORM__ 1"
+.LASF651:
+ .string "_SYS_CDEFS_H 1"
+.LASF1993:
+ .string "__jmp_buf_tag_defined 1"
+.LASF154:
+ .string "__WINT_WIDTH__ 32"
+.LASF2218:
+ .string "_Inherited"
+.LASF1002:
+ .string "_GLIBCXX_RES_LIMITS 1"
+.LASF2329:
+ .string "__mbstate_t"
+.LASF957:
+ .string "_GLIBCXX_HAVE_TANHL 1"
+.LASF1840:
+ .string "CLONE_SIGHAND 0x00000800"
+.LASF1143:
+ .string "__glibcxx_want_atomic_is_always_lock_free"
+.LASF2357:
+ .string "_Znwm"
+.LASF1958:
+ .string "STA_CLK 0x8000"
+.LASF1411:
+ .string "_STL_ITERATOR_BASE_TYPES_H 1"
+.LASF2153:
+ .string "swap"
+.LASF850:
+ .string "_GLIBCXX_HAVE_FENV_H 1"
+.LASF1762:
+ .string "__FSID_T_TYPE struct { int __val[2]; }"
+.LASF109:
+ .string "__cpp_static_assert 201411L"
+.LASF1970:
+ .string "__SIZEOF_PTHREAD_MUTEX_T 40"
+.LASF311:
+ .string "__FLT64_HAS_QUIET_NAN__ 1"
+.LASF838:
+ .string "_GLIBCXX_HAVE_DIRENT_H 1"
+.LASF249:
+ .string "__LDBL_DIG__ 18"
+.LASF1568:
+ .string "__CFLOAT32 _Complex _Float32"
+.LASF2373:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI2St15__uniq_ptr_implIS0_S2_EEPS0_"
+.LASF417:
+ .string "__GCC_ATOMIC_SHORT_LOCK_FREE 2"
+.LASF1025:
+ .string "_GLIBCXX_USE_CHMOD 1"
+.LASF831:
+ .string "_GLIBCXX_HAVE_CEILL 1"
+.LASF1944:
+ .string "STA_PPSFREQ 0x0002"
+.LASF2361:
+ .string "__cxa_guard_abort"
+.LASF2204:
+ .string "_M_swap"
+.LASF1795:
+ .string "SCHED_RESET_ON_FORK 0x40000000"
+.LASF845:
+ .string "_GLIBCXX_HAVE_EXPL 1"
+.LASF90:
+ .string "__cpp_decltype 200707L"
+.LASF440:
+ .string "__GCC_ASM_FLAG_OUTPUTS__ 1"
+.LASF1761:
+ .string "__BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF38:
+ .string "__SIZEOF_POINTER__ 8"
+.LASF272:
+ .string "__FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16"
+.LASF1476:
+ .string "__glibcxx_requires_irreflexive_pred(_First,_Last,_Pred) "
+.LASF321:
+ .string "__FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+.LASF1836:
+ .string "CSIGNAL 0x000000ff"
+.LASF2316:
+ .string "long double"
+.LASF2002:
+ .string "PTHREAD_RWLOCK_INITIALIZER { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } }"
+.LASF1294:
+ .string "__glibcxx_want_freestanding_expected"
+.LASF1285:
+ .string "__glibcxx_want_syncbuf"
+.LASF49:
+ .string "__CHAR32_TYPE__ unsigned int"
+.LASF345:
+ .string "__FLT64X_MANT_DIG__ 64"
+.LASF1388:
+ .string "__cpp_lib_void_t 201411L"
+.LASF1849:
+ .string "CLONE_PARENT_SETTID 0x00100000"
+.LASF1569:
+ .string "__CFLOAT64 _Complex _Float64"
+.LASF1484:
+ .string "__glibcxx_want_bitops "
+.LASF1231:
+ .string "__glibcxx_optional 201606L"
+.LASF2284:
+ .string "__tuple_element_t"
+.LASF622:
+ .string "__USE_POSIX2 1"
+.LASF1250:
+ .string "__glibcxx_want_three_way_comparison"
+.LASF1609:
+ .string "__DEFINED_wchar_t "
+.LASF897:
+ .string "_GLIBCXX_HAVE_MODF 1"
+.LASF1139:
+ .string "__glibcxx_want_apply"
+.LASF488:
+ .string "_GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+.LASF1707:
+ .string "_GLIBCXX_GCC_GTHR_H "
+.LASF1014:
+ .string "_GLIBCXX_USE_C99_FENV 1"
+.LASF1360:
+ .string "_GLIBCXX_TYPE_TRAITS 1"
+.LASF119:
+ .string "__cpp_inline_variables 201606L"
+.LASF1571:
+ .string "__CFLOAT64X _Complex _Float64x"
+.LASF586:
+ .string "__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))"
+.LASF683:
+ .string "__ASMNAME2(prefix,cname) __STRING (prefix) cname"
+.LASF1713:
+ .string "_BITS_TYPES_H 1"
+.LASF310:
+ .string "__FLT64_HAS_INFINITY__ 1"
+.LASF1908:
+ .string "CLOCK_THREAD_CPUTIME_ID 3"
+.LASF422:
+ .string "__GCC_DESTRUCTIVE_SIZE 64"
+.LASF1066:
+ .string "_ALLOCATOR_H 1"
+.LASF883:
+ .string "_GLIBCXX_HAVE_LINK 1"
+.LASF679:
+ .string "__REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))"
+.LASF141:
+ .string "__LONG_LONG_MAX__ 0x7fffffffffffffffLL"
+.LASF1290:
+ .string "__glibcxx_want_format_ranges"
+.LASF1461:
+ .string "__glibcxx_requires_can_decrement_range(_First1,_Last1,_First2) "
+.LASF349:
+ .string "__FLT64X_MAX_EXP__ 16384"
+.LASF2301:
+ .string "bool"
+.LASF17:
+ .string "__ATOMIC_ACQ_REL 4"
+.LASF1287:
+ .string "__glibcxx_want_constexpr_charconv"
+.LASF442:
+ .string "__k8__ 1"
+.LASF40:
+ .string "__GNUC_WIDE_EXECUTION_CHARSET_NAME \"UTF-32LE\""
+.LASF1343:
+ .string "__glibcxx_want_ratio"
+.LASF1791:
+ .string "SCHED_ISO 4"
+.LASF601:
+ .string "_POSIX_C_SOURCE"
+.LASF1035:
+ .string "_GLIBCXX_USE_GET_NPROCS 1"
+.LASF2222:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4Ev"
+.LASF1326:
+ .string "__glibcxx_want_ios_noreplace"
+.LASF1:
+ .string "__cplusplus 201703L"
+.LASF806:
+ .string "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC(PRM) "
+.LASF371:
+ .string "__BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16"
+.LASF209:
+ .string "__UINTPTR_MAX__ 0xffffffffffffffffUL"
+.LASF420:
+ .string "__GCC_ATOMIC_LLONG_LOCK_FREE 2"
+.LASF1521:
+ .string "_GLIBCXX_IOSFWD 1"
+.LASF243:
+ .string "__DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)"
+.LASF970:
+ .string "_GLIBCXX_HAVE_VWSCANF 1"
+.LASF402:
+ .string "__DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x"
+.LASF628:
+ .string "__USE_XOPEN_EXTENDED 1"
+.LASF1304:
+ .string "__glibcxx_want_ranges_chunk"
+.LASF551:
+ .string "_GLIBCXX_END_EXTERN_C }"
+.LASF2159:
+ .string "default_delete<Base>"
+.LASF223:
+ .string "__FLT_MAX__ 3.40282346638528859811704183484516925e+38F"
+.LASF96:
+ .string "__cpp_delegating_constructors 200604L"
+.LASF152:
+ .string "__LONG_LONG_WIDTH__ 64"
+.LASF772:
+ .string "_GLIBCXX_USE_BUILTIN_TRAIT(BT) _GLIBCXX_HAS_BUILTIN(BT)"
+.LASF767:
+ .string "_GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1"
+.LASF913:
+ .string "_GLIBCXX_HAVE_SECURE_GETENV 1"
+.LASF2127:
+ .string "allocator_arg_t"
+.LASF1385:
+ .string "__cpp_lib_is_null_pointer 201309L"
+.LASF2315:
+ .string "char"
+.LASF1973:
+ .string "__SIZEOF_PTHREAD_BARRIER_T 32"
+.LASF2348:
+ .string "__isoc23_wcstol"
+.LASF232:
+ .string "__DBL_MANT_DIG__ 53"
+.LASF1736:
+ .string "__INO64_T_TYPE __UQUAD_TYPE"
+.LASF1916:
+ .string "TIMER_ABSTIME 1"
+.LASF866:
+ .string "_GLIBCXX_HAVE_HYPOTL 1"
+.LASF743:
+ .string "__stub_sigreturn "
+.LASF1720:
+ .string "__SQUAD_TYPE long int"
+.LASF1364:
+ .string "__glibcxx_want_integral_constant_callable "
+.LASF1043:
+ .string "_GLIBCXX_USE_NL_LANGINFO_L 1"
+.LASF115:
+ .string "__cpp_range_based_for 201603L"
+.LASF1075:
+ .string "__glibcxx_incomplete_container_elements 201505L"
+.LASF1381:
+ .string "__glibcxx_want_type_identity "
+.LASF643:
+ .string "__GLIBC_USE_DEPRECATED_GETS 0"
+.LASF1535:
+ .string "__GLIBC_USE_IEC_60559_EXT"
+.LASF64:
+ .string "__UINT_LEAST16_TYPE__ short unsigned int"
+.LASF1110:
+ .string "__glibcxx_transparent_operators 201510L"
+.LASF1279:
+ .string "__glibcxx_want_latch"
+.LASF1624:
+ .string "__mbstate_t_defined 1"
+.LASF750:
+ .string "_GLIBCXX_GTHREAD_USE_WEAK 0"
+.LASF1093:
+ .string "__glibcxx_math_spec_funcs 201003L"
+.LASF1116:
+ .string "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+.LASF95:
+ .string "__cpp_initializer_lists 200806L"
+.LASF52:
+ .string "__INT16_TYPE__ short int"
+.LASF1617:
+ .string "__GNUC_VA_LIST "
+.LASF1057:
+ .string "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T 1"
+.LASF308:
+ .string "__FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64"
+.LASF988:
+ .string "_GLIBCXX11_USE_C99_STDIO 1"
+.LASF1850:
+ .string "CLONE_CHILD_CLEARTID 0x00200000"
+.LASF1268:
+ .string "__glibcxx_want_format"
+.LASF602:
+ .string "_POSIX_C_SOURCE 200809L"
+.LASF698:
+ .string "__attribute_nonnull__(params) __attribute__ ((__nonnull__ params))"
+.LASF835:
+ .string "_GLIBCXX_HAVE_COSHL 1"
+.LASF105:
+ .string "__cpp_aggregate_nsdmi 201304L"
+.LASF1734:
+ .string "__GID_T_TYPE __U32_TYPE"
+.LASF1621:
+ .string "__WCHAR_MIN __WCHAR_MIN__"
+.LASF1090:
+ .string "__glibcxx_want_void_t"
+.LASF1634:
+ .string "__attr_dealloc_fclose "
+.LASF1957:
+ .string "STA_MODE 0x4000"
+.LASF126:
+ .string "__cpp_guaranteed_copy_elision 201606L"
+.LASF1964:
+ .string "__itimerspec_defined 1"
+.LASF1539:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23"
+.LASF2203:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4EOS3_"
+.LASF705:
+ .string "__attribute_artificial__ __attribute__ ((__artificial__))"
+.LASF276:
+ .string "__FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16"
+.LASF2043:
+ .string "__EXCEPTION__ "
+.LASF548:
+ .string "_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) "
+.LASF1747:
+ .string "__FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF1833:
+ .string "SCHED_ATTR_SIZE_VER0 48"
+.LASF1748:
+ .string "__FSBLKCNT64_T_TYPE __UQUAD_TYPE"
+.LASF2214:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERKS2_"
+.LASF246:
+ .string "__DBL_HAS_QUIET_NAN__ 1"
+.LASF890:
+ .string "_GLIBCXX_HAVE_LOG10L 1"
+.LASF1362:
+ .string "__glibcxx_want_bounded_array_traits "
+.LASF1590:
+ .string "_GCC_SIZE_T "
+.LASF510:
+ .string "_GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__)"
+.LASF1851:
+ .string "CLONE_DETACHED 0x00400000"
+.LASF613:
+ .string "_DYNAMIC_STACK_SIZE_SOURCE"
+.LASF1773:
+ .string "__STD_TYPE"
+.LASF812:
+ .string "_PSTL_PRAGMA_MESSAGE_IMPL(x) _PSTL_PRAGMA(message(_PSTL_STRING_CONCAT(_PSTL_PRAGMA_LOCATION, x)))"
+.LASF1981:
+ .string "_BITS_ATOMIC_WIDE_COUNTER_H "
+.LASF1092:
+ .string "__glibcxx_want_enable_shared_from_this"
+.LASF732:
+ .string "__attr_dealloc(dealloc,argno) __attribute__ ((__malloc__ (dealloc, argno)))"
+.LASF1731:
+ .string "__SYSCALL_ULONG_TYPE __ULONGWORD_TYPE"
+.LASF687:
+ .string "__attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params))"
+.LASF1438:
+ .string "_EXT_TYPE_TRAITS 1"
+.LASF2395:
+ .string "_IO_FILE"
+.LASF70:
+ .string "__INT_FAST64_TYPE__ long int"
+.LASF1346:
+ .string "__glibcxx_want_span_initializer_list"
+.LASF1592:
+ .string "__size_t "
+.LASF1574:
+ .string "__need_NULL "
+.LASF2293:
+ .string "_Args"
+.LASF1739:
+ .string "__FSWORD_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF2241:
+ .string "__uniq_ptr_data<Base, std::default_delete<Base>, true, true>"
+.LASF1684:
+ .string "wmemchr"
+.LASF1490:
+ .string "_GLIBCXX_TO_ADDR"
+.LASF1790:
+ .string "SCHED_BATCH 3"
+.LASF1389:
+ .string "__cpp_lib_integral_constant_callable 201304L"
+.LASF863:
+ .string "_GLIBCXX_HAVE_GETS 1"
+.LASF1328:
+ .string "__glibcxx_want_out_ptr"
+.LASF24:
+ .string "__SIZEOF_LONG__ 8"
+.LASF248:
+ .string "__LDBL_MANT_DIG__ 64"
+.LASF528:
+ .string "_GLIBCXX_END_INLINE_ABI_NAMESPACE(X) }"
+.LASF2098:
+ .string "__glibcxx_want_assume_aligned "
+.LASF1520:
+ .string "_SHARED_PTR_H 1"
+.LASF2157:
+ .string "rethrow_exception"
+.LASF1570:
+ .string "__CFLOAT32X _Complex _Float32x"
+.LASF1160:
+ .string "__cpp_lib_launder 201606L"
+.LASF74:
+ .string "__UINT_FAST64_TYPE__ long unsigned int"
+.LASF208:
+ .string "__INTPTR_WIDTH__ 64"
+.LASF1864:
+ .string "__CPU_SETSIZE 1024"
+.LASF2391:
+ .string "_ZN9__gnu_cxx21__default_lock_policyE"
+.LASF479:
+ .string "_GLIBCXX_PURE __attribute__ ((__pure__))"
+.LASF2339:
+ .string "tm_hour"
+.LASF34:
+ .string "__ORDER_BIG_ENDIAN__ 4321"
+.LASF453:
+ .string "__gnu_linux__ 1"
+.LASF1819:
+ .string "__counted_by(m) "
+.LASF933:
+ .string "_GLIBCXX_HAVE_STRING_H 1"
+.LASF1987:
+ .string "__PTHREAD_RWLOCK_INITIALIZER(__flags) 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags"
+.LASF1450:
+ .string "_STL_UNINITIALIZED_H 1"
+.LASF1915:
+ .string "CLOCK_TAI 11"
+.LASF409:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1"
+.LASF357:
+ .string "__FLT64X_HAS_DENORM__ 1"
+.LASF799:
+ .string "_PSTL_CPP14_2RANGE_MISMATCH_EQUAL_PRESENT "
+.LASF1937:
+ .string "MOD_TIMECONST ADJ_TIMECONST"
+.LASF1814:
+ .string "_LINUX_POSIX_TYPES_H "
+.LASF165:
+ .string "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)"
+.LASF2099:
+ .string "__glibcxx_want_atomic_shared_ptr "
+.LASF542:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11"
+.LASF782:
+ .string "_PSTL_VERSION_PATCH (_PSTL_VERSION % 10)"
+.LASF2291:
+ .string "_ZSt3getILm0EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+.LASF1170:
+ .string "__glibcxx_variant 202102L"
+.LASF1189:
+ .string "__glibcxx_want_boyer_moore_searcher"
+.LASF833:
+ .string "_GLIBCXX_HAVE_COSF 1"
+.LASF1872:
+ .string "__CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp)"
+.LASF1632:
+ .string "WCHAR_MAX __WCHAR_MAX"
+.LASF2195:
+ .string "_Head"
+.LASF2189:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4EOS3_"
+.LASF1180:
+ .string "__glibcxx_array_constexpr 201803L"
+.LASF996:
+ .string "_GLIBCXX_ATOMIC_BUILTINS 1"
+.LASF721:
+ .string "__LDBL_REDIR_NTH(name,proto) name proto __THROW"
+.LASF2068:
+ .string "_GLIBCXX_EH_PTR_USED "
+.LASF1140:
+ .string "__glibcxx_as_const 201510L"
+.LASF2077:
+ .string "ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE"
+.LASF1244:
+ .string "__glibcxx_want_math_constants"
+.LASF336:
+ .string "__FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+.LASF1289:
+ .string "__glibcxx_want_expected"
+.LASF1144:
+ .string "__glibcxx_bool_constant 201505L"
+.LASF2266:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+.LASF222:
+ .string "__FLT_DECIMAL_DIG__ 9"
+.LASF1149:
+ .string "__glibcxx_want_has_unique_object_representations"
+.LASF654:
+ .string "__glibc_has_builtin(name) __has_builtin (name)"
+.LASF1462:
+ .string "__glibcxx_requires_sorted(_First,_Last) "
+.LASF1325:
+ .string "__glibcxx_want_generator"
+.LASF493:
+ .string "_GLIBCXX20_DEPRECATED "
+.LASF1990:
+ .string "_BITS_SETJMP_H 1"
+.LASF1695:
+ .string "_TYPEINFO "
+.LASF2292:
+ .string "make_unique<Base>"
+.LASF2001:
+ .string "PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } }"
+.LASF1644:
+ .string "getwchar"
+.LASF2380:
+ .string "."
+.LASF317:
+ .string "__FLT128_MAX_EXP__ 16384"
+.LASF1532:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT 1"
+.LASF1233:
+ .string "__glibcxx_want_destroying_delete"
+.LASF1054:
+ .string "_GLIBCXX_USE_ST_MTIM 1"
+.LASF2067:
+ .string "_GLIBCXX_HAVE_CDTOR_CALLABI 0"
+.LASF607:
+ .string "_LARGEFILE64_SOURCE"
+.LASF454:
+ .string "__linux 1"
+.LASF2145:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4ERKS0_"
+.LASF2140:
+ .string "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv"
+.LASF2340:
+ .string "tm_mday"
+.LASF650:
+ .string "__GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))"
+.LASF2232:
+ .string "tuple"
+.LASF872:
+ .string "_GLIBCXX_HAVE_ISNANL 1"
+.LASF926:
+ .string "_GLIBCXX_HAVE_STDALIGN_H 1"
+.LASF1765:
+ .string "__OFF_T_MATCHES_OFF64_T 1"
+.LASF20:
+ .string "__FINITE_MATH_ONLY__ 0"
+.LASF734:
+ .string "__attribute_returns_twice__ __attribute__ ((__returns_twice__))"
+.LASF1510:
+ .string "__cpp_lib_tuples_by_type 201304L"
+.LASF830:
+ .string "_GLIBCXX_HAVE_CEILF 1"
+.LASF1084:
+ .string "__glibcxx_want_result_of_sfinae"
+.LASF2358:
+ .string "operator delete"
+.LASF816:
+ .string "_GLIBCXX_HAVE_ACOSL 1"
+.LASF825:
+ .string "_GLIBCXX_HAVE_ATANF 1"
+.LASF2260:
+ .string "get_deleter"
+.LASF1985:
+ .string "_RWLOCK_INTERNAL_H "
+.LASF106:
+ .string "__cpp_variable_templates 201304L"
+.LASF352:
+ .string "__FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+.LASF1839:
+ .string "CLONE_FILES 0x00000400"
+.LASF1901:
+ .string "CPU_FREE(cpuset) __CPU_FREE (cpuset)"
+.LASF1428:
+ .string "_STL_PAIR_H 1"
+.LASF859:
+ .string "_GLIBCXX_HAVE_FREXPF 1"
+.LASF184:
+ .string "__INT_LEAST64_MAX__ 0x7fffffffffffffffL"
+.LASF2257:
+ .string "operator->"
+.LASF2137:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4EPv"
+.LASF364:
+ .string "__BFLT16_MIN_10_EXP__ (-37)"
+.LASF1086:
+ .string "__glibcxx_want_shared_ptr_arrays"
+.LASF2073:
+ .string "_GLIBCXX_ATOMIC_LOCK_FREE_H 1"
+.LASF669:
+ .string "__END_DECLS }"
+.LASF617:
+ .string "__USE_ISOC11 1"
+.LASF954:
+ .string "_GLIBCXX_HAVE_S_ISREG 1"
+.LASF515:
+ .string "_GLIBCXX_NOEXCEPT_PARM , bool _NE"
+.LASF707:
+ .string "__extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__))"
+.LASF1946:
+ .string "STA_FLL 0x0008"
+.LASF2154:
+ .string "_ZNSt15__exception_ptr13exception_ptr4swapERS0_"
+.LASF362:
+ .string "__BFLT16_DIG__ 2"
+.LASF877:
+ .string "_GLIBCXX_HAVE_LIBINTL_H 1"
+.LASF1223:
+ .string "__glibcxx_want_atomic_value_initialization"
+.LASF2125:
+ .string "__swappable_with_details"
+.LASF2040:
+ .string "_GLIBCXX_WRITE_MEM_BARRIER __atomic_thread_fence (__ATOMIC_RELEASE)"
+.LASF672:
+ .string "__bos0(ptr) __builtin_object_size (ptr, 0)"
+.LASF1933:
+ .string "MOD_FREQUENCY ADJ_FREQUENCY"
+.LASF351:
+ .string "__FLT64X_DECIMAL_DIG__ 21"
+.LASF1240:
+ .string "__glibcxx_want_constexpr_char_traits"
+.LASF2114:
+ .string "__cpp_lib_allocator_traits_is_always_equal 201411L"
+.LASF1781:
+ .string "__BYTE_ORDER __LITTLE_ENDIAN"
+.LASF2299:
+ .string "_S_atomic"
+.LASF2161:
+ .string "_ZNSt14default_deleteI4BaseEC4Ev"
+.LASF2390:
+ .string "__default_lock_policy"
+.LASF582:
+ .string "__GLIBC_USE_DEPRECATED_GETS"
+.LASF1366:
+ .string "__glibcxx_want_is_constant_evaluated "
+.LASF298:
+ .string "__FLT64_DIG__ 15"
+.LASF2353:
+ .string "__pstl"
+.LASF412:
+ .string "__GCC_ATOMIC_BOOL_LOCK_FREE 2"
+.LASF1559:
+ .string "__HAVE_DISTINCT_FLOAT32X 0"
+.LASF388:
+ .string "__DEC64_MAX__ 9.999999999999999E384DD"
+.LASF630:
+ .string "_LARGEFILE_SOURCE"
+.LASF1723:
+ .string "__UWORD_TYPE unsigned long int"
+.LASF2288:
+ .string "_ZSt12__get_helperILm0EP4BaseJSt14default_deleteIS0_EEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE"
+.LASF823:
+ .string "_GLIBCXX_HAVE_ATAN2F 1"
+.LASF1460:
+ .string "__glibcxx_requires_can_increment_range(_First1,_Last1,_First2) "
+.LASF1522:
+ .string "_REQUIRES_FREESTANDING_H 1"
+.LASF1507:
+ .string "__glibcxx_want_tuple_like "
+.LASF573:
+ .string "__USE_FILE_OFFSET64"
+.LASF519:
+ .string "_GLIBCXX_USE_CXX11_ABI 1"
+.LASF2066:
+ .string "_GLIBCXX_CDTOR_CALLABI "
+.LASF1491:
+ .string "_GLIBCXX_ADVANCE"
+.LASF847:
+ .string "_GLIBCXX_HAVE_FABSL 1"
+.LASF241:
+ .string "__DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)"
+.LASF37:
+ .string "__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__"
+.LASF1276:
+ .string "__glibcxx_want_erase_if"
+.LASF1230:
+ .string "__glibcxx_want_concepts"
+.LASF2317:
+ .string "double"
+.LASF2134:
+ .string "_M_exception_object"
+.LASF1096:
+ .string "__glibcxx_exchange_function 201304L"
+.LASF603:
+ .string "_XOPEN_SOURCE"
+.LASF1441:
+ .string "__glibcxx_floating(_Tp,_Fval,_Dval,_LDval) (std::__are_same<_Tp, float>::__value ? _Fval : std::__are_same<_Tp, double>::__value ? _Dval : _LDval)"
+.LASF278:
+ .string "__FLT16_HAS_INFINITY__ 1"
+.LASF1939:
+ .string "MOD_CLKA ADJ_OFFSET_SINGLESHOT"
+.LASF1465:
+ .string "__glibcxx_requires_sorted_set_pred(_First1,_Last1,_First2,_Pred) "
+.LASF100:
+ .string "__cpp_alias_templates 200704L"
+.LASF554:
+ .string "__NO_CTYPE 1"
+.LASF1479:
+ .string "_GLIBCXX_BIT 1"
+.LASF1929:
+ .string "ADJ_TICK 0x4000"
+.LASF1629:
+ .string "_BITS_TYPES___LOCALE_T_H 1"
+.LASF1779:
+ .string "__PDP_ENDIAN 3412"
+.LASF852:
+ .string "_GLIBCXX_HAVE_FINITEF 1"
+.LASF2331:
+ .string "__FILE"
+.LASF423:
+ .string "__GCC_CONSTRUCTIVE_SIZE 64"
+.LASF1146:
+ .string "__glibcxx_byte 201603L"
+.LASF1238:
+ .string "__glibcxx_want_is_constant_evaluated"
+.LASF873:
+ .string "_GLIBCXX_HAVE_ISWBLANK 1"
+.LASF2393:
+ .string "typedef __va_list_tag __va_list_tag"
+.LASF28:
+ .string "__SIZEOF_DOUBLE__ 8"
+.LASF1555:
+ .string "__HAVE_FLOAT128X 0"
+.LASF604:
+ .string "_XOPEN_SOURCE 700"
+.LASF1001:
+ .string "_GLIBCXX_MANGLE_SIZE_T m"
+.LASF1298:
+ .string "__glibcxx_want_invoke_r"
+.LASF500:
+ .string "_GLIBCXX_NODISCARD [[__nodiscard__]]"
+.LASF2175:
+ .string "_M_deleter"
+.LASF1777:
+ .string "__LITTLE_ENDIAN 1234"
+.LASF1059:
+ .string "_GLIBCXX_USE_UTIMENSAT 1"
+.LASF1464:
+ .string "__glibcxx_requires_sorted_set(_First1,_Last1,_First2) "
+.LASF896:
+ .string "_GLIBCXX_HAVE_MEMORY_H 1"
+.LASF290:
+ .string "__FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32"
+.LASF1601:
+ .string "_BSD_WCHAR_T_ "
+.LASF1073:
+ .string "__glibcxx_want_destroying_delete "
+.LASF1172:
+ .string "__glibcxx_lcm 201606L"
+.LASF2123:
+ .string "_PSTL_EXECUTION_POLICY_DEFS_H "
+.LASF1354:
+ .string "_FUNCTEXCEPT_H 1"
+.LASF693:
+ .string "__attribute_noinline__ __attribute__ ((__noinline__))"
+.LASF1068:
+ .string "_STD_NEW_ALLOCATOR_H 1"
+.LASF1267:
+ .string "__glibcxx_want_barrier"
+.LASF1220:
+ .string "__glibcxx_want_atomic_float"
+.LASF365:
+ .string "__BFLT16_MAX_EXP__ 128"
+.LASF1195:
+ .string "__glibcxx_want_filesystem"
+.LASF2372:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC2IS2_vEEPS0_"
+.LASF917:
+ .string "_GLIBCXX_HAVE_SINCOSL 1"
+.LASF84:
+ .string "__cpp_hex_float 201603L"
+.LASF1741:
+ .string "__OFF64_T_TYPE __SQUAD_TYPE"
+.LASF577:
+ .string "__USE_GNU"
+.LASF305:
+ .string "__FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64"
+.LASF1458:
+ .string "__glibcxx_requires_valid_range(_First,_Last) "
+.LASF561:
+ .string "__USE_POSIX2"
+.LASF993:
+ .string "_GLIBCXX98_USE_C99_STDIO 1"
+.LASF1685:
+ .string "wmemcmp"
+.LASF1759:
+ .string "__CLOCKID_T_TYPE __S32_TYPE"
+.LASF19:
+ .string "__OPTIMIZE__ 1"
+.LASF1796:
+ .string "SCHED_FLAG_RESET_ON_FORK 0x01"
+.LASF1660:
+ .string "wcrtomb"
+.LASF78:
+ .string "__DEPRECATED 1"
+.LASF1138:
+ .string "__glibcxx_apply 201603L"
+.LASF1494:
+ .string "_ALLOC_TRAITS_H 1"
+.LASF2376:
+ .string "func"
+.LASF2328:
+ .string "__value"
+.LASF2018:
+ .string "PTHREAD_ATTR_NO_SIGMASK_NP (-1)"
+.LASF1885:
+ .string "CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp)"
+.LASF910:
+ .string "_GLIBCXX_HAVE_POWL 1"
+.LASF2015:
+ .string "PTHREAD_CANCELED ((void *) -1)"
+.LASF1477:
+ .string "__glibcxx_requires_irreflexive_pred2(_First,_Last,_Pred) "
+.LASF2144:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4Ev"
+.LASF2217:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERKS4_"
+.LASF1942:
+ .string "MOD_NANO ADJ_NANO"
+.LASF960:
+ .string "_GLIBCXX_HAVE_TIMESPEC_GET 1"
+.LASF1257:
+ .string "__glibcxx_want_constexpr_utility"
+.LASF1006:
+ .string "_GLIBCXX_SYMVER 1"
+.LASF443:
+ .string "__code_model_small__ 1"
+.LASF1722:
+ .string "__SWORD_TYPE long int"
+.LASF266:
+ .string "__FLT16_DIG__ 3"
+.LASF1162:
+ .string "__glibcxx_logical_traits 201510L"
+.LASF2206:
+ .string "_Idx"
+.LASF568:
+ .string "__USE_XOPEN2KXSI"
+.LASF1286:
+ .string "__glibcxx_want_byteswap"
+.LASF2080:
+ .string "ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE"
+.LASF775:
+ .string "_PSTL_PAR_BACKEND_SERIAL "
+.LASF1785:
+ .string "_BITS_SCHED_H 1"
+.LASF1456:
+ .string "_GLIBCXX_DEBUG_MACRO_SWITCH_H 1"
+.LASF475:
+ .string "_GLIBCXX_CXX_CONFIG_H 1"
+.LASF944:
+ .string "_GLIBCXX_HAVE_SYS_RESOURCE_H 1"
+.LASF1591:
+ .string "_SIZET_ "
+.LASF51:
+ .string "__INT8_TYPE__ signed char"
+.LASF881:
+ .string "_GLIBCXX_HAVE_LIMIT_RSS 1"
+.LASF2167:
+ .string "__uniq_ptr_impl"
+.LASF449:
+ .string "__SSE2_MATH__ 1"
+.LASF410:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1"
+.LASF828:
+ .string "_GLIBCXX_HAVE_AT_QUICK_EXIT 1"
+.LASF444:
+ .string "__MMX__ 1"
+.LASF1557:
+ .string "__HAVE_DISTINCT_FLOAT32 0"
+.LASF1196:
+ .string "__glibcxx_hypot 201603L"
+.LASF1764:
+ .string "__CPU_MASK_TYPE __SYSCALL_ULONG_TYPE"
+.LASF2049:
+ .string "_STDDEF_H_ "
+.LASF1296:
+ .string "__glibcxx_want_freestanding_string_view"
+.LASF612:
+ .string "_ATFILE_SOURCE 1"
+.LASF1291:
+ .string "__glibcxx_want_freestanding_algorithm"
+.LASF2147:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4EOS0_"
+.LASF2060:
+ .string "__DEFINED_ptrdiff_t "
+.LASF1394:
+ .string "__cpp_lib_is_aggregate 201703L"
+.LASF494:
+ .string "_GLIBCXX20_DEPRECATED_SUGGEST(ALT) "
+.LASF1752:
+ .string "__CLOCK_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF2194:
+ .string "_M_head_impl"
+.LASF299:
+ .string "__FLT64_MIN_EXP__ (-1021)"
+.LASF131:
+ .string "__cpp_template_template_args 201611L"
+.LASF1935:
+ .string "MOD_ESTERROR ADJ_ESTERROR"
+.LASF1421:
+ .string "_GLIBCXX_DEBUG_ASSERTIONS_H 1"
+.LASF1333:
+ .string "__glibcxx_want_string_resize_and_overwrite"
+.LASF1971:
+ .string "__SIZEOF_PTHREAD_ATTR_T 56"
+.LASF1356:
+ .string "__try try"
+.LASF1156:
+ .string "__glibcxx_want_is_aggregate"
+.LASF1321:
+ .string "__glibcxx_want_flat_map"
+.LASF735:
+ .string "__attribute_struct_may_alias__ __attribute__ ((__may_alias__))"
+.LASF1563:
+ .string "__HAVE_FLOATN_NOT_TYPEDEF 0"
+.LASF447:
+ .string "__FXSR__ 1"
+.LASF590:
+ .string "_ISOC95_SOURCE 1"
+.LASF1197:
+ .string "__glibcxx_want_hypot"
+.LASF67:
+ .string "__INT_FAST8_TYPE__ signed char"
+.LASF2010:
+ .string "PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } }"
+.LASF2399:
+ .string "__args"
+.LASF2047:
+ .string "_CXXABI_INIT_EXCEPTION_H 1"
+.LASF1256:
+ .string "__glibcxx_want_interpolate"
+.LASF562:
+ .string "__USE_POSIX199309"
+.LASF2290:
+ .string "get<0, Base*, std::default_delete<Base> >"
+.LASF1425:
+ .string "_GLIBCXX_DEBUG_ASSERT(_Condition) "
+.LASF1837:
+ .string "CLONE_VM 0x00000100"
+.LASF1440:
+ .string "_GLIBCXX_INT_N_TRAITS"
+.LASF2122:
+ .string "_PSTL_GLUE_MEMORY_DEFS_H "
+.LASF452:
+ .string "__SEG_GS 1"
+.LASF1867:
+ .string "__CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))"
+.LASF658:
+ .string "__THROW noexcept (true)"
+.LASF502:
+ .string "_GLIBCXX_USE_CONSTEXPR constexpr"
+.LASF820:
+ .string "_GLIBCXX_HAVE_ASINF 1"
+.LASF331:
+ .string "__FLT32X_MIN_EXP__ (-1021)"
+.LASF401:
+ .string "__DEC64X_MIN__ 1E-6143D64x"
+.LASF1911:
+ .string "CLOCK_MONOTONIC_COARSE 6"
+.LASF1599:
+ .string "__WCHAR_T "
+.LASF2192:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERS3_"
+.LASF233:
+ .string "__DBL_DIG__ 15"
+.LASF2132:
+ .string "__exception_ptr"
+.LASF1866:
+ .string "__CPUELT(cpu) ((cpu) / __NCPUBITS)"
+.LASF464:
+ .string "__STDC_IEC_559__ 1"
+.LASF1396:
+ .string "__cpp_lib_logical_traits 201510L"
+.LASF438:
+ .string "__ATOMIC_HLE_ACQUIRE 65536"
+.LASF2209:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS1_"
+.LASF1426:
+ .string "_GLIBCXX_DEBUG_PEDASSERT(_Condition) "
+.LASF387:
+ .string "__DEC64_MIN__ 1E-383DD"
+.LASF1125:
+ .string "__glibcxx_want_generic_associative_lookup"
+.LASF2177:
+ .string "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+.LASF1914:
+ .string "CLOCK_BOOTTIME_ALARM 9"
+.LASF2057:
+ .string "___int_ptrdiff_t_h "
+.LASF1573:
+ .string "__need_wchar_t "
+.LASF2365:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC2Ev"
+.LASF661:
+ .string "__NTHNL(fct) fct __THROW"
+.LASF728:
+ .string "__HAVE_GENERIC_SELECTION 0"
+.LASF1408:
+ .string "__allocator_base"
+.LASF326:
+ .string "__FLT128_HAS_INFINITY__ 1"
+.LASF1109:
+ .string "__glibcxx_want_transformation_trait_aliases"
+.LASF26:
+ .string "__SIZEOF_SHORT__ 2"
+.LASF1106:
+ .string "__glibcxx_null_iterators 201304L"
+.LASF783:
+ .string "_PSTL_USAGE_WARNINGS 0"
+.LASF1769:
+ .string "__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1"
+.LASF2345:
+ .string "tm_isdst"
+.LASF1646:
+ .string "mbrtowc"
+.LASF631:
+ .string "_LARGEFILE_SOURCE 1"
+.LASF151:
+ .string "__LONG_WIDTH__ 64"
+.LASF171:
+ .string "__UINT8_MAX__ 0xff"
+.LASF1544:
+ .string "__HAVE_FLOAT128 1"
+.LASF1060:
+ .string "_GLIBCXX_USE_WCHAR_T 1"
+.LASF1704:
+ .string "_GLIBCXX_MEM_FN_TRAITS2"
+.LASF1225:
+ .string "__glibcxx_want_bind_back"
+.LASF2012:
+ .string "PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE"
+.LASF684:
+ .string "__REDIRECT_FORTIFY __REDIRECT"
+.LASF461:
+ .string "__DECIMAL_BID_FORMAT__ 1"
+.LASF1133:
+ .string "__glibcxx_want_string_udls"
+.LASF792:
+ .string "_PSTL_PRAGMA_DECLARE_SIMD _PSTL_PRAGMA(omp declare simd)"
+.LASF2182:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE4swapERS3_"
+.LASF1538:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT 1"
+.LASF1437:
+ .string "__INT_N"
+.LASF967:
+ .string "_GLIBCXX_HAVE_UTIME_H 1"
+.LASF203:
+ .string "__UINT_FAST8_MAX__ 0xff"
+.LASF1021:
+ .string "_GLIBCXX_USE_C99_MATH_TR1 1"
+.LASF1000:
+ .string "_GLIBCXX_HOSTED __STDC_HOSTED__"
+.LASF1176:
+ .string "__glibcxx_gcd_lcm 201606L"
+.LASF1674:
+ .string "wcsrtombs"
+.LASF1686:
+ .string "wmemcpy"
+.LASF2088:
+ .string "_GLIBCXX_TSAN_MUTEX_DESTROY(X) "
+.LASF1242:
+ .string "__glibcxx_want_is_nothrow_convertible"
+.LASF681:
+ .string "__REDIRECT_NTHNL(name,proto,alias) name proto __THROWNL __asm__ (__ASMNAME (#alias))"
+.LASF242:
+ .string "__DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)"
+.LASF1853:
+ .string "CLONE_CHILD_SETTID 0x01000000"
+.LASF966:
+ .string "_GLIBCXX_HAVE_USELOCALE 1"
+.LASF191:
+ .string "__UINT_LEAST32_MAX__ 0xffffffffU"
+.LASF2136:
+ .string "_ZNSt15allocator_arg_tC4Ev"
+.LASF1474:
+ .string "__glibcxx_requires_irreflexive(_First,_Last) "
+.LASF303:
+ .string "__FLT64_DECIMAL_DIG__ 17"
+.LASF122:
+ .string "__cpp_noexcept_function_type 201510L"
+.LASF523:
+ .string "_GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11"
+.LASF525:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_VERSION "
+.LASF1037:
+ .string "_GLIBCXX_USE_LFS 1"
+.LASF1260:
+ .string "__glibcxx_want_constexpr_numeric"
+.LASF953:
+ .string "_GLIBCXX_HAVE_SYS_UIO_H 1"
+.LASF1580:
+ .string "_T_SIZE "
+.LASF1026:
+ .string "_GLIBCXX_USE_CLOCK_MONOTONIC 1"
+.LASF1533:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT_C23"
+.LASF1547:
+ .string "__HAVE_FLOAT64X_LONG_DOUBLE 1"
+.LASF1845:
+ .string "CLONE_THREAD 0x00010000"
+.LASF1434:
+ .string "_EXT_NUMERIC_TRAITS 1"
+.LASF291:
+ .string "__FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32"
+.LASF194:
+ .string "__UINT64_C(c) c ## UL"
+.LASF1974:
+ .string "__SIZEOF_PTHREAD_MUTEXATTR_T 4"
+.LASF18:
+ .string "__ATOMIC_CONSUME 1"
+.LASF715:
+ .string "__attribute_copy__"
+.LASF741:
+ .string "__stub_revoke "
+.LASF60:
+ .string "__INT_LEAST16_TYPE__ short int"
+.LASF712:
+ .string "__glibc_unlikely(cond) __builtin_expect ((cond), 0)"
+.LASF2346:
+ .string "tm_gmtoff"
+.LASF1277:
+ .string "__glibcxx_want_generic_unordered_lookup"
+.LASF1733:
+ .string "__UID_T_TYPE __U32_TYPE"
+.LASF1318:
+ .string "__glibcxx_want_constexpr_bitset"
+.LASF1100:
+ .string "__glibcxx_integral_constant_callable 201304L"
+.LASF1515:
+ .string "_BACKWARD_BINDERS_H 1"
+.LASF1410:
+ .string "_STL_CONSTRUCT_H 1"
+.LASF361:
+ .string "__BFLT16_MANT_DIG__ 8"
+.LASF894:
+ .string "_GLIBCXX_HAVE_MBSTATE_T 1"
+.LASF263:
+ .string "__LDBL_HAS_QUIET_NAN__ 1"
+.LASF1168:
+ .string "__glibcxx_type_trait_variable_templates 201510L"
+.LASF626:
+ .string "__USE_XOPEN2K8 1"
+.LASF2298:
+ .string "_S_mutex"
+.LASF676:
+ .string "__errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))"
+.LASF2258:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEptEv"
+.LASF1087:
+ .string "__glibcxx_is_swappable 201603L"
+.LASF1235:
+ .string "__glibcxx_want_endian"
+.LASF416:
+ .string "__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2"
+.LASF787:
+ .string "_PSTL_STRING_CONCAT(x,y) x #y"
+.LASF875:
+ .string "_GLIBCXX_HAVE_LDEXPF 1"
+.LASF61:
+ .string "__INT_LEAST32_TYPE__ int"
+.LASF2069:
+ .string "_GLIBCXX_EH_PTR_USED"
+.LASF955:
+ .string "_GLIBCXX_HAVE_TANF 1"
+.LASF431:
+ .string "__SIZEOF_PTRDIFF_T__ 8"
+.LASF752:
+ .string "_GLIBCXX_PSEUDO_VISIBILITY(V) "
+.LASF2096:
+ .string "_BACKWARD_AUTO_PTR_H 1"
+.LASF2383:
+ .string "type_info"
+.LASF958:
+ .string "_GLIBCXX_HAVE_TANL 1"
+.LASF535:
+ .string "_GLIBCXX_LONG_DOUBLE_COMPAT"
+.LASF472:
+ .string "__WORDSIZE 64"
+.LASF338:
+ .string "__FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x"
+.LASF1763:
+ .string "__SSIZE_T_TYPE __SWORD_TYPE"
+.LASF1249:
+ .string "__glibcxx_want_ssize"
+.LASF1512:
+ .string "__cpp_lib_make_from_tuple 201606L"
+.LASF132:
+ .string "__cpp_threadsafe_static_init 200806L"
+.LASF1076:
+ .string "__glibcxx_want_incomplete_container_elements"
+.LASF343:
+ .string "__FLT32X_HAS_QUIET_NAN__ 1"
+.LASF1206:
+ .string "__glibcxx_parallel_algorithm 201603L"
+.LASF39:
+ .string "__GNUC_EXECUTION_CHARSET_NAME \"UTF-8\""
+.LASF5:
+ .string "__STDC_EMBED_NOT_FOUND__ 0"
+.LASF611:
+ .string "_ATFILE_SOURCE"
+.LASF963:
+ .string "_GLIBCXX_HAVE_UCHAR_H 1"
+.LASF746:
+ .string "_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23)"
+.LASF1636:
+ .string "fgetwc"
+.LASF1158:
+ .string "__glibcxx_want_is_invocable"
+.LASF733:
+ .string "__attr_dealloc_free __attr_dealloc (__builtin_free, 1)"
+.LASF2271:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4IS2_vEEPS0_"
+.LASF2046:
+ .string "_EXCEPTION_PTR_H "
+.LASF234:
+ .string "__DBL_MIN_EXP__ (-1021)"
+.LASF347:
+ .string "__FLT64X_MIN_EXP__ (-16381)"
+.LASF1414:
+ .string "_STL_ITERATOR_BASE_FUNCS_H 1"
+.LASF1637:
+ .string "fgetws"
+.LASF1308:
+ .string "__glibcxx_want_ranges_repeat"
+.LASF971:
+ .string "_GLIBCXX_HAVE_WCHAR_H 1"
+.LASF598:
+ .string "_ISOC2Y_SOURCE 1"
+.LASF2366:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC2Ev"
+.LASF2168:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4Ev"
+.LASF1903:
+ .string "_BITS_TIME_H 1"
+.LASF483:
+ .string "_GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))"
+.LASF1416:
+ .string "__glibcxx_function_requires(...) "
+.LASF1433:
+ .string "__glibcxx_no_dangling_refs"
+.LASF411:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1"
+.LASF1112:
+ .string "__glibcxx_tuple_element_t 201402L"
+.LASF1953:
+ .string "STA_PPSWANDER 0x0400"
+.LASF1767:
+ .string "__RLIM_T_MATCHES_RLIM64_T 1"
+.LASF1876:
+ .string "__CPU_ALLOC(count) __sched_cpualloc (count)"
+.LASF600:
+ .string "_POSIX_SOURCE 1"
+.LASF1097:
+ .string "__glibcxx_want_exchange_function"
+.LASF1155:
+ .string "__glibcxx_is_aggregate 201703L"
+.LASF1919:
+ .string "ADJ_OFFSET 0x0001"
+.LASF1877:
+ .string "__CPU_FREE(cpuset) __sched_cpufree (cpuset)"
+.LASF1612:
+ .string "NULL"
+.LASF381:
+ .string "__DEC32_MAX__ 9.999999E96DF"
+.LASF1854:
+ .string "CLONE_NEWCGROUP 0x02000000"
+.LASF1931:
+ .string "ADJ_OFFSET_SS_READ 0xa001"
+.LASF1127:
+ .string "__glibcxx_want_make_unique"
+.LASF594:
+ .string "_ISOC11_SOURCE 1"
+.LASF1664:
+ .string "wcscoll"
+.LASF714:
+ .string "__attribute_nonstring__ __attribute__ ((__nonstring__))"
+.LASF1760:
+ .string "__TIMER_T_TYPE void *"
+.LASF2398:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev"
+.LASF2107:
+ .string "__glibcxx_want_ranges "
+.LASF1771:
+ .string "_BITS_TIME64_H 1"
+.LASF961:
+ .string "_GLIBCXX_HAVE_TLS 1"
+.LASF2097:
+ .string "__glibcxx_want_allocator_traits_is_always_equal "
+.LASF1871:
+ .string "__CPU_ISSET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }))"
+.LASF1838:
+ .string "CLONE_FS 0x00000200"
+.LASF341:
+ .string "__FLT32X_HAS_DENORM__ 1"
+.LASF855:
+ .string "_GLIBCXX_HAVE_FLOORF 1"
+.LASF2332:
+ .string "__isoc23_fwscanf"
+.LASF662:
+ .string "__COLD __attribute__ ((__cold__))"
+.LASF790:
+ .string "_PSTL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)"
+.LASF295:
+ .string "__FLT32_HAS_QUIET_NAN__ 1"
+.LASF2103:
+ .string "__glibcxx_want_enable_shared_from_this "
+.LASF82:
+ .string "__GXX_CONSTEXPR_ASM__ 1"
+.LASF1673:
+ .string "wcsrchr"
+.LASF647:
+ .string "__GNU_LIBRARY__ 6"
+.LASF2310:
+ .string "long long int"
+.LASF1355:
+ .string "_EXCEPTION_DEFINES_H 1"
+.LASF7:
+ .string "__STDC_EMBED_EMPTY__ 2"
+.LASF2092:
+ .string "_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK(X) "
+.LASF1948:
+ .string "STA_DEL 0x0020"
+.LASF1947:
+ .string "STA_INS 0x0010"
+.LASF1954:
+ .string "STA_PPSERROR 0x0800"
+.LASF1273:
+ .string "__glibcxx_want_constexpr_string"
+.LASF1899:
+ .string "CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count)"
+.LASF127:
+ .string "__cpp_nontype_template_parameter_auto 201606L"
+.LASF397:
+ .string "__DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL"
+.LASF779:
+ .string "_PSTL_VERSION 17000"
+.LASF1373:
+ .string "__glibcxx_want_is_scoped_enum "
+.LASF947:
+ .string "_GLIBCXX_HAVE_SYS_SOCKET_H 1"
+.LASF300:
+ .string "__FLT64_MIN_10_EXP__ (-307)"
+.LASF267:
+ .string "__FLT16_MIN_EXP__ (-13)"
+.LASF1111:
+ .string "__glibcxx_want_transparent_operators"
+.LASF1166:
+ .string "__glibcxx_not_fn 201603L"
+.LASF768:
+ .string "_GLIBCXX_HAS_BUILTIN(B) __has_builtin(B)"
+.LASF2062:
+ .string "offsetof"
+.LASF1012:
+ .string "_GLIBCXX_USE_C99_CTYPE 1"
+.LASF159:
+ .string "__INTMAX_MAX__ 0x7fffffffffffffffL"
+.LASF1983:
+ .string "__PTHREAD_MUTEX_HAVE_PREV 1"
+.LASF2038:
+ .string "_GLIBCXX_ATOMIC_WORD_H 1"
+.LASF92:
+ .string "__cpp_rvalue_reference 200610L"
+.LASF2031:
+ .string "__GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER"
+.LASF172:
+ .string "__UINT16_MAX__ 0xffff"
+.LASF2045:
+ .string "__cpp_lib_uncaught_exceptions 201411L"
+.LASF695:
+ .string "__attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg)))"
+.LASF1487:
+ .string "_GLIBCXX_TO_ADDR(P) P"
+.LASF2020:
+ .string "pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg)"
+.LASF1706:
+ .string "_GLIBCXX_ATOMICITY_H 1"
+.LASF354:
+ .string "__FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x"
+.LASF794:
+ .string "_PSTL_PRAGMA_FORCEINLINE "
+.LASF1187:
+ .string "__glibcxx_want_sample"
+.LASF1409:
+ .string "_STL_TEMPBUF_H 1"
+.LASF2035:
+ .string "__gthrw(name) __gthrw2(__gthrw_ ## name,name,name)"
+.LASF655:
+ .string "__glibc_has_extension(ext) __has_extension (ext)"
+.LASF868:
+ .string "_GLIBCXX_HAVE_INTTYPES_H 1"
+.LASF1358:
+ .string "__throw_exception_again throw"
+.LASF445:
+ .string "__SSE__ 1"
+.LASF403:
+ .string "__DEC64X_EPSILON__ 1E-33D64x"
+.LASF1653:
+ .string "ungetwc"
+.LASF546:
+ .string "_GLIBCXX_ASSERT_FAIL(_Condition) std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, #_Condition)"
+.LASF580:
+ .string "__GLIBC_USE_ISOC23"
+.LASF377:
+ .string "__DEC32_MANT_DIG__ 7"
+.LASF575:
+ .string "__USE_ATFILE"
+.LASF509:
+ .string "_GLIBCXX_NOEXCEPT noexcept"
+.LASF527:
+ .string "_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X {"
+.LASF2205:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_swapERS3_"
+.LASF2000:
+ .string "PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } }"
+.LASF1582:
+ .string "_SIZE_T_ "
+.LASF332:
+ .string "__FLT32X_MIN_10_EXP__ (-307)"
+.LASF1310:
+ .string "__glibcxx_want_ranges_cartesian_product"
+.LASF1986:
+ .string "__PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }"
+.LASF457:
+ .string "__unix 1"
+.LASF717:
+ .string "__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0"
+.LASF262:
+ .string "__LDBL_HAS_INFINITY__ 1"
+.LASF1989:
+ .string "__have_pthread_attr_t 1"
+.LASF1887:
+ .string "CPU_CLR_S(cpu,setsize,cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp)"
+.LASF1485:
+ .string "__glibcxx_want_int_pow2 "
+.LASF697:
+ .string "__attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))"
+.LASF1254:
+ .string "__glibcxx_want_unwrap_ref"
+.LASF2300:
+ .string "long unsigned int"
+.LASF1353:
+ .string "_GLIBCXX_PLACEMENT_CONSTEXPR"
+.LASF861:
+ .string "_GLIBCXX_HAVE_GETENTROPY 1"
+.LASF1129:
+ .string "__glibcxx_want_quoted_string_io"
+.LASF1359:
+ .string "_MOVE_H 1"
+.LASF581:
+ .string "__GLIBC_USE_ISOC2Y"
+.LASF1697:
+ .string "__GXX_MERGED_TYPEINFO_NAMES 0"
+.LASF1536:
+ .string "__GLIBC_USE_IEC_60559_EXT 1"
+.LASF224:
+ .string "__FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F"
+.LASF1252:
+ .string "__glibcxx_want_to_array"
+.LASF1198:
+ .string "__glibcxx_map_try_emplace 201411L"
+.LASF2033:
+ .string "__gthrw2(name,name2,type) "
+.LASF932:
+ .string "_GLIBCXX_HAVE_STRINGS_H 1"
+.LASF904:
+ .string "_GLIBCXX_HAVE_O_NONBLOCK 1"
+.LASF11:
+ .string "__VERSION__ \"15.1.1 20250425 (Red Hat 15.1.1-1)\""
+.LASF466:
+ .string "__STDC_IEC_559_COMPLEX__ 1"
+.LASF2017:
+ .string "PTHREAD_BARRIER_SERIAL_THREAD -1"
+.LASF1103:
+ .string "__glibcxx_want_is_final"
+.LASF390:
+ .string "__DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD"
+.LASF29:
+ .string "__SIZEOF_LONG_DOUBLE__ 16"
+.LASF2089:
+ .string "_GLIBCXX_TSAN_MUTEX_TRY_LOCK(X) "
+.LASF68:
+ .string "__INT_FAST16_TYPE__ long int"
+.LASF1628:
+ .string "_BITS_TYPES_LOCALE_T_H 1"
+.LASF680:
+ .string "__REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))"
+.LASF789:
+ .string "_PSTL_HIDE_FROM_ABI_POP "
+.LASF1749:
+ .string "__FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF309:
+ .string "__FLT64_HAS_DENORM__ 1"
+.LASF1272:
+ .string "__glibcxx_constexpr_string 201611L"
+.LASF1152:
+ .string "__glibcxx_want_hardware_interference_size"
+.LASF319:
+ .string "__FLT128_DECIMAL_DIG__ 36"
+.LASF228:
+ .string "__FLT_HAS_DENORM__ 1"
+.LASF964:
+ .string "_GLIBCXX_HAVE_UNISTD_H 1"
+.LASF2359:
+ .string "_ZNSt13__uses_alloc05_SinkaSEPKv"
+.LASF2326:
+ .string "__wchb"
+.LASF2313:
+ .string "char16_t"
+.LASF1497:
+ .string "_USES_ALLOCATOR_H 1"
+.LASF1742:
+ .string "__PID_T_TYPE __S32_TYPE"
+.LASF2389:
+ .string "_Lock_policy"
+.LASF101:
+ .string "__cpp_return_type_deduction 201304L"
+.LASF1336:
+ .string "__glibcxx_want_unreachable"
+.LASF2064:
+ .string "_GCC_MAX_ALIGN_T "
+.LASF1420:
+ .string "__glibcxx_class_requires4(_a,_b,_c,_d,_e) "
+.LASF1319:
+ .string "__glibcxx_want_stdatomic_h"
+.LASF1270:
+ .string "__glibcxx_want_constexpr_complex"
+.LASF1401:
+ .string "_GLIBCXX_FORWARD(_Tp,__val) std::forward<_Tp>(__val)"
+.LASF1091:
+ .string "__glibcxx_enable_shared_from_this 201603L"
+.LASF1463:
+ .string "__glibcxx_requires_sorted_pred(_First,_Last,_Pred) "
+.LASF256:
+ .string "__LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L"
+.LASF1375:
+ .string "__glibcxx_want_is_virtual_base_of "
+.LASF27:
+ .string "__SIZEOF_FLOAT__ 4"
+.LASF1275:
+ .string "__glibcxx_want_constrained_equality"
+.LASF2375:
+ .string "main"
+.LASF1141:
+ .string "__glibcxx_want_as_const"
+.LASF396:
+ .string "__DEC128_EPSILON__ 1E-33DL"
+.LASF1576:
+ .string "__SIZE_T__ "
+.LASF2174:
+ .string "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+.LASF1991:
+ .string "____sigset_t_defined "
+.LASF778:
+ .string "_PSTL_CONFIG_H "
+.LASF1879:
+ .string "__sched_priority sched_priority"
+.LASF982:
+ .string "_GLIBCXX_PACKAGE_URL \"\""
+.LASF63:
+ .string "__UINT_LEAST8_TYPE__ unsigned char"
+.LASF1738:
+ .string "__NLINK_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF468:
+ .string "__STDC_ISO_10646__ 201706L"
+.LASF251:
+ .string "__LDBL_MIN_10_EXP__ (-4931)"
+.LASF1902:
+ .string "_TIME_H 1"
+.LASF2117:
+ .string "__cpp_lib_transparent_operators 201510L"
+.LASF1654:
+ .string "vfwprintf"
+.LASF675:
+ .string "__warnattr(msg) __attribute__((__warning__ (msg)))"
+.LASF1449:
+ .string "_GLIBCXX_SIZED_DEALLOC(T,p,n) (p), (n) * sizeof(T)"
+.LASF2207:
+ .string "_Head_base<0, Base*, false>"
+.LASF629:
+ .string "__USE_UNIX98 1"
+.LASF48:
+ .string "__CHAR16_TYPE__ short unsigned int"
+.LASF1834:
+ .string "SCHED_ATTR_SIZE_VER1 56"
+.LASF544:
+ .string "_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1"
+.LASF545:
+ .string "_GLIBCXX_VERBOSE_ASSERT 1"
+.LASF642:
+ .string "__USE_FORTIFY_LEVEL 0"
+.LASF627:
+ .string "__USE_XOPEN 1"
+.LASF624:
+ .string "__USE_POSIX199506 1"
+.LASF1216:
+ .string "__glibcxx_unordered_map_try_emplace 201411L"
+.LASF2304:
+ .string "unsigned int"
+.LASF797:
+ .string "_PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan exclusive(PRM))"
+.LASF1177:
+ .string "__glibcxx_want_gcd_lcm"
+.LASF2025:
+ .string "__GTHREAD_INLINE inline __GTHREAD_ALWAYS_INLINE"
+.LASF2360:
+ .string "_ZdlPvm"
+.LASF1108:
+ .string "__glibcxx_transformation_trait_aliases 201304L"
+.LASF921:
+ .string "_GLIBCXX_HAVE_SINL 1"
+.LASF2364:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC2Ev"
+.LASF1756:
+ .string "__SUSECONDS64_T_TYPE __SQUAD_TYPE"
+.LASF2295:
+ .string "__cxx11"
+.LASF2135:
+ .string "exception_ptr"
+.LASF1367:
+ .string "__glibcxx_want_is_final "
+.LASF2196:
+ .string "_Tuple_impl<1, std::default_delete<Base> >"
+.LASF700:
+ .string "__returns_nonnull __attribute__ ((__returns_nonnull__))"
+.LASF1782:
+ .string "__FLOAT_WORD_ORDER __BYTE_ORDER"
+.LASF1302:
+ .string "__glibcxx_want_ranges_to_container"
+.LASF2094:
+ .string "_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL(X) "
+.LASF1157:
+ .string "__glibcxx_is_invocable 201703L"
+.LASF225:
+ .string "__FLT_MIN__ 1.17549435082228750796873653722224568e-38F"
+.LASF1130:
+ .string "__glibcxx_shared_timed_mutex 201402L"
+.LASF991:
+ .string "_GLIBCXX98_USE_C99_COMPLEX 1"
+.LASF634:
+ .string "__USE_LARGEFILE 1"
+.LASF722:
+ .string "__LDBL_REDIR2_DECL(name) "
+.LASF42:
+ .string "__SIZE_TYPE__ long unsigned int"
+.LASF252:
+ .string "__LDBL_MAX_EXP__ 16384"
+.LASF1153:
+ .string "__glibcxx_invoke 201411L"
+.LASF2308:
+ .string "short int"
+.LASF450:
+ .string "__MMX_WITH_SSE__ 1"
+.LASF1875:
+ .string "__CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))"
+.LASF9:
+ .string "__GNUC_MINOR__ 1"
+.LASF1413:
+ .string "_GLIBCXX26_ALGO_DEF_VAL_T(_Iterator) "
+.LASF2:
+ .string "__STDC_UTF_16__ 1"
+.LASF2087:
+ .string "ATOMIC_FLAG_INIT { 0 }"
+.LASF471:
+ .string "_CPP_CPPCONFIG_WRAPPER 1"
+.LASF1703:
+ .string "_GLIBCXX_MEM_FN_TRAITS"
+.LASF97:
+ .string "__cpp_nsdmi 200809L"
+.LASF21:
+ .string "_LP64 1"
+.LASF1881:
+ .string "CPU_SET(cpu,cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+.LASF1023:
+ .string "_GLIBCXX_USE_C99_STDINT_TR1 1"
+.LASF86:
+ .string "__cpp_raw_strings 200710L"
+.LASF1392:
+ .string "__cpp_lib_bool_constant 201505L"
+.LASF1810:
+ .string "__ASM_X86_BITSPERLONG_H "
+.LASF1726:
+ .string "__S64_TYPE long int"
+.LASF2120:
+ .string "__cpp_lib_parallel_algorithm 201603L"
+.LASF1622:
+ .string "__wint_t_defined 1"
+.LASF205:
+ .string "__UINT_FAST32_MAX__ 0xffffffffffffffffUL"
+.LASF83:
+ .string "__cpp_binary_literals 201304L"
+.LASF541:
+ .string "_GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11"
+.LASF1816:
+ .string "__struct_group_tag(TAG) "
+.LASF1316:
+ .string "__glibcxx_want_ranges_iota"
+.LASF196:
+ .string "__INT_FAST8_WIDTH__ 8"
+.LASF162:
+ .string "__UINTMAX_C(c) c ## UL"
+.LASF1332:
+ .string "__glibcxx_want_string_contains"
+.LASF1399:
+ .string "_GLIBCXX_FWDREF(_Tp) _Tp&&"
+.LASF1072:
+ .string "__glibcxx_want_hardware_interference_size "
+.LASF749:
+ .string "_GLIBCXX_NATIVE_THREAD_ID pthread_self()"
+.LASF2101:
+ .string "__glibcxx_want_constexpr_dynamic_alloc "
+.LASF43:
+ .string "__PTRDIFF_TYPE__ long int"
+.LASF2223:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS1_RKS3_"
+.LASF1299:
+ .string "__glibcxx_want_is_scoped_enum"
+.LASF187:
+ .string "__UINT_LEAST8_MAX__ 0xff"
+.LASF289:
+ .string "__FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32"
+.LASF619:
+ .string "__USE_ISOC95 1"
+.LASF534:
+ .string "_GLIBCXX_END_NAMESPACE_ALGO "
+.LASF1203:
+ .string "__glibcxx_want_memory_resource"
+.LASF175:
+ .string "__INT_LEAST8_MAX__ 0x7f"
+.LASF185:
+ .string "__INT64_C(c) c ## L"
+.LASF529:
+ .string "_GLIBCXX_STD_C std"
+.LASF901:
+ .string "_GLIBCXX_HAVE_NETINET_IN_H 1"
+.LASF532:
+ .string "_GLIBCXX_STD_A std"
+.LASF1669:
+ .string "wcsncat"
+.LASF760:
+ .string "_GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH"
+.LASF1529:
+ .string "__GLIBC_USE_LIB_EXT2"
+.LASF10:
+ .string "__GNUC_PATCHLEVEL__ 1"
+.LASF709:
+ .string "__va_arg_pack() __builtin_va_arg_pack ()"
+ .hidden __dso_handle
+ .globl __gxx_personality_v0
+ .ident "GCC: (GNU) 15.1.1 20250425 (Red Hat 15.1.1-1)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/binutils/testsuite/binutils-all/x86-64/dwarf5.s b/binutils/testsuite/binutils-all/x86-64/dwarf5.s
new file mode 100644
index 0000000..46f2d9b
--- /dev/null
+++ b/binutils/testsuite/binutils-all/x86-64/dwarf5.s
@@ -0,0 +1,26191 @@
+/* Assembly outputs of
+
+#include <memory>
+struct Base {};
+void func() {
+ static std::unique_ptr<Base> varStatic = std::make_unique<Base>();
+}
+int main(int, char**) {
+ func();
+ return 0;
+}
+
+compiled by GCC 15.1.1 with -g3 -O2 -dA -gdwarf-5. */
+
+ .file "dwarf.cc"
+ .text
+.Ltext0:
+ .file 0 "." "dwarf.cc"
+ .section .text._ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev,"axG",@progbits,_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED5Ev,comdat
+ .align 2
+ .p2align 4
+ .weak _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev
+ .type _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev, @function
+_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev:
+.LVL0:
+ # DEBUG this => di
+.LFB1565:
+ .file 1 "/usr/include/c++/15/bits/unique_ptr.h"
+ # /usr/include/c++/15/bits/unique_ptr.h:393:7
+ .loc 1 393 7 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # DEBUG this => di
+.LBB143:
+.LBB144:
+.LBB145:
+.LBI145:
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 1 191 18 view .LVU1
+ # DEBUG this RESET
+ # DEBUG __ptr => di
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 1 191 18 is_stmt 0 view .LVU2
+.LBE145:
+ # /usr/include/c++/15/bits/unique_ptr.h:398:12
+ .loc 1 398 12 view .LVU3
+ movq (%rdi), %rdi
+.LVL1:
+ # DEBUG __ptr => entry_value
+ # DEBUG this => entry_value
+ # /usr/include/c++/15/bits/unique_ptr.h:398:2
+ .loc 1 398 2 view .LVU4
+ testq %rdi, %rdi
+# SUCC: 3 [53.5% (guessed)] count:574129752 (estimated locally, freq 0.5347) (FALLTHRU,CAN_FALLTHRU) 4 [46.5% (guessed)] count:499612072 (estimated locally, freq 0.4653) (CAN_FALLTHRU)
+ je .L1
+# BLOCK 3, count:574129752 (estimated locally) seq:1
+# PRED: 2 [53.5% (guessed)] count:574129752 (estimated locally, freq 0.5347) (FALLTHRU,CAN_FALLTHRU)
+.LVL2:
+ # DEBUG this => entry_value
+.LBB146:
+.LBI146:
+ # /usr/include/c++/15/bits/unique_ptr.h:478:7
+ .loc 1 478 7 is_stmt 1 view .LVU5
+ # DEBUG this RESET
+ # DEBUG __ptr => di
+ # /usr/include/c++/15/bits/unique_ptr.h:478:7
+ .loc 1 478 7 is_stmt 0 view .LVU6
+.LBE146:
+.LBB147:
+.LBI147:
+ # /usr/include/c++/15/bits/unique_ptr.h:87:7
+ .loc 1 87 7 is_stmt 1 view .LVU7
+.LBB148:
+ # /usr/include/c++/15/bits/unique_ptr.h:93:2
+ .loc 1 93 2 is_stmt 0 discriminator 1 view .LVU8
+ movl $1, %esi
+# SUCC: EXIT [always] count:574129752 (estimated locally, freq 0.5347) (ABNORMAL,SIBCALL)
+ jmp _ZdlPvm
+.LVL3:
+ # DEBUG __ptr RESET
+ # DEBUG __ptr RESET
+# BLOCK 4, count:499612072 (estimated locally) seq:2
+# PRED: 2 [46.5% (guessed)] count:499612072 (estimated locally, freq 0.4653) (CAN_FALLTHRU)
+ .p2align 4,,10
+ .p2align 3
+.L1:
+ # /usr/include/c++/15/bits/unique_ptr.h:93:2
+ .loc 1 93 2 discriminator 1 view .LVU9
+.LBE148:
+.LBE147:
+.LBE144:
+.LBE143:
+# SUCC: EXIT [always] count:499612072 (estimated locally, freq 0.4653)
+ # /usr/include/c++/15/bits/unique_ptr.h:401:7
+ .loc 1 401 7 view .LVU10
+ ret
+ .cfi_endproc
+.LFE1565:
+ .size _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev, .-_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev
+ .weak _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev
+ .set _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev,_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev
+ .section .text.unlikely,"ax",@progbits
+.LCOLDB0:
+ .text
+.LHOTB0:
+ .p2align 4
+ .section .text.unlikely
+.Ltext_cold0:
+ .text
+ .globl _Z4funcv
+ .type _Z4funcv, @function
+_Z4funcv:
+.LFB1545:
+ .file 2 "dwarf.cc"
+ # dwarf.cc:3:13
+ .loc 2 3 13 is_stmt 1 view -0
+ .cfi_startproc
+ .cfi_personality 0x3,__gxx_personality_v0
+ .cfi_lsda 0x3,.LLSDA1545
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf.cc:4:2
+ .loc 2 4 2 view .LVU12
+ # dwarf.cc:4:66
+ .loc 2 4 66 is_stmt 0 view .LVU13
+ movzbl _ZGVZ4funcvE9varStatic(%rip), %eax
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 1 view .LVU14
+ testb %al, %al
+# SUCC: 4 [33.0% (guessed)] count:354334800 (estimated locally, freq 0.3300) (CAN_FALLTHRU) 3 [67.0% (guessed)] count:719407024 (estimated locally, freq 0.6700) (FALLTHRU,CAN_FALLTHRU)
+ je .L17
+# BLOCK 3, count:641063600 (estimated locally) seq:1
+# PRED: 2 [67.0% (guessed)] count:719407024 (estimated locally, freq 0.6700) (FALLTHRU,CAN_FALLTHRU)
+# SUCC: EXIT [always] count:641063600 (estimated locally, freq 0.5970)
+ ret
+# BLOCK 4, count:354334800 (estimated locally) seq:2
+# PRED: 2 [33.0% (guessed)] count:354334800 (estimated locally, freq 0.3300) (CAN_FALLTHRU)
+ .p2align 4,,10
+ .p2align 3
+.L17:
+ # dwarf.cc:3:13
+ .loc 2 3 13 view .LVU15
+ pushq %rbx
+ .cfi_def_cfa_offset 16
+ .cfi_offset 3, -16
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 2 view .LVU16
+ movl $_ZGVZ4funcvE9varStatic, %edi
+ call __cxa_guard_acquire
+.LVL4:
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 3 view .LVU17
+ testl %eax, %eax
+# SUCC: 6 [33.0% (guessed)] count:116930483 (estimated locally, freq 0.1089) (CAN_FALLTHRU) 5 [67.0% (guessed)] count:237404317 (estimated locally, freq 0.2211) (FALLTHRU,CAN_FALLTHRU)
+ jne .L18
+# BLOCK 5, count:315747741 (estimated locally) seq:3
+# PRED: 4 [67.0% (guessed)] count:237404317 (estimated locally, freq 0.2211) (FALLTHRU,CAN_FALLTHRU)
+ # dwarf.cc:5:1
+ .loc 2 5 1 view .LVU18
+ popq %rbx
+ .cfi_remember_state
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:315747741 (estimated locally, freq 0.2941)
+ ret
+# BLOCK 6, count:116930483 (estimated locally) seq:4
+# PRED: 4 [33.0% (guessed)] count:116930483 (estimated locally, freq 0.1089) (CAN_FALLTHRU)
+ .p2align 4,,10
+ .p2align 3
+.L18:
+ .cfi_restore_state
+.LBB149:
+.LBI149:
+ # /usr/include/c++/15/bits/unique_ptr.h:1084:5
+ .loc 1 1084 5 is_stmt 1 view .LVU19
+.LBB150:
+ # /usr/include/c++/15/bits/unique_ptr.h:1085:30
+ .loc 1 1085 30 is_stmt 0 view .LVU20
+ movl $1, %edi
+.LEHB0:
+# SUCC: 8 [never] count:0 (precise, freq 0.0000) (ABNORMAL,ABNORMAL_CALL,EH) 7 [always (adjusted)] count:116930483 (estimated locally, freq 0.1089) (FALLTHRU,CAN_FALLTHRU)
+ call _Znwm
+.LVL5:
+.LEHE0:
+# BLOCK 7, count:116930483 (estimated locally) seq:5
+# PRED: 6 [always (adjusted)] count:116930483 (estimated locally, freq 0.1089) (FALLTHRU,CAN_FALLTHRU)
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # DEBUG __p => ax
+.LBB151:
+.LBI151:
+ # /usr/include/c++/15/bits/unique_ptr.h:311:2
+ .loc 1 311 2 is_stmt 1 view .LVU21
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # DEBUG => ax
+.LBB152:
+.LBI152:
+ # /usr/include/c++/15/bits/unique_ptr.h:235:40
+ .loc 1 235 40 view .LVU22
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # DEBUG __p => ax
+.LBB153:
+.LBI153:
+ # /usr/include/c++/15/bits/unique_ptr.h:170:7
+ .loc 1 170 7 view .LVU23
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB154:
+.LBB155:
+.LBI155:
+ .file 3 "/usr/include/c++/15/tuple"
+ # /usr/include/c++/15/tuple:2090:2
+ .loc 3 2090 2 view .LVU24
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB156:
+.LBI156:
+ # /usr/include/c++/15/tuple:302:17
+ .loc 3 302 17 view .LVU25
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB157:
+.LBI157:
+ # /usr/include/c++/15/tuple:560:7
+ .loc 3 560 7 view .LVU26
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+.LBB158:
+.LBI158:
+ # /usr/include/c++/15/tuple:93:17
+ .loc 3 93 17 view .LVU27
+ # DEBUG this RESET
+ # DEBUG this RESET
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # /usr/include/c++/15/tuple:93:17
+ .loc 3 93 17 is_stmt 0 view .LVU28
+.LBE158:
+.LBE157:
+.LBB159:
+.LBI159:
+ # /usr/include/c++/15/tuple:202:17
+ .loc 3 202 17 is_stmt 1 view .LVU29
+ # DEBUG this RESET
+ # DEBUG this RESET
+ # DEBUG this RESET
+ # DEBUG this => `_ZZ4funcvE9varStatic'
+ # /usr/include/c++/15/tuple:202:17
+ .loc 3 202 17 is_stmt 0 view .LVU30
+.LBE159:
+.LBE156:
+.LBE155:
+.LBB160:
+.LBI160:
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 1 191 18 is_stmt 1 view .LVU31
+ # DEBUG this RESET
+ # /usr/include/c++/15/bits/unique_ptr.h:191:18
+ .loc 1 191 18 is_stmt 0 view .LVU32
+.LBE160:
+.LBE154:
+.LBE153:
+.LBE152:
+.LBE151:
+.LBE150:
+.LBE149:
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 7 view .LVU33
+ movl $_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev, %edi
+ movl $__dso_handle, %edx
+ movl $_ZZ4funcvE9varStatic, %esi
+.LBB166:
+.LBB165:
+.LBB164:
+.LBB163:
+.LBB162:
+.LBB161:
+ # /usr/include/c++/15/bits/unique_ptr.h:170:56
+ .loc 1 170 56 discriminator 2 view .LVU34
+ movq %rax, _ZZ4funcvE9varStatic(%rip)
+.LVL6:
+ # DEBUG this RESET
+ # DEBUG __p RESET
+ # DEBUG this RESET
+ # DEBUG RESET
+ # DEBUG this RESET
+ # DEBUG __p RESET
+ # /usr/include/c++/15/bits/unique_ptr.h:170:56
+ .loc 1 170 56 discriminator 2 view .LVU35
+.LBE161:
+.LBE162:
+.LBE163:
+.LBE164:
+.LBE165:
+.LBE166:
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 7 view .LVU36
+ call __cxa_atexit
+.LVL7:
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 8 view .LVU37
+ movl $_ZGVZ4funcvE9varStatic, %edi
+ # dwarf.cc:5:1
+ .loc 2 5 1 view .LVU38
+ popq %rbx
+ .cfi_remember_state
+ .cfi_restore 3
+ .cfi_def_cfa_offset 8
+.LEHB1:
+# SUCC: EXIT [always] count:116930483 (estimated locally, freq 0.1089) (ABNORMAL,SIBCALL)
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 8 view .LVU39
+ jmp __cxa_guard_release
+.LVL8:
+.LEHE1:
+# BLOCK 8, count:0 (precise) seq:6
+# PRED: 6 [never] count:0 (precise, freq 0.0000) (ABNORMAL,ABNORMAL_CALL,EH)
+.L9:
+ .cfi_restore_state
+ # dwarf.cc:4:66
+ .loc 2 4 66 discriminator 10 view .LVU40
+ movq %rax, %rbx
+# SUCC: 9 [always] count:0 (precise, freq 0.0000) (CROSSING)
+ jmp .L8
+ .section .gcc_except_table,"a",@progbits
+.LLSDA1545:
+ .byte 0xff # @LPStart format (omit)
+ .byte 0xff # @TType format (omit)
+ .byte 0x1 # call-site format (uleb128)
+ .uleb128 .LLSDACSE1545-.LLSDACSB1545 # Call-site table length
+.LLSDACSB1545:
+ .uleb128 .LEHB0-.LFB1545 # region 0 start
+ .uleb128 .LEHE0-.LEHB0 # length
+ .uleb128 .L9-.LFB1545 # landing pad
+ .uleb128 0 # action
+ .uleb128 .LEHB1-.LFB1545 # region 1 start
+ .uleb128 .LEHE1-.LEHB1 # length
+ .uleb128 0 # landing pad
+ .uleb128 0 # action
+.LLSDACSE1545:
+ .text
+ .cfi_endproc
+ .section .text.unlikely
+ .cfi_startproc
+ .cfi_personality 0x3,__gxx_personality_v0
+ .cfi_lsda 0x3,.LLSDAC1545
+ .type _Z4funcv.cold, @function
+_Z4funcv.cold:
+.LFSB1545:
+# BLOCK 9, count:0 (precise) seq:7
+# PRED: 8 [always] count:0 (precise, freq 0.0000) (CROSSING)
+.L8:
+ .cfi_def_cfa_offset 16
+ .cfi_offset 3, -16
+ movl $_ZGVZ4funcvE9varStatic, %edi
+ call __cxa_guard_abort
+.LVL9:
+ movq %rbx, %rdi
+.LEHB2:
+# SUCC:
+ call _Unwind_Resume
+.LVL10:
+.LEHE2:
+ .cfi_endproc
+.LFE1545:
+ .section .gcc_except_table
+.LLSDAC1545:
+ .byte 0xff # @LPStart format (omit)
+ .byte 0xff # @TType format (omit)
+ .byte 0x1 # call-site format (uleb128)
+ .uleb128 .LLSDACSEC1545-.LLSDACSBC1545 # Call-site table length
+.LLSDACSBC1545:
+ .uleb128 .LEHB2-.LCOLDB0 # region 0 start
+ .uleb128 .LEHE2-.LEHB2 # length
+ .uleb128 0 # landing pad
+ .uleb128 0 # action
+.LLSDACSEC1545:
+ .section .text.unlikely
+ .text
+ .size _Z4funcv, .-_Z4funcv
+ .section .text.unlikely
+ .size _Z4funcv.cold, .-_Z4funcv.cold
+.LCOLDE0:
+ .text
+.LHOTE0:
+ .section .text.startup,"ax",@progbits
+ .p2align 4
+ .globl main
+ .type main, @function
+main:
+.LFB1555:
+ # dwarf.cc:6:23
+ .loc 2 6 23 is_stmt 1 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf.cc:7:2
+ .loc 2 7 2 view .LVU42
+ # dwarf.cc:6:23
+ .loc 2 6 23 is_stmt 0 view .LVU43
+ subq $8, %rsp
+ .cfi_def_cfa_offset 16
+ # dwarf.cc:7:6
+ .loc 2 7 6 view .LVU44
+ call _Z4funcv
+.LVL11:
+ # dwarf.cc:8:2
+ .loc 2 8 2 is_stmt 1 view .LVU45
+ # dwarf.cc:9:1
+ .loc 2 9 1 is_stmt 0 view .LVU46
+ xorl %eax, %eax
+ addq $8, %rsp
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:1073741824 (estimated locally, freq 1.0000)
+ ret
+ .cfi_endproc
+.LFE1555:
+ .size main, .-main
+ .local _ZGVZ4funcvE9varStatic
+ .comm _ZGVZ4funcvE9varStatic,8,8
+ .local _ZZ4funcvE9varStatic
+ .comm _ZZ4funcvE9varStatic,8,8
+ .text
+.Letext0:
+ .section .text.unlikely
+.Letext_cold0:
+ .file 4 "/usr/include/c++/15/type_traits"
+ .file 5 "/usr/include/c++/15/debug/debug.h"
+ .file 6 "/usr/include/c++/15/bits/uses_allocator.h"
+ .file 7 "/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h"
+ .file 8 "/usr/include/c++/15/cwchar"
+ .file 9 "/usr/include/c++/15/bits/exception_ptr.h"
+ .file 10 "/usr/include/c++/15/bits/shared_ptr_base.h"
+ .file 11 "/usr/include/c++/15/bits/utility.h"
+ .file 12 "/usr/include/c++/15/bits/predefined_ops.h"
+ .file 13 "/usr/include/c++/15/bits/stl_iterator.h"
+ .file 14 "/usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h"
+ .file 15 "<built-in>"
+ .file 16 "/usr/include/bits/types/wint_t.h"
+ .file 17 "/usr/include/bits/types/__mbstate_t.h"
+ .file 18 "/usr/include/bits/types/mbstate_t.h"
+ .file 19 "/usr/include/bits/types/__FILE.h"
+ .file 20 "/usr/include/wchar.h"
+ .file 21 "/usr/include/bits/types/struct_tm.h"
+ .file 22 "/usr/include/c++/15/pstl/execution_defs.h"
+ .file 23 "/usr/include/c++/15/new"
+ .file 24 "/usr/include/c++/15/ext/concurrence.h"
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0x266b # Length of Compilation Unit Info
+ .value 0x5 # DWARF version number
+ .byte 0x1 # DW_UT_compile
+ .byte 0x8 # Pointer Size (in bytes)
+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
+ .uleb128 0x45 # (DIE (0xc) DW_TAG_compile_unit)
+ .long .LASF2379 # DW_AT_producer: "GNU C++17 15.1.1 20250425 (Red Hat 15.1.1-1) -mtune=generic -march=x86-64 -g3 -gdwarf-5 -O2"
+ .byte 0x21 # DW_AT_language
+ .byte 0x4 # DW_AT_language_name
+ .long 0x313e7 # DW_AT_language_version
+ .long .LASF0 # DW_AT_name: "dwarf.cc"
+ .long .LASF1 # DW_AT_comp_dir: "."
+ .long .LLRL20 # DW_AT_ranges
+ .quad 0 # DW_AT_low_pc
+ .long .Ldebug_line0 # DW_AT_stmt_list
+ .long .Ldebug_macro0 # DW_AT_macros
+ .uleb128 0x46 # (DIE (0x33) DW_TAG_namespace)
+ .ascii "std\0" # DW_AT_name
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8ca # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1275 # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x40) DW_TAG_typedef)
+ .long .LASF2132 # DW_AT_name: "size_t"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8cc # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long 0x1275 # DW_AT_type
+ .uleb128 0x37 # (DIE (0x4d) DW_TAG_namespace)
+ .long .LASF2126 # DW_AT_name: "__swappable_details"
+ # DW_AT_decl_file (4, /usr/include/c++/15/type_traits)
+ .value 0xb92 # DW_AT_decl_line
+ # DW_AT_decl_column (0xd)
+ .uleb128 0x37 # (DIE (0x54) DW_TAG_namespace)
+ .long .LASF2127 # DW_AT_name: "__swappable_with_details"
+ # DW_AT_decl_file (4, /usr/include/c++/15/type_traits)
+ .value 0xbe7 # DW_AT_decl_line
+ # DW_AT_decl_column (0xd)
+ .uleb128 0x38 # (DIE (0x5b) DW_TAG_namespace)
+ .long .LASF2128 # DW_AT_name: "__debug"
+ .byte 0x5 # DW_AT_decl_file (/usr/include/c++/15/debug/debug.h)
+ .byte 0x32 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .uleb128 0x16 # (DIE (0x63) DW_TAG_structure_type)
+ .long .LASF2129 # DW_AT_name: "allocator_arg_t"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x38 # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0x88 # DW_AT_sibling
+ .uleb128 0x47 # (DIE (0x70) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2129 # DW_AT_name: "allocator_arg_t"
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x38 # DW_AT_decl_line
+ .byte 0x25 # DW_AT_decl_column
+ .long .LASF2138 # DW_AT_linkage_name: "_ZNSt15allocator_arg_tC4Ev"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x81 # DW_AT_object_pointer
+ .uleb128 0x2 # (DIE (0x81) DW_TAG_formal_parameter)
+ .long 0x13a5 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x70
+ .byte 0 # end of children of DIE 0x63
+ .uleb128 0x39 # (DIE (0x88) DW_TAG_structure_type)
+ .long .LASF2355 # DW_AT_name: "__uses_alloc_base"
+ # DW_AT_byte_size (0x1)
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x4d # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .uleb128 0x16 # (DIE (0x90) DW_TAG_structure_type)
+ .long .LASF2130 # DW_AT_name: "__uses_alloc0"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x4f # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0xd9 # DW_AT_sibling
+ .uleb128 0x16 # (DIE (0x9d) DW_TAG_structure_type)
+ .long .LASF2131 # DW_AT_name: "_Sink"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xc6 # DW_AT_sibling
+ .uleb128 0x48 # (DIE (0xaa) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0x2e # DW_AT_decl_column
+ .long .LASF2360 # DW_AT_linkage_name: "_ZNSt13__uses_alloc05_SinkaSEPKv"
+ # DW_AT_declaration
+ .long 0xba # DW_AT_object_pointer
+ .uleb128 0x2 # (DIE (0xba) DW_TAG_formal_parameter)
+ .long 0x13aa # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbf) DW_TAG_formal_parameter)
+ .long 0x12ec # DW_AT_type
+ .byte 0 # end of children of DIE 0xaa
+ .byte 0 # end of children of DIE 0x9d
+ .uleb128 0x2c # (DIE (0xc6) DW_TAG_inheritance)
+ .long 0x88 # DW_AT_type
+ # DW_AT_data_member_location (0)
+ .uleb128 0xa # (DIE (0xcb) DW_TAG_member)
+ .long .LASF2135 # DW_AT_name: "_M_a"
+ .byte 0x6 # DW_AT_decl_file (/usr/include/c++/15/bits/uses_allocator.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0x4b # DW_AT_decl_column
+ .long 0x9d # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x90
+ .uleb128 0x18 # (DIE (0xd9) DW_TAG_typedef)
+ .long .LASF2133 # DW_AT_name: "nullptr_t"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8d0 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long 0x13af # DW_AT_type
+ .uleb128 0x3 # (DIE (0xe6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x42 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1465 # DW_AT_import
+ .uleb128 0x3 # (DIE (0xee) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x8f # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_import
+ .uleb128 0x3 # (DIE (0xf6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x91 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1487 # DW_AT_import
+ .uleb128 0x3 # (DIE (0xfe) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x92 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x149d # DW_AT_import
+ .uleb128 0x3 # (DIE (0x106) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x93 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x14b8 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x10e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x94 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x14d8 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x116) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x95 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x14f3 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x11e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x96 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x150e # DW_AT_import
+ .uleb128 0x3 # (DIE (0x126) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x97 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1529 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x12e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x98 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1545 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x136) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x99 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1566 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x13e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9a # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x157c # DW_AT_import
+ .uleb128 0x3 # (DIE (0x146) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9b # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1589 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x14e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9c # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x15ae # DW_AT_import
+ .uleb128 0x3 # (DIE (0x156) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9d # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x15d3 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x15e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9e # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x15ee # DW_AT_import
+ .uleb128 0x3 # (DIE (0x166) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0x9f # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1618 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x16e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1633 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x176) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1649 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x17e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x166a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x186) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa5 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x168b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x18e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa6 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x16a6 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x196) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xa8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x16cb # DW_AT_import
+ .uleb128 0x3 # (DIE (0x19e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xab # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x16f0 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1a6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xae # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1715 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1ae) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x173a # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1b6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1755 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1be) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1775 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1c6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb5 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1795 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1ce) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb6 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17af # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1d6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb7 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17c9 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1de) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17e3 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1e6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xb9 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x17fd # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1ee) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xba # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1817 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1f6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbb # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x18e2 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x1fe) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbc # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x18f7 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x206) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbd # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1916 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x20e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbe # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1935 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x216) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xbf # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1954 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x21e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x197e # DW_AT_import
+ .uleb128 0x3 # (DIE (0x226) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1998 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x22e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc3 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x19b8 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x236) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc5 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x19d3 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x23e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc6 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x19f2 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x246) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc7 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a17 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x24e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc8 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a3c # DW_AT_import
+ .uleb128 0x3 # (DIE (0x256) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xc9 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a5b # DW_AT_import
+ .uleb128 0x3 # (DIE (0x25e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xca # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a71 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x266) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcb # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1a91 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x26e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcc # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ab1 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x276) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcd # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ad1 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x27e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xce # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1af1 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x286) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xcf # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b08 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x28e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b24 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x296) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd0 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b43 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x29e) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b62 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2a6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1b81 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2ae) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ba0 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2b6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd2 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1bbf # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2be) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd3 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1bde # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2c6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd3 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1bfd # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2ce) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c1c # DW_AT_import
+ .uleb128 0x3 # (DIE (0x2d6) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xd4 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c41 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2de) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x10d # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long 0x1c66 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2e6) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x10e # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long 0x1c81 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2ee) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x10f # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long 0x1ca6 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2f6) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x11d # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x19b8 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x2fe) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x120 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x16cb # DW_AT_import
+ .uleb128 0x11 # (DIE (0x306) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x123 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1715 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x30e) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x126 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1755 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x316) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x12a # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1c66 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x31e) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x12b # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1c81 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x326) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x12c # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1ca6 # DW_AT_import
+ .uleb128 0x2d # (DIE (0x32e) DW_TAG_namespace)
+ .long .LASF2134 # DW_AT_name: "__exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x3d # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x519 # DW_AT_sibling
+ .uleb128 0x3a # (DIE (0x33a) DW_TAG_class_type)
+ .long .LASF2137 # DW_AT_name: "exception_ptr"
+ # DW_AT_byte_size (0x8)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x61 # DW_AT_decl_line
+ # DW_AT_decl_column (0xb)
+ .long 0x4f4 # DW_AT_sibling
+ .uleb128 0xa # (DIE (0x345) DW_TAG_member)
+ .long .LASF2136 # DW_AT_name: "_M_exception_object"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x63 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x12ea # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x49 # (DIE (0x352) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2137 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x65 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long .LASF2139 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4EPv"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x366 # DW_AT_object_pointer
+ .long 0x371 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x366) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x36b) DW_TAG_formal_parameter)
+ .long 0x12ea # DW_AT_type
+ .byte 0 # end of children of DIE 0x352
+ .uleb128 0x19 # (DIE (0x371) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2140 # DW_AT_name: "_M_addref"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x67 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2142 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv"
+ # DW_AT_declaration
+ .long 0x385 # DW_AT_object_pointer
+ .long 0x38b # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x385) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x371
+ .uleb128 0x19 # (DIE (0x38b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2141 # DW_AT_name: "_M_release"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x68 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2143 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv"
+ # DW_AT_declaration
+ .long 0x39f # DW_AT_object_pointer
+ .long 0x3a5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x39f) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x38b
+ .uleb128 0x4a # (DIE (0x3a5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2144 # DW_AT_name: "_M_get"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x6a # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long .LASF2145 # DW_AT_linkage_name: "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv"
+ .long 0x12ea # DW_AT_type
+ # DW_AT_declaration
+ .long 0x3bd # DW_AT_object_pointer
+ .long 0x3c3 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3bd) DW_TAG_formal_parameter)
+ .long 0x1cd0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x3a5
+ .uleb128 0x17 # (DIE (0x3c3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2137 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x72 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2146 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4Ev"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x3d7 # DW_AT_object_pointer
+ .long 0x3dd # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3d7) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x3c3
+ .uleb128 0x17 # (DIE (0x3dd) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2137 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x74 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2147 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4ERKS0_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x3f1 # DW_AT_object_pointer
+ .long 0x3fc # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x3f1) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x3f6) DW_TAG_formal_parameter)
+ .long 0x1cd5 # DW_AT_type
+ .byte 0 # end of children of DIE 0x3dd
+ .uleb128 0x17 # (DIE (0x3fc) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2137 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x77 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2148 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4EDn"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x410 # DW_AT_object_pointer
+ .long 0x41b # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x410) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x415) DW_TAG_formal_parameter)
+ .long 0xd9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x3fc
+ .uleb128 0x17 # (DIE (0x41b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2137 # DW_AT_name: "exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x7b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2149 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrC4EOS0_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x42f # DW_AT_object_pointer
+ .long 0x43a # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x42f) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x434) DW_TAG_formal_parameter)
+ .long 0x1cda # DW_AT_type
+ .byte 0 # end of children of DIE 0x41b
+ .uleb128 0x1c # (DIE (0x43a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x88 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2151 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptraSERKS0_"
+ .long 0x1cdf # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x452 # DW_AT_object_pointer
+ .long 0x45d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x452) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x457) DW_TAG_formal_parameter)
+ .long 0x1cd5 # DW_AT_type
+ .byte 0 # end of children of DIE 0x43a
+ .uleb128 0x1c # (DIE (0x45d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x8c # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2152 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptraSEOS0_"
+ .long 0x1cdf # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x475 # DW_AT_object_pointer
+ .long 0x480 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x475) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x47a) DW_TAG_formal_parameter)
+ .long 0x1cda # DW_AT_type
+ .byte 0 # end of children of DIE 0x45d
+ .uleb128 0x17 # (DIE (0x480) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2153 # DW_AT_name: "~exception_ptr"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x93 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2154 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptrD4Ev"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x494 # DW_AT_object_pointer
+ .long 0x49a # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x494) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x480
+ .uleb128 0x17 # (DIE (0x49a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2155 # DW_AT_name: "swap"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x96 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2156 # DW_AT_linkage_name: "_ZNSt15__exception_ptr13exception_ptr4swapERS0_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x4ae # DW_AT_object_pointer
+ .long 0x4b9 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x4ae) DW_TAG_formal_parameter)
+ .long 0x1ccb # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x4b3) DW_TAG_formal_parameter)
+ .long 0x1cdf # DW_AT_type
+ .byte 0 # end of children of DIE 0x49a
+ .uleb128 0x4b # (DIE (0x4b9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2254 # DW_AT_name: "operator bool"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xa1 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long .LASF2380 # DW_AT_linkage_name: "_ZNKSt15__exception_ptr13exception_ptrcvbEv"
+ .long 0x127c # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x4d2 # DW_AT_object_pointer
+ .long 0x4d8 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x4d2) DW_TAG_formal_parameter)
+ .long 0x1cd0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x4b9
+ .uleb128 0x4c # (DIE (0x4d8) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2157 # DW_AT_name: "__cxa_exception_type"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xb6 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2158 # DW_AT_linkage_name: "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv"
+ .long 0x1ce4 # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x4ed # DW_AT_object_pointer
+ .uleb128 0x2 # (DIE (0x4ed) DW_TAG_formal_parameter)
+ .long 0x1cd0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x4d8
+ .byte 0 # end of children of DIE 0x33a
+ .uleb128 0x7 # (DIE (0x4f4) DW_TAG_const_type)
+ .long 0x33a # DW_AT_type
+ .uleb128 0x3 # (DIE (0x4f9) DW_TAG_imported_declaration)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x55 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long 0x521 # DW_AT_import
+ .uleb128 0x4d # (DIE (0x501) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2155 # DW_AT_name: "swap"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xe5 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2381 # DW_AT_linkage_name: "_ZNSt15__exception_ptr4swapERNS_13exception_ptrES1_"
+ # DW_AT_declaration
+ .uleb128 0x1 # (DIE (0x50d) DW_TAG_formal_parameter)
+ .long 0x1cdf # DW_AT_type
+ .uleb128 0x1 # (DIE (0x512) DW_TAG_formal_parameter)
+ .long 0x1cdf # DW_AT_type
+ .byte 0 # end of children of DIE 0x501
+ .byte 0 # end of children of DIE 0x32e
+ .uleb128 0x3 # (DIE (0x519) DW_TAG_imported_declaration)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x42 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long 0x33a # DW_AT_import
+ .uleb128 0x4e # (DIE (0x521) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2159 # DW_AT_name: "rethrow_exception"
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0x51 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long .LASF2160 # DW_AT_linkage_name: "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE"
+ # DW_AT_noreturn
+ # DW_AT_declaration
+ .long 0x537 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x531) DW_TAG_formal_parameter)
+ .long 0x33a # DW_AT_type
+ .byte 0 # end of children of DIE 0x521
+ .uleb128 0x4f # (DIE (0x537) DW_TAG_class_type)
+ .long .LASF2382 # DW_AT_name: "type_info"
+ # DW_AT_declaration
+ .uleb128 0x7 # (DIE (0x53c) DW_TAG_const_type)
+ .long 0x537 # DW_AT_type
+ .uleb128 0x3 # (DIE (0x541) DW_TAG_imported_declaration)
+ .byte 0x9 # DW_AT_decl_file (/usr/include/c++/15/bits/exception_ptr.h)
+ .byte 0xf2 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long 0x501 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x549) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x61 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x133e # DW_AT_import
+ .uleb128 0x3 # (DIE (0x551) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x62 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x1ce9 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x559) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x63 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x1350 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x561) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x64 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x1356 # DW_AT_import
+ .uleb128 0x3 # (DIE (0x569) DW_TAG_imported_declaration)
+ .byte 0xa # DW_AT_decl_file (/usr/include/c++/15/bits/shared_ptr_base.h)
+ .byte 0x65 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x135c # DW_AT_import
+ .uleb128 0x16 # (DIE (0x571) DW_TAG_structure_type)
+ .long .LASF2161 # DW_AT_name: "default_delete<Base>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x45 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x5c1 # DW_AT_sibling
+ .uleb128 0x22 # (DIE (0x57e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2162 # DW_AT_name: "default_delete"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x48 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2163 # DW_AT_linkage_name: "_ZNSt14default_deleteI4BaseEC4Ev"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0x592 # DW_AT_object_pointer
+ .long 0x598 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x592) DW_TAG_formal_parameter)
+ .long 0x1d13 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x57e
+ .uleb128 0x19 # (DIE (0x598) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2164 # DW_AT_name: "operator()"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x57 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2165 # DW_AT_linkage_name: "_ZNKSt14default_deleteI4BaseEclEPS0_"
+ # DW_AT_declaration
+ .long 0x5ac # DW_AT_object_pointer
+ .long 0x5b7 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x5ac) DW_TAG_formal_parameter)
+ .long 0x1d18 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x5b1) DW_TAG_formal_parameter)
+ .long 0x1d22 # DW_AT_type
+ .byte 0 # end of children of DIE 0x598
+ .uleb128 0xd # (DIE (0x5b7) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .byte 0 # end of children of DIE 0x571
+ .uleb128 0x7 # (DIE (0x5c1) DW_TAG_const_type)
+ .long 0x571 # DW_AT_type
+ .uleb128 0x3a # (DIE (0x5c6) DW_TAG_class_type)
+ .long .LASF2166 # DW_AT_name: "__uniq_ptr_impl<Base, std::default_delete<Base> >"
+ # DW_AT_byte_size (0x8)
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x8e # DW_AT_decl_line
+ # DW_AT_decl_column (0xb)
+ .long 0x77b # DW_AT_sibling
+ .uleb128 0x16 # (DIE (0x5d1) DW_TAG_structure_type)
+ .long .LASF2167 # DW_AT_name: "_Ptr<Base, std::default_delete<Base>, void>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x91 # DW_AT_decl_line
+ .byte 0x9 # DW_AT_decl_column
+ .long 0x5fd # DW_AT_sibling
+ .uleb128 0xe # (DIE (0x5de) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x93 # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xd # (DIE (0x5ea) DW_TAG_template_type_param)
+ .ascii "_Up\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0xd # (DIE (0x5f3) DW_TAG_template_type_param)
+ .ascii "_Ep\0" # DW_AT_name
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x5d1
+ .uleb128 0x50 # (DIE (0x5fd) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2169 # DW_AT_name: "__uniq_ptr_impl"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xa8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2170 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4Ev"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0x613 # DW_AT_object_pointer
+ .long 0x619 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x613) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x5fd
+ .uleb128 0x17 # (DIE (0x619) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2169 # DW_AT_name: "__uniq_ptr_impl"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2171 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EPS0_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x62d # DW_AT_object_pointer
+ .long 0x638 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x62d) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x632) DW_TAG_formal_parameter)
+ .long 0x638 # DW_AT_type
+ .byte 0 # end of children of DIE 0x619
+ .uleb128 0x51 # (DIE (0x638) DW_TAG_typedef)
+ .long .LASF2258 # DW_AT_name: "pointer"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xa2 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x5de # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ .uleb128 0x17 # (DIE (0x645) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2169 # DW_AT_name: "__uniq_ptr_impl"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xb2 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2172 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EOS3_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x659 # DW_AT_object_pointer
+ .long 0x664 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x659) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x65e) DW_TAG_formal_parameter)
+ .long 0x1dd1 # DW_AT_type
+ .byte 0 # end of children of DIE 0x645
+ .uleb128 0x1c # (DIE (0x664) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xb7 # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .long .LASF2173 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEaSEOS3_"
+ .long 0x1dd6 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x67c # DW_AT_object_pointer
+ .long 0x687 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x67c) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x681) DW_TAG_formal_parameter)
+ .long 0x1dd1 # DW_AT_type
+ .byte 0 # end of children of DIE 0x664
+ .uleb128 0x1c # (DIE (0x687) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2174 # DW_AT_name: "_M_ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xbf # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2175 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+ .long 0x1ddb # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x69f # DW_AT_object_pointer
+ .long 0x6a5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x69f) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x687
+ .uleb128 0x1c # (DIE (0x6a5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2174 # DW_AT_name: "_M_ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc1 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2176 # DW_AT_linkage_name: "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+ .long 0x638 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x6bd # DW_AT_object_pointer
+ .long 0x6c3 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x6bd) DW_TAG_formal_parameter)
+ .long 0x1de0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x6a5
+ .uleb128 0x1c # (DIE (0x6c3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2177 # DW_AT_name: "_M_deleter"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc3 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2178 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+ .long 0x1d45 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x6db # DW_AT_object_pointer
+ .long 0x6e1 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x6db) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x6c3
+ .uleb128 0x1c # (DIE (0x6e1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2177 # DW_AT_name: "_M_deleter"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc5 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ .long .LASF2179 # DW_AT_linkage_name: "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+ .long 0x1d36 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x6f9 # DW_AT_object_pointer
+ .long 0x6ff # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x6f9) DW_TAG_formal_parameter)
+ .long 0x1de0 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x6e1
+ .uleb128 0x17 # (DIE (0x6ff) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2180 # DW_AT_name: "reset"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xc8 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2181 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x713 # DW_AT_object_pointer
+ .long 0x71e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x713) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x718) DW_TAG_formal_parameter)
+ .long 0x638 # DW_AT_type
+ .byte 0 # end of children of DIE 0x6ff
+ .uleb128 0x1c # (DIE (0x71e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2182 # DW_AT_name: "release"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long .LASF2183 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE7releaseEv"
+ .long 0x638 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x736 # DW_AT_object_pointer
+ .long 0x73c # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x736) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x71e
+ .uleb128 0x17 # (DIE (0x73c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2155 # DW_AT_name: "swap"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xda # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2184 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE4swapERS3_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0x750 # DW_AT_object_pointer
+ .long 0x75b # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x750) DW_TAG_formal_parameter)
+ .long 0x1dc7 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x755) DW_TAG_formal_parameter)
+ .long 0x1dd6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x73c
+ .uleb128 0xa # (DIE (0x75b) DW_TAG_member)
+ .long .LASF2185 # DW_AT_name: "_M_t"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xe2 # DW_AT_decl_line
+ .byte 0x1b # DW_AT_decl_column
+ .long 0xc3b # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xd # (DIE (0x768) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0xd # (DIE (0x771) DW_TAG_template_type_param)
+ .ascii "_Dp\0" # DW_AT_name
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x5c6
+ .uleb128 0x7 # (DIE (0x77b) DW_TAG_const_type)
+ .long 0x5c6 # DW_AT_type
+ .uleb128 0x16 # (DIE (0x780) DW_TAG_structure_type)
+ .long .LASF2186 # DW_AT_name: "_Head_base<1, std::default_delete<Base>, true>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x5b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x87d # DW_AT_sibling
+ .uleb128 0x19 # (DIE (0x78d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x5d # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2188 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4Ev"
+ # DW_AT_declaration
+ .long 0x7a1 # DW_AT_object_pointer
+ .long 0x7a7 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x7a1) DW_TAG_formal_parameter)
+ .long 0x1d2c # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x78d
+ .uleb128 0x19 # (DIE (0x7a7) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x60 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2189 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS2_"
+ # DW_AT_declaration
+ .long 0x7bb # DW_AT_object_pointer
+ .long 0x7c6 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x7bb) DW_TAG_formal_parameter)
+ .long 0x1d2c # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x7c0) DW_TAG_formal_parameter)
+ .long 0x1d36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x7a7
+ .uleb128 0x22 # (DIE (0x7c6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x63 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2190 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS3_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0x7da # DW_AT_object_pointer
+ .long 0x7e5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x7da) DW_TAG_formal_parameter)
+ .long 0x1d2c # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x7df) DW_TAG_formal_parameter)
+ .long 0x1d3b # DW_AT_type
+ .byte 0 # end of children of DIE 0x7c6
+ .uleb128 0x22 # (DIE (0x7e5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x64 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2191 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4EOS3_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0x7f9 # DW_AT_object_pointer
+ .long 0x804 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x7f9) DW_TAG_formal_parameter)
+ .long 0x1d2c # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x7fe) DW_TAG_formal_parameter)
+ .long 0x1d40 # DW_AT_type
+ .byte 0 # end of children of DIE 0x7e5
+ .uleb128 0x19 # (DIE (0x804) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x6b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2192 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+ # DW_AT_declaration
+ .long 0x818 # DW_AT_object_pointer
+ .long 0x828 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x818) DW_TAG_formal_parameter)
+ .long 0x1d2c # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x81d) DW_TAG_formal_parameter)
+ .long 0x63 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x822) DW_TAG_formal_parameter)
+ .long 0x90 # DW_AT_type
+ .byte 0 # end of children of DIE 0x804
+ .uleb128 0xf # (DIE (0x828) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x89 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2194 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERS3_"
+ .long 0x1d45 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x842 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x83c) DW_TAG_formal_parameter)
+ .long 0x1d4a # DW_AT_type
+ .byte 0 # end of children of DIE 0x828
+ .uleb128 0xf # (DIE (0x842) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x8c # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2195 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERKS3_"
+ .long 0x1d36 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x85c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x856) DW_TAG_formal_parameter)
+ .long 0x1d3b # DW_AT_type
+ .byte 0 # end of children of DIE 0x842
+ .uleb128 0xa # (DIE (0x85c) DW_TAG_member)
+ .long .LASF2196 # DW_AT_name: "_M_head_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x8e # DW_AT_decl_line
+ .byte 0x27 # DW_AT_decl_column
+ .long 0x571 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x27 # (DIE (0x869) DW_TAG_template_value_param)
+ .long .LASF2208 # DW_AT_name: "_Idx"
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x873) DW_TAG_template_type_param)
+ .long .LASF2197 # DW_AT_name: "_Head"
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x780
+ .uleb128 0x7 # (DIE (0x87d) DW_TAG_const_type)
+ .long 0x780 # DW_AT_type
+ .uleb128 0x24 # (DIE (0x882) DW_TAG_structure_type)
+ .long .LASF2198 # DW_AT_name: "_Tuple_impl<1, std::default_delete<Base> >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x222 # DW_AT_decl_line
+ # DW_AT_decl_column (0xc)
+ .long 0x99a # DW_AT_sibling
+ .uleb128 0x2e # (DIE (0x88f) DW_TAG_inheritance)
+ .long 0x780 # DW_AT_type
+ # DW_AT_data_member_location (0)
+ .byte 0x3 # DW_AT_accessibility
+ .uleb128 0x8 # (DIE (0x895) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x22a # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2199 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERS3_"
+ .long 0x1d45 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x8b0 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x8aa) DW_TAG_formal_parameter)
+ .long 0x1d4f # DW_AT_type
+ .byte 0 # end of children of DIE 0x895
+ .uleb128 0x8 # (DIE (0x8b0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x22d # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2200 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERKS3_"
+ .long 0x1d36 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x8cb # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x8c5) DW_TAG_formal_parameter)
+ .long 0x1d54 # DW_AT_type
+ .byte 0 # end of children of DIE 0x8b0
+ .uleb128 0x2f # (DIE (0x8cb) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x230 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2202 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4Ev"
+ # DW_AT_declaration
+ .long 0x8df # DW_AT_object_pointer
+ .long 0x8e5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x8df) DW_TAG_formal_parameter)
+ .long 0x1d59 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x8cb
+ .uleb128 0x3b # (DIE (0x8e5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x234 # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2203 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS2_"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x8f8 # DW_AT_object_pointer
+ .long 0x903 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x8f8) DW_TAG_formal_parameter)
+ .long 0x1d59 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x8fd) DW_TAG_formal_parameter)
+ .long 0x1d36 # DW_AT_type
+ .byte 0 # end of children of DIE 0x8e5
+ .uleb128 0x30 # (DIE (0x903) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x23e # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2204 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS3_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0x917 # DW_AT_object_pointer
+ .long 0x922 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x917) DW_TAG_formal_parameter)
+ .long 0x1d59 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x91c) DW_TAG_formal_parameter)
+ .long 0x1d54 # DW_AT_type
+ .byte 0 # end of children of DIE 0x903
+ .uleb128 0x3c # (DIE (0x922) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x242 # DW_AT_decl_line
+ # DW_AT_decl_column (0x14)
+ .long .LASF2227 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEaSERKS3_"
+ .long 0x1d4f # DW_AT_type
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0x939 # DW_AT_object_pointer
+ .long 0x944 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x939) DW_TAG_formal_parameter)
+ .long 0x1d59 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x93e) DW_TAG_formal_parameter)
+ .long 0x1d54 # DW_AT_type
+ .byte 0 # end of children of DIE 0x922
+ .uleb128 0x2f # (DIE (0x944) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x248 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2205 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4EOS3_"
+ # DW_AT_declaration
+ .long 0x958 # DW_AT_object_pointer
+ .long 0x963 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x958) DW_TAG_formal_parameter)
+ .long 0x1d59 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x95d) DW_TAG_formal_parameter)
+ .long 0x1d63 # DW_AT_type
+ .byte 0 # end of children of DIE 0x944
+ .uleb128 0x20 # (DIE (0x963) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2206 # DW_AT_name: "_M_swap"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x2f0 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2207 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_swapERS3_"
+ .byte 0x2 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0x979 # DW_AT_object_pointer
+ .long 0x984 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x979) DW_TAG_formal_parameter)
+ .long 0x1d59 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x97e) DW_TAG_formal_parameter)
+ .long 0x1d4f # DW_AT_type
+ .byte 0 # end of children of DIE 0x963
+ .uleb128 0x27 # (DIE (0x984) DW_TAG_template_value_param)
+ .long .LASF2208 # DW_AT_name: "_Idx"
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0x98e) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2231 # DW_AT_name: "_Elements"
+ .uleb128 0xb # (DIE (0x993) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x98e
+ .byte 0 # end of children of DIE 0x882
+ .uleb128 0x7 # (DIE (0x99a) DW_TAG_const_type)
+ .long 0x882 # DW_AT_type
+ .uleb128 0x16 # (DIE (0x99f) DW_TAG_structure_type)
+ .long .LASF2209 # DW_AT_name: "_Head_base<0, Base*, false>"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xc8 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xa9c # DW_AT_sibling
+ .uleb128 0x19 # (DIE (0x9ac) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xca # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2210 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4Ev"
+ # DW_AT_declaration
+ .long 0x9c0 # DW_AT_object_pointer
+ .long 0x9c6 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x9c0) DW_TAG_formal_parameter)
+ .long 0x1d68 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x9ac
+ .uleb128 0x19 # (DIE (0x9c6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xcd # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2211 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS1_"
+ # DW_AT_declaration
+ .long 0x9da # DW_AT_object_pointer
+ .long 0x9e5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x9da) DW_TAG_formal_parameter)
+ .long 0x1d68 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x9df) DW_TAG_formal_parameter)
+ .long 0x1d72 # DW_AT_type
+ .byte 0 # end of children of DIE 0x9c6
+ .uleb128 0x22 # (DIE (0x9e5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xd0 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2212 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS2_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0x9f9 # DW_AT_object_pointer
+ .long 0xa04 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x9f9) DW_TAG_formal_parameter)
+ .long 0x1d68 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x9fe) DW_TAG_formal_parameter)
+ .long 0x1d77 # DW_AT_type
+ .byte 0 # end of children of DIE 0x9e5
+ .uleb128 0x22 # (DIE (0xa04) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xd1 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2213 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4EOS2_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xa18 # DW_AT_object_pointer
+ .long 0xa23 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xa18) DW_TAG_formal_parameter)
+ .long 0x1d68 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xa1d) DW_TAG_formal_parameter)
+ .long 0x1d7c # DW_AT_type
+ .byte 0 # end of children of DIE 0xa04
+ .uleb128 0x19 # (DIE (0xa23) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2187 # DW_AT_name: "_Head_base"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xd8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2214 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+ # DW_AT_declaration
+ .long 0xa37 # DW_AT_object_pointer
+ .long 0xa47 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xa37) DW_TAG_formal_parameter)
+ .long 0x1d68 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xa3c) DW_TAG_formal_parameter)
+ .long 0x63 # DW_AT_type
+ .uleb128 0x1 # (DIE (0xa41) DW_TAG_formal_parameter)
+ .long 0x90 # DW_AT_type
+ .byte 0 # end of children of DIE 0xa23
+ .uleb128 0xf # (DIE (0xa47) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xf6 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2215 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERS2_"
+ .long 0x1d81 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xa61 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xa5b) DW_TAG_formal_parameter)
+ .long 0x1d86 # DW_AT_type
+ .byte 0 # end of children of DIE 0xa47
+ .uleb128 0xf # (DIE (0xa61) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xf9 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2216 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERKS2_"
+ .long 0x1d72 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xa7b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xa75) DW_TAG_formal_parameter)
+ .long 0x1d77 # DW_AT_type
+ .byte 0 # end of children of DIE 0xa61
+ .uleb128 0xa # (DIE (0xa7b) DW_TAG_member)
+ .long .LASF2196 # DW_AT_name: "_M_head_impl"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xfb # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1d22 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x27 # (DIE (0xa88) DW_TAG_template_value_param)
+ .long .LASF2208 # DW_AT_name: "_Idx"
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0xa92) DW_TAG_template_type_param)
+ .long .LASF2197 # DW_AT_name: "_Head"
+ .long 0x1d22 # DW_AT_type
+ .byte 0 # end of children of DIE 0x99f
+ .uleb128 0x7 # (DIE (0xa9c) DW_TAG_const_type)
+ .long 0x99f # DW_AT_type
+ .uleb128 0x24 # (DIE (0xaa1) DW_TAG_structure_type)
+ .long .LASF2217 # DW_AT_name: "_Tuple_impl<0, Base*, std::default_delete<Base> >"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x119 # DW_AT_decl_line
+ # DW_AT_decl_column (0xc)
+ .long 0xc10 # DW_AT_sibling
+ .uleb128 0x2c # (DIE (0xaae) DW_TAG_inheritance)
+ .long 0x882 # DW_AT_type
+ # DW_AT_data_member_location (0)
+ .uleb128 0x2e # (DIE (0xab3) DW_TAG_inheritance)
+ .long 0x99f # DW_AT_type
+ # DW_AT_data_member_location (0)
+ .byte 0x3 # DW_AT_accessibility
+ .uleb128 0x8 # (DIE (0xab9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x123 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2218 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERS4_"
+ .long 0x1d81 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xad4 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xace) DW_TAG_formal_parameter)
+ .long 0x1d8b # DW_AT_type
+ .byte 0 # end of children of DIE 0xab9
+ .uleb128 0x8 # (DIE (0xad4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2193 # DW_AT_name: "_M_head"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x126 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2219 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERKS4_"
+ .long 0x1d72 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xaef # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xae9) DW_TAG_formal_parameter)
+ .long 0x1d90 # DW_AT_type
+ .byte 0 # end of children of DIE 0xad4
+ .uleb128 0x18 # (DIE (0xaef) DW_TAG_typedef)
+ .long .LASF2220 # DW_AT_name: "_Inherited"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x11f # DW_AT_decl_line
+ .byte 0x2f # DW_AT_decl_column
+ .long 0x882 # DW_AT_type
+ .uleb128 0x7 # (DIE (0xafc) DW_TAG_const_type)
+ .long 0xaef # DW_AT_type
+ .uleb128 0x8 # (DIE (0xb01) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2221 # DW_AT_name: "_M_tail"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x129 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2222 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERS4_"
+ .long 0x1d95 # DW_AT_type
+ # DW_AT_declaration
+ .long 0xb1c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xb16) DW_TAG_formal_parameter)
+ .long 0x1d8b # DW_AT_type
+ .byte 0 # end of children of DIE 0xb01
+ .uleb128 0x8 # (DIE (0xb1c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2221 # DW_AT_name: "_M_tail"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x12c # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2223 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERKS4_"
+ .long 0x1d9a # DW_AT_type
+ # DW_AT_declaration
+ .long 0xb37 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0xb31) DW_TAG_formal_parameter)
+ .long 0x1d90 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb1c
+ .uleb128 0x2f # (DIE (0xb37) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x12e # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2224 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4Ev"
+ # DW_AT_declaration
+ .long 0xb4b # DW_AT_object_pointer
+ .long 0xb51 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xb4b) DW_TAG_formal_parameter)
+ .long 0x1d9f # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xb37
+ .uleb128 0x3b # (DIE (0xb51) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x132 # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2225 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS1_RKS3_"
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0xb64 # DW_AT_object_pointer
+ .long 0xb74 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xb64) DW_TAG_formal_parameter)
+ .long 0x1d9f # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xb69) DW_TAG_formal_parameter)
+ .long 0x1d72 # DW_AT_type
+ .uleb128 0x1 # (DIE (0xb6e) DW_TAG_formal_parameter)
+ .long 0x1d36 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb51
+ .uleb128 0x30 # (DIE (0xb74) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x13e # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2226 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xb88 # DW_AT_object_pointer
+ .long 0xb93 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xb88) DW_TAG_formal_parameter)
+ .long 0x1d9f # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xb8d) DW_TAG_formal_parameter)
+ .long 0x1d90 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb74
+ .uleb128 0x3c # (DIE (0xb93) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x142 # DW_AT_decl_line
+ # DW_AT_decl_column (0x14)
+ .long .LASF2228 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+ .long 0x1d8b # DW_AT_type
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0xbaa # DW_AT_object_pointer
+ .long 0xbb5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xbaa) DW_TAG_formal_parameter)
+ .long 0x1d9f # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbaf) DW_TAG_formal_parameter)
+ .long 0x1d90 # DW_AT_type
+ .byte 0 # end of children of DIE 0xb93
+ .uleb128 0x30 # (DIE (0xbb5) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2201 # DW_AT_name: "_Tuple_impl"
+ # DW_AT_decl_file (3, /usr/include/c++/15/tuple)
+ .value 0x144 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2229 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xbc9 # DW_AT_object_pointer
+ .long 0xbd4 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xbc9) DW_TAG_formal_parameter)
+ .long 0x1d9f # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbce) DW_TAG_formal_parameter)
+ .long 0x1da9 # DW_AT_type
+ .byte 0 # end of children of DIE 0xbb5
+ .uleb128 0x20 # (DIE (0xbd4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2206 # DW_AT_name: "_M_swap"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x20e # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2230 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_swapERS4_"
+ .byte 0x2 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xbea # DW_AT_object_pointer
+ .long 0xbf5 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xbea) DW_TAG_formal_parameter)
+ .long 0x1d9f # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xbef) DW_TAG_formal_parameter)
+ .long 0x1d8b # DW_AT_type
+ .byte 0 # end of children of DIE 0xbd4
+ .uleb128 0x27 # (DIE (0xbf5) DW_TAG_template_value_param)
+ .long .LASF2208 # DW_AT_name: "_Idx"
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0xbff) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2231 # DW_AT_name: "_Elements"
+ .uleb128 0xb # (DIE (0xc04) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0xc09) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0xbff
+ .byte 0 # end of children of DIE 0xaa1
+ .uleb128 0x7 # (DIE (0xc10) DW_TAG_const_type)
+ .long 0xaa1 # DW_AT_type
+ .uleb128 0x16 # (DIE (0xc15) DW_TAG_structure_type)
+ .long .LASF2232 # DW_AT_name: "__conditional<true>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0x92 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xc3b # DW_AT_sibling
+ .uleb128 0xe # (DIE (0xc22) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0x95 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1db8 # DW_AT_type
+ .uleb128 0xe # (DIE (0xc2e) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0x95 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1dbd # DW_AT_type
+ .byte 0 # end of children of DIE 0xc15
+ .uleb128 0x3d # (DIE (0xc3b) DW_TAG_class_type)
+ .long .LASF2233 # DW_AT_name: "tuple<Base*, std::default_delete<Base> >"
+ # DW_AT_byte_size (0x8)
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x7d8 # DW_AT_decl_line
+ # DW_AT_decl_column (0xb)
+ .long 0xd2c # DW_AT_sibling
+ .uleb128 0x2e # (DIE (0xc47) DW_TAG_inheritance)
+ .long 0xaa1 # DW_AT_type
+ # DW_AT_data_member_location (0)
+ .byte 0x1 # DW_AT_accessibility
+ .uleb128 0x52 # (DIE (0xc4d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2383 # DW_AT_name: "__nothrow_default_constructible"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x80e # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF2384 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE31__nothrow_default_constructibleEv"
+ .long 0x127c # DW_AT_type
+ # DW_AT_declaration
+ .uleb128 0x31 # (DIE (0xc5e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2234 # DW_AT_name: "tuple"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x853 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2235 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xc73 # DW_AT_object_pointer
+ .long 0xc7e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xc73) DW_TAG_formal_parameter)
+ .long 0x1dae # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xc78) DW_TAG_formal_parameter)
+ .long 0x1db8 # DW_AT_type
+ .byte 0 # end of children of DIE 0xc5e
+ .uleb128 0x31 # (DIE (0xc7e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2234 # DW_AT_name: "tuple"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x855 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2236 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xc93 # DW_AT_object_pointer
+ .long 0xc9e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xc93) DW_TAG_formal_parameter)
+ .long 0x1dae # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xc98) DW_TAG_formal_parameter)
+ .long 0x1dbd # DW_AT_type
+ .byte 0 # end of children of DIE 0xc7e
+ .uleb128 0x1d # (DIE (0xc9e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x91b # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2237 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+ .long 0x1dc2 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xcb6 # DW_AT_object_pointer
+ .long 0xcc1 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xcb6) DW_TAG_formal_parameter)
+ .long 0x1dae # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xcbb) DW_TAG_formal_parameter)
+ .long 0xd31 # DW_AT_type
+ .byte 0 # end of children of DIE 0xc9e
+ .uleb128 0x1d # (DIE (0xcc1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x926 # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2238 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSEOS4_"
+ .long 0x1dc2 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xcd9 # DW_AT_object_pointer
+ .long 0xce4 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xcd9) DW_TAG_formal_parameter)
+ .long 0x1dae # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xcde) DW_TAG_formal_parameter)
+ .long 0xd3d # DW_AT_type
+ .byte 0 # end of children of DIE 0xcc1
+ .uleb128 0x20 # (DIE (0xce4) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2155 # DW_AT_name: "swap"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x95b # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2239 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE4swapERS4_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xcfa # DW_AT_object_pointer
+ .long 0xd05 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xcfa) DW_TAG_formal_parameter)
+ .long 0x1dae # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xcff) DW_TAG_formal_parameter)
+ .long 0x1dc2 # DW_AT_type
+ .byte 0 # end of children of DIE 0xce4
+ .uleb128 0x20 # (DIE (0xd05) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2240 # DW_AT_name: "tuple<>"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x82a # DW_AT_decl_line
+ .byte 0x2 # DW_AT_decl_column
+ .long .LASF2241 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ILb1ELb1EEEv"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xd24 # DW_AT_object_pointer
+ .long 0xd2a # DW_AT_sibling
+ .uleb128 0x32 # (DIE (0xd1b) DW_TAG_template_value_param)
+ .long .LASF2369 # DW_AT_name: "_Dummy"
+ .long 0x127c # DW_AT_type
+ # DW_AT_default_value
+ # DW_AT_const_value (0x1)
+ .uleb128 0x2 # (DIE (0xd24) DW_TAG_formal_parameter)
+ .long 0x1dae # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xd05
+ .uleb128 0x53 # (DIE (0xd2a) DW_TAG_GNU_template_parameter_pack)
+ .byte 0 # end of children of DIE 0xc3b
+ .uleb128 0x7 # (DIE (0xd2c) DW_TAG_const_type)
+ .long 0xc3b # DW_AT_type
+ .uleb128 0xe # (DIE (0xd31) DW_TAG_typedef)
+ .long .LASF2242 # DW_AT_name: "__conditional_t"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0xa1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0xc22 # DW_AT_type
+ .uleb128 0xe # (DIE (0xd3d) DW_TAG_typedef)
+ .long .LASF2242 # DW_AT_name: "__conditional_t"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0xa1 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0xc2e # DW_AT_type
+ .uleb128 0x16 # (DIE (0xd49) DW_TAG_structure_type)
+ .long .LASF2243 # DW_AT_name: "__uniq_ptr_data<Base, std::default_delete<Base>, true, true>"
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xe9 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0xdcd # DW_AT_sibling
+ .uleb128 0x2c # (DIE (0xd56) DW_TAG_inheritance)
+ .long 0x5c6 # DW_AT_type
+ # DW_AT_data_member_location (0)
+ .uleb128 0x22 # (DIE (0xd5b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2244 # DW_AT_name: "__uniq_ptr_data"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xec # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2245 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEC4EOS3_"
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xd6f # DW_AT_object_pointer
+ .long 0xd7a # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xd6f) DW_TAG_formal_parameter)
+ .long 0x1de5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xd74) DW_TAG_formal_parameter)
+ .long 0x1def # DW_AT_type
+ .byte 0 # end of children of DIE 0xd5b
+ .uleb128 0x54 # (DIE (0xd7a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xed # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .long .LASF2246 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEaSEOS3_"
+ .long 0x1df4 # DW_AT_type
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xd93 # DW_AT_object_pointer
+ .long 0xd9e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xd93) DW_TAG_formal_parameter)
+ .long 0x1de5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xd98) DW_TAG_formal_parameter)
+ .long 0x1def # DW_AT_type
+ .byte 0 # end of children of DIE 0xd7a
+ .uleb128 0x55 # (DIE (0xd9e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2244 # DW_AT_name: "__uniq_ptr_data"
+ .long .LASF2385 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI4St15__uniq_ptr_implIS0_S2_EEPS0_"
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0xdaf # DW_AT_object_pointer
+ .long 0xdba # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xdaf) DW_TAG_formal_parameter)
+ .long 0x1de5 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xdb4) DW_TAG_formal_parameter)
+ .long 0x638 # DW_AT_type
+ .byte 0 # end of children of DIE 0xd9e
+ .uleb128 0xd # (DIE (0xdba) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0xd # (DIE (0xdc3) DW_TAG_template_type_param)
+ .ascii "_Dp\0" # DW_AT_name
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0xd49
+ .uleb128 0x24 # (DIE (0xdcd) DW_TAG_structure_type)
+ .long .LASF2247 # DW_AT_name: "add_lvalue_reference<Base>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0x6fd # DW_AT_decl_line
+ # DW_AT_decl_column (0xc)
+ .long 0xdf1 # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0xdda) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0x6fe # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0xdf1 # DW_AT_type
+ .uleb128 0xd # (DIE (0xde7) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .byte 0 # end of children of DIE 0xdcd
+ .uleb128 0x18 # (DIE (0xdf1) DW_TAG_typedef)
+ .long .LASF2248 # DW_AT_name: "__add_lval_ref_t"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .value 0x497 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1df9 # DW_AT_type
+ .uleb128 0x3d # (DIE (0xdfe) DW_TAG_class_type)
+ .long .LASF2249 # DW_AT_name: "unique_ptr<Base, std::default_delete<Base> >"
+ # DW_AT_byte_size (0x8)
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x10f # DW_AT_decl_line
+ # DW_AT_decl_column (0xb)
+ .long 0x1053 # DW_AT_sibling
+ .uleb128 0x56 # (DIE (0xe0a) DW_TAG_member)
+ .long .LASF2185 # DW_AT_name: "_M_t"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x115 # DW_AT_decl_line
+ .byte 0x21 # DW_AT_decl_column
+ .long 0xd49 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x31 # (DIE (0xe18) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2250 # DW_AT_name: "unique_ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x168 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2251 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4EOS3_"
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ # DW_AT_defaulted (0x1)
+ .long 0xe2d # DW_AT_object_pointer
+ .long 0xe38 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xe2d) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xe32) DW_TAG_formal_parameter)
+ .long 0x1e08 # DW_AT_type
+ .byte 0 # end of children of DIE 0xe18
+ .uleb128 0x20 # (DIE (0xe38) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2252 # DW_AT_name: "~unique_ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x189 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2253 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED4Ev"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xe4e # DW_AT_object_pointer
+ .long 0xe54 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xe4e) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xe38
+ .uleb128 0x57 # (DIE (0xe54) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x199 # DW_AT_decl_line
+ .byte 0x13 # DW_AT_decl_column
+ .long .LASF2265 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEOS3_"
+ .long 0x1e0d # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .byte 0x1 # DW_AT_defaulted
+ .long 0xe6f # DW_AT_object_pointer
+ .long 0xe7a # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xe6f) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xe74) DW_TAG_formal_parameter)
+ .long 0x1e08 # DW_AT_type
+ .byte 0 # end of children of DIE 0xe54
+ .uleb128 0x1d # (DIE (0xe7a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1b3 # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2255 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEDn"
+ .long 0x1e0d # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xe92 # DW_AT_object_pointer
+ .long 0xe9d # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xe92) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xe97) DW_TAG_formal_parameter)
+ .long 0xd9 # DW_AT_type
+ .byte 0 # end of children of DIE 0xe7a
+ .uleb128 0x1d # (DIE (0xe9d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2256 # DW_AT_name: "operator*"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1be # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2257 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEdeEv"
+ .long 0xdda # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xeb5 # DW_AT_object_pointer
+ .long 0xebb # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xeb5) DW_TAG_formal_parameter)
+ .long 0x1e12 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xe9d
+ .uleb128 0x3e # (DIE (0xebb) DW_TAG_typedef)
+ .long .LASF2258 # DW_AT_name: "pointer"
+ # DW_AT_decl_file (1, /usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x118 # DW_AT_decl_line
+ # DW_AT_decl_column (0xd)
+ .long 0x638 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ .uleb128 0x1d # (DIE (0xec6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2259 # DW_AT_name: "operator->"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1cf # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2260 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEptEv"
+ .long 0xebb # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xede # DW_AT_object_pointer
+ .long 0xee4 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xede) DW_TAG_formal_parameter)
+ .long 0x1e12 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xec6
+ .uleb128 0x58 # (DIE (0xee4) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "get\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1d8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2386 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE3getEv"
+ .long 0xebb # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xefe # DW_AT_object_pointer
+ .long 0xf04 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xefe) DW_TAG_formal_parameter)
+ .long 0x1e12 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xee4
+ .uleb128 0x3e # (DIE (0xf04) DW_TAG_typedef)
+ .long .LASF2261 # DW_AT_name: "deleter_type"
+ # DW_AT_decl_file (1, /usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x11a # DW_AT_decl_line
+ # DW_AT_decl_column (0xd)
+ .long 0x571 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ .uleb128 0x7 # (DIE (0xf0f) DW_TAG_const_type)
+ .long 0xf04 # DW_AT_type
+ .uleb128 0x1d # (DIE (0xf14) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2262 # DW_AT_name: "get_deleter"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1de # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2263 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+ .long 0x1e17 # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xf2c # DW_AT_object_pointer
+ .long 0xf32 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf2c) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf14
+ .uleb128 0x1d # (DIE (0xf32) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2262 # DW_AT_name: "get_deleter"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1e4 # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2264 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+ .long 0x1e1c # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xf4a # DW_AT_object_pointer
+ .long 0xf50 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf4a) DW_TAG_formal_parameter)
+ .long 0x1e12 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf32
+ .uleb128 0x59 # (DIE (0xf50) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2254 # DW_AT_name: "operator bool"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1e9 # DW_AT_decl_line
+ .byte 0x10 # DW_AT_decl_column
+ .long .LASF2266 # DW_AT_linkage_name: "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEcvbEv"
+ .long 0x127c # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0xf6a # DW_AT_object_pointer
+ .long 0xf70 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf6a) DW_TAG_formal_parameter)
+ .long 0x1e12 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf50
+ .uleb128 0x1d # (DIE (0xf70) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2182 # DW_AT_name: "release"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1f1 # DW_AT_decl_line
+ # DW_AT_decl_column (0x7)
+ .long .LASF2267 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE7releaseEv"
+ .long 0xebb # DW_AT_type
+ # DW_AT_accessibility (0x1)
+ # DW_AT_declaration
+ .long 0xf88 # DW_AT_object_pointer
+ .long 0xf8e # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xf88) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0xf70
+ .uleb128 0x20 # (DIE (0xf8e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2180 # DW_AT_name: "reset"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x1fc # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2268 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xfa4 # DW_AT_object_pointer
+ .long 0xfaf # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xfa4) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xfa9) DW_TAG_formal_parameter)
+ .long 0xebb # DW_AT_type
+ .byte 0 # end of children of DIE 0xf8e
+ .uleb128 0x20 # (DIE (0xfaf) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2155 # DW_AT_name: "swap"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x206 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2269 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE4swapERS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ .long 0xfc5 # DW_AT_object_pointer
+ .long 0xfd0 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xfc5) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xfca) DW_TAG_formal_parameter)
+ .long 0x1e0d # DW_AT_type
+ .byte 0 # end of children of DIE 0xfaf
+ .uleb128 0x5a # (DIE (0xfd0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2250 # DW_AT_name: "unique_ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x20d # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long .LASF2270 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4ERKS3_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0xfe6 # DW_AT_object_pointer
+ .long 0xff1 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0xfe6) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0xfeb) DW_TAG_formal_parameter)
+ .long 0x1e21 # DW_AT_type
+ .byte 0 # end of children of DIE 0xfd0
+ .uleb128 0x5b # (DIE (0xff1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2150 # DW_AT_name: "operator="
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x20e # DW_AT_decl_line
+ .byte 0x13 # DW_AT_decl_column
+ .long .LASF2271 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSERKS3_"
+ .long 0x1e0d # DW_AT_type
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_deleted
+ .long 0x100b # DW_AT_object_pointer
+ .long 0x1016 # DW_AT_sibling
+ .uleb128 0x2 # (DIE (0x100b) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x1010) DW_TAG_formal_parameter)
+ .long 0x1e21 # DW_AT_type
+ .byte 0 # end of children of DIE 0xff1
+ .uleb128 0x5c # (DIE (0x1016) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2272 # DW_AT_name: "unique_ptr<>"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x137 # DW_AT_decl_line
+ .byte 0x2 # DW_AT_decl_column
+ .long .LASF2273 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4IS2_vEEPS0_"
+ .byte 0x1 # DW_AT_accessibility
+ # DW_AT_declaration
+ # DW_AT_explicit
+ .long 0x1035 # DW_AT_object_pointer
+ .long 0x1040 # DW_AT_sibling
+ .uleb128 0x33 # (DIE (0x102c) DW_TAG_template_type_param)
+ .long .LASF2274 # DW_AT_name: "_Del"
+ .long 0x571 # DW_AT_type
+ # DW_AT_default_value
+ .uleb128 0x2 # (DIE (0x1035) DW_TAG_formal_parameter)
+ .long 0x1dfe # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x103a) DW_TAG_formal_parameter)
+ .long 0xebb # DW_AT_type
+ .byte 0 # end of children of DIE 0x1016
+ .uleb128 0xd # (DIE (0x1040) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0x5d # (DIE (0x1049) DW_TAG_template_type_param)
+ .ascii "_Dp\0" # DW_AT_name
+ .long 0x571 # DW_AT_type
+ # DW_AT_default_value
+ .byte 0 # end of children of DIE 0xdfe
+ .uleb128 0x7 # (DIE (0x1053) DW_TAG_const_type)
+ .long 0xdfe # DW_AT_type
+ .uleb128 0x2d # (DIE (0x1058) DW_TAG_namespace)
+ .long .LASF2275 # DW_AT_name: "__detail"
+ .byte 0x4 # DW_AT_decl_file (/usr/include/c++/15/type_traits)
+ .byte 0xac # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1096 # DW_AT_sibling
+ .uleb128 0x24 # (DIE (0x1064) DW_TAG_structure_type)
+ .long .LASF2276 # DW_AT_name: "_MakeUniq<Base>"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x41e # DW_AT_decl_line
+ # DW_AT_decl_column (0xc)
+ .long 0x1088 # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x1071) DW_TAG_typedef)
+ .long .LASF2277 # DW_AT_name: "__single_object"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x41f # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long 0xdfe # DW_AT_type
+ .uleb128 0xd # (DIE (0x107e) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .byte 0 # end of children of DIE 0x1064
+ .uleb128 0x18 # (DIE (0x1088) DW_TAG_typedef)
+ .long .LASF2278 # DW_AT_name: "__unique_ptr_t"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x42a # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1071 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1058
+ .uleb128 0x16 # (DIE (0x1096) DW_TAG_structure_type)
+ .long .LASF2279 # DW_AT_name: "_Nth_type<0, Base*, std::default_delete<Base> >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xeb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x10ca # DW_AT_sibling
+ .uleb128 0xe # (DIE (0x10a3) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xec # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x10af) DW_TAG_template_value_param)
+ .ascii "_Np\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0x10b9) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2280 # DW_AT_name: "_Types"
+ .uleb128 0xb # (DIE (0x10be) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0x10c3) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x10b9
+ .byte 0 # end of children of DIE 0x1096
+ .uleb128 0x24 # (DIE (0x10ca) DW_TAG_structure_type)
+ .long .LASF2281 # DW_AT_name: "tuple_element<0, std::tuple<Base*, std::default_delete<Base> > >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x973 # DW_AT_decl_line
+ # DW_AT_decl_column (0xc)
+ .long 0x10f8 # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x10d7) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x977 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x10a3 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x10e4) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0xd # (DIE (0x10ee) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0xc3b # DW_AT_type
+ .byte 0 # end of children of DIE 0x10ca
+ .uleb128 0x16 # (DIE (0x10f8) DW_TAG_structure_type)
+ .long .LASF2282 # DW_AT_name: "_Nth_type<1, Base*, std::default_delete<Base> >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xeb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x112c # DW_AT_sibling
+ .uleb128 0xe # (DIE (0x1105) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0xec # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x571 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x1111) DW_TAG_template_value_param)
+ .ascii "_Np\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x28 # (DIE (0x111b) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2280 # DW_AT_name: "_Types"
+ .uleb128 0xb # (DIE (0x1120) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0x1125) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x111b
+ .byte 0 # end of children of DIE 0x10f8
+ .uleb128 0x24 # (DIE (0x112c) DW_TAG_structure_type)
+ .long .LASF2283 # DW_AT_name: "tuple_element<1, std::tuple<Base*, std::default_delete<Base> > >"
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x973 # DW_AT_decl_line
+ # DW_AT_decl_column (0xc)
+ .long 0x115a # DW_AT_sibling
+ .uleb128 0x18 # (DIE (0x1139) DW_TAG_typedef)
+ .long .LASF2168 # DW_AT_name: "type"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x977 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ .long 0x1105 # DW_AT_type
+ .uleb128 0x12 # (DIE (0x1146) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0xd # (DIE (0x1150) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0xc3b # DW_AT_type
+ .byte 0 # end of children of DIE 0x112c
+ .uleb128 0x8 # (DIE (0x115a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2284 # DW_AT_name: "__get_helper<1, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2285 # DW_AT_linkage_name: "_ZSt12__get_helperILm1ESt14default_deleteI4BaseEJEERT0_RSt11_Tuple_implIXT_EJS3_DpT1_EE"
+ .long 0x1d45 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x118d # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x116f) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x1179) DW_TAG_template_type_param)
+ .long .LASF2197 # DW_AT_name: "_Head"
+ .long 0x571 # DW_AT_type
+ .uleb128 0x29 # (DIE (0x1182) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2291 # DW_AT_name: "_Tail"
+ .uleb128 0x1 # (DIE (0x1187) DW_TAG_formal_parameter)
+ .long 0x1d4f # DW_AT_type
+ .byte 0 # end of children of DIE 0x115a
+ .uleb128 0xe # (DIE (0x118d) DW_TAG_typedef)
+ .long .LASF2286 # DW_AT_name: "__tuple_element_t"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0x56 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1139 # DW_AT_type
+ .uleb128 0x8 # (DIE (0x1199) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2287 # DW_AT_name: "get<1, Base*, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2288 # DW_AT_linkage_name: "_ZSt3getILm1EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+ .long 0x1fdf # DW_AT_type
+ # DW_AT_declaration
+ .long 0x11d2 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x11ae) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x11b8) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2231 # DW_AT_name: "_Elements"
+ .long 0x11cc # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x11c1) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0x11c6) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x11b8
+ .uleb128 0x1 # (DIE (0x11cc) DW_TAG_formal_parameter)
+ .long 0x1dc2 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1199
+ .uleb128 0x8 # (DIE (0x11d2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2289 # DW_AT_name: "__get_helper<0, Base*, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2290 # DW_AT_linkage_name: "_ZSt12__get_helperILm0EP4BaseJSt14default_deleteIS0_EEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE"
+ .long 0x1d81 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x120f # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x11e7) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x11f1) DW_TAG_template_type_param)
+ .long .LASF2197 # DW_AT_name: "_Head"
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0x25 # (DIE (0x11fa) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2291 # DW_AT_name: "_Tail"
+ .long 0x1209 # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x1203) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x11fa
+ .uleb128 0x1 # (DIE (0x1209) DW_TAG_formal_parameter)
+ .long 0x1d8b # DW_AT_type
+ .byte 0 # end of children of DIE 0x11d2
+ .uleb128 0xe # (DIE (0x120f) DW_TAG_typedef)
+ .long .LASF2286 # DW_AT_name: "__tuple_element_t"
+ .byte 0xb # DW_AT_decl_file (/usr/include/c++/15/bits/utility.h)
+ .byte 0x56 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x10d7 # DW_AT_type
+ .uleb128 0x8 # (DIE (0x121b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2292 # DW_AT_name: "get<0, Base*, std::default_delete<Base> >"
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2293 # DW_AT_linkage_name: "_ZSt3getILm0EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+ .long 0x20ab # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1254 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x1230) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x123a) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2231 # DW_AT_name: "_Elements"
+ .long 0x124e # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x1243) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0x1248) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x123a
+ .uleb128 0x1 # (DIE (0x124e) DW_TAG_formal_parameter)
+ .long 0x1dc2 # DW_AT_type
+ .byte 0 # end of children of DIE 0x121b
+ .uleb128 0x5e # (DIE (0x1254) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2294 # DW_AT_name: "make_unique<Base>"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x43c # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long .LASF2387 # DW_AT_linkage_name: "_ZSt11make_uniqueI4BaseJEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"
+ .long 0x1088 # DW_AT_type
+ # DW_AT_declaration
+ .uleb128 0xd # (DIE (0x1265) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0x29 # (DIE (0x126e) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2295 # DW_AT_name: "_Args"
+ .byte 0 # end of children of DIE 0x1254
+ .byte 0 # end of children of DIE 0x33
+ .uleb128 0x9 # (DIE (0x1275) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2296 # DW_AT_name: "long unsigned int"
+ .uleb128 0x9 # (DIE (0x127c) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x2 # DW_AT_encoding
+ .long .LASF2297 # DW_AT_name: "bool"
+ .uleb128 0x9 # (DIE (0x1283) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x8 # DW_AT_encoding
+ .long .LASF2298 # DW_AT_name: "unsigned char"
+ .uleb128 0x9 # (DIE (0x128a) DW_TAG_base_type)
+ .byte 0x2 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2299 # DW_AT_name: "short unsigned int"
+ .uleb128 0x9 # (DIE (0x1291) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2300 # DW_AT_name: "unsigned int"
+ .uleb128 0x9 # (DIE (0x1298) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2301 # DW_AT_name: "long long unsigned int"
+ .uleb128 0x9 # (DIE (0x129f) DW_TAG_base_type)
+ .byte 0x10 # DW_AT_byte_size
+ .byte 0x7 # DW_AT_encoding
+ .long .LASF2302 # DW_AT_name: "__int128 unsigned"
+ .uleb128 0x9 # (DIE (0x12a6) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_encoding
+ .long .LASF2303 # DW_AT_name: "signed char"
+ .uleb128 0x9 # (DIE (0x12ad) DW_TAG_base_type)
+ .byte 0x2 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2304 # DW_AT_name: "short int"
+ .uleb128 0x5f # (DIE (0x12b4) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .ascii "int\0" # DW_AT_name
+ .uleb128 0x9 # (DIE (0x12bb) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2305 # DW_AT_name: "long int"
+ .uleb128 0x9 # (DIE (0x12c2) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2306 # DW_AT_name: "long long int"
+ .uleb128 0x9 # (DIE (0x12c9) DW_TAG_base_type)
+ .byte 0x10 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2307 # DW_AT_name: "__int128"
+ .uleb128 0x9 # (DIE (0x12d0) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .long .LASF2308 # DW_AT_name: "wchar_t"
+ .uleb128 0x7 # (DIE (0x12d7) DW_TAG_const_type)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x9 # (DIE (0x12dc) DW_TAG_base_type)
+ .byte 0x2 # DW_AT_byte_size
+ .byte 0x10 # DW_AT_encoding
+ .long .LASF2309 # DW_AT_name: "char16_t"
+ .uleb128 0x9 # (DIE (0x12e3) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x10 # DW_AT_encoding
+ .long .LASF2310 # DW_AT_name: "char32_t"
+ .uleb128 0x60 # (DIE (0x12ea) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .uleb128 0x4 # (DIE (0x12ec) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12f1 # DW_AT_type
+ .uleb128 0x61 # (DIE (0x12f1) DW_TAG_const_type)
+ .uleb128 0x4 # (DIE (0x12f2) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12f7 # DW_AT_type
+ .uleb128 0x9 # (DIE (0x12f7) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_encoding
+ .long .LASF2311 # DW_AT_name: "char"
+ .uleb128 0x7 # (DIE (0x12fe) DW_TAG_const_type)
+ .long 0x12f7 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1303) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12fe # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1308) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x130d) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12d7 # DW_AT_type
+ .uleb128 0x3f # (DIE (0x1312) DW_TAG_namespace)
+ .long .LASF2312 # DW_AT_name: "__gnu_cxx"
+ .byte 0x7 # DW_AT_decl_file (/usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h)
+ .value 0x8ef # DW_AT_decl_line
+ # DW_AT_decl_column (0xb)
+ .long 0x137b # DW_AT_sibling
+ .uleb128 0x38 # (DIE (0x131e) DW_TAG_namespace)
+ .long .LASF2313 # DW_AT_name: "__ops"
+ .byte 0xc # DW_AT_decl_file (/usr/include/c++/15/bits/predefined_ops.h)
+ .byte 0x25 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .uleb128 0x3 # (DIE (0x1326) DW_TAG_imported_declaration)
+ .byte 0x8 # DW_AT_decl_file (/usr/include/c++/15/cwchar)
+ .byte 0xfd # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c66 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x132e) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x106 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1c81 # DW_AT_import
+ .uleb128 0x11 # (DIE (0x1336) DW_TAG_imported_declaration)
+ # DW_AT_decl_file (8, /usr/include/c++/15/cwchar)
+ .value 0x107 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1ca6 # DW_AT_import
+ .uleb128 0x62 # (DIE (0x133e) DW_TAG_enumeration_type)
+ .long .LASF2388 # DW_AT_name: "_Lock_policy"
+ .byte 0x7 # DW_AT_encoding
+ .byte 0x4 # DW_AT_byte_size
+ .long 0x1291 # DW_AT_type
+ .byte 0x18 # DW_AT_decl_file (/usr/include/c++/15/ext/concurrence.h)
+ .byte 0x36 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1363 # DW_AT_sibling
+ .uleb128 0x34 # (DIE (0x1350) DW_TAG_enumerator)
+ .long .LASF2314 # DW_AT_name: "_S_single"
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x34 # (DIE (0x1356) DW_TAG_enumerator)
+ .long .LASF2315 # DW_AT_name: "_S_mutex"
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x34 # (DIE (0x135c) DW_TAG_enumerator)
+ .long .LASF2316 # DW_AT_name: "_S_atomic"
+ .byte 0x2 # DW_AT_const_value
+ .byte 0 # end of children of DIE 0x133e
+ .uleb128 0x7 # (DIE (0x1363) DW_TAG_const_type)
+ .long 0x133e # DW_AT_type
+ .uleb128 0x63 # (DIE (0x1368) DW_TAG_variable)
+ .long .LASF2389 # DW_AT_name: "__default_lock_policy"
+ .byte 0x18 # DW_AT_decl_file (/usr/include/c++/15/ext/concurrence.h)
+ .byte 0x3a # DW_AT_decl_line
+ .byte 0x28 # DW_AT_decl_column
+ .long .LASF2390 # DW_AT_linkage_name: "_ZN9__gnu_cxx21__default_lock_policyE"
+ .long 0x1363 # DW_AT_type
+ # DW_AT_external
+ # DW_AT_declaration
+ .byte 0x2 # DW_AT_const_value
+ .byte 0x3 # DW_AT_inline
+ .byte 0 # end of children of DIE 0x1312
+ .uleb128 0x9 # (DIE (0x137b) DW_TAG_base_type)
+ .byte 0x10 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_encoding
+ .long .LASF2317 # DW_AT_name: "long double"
+ .uleb128 0x9 # (DIE (0x1382) DW_TAG_base_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_encoding
+ .long .LASF2318 # DW_AT_name: "double"
+ .uleb128 0x9 # (DIE (0x1389) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x4 # DW_AT_encoding
+ .long .LASF2319 # DW_AT_name: "float"
+ .uleb128 0x3f # (DIE (0x1390) DW_TAG_namespace)
+ .long .LASF2320 # DW_AT_name: "__gnu_debug"
+ .byte 0xd # DW_AT_decl_file (/usr/include/c++/15/bits/stl_iterator.h)
+ .value 0xba7 # DW_AT_decl_line
+ # DW_AT_decl_column (0xb)
+ .long 0x13a5 # DW_AT_sibling
+ .uleb128 0x64 # (DIE (0x139c) DW_TAG_imported_module)
+ .byte 0x5 # DW_AT_decl_file (/usr/include/c++/15/debug/debug.h)
+ .byte 0x3a # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .long 0x5b # DW_AT_import
+ .byte 0 # end of children of DIE 0x1390
+ .uleb128 0x4 # (DIE (0x13a5) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x63 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x13aa) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x9d # DW_AT_type
+ .uleb128 0x65 # (DIE (0x13af) DW_TAG_unspecified_type)
+ .long .LASF2391 # DW_AT_name: "decltype(nullptr)"
+ .uleb128 0xe # (DIE (0x13b4) DW_TAG_typedef)
+ .long .LASF2132 # DW_AT_name: "size_t"
+ .byte 0xe # DW_AT_decl_file (/usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h)
+ .byte 0xe5 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long 0x1275 # DW_AT_type
+ .uleb128 0x66 # (DIE (0x13c0) DW_TAG_structure_type)
+ .long .LASF2392 # DW_AT_name: "typedef __va_list_tag __va_list_tag"
+ .byte 0x18 # DW_AT_byte_size
+ .byte 0xf # DW_AT_decl_file (<built-in>)
+ .byte 0 # DW_AT_decl_line
+ .long 0x13f5 # DW_AT_sibling
+ .uleb128 0x2a # (DIE (0x13cc) DW_TAG_member)
+ .long .LASF2321 # DW_AT_name: "gp_offset"
+ # DW_AT_decl_file (15, <built-in>)
+ # DW_AT_decl_line (0)
+ .long 0x1291 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0x2a # (DIE (0x13d6) DW_TAG_member)
+ .long .LASF2322 # DW_AT_name: "fp_offset"
+ # DW_AT_decl_file (15, <built-in>)
+ # DW_AT_decl_line (0)
+ .long 0x1291 # DW_AT_type
+ .byte 0x4 # DW_AT_data_member_location
+ .uleb128 0x2a # (DIE (0x13e0) DW_TAG_member)
+ .long .LASF2323 # DW_AT_name: "overflow_arg_area"
+ # DW_AT_decl_file (15, <built-in>)
+ # DW_AT_decl_line (0)
+ .long 0x12ea # DW_AT_type
+ .byte 0x8 # DW_AT_data_member_location
+ .uleb128 0x2a # (DIE (0x13ea) DW_TAG_member)
+ .long .LASF2324 # DW_AT_name: "reg_save_area"
+ # DW_AT_decl_file (15, <built-in>)
+ # DW_AT_decl_line (0)
+ .long 0x12ea # DW_AT_type
+ .byte 0x10 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x13c0
+ .uleb128 0xe # (DIE (0x13f5) DW_TAG_typedef)
+ .long .LASF2325 # DW_AT_name: "wint_t"
+ .byte 0x10 # DW_AT_decl_file (/usr/include/bits/types/wint_t.h)
+ .byte 0x14 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long 0x1291 # DW_AT_type
+ .uleb128 0x67 # (DIE (0x1401) DW_TAG_structure_type)
+ .byte 0x8 # DW_AT_byte_size
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0xe # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long .LASF2393 # DW_AT_linkage_name: "11__mbstate_t"
+ .long 0x1449 # DW_AT_sibling
+ .uleb128 0x68 # (DIE (0x140e) DW_TAG_union_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x11 # DW_AT_decl_line
+ .byte 0x3 # DW_AT_decl_column
+ .long 0x142e # DW_AT_sibling
+ .uleb128 0x40 # (DIE (0x1417) DW_TAG_member)
+ .long .LASF2326 # DW_AT_name: "__wch"
+ # DW_AT_decl_file (17, /usr/include/bits/types/__mbstate_t.h)
+ .byte 0x12 # DW_AT_decl_line
+ .byte 0x13 # DW_AT_decl_column
+ .long 0x1291 # DW_AT_type
+ .uleb128 0x40 # (DIE (0x1422) DW_TAG_member)
+ .long .LASF2327 # DW_AT_name: "__wchb"
+ # DW_AT_decl_file (17, /usr/include/bits/types/__mbstate_t.h)
+ .byte 0x13 # DW_AT_decl_line
+ .byte 0xa # DW_AT_decl_column
+ .long 0x1449 # DW_AT_type
+ .byte 0 # end of children of DIE 0x140e
+ .uleb128 0xa # (DIE (0x142e) DW_TAG_member)
+ .long .LASF2328 # DW_AT_name: "__count"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0xf # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x143b) DW_TAG_member)
+ .long .LASF2329 # DW_AT_name: "__value"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x14 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long 0x140e # DW_AT_type
+ .byte 0x4 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x1401
+ .uleb128 0x69 # (DIE (0x1449) DW_TAG_array_type)
+ .long 0x12f7 # DW_AT_type
+ .long 0x1459 # DW_AT_sibling
+ .uleb128 0x6a # (DIE (0x1452) DW_TAG_subrange_type)
+ .long 0x1275 # DW_AT_type
+ .byte 0x3 # DW_AT_upper_bound
+ .byte 0 # end of children of DIE 0x1449
+ .uleb128 0xe # (DIE (0x1459) DW_TAG_typedef)
+ .long .LASF2330 # DW_AT_name: "__mbstate_t"
+ .byte 0x11 # DW_AT_decl_file (/usr/include/bits/types/__mbstate_t.h)
+ .byte 0x15 # DW_AT_decl_line
+ .byte 0x3 # DW_AT_decl_column
+ .long 0x1401 # DW_AT_type
+ .uleb128 0xe # (DIE (0x1465) DW_TAG_typedef)
+ .long .LASF2331 # DW_AT_name: "mbstate_t"
+ .byte 0x12 # DW_AT_decl_file (/usr/include/bits/types/mbstate_t.h)
+ .byte 0x6 # DW_AT_decl_line
+ .byte 0x15 # DW_AT_decl_column
+ .long 0x1459 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1471) DW_TAG_const_type)
+ .long 0x1465 # DW_AT_type
+ .uleb128 0xe # (DIE (0x1476) DW_TAG_typedef)
+ .long .LASF2332 # DW_AT_name: "__FILE"
+ .byte 0x13 # DW_AT_decl_file (/usr/include/bits/types/__FILE.h)
+ .byte 0x5 # DW_AT_decl_line
+ .byte 0x19 # DW_AT_decl_column
+ .long 0x1482 # DW_AT_type
+ .uleb128 0x6b # (DIE (0x1482) DW_TAG_structure_type)
+ .long .LASF2394 # DW_AT_name: "_IO_FILE"
+ # DW_AT_declaration
+ .uleb128 0x5 # (DIE (0x1487) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1637 # DW_AT_name: "btowc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x157 # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x149d # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1497) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1487
+ .uleb128 0x5 # (DIE (0x149d) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1638 # DW_AT_name: "fgetwc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3a7 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x14b3 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x14ad) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x149d
+ .uleb128 0x4 # (DIE (0x14b3) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1476 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x14b8) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1639 # DW_AT_name: "fgetws"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3c4 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x14d8 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x14c8) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x14cd) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x14d2) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x14b8
+ .uleb128 0x5 # (DIE (0x14d8) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1640 # DW_AT_name: "fputwc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3b5 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x14f3 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x14e8) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x14ed) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x14d8
+ .uleb128 0x5 # (DIE (0x14f3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1641 # DW_AT_name: "fputws"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3cb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x150e # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1503) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1508) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x14f3
+ .uleb128 0x5 # (DIE (0x150e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1642 # DW_AT_name: "fwide"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2d5 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1529 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x151e) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1523) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x150e
+ .uleb128 0x5 # (DIE (0x1529) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1643 # DW_AT_name: "fwprintf"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2dc # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1545 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1539) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x153e) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1543) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1529
+ .uleb128 0x8 # (DIE (0x1545) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1644 # DW_AT_name: "fwscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x31b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2333 # DW_AT_linkage_name: "__isoc23_fwscanf"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1566 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x155a) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x155f) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1564) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1545
+ .uleb128 0x5 # (DIE (0x1566) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1645 # DW_AT_name: "getwc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3a8 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x157c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1576) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1566
+ .uleb128 0x6c # (DIE (0x157c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1646 # DW_AT_name: "getwchar"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x3ae # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .uleb128 0x5 # (DIE (0x1589) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1647 # DW_AT_name: "mbrlen"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x162 # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x15a9 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1599) DW_TAG_formal_parameter)
+ .long 0x1303 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x159e) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15a3) DW_TAG_formal_parameter)
+ .long 0x15a9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1589
+ .uleb128 0x4 # (DIE (0x15a9) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1465 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x15ae) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1648 # DW_AT_name: "mbrtowc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x141 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x15d3 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15be) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15c3) DW_TAG_formal_parameter)
+ .long 0x1303 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15c8) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x15cd) DW_TAG_formal_parameter)
+ .long 0x15a9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x15ae
+ .uleb128 0x5 # (DIE (0x15d3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1649 # DW_AT_name: "mbsinit"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x13d # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x15e9 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15e3) DW_TAG_formal_parameter)
+ .long 0x15e9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x15d3
+ .uleb128 0x4 # (DIE (0x15e9) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1471 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x15ee) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1650 # DW_AT_name: "mbsrtowcs"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x16a # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1613 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x15fe) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1603) DW_TAG_formal_parameter)
+ .long 0x1613 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1608) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x160d) DW_TAG_formal_parameter)
+ .long 0x15a9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x15ee
+ .uleb128 0x4 # (DIE (0x1613) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1303 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x1618) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1651 # DW_AT_name: "putwc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3b6 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1633 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1628) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x162d) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1618
+ .uleb128 0x5 # (DIE (0x1633) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1652 # DW_AT_name: "putwchar"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3bc # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1649 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1643) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1633
+ .uleb128 0x5 # (DIE (0x1649) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1653 # DW_AT_name: "swprintf"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2e6 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x166a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1659) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x165e) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1663) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1668) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1649
+ .uleb128 0x8 # (DIE (0x166a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1654 # DW_AT_name: "swscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x322 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2334 # DW_AT_linkage_name: "__isoc23_swscanf"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x168b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x167f) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1684) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1689) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x166a
+ .uleb128 0x5 # (DIE (0x168b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1655 # DW_AT_name: "ungetwc"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x3d3 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13f5 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x16a6 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x169b) DW_TAG_formal_parameter)
+ .long 0x13f5 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16a0) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x168b
+ .uleb128 0x5 # (DIE (0x16a6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1656 # DW_AT_name: "vfwprintf"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2ee # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x16c6 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x16b6) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16bb) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16c0) DW_TAG_formal_parameter)
+ .long 0x16c6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x16a6
+ .uleb128 0x4 # (DIE (0x16c6) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x13c0 # DW_AT_type
+ .uleb128 0x8 # (DIE (0x16cb) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1657 # DW_AT_name: "vfwscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x36b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2335 # DW_AT_linkage_name: "__isoc23_vfwscanf"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x16f0 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x16e0) DW_TAG_formal_parameter)
+ .long 0x14b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16e5) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x16ea) DW_TAG_formal_parameter)
+ .long 0x16c6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x16cb
+ .uleb128 0x5 # (DIE (0x16f0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1658 # DW_AT_name: "vswprintf"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2fb # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1715 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1700) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1705) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x170a) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x170f) DW_TAG_formal_parameter)
+ .long 0x16c6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x16f0
+ .uleb128 0x8 # (DIE (0x1715) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1659 # DW_AT_name: "vswscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x372 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2336 # DW_AT_linkage_name: "__isoc23_vswscanf"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x173a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x172a) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x172f) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1734) DW_TAG_formal_parameter)
+ .long 0x16c6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1715
+ .uleb128 0x5 # (DIE (0x173a) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1660 # DW_AT_name: "vwprintf"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2f6 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1755 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x174a) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x174f) DW_TAG_formal_parameter)
+ .long 0x16c6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x173a
+ .uleb128 0x8 # (DIE (0x1755) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1661 # DW_AT_name: "vwscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x36f # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2337 # DW_AT_linkage_name: "__isoc23_vwscanf"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1775 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x176a) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x176f) DW_TAG_formal_parameter)
+ .long 0x16c6 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1755
+ .uleb128 0x5 # (DIE (0x1775) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1662 # DW_AT_name: "wcrtomb"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x146 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1795 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1785) DW_TAG_formal_parameter)
+ .long 0x12f2 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x178a) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x178f) DW_TAG_formal_parameter)
+ .long 0x15a9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1775
+ .uleb128 0x13 # (DIE (0x1795) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1663 # DW_AT_name: "wcscat"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x79 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17af # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17a4) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17a9) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x1795
+ .uleb128 0x13 # (DIE (0x17af) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1665 # DW_AT_name: "wcscmp"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x82 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17c9 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17be) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17c3) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x17af
+ .uleb128 0x13 # (DIE (0x17c9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1666 # DW_AT_name: "wcscoll"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x9b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17e3 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17d8) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17dd) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x17c9
+ .uleb128 0x13 # (DIE (0x17e3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1667 # DW_AT_name: "wcscpy"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x62 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x17fd # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x17f2) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x17f7) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x17e3
+ .uleb128 0x13 # (DIE (0x17fd) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1668 # DW_AT_name: "wcscspn"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0xd4 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1817 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x180c) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1811) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x17fd
+ .uleb128 0x5 # (DIE (0x1817) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1669 # DW_AT_name: "wcsftime"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x413 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x183c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1827) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x182c) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1831) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1836) DW_TAG_formal_parameter)
+ .long 0x183c # DW_AT_type
+ .byte 0 # end of children of DIE 0x1817
+ .uleb128 0x4 # (DIE (0x183c) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x18dd # DW_AT_type
+ .uleb128 0x6d # (DIE (0x1841) DW_TAG_structure_type)
+ .ascii "tm\0" # DW_AT_name
+ .byte 0x38 # DW_AT_byte_size
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x7 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x18dd # DW_AT_sibling
+ .uleb128 0xa # (DIE (0x184d) DW_TAG_member)
+ .long .LASF2338 # DW_AT_name: "tm_sec"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x9 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x185a) DW_TAG_member)
+ .long .LASF2339 # DW_AT_name: "tm_min"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xa # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x4 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1867) DW_TAG_member)
+ .long .LASF2340 # DW_AT_name: "tm_hour"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xb # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x8 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1874) DW_TAG_member)
+ .long .LASF2341 # DW_AT_name: "tm_mday"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xc # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0xc # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x1881) DW_TAG_member)
+ .long .LASF2342 # DW_AT_name: "tm_mon"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xd # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x10 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x188e) DW_TAG_member)
+ .long .LASF2343 # DW_AT_name: "tm_year"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xe # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x14 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x189b) DW_TAG_member)
+ .long .LASF2344 # DW_AT_name: "tm_wday"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0xf # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x18 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x18a8) DW_TAG_member)
+ .long .LASF2345 # DW_AT_name: "tm_yday"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x10 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x1c # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x18b5) DW_TAG_member)
+ .long .LASF2346 # DW_AT_name: "tm_isdst"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x11 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .byte 0x20 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x18c2) DW_TAG_member)
+ .long .LASF2347 # DW_AT_name: "tm_gmtoff"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x14 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12bb # DW_AT_type
+ .byte 0x28 # DW_AT_data_member_location
+ .uleb128 0xa # (DIE (0x18cf) DW_TAG_member)
+ .long .LASF2348 # DW_AT_name: "tm_zone"
+ .byte 0x15 # DW_AT_decl_file (/usr/include/bits/types/struct_tm.h)
+ .byte 0x15 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1303 # DW_AT_type
+ .byte 0x30 # DW_AT_data_member_location
+ .byte 0 # end of children of DIE 0x1841
+ .uleb128 0x7 # (DIE (0x18dd) DW_TAG_const_type)
+ .long 0x1841 # DW_AT_type
+ .uleb128 0x13 # (DIE (0x18e2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1670 # DW_AT_name: "wcslen"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0xf7 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x18f7 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x18f1) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x18e2
+ .uleb128 0x13 # (DIE (0x18f7) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1671 # DW_AT_name: "wcsncat"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x7d # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1916 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1906) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x190b) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1910) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x18f7
+ .uleb128 0x13 # (DIE (0x1916) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1672 # DW_AT_name: "wcsncmp"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x85 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1935 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1925) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x192a) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x192f) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1916
+ .uleb128 0x13 # (DIE (0x1935) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1673 # DW_AT_name: "wcsncpy"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x67 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1954 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1944) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1949) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x194e) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1935
+ .uleb128 0x5 # (DIE (0x1954) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1676 # DW_AT_name: "wcsrtombs"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x170 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1979 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1964) DW_TAG_formal_parameter)
+ .long 0x12f2 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1969) DW_TAG_formal_parameter)
+ .long 0x1979 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x196e) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1973) DW_TAG_formal_parameter)
+ .long 0x15a9 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1954
+ .uleb128 0x4 # (DIE (0x1979) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x13 # (DIE (0x197e) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1677 # DW_AT_name: "wcsspn"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0xd8 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1998 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x198d) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1992) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x197e
+ .uleb128 0x5 # (DIE (0x1998) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1679 # DW_AT_name: "wcstod"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x192 # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x1382 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x19b3 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x19a8) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19ad) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1998
+ .uleb128 0x4 # (DIE (0x19b3) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x5 # (DIE (0x19b8) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1680 # DW_AT_name: "wcstof"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x197 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x1389 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x19d3 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x19c8) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19cd) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x19b8
+ .uleb128 0x13 # (DIE (0x19d3) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1681 # DW_AT_name: "wcstok"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0xf2 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x19f2 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x19e2) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19e7) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x19ec) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x19d3
+ .uleb128 0x8 # (DIE (0x19f2) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1682 # DW_AT_name: "wcstol"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x1f4 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long .LASF2349 # DW_AT_linkage_name: "__isoc23_wcstol"
+ .long 0x12bb # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a17 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a07) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a0c) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a11) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x19f2
+ .uleb128 0x8 # (DIE (0x1a17) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1683 # DW_AT_name: "wcstoul"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x1f7 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long .LASF2350 # DW_AT_linkage_name: "__isoc23_wcstoul"
+ .long 0x1275 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a3c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a2c) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a31) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a36) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a17
+ .uleb128 0x13 # (DIE (0x1a3c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1684 # DW_AT_name: "wcsxfrm"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .byte 0x9f # DW_AT_decl_line
+ .byte 0xf # DW_AT_decl_column
+ .long 0x13b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a5b # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a4b) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a50) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a55) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a3c
+ .uleb128 0x5 # (DIE (0x1a5b) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1685 # DW_AT_name: "wctob"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x15d # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a71 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a6b) DW_TAG_formal_parameter)
+ .long 0x13f5 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a5b
+ .uleb128 0x5 # (DIE (0x1a71) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1687 # DW_AT_name: "wmemcmp"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x11b # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1a91 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1a81) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a86) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1a8b) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a71
+ .uleb128 0x5 # (DIE (0x1a91) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1688 # DW_AT_name: "wmemcpy"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x11f # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ab1 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1aa1) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1aa6) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1aab) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1a91
+ .uleb128 0x5 # (DIE (0x1ab1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1689 # DW_AT_name: "wmemmove"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x124 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ad1 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1ac1) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ac6) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1acb) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ab1
+ .uleb128 0x5 # (DIE (0x1ad1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1690 # DW_AT_name: "wmemset"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x128 # DW_AT_decl_line
+ .byte 0x11 # DW_AT_decl_column
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1af1 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1ae1) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ae6) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1aeb) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ad1
+ .uleb128 0x5 # (DIE (0x1af1) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1691 # DW_AT_name: "wprintf"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x2e3 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b08 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b01) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1b06) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1af1
+ .uleb128 0x8 # (DIE (0x1b08) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1692 # DW_AT_name: "wscanf"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x31f # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long .LASF2351 # DW_AT_linkage_name: "__isoc23_wscanf"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b24 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b1d) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x26 # (DIE (0x1b22) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x1b08
+ .uleb128 0xf # (DIE (0x1b24) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1664 # DW_AT_name: "wcschr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xba # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1664 # DW_AT_linkage_name: "wcschr"
+ .long 0x130d # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b43 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b38) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b3d) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b24
+ .uleb128 0xf # (DIE (0x1b43) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1664 # DW_AT_name: "wcschr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xb8 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1664 # DW_AT_linkage_name: "wcschr"
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b62 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b57) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b5c) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b43
+ .uleb128 0xf # (DIE (0x1b62) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1674 # DW_AT_name: "wcspbrk"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xde # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1674 # DW_AT_linkage_name: "wcspbrk"
+ .long 0x130d # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1b81 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b76) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b7b) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b62
+ .uleb128 0xf # (DIE (0x1b81) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1674 # DW_AT_name: "wcspbrk"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xdc # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1674 # DW_AT_linkage_name: "wcspbrk"
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ba0 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1b95) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1b9a) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x1b81
+ .uleb128 0xf # (DIE (0x1ba0) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1675 # DW_AT_name: "wcsrchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xc4 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1675 # DW_AT_linkage_name: "wcsrchr"
+ .long 0x130d # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1bbf # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1bb4) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1bb9) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ba0
+ .uleb128 0xf # (DIE (0x1bbf) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1675 # DW_AT_name: "wcsrchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xc2 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1675 # DW_AT_linkage_name: "wcsrchr"
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1bde # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1bd3) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1bd8) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1bbf
+ .uleb128 0xf # (DIE (0x1bde) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1678 # DW_AT_name: "wcsstr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xe9 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1678 # DW_AT_linkage_name: "wcsstr"
+ .long 0x130d # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1bfd # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1bf2) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1bf7) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x1bde
+ .uleb128 0xf # (DIE (0x1bfd) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1678 # DW_AT_name: "wcsstr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .byte 0xe7 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1678 # DW_AT_linkage_name: "wcsstr"
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c1c # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c11) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c16) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .byte 0 # end of children of DIE 0x1bfd
+ .uleb128 0x8 # (DIE (0x1c1c) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1686 # DW_AT_name: "wmemchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x112 # DW_AT_decl_line
+ .byte 0x1d # DW_AT_decl_column
+ .long .LASF1686 # DW_AT_linkage_name: "wmemchr"
+ .long 0x130d # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c41 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c31) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c36) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c3b) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c1c
+ .uleb128 0x8 # (DIE (0x1c41) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1686 # DW_AT_name: "wmemchr"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x110 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long .LASF1686 # DW_AT_linkage_name: "wmemchr"
+ .long 0x1308 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c66 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c56) DW_TAG_formal_parameter)
+ .long 0x1308 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c5b) DW_TAG_formal_parameter)
+ .long 0x12d0 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c60) DW_TAG_formal_parameter)
+ .long 0x13b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c41
+ .uleb128 0x5 # (DIE (0x1c66) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1693 # DW_AT_name: "wcstold"
+ # DW_AT_decl_file (20, /usr/include/wchar.h)
+ .value 0x199 # DW_AT_decl_line
+ .byte 0x14 # DW_AT_decl_column
+ .long 0x137b # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1c81 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c76) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c7b) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c66
+ .uleb128 0x8 # (DIE (0x1c81) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1694 # DW_AT_name: "wcstoll"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x1fc # DW_AT_decl_line
+ .byte 0x16 # DW_AT_decl_column
+ .long .LASF2352 # DW_AT_linkage_name: "__isoc23_wcstoll"
+ .long 0x12c2 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ca6 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1c96) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1c9b) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1ca0) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1c81
+ .uleb128 0x8 # (DIE (0x1ca6) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF1695 # DW_AT_name: "wcstoull"
+ .byte 0x14 # DW_AT_decl_file (/usr/include/wchar.h)
+ .value 0x201 # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long .LASF2353 # DW_AT_linkage_name: "__isoc23_wcstoull"
+ .long 0x1298 # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1ccb # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1cbb) DW_TAG_formal_parameter)
+ .long 0x130d # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1cc0) DW_TAG_formal_parameter)
+ .long 0x19b3 # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1cc5) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ca6
+ .uleb128 0x4 # (DIE (0x1ccb) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x33a # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1cd0) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x4f4 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1cd5) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x4f4 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1cda) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x33a # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1cdf) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x33a # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1ce4) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x53c # DW_AT_type
+ .uleb128 0x6e # (DIE (0x1ce9) DW_TAG_variable)
+ .long 0x1368 # DW_AT_specification
+ .uleb128 0x2d # (DIE (0x1cee) DW_TAG_namespace)
+ .long .LASF2354 # DW_AT_name: "__pstl"
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0xf # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .long 0x1d0b # DW_AT_sibling
+ .uleb128 0x6f # (DIE (0x1cfa) DW_TAG_namespace)
+ .long .LASF2395 # DW_AT_name: "execution"
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0x11 # DW_AT_decl_line
+ .byte 0xb # DW_AT_decl_column
+ .uleb128 0x70 # (DIE (0x1d02) DW_TAG_namespace)
+ .ascii "v1\0" # DW_AT_name
+ .byte 0x16 # DW_AT_decl_file (/usr/include/c++/15/pstl/execution_defs.h)
+ .byte 0x13 # DW_AT_decl_line
+ .byte 0x12 # DW_AT_decl_column
+ # DW_AT_export_symbols
+ .byte 0 # end of children of DIE 0x1cfa
+ .byte 0 # end of children of DIE 0x1cee
+ .uleb128 0x39 # (DIE (0x1d0b) DW_TAG_structure_type)
+ .long .LASF2356 # DW_AT_name: "Base"
+ # DW_AT_byte_size (0x1)
+ .byte 0x2 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x2 # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .uleb128 0x4 # (DIE (0x1d13) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x571 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1d18) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x5c1 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1d1d) DW_TAG_const_type)
+ .long 0x1d18 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1d22) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1d27) DW_TAG_const_type)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1d2c) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x780 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1d31) DW_TAG_const_type)
+ .long 0x1d2c # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d36) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x5c1 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d3b) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x87d # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1d40) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x780 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d45) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x571 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d4a) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x780 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d4f) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x882 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d54) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x99a # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1d59) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x882 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1d5e) DW_TAG_const_type)
+ .long 0x1d59 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1d63) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x882 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1d68) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x99f # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1d6d) DW_TAG_const_type)
+ .long 0x1d68 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d72) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1d27 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d77) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xa9c # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1d7c) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x99f # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d81) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d86) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x99f # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d8b) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xaa1 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d90) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xc10 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d95) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xaef # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1d9a) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xafc # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1d9f) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xaa1 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1da4) DW_TAG_const_type)
+ .long 0x1d9f # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1da9) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xaa1 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1dae) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xc3b # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1db3) DW_TAG_const_type)
+ .long 0x1dae # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1db8) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xd2c # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1dbd) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xc3b # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1dc2) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xc3b # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1dc7) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x5c6 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1dcc) DW_TAG_const_type)
+ .long 0x1dc7 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1dd1) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x5c6 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1dd6) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x5c6 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1ddb) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x638 # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1de0) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x77b # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1de5) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xd49 # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1dea) DW_TAG_const_type)
+ .long 0x1de5 # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1def) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xd49 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1df4) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xd49 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1df9) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1dfe) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xdfe # DW_AT_type
+ .uleb128 0x7 # (DIE (0x1e03) DW_TAG_const_type)
+ .long 0x1dfe # DW_AT_type
+ .uleb128 0x1a # (DIE (0x1e08) DW_TAG_rvalue_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xdfe # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e0d) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xdfe # DW_AT_type
+ .uleb128 0x4 # (DIE (0x1e12) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1053 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e17) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xf04 # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e1c) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0xf0f # DW_AT_type
+ .uleb128 0x6 # (DIE (0x1e21) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x1053 # DW_AT_type
+ .uleb128 0x71 # (DIE (0x1e26) DW_TAG_variable)
+ .long .LASF2375 # DW_AT_name: "__dso_handle"
+ .long 0x12ea # DW_AT_type
+ # DW_AT_external
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .uleb128 0xf # (DIE (0x1e2f) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2357 # DW_AT_name: "operator new"
+ .byte 0x17 # DW_AT_decl_file (/usr/include/c++/15/new)
+ .byte 0x89 # DW_AT_decl_line
+ .byte 0x1a # DW_AT_decl_column
+ .long .LASF2358 # DW_AT_linkage_name: "_Znwm"
+ .long 0x12ea # DW_AT_type
+ # DW_AT_declaration
+ .long 0x1e49 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1e43) DW_TAG_formal_parameter)
+ .long 0x40 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1e2f
+ .uleb128 0x72 # (DIE (0x1e49) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2359 # DW_AT_name: "operator delete"
+ .byte 0x17 # DW_AT_decl_file (/usr/include/c++/15/new)
+ .byte 0x94 # DW_AT_decl_line
+ .byte 0x6 # DW_AT_decl_column
+ .long .LASF2361 # DW_AT_linkage_name: "_ZdlPvm"
+ # DW_AT_declaration
+ .long 0x1e64 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1e59) DW_TAG_formal_parameter)
+ .long 0x12ea # DW_AT_type
+ .uleb128 0x1 # (DIE (0x1e5e) DW_TAG_formal_parameter)
+ .long 0x40 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1e49
+ .uleb128 0x41 # (DIE (0x1e64) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2362 # DW_AT_name: "__cxa_guard_abort"
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0x1e73 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1e6d) DW_TAG_formal_parameter)
+ .long 0x1e73 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1e64
+ .uleb128 0x4 # (DIE (0x1e73) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12c2 # DW_AT_type
+ .uleb128 0x41 # (DIE (0x1e78) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2363 # DW_AT_name: "__cxa_guard_release"
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0x1e87 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1e81) DW_TAG_formal_parameter)
+ .long 0x1e73 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1e78
+ .uleb128 0x73 # (DIE (0x1e87) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2396 # DW_AT_name: "__cxa_guard_acquire"
+ .long 0x12b4 # DW_AT_type
+ # DW_AT_artificial
+ # DW_AT_declaration
+ .long 0x1e9a # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x1e94) DW_TAG_formal_parameter)
+ .long 0x1e73 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1e87
+ .uleb128 0x1b # (DIE (0x1e9a) DW_TAG_subprogram)
+ .long 0x828 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x1eb0 # DW_AT_sibling
+ .uleb128 0x35 # (DIE (0x1ea3) DW_TAG_formal_parameter)
+ .ascii "__b\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0x89 # DW_AT_decl_line
+ .byte 0x1b # DW_AT_decl_column
+ .long 0x1d4a # DW_AT_type
+ .byte 0 # end of children of DIE 0x1e9a
+ .uleb128 0x14 # (DIE (0x1eb0) DW_TAG_subprogram)
+ .long 0x78d # DW_AT_specification
+ .long 0x1ebe # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x1ec8 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x1ebe) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1d31 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x1eb0
+ .uleb128 0x1e # (DIE (0x1ec8) DW_TAG_subprogram)
+ .long 0x1eb0 # DW_AT_abstract_origin
+ .long .LASF2365 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC2Ev"
+ .long 0x1ed9 # DW_AT_object_pointer
+ .long 0x1edf # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x1ed9) DW_TAG_formal_parameter)
+ .long 0x1ebe # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x1ec8
+ .uleb128 0x1b # (DIE (0x1edf) DW_TAG_subprogram)
+ .long 0x895 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x1ef6 # DW_AT_sibling
+ .uleb128 0x21 # (DIE (0x1ee8) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x22a # DW_AT_decl_line
+ .byte 0x1c # DW_AT_decl_column
+ .long 0x1d4f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1edf
+ .uleb128 0x1b # (DIE (0x1ef6) DW_TAG_subprogram)
+ .long 0xa47 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x1f0c # DW_AT_sibling
+ .uleb128 0x35 # (DIE (0x1eff) DW_TAG_formal_parameter)
+ .ascii "__b\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .byte 0xf6 # DW_AT_decl_line
+ .byte 0x1b # DW_AT_decl_column
+ .long 0x1d86 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ef6
+ .uleb128 0x14 # (DIE (0x1f0c) DW_TAG_subprogram)
+ .long 0x9ac # DW_AT_specification
+ .long 0x1f1a # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x1f24 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x1f1a) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1d6d # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x1f0c
+ .uleb128 0x1e # (DIE (0x1f24) DW_TAG_subprogram)
+ .long 0x1f0c # DW_AT_abstract_origin
+ .long .LASF2366 # DW_AT_linkage_name: "_ZNSt10_Head_baseILm0EP4BaseLb0EEC2Ev"
+ .long 0x1f35 # DW_AT_object_pointer
+ .long 0x1f3b # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x1f35) DW_TAG_formal_parameter)
+ .long 0x1f1a # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x1f24
+ .uleb128 0x14 # (DIE (0x1f3b) DW_TAG_subprogram)
+ .long 0x8cb # DW_AT_specification
+ .long 0x1f49 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x1f53 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x1f49) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1d5e # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x1f3b
+ .uleb128 0x1e # (DIE (0x1f53) DW_TAG_subprogram)
+ .long 0x1f3b # DW_AT_abstract_origin
+ .long .LASF2367 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC2Ev"
+ .long 0x1f64 # DW_AT_object_pointer
+ .long 0x1f6a # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x1f64) DW_TAG_formal_parameter)
+ .long 0x1f49 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x1f53
+ .uleb128 0x1b # (DIE (0x1f6a) DW_TAG_subprogram)
+ .long 0x115a # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x1f99 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x1f73) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x1f7d) DW_TAG_template_type_param)
+ .long .LASF2197 # DW_AT_name: "_Head"
+ .long 0x571 # DW_AT_type
+ .uleb128 0x29 # (DIE (0x1f86) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2291 # DW_AT_name: "_Tail"
+ .uleb128 0x21 # (DIE (0x1f8b) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x35 # DW_AT_decl_column
+ .long 0x1d4f # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f6a
+ .uleb128 0x1b # (DIE (0x1f99) DW_TAG_subprogram)
+ .long 0xab9 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x1fb0 # DW_AT_sibling
+ .uleb128 0x21 # (DIE (0x1fa2) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x123 # DW_AT_decl_line
+ .byte 0x1c # DW_AT_decl_column
+ .long 0x1d8b # DW_AT_type
+ .byte 0 # end of children of DIE 0x1f99
+ .uleb128 0x14 # (DIE (0x1fb0) DW_TAG_subprogram)
+ .long 0xb37 # DW_AT_specification
+ .long 0x1fbe # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x1fc8 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x1fbe) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1da4 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x1fb0
+ .uleb128 0x1e # (DIE (0x1fc8) DW_TAG_subprogram)
+ .long 0x1fb0 # DW_AT_abstract_origin
+ .long .LASF2368 # DW_AT_linkage_name: "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC2Ev"
+ .long 0x1fd9 # DW_AT_object_pointer
+ .long 0x1fdf # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x1fd9) DW_TAG_formal_parameter)
+ .long 0x1fbe # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x1fc8
+ .uleb128 0x6 # (DIE (0x1fdf) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x118d # DW_AT_type
+ .uleb128 0x1b # (DIE (0x1fe4) DW_TAG_subprogram)
+ .long 0x1199 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x2019 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x1fed) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0x1 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x1ff7) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2231 # DW_AT_name: "_Elements"
+ .long 0x200b # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x2000) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0x2005) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1ff7
+ .uleb128 0x21 # (DIE (0x200b) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x1e # DW_AT_decl_column
+ .long 0x1dc2 # DW_AT_type
+ .byte 0 # end of children of DIE 0x1fe4
+ .uleb128 0x1b # (DIE (0x2019) DW_TAG_subprogram)
+ .long 0x11d2 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x2052 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x2022) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x23 # (DIE (0x202c) DW_TAG_template_type_param)
+ .long .LASF2197 # DW_AT_name: "_Head"
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0x25 # (DIE (0x2035) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2291 # DW_AT_name: "_Tail"
+ .long 0x2044 # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x203e) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x2035
+ .uleb128 0x21 # (DIE (0x2044) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x97c # DW_AT_decl_line
+ .byte 0x35 # DW_AT_decl_column
+ .long 0x1d8b # DW_AT_type
+ .byte 0 # end of children of DIE 0x2019
+ .uleb128 0x14 # (DIE (0x2052) DW_TAG_subprogram)
+ .long 0xd05 # DW_AT_specification
+ .long 0x2069 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2073 # DW_AT_sibling
+ .uleb128 0x32 # (DIE (0x2060) DW_TAG_template_value_param)
+ .long .LASF2369 # DW_AT_name: "_Dummy"
+ .long 0x127c # DW_AT_type
+ # DW_AT_default_value
+ # DW_AT_const_value (0x1)
+ .uleb128 0x10 # (DIE (0x2069) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1db3 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2052
+ .uleb128 0x1e # (DIE (0x2073) DW_TAG_subprogram)
+ .long 0x2052 # DW_AT_abstract_origin
+ .long .LASF2370 # DW_AT_linkage_name: "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC2ILb1ELb1EEEv"
+ .long 0x208d # DW_AT_object_pointer
+ .long 0x2093 # DW_AT_sibling
+ .uleb128 0x32 # (DIE (0x2084) DW_TAG_template_value_param)
+ .long .LASF2369 # DW_AT_name: "_Dummy"
+ .long 0x127c # DW_AT_type
+ # DW_AT_default_value
+ # DW_AT_const_value (0x1)
+ .uleb128 0x15 # (DIE (0x208d) DW_TAG_formal_parameter)
+ .long 0x2069 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2073
+ .uleb128 0x14 # (DIE (0x2093) DW_TAG_subprogram)
+ .long 0x6c3 # DW_AT_specification
+ .long 0x20a1 # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x20ab # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x20a1) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1dcc # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2093
+ .uleb128 0x6 # (DIE (0x20ab) DW_TAG_reference_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x120f # DW_AT_type
+ .uleb128 0x1b # (DIE (0x20b0) DW_TAG_subprogram)
+ .long 0x121b # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x20e5 # DW_AT_sibling
+ .uleb128 0x12 # (DIE (0x20b9) DW_TAG_template_value_param)
+ .ascii "__i\0" # DW_AT_name
+ .long 0x1275 # DW_AT_type
+ .byte 0 # DW_AT_const_value
+ .uleb128 0x25 # (DIE (0x20c3) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2231 # DW_AT_name: "_Elements"
+ .long 0x20d7 # DW_AT_sibling
+ .uleb128 0xb # (DIE (0x20cc) DW_TAG_template_type_param)
+ .long 0x1d22 # DW_AT_type
+ .uleb128 0xb # (DIE (0x20d1) DW_TAG_template_type_param)
+ .long 0x571 # DW_AT_type
+ .byte 0 # end of children of DIE 0x20c3
+ .uleb128 0x21 # (DIE (0x20d7) DW_TAG_formal_parameter)
+ .ascii "__t\0" # DW_AT_name
+ .byte 0x3 # DW_AT_decl_file (/usr/include/c++/15/tuple)
+ .value 0x98c # DW_AT_decl_line
+ .byte 0x1e # DW_AT_decl_column
+ .long 0x1dc2 # DW_AT_type
+ .byte 0 # end of children of DIE 0x20b0
+ .uleb128 0x14 # (DIE (0x20e5) DW_TAG_subprogram)
+ .long 0x619 # DW_AT_specification
+ .long 0x20f3 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x2109 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x20f3) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1dcc # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x35 # (DIE (0x20fc) DW_TAG_formal_parameter)
+ .ascii "__p\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long 0x638 # DW_AT_type
+ .byte 0 # end of children of DIE 0x20e5
+ .uleb128 0x1e # (DIE (0x2109) DW_TAG_subprogram)
+ .long 0x20e5 # DW_AT_abstract_origin
+ .long .LASF2371 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC2EPS0_"
+ .long 0x211a # DW_AT_object_pointer
+ .long 0x2125 # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x211a) DW_TAG_formal_parameter)
+ .long 0x20f3 # DW_AT_abstract_origin
+ .uleb128 0x15 # (DIE (0x211f) DW_TAG_formal_parameter)
+ .long 0x20fc # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x2109
+ .uleb128 0x14 # (DIE (0x2125) DW_TAG_subprogram)
+ .long 0x598 # DW_AT_specification
+ .long 0x2133 # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x2149 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x2133) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1d1d # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x74 # (DIE (0x213c) DW_TAG_formal_parameter)
+ .long .LASF2372 # DW_AT_name: "__ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0x57 # DW_AT_decl_line
+ .byte 0x17 # DW_AT_decl_column
+ .long 0x1d22 # DW_AT_type
+ .byte 0 # end of children of DIE 0x2125
+ .uleb128 0x14 # (DIE (0x2149) DW_TAG_subprogram)
+ .long 0xf14 # DW_AT_specification
+ .long 0x2157 # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x2161 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x2157) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1e03 # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2149
+ .uleb128 0x14 # (DIE (0x2161) DW_TAG_subprogram)
+ .long 0x687 # DW_AT_specification
+ .long 0x216f # DW_AT_object_pointer
+ .byte 0x3 # DW_AT_inline
+ .long 0x2179 # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x216f) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1dcc # DW_AT_type
+ # DW_AT_artificial
+ .byte 0 # end of children of DIE 0x2161
+ .uleb128 0x14 # (DIE (0x2179) DW_TAG_subprogram)
+ .long 0x1016 # DW_AT_specification
+ .long 0x2190 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x21a7 # DW_AT_sibling
+ .uleb128 0x33 # (DIE (0x2187) DW_TAG_template_type_param)
+ .long .LASF2274 # DW_AT_name: "_Del"
+ .long 0x571 # DW_AT_type
+ # DW_AT_default_value
+ .uleb128 0x10 # (DIE (0x2190) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1e03 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x21 # (DIE (0x2199) DW_TAG_formal_parameter)
+ .ascii "__p\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x137 # DW_AT_decl_line
+ .byte 0x15 # DW_AT_decl_column
+ .long 0xebb # DW_AT_type
+ .byte 0 # end of children of DIE 0x2179
+ .uleb128 0x1e # (DIE (0x21a7) DW_TAG_subprogram)
+ .long 0x2179 # DW_AT_abstract_origin
+ .long .LASF2373 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC2IS2_vEEPS0_"
+ .long 0x21c1 # DW_AT_object_pointer
+ .long 0x21cc # DW_AT_sibling
+ .uleb128 0x33 # (DIE (0x21b8) DW_TAG_template_type_param)
+ .long .LASF2274 # DW_AT_name: "_Del"
+ .long 0x571 # DW_AT_type
+ # DW_AT_default_value
+ .uleb128 0x15 # (DIE (0x21c1) DW_TAG_formal_parameter)
+ .long 0x2190 # DW_AT_abstract_origin
+ .uleb128 0x15 # (DIE (0x21c6) DW_TAG_formal_parameter)
+ .long 0x2199 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x21a7
+ .uleb128 0x75 # (DIE (0x21cc) DW_TAG_subprogram)
+ .long 0xd9e # DW_AT_specification
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xeb # DW_AT_decl_line
+ .byte 0x28 # DW_AT_decl_column
+ .long 0x21dd # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x21ec # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x21dd) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1dea # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x1 # (DIE (0x21e6) DW_TAG_formal_parameter)
+ .long 0x638 # DW_AT_type
+ .byte 0 # end of children of DIE 0x21cc
+ .uleb128 0x1e # (DIE (0x21ec) DW_TAG_subprogram)
+ .long 0x21cc # DW_AT_abstract_origin
+ .long .LASF2374 # DW_AT_linkage_name: "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI2St15__uniq_ptr_implIS0_S2_EEPS0_"
+ .long 0x21fd # DW_AT_object_pointer
+ .long 0x2208 # DW_AT_sibling
+ .uleb128 0x15 # (DIE (0x21fd) DW_TAG_formal_parameter)
+ .long 0x21dd # DW_AT_abstract_origin
+ .uleb128 0x15 # (DIE (0x2202) DW_TAG_formal_parameter)
+ .long 0x21e6 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x21ec
+ .uleb128 0x14 # (DIE (0x2208) DW_TAG_subprogram)
+ .long 0xe38 # DW_AT_specification
+ .long 0x2216 # DW_AT_object_pointer
+ .byte 0x2 # DW_AT_inline
+ .long 0x222f # DW_AT_sibling
+ .uleb128 0x10 # (DIE (0x2216) DW_TAG_formal_parameter)
+ .long .LASF2364 # DW_AT_name: "this"
+ .long 0x1e03 # DW_AT_type
+ # DW_AT_artificial
+ .uleb128 0x76 # (DIE (0x221f) DW_TAG_lexical_block)
+ .uleb128 0x77 # (DIE (0x2220) DW_TAG_variable)
+ .long .LASF2372 # DW_AT_name: "__ptr"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18d # DW_AT_decl_line
+ .byte 0x8 # DW_AT_decl_column
+ .long 0x1d81 # DW_AT_type
+ .byte 0 # end of children of DIE 0x221f
+ .byte 0 # end of children of DIE 0x2208
+ .uleb128 0x78 # (DIE (0x222f) DW_TAG_subprogram)
+ .long 0x2208 # DW_AT_abstract_origin
+ .long .LASF2397 # DW_AT_linkage_name: "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev"
+ .long 0x2252 # DW_AT_object_pointer
+ .quad .LFB1565 # DW_AT_low_pc
+ .quad .LFE1565-.LFB1565 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_call_all_calls
+ .long 0x2342 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x2252) DW_TAG_formal_parameter)
+ .long 0x2216 # DW_AT_abstract_origin
+ .long .LLST0 # DW_AT_location
+ .long .LVUS0 # DW_AT_GNU_locviews
+ .uleb128 0x79 # (DIE (0x225f) DW_TAG_lexical_block)
+ .long 0x221f # DW_AT_abstract_origin
+ .long 0x226e # DW_AT_sibling
+ .uleb128 0x7a # (DIE (0x2268) DW_TAG_variable)
+ .long 0x2220 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x225f
+ .uleb128 0x7b # (DIE (0x226e) DW_TAG_lexical_block)
+ .long 0x221f # DW_AT_abstract_origin
+ .quad .LBB144 # DW_AT_low_pc
+ .quad .LBE144-.LBB144 # DW_AT_high_pc
+ .uleb128 0x7c # (DIE (0x2283) DW_TAG_variable)
+ .long 0x2220 # DW_AT_abstract_origin
+ .long .LLST1 # DW_AT_location
+ .long .LVUS1 # DW_AT_GNU_locviews
+ .uleb128 0x36 # (DIE (0x2290) DW_TAG_inlined_subroutine)
+ .long 0x2161 # DW_AT_abstract_origin
+ .quad .LBI145 # DW_AT_entry_pc
+ .byte .LVU1 # DW_AT_GNU_entry_view
+ .quad .LBB145 # DW_AT_low_pc
+ .quad .LBE145-.LBB145 # DW_AT_high_pc
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18d # DW_AT_call_line
+ .byte 0x1b # DW_AT_call_column
+ .long 0x22c4 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x22b6) DW_TAG_formal_parameter)
+ .long 0x216f # DW_AT_abstract_origin
+ .long .LLST2 # DW_AT_location
+ .long .LVUS2 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x2290
+ .uleb128 0x36 # (DIE (0x22c4) DW_TAG_inlined_subroutine)
+ .long 0x2149 # DW_AT_abstract_origin
+ .quad .LBI146 # DW_AT_entry_pc
+ .byte .LVU5 # DW_AT_GNU_entry_view
+ .quad .LBB146 # DW_AT_low_pc
+ .quad .LBE146-.LBB146 # DW_AT_high_pc
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18f # DW_AT_call_line
+ .byte 0xf # DW_AT_call_column
+ .long 0x22f8 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x22ea) DW_TAG_formal_parameter)
+ .long 0x2157 # DW_AT_abstract_origin
+ .long .LLST3 # DW_AT_location
+ .long .LVUS3 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x22c4
+ .uleb128 0x2b # (DIE (0x22f8) DW_TAG_inlined_subroutine)
+ .long 0x2125 # DW_AT_abstract_origin
+ .quad .LBI147 # DW_AT_entry_pc
+ .byte .LVU7 # DW_AT_GNU_entry_view
+ .quad .LBB147 # DW_AT_low_pc
+ .quad .LBE147-.LBB147 # DW_AT_high_pc
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x18f # DW_AT_call_line
+ .byte 0x11 # DW_AT_call_column
+ .uleb128 0x15 # (DIE (0x231a) DW_TAG_formal_parameter)
+ .long 0x2133 # DW_AT_abstract_origin
+ .uleb128 0xc # (DIE (0x231f) DW_TAG_formal_parameter)
+ .long 0x213c # DW_AT_abstract_origin
+ .long .LLST4 # DW_AT_location
+ .long .LVUS4 # DW_AT_GNU_locviews
+ .uleb128 0x7d # (DIE (0x232c) DW_TAG_call_site)
+ .quad .LVL3 # DW_AT_call_return_pc
+ # DW_AT_call_tail_call
+ .long 0x1e49 # DW_AT_call_origin
+ .uleb128 0x1f # (DIE (0x2339) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x54 # DW_OP_reg4
+ .uleb128 0x1 # DW_AT_call_value
+ .byte 0x31 # DW_OP_lit1
+ .byte 0 # end of children of DIE 0x232c
+ .byte 0 # end of children of DIE 0x22f8
+ .byte 0 # end of children of DIE 0x226e
+ .byte 0 # end of children of DIE 0x222f
+ .uleb128 0x1b # (DIE (0x2342) DW_TAG_subprogram)
+ .long 0x1254 # DW_AT_specification
+ # DW_AT_inline (0x3)
+ .long 0x2363 # DW_AT_sibling
+ .uleb128 0xd # (DIE (0x234b) DW_TAG_template_type_param)
+ .ascii "_Tp\0" # DW_AT_name
+ .long 0x1d0b # DW_AT_type
+ .uleb128 0x29 # (DIE (0x2354) DW_TAG_GNU_template_parameter_pack)
+ .long .LASF2295 # DW_AT_name: "_Args"
+ .uleb128 0x7e # (DIE (0x2359) DW_TAG_GNU_formal_parameter_pack)
+ .long .LASF2398 # DW_AT_name: "__args"
+ .byte 0x1 # DW_AT_decl_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x43c # DW_AT_decl_line
+ .byte 0x18 # DW_AT_decl_column
+ .byte 0 # end of children of DIE 0x2342
+ .uleb128 0x7f # (DIE (0x2363) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2376 # DW_AT_name: "main"
+ .byte 0x2 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x6 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long 0x12b4 # DW_AT_type
+ .quad .LFB1555 # DW_AT_low_pc
+ .quad .LFE1555-.LFB1555 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_call_all_calls
+ .long 0x23a2 # DW_AT_sibling
+ .uleb128 0x42 # (DIE (0x2385) DW_TAG_formal_parameter)
+ .long 0x12b4 # DW_AT_type
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x42 # (DIE (0x238c) DW_TAG_formal_parameter)
+ .long 0x23a2 # DW_AT_type
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x54 # DW_OP_reg4
+ .uleb128 0x80 # (DIE (0x2393) DW_TAG_call_site)
+ .quad .LVL11 # DW_AT_call_return_pc
+ .long 0x23a7 # DW_AT_call_origin
+ .byte 0 # end of children of DIE 0x2363
+ .uleb128 0x4 # (DIE (0x23a2) DW_TAG_pointer_type)
+ # DW_AT_byte_size (0x8)
+ .long 0x12f2 # DW_AT_type
+ .uleb128 0x81 # (DIE (0x23a7) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF2377 # DW_AT_name: "func"
+ .byte 0x2 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x3 # DW_AT_decl_line
+ .byte 0x6 # DW_AT_decl_column
+ .long .LASF2378 # DW_AT_linkage_name: "_Z4funcv"
+ .long .LLRL5 # DW_AT_ranges
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_call_all_calls
+ .long 0x2664 # DW_AT_sibling
+ .uleb128 0x82 # (DIE (0x23be) DW_TAG_variable)
+ .long .LASF2399 # DW_AT_name: "varStatic"
+ .byte 0x2 # DW_AT_decl_file (dwarf.cc)
+ .byte 0x4 # DW_AT_decl_line
+ .byte 0x1f # DW_AT_decl_column
+ .long 0xdfe # DW_AT_type
+ .uleb128 0x9 # DW_AT_location
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .uleb128 0x83 # (DIE (0x23d5) DW_TAG_inlined_subroutine)
+ .long 0x2342 # DW_AT_abstract_origin
+ .quad .LBI149 # DW_AT_entry_pc
+ .byte .LVU19 # DW_AT_GNU_entry_view
+ .long .LLRL6 # DW_AT_ranges
+ .byte 0x2 # DW_AT_call_file (dwarf.cc)
+ .byte 0x4 # DW_AT_call_line
+ .byte 0x42 # DW_AT_call_column
+ .long 0x25c4 # DW_AT_sibling
+ .uleb128 0x84 # (DIE (0x23ef) DW_TAG_inlined_subroutine)
+ .long 0x2179 # DW_AT_abstract_origin
+ .quad .LBI151 # DW_AT_entry_pc
+ .byte .LVU21 # DW_AT_GNU_entry_view
+ .long .LLRL7 # DW_AT_ranges
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x43d # DW_AT_call_line
+ .byte 0x45 # DW_AT_call_column
+ .long 0x25b0 # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x240a) DW_TAG_formal_parameter)
+ .long 0x2190 # DW_AT_abstract_origin
+ .long .LLST8 # DW_AT_location
+ .long .LVUS8 # DW_AT_GNU_locviews
+ .uleb128 0xc # (DIE (0x2417) DW_TAG_formal_parameter)
+ .long 0x2199 # DW_AT_abstract_origin
+ .long .LLST9 # DW_AT_location
+ .long .LVUS9 # DW_AT_GNU_locviews
+ .uleb128 0x85 # (DIE (0x2424) DW_TAG_inlined_subroutine)
+ .long 0x21cc # DW_AT_abstract_origin
+ .quad .LBI152 # DW_AT_entry_pc
+ .byte .LVU22 # DW_AT_GNU_entry_view
+ .long .LLRL7 # DW_AT_ranges
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .value 0x138 # DW_AT_call_line
+ .byte 0x4 # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x243b) DW_TAG_formal_parameter)
+ .long 0x21dd # DW_AT_abstract_origin
+ .long .LLST10 # DW_AT_location
+ .long .LVUS10 # DW_AT_GNU_locviews
+ .uleb128 0xc # (DIE (0x2448) DW_TAG_formal_parameter)
+ .long 0x21e6 # DW_AT_abstract_origin
+ .long .LLST11 # DW_AT_location
+ .long .LVUS11 # DW_AT_GNU_locviews
+ .uleb128 0x86 # (DIE (0x2455) DW_TAG_inlined_subroutine)
+ .long 0x20e5 # DW_AT_abstract_origin
+ .quad .LBI153 # DW_AT_entry_pc
+ .byte .LVU23 # DW_AT_GNU_entry_view
+ .long .LLRL7 # DW_AT_ranges
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xeb # DW_AT_call_line
+ .byte 0x28 # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x246b) DW_TAG_formal_parameter)
+ .long 0x20f3 # DW_AT_abstract_origin
+ .long .LLST12 # DW_AT_location
+ .long .LVUS12 # DW_AT_GNU_locviews
+ .uleb128 0xc # (DIE (0x2478) DW_TAG_formal_parameter)
+ .long 0x20fc # DW_AT_abstract_origin
+ .long .LLST13 # DW_AT_location
+ .long .LVUS13 # DW_AT_GNU_locviews
+ .uleb128 0x87 # (DIE (0x2485) DW_TAG_inlined_subroutine)
+ .long 0x2052 # DW_AT_abstract_origin
+ .quad .LBI155 # DW_AT_entry_pc
+ .byte .LVU24 # DW_AT_GNU_entry_view
+ .quad .LBB155 # DW_AT_low_pc
+ .quad .LBE155-.LBB155 # DW_AT_high_pc
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_call_line
+ .byte 0x26 # DW_AT_call_column
+ .long 0x257d # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x24ab) DW_TAG_formal_parameter)
+ .long 0x2069 # DW_AT_abstract_origin
+ .long .LLST14 # DW_AT_location
+ .long .LVUS14 # DW_AT_GNU_locviews
+ .uleb128 0x2b # (DIE (0x24b8) DW_TAG_inlined_subroutine)
+ .long 0x1fb0 # DW_AT_abstract_origin
+ .quad .LBI156 # DW_AT_entry_pc
+ .byte .LVU25 # DW_AT_GNU_entry_view
+ .quad .LBB156 # DW_AT_low_pc
+ .quad .LBE156-.LBB156 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x82c # DW_AT_call_line
+ .byte 0xf # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x24da) DW_TAG_formal_parameter)
+ .long 0x1fbe # DW_AT_abstract_origin
+ .long .LLST15 # DW_AT_location
+ .long .LVUS15 # DW_AT_GNU_locviews
+ .uleb128 0x36 # (DIE (0x24e7) DW_TAG_inlined_subroutine)
+ .long 0x1f3b # DW_AT_abstract_origin
+ .quad .LBI157 # DW_AT_entry_pc
+ .byte .LVU26 # DW_AT_GNU_entry_view
+ .quad .LBB157 # DW_AT_low_pc
+ .quad .LBE157-.LBB157 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x12f # DW_AT_call_line
+ .byte 0x1d # DW_AT_call_column
+ .long 0x254b # DW_AT_sibling
+ .uleb128 0xc # (DIE (0x250d) DW_TAG_formal_parameter)
+ .long 0x1f49 # DW_AT_abstract_origin
+ .long .LLST16 # DW_AT_location
+ .long .LVUS16 # DW_AT_GNU_locviews
+ .uleb128 0x2b # (DIE (0x251a) DW_TAG_inlined_subroutine)
+ .long 0x1eb0 # DW_AT_abstract_origin
+ .quad .LBI158 # DW_AT_entry_pc
+ .byte .LVU27 # DW_AT_GNU_entry_view
+ .quad .LBB158 # DW_AT_low_pc
+ .quad .LBE158-.LBB158 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x231 # DW_AT_call_line
+ .byte 0xf # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x253c) DW_TAG_formal_parameter)
+ .long 0x1ebe # DW_AT_abstract_origin
+ .long .LLST17 # DW_AT_location
+ .long .LVUS17 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x251a
+ .byte 0 # end of children of DIE 0x24e7
+ .uleb128 0x2b # (DIE (0x254b) DW_TAG_inlined_subroutine)
+ .long 0x1f0c # DW_AT_abstract_origin
+ .quad .LBI159 # DW_AT_entry_pc
+ .byte .LVU29 # DW_AT_GNU_entry_view
+ .quad .LBB159 # DW_AT_low_pc
+ .quad .LBE159-.LBB159 # DW_AT_high_pc
+ .byte 0x3 # DW_AT_call_file (/usr/include/c++/15/tuple)
+ .value 0x12f # DW_AT_call_line
+ .byte 0x1d # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x256d) DW_TAG_formal_parameter)
+ .long 0x1f1a # DW_AT_abstract_origin
+ .long .LLST18 # DW_AT_location
+ .long .LVUS18 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x254b
+ .byte 0 # end of children of DIE 0x24b8
+ .byte 0 # end of children of DIE 0x2485
+ .uleb128 0x88 # (DIE (0x257d) DW_TAG_inlined_subroutine)
+ .long 0x2161 # DW_AT_abstract_origin
+ .quad .LBI160 # DW_AT_entry_pc
+ .byte .LVU31 # DW_AT_GNU_entry_view
+ .quad .LBB160 # DW_AT_low_pc
+ .quad .LBE160-.LBB160 # DW_AT_high_pc
+ .byte 0x1 # DW_AT_call_file (/usr/include/c++/15/bits/unique_ptr.h)
+ .byte 0xaa # DW_AT_call_line
+ .byte 0x35 # DW_AT_call_column
+ .uleb128 0xc # (DIE (0x259f) DW_TAG_formal_parameter)
+ .long 0x216f # DW_AT_abstract_origin
+ .long .LLST19 # DW_AT_location
+ .long .LVUS19 # DW_AT_GNU_locviews
+ .byte 0 # end of children of DIE 0x257d
+ .byte 0 # end of children of DIE 0x2455
+ .byte 0 # end of children of DIE 0x2424
+ .byte 0 # end of children of DIE 0x23ef
+ .uleb128 0x43 # (DIE (0x25b0) DW_TAG_call_site)
+ .quad .LVL5 # DW_AT_call_return_pc
+ .long 0x1e2f # DW_AT_call_origin
+ .uleb128 0x1f # (DIE (0x25bd) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x1 # DW_AT_call_value
+ .byte 0x31 # DW_OP_lit1
+ .byte 0 # end of children of DIE 0x25b0
+ .byte 0 # end of children of DIE 0x23d5
+ .uleb128 0x44 # (DIE (0x25c4) DW_TAG_call_site)
+ .quad .LVL4 # DW_AT_call_return_pc
+ .long 0x1e87 # DW_AT_call_origin
+ .long 0x25e3 # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x25d5) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_call_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZGVZ4funcvE9varStatic
+ .byte 0 # end of children of DIE 0x25c4
+ .uleb128 0x89 # (DIE (0x25e3) DW_TAG_call_site)
+ .quad .LVL7 # DW_AT_call_return_pc
+ .long 0x2610 # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x25f1) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_call_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED1Ev
+ .uleb128 0x1f # (DIE (0x25fe) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x54 # DW_OP_reg4
+ .uleb128 0x9 # DW_AT_call_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .uleb128 0x8a # (DIE (0x260b) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x51 # DW_OP_reg1
+ .byte 0 # end of children of DIE 0x25e3
+ .uleb128 0x8b # (DIE (0x2610) DW_TAG_call_site)
+ .quad .LVL8 # DW_AT_call_return_pc
+ # DW_AT_call_tail_call
+ .long 0x1e78 # DW_AT_call_origin
+ .long 0x2630 # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x2622) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_call_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZGVZ4funcvE9varStatic
+ .byte 0 # end of children of DIE 0x2610
+ .uleb128 0x44 # (DIE (0x2630) DW_TAG_call_site)
+ .quad .LVL9 # DW_AT_call_return_pc
+ .long 0x1e64 # DW_AT_call_origin
+ .long 0x264f # DW_AT_sibling
+ .uleb128 0x1f # (DIE (0x2641) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x9 # DW_AT_call_value
+ .byte 0x3 # DW_OP_addr
+ .quad _ZGVZ4funcvE9varStatic
+ .byte 0 # end of children of DIE 0x2630
+ .uleb128 0x43 # (DIE (0x264f) DW_TAG_call_site)
+ .quad .LVL10 # DW_AT_call_return_pc
+ .long 0x2664 # DW_AT_call_origin
+ .uleb128 0x1f # (DIE (0x265c) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x2 # DW_AT_call_value
+ .byte 0x73 # DW_OP_breg3
+ .sleb128 0
+ .byte 0 # end of children of DIE 0x264f
+ .byte 0 # end of children of DIE 0x23a7
+ .uleb128 0x8c # (DIE (0x2664) DW_TAG_subprogram)
+ # DW_AT_external
+ # DW_AT_declaration
+ .long .LASF2400 # DW_AT_linkage_name: "_Unwind_Resume"
+ .long .LASF2401 # DW_AT_name: "__builtin_unwind_resume"
+ .byte 0 # end of children of DIE 0xc
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x2 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x3 # (abbrev code)
+ .uleb128 0x8 # (TAG: DW_TAG_imported_declaration)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4 # (abbrev code)
+ .uleb128 0xf # (TAG: DW_TAG_pointer_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 8
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 20 # (/usr/include/wchar.h)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6 # (abbrev code)
+ .uleb128 0x10 # (TAG: DW_TAG_reference_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 8
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7 # (abbrev code)
+ .uleb128 0x26 # (TAG: DW_TAG_const_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x9 # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0xa # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0xb # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xc # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0xd # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xe # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xf # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x10 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x11 # (abbrev code)
+ .uleb128 0x8 # (TAG: DW_TAG_imported_declaration)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 8 # (/usr/include/c++/15/cwchar)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x12 # (abbrev code)
+ .uleb128 0x30 # (TAG: DW_TAG_template_value_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x13 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 20 # (/usr/include/wchar.h)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x14 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x15 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x16 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x17 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x18 # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x19 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1a # (abbrev code)
+ .uleb128 0x42 # (TAG: DW_TAG_rvalue_reference_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 8
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 3
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1d # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 7
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x1f # (abbrev code)
+ .uleb128 0x49 # (TAG: DW_TAG_call_site_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7e # (DW_AT_call_value)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x20 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x21 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x22 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x23 # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x24 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 12
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x25 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x26 # (abbrev code)
+ .uleb128 0x18 # (TAG: DW_TAG_unspecified_parameters)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x27 # (abbrev code)
+ .uleb128 0x30 # (TAG: DW_TAG_template_value_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x28 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0x29 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0x2a # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 15 # (<built-in>)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 0
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2b # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2c # (abbrev code)
+ .uleb128 0x1c # (TAG: DW_TAG_inheritance)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 0
+ .byte 0
+ .byte 0
+ .uleb128 0x2d # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x2e # (abbrev code)
+ .uleb128 0x1c # (TAG: DW_TAG_inheritance)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 0
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x2f # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 3 # (/usr/include/c++/15/tuple)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x30 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 3 # (/usr/include/c++/15/tuple)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x31 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x32 # (abbrev code)
+ .uleb128 0x30 # (TAG: DW_TAG_template_value_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1e # (DW_AT_default_value)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .byte 0
+ .byte 0
+ .uleb128 0x33 # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1e # (DW_AT_default_value)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x34 # (abbrev code)
+ .uleb128 0x28 # (TAG: DW_TAG_enumerator)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x35 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x36 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x37 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 4 # (/usr/include/c++/15/type_traits)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 13
+ .byte 0
+ .byte 0
+ .uleb128 0x38 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x39 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x3a # (abbrev code)
+ .uleb128 0x2 # (TAG: DW_TAG_class_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 8
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 11
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 3 # (/usr/include/c++/15/tuple)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 7
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 3 # (/usr/include/c++/15/tuple)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 20
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8a # (DW_AT_deleted)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3d # (abbrev code)
+ .uleb128 0x2 # (TAG: DW_TAG_class_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 8
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 11
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3e # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1 # (/usr/include/c++/15/bits/unique_ptr.h)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 13
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 1
+ .byte 0
+ .byte 0
+ .uleb128 0x3f # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 11
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x40 # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0x21 # (DW_FORM_implicit_const)
+ .sleb128 17 # (/usr/include/bits/types/__mbstate_t.h)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x41 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x42 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x43 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x44 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x45 # (abbrev code)
+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x25 # (DW_AT_producer)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x13 # (DW_AT_language)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x90 # (DW_AT_language_name)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x91 # (DW_AT_language_version)
+ .uleb128 0x6 # (DW_FORM_data4)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x1f # (DW_FORM_line_strp)
+ .uleb128 0x1b # (DW_AT_comp_dir)
+ .uleb128 0x1f # (DW_FORM_line_strp)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x10 # (DW_AT_stmt_list)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x79 # (DW_AT_macros)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x46 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x47 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x48 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x49 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4a # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4d # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x4e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x87 # (DW_AT_noreturn)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x4f # (abbrev code)
+ .uleb128 0x2 # (TAG: DW_TAG_class_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x50 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x51 # (abbrev code)
+ .uleb128 0x16 # (TAG: DW_TAG_typedef)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x52 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0 # DW_children_no
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x53 # (abbrev code)
+ .uleb128 0x4107 # (TAG: DW_TAG_GNU_template_parameter_pack)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x54 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x55 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x56 # (abbrev code)
+ .uleb128 0xd # (TAG: DW_TAG_member)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x38 # (DW_AT_data_member_location)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x57 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8b # (DW_AT_defaulted)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x58 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x59 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5a # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8a # (DW_AT_deleted)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5b # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x8a # (DW_AT_deleted)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x32 # (DW_AT_accessibility)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x63 # (DW_AT_explicit)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5d # (abbrev code)
+ .uleb128 0x2f # (TAG: DW_TAG_template_type_param)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1e # (DW_AT_default_value)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x5e # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x5f # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .byte 0
+ .byte 0
+ .uleb128 0x60 # (abbrev code)
+ .uleb128 0xf # (TAG: DW_TAG_pointer_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x61 # (abbrev code)
+ .uleb128 0x26 # (TAG: DW_TAG_const_type)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x62 # (abbrev code)
+ .uleb128 0x4 # (TAG: DW_TAG_enumeration_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x63 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1c # (DW_AT_const_value)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x64 # (abbrev code)
+ .uleb128 0x3a # (TAG: DW_TAG_imported_module)
+ .byte 0 # DW_children_no
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x18 # (DW_AT_import)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x65 # (abbrev code)
+ .uleb128 0x3b # (TAG: DW_TAG_unspecified_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .uleb128 0x66 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x67 # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x68 # (abbrev code)
+ .uleb128 0x17 # (TAG: DW_TAG_union_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x69 # (abbrev code)
+ .uleb128 0x1 # (TAG: DW_TAG_array_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6a # (abbrev code)
+ .uleb128 0x21 # (TAG: DW_TAG_subrange_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2f # (DW_AT_upper_bound)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x6b # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x6c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0 # DW_children_no
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x6d # (abbrev code)
+ .uleb128 0x13 # (TAG: DW_TAG_structure_type)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6e # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6f # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x70 # (abbrev code)
+ .uleb128 0x39 # (TAG: DW_TAG_namespace)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x89 # (DW_AT_export_symbols)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x71 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x72 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x73 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x34 # (DW_AT_artificial)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x74 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x75 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x47 # (DW_AT_specification)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x20 # (DW_AT_inline)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x76 # (abbrev code)
+ .uleb128 0xb # (TAG: DW_TAG_lexical_block)
+ .byte 0x1 # DW_children_yes
+ .byte 0
+ .byte 0
+ .uleb128 0x77 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x78 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x64 # (DW_AT_object_pointer)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7a # (DW_AT_call_all_calls)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x79 # (abbrev code)
+ .uleb128 0xb # (TAG: DW_TAG_lexical_block)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7a # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7b # (abbrev code)
+ .uleb128 0xb # (TAG: DW_TAG_lexical_block)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .byte 0
+ .byte 0
+ .uleb128 0x7c # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x7d # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x82 # (DW_AT_call_tail_call)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7e # (abbrev code)
+ .uleb128 0x4108 # (TAG: DW_TAG_GNU_formal_parameter_pack)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x7f # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7a # (DW_AT_call_all_calls)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x80 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0 # DW_children_no
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x81 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7a # (DW_AT_call_all_calls)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x82 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x83 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x84 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x85 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0x5 # (DW_FORM_data2)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x86 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x87 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x88 # (abbrev code)
+ .uleb128 0x1d # (TAG: DW_TAG_inlined_subroutine)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x52 # (DW_AT_entry_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2138 # (DW_AT_GNU_entry_view)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x58 # (DW_AT_call_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x59 # (DW_AT_call_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x57 # (DW_AT_call_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .byte 0
+ .byte 0
+ .uleb128 0x89 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8a # (abbrev code)
+ .uleb128 0x49 # (TAG: DW_TAG_call_site_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x8b # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x82 # (DW_AT_call_tail_call)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8c # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0 # DW_children_no
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x6e # (DW_AT_linkage_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_loclists,"",@progbits
+ .long .Ldebug_loc3-.Ldebug_loc2 # Length of Location Lists
+.Ldebug_loc2:
+ .value 0x5 # DWARF version number
+ .byte 0x8 # Address Size
+ .byte 0 # Segment Size
+ .long 0 # Offset Entry Count
+.Ldebug_loc0:
+.LVUS0:
+ .uleb128 0 # View list begin (*.LVUS0)
+ .uleb128 .LVU4 # View list end (*.LVUS0)
+ .uleb128 .LVU4 # View list begin (*.LVUS0)
+ .uleb128 0 # View list end (*.LVUS0)
+.LLST0:
+ .byte 0x6 # DW_LLE_base_address (*.LLST0)
+ .quad .LVL0 # Base address (*.LLST0)
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST0)
+ .uleb128 .LVL0-.LVL0 # Location list begin address (*.LLST0)
+ .uleb128 .LVL1-.LVL0 # Location list end address (*.LLST0)
+ .uleb128 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST0)
+ .uleb128 .LVL1-.LVL0 # Location list begin address (*.LLST0)
+ .uleb128 .LFE1565-.LVL0 # Location list end address (*.LLST0)
+ .uleb128 0x4 # Location expression size
+ .byte 0xa3 # DW_OP_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST0)
+.LVUS1:
+ .uleb128 .LVU2 # View list begin (*.LVUS1)
+ .uleb128 .LVU4 # View list end (*.LVUS1)
+ .uleb128 .LVU4 # View list begin (*.LVUS1)
+ .uleb128 0 # View list end (*.LVUS1)
+.LLST1:
+ .byte 0x6 # DW_LLE_base_address (*.LLST1)
+ .quad .LVL0 # Base address (*.LLST1)
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST1)
+ .uleb128 .LVL0-.LVL0 # Location list begin address (*.LLST1)
+ .uleb128 .LVL1-.LVL0 # Location list end address (*.LLST1)
+ .uleb128 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST1)
+ .uleb128 .LVL1-.LVL0 # Location list begin address (*.LLST1)
+ .uleb128 .LFE1565-.LVL0 # Location list end address (*.LLST1)
+ .uleb128 0x4 # Location expression size
+ .byte 0xa3 # DW_OP_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST1)
+.LVUS2:
+ .uleb128 .LVU1 # View list begin (*.LVUS2)
+ .uleb128 .LVU2 # View list end (*.LVUS2)
+.LLST2:
+ .byte 0x8 # DW_LLE_start_length (*.LLST2)
+ .quad .LVL0 # Location list begin address (*.LLST2)
+ .uleb128 .LVL0-.LVL0 # Location list length (*.LLST2)
+ .uleb128 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .byte 0 # DW_LLE_end_of_list (*.LLST2)
+.LVUS3:
+ .uleb128 .LVU5 # View list begin (*.LVUS3)
+ .uleb128 .LVU6 # View list end (*.LVUS3)
+.LLST3:
+ .byte 0x8 # DW_LLE_start_length (*.LLST3)
+ .quad .LVL2 # Location list begin address (*.LLST3)
+ .uleb128 .LVL2-.LVL2 # Location list length (*.LLST3)
+ .uleb128 0x4 # Location expression size
+ .byte 0xa3 # DW_OP_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST3)
+.LVUS4:
+ .uleb128 .LVU6 # View list begin (*.LVUS4)
+ .uleb128 .LVU9 # View list end (*.LVUS4)
+.LLST4:
+ .byte 0x8 # DW_LLE_start_length (*.LLST4)
+ .quad .LVL2 # Location list begin address (*.LLST4)
+ .uleb128 .LVL3-1-.LVL2 # Location list length (*.LLST4)
+ .uleb128 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .byte 0 # DW_LLE_end_of_list (*.LLST4)
+.LVUS8:
+ .uleb128 .LVU21 # View list begin (*.LVUS8)
+ .uleb128 .LVU35 # View list end (*.LVUS8)
+.LLST8:
+ .byte 0x8 # DW_LLE_start_length (*.LLST8)
+ .quad .LVL5 # Location list begin address (*.LLST8)
+ .uleb128 .LVL6-.LVL5 # Location list length (*.LLST8)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST8)
+.LVUS9:
+ .uleb128 .LVU21 # View list begin (*.LVUS9)
+ .uleb128 .LVU35 # View list end (*.LVUS9)
+.LLST9:
+ .byte 0x8 # DW_LLE_start_length (*.LLST9)
+ .quad .LVL5 # Location list begin address (*.LLST9)
+ .uleb128 .LVL6-.LVL5 # Location list length (*.LLST9)
+ .uleb128 0x1 # Location expression size
+ .byte 0x50 # DW_OP_reg0
+ .byte 0 # DW_LLE_end_of_list (*.LLST9)
+.LVUS10:
+ .uleb128 .LVU22 # View list begin (*.LVUS10)
+ .uleb128 .LVU35 # View list end (*.LVUS10)
+.LLST10:
+ .byte 0x8 # DW_LLE_start_length (*.LLST10)
+ .quad .LVL5 # Location list begin address (*.LLST10)
+ .uleb128 .LVL6-.LVL5 # Location list length (*.LLST10)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST10)
+.LVUS11:
+ .uleb128 .LVU22 # View list begin (*.LVUS11)
+ .uleb128 .LVU35 # View list end (*.LVUS11)
+.LLST11:
+ .byte 0x8 # DW_LLE_start_length (*.LLST11)
+ .quad .LVL5 # Location list begin address (*.LLST11)
+ .uleb128 .LVL6-.LVL5 # Location list length (*.LLST11)
+ .uleb128 0x1 # Location expression size
+ .byte 0x50 # DW_OP_reg0
+ .byte 0 # DW_LLE_end_of_list (*.LLST11)
+.LVUS12:
+ .uleb128 .LVU23 # View list begin (*.LVUS12)
+ .uleb128 .LVU35 # View list end (*.LVUS12)
+.LLST12:
+ .byte 0x8 # DW_LLE_start_length (*.LLST12)
+ .quad .LVL5 # Location list begin address (*.LLST12)
+ .uleb128 .LVL6-.LVL5 # Location list length (*.LLST12)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST12)
+.LVUS13:
+ .uleb128 .LVU23 # View list begin (*.LVUS13)
+ .uleb128 .LVU35 # View list end (*.LVUS13)
+.LLST13:
+ .byte 0x8 # DW_LLE_start_length (*.LLST13)
+ .quad .LVL5 # Location list begin address (*.LLST13)
+ .uleb128 .LVL6-.LVL5 # Location list length (*.LLST13)
+ .uleb128 0x1 # Location expression size
+ .byte 0x50 # DW_OP_reg0
+ .byte 0 # DW_LLE_end_of_list (*.LLST13)
+.LVUS14:
+ .uleb128 .LVU24 # View list begin (*.LVUS14)
+ .uleb128 .LVU30 # View list end (*.LVUS14)
+.LLST14:
+ .byte 0x8 # DW_LLE_start_length (*.LLST14)
+ .quad .LVL5 # Location list begin address (*.LLST14)
+ .uleb128 .LVL5-.LVL5 # Location list length (*.LLST14)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST14)
+.LVUS15:
+ .uleb128 .LVU25 # View list begin (*.LVUS15)
+ .uleb128 .LVU30 # View list end (*.LVUS15)
+.LLST15:
+ .byte 0x8 # DW_LLE_start_length (*.LLST15)
+ .quad .LVL5 # Location list begin address (*.LLST15)
+ .uleb128 .LVL5-.LVL5 # Location list length (*.LLST15)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST15)
+.LVUS16:
+ .uleb128 .LVU26 # View list begin (*.LVUS16)
+ .uleb128 .LVU28 # View list end (*.LVUS16)
+.LLST16:
+ .byte 0x8 # DW_LLE_start_length (*.LLST16)
+ .quad .LVL5 # Location list begin address (*.LLST16)
+ .uleb128 .LVL5-.LVL5 # Location list length (*.LLST16)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST16)
+.LVUS17:
+ .uleb128 .LVU27 # View list begin (*.LVUS17)
+ .uleb128 .LVU28 # View list end (*.LVUS17)
+.LLST17:
+ .byte 0x8 # DW_LLE_start_length (*.LLST17)
+ .quad .LVL5 # Location list begin address (*.LLST17)
+ .uleb128 .LVL5-.LVL5 # Location list length (*.LLST17)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST17)
+.LVUS18:
+ .uleb128 .LVU28 # View list begin (*.LVUS18)
+ .uleb128 .LVU30 # View list end (*.LVUS18)
+.LLST18:
+ .byte 0x8 # DW_LLE_start_length (*.LLST18)
+ .quad .LVL5 # Location list begin address (*.LLST18)
+ .uleb128 .LVL5-.LVL5 # Location list length (*.LLST18)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST18)
+.LVUS19:
+ .uleb128 .LVU30 # View list begin (*.LVUS19)
+ .uleb128 .LVU32 # View list end (*.LVUS19)
+.LLST19:
+ .byte 0x8 # DW_LLE_start_length (*.LLST19)
+ .quad .LVL5 # Location list begin address (*.LLST19)
+ .uleb128 .LVL5-.LVL5 # Location list length (*.LLST19)
+ .uleb128 0xa # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad _ZZ4funcvE9varStatic
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST19)
+.Ldebug_loc3:
+ .section .debug_aranges,"",@progbits
+ .long 0x5c # Length of Address Ranges Info
+ .value 0x2 # DWARF aranges version
+ .long .Ldebug_info0 # Offset of Compilation Unit Info
+ .byte 0x8 # Size of Address
+ .byte 0 # Size of Segment Descriptor
+ .value 0 # Pad to 16 byte boundary
+ .value 0
+ .quad .Ltext0 # Address
+ .quad .Letext0-.Ltext0 # Length
+ .quad .Ltext_cold0 # Address
+ .quad .Letext_cold0-.Ltext_cold0 # Length
+ .quad .LFB1565 # Address
+ .quad .LFE1565-.LFB1565 # Length
+ .quad .LFB1555 # Address
+ .quad .LFE1555-.LFB1555 # Length
+ .quad 0
+ .quad 0
+ .section .debug_rnglists,"",@progbits
+.Ldebug_ranges0:
+ .long .Ldebug_ranges3-.Ldebug_ranges2 # Length of Range Lists
+.Ldebug_ranges2:
+ .value 0x5 # DWARF version number
+ .byte 0x8 # Address Size
+ .byte 0 # Segment Size
+ .long 0 # Offset Entry Count
+.LLRL5:
+ .byte 0x7 # DW_RLE_start_length (*.LLRL5)
+ .quad .LFB1545 # Range begin address (*.LLRL5)
+ .uleb128 .LHOTE0-.LFB1545 # Range length (*.LLRL5)
+ .byte 0x7 # DW_RLE_start_length (*.LLRL5)
+ .quad .LFSB1545 # Range begin address (*.LLRL5)
+ .uleb128 .LCOLDE0-.LFSB1545 # Range length (*.LLRL5)
+ .byte 0 # DW_RLE_end_of_list (*.LLRL5)
+.LLRL6:
+ .byte 0x5 # DW_RLE_base_address (*.LLRL6)
+ .quad .LBB149 # Base address (*.LLRL6)
+ .byte 0x4 # DW_RLE_offset_pair (*.LLRL6)
+ .uleb128 .LBB149-.LBB149 # Range begin address (*.LLRL6)
+ .uleb128 .LBE149-.LBB149 # Range end address (*.LLRL6)
+ .byte 0x4 # DW_RLE_offset_pair (*.LLRL6)
+ .uleb128 .LBB166-.LBB149 # Range begin address (*.LLRL6)
+ .uleb128 .LBE166-.LBB149 # Range end address (*.LLRL6)
+ .byte 0 # DW_RLE_end_of_list (*.LLRL6)
+.LLRL7:
+ .byte 0x5 # DW_RLE_base_address (*.LLRL7)
+ .quad .LBB151 # Base address (*.LLRL7)
+ .byte 0x4 # DW_RLE_offset_pair (*.LLRL7)
+ .uleb128 .LBB151-.LBB151 # Range begin address (*.LLRL7)
+ .uleb128 .LBE151-.LBB151 # Range end address (*.LLRL7)
+ .byte 0x4 # DW_RLE_offset_pair (*.LLRL7)
+ .uleb128 .LBB164-.LBB151 # Range begin address (*.LLRL7)
+ .uleb128 .LBE164-.LBB151 # Range end address (*.LLRL7)
+ .byte 0 # DW_RLE_end_of_list (*.LLRL7)
+.LLRL20:
+ .byte 0x7 # DW_RLE_start_length (*.LLRL20)
+ .quad .Ltext0 # Range begin address (*.LLRL20)
+ .uleb128 .Letext0-.Ltext0 # Range length (*.LLRL20)
+ .byte 0x7 # DW_RLE_start_length (*.LLRL20)
+ .quad .Ltext_cold0 # Range begin address (*.LLRL20)
+ .uleb128 .Letext_cold0-.Ltext_cold0 # Range length (*.LLRL20)
+ .byte 0x7 # DW_RLE_start_length (*.LLRL20)
+ .quad .LFB1565 # Range begin address (*.LLRL20)
+ .uleb128 .LFE1565-.LFB1565 # Range length (*.LLRL20)
+ .byte 0x7 # DW_RLE_start_length (*.LLRL20)
+ .quad .LFB1555 # Range begin address (*.LLRL20)
+ .uleb128 .LFE1555-.LFB1555 # Range length (*.LLRL20)
+ .byte 0 # DW_RLE_end_of_list (*.LLRL20)
+.Ldebug_ranges3:
+ .section .debug_macro,"",@progbits
+.Ldebug_macro0:
+ .value 0x5 # DWARF macro version number
+ .byte 0x2 # Flags: 32-bit, lineptr present
+ .long .Ldebug_line0
+ .byte 0x7 # Import
+ .long .Ldebug_macro2
+ .byte 0x3 # Start new file
+ .uleb128 0 # Included from line number 0
+ .uleb128 0x2 # file dwarf.cc
+ .file 25 "/usr/include/stdc-predef.h"
+ .byte 0x3 # Start new file
+ .uleb128 0 # Included from line number 0
+ .uleb128 0x19 # file /usr/include/stdc-predef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro3
+ .byte 0x4 # End file
+ .file 26 "/usr/include/c++/15/memory"
+ .byte 0x3 # Start new file
+ .uleb128 0x1 # Included from line number 1
+ .uleb128 0x1a # file /usr/include/c++/15/memory
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF471 # The macro: "_GLIBCXX_MEMORY 1"
+ .file 27 "/usr/include/c++/15/bits/memoryfwd.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x41 # Included from line number 65
+ .uleb128 0x1b # file /usr/include/c++/15/bits/memoryfwd.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF472 # The macro: "_MEMORYFWD_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x32 # Included from line number 50
+ .uleb128 0x7 # file /usr/include/c++/15/x86_64-redhat-linux/bits/c++config.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF473 # The macro: "_CPP_CPPCONFIG_WRAPPER 1"
+ .file 28 "/usr/include/bits/wordsize.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3 # Included from line number 3
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro5
+ .file 29 "/usr/include/c++/15/x86_64-redhat-linux/bits/os_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa51 # Included from line number 2641
+ .uleb128 0x1d # file /usr/include/c++/15/x86_64-redhat-linux/bits/os_defines.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro6
+ .file 30 "/usr/include/features.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x1e # file /usr/include/features.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro7
+ .file 31 "/usr/include/features-time64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x19f # Included from line number 415
+ .uleb128 0x1f # file /usr/include/features-time64.h
+ .byte 0x3 # Start new file
+ .uleb128 0x14 # Included from line number 20
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .file 32 "/usr/include/bits/timesize.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x15 # Included from line number 21
+ .uleb128 0x20 # file /usr/include/bits/timesize.h
+ .byte 0x3 # Start new file
+ .uleb128 0x13 # Included from line number 19
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF638 # The macro: "__TIMESIZE __WORDSIZE"
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF639 # The macro: "__USE_TIME_BITS64 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro8
+ .file 33 "/usr/include/sys/cdefs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x20c # Included from line number 524
+ .uleb128 0x21 # file /usr/include/sys/cdefs.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro9
+ .byte 0x3 # Start new file
+ .uleb128 0x2da # Included from line number 730
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .file 34 "/usr/include/bits/long-double.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2db # Included from line number 731
+ .uleb128 0x22 # file /usr/include/bits/long-double.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF719 # The macro: "__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro10
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21c # At line number 540
+ .long .LASF738 # The macro: "__USE_EXTERN_INLINES 1"
+ .file 35 "/usr/include/gnu/stubs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x224 # Included from line number 548
+ .uleb128 0x23 # file /usr/include/gnu/stubs.h
+ .file 36 "/usr/include/gnu/stubs-64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa # Included from line number 10
+ .uleb128 0x24 # file /usr/include/gnu/stubs-64.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro11
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro12
+ .byte 0x4 # End file
+ .file 37 "/usr/include/c++/15/x86_64-redhat-linux/bits/cpu_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa54 # Included from line number 2644
+ .uleb128 0x25 # file /usr/include/c++/15/x86_64-redhat-linux/bits/cpu_defines.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF753 # The macro: "_GLIBCXX_CPU_DEFINES 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro13
+ .file 38 "/usr/include/c++/15/pstl/pstl_config.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xb2f # Included from line number 2863
+ .uleb128 0x26 # file /usr/include/c++/15/pstl/pstl_config.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro14
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro15
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 39 "/usr/include/c++/15/bits/allocator.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x43 # Included from line number 67
+ .uleb128 0x27 # file /usr/include/c++/15/bits/allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1068 # The macro: "_ALLOCATOR_H 1"
+ .file 40 "/usr/include/c++/15/x86_64-redhat-linux/bits/c++allocator.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2e # Included from line number 46
+ .uleb128 0x28 # file /usr/include/c++/15/x86_64-redhat-linux/bits/c++allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1069 # The macro: "_GLIBCXX_CXX_ALLOCATOR_H 1"
+ .file 41 "/usr/include/c++/15/bits/new_allocator.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x29 # file /usr/include/c++/15/bits/new_allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1070 # The macro: "_STD_NEW_ALLOCATOR_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x22 # Included from line number 34
+ .uleb128 0x17 # file /usr/include/c++/15/new
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1071 # The macro: "_NEW "
+ .file 42 "/usr/include/c++/15/bits/exception.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x2a # file /usr/include/c++/15/bits/exception.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1072 # The macro: "__EXCEPTION_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro16
+ .file 43 "/usr/include/c++/15/bits/version.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x31 # Included from line number 49
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro17
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro18
+ .byte 0x4 # End file
+ .file 44 "/usr/include/c++/15/bits/functexcept.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x2c # file /usr/include/c++/15/bits/functexcept.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1356 # The macro: "_FUNCTEXCEPT_H 1"
+ .file 45 "/usr/include/c++/15/bits/exception_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x2d # file /usr/include/c++/15/bits/exception_defines.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro19
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 46 "/usr/include/c++/15/bits/move.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x2e # file /usr/include/c++/15/bits/move.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1361 # The macro: "_MOVE_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x4 # file /usr/include/c++/15/type_traits
+ .byte 0x7 # Import
+ .long .Ldebug_macro20
+ .byte 0x3 # Start new file
+ .uleb128 0x42 # Included from line number 66
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro21
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb65 # At line number 2917
+ .long .LASF1400 # The macro: "_GLIBCXX_HAS_NESTED_TYPE(_NTYPE) template<typename _Tp, typename = __void_t<>> struct __has_ ##_NTYPE : false_type { }; template<typename _Tp> struct __has_ ##_NTYPE<_Tp, __void_t<typename _Tp::_NTYPE>> : true_type { };"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro22
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro23
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x129 # At line number 297
+ .long .LASF1410 # The macro: "__allocator_base"
+ .byte 0x4 # End file
+ .file 47 "/usr/include/c++/15/bits/stl_tempbuf.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x44 # Included from line number 68
+ .uleb128 0x2f # file /usr/include/c++/15/bits/stl_tempbuf.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1411 # The macro: "_STL_TEMPBUF_H 1"
+ .file 48 "/usr/include/c++/15/bits/stl_construct.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x30 # file /usr/include/c++/15/bits/stl_construct.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1412 # The macro: "_STL_CONSTRUCT_H 1"
+ .file 49 "/usr/include/c++/15/bits/stl_iterator_base_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x31 # file /usr/include/c++/15/bits/stl_iterator_base_types.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro24
+ .byte 0x4 # End file
+ .file 50 "/usr/include/c++/15/bits/stl_iterator_base_funcs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0x32 # file /usr/include/c++/15/bits/stl_iterator_base_funcs.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1416 # The macro: "_STL_ITERATOR_BASE_FUNCS_H 1"
+ .file 51 "/usr/include/c++/15/bits/concept_check.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x42 # Included from line number 66
+ .uleb128 0x33 # file /usr/include/c++/15/bits/concept_check.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro25
+ .byte 0x4 # End file
+ .file 52 "/usr/include/c++/15/debug/assertions.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x43 # Included from line number 67
+ .uleb128 0x34 # file /usr/include/c++/15/debug/assertions.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro26
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 53 "/usr/include/c++/15/bits/stl_pair.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0x35 # file /usr/include/c++/15/bits/stl_pair.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1430 # The macro: "_STL_PAIR_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0xb # file /usr/include/c++/15/bits/utility.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1431 # The macro: "_GLIBCXX_UTILITY_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro27
+ .byte 0x4 # End file
+ .file 54 "/usr/include/c++/15/ext/numeric_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x36 # file /usr/include/c++/15/ext/numeric_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1436 # The macro: "_EXT_NUMERIC_TRAITS 1"
+ .file 55 "/usr/include/c++/15/bits/cpp_type_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x37 # file /usr/include/c++/15/bits/cpp_type_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1437 # The macro: "_CPP_TYPE_TRAITS_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro29
+ .byte 0x4 # End file
+ .file 56 "/usr/include/c++/15/ext/type_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x38 # file /usr/include/c++/15/ext/type_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1440 # The macro: "_EXT_TYPE_TRAITS 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro30
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro31
+ .byte 0x4 # End file
+ .file 57 "/usr/include/c++/15/bits/stl_uninitialized.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x47 # Included from line number 71
+ .uleb128 0x39 # file /usr/include/c++/15/bits/stl_uninitialized.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1452 # The macro: "_STL_UNINITIALIZED_H 1"
+ .file 58 "/usr/include/c++/15/bits/ptr_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x3a # file /usr/include/c++/15/bits/ptr_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1453 # The macro: "_PTR_TRAITS_H 1"
+ .byte 0x4 # End file
+ .file 59 "/usr/include/c++/15/bits/stl_algobase.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x3b # file /usr/include/c++/15/bits/stl_algobase.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1454 # The macro: "_STL_ALGOBASE_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x43 # Included from line number 67
+ .uleb128 0xd # file /usr/include/c++/15/bits/stl_iterator.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro32
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x45 # Included from line number 69
+ .uleb128 0x5 # file /usr/include/c++/15/debug/debug.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro33
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x47 # Included from line number 71
+ .uleb128 0xc # file /usr/include/c++/15/bits/predefined_ops.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1480 # The macro: "_GLIBCXX_PREDEFINED_OPS_H 1"
+ .byte 0x4 # End file
+ .file 60 "/usr/include/c++/15/bit"
+ .byte 0x3 # Start new file
+ .uleb128 0x4c # Included from line number 76
+ .uleb128 0x3c # file /usr/include/c++/15/bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1481 # The macro: "_GLIBCXX_BIT 1"
+ .file 61 "/usr/include/c++/15/concepts"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x3d # file /usr/include/c++/15/concepts
+ .byte 0x7 # Import
+ .long .Ldebug_macro34
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro35
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro36
+ .byte 0x4 # End file
+ .file 62 "/usr/include/c++/15/ext/alloc_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x45 # Included from line number 69
+ .uleb128 0x3e # file /usr/include/c++/15/ext/alloc_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1495 # The macro: "_EXT_ALLOC_TRAITS_H 1"
+ .file 63 "/usr/include/c++/15/bits/alloc_traits.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x3f # file /usr/include/c++/15/bits/alloc_traits.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1496 # The macro: "_ALLOC_TRAITS_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 64 "/usr/include/c++/15/bits/stl_raw_storage_iter.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x48 # Included from line number 72
+ .uleb128 0x40 # file /usr/include/c++/15/bits/stl_raw_storage_iter.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1497 # The macro: "_STL_RAW_STORAGE_ITERATOR_H 1"
+ .byte 0x4 # End file
+ .file 65 "/usr/include/c++/15/bits/align.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x4c # Included from line number 76
+ .uleb128 0x41 # file /usr/include/c++/15/bits/align.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1498 # The macro: "_GLIBCXX_ALIGN_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro28
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x4d # Included from line number 77
+ .uleb128 0x6 # file /usr/include/c++/15/bits/uses_allocator.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1499 # The macro: "_USES_ALLOCATOR_H 1"
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x50 # Included from line number 80
+ .uleb128 0x1 # file /usr/include/c++/15/bits/unique_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1500 # The macro: "_UNIQUE_PTR_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x3 # file /usr/include/c++/15/tuple
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1501 # The macro: "_GLIBCXX_TUPLE 1"
+ .file 66 "/usr/include/c++/15/bits/invoke.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x42 # file /usr/include/c++/15/bits/invoke.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1502 # The macro: "_GLIBCXX_INVOKE_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro37
+ .byte 0x3 # Start new file
+ .uleb128 0x39 # Included from line number 57
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro38
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro39
+ .byte 0x4 # End file
+ .file 67 "/usr/include/c++/15/bits/stl_function.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x43 # file /usr/include/c++/15/bits/stl_function.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1516 # The macro: "_STL_FUNCTION_H 1"
+ .file 68 "/usr/include/c++/15/backward/binders.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5a1 # Included from line number 1441
+ .uleb128 0x44 # file /usr/include/c++/15/backward/binders.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1517 # The macro: "_BACKWARD_BINDERS_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 69 "/usr/include/c++/15/bits/functional_hash.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x45 # file /usr/include/c++/15/bits/functional_hash.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1518 # The macro: "_FUNCTIONAL_HASH_H 1"
+ .file 70 "/usr/include/c++/15/bits/hash_bytes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x46 # file /usr/include/c++/15/bits/hash_bytes.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1519 # The macro: "_HASH_BYTES_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro40
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 71 "/usr/include/c++/15/bits/shared_ptr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x52 # Included from line number 82
+ .uleb128 0x47 # file /usr/include/c++/15/bits/shared_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1522 # The macro: "_SHARED_PTR_H 1"
+ .file 72 "/usr/include/c++/15/iosfwd"
+ .byte 0x3 # Start new file
+ .uleb128 0x34 # Included from line number 52
+ .uleb128 0x48 # file /usr/include/c++/15/iosfwd
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1523 # The macro: "_GLIBCXX_IOSFWD 1"
+ .file 73 "/usr/include/c++/15/bits/requires_hosted.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x49 # file /usr/include/c++/15/bits/requires_hosted.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1524 # The macro: "_REQUIRES_FREESTANDING_H 1"
+ .byte 0x4 # End file
+ .file 74 "/usr/include/c++/15/bits/stringfwd.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x4a # file /usr/include/c++/15/bits/stringfwd.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1525 # The macro: "_STRINGFWD_H 1"
+ .byte 0x4 # End file
+ .file 75 "/usr/include/c++/15/bits/postypes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2c # Included from line number 44
+ .uleb128 0x4b # file /usr/include/c++/15/bits/postypes.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1526 # The macro: "_GLIBCXX_POSTYPES_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x2a # Included from line number 42
+ .uleb128 0x8 # file /usr/include/c++/15/cwchar
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1527 # The macro: "_GLIBCXX_CWCHAR 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x31 # Included from line number 49
+ .uleb128 0x14 # file /usr/include/wchar.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro41
+ .file 76 "/usr/include/bits/libc-header-start.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1b # Included from line number 27
+ .uleb128 0x4c # file /usr/include/bits/libc-header-start.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro42
+ .byte 0x4 # End file
+ .file 77 "/usr/include/bits/floatn.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1e # Included from line number 30
+ .uleb128 0x4d # file /usr/include/bits/floatn.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro43
+ .file 78 "/usr/include/bits/floatn-common.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x83 # Included from line number 131
+ .uleb128 0x4e # file /usr/include/bits/floatn-common.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1552 # The macro: "_BITS_FLOATN_COMMON_H "
+ .byte 0x3 # Start new file
+ .uleb128 0x18 # Included from line number 24
+ .uleb128 0x22 # file /usr/include/bits/long-double.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF719 # The macro: "__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro44
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro45
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro46
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1617 # The macro: "__need___va_list "
+ .file 79 "/usr/lib/gcc/x86_64-redhat-linux/15/include/stdarg.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x4f # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stdarg.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro47
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1620 # The macro: "_VA_LIST_DEFINED "
+ .file 80 "/usr/include/bits/wchar.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x33 # Included from line number 51
+ .uleb128 0x50 # file /usr/include/bits/wchar.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro48
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x34 # Included from line number 52
+ .uleb128 0x10 # file /usr/include/bits/types/wint_t.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro49
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x35 # Included from line number 53
+ .uleb128 0x12 # file /usr/include/bits/types/mbstate_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1626 # The macro: "__mbstate_t_defined 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x4 # Included from line number 4
+ .uleb128 0x11 # file /usr/include/bits/types/__mbstate_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1627 # The macro: "____mbstate_t_defined 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x36 # Included from line number 54
+ .uleb128 0x13 # file /usr/include/bits/types/__FILE.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1628 # The macro: "____FILE_defined 1"
+ .byte 0x4 # End file
+ .file 81 "/usr/include/bits/types/FILE.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x39 # Included from line number 57
+ .uleb128 0x51 # file /usr/include/bits/types/FILE.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1629 # The macro: "__FILE_defined 1"
+ .byte 0x4 # End file
+ .file 82 "/usr/include/bits/types/locale_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3c # Included from line number 60
+ .uleb128 0x52 # file /usr/include/bits/types/locale_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1630 # The macro: "_BITS_TYPES_LOCALE_T_H 1"
+ .file 83 "/usr/include/bits/types/__locale_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x16 # Included from line number 22
+ .uleb128 0x53 # file /usr/include/bits/types/__locale_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1631 # The macro: "_BITS_TYPES___LOCALE_T_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro50
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro51
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x35 # Included from line number 53
+ .uleb128 0xa # file /usr/include/c++/15/bits/shared_ptr_base.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1696 # The macro: "_SHARED_PTR_BASE_H 1"
+ .file 84 "/usr/include/c++/15/typeinfo"
+ .byte 0x3 # Start new file
+ .uleb128 0x34 # Included from line number 52
+ .uleb128 0x54 # file /usr/include/c++/15/typeinfo
+ .byte 0x7 # Import
+ .long .Ldebug_macro52
+ .byte 0x3 # Start new file
+ .uleb128 0x2a # Included from line number 42
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro53
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro54
+ .byte 0x4 # End file
+ .file 85 "/usr/include/c++/15/bits/allocated_ptr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x35 # Included from line number 53
+ .uleb128 0x55 # file /usr/include/c++/15/bits/allocated_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1701 # The macro: "_ALLOCATED_PTR_H 1"
+ .byte 0x4 # End file
+ .file 86 "/usr/include/c++/15/bits/refwrap.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x39 # Included from line number 57
+ .uleb128 0x56 # file /usr/include/c++/15/bits/refwrap.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro55
+ .byte 0x4 # End file
+ .file 87 "/usr/include/c++/15/ext/aligned_buffer.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3c # Included from line number 60
+ .uleb128 0x57 # file /usr/include/c++/15/ext/aligned_buffer.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1707 # The macro: "_ALIGNED_BUFFER_H 1"
+ .byte 0x4 # End file
+ .file 88 "/usr/include/c++/15/ext/atomicity.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3d # Included from line number 61
+ .uleb128 0x58 # file /usr/include/c++/15/ext/atomicity.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1708 # The macro: "_GLIBCXX_ATOMICITY_H 1"
+ .file 89 "/usr/include/c++/15/x86_64-redhat-linux/bits/gthr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x59 # file /usr/include/c++/15/x86_64-redhat-linux/bits/gthr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1709 # The macro: "_GLIBCXX_GCC_GTHR_H "
+ .file 90 "/usr/include/c++/15/x86_64-redhat-linux/bits/gthr-default.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x9d # Included from line number 157
+ .uleb128 0x5a # file /usr/include/c++/15/x86_64-redhat-linux/bits/gthr-default.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro56
+ .file 91 "/usr/include/pthread.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x5b # file /usr/include/pthread.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF1713 # The macro: "_PTHREAD_H 1"
+ .file 92 "/usr/include/sched.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x16 # Included from line number 22
+ .uleb128 0x5c # file /usr/include/sched.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1714 # The macro: "_SCHED_H 1"
+ .file 93 "/usr/include/bits/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x19 # Included from line number 25
+ .uleb128 0x5d # file /usr/include/bits/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1715 # The macro: "_BITS_TYPES_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x1b # Included from line number 27
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x1c # Included from line number 28
+ .uleb128 0x20 # file /usr/include/bits/timesize.h
+ .byte 0x3 # Start new file
+ .uleb128 0x13 # Included from line number 19
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF638 # The macro: "__TIMESIZE __WORDSIZE"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro57
+ .file 94 "/usr/include/bits/typesizes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x8d # Included from line number 141
+ .uleb128 0x5e # file /usr/include/bits/typesizes.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro58
+ .byte 0x4 # End file
+ .file 95 "/usr/include/bits/time64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x8e # Included from line number 142
+ .uleb128 0x5f # file /usr/include/bits/time64.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro59
+ .byte 0x4 # End file
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1775 # The macro: "__STD_TYPE"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro60
+ .byte 0x3 # Start new file
+ .uleb128 0x1d # Included from line number 29
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro61
+ .byte 0x4 # End file
+ .file 96 "/usr/include/bits/types/time_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1f # Included from line number 31
+ .uleb128 0x60 # file /usr/include/bits/types/time_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1776 # The macro: "__time_t_defined 1"
+ .byte 0x4 # End file
+ .file 97 "/usr/include/bits/types/struct_timespec.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x20 # Included from line number 32
+ .uleb128 0x61 # file /usr/include/bits/types/struct_timespec.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1777 # The macro: "_STRUCT_TIMESPEC 1"
+ .file 98 "/usr/include/bits/endian.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x6 # Included from line number 6
+ .uleb128 0x62 # file /usr/include/bits/endian.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro62
+ .file 99 "/usr/include/bits/endianness.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x23 # Included from line number 35
+ .uleb128 0x63 # file /usr/include/bits/endianness.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro63
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro64
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF1786 # The macro: "__pid_t_defined "
+ .file 100 "/usr/include/bits/sched.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2b # Included from line number 43
+ .uleb128 0x64 # file /usr/include/bits/sched.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro65
+ .file 101 "/usr/include/linux/sched/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x3f # Included from line number 63
+ .uleb128 0x65 # file /usr/include/linux/sched/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1808 # The macro: "_LINUX_SCHED_TYPES_H "
+ .file 102 "/usr/include/linux/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5 # Included from line number 5
+ .uleb128 0x66 # file /usr/include/linux/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1809 # The macro: "_LINUX_TYPES_H "
+ .file 103 "/usr/include/asm/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5 # Included from line number 5
+ .uleb128 0x67 # file /usr/include/asm/types.h
+ .file 104 "/usr/include/asm-generic/types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1 # Included from line number 1
+ .uleb128 0x68 # file /usr/include/asm-generic/types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1810 # The macro: "_ASM_GENERIC_TYPES_H "
+ .file 105 "/usr/include/asm-generic/int-ll64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x7 # Included from line number 7
+ .uleb128 0x69 # file /usr/include/asm-generic/int-ll64.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa # At line number 10
+ .long .LASF1811 # The macro: "_ASM_GENERIC_INT_LL64_H "
+ .file 106 "/usr/include/asm/bitsperlong.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xc # Included from line number 12
+ .uleb128 0x6a # file /usr/include/asm/bitsperlong.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro66
+ .file 107 "/usr/include/asm-generic/bitsperlong.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xb # Included from line number 11
+ .uleb128 0x6b # file /usr/include/asm-generic/bitsperlong.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro67
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 108 "/usr/include/linux/posix_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x9 # Included from line number 9
+ .uleb128 0x6c # file /usr/include/linux/posix_types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1816 # The macro: "_LINUX_POSIX_TYPES_H "
+ .file 109 "/usr/include/linux/stddef.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x5 # Included from line number 5
+ .uleb128 0x6d # file /usr/include/linux/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro68
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro69
+ .file 110 "/usr/include/asm/posix_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x6e # file /usr/include/asm/posix_types.h
+ .file 111 "/usr/include/asm/posix_types_64.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x7 # Included from line number 7
+ .uleb128 0x6f # file /usr/include/asm/posix_types_64.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro70
+ .file 112 "/usr/include/asm-generic/posix_types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x12 # Included from line number 18
+ .uleb128 0x70 # file /usr/include/asm-generic/posix_types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1828 # The macro: "__ASM_GENERIC_POSIX_TYPES_H "
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro71
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro72
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro73
+ .file 113 "/usr/include/bits/types/struct_sched_param.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x7e # Included from line number 126
+ .uleb128 0x71 # file /usr/include/bits/types/struct_sched_param.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1864 # The macro: "_BITS_TYPES_STRUCT_SCHED_PARAM 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 114 "/usr/include/bits/cpu-set.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2c # Included from line number 44
+ .uleb128 0x72 # file /usr/include/bits/cpu-set.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro74
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro75
+ .byte 0x4 # End file
+ .file 115 "/usr/include/time.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x17 # Included from line number 23
+ .uleb128 0x73 # file /usr/include/time.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro76
+ .byte 0x3 # Start new file
+ .uleb128 0x1d # Included from line number 29
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro61
+ .byte 0x4 # End file
+ .file 116 "/usr/include/bits/time.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x74 # file /usr/include/bits/time.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro77
+ .file 117 "/usr/include/bits/timex.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x49 # Included from line number 73
+ .uleb128 0x75 # file /usr/include/bits/timex.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF1919 # The macro: "_BITS_TIMEX_H 1"
+ .file 118 "/usr/include/bits/types/struct_timeval.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x16 # Included from line number 22
+ .uleb128 0x76 # file /usr/include/bits/types/struct_timeval.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1920 # The macro: "__timeval_defined 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro78
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 119 "/usr/include/bits/types/clock_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x25 # Included from line number 37
+ .uleb128 0x77 # file /usr/include/bits/types/clock_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1962 # The macro: "__clock_t_defined 1"
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x15 # file /usr/include/bits/types/struct_tm.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1963 # The macro: "__struct_tm_defined 1"
+ .byte 0x4 # End file
+ .file 120 "/usr/include/bits/types/clockid_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2e # Included from line number 46
+ .uleb128 0x78 # file /usr/include/bits/types/clockid_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1964 # The macro: "__clockid_t_defined 1"
+ .byte 0x4 # End file
+ .file 121 "/usr/include/bits/types/timer_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2f # Included from line number 47
+ .uleb128 0x79 # file /usr/include/bits/types/timer_t.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1965 # The macro: "__timer_t_defined 1"
+ .byte 0x4 # End file
+ .file 122 "/usr/include/bits/types/struct_itimerspec.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x30 # Included from line number 48
+ .uleb128 0x7a # file /usr/include/bits/types/struct_itimerspec.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1966 # The macro: "__itimerspec_defined 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro79
+ .byte 0x4 # End file
+ .file 123 "/usr/include/bits/pthreadtypes.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1a # Included from line number 26
+ .uleb128 0x7b # file /usr/include/bits/pthreadtypes.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1969 # The macro: "_BITS_PTHREADTYPES_COMMON_H 1"
+ .file 124 "/usr/include/bits/thread-shared-types.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x17 # Included from line number 23
+ .uleb128 0x7c # file /usr/include/bits/thread-shared-types.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1970 # The macro: "_THREAD_SHARED_TYPES_H 1"
+ .file 125 "/usr/include/bits/pthreadtypes-arch.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2c # Included from line number 44
+ .uleb128 0x7d # file /usr/include/bits/pthreadtypes-arch.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF1971 # The macro: "_BITS_PTHREADTYPES_ARCH_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x15 # Included from line number 21
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro80
+ .byte 0x4 # End file
+ .file 126 "/usr/include/bits/atomic_wide_counter.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x2e # Included from line number 46
+ .uleb128 0x7e # file /usr/include/bits/atomic_wide_counter.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1983 # The macro: "_BITS_ATOMIC_WIDE_COUNTER_H "
+ .byte 0x4 # End file
+ .file 127 "/usr/include/bits/struct_mutex.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x4c # Included from line number 76
+ .uleb128 0x7f # file /usr/include/bits/struct_mutex.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro81
+ .byte 0x4 # End file
+ .file 128 "/usr/include/bits/struct_rwlock.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x59 # Included from line number 89
+ .uleb128 0x80 # file /usr/include/bits/struct_rwlock.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro82
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1990 # The macro: "__ONCE_FLAG_INIT { 0 }"
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1991 # The macro: "__have_pthread_attr_t 1"
+ .byte 0x4 # End file
+ .file 129 "/usr/include/bits/setjmp.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1b # Included from line number 27
+ .uleb128 0x81 # file /usr/include/bits/setjmp.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1992 # The macro: "_BITS_SETJMP_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x1a # Included from line number 26
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x1c # Included from line number 28
+ .uleb128 0x1c # file /usr/include/bits/wordsize.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro4
+ .byte 0x4 # End file
+ .file 130 "/usr/include/bits/types/__sigset_t.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1e # Included from line number 30
+ .uleb128 0x82 # file /usr/include/bits/types/__sigset_t.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro83
+ .byte 0x4 # End file
+ .file 131 "/usr/include/bits/types/struct___jmp_buf_tag.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x1f # Included from line number 31
+ .uleb128 0x83 # file /usr/include/bits/types/struct___jmp_buf_tag.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1995 # The macro: "__jmp_buf_tag_defined 1"
+ .byte 0x4 # End file
+ .file 132 "/usr/include/bits/pthread_stack_min-dynamic.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x84 # file /usr/include/bits/pthread_stack_min-dynamic.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro84
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro85
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro86
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 133 "/usr/include/c++/15/x86_64-redhat-linux/bits/atomic_word.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x26 # Included from line number 38
+ .uleb128 0x85 # file /usr/include/c++/15/x86_64-redhat-linux/bits/atomic_word.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro87
+ .byte 0x4 # End file
+ .file 134 "/usr/include/sys/single_threaded.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0x86 # file /usr/include/sys/single_threaded.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF2043 # The macro: "_SYS_SINGLE_THREADED_H "
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0x3e # Included from line number 62
+ .uleb128 0x18 # file /usr/include/c++/15/ext/concurrence.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF2044 # The macro: "_CONCURRENCE_H 1"
+ .file 135 "/usr/include/c++/15/exception"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x87 # file /usr/include/c++/15/exception
+ .byte 0x7 # Import
+ .long .Ldebug_macro88
+ .byte 0x3 # Start new file
+ .uleb128 0x29 # Included from line number 41
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro89
+ .byte 0x4 # End file
+ .byte 0x3 # Start new file
+ .uleb128 0xa8 # Included from line number 168
+ .uleb128 0x9 # file /usr/include/c++/15/bits/exception_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF2048 # The macro: "_EXCEPTION_PTR_H "
+ .file 136 "/usr/include/c++/15/bits/cxxabi_init_exception.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x24 # Included from line number 36
+ .uleb128 0x88 # file /usr/include/c++/15/bits/cxxabi_init_exception.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF2049 # The macro: "_CXXABI_INIT_EXCEPTION_H 1"
+ .byte 0x3 # Start new file
+ .uleb128 0x28 # Included from line number 40
+ .uleb128 0xe # file /usr/lib/gcc/x86_64-redhat-linux/15/include/stddef.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro90
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro91
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro92
+ .byte 0x4 # End file
+ .file 137 "/usr/include/c++/15/bits/nested_exception.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xa9 # Included from line number 169
+ .uleb128 0x89 # file /usr/include/c++/15/bits/nested_exception.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2072 # The macro: "_GLIBCXX_NESTED_EXCEPTION_H 1"
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .file 138 "/usr/include/c++/15/bits/shared_ptr_atomic.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x53 # Included from line number 83
+ .uleb128 0x8a # file /usr/include/c++/15/bits/shared_ptr_atomic.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2073 # The macro: "_SHARED_PTR_ATOMIC_H 1"
+ .file 139 "/usr/include/c++/15/bits/atomic_base.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x21 # Included from line number 33
+ .uleb128 0x8b # file /usr/include/c++/15/bits/atomic_base.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2074 # The macro: "_GLIBCXX_ATOMIC_BASE_H 1"
+ .file 140 "/usr/include/c++/15/bits/atomic_lockfree_defines.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x27 # Included from line number 39
+ .uleb128 0x8c # file /usr/include/c++/15/bits/atomic_lockfree_defines.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro93
+ .byte 0x4 # End file
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF2086 # The macro: "_GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__))"
+ .byte 0x3 # Start new file
+ .uleb128 0x32 # Included from line number 50
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro94
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro95
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro96
+ .byte 0x4 # End file
+ .file 141 "/usr/include/c++/15/backward/auto_ptr.h"
+ .byte 0x3 # Start new file
+ .uleb128 0x58 # Included from line number 88
+ .uleb128 0x8d # file /usr/include/c++/15/backward/auto_ptr.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2098 # The macro: "_BACKWARD_AUTO_PTR_H 1"
+ .byte 0x4 # End file
+ .byte 0x7 # Import
+ .long .Ldebug_macro97
+ .byte 0x3 # Start new file
+ .uleb128 0x75 # Included from line number 117
+ .uleb128 0x2b # file /usr/include/c++/15/bits/version.h
+ .byte 0x7 # Import
+ .long .Ldebug_macro98
+ .byte 0x4 # End file
+ .file 142 "/usr/include/c++/15/pstl/glue_memory_defs.h"
+ .byte 0x3 # Start new file
+ .uleb128 0xad # Included from line number 173
+ .uleb128 0x8e # file /usr/include/c++/15/pstl/glue_memory_defs.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF2124 # The macro: "_PSTL_GLUE_MEMORY_DEFS_H "
+ .byte 0x3 # Start new file
+ .uleb128 0xd # Included from line number 13
+ .uleb128 0x16 # file /usr/include/c++/15/pstl/execution_defs.h
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF2125 # The macro: "_PSTL_EXECUTION_POLICY_DEFS_H "
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0x4 # End file
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.0.6d6edf9739a27cf28f5b627df695fc9e,comdat
+.Ldebug_macro2:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF2 # The macro: "__STDC__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF3 # The macro: "__cplusplus 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF4 # The macro: "__STDC_UTF_16__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF5 # The macro: "__STDC_UTF_32__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF6 # The macro: "__STDC_HOSTED__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF7 # The macro: "__STDC_EMBED_NOT_FOUND__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF8 # The macro: "__STDC_EMBED_FOUND__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF9 # The macro: "__STDC_EMBED_EMPTY__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF10 # The macro: "__GNUC__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF11 # The macro: "__GNUC_MINOR__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF12 # The macro: "__GNUC_PATCHLEVEL__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF13 # The macro: "__VERSION__ "15.1.1 20250425 (Red Hat 15.1.1-1)""
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF14 # The macro: "__GNUC_RH_RELEASE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF15 # The macro: "__ATOMIC_RELAXED 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF16 # The macro: "__ATOMIC_SEQ_CST 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF17 # The macro: "__ATOMIC_ACQUIRE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF18 # The macro: "__ATOMIC_RELEASE 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF19 # The macro: "__ATOMIC_ACQ_REL 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF20 # The macro: "__ATOMIC_CONSUME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF21 # The macro: "__OPTIMIZE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF22 # The macro: "__FINITE_MATH_ONLY__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF23 # The macro: "_LP64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF24 # The macro: "__LP64__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF25 # The macro: "__SIZEOF_INT__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF26 # The macro: "__SIZEOF_LONG__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF27 # The macro: "__SIZEOF_LONG_LONG__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF28 # The macro: "__SIZEOF_SHORT__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF29 # The macro: "__SIZEOF_FLOAT__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF30 # The macro: "__SIZEOF_DOUBLE__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF31 # The macro: "__SIZEOF_LONG_DOUBLE__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF32 # The macro: "__SIZEOF_SIZE_T__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF33 # The macro: "__CHAR_BIT__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF34 # The macro: "__BIGGEST_ALIGNMENT__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF35 # The macro: "__ORDER_LITTLE_ENDIAN__ 1234"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF36 # The macro: "__ORDER_BIG_ENDIAN__ 4321"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF37 # The macro: "__ORDER_PDP_ENDIAN__ 3412"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF38 # The macro: "__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF39 # The macro: "__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF40 # The macro: "__SIZEOF_POINTER__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF41 # The macro: "__GNUC_EXECUTION_CHARSET_NAME "UTF-8""
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF42 # The macro: "__GNUC_WIDE_EXECUTION_CHARSET_NAME "UTF-32LE""
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF43 # The macro: "__GNUG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF44 # The macro: "__SIZE_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF45 # The macro: "__PTRDIFF_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF46 # The macro: "__WCHAR_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF47 # The macro: "__WINT_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF48 # The macro: "__INTMAX_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF49 # The macro: "__UINTMAX_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF50 # The macro: "__CHAR16_TYPE__ short unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF51 # The macro: "__CHAR32_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF52 # The macro: "__SIG_ATOMIC_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF53 # The macro: "__INT8_TYPE__ signed char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF54 # The macro: "__INT16_TYPE__ short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF55 # The macro: "__INT32_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF56 # The macro: "__INT64_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF57 # The macro: "__UINT8_TYPE__ unsigned char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF58 # The macro: "__UINT16_TYPE__ short unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF59 # The macro: "__UINT32_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF60 # The macro: "__UINT64_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF61 # The macro: "__INT_LEAST8_TYPE__ signed char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF62 # The macro: "__INT_LEAST16_TYPE__ short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF63 # The macro: "__INT_LEAST32_TYPE__ int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF64 # The macro: "__INT_LEAST64_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF65 # The macro: "__UINT_LEAST8_TYPE__ unsigned char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF66 # The macro: "__UINT_LEAST16_TYPE__ short unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF67 # The macro: "__UINT_LEAST32_TYPE__ unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF68 # The macro: "__UINT_LEAST64_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF69 # The macro: "__INT_FAST8_TYPE__ signed char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF70 # The macro: "__INT_FAST16_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF71 # The macro: "__INT_FAST32_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF72 # The macro: "__INT_FAST64_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF73 # The macro: "__UINT_FAST8_TYPE__ unsigned char"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF74 # The macro: "__UINT_FAST16_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF75 # The macro: "__UINT_FAST32_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF76 # The macro: "__UINT_FAST64_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF77 # The macro: "__INTPTR_TYPE__ long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF78 # The macro: "__UINTPTR_TYPE__ long unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF79 # The macro: "__GXX_WEAK__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF80 # The macro: "__DEPRECATED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF81 # The macro: "__GXX_RTTI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF82 # The macro: "__cpp_rtti 199711L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF83 # The macro: "__GXX_EXPERIMENTAL_CXX0X__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF84 # The macro: "__GXX_CONSTEXPR_ASM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF85 # The macro: "__cpp_binary_literals 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF86 # The macro: "__cpp_hex_float 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF87 # The macro: "__cpp_runtime_arrays 198712L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF88 # The macro: "__cpp_raw_strings 200710L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF89 # The macro: "__cpp_unicode_literals 200710L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF90 # The macro: "__cpp_user_defined_literals 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF91 # The macro: "__cpp_lambdas 200907L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF92 # The macro: "__cpp_decltype 200707L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF93 # The macro: "__cpp_attributes 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF94 # The macro: "__cpp_rvalue_reference 200610L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF95 # The macro: "__cpp_rvalue_references 200610L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF96 # The macro: "__cpp_variadic_templates 200704L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF97 # The macro: "__cpp_initializer_lists 200806L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF98 # The macro: "__cpp_delegating_constructors 200604L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF99 # The macro: "__cpp_nsdmi 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF100 # The macro: "__cpp_inheriting_constructors 201511L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF101 # The macro: "__cpp_ref_qualifiers 200710L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF102 # The macro: "__cpp_alias_templates 200704L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF103 # The macro: "__cpp_return_type_deduction 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF104 # The macro: "__cpp_init_captures 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF105 # The macro: "__cpp_generic_lambdas 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF106 # The macro: "__cpp_decltype_auto 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF107 # The macro: "__cpp_aggregate_nsdmi 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF108 # The macro: "__cpp_variable_templates 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF109 # The macro: "__cpp_digit_separators 201309L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF110 # The macro: "__cpp_unicode_characters 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF111 # The macro: "__cpp_static_assert 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF112 # The macro: "__cpp_namespace_attributes 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF113 # The macro: "__cpp_enumerator_attributes 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF114 # The macro: "__cpp_nested_namespace_definitions 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF115 # The macro: "__cpp_fold_expressions 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF116 # The macro: "__cpp_nontype_template_args 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF117 # The macro: "__cpp_range_based_for 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF118 # The macro: "__cpp_constexpr 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF119 # The macro: "__cpp_if_constexpr 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF120 # The macro: "__cpp_capture_star_this 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF121 # The macro: "__cpp_inline_variables 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF122 # The macro: "__cpp_aggregate_bases 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF123 # The macro: "__cpp_deduction_guides 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF124 # The macro: "__cpp_noexcept_function_type 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF125 # The macro: "__cpp_template_auto 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF126 # The macro: "__cpp_structured_bindings 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF127 # The macro: "__cpp_variadic_using 201611L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF128 # The macro: "__cpp_guaranteed_copy_elision 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF129 # The macro: "__cpp_nontype_template_parameter_auto 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF130 # The macro: "__cpp_sized_deallocation 201309L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF131 # The macro: "__cpp_aligned_new 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF132 # The macro: "__STDCPP_DEFAULT_NEW_ALIGNMENT__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF133 # The macro: "__cpp_template_template_args 201611L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF134 # The macro: "__cpp_threadsafe_static_init 200806L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF135 # The macro: "__STDCPP_THREADS__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF136 # The macro: "__EXCEPTIONS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF137 # The macro: "__cpp_exceptions 199711L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF138 # The macro: "__GXX_ABI_VERSION 1020"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF139 # The macro: "__SCHAR_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF140 # The macro: "__SHRT_MAX__ 0x7fff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF141 # The macro: "__INT_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF142 # The macro: "__LONG_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF143 # The macro: "__LONG_LONG_MAX__ 0x7fffffffffffffffLL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF144 # The macro: "__WCHAR_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF145 # The macro: "__WCHAR_MIN__ (-__WCHAR_MAX__ - 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF146 # The macro: "__WINT_MAX__ 0xffffffffU"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF147 # The macro: "__WINT_MIN__ 0U"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF148 # The macro: "__PTRDIFF_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF149 # The macro: "__SIZE_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF150 # The macro: "__SCHAR_WIDTH__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF151 # The macro: "__SHRT_WIDTH__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF152 # The macro: "__INT_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF153 # The macro: "__LONG_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF154 # The macro: "__LONG_LONG_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF155 # The macro: "__WCHAR_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF156 # The macro: "__WINT_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF157 # The macro: "__PTRDIFF_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF158 # The macro: "__SIZE_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF159 # The macro: "__GLIBCXX_TYPE_INT_N_0 __int128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF160 # The macro: "__GLIBCXX_BITSIZE_INT_N_0 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF161 # The macro: "__INTMAX_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF162 # The macro: "__INTMAX_C(c) c ## L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF163 # The macro: "__UINTMAX_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF164 # The macro: "__UINTMAX_C(c) c ## UL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF165 # The macro: "__INTMAX_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF166 # The macro: "__SIG_ATOMIC_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF167 # The macro: "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF168 # The macro: "__SIG_ATOMIC_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF169 # The macro: "__INT8_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF170 # The macro: "__INT16_MAX__ 0x7fff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF171 # The macro: "__INT32_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF172 # The macro: "__INT64_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF173 # The macro: "__UINT8_MAX__ 0xff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF174 # The macro: "__UINT16_MAX__ 0xffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF175 # The macro: "__UINT32_MAX__ 0xffffffffU"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF176 # The macro: "__UINT64_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF177 # The macro: "__INT_LEAST8_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF178 # The macro: "__INT8_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF179 # The macro: "__INT_LEAST8_WIDTH__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF180 # The macro: "__INT_LEAST16_MAX__ 0x7fff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF181 # The macro: "__INT16_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF182 # The macro: "__INT_LEAST16_WIDTH__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF183 # The macro: "__INT_LEAST32_MAX__ 0x7fffffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF184 # The macro: "__INT32_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF185 # The macro: "__INT_LEAST32_WIDTH__ 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF186 # The macro: "__INT_LEAST64_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF187 # The macro: "__INT64_C(c) c ## L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF188 # The macro: "__INT_LEAST64_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF189 # The macro: "__UINT_LEAST8_MAX__ 0xff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF190 # The macro: "__UINT8_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF191 # The macro: "__UINT_LEAST16_MAX__ 0xffff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF192 # The macro: "__UINT16_C(c) c"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF193 # The macro: "__UINT_LEAST32_MAX__ 0xffffffffU"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF194 # The macro: "__UINT32_C(c) c ## U"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF195 # The macro: "__UINT_LEAST64_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF196 # The macro: "__UINT64_C(c) c ## UL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF197 # The macro: "__INT_FAST8_MAX__ 0x7f"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF198 # The macro: "__INT_FAST8_WIDTH__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF199 # The macro: "__INT_FAST16_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF200 # The macro: "__INT_FAST16_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF201 # The macro: "__INT_FAST32_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF202 # The macro: "__INT_FAST32_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF203 # The macro: "__INT_FAST64_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF204 # The macro: "__INT_FAST64_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF205 # The macro: "__UINT_FAST8_MAX__ 0xff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF206 # The macro: "__UINT_FAST16_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF207 # The macro: "__UINT_FAST32_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF208 # The macro: "__UINT_FAST64_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF209 # The macro: "__INTPTR_MAX__ 0x7fffffffffffffffL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF210 # The macro: "__INTPTR_WIDTH__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF211 # The macro: "__UINTPTR_MAX__ 0xffffffffffffffffUL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF212 # The macro: "__GCC_IEC_559 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF213 # The macro: "__GCC_IEC_559_COMPLEX 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF214 # The macro: "__FLT_EVAL_METHOD__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF215 # The macro: "__FLT_EVAL_METHOD_TS_18661_3__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF216 # The macro: "__DEC_EVAL_METHOD__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF217 # The macro: "__FLT_RADIX__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF218 # The macro: "__FLT_MANT_DIG__ 24"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF219 # The macro: "__FLT_DIG__ 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF220 # The macro: "__FLT_MIN_EXP__ (-125)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF221 # The macro: "__FLT_MIN_10_EXP__ (-37)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF222 # The macro: "__FLT_MAX_EXP__ 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF223 # The macro: "__FLT_MAX_10_EXP__ 38"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF224 # The macro: "__FLT_DECIMAL_DIG__ 9"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF225 # The macro: "__FLT_MAX__ 3.40282346638528859811704183484516925e+38F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF226 # The macro: "__FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF227 # The macro: "__FLT_MIN__ 1.17549435082228750796873653722224568e-38F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF228 # The macro: "__FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF229 # The macro: "__FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF230 # The macro: "__FLT_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF231 # The macro: "__FLT_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF232 # The macro: "__FLT_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF233 # The macro: "__FLT_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF234 # The macro: "__DBL_MANT_DIG__ 53"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF235 # The macro: "__DBL_DIG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF236 # The macro: "__DBL_MIN_EXP__ (-1021)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF237 # The macro: "__DBL_MIN_10_EXP__ (-307)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF238 # The macro: "__DBL_MAX_EXP__ 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF239 # The macro: "__DBL_MAX_10_EXP__ 308"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF240 # The macro: "__DBL_DECIMAL_DIG__ 17"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF241 # The macro: "__DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF242 # The macro: "__DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF243 # The macro: "__DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF244 # The macro: "__DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF245 # The macro: "__DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF246 # The macro: "__DBL_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF247 # The macro: "__DBL_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF248 # The macro: "__DBL_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF249 # The macro: "__DBL_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF250 # The macro: "__LDBL_MANT_DIG__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF251 # The macro: "__LDBL_DIG__ 18"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF252 # The macro: "__LDBL_MIN_EXP__ (-16381)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF253 # The macro: "__LDBL_MIN_10_EXP__ (-4931)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF254 # The macro: "__LDBL_MAX_EXP__ 16384"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF255 # The macro: "__LDBL_MAX_10_EXP__ 4932"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF256 # The macro: "__DECIMAL_DIG__ 21"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF257 # The macro: "__LDBL_DECIMAL_DIG__ 21"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF258 # The macro: "__LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF259 # The macro: "__LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF260 # The macro: "__LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF261 # The macro: "__LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF262 # The macro: "__LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF263 # The macro: "__LDBL_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF264 # The macro: "__LDBL_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF265 # The macro: "__LDBL_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF266 # The macro: "__LDBL_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF267 # The macro: "__FLT16_MANT_DIG__ 11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF268 # The macro: "__FLT16_DIG__ 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF269 # The macro: "__FLT16_MIN_EXP__ (-13)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF270 # The macro: "__FLT16_MIN_10_EXP__ (-4)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF271 # The macro: "__FLT16_MAX_EXP__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF272 # The macro: "__FLT16_MAX_10_EXP__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF273 # The macro: "__FLT16_DECIMAL_DIG__ 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF274 # The macro: "__FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF275 # The macro: "__FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF276 # The macro: "__FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF277 # The macro: "__FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF278 # The macro: "__FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF279 # The macro: "__FLT16_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF280 # The macro: "__FLT16_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF281 # The macro: "__FLT16_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF282 # The macro: "__FLT16_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF283 # The macro: "__FLT32_MANT_DIG__ 24"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF284 # The macro: "__FLT32_DIG__ 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF285 # The macro: "__FLT32_MIN_EXP__ (-125)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF286 # The macro: "__FLT32_MIN_10_EXP__ (-37)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF287 # The macro: "__FLT32_MAX_EXP__ 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF288 # The macro: "__FLT32_MAX_10_EXP__ 38"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF289 # The macro: "__FLT32_DECIMAL_DIG__ 9"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF290 # The macro: "__FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF291 # The macro: "__FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF292 # The macro: "__FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF293 # The macro: "__FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF294 # The macro: "__FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF295 # The macro: "__FLT32_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF296 # The macro: "__FLT32_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF297 # The macro: "__FLT32_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF298 # The macro: "__FLT32_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF299 # The macro: "__FLT64_MANT_DIG__ 53"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF300 # The macro: "__FLT64_DIG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF301 # The macro: "__FLT64_MIN_EXP__ (-1021)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF302 # The macro: "__FLT64_MIN_10_EXP__ (-307)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF303 # The macro: "__FLT64_MAX_EXP__ 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF304 # The macro: "__FLT64_MAX_10_EXP__ 308"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF305 # The macro: "__FLT64_DECIMAL_DIG__ 17"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF306 # The macro: "__FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF307 # The macro: "__FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF308 # The macro: "__FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF309 # The macro: "__FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF310 # The macro: "__FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF311 # The macro: "__FLT64_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF312 # The macro: "__FLT64_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF313 # The macro: "__FLT64_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF314 # The macro: "__FLT64_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF315 # The macro: "__FLT128_MANT_DIG__ 113"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF316 # The macro: "__FLT128_DIG__ 33"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF317 # The macro: "__FLT128_MIN_EXP__ (-16381)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF318 # The macro: "__FLT128_MIN_10_EXP__ (-4931)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF319 # The macro: "__FLT128_MAX_EXP__ 16384"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF320 # The macro: "__FLT128_MAX_10_EXP__ 4932"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF321 # The macro: "__FLT128_DECIMAL_DIG__ 36"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF322 # The macro: "__FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF323 # The macro: "__FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF324 # The macro: "__FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF325 # The macro: "__FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF326 # The macro: "__FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF327 # The macro: "__FLT128_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF328 # The macro: "__FLT128_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF329 # The macro: "__FLT128_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF330 # The macro: "__FLT128_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF331 # The macro: "__FLT32X_MANT_DIG__ 53"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF332 # The macro: "__FLT32X_DIG__ 15"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF333 # The macro: "__FLT32X_MIN_EXP__ (-1021)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF334 # The macro: "__FLT32X_MIN_10_EXP__ (-307)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF335 # The macro: "__FLT32X_MAX_EXP__ 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF336 # The macro: "__FLT32X_MAX_10_EXP__ 308"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF337 # The macro: "__FLT32X_DECIMAL_DIG__ 17"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF338 # The macro: "__FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF339 # The macro: "__FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF340 # The macro: "__FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF341 # The macro: "__FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF342 # The macro: "__FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF343 # The macro: "__FLT32X_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF344 # The macro: "__FLT32X_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF345 # The macro: "__FLT32X_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF346 # The macro: "__FLT32X_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF347 # The macro: "__FLT64X_MANT_DIG__ 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF348 # The macro: "__FLT64X_DIG__ 18"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF349 # The macro: "__FLT64X_MIN_EXP__ (-16381)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF350 # The macro: "__FLT64X_MIN_10_EXP__ (-4931)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF351 # The macro: "__FLT64X_MAX_EXP__ 16384"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF352 # The macro: "__FLT64X_MAX_10_EXP__ 4932"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF353 # The macro: "__FLT64X_DECIMAL_DIG__ 21"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF354 # The macro: "__FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF355 # The macro: "__FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF356 # The macro: "__FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF357 # The macro: "__FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF358 # The macro: "__FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF359 # The macro: "__FLT64X_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF360 # The macro: "__FLT64X_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF361 # The macro: "__FLT64X_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF362 # The macro: "__FLT64X_IS_IEC_60559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF363 # The macro: "__BFLT16_MANT_DIG__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF364 # The macro: "__BFLT16_DIG__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF365 # The macro: "__BFLT16_MIN_EXP__ (-125)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF366 # The macro: "__BFLT16_MIN_10_EXP__ (-37)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF367 # The macro: "__BFLT16_MAX_EXP__ 128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF368 # The macro: "__BFLT16_MAX_10_EXP__ 38"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF369 # The macro: "__BFLT16_DECIMAL_DIG__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF370 # The macro: "__BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF371 # The macro: "__BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF372 # The macro: "__BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF373 # The macro: "__BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF374 # The macro: "__BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF375 # The macro: "__BFLT16_HAS_DENORM__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF376 # The macro: "__BFLT16_HAS_INFINITY__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF377 # The macro: "__BFLT16_HAS_QUIET_NAN__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF378 # The macro: "__BFLT16_IS_IEC_60559__ 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF379 # The macro: "__DEC32_MANT_DIG__ 7"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF380 # The macro: "__DEC32_MIN_EXP__ (-94)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF381 # The macro: "__DEC32_MAX_EXP__ 97"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF382 # The macro: "__DEC32_MIN__ 1E-95DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF383 # The macro: "__DEC32_MAX__ 9.999999E96DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF384 # The macro: "__DEC32_EPSILON__ 1E-6DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF385 # The macro: "__DEC32_SUBNORMAL_MIN__ 0.000001E-95DF"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF386 # The macro: "__DEC64_MANT_DIG__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF387 # The macro: "__DEC64_MIN_EXP__ (-382)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF388 # The macro: "__DEC64_MAX_EXP__ 385"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF389 # The macro: "__DEC64_MIN__ 1E-383DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF390 # The macro: "__DEC64_MAX__ 9.999999999999999E384DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF391 # The macro: "__DEC64_EPSILON__ 1E-15DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF392 # The macro: "__DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF393 # The macro: "__DEC128_MANT_DIG__ 34"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF394 # The macro: "__DEC128_MIN_EXP__ (-6142)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF395 # The macro: "__DEC128_MAX_EXP__ 6145"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF396 # The macro: "__DEC128_MIN__ 1E-6143DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF397 # The macro: "__DEC128_MAX__ 9.999999999999999999999999999999999E6144DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF398 # The macro: "__DEC128_EPSILON__ 1E-33DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF399 # The macro: "__DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF400 # The macro: "__DEC64X_MANT_DIG__ 34"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF401 # The macro: "__DEC64X_MIN_EXP__ (-6142)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF402 # The macro: "__DEC64X_MAX_EXP__ 6145"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF403 # The macro: "__DEC64X_MIN__ 1E-6143D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF404 # The macro: "__DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF405 # The macro: "__DEC64X_EPSILON__ 1E-33D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF406 # The macro: "__DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF407 # The macro: "__REGISTER_PREFIX__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF408 # The macro: "__USER_LABEL_PREFIX__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF409 # The macro: "__GNUC_STDC_INLINE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF410 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF411 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF412 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF413 # The macro: "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF414 # The macro: "__GCC_ATOMIC_BOOL_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF415 # The macro: "__GCC_ATOMIC_CHAR_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF416 # The macro: "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF417 # The macro: "__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF418 # The macro: "__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF419 # The macro: "__GCC_ATOMIC_SHORT_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF420 # The macro: "__GCC_ATOMIC_INT_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF421 # The macro: "__GCC_ATOMIC_LONG_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF422 # The macro: "__GCC_ATOMIC_LLONG_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF423 # The macro: "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF424 # The macro: "__GCC_DESTRUCTIVE_SIZE 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF425 # The macro: "__GCC_CONSTRUCTIVE_SIZE 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF426 # The macro: "__GCC_ATOMIC_POINTER_LOCK_FREE 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF427 # The macro: "__HAVE_SPECULATION_SAFE_VALUE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF428 # The macro: "__GCC_HAVE_DWARF2_CFI_ASM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF429 # The macro: "__PRAGMA_REDEFINE_EXTNAME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF430 # The macro: "__SIZEOF_INT128__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF431 # The macro: "__SIZEOF_WCHAR_T__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF432 # The macro: "__SIZEOF_WINT_T__ 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF433 # The macro: "__SIZEOF_PTRDIFF_T__ 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF434 # The macro: "__amd64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF435 # The macro: "__amd64__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF436 # The macro: "__x86_64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF437 # The macro: "__x86_64__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF438 # The macro: "__SIZEOF_FLOAT80__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF439 # The macro: "__SIZEOF_FLOAT128__ 16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF440 # The macro: "__ATOMIC_HLE_ACQUIRE 65536"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF441 # The macro: "__ATOMIC_HLE_RELEASE 131072"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF442 # The macro: "__GCC_ASM_FLAG_OUTPUTS__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF443 # The macro: "__k8 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF444 # The macro: "__k8__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF445 # The macro: "__code_model_small__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF446 # The macro: "__MMX__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF447 # The macro: "__SSE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF448 # The macro: "__SSE2__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF449 # The macro: "__FXSR__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF450 # The macro: "__SSE_MATH__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF451 # The macro: "__SSE2_MATH__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF452 # The macro: "__MMX_WITH_SSE__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF453 # The macro: "__SEG_FS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF454 # The macro: "__SEG_GS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF455 # The macro: "__gnu_linux__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF456 # The macro: "__linux 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF457 # The macro: "__linux__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF458 # The macro: "linux 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF459 # The macro: "__unix 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF460 # The macro: "__unix__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF461 # The macro: "unix 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF462 # The macro: "__ELF__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF463 # The macro: "__DECIMAL_BID_FORMAT__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0 # At line number 0
+ .long .LASF464 # The macro: "_GNU_SOURCE 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stdcpredef.h.19.88fdbfd5cf6f83ed579effc3e425f09b,comdat
+.Ldebug_macro3:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF465 # The macro: "_STDC_PREDEF_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF466 # The macro: "__STDC_IEC_559__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF467 # The macro: "__STDC_IEC_60559_BFP__ 201404L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF468 # The macro: "__STDC_IEC_559_COMPLEX__ 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF469 # The macro: "__STDC_IEC_60559_COMPLEX__ 201404L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF470 # The macro: "__STDC_ISO_10646__ 201706L"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wordsize.h.4.21825217995af4880cdf0ea22ad93ab2,comdat
+.Ldebug_macro4:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4 # At line number 4
+ .long .LASF474 # The macro: "__WORDSIZE 64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF475 # The macro: "__WORDSIZE_TIME64_COMPAT32 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF476 # The macro: "__SYSCALL_WORDSIZE 64"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cconfig.h.1945.b6e1a0853c4cceb838353ccb00a51862,comdat
+.Ldebug_macro5:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x799 # At line number 1945
+ .long .LASF477 # The macro: "_GLIBCXX_CXX_CONFIG_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7a7 # At line number 1959
+ .long .LASF478 # The macro: "_GLIBCXX_RELEASE 15"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7aa # At line number 1962
+ .long .LASF479 # The macro: "__GLIBCXX__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7ab # At line number 1963
+ .long .LASF480 # The macro: "__GLIBCXX__ 20250425"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b4 # At line number 1972
+ .long .LASF481 # The macro: "_GLIBCXX_PURE __attribute__ ((__pure__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b8 # At line number 1976
+ .long .LASF482 # The macro: "_GLIBCXX_CONST __attribute__ ((__const__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF483 # The macro: "_GLIBCXX_NORETURN __attribute__ ((__noreturn__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7c9 # At line number 1993
+ .long .LASF484 # The macro: "_GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7cc # At line number 1996
+ .long .LASF485 # The macro: "_GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e4 # At line number 2020
+ .long .LASF486 # The macro: "_GLIBCXX_USE_DEPRECATED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e8 # At line number 2024
+ .long .LASF487 # The macro: "_GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF488 # The macro: "_GLIBCXX_DEPRECATED_SUGGEST(ALT) __attribute__ ((__deprecated__ ("use '" ALT "' instead")))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f1 # At line number 2033
+ .long .LASF489 # The macro: "_GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f2 # At line number 2034
+ .long .LASF490 # The macro: "_GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f9 # At line number 2041
+ .long .LASF491 # The macro: "_GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7fa # At line number 2042
+ .long .LASF492 # The macro: "_GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x801 # At line number 2049
+ .long .LASF493 # The macro: "_GLIBCXX17_DEPRECATED [[__deprecated__]]"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x802 # At line number 2050
+ .long .LASF494 # The macro: "_GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80c # At line number 2060
+ .long .LASF495 # The macro: "_GLIBCXX20_DEPRECATED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80d # At line number 2061
+ .long .LASF496 # The macro: "_GLIBCXX20_DEPRECATED_SUGGEST(ALT) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x814 # At line number 2068
+ .long .LASF497 # The macro: "_GLIBCXX23_DEPRECATED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x815 # At line number 2069
+ .long .LASF498 # The macro: "_GLIBCXX23_DEPRECATED_SUGGEST(ALT) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81c # At line number 2076
+ .long .LASF499 # The macro: "_GLIBCXX26_DEPRECATED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81d # At line number 2077
+ .long .LASF500 # The macro: "_GLIBCXX26_DEPRECATED_SUGGEST(ALT) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x822 # At line number 2082
+ .long .LASF501 # The macro: "_GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ ("cxx11")))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x827 # At line number 2087
+ .long .LASF502 # The macro: "_GLIBCXX_NODISCARD [[__nodiscard__]]"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x833 # At line number 2099
+ .long .LASF503 # The macro: "_GLIBCXX_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x834 # At line number 2100
+ .long .LASF504 # The macro: "_GLIBCXX_USE_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x83d # At line number 2109
+ .long .LASF505 # The macro: "_GLIBCXX14_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x845 # At line number 2117
+ .long .LASF506 # The macro: "_GLIBCXX17_CONSTEXPR constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84f # At line number 2127
+ .long .LASF507 # The macro: "_GLIBCXX20_CONSTEXPR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF508 # The macro: "_GLIBCXX23_CONSTEXPR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x85f # At line number 2143
+ .long .LASF509 # The macro: "_GLIBCXX26_CONSTEXPR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x865 # At line number 2149
+ .long .LASF510 # The macro: "_GLIBCXX17_INLINE inline"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86e # At line number 2158
+ .long .LASF511 # The macro: "_GLIBCXX_NOEXCEPT noexcept"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86f # At line number 2159
+ .long .LASF512 # The macro: "_GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x870 # At line number 2160
+ .long .LASF513 # The macro: "_GLIBCXX_USE_NOEXCEPT noexcept"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x871 # At line number 2161
+ .long .LASF514 # The macro: "_GLIBCXX_THROW(_EXC) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87b # At line number 2171
+ .long .LASF515 # The macro: "_GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x880 # At line number 2176
+ .long .LASF516 # The macro: "_GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x887 # At line number 2183
+ .long .LASF517 # The macro: "_GLIBCXX_NOEXCEPT_PARM , bool _NE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x888 # At line number 2184
+ .long .LASF518 # The macro: "_GLIBCXX_NOEXCEPT_QUAL noexcept (_NE)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x898 # At line number 2200
+ .long .LASF519 # The macro: "_GLIBCXX_EXTERN_TEMPLATE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8df # At line number 2271
+ .long .LASF520 # The macro: "_GLIBCXX_USE_DUAL_ABI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8e7 # At line number 2279
+ .long .LASF521 # The macro: "_GLIBCXX_USE_CXX11_ABI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f3 # At line number 2291
+ .long .LASF522 # The macro: "_GLIBCXX_NAMESPACE_CXX11 __cxx11::"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f4 # At line number 2292
+ .long .LASF523 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f5 # At line number 2293
+ .long .LASF524 # The macro: "_GLIBCXX_END_NAMESPACE_CXX11 }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f6 # At line number 2294
+ .long .LASF525 # The macro: "_GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8ff # At line number 2303
+ .long .LASF526 # The macro: "_GLIBCXX_INLINE_VERSION 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x921 # At line number 2337
+ .long .LASF527 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_VERSION "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x922 # At line number 2338
+ .long .LASF528 # The macro: "_GLIBCXX_END_NAMESPACE_VERSION "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x924 # At line number 2340
+ .long .LASF529 # The macro: "_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x925 # At line number 2341
+ .long .LASF530 # The macro: "_GLIBCXX_END_INLINE_ABI_NAMESPACE(X) }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x966 # At line number 2406
+ .long .LASF531 # The macro: "_GLIBCXX_STD_C std"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x967 # At line number 2407
+ .long .LASF532 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_CONTAINER "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x968 # At line number 2408
+ .long .LASF533 # The macro: "_GLIBCXX_END_NAMESPACE_CONTAINER "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x971 # At line number 2417
+ .long .LASF534 # The macro: "_GLIBCXX_STD_A std"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x972 # At line number 2418
+ .long .LASF535 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_ALGO "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x973 # At line number 2419
+ .long .LASF536 # The macro: "_GLIBCXX_END_NAMESPACE_ALGO "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x978 # At line number 2424
+ .long .LASF537 # The macro: "_GLIBCXX_LONG_DOUBLE_COMPAT"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x982 # At line number 2434
+ .long .LASF538 # The macro: "_GLIBCXX_CLANG"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x988 # At line number 2440
+ .long .LASF539 # The macro: "_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a6 # At line number 2470
+ .long .LASF540 # The macro: "_GLIBCXX_NAMESPACE_LDBL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a7 # At line number 2471
+ .long .LASF541 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_LDBL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a8 # At line number 2472
+ .long .LASF542 # The macro: "_GLIBCXX_END_NAMESPACE_LDBL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ac # At line number 2476
+ .long .LASF543 # The macro: "_GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ad # At line number 2477
+ .long .LASF544 # The macro: "_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ae # At line number 2478
+ .long .LASF545 # The macro: "_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9c6 # At line number 2502
+ .long .LASF546 # The macro: "_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9df # At line number 2527
+ .long .LASF547 # The macro: "_GLIBCXX_VERBOSE_ASSERT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9ef # At line number 2543
+ .long .LASF548 # The macro: "_GLIBCXX_ASSERT_FAIL(_Condition) std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, #_Condition)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa09 # At line number 2569
+ .long .LASF549 # The macro: "__glibcxx_assert(cond) do { if (std::__is_constant_evaluated() && !bool(cond)) std::__glibcxx_assert_fail(); } while (false)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa33 # At line number 2611
+ .long .LASF550 # The macro: "_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa36 # At line number 2614
+ .long .LASF551 # The macro: "_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3a # At line number 2618
+ .long .LASF552 # The macro: "_GLIBCXX_BEGIN_EXTERN_C extern "C" {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3b # At line number 2619
+ .long .LASF553 # The macro: "_GLIBCXX_END_EXTERN_C }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3d # At line number 2621
+ .long .LASF554 # The macro: "_GLIBCXX_USE_ALLOCATOR_NEW 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.os_defines.h.31.00ac2dfcc18ce0a4ccd7d724c7e326ea,comdat
+.Ldebug_macro6:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF555 # The macro: "_GLIBCXX_OS_DEFINES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF556 # The macro: "__NO_CTYPE 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.features.h.19.bdce2f9bc3939800030d1d9eb242d816,comdat
+.Ldebug_macro7:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13 # At line number 19
+ .long .LASF557 # The macro: "_FEATURES_H 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF558 # The macro: "__USE_ISOC11"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF559 # The macro: "__USE_ISOC99"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF560 # The macro: "__USE_ISOC95"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF561 # The macro: "__USE_ISOCXX11"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF562 # The macro: "__USE_POSIX"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86 # At line number 134
+ .long .LASF563 # The macro: "__USE_POSIX2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF564 # The macro: "__USE_POSIX199309"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF565 # The macro: "__USE_POSIX199506"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x89 # At line number 137
+ .long .LASF566 # The macro: "__USE_XOPEN"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8a # At line number 138
+ .long .LASF567 # The macro: "__USE_XOPEN_EXTENDED"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8b # At line number 139
+ .long .LASF568 # The macro: "__USE_UNIX98"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF569 # The macro: "__USE_XOPEN2K"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8d # At line number 141
+ .long .LASF570 # The macro: "__USE_XOPEN2KXSI"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8e # At line number 142
+ .long .LASF571 # The macro: "__USE_XOPEN2K8"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x8f # At line number 143
+ .long .LASF572 # The macro: "__USE_XOPEN2K8XSI"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x90 # At line number 144
+ .long .LASF573 # The macro: "__USE_LARGEFILE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x91 # At line number 145
+ .long .LASF574 # The macro: "__USE_LARGEFILE64"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF575 # The macro: "__USE_FILE_OFFSET64"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF576 # The macro: "__USE_MISC"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x94 # At line number 148
+ .long .LASF577 # The macro: "__USE_ATFILE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x95 # At line number 149
+ .long .LASF578 # The macro: "__USE_DYNAMIC_STACK_SIZE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF579 # The macro: "__USE_GNU"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF580 # The macro: "__USE_FORTIFY_LEVEL"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x98 # At line number 152
+ .long .LASF581 # The macro: "__KERNEL_STRICT_NAMES"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x99 # At line number 153
+ .long .LASF582 # The macro: "__GLIBC_USE_ISOC23"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9a # At line number 154
+ .long .LASF583 # The macro: "__GLIBC_USE_ISOC2Y"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9b # At line number 155
+ .long .LASF584 # The macro: "__GLIBC_USE_DEPRECATED_GETS"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF585 # The macro: "__GLIBC_USE_DEPRECATED_SCANF"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9d # At line number 157
+ .long .LASF586 # The macro: "__GLIBC_USE_C23_STRTOL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa2 # At line number 162
+ .long .LASF587 # The macro: "__KERNEL_STRICT_NAMES "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad # At line number 173
+ .long .LASF588 # The macro: "__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb # At line number 187
+ .long .LASF589 # The macro: "__glibc_clang_prereq(maj,min) 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf # At line number 191
+ .long .LASF590 # The macro: "__GLIBC_USE(F) __GLIBC_USE_ ## F"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd5 # At line number 213
+ .long .LASF591 # The macro: "_ISOC95_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd6 # At line number 214
+ .long .LASF592 # The macro: "_ISOC95_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd7 # At line number 215
+ .long .LASF593 # The macro: "_ISOC99_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF594 # The macro: "_ISOC99_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd9 # At line number 217
+ .long .LASF595 # The macro: "_ISOC11_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xda # At line number 218
+ .long .LASF596 # The macro: "_ISOC11_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xdb # At line number 219
+ .long .LASF597 # The macro: "_ISOC23_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF598 # The macro: "_ISOC23_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xdd # At line number 221
+ .long .LASF599 # The macro: "_ISOC2Y_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xde # At line number 222
+ .long .LASF600 # The macro: "_ISOC2Y_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xdf # At line number 223
+ .long .LASF601 # The macro: "_POSIX_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe0 # At line number 224
+ .long .LASF602 # The macro: "_POSIX_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe1 # At line number 225
+ .long .LASF603 # The macro: "_POSIX_C_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF604 # The macro: "_POSIX_C_SOURCE 200809L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe3 # At line number 227
+ .long .LASF605 # The macro: "_XOPEN_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe4 # At line number 228
+ .long .LASF606 # The macro: "_XOPEN_SOURCE 700"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe5 # At line number 229
+ .long .LASF607 # The macro: "_XOPEN_SOURCE_EXTENDED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6 # At line number 230
+ .long .LASF608 # The macro: "_XOPEN_SOURCE_EXTENDED 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe7 # At line number 231
+ .long .LASF609 # The macro: "_LARGEFILE64_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe8 # At line number 232
+ .long .LASF610 # The macro: "_LARGEFILE64_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe9 # At line number 233
+ .long .LASF611 # The macro: "_DEFAULT_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xea # At line number 234
+ .long .LASF612 # The macro: "_DEFAULT_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xeb # At line number 235
+ .long .LASF613 # The macro: "_ATFILE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF614 # The macro: "_ATFILE_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xed # At line number 237
+ .long .LASF615 # The macro: "_DYNAMIC_STACK_SIZE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xee # At line number 238
+ .long .LASF616 # The macro: "_DYNAMIC_STACK_SIZE_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf9 # At line number 249
+ .long .LASF611 # The macro: "_DEFAULT_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF612 # The macro: "_DEFAULT_SOURCE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF617 # The macro: "__GLIBC_USE_ISOC2Y 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x108 # At line number 264
+ .long .LASF618 # The macro: "__GLIBC_USE_ISOC23 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x111 # At line number 273
+ .long .LASF619 # The macro: "__USE_ISOC11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x118 # At line number 280
+ .long .LASF620 # The macro: "__USE_ISOC99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11f # At line number 287
+ .long .LASF621 # The macro: "__USE_ISOC95 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x125 # At line number 293
+ .long .LASF619 # The macro: "__USE_ISOC11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x12a # At line number 298
+ .long .LASF622 # The macro: "__USE_ISOCXX11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x12b # At line number 299
+ .long .LASF620 # The macro: "__USE_ISOC99 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x136 # At line number 310
+ .long .LASF601 # The macro: "_POSIX_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF602 # The macro: "_POSIX_SOURCE 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x138 # At line number 312
+ .long .LASF603 # The macro: "_POSIX_C_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x139 # At line number 313
+ .long .LASF604 # The macro: "_POSIX_C_SOURCE 200809L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15c # At line number 348
+ .long .LASF623 # The macro: "__USE_POSIX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x160 # At line number 352
+ .long .LASF624 # The macro: "__USE_POSIX2 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x164 # At line number 356
+ .long .LASF625 # The macro: "__USE_POSIX199309 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x168 # At line number 360
+ .long .LASF626 # The macro: "__USE_POSIX199506 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16c # At line number 364
+ .long .LASF627 # The macro: "__USE_XOPEN2K 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF560 # The macro: "__USE_ISOC95"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16e # At line number 366
+ .long .LASF621 # The macro: "__USE_ISOC95 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16f # At line number 367
+ .long .LASF559 # The macro: "__USE_ISOC99"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x170 # At line number 368
+ .long .LASF620 # The macro: "__USE_ISOC99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x174 # At line number 372
+ .long .LASF628 # The macro: "__USE_XOPEN2K8 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x175 # At line number 373
+ .long .LASF613 # The macro: "_ATFILE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x176 # At line number 374
+ .long .LASF614 # The macro: "_ATFILE_SOURCE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17a # At line number 378
+ .long .LASF629 # The macro: "__USE_XOPEN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17c # At line number 380
+ .long .LASF630 # The macro: "__USE_XOPEN_EXTENDED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF631 # The macro: "__USE_UNIX98 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17e # At line number 382
+ .long .LASF632 # The macro: "_LARGEFILE_SOURCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17f # At line number 383
+ .long .LASF633 # The macro: "_LARGEFILE_SOURCE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x182 # At line number 386
+ .long .LASF628 # The macro: "__USE_XOPEN2K8 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x183 # At line number 387
+ .long .LASF634 # The macro: "__USE_XOPEN2K8XSI 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x185 # At line number 389
+ .long .LASF627 # The macro: "__USE_XOPEN2K 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x186 # At line number 390
+ .long .LASF635 # The macro: "__USE_XOPEN2KXSI 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF560 # The macro: "__USE_ISOC95"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x188 # At line number 392
+ .long .LASF621 # The macro: "__USE_ISOC95 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x189 # At line number 393
+ .long .LASF559 # The macro: "__USE_ISOC99"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18a # At line number 394
+ .long .LASF620 # The macro: "__USE_ISOC99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x194 # At line number 404
+ .long .LASF636 # The macro: "__USE_LARGEFILE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x198 # At line number 408
+ .long .LASF637 # The macro: "__USE_LARGEFILE64 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.features.h.418.0b5c3539d8a4e9fd50fc3039208f3961,comdat
+.Ldebug_macro8:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a2 # At line number 418
+ .long .LASF640 # The macro: "__USE_MISC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a6 # At line number 422
+ .long .LASF641 # The macro: "__USE_ATFILE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1aa # At line number 426
+ .long .LASF642 # The macro: "__USE_DYNAMIC_STACK_SIZE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ae # At line number 430
+ .long .LASF643 # The macro: "__USE_GNU 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF644 # The macro: "__USE_FORTIFY_LEVEL 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1cf # At line number 463
+ .long .LASF645 # The macro: "__GLIBC_USE_DEPRECATED_GETS 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e6 # At line number 486
+ .long .LASF646 # The macro: "__GLIBC_USE_DEPRECATED_SCANF 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ef # At line number 495
+ .long .LASF647 # The macro: "__GLIBC_USE_C23_STRTOL 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1fe # At line number 510
+ .long .LASF648 # The macro: "__GNU_LIBRARY__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF649 # The macro: "__GNU_LIBRARY__ 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF650 # The macro: "__GLIBC__ 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x204 # At line number 516
+ .long .LASF651 # The macro: "__GLIBC_MINOR__ 41"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x206 # At line number 518
+ .long .LASF652 # The macro: "__GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cdefs.h.20.3b5b75c5448e96e4c39679d0a8f1a476,comdat
+.Ldebug_macro9:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF653 # The macro: "_SYS_CDEFS_H 1"
+ .byte 0x2 # Undefine macro
+ .uleb128 0x23 # At line number 35
+ .ascii "__P\0" # The macro
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF654 # The macro: "__PMT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF655 # The macro: "__glibc_has_attribute(attr) __has_attribute (attr)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF656 # The macro: "__glibc_has_builtin(name) __has_builtin (name)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF657 # The macro: "__glibc_has_extension(ext) __has_extension (ext)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF658 # The macro: "__LEAF , __leaf__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF659 # The macro: "__LEAF_ATTR __attribute__ ((__leaf__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF660 # The macro: "__THROW noexcept (true)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF661 # The macro: "__THROWNL __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF662 # The macro: "__NTH(fct) __LEAF_ATTR fct __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF663 # The macro: "__NTHNL(fct) fct __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF664 # The macro: "__COLD __attribute__ ((__cold__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF665 # The macro: "__P(args) args"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF666 # The macro: "__PMT(args) args"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF667 # The macro: "__CONCAT(x,y) x ## y"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF668 # The macro: "__STRING(x) #x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF669 # The macro: "__ptr_t void *"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF670 # The macro: "__BEGIN_DECLS extern "C" {"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8d # At line number 141
+ .long .LASF671 # The macro: "__END_DECLS }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x99 # At line number 153
+ .long .LASF672 # The macro: "__attribute_overloadable__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9d # At line number 157
+ .long .LASF673 # The macro: "__bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9e # At line number 158
+ .long .LASF674 # The macro: "__bos0(ptr) __builtin_object_size (ptr, 0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF675 # The macro: "__glibc_objsize0(__o) __bos0 (__o)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa7 # At line number 167
+ .long .LASF676 # The macro: "__glibc_objsize(__o) __bos (__o)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16e # At line number 366
+ .long .LASF677 # The macro: "__warnattr(msg) __attribute__((__warning__ (msg)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16f # At line number 367
+ .long .LASF678 # The macro: "__errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x180 # At line number 384
+ .long .LASF679 # The macro: "__flexarr []"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF680 # The macro: "__glibc_c99_flexarr_available 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19a # At line number 410
+ .long .LASF681 # The macro: "__REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19c # At line number 412
+ .long .LASF682 # The macro: "__REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF683 # The macro: "__REDIRECT_NTHNL(name,proto,alias) name proto __THROWNL __asm__ (__ASMNAME (#alias))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a6 # At line number 422
+ .long .LASF684 # The macro: "__ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a7 # At line number 423
+ .long .LASF685 # The macro: "__ASMNAME2(prefix,cname) __STRING (prefix) cname"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1aa # At line number 426
+ .long .LASF686 # The macro: "__REDIRECT_FORTIFY __REDIRECT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ae # At line number 430
+ .long .LASF687 # The macro: "__REDIRECT_FORTIFY_NTH __REDIRECT_NTH"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c4 # At line number 452
+ .long .LASF688 # The macro: "__attribute_malloc__ __attribute__ ((__malloc__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1cc # At line number 460
+ .long .LASF689 # The macro: "__attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d5 # At line number 469
+ .long .LASF690 # The macro: "__attribute_alloc_align__(param) __attribute__ ((__alloc_align__ param))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1df # At line number 479
+ .long .LASF691 # The macro: "__attribute_pure__ __attribute__ ((__pure__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e6 # At line number 486
+ .long .LASF692 # The macro: "__attribute_const__ __attribute__ ((__const__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ec # At line number 492
+ .long .LASF693 # The macro: "__attribute_maybe_unused__ __attribute__ ((__unused__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF694 # The macro: "__attribute_used__ __attribute__ ((__used__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f6 # At line number 502
+ .long .LASF695 # The macro: "__attribute_noinline__ __attribute__ ((__noinline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1fe # At line number 510
+ .long .LASF696 # The macro: "__attribute_deprecated__ __attribute__ ((__deprecated__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x208 # At line number 520
+ .long .LASF697 # The macro: "__attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x215 # At line number 533
+ .long .LASF698 # The macro: "__attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21f # At line number 543
+ .long .LASF699 # The macro: "__attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF700 # The macro: "__attribute_nonnull__(params) __attribute__ ((__nonnull__ params))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF701 # The macro: "__nonnull(params) __attribute_nonnull__ (params)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x238 # At line number 568
+ .long .LASF702 # The macro: "__returns_nonnull __attribute__ ((__returns_nonnull__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x241 # At line number 577
+ .long .LASF703 # The macro: "__attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24a # At line number 586
+ .long .LASF704 # The macro: "__wur "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x252 # At line number 594
+ .long .LASF705 # The macro: "__always_inline"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x253 # At line number 595
+ .long .LASF706 # The macro: "__always_inline __inline __attribute__ ((__always_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25c # At line number 604
+ .long .LASF707 # The macro: "__attribute_artificial__ __attribute__ ((__artificial__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26e # At line number 622
+ .long .LASF708 # The macro: "__extern_inline extern __inline __attribute__ ((__gnu_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26f # At line number 623
+ .long .LASF709 # The macro: "__extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x278 # At line number 632
+ .long .LASF710 # The macro: "__fortify_function __extern_always_inline __attribute_artificial__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27e # At line number 638
+ .long .LASF711 # The macro: "__va_arg_pack() __builtin_va_arg_pack ()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27f # At line number 639
+ .long .LASF712 # The macro: "__va_arg_pack_len() __builtin_va_arg_pack_len ()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29d # At line number 669
+ .long .LASF713 # The macro: "__restrict_arr "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a9 # At line number 681
+ .long .LASF714 # The macro: "__glibc_unlikely(cond) __builtin_expect ((cond), 0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2aa # At line number 682
+ .long .LASF715 # The macro: "__glibc_likely(cond) __builtin_expect ((cond), 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bf # At line number 703
+ .long .LASF716 # The macro: "__attribute_nonstring__ __attribute__ ((__nonstring__))"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c5 # At line number 709
+ .long .LASF717 # The macro: "__attribute_copy__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c9 # At line number 713
+ .long .LASF718 # The macro: "__attribute_copy__(arg) __attribute__ ((__copy__ (arg)))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cdefs.h.788.9af8f5176cd272e215897fe8049c214d,comdat
+.Ldebug_macro10:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x314 # At line number 788
+ .long .LASF720 # The macro: "__LDBL_REDIR1(name,proto,alias) name proto"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x315 # At line number 789
+ .long .LASF721 # The macro: "__LDBL_REDIR(name,proto) name proto"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF722 # The macro: "__LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x317 # At line number 791
+ .long .LASF723 # The macro: "__LDBL_REDIR_NTH(name,proto) name proto __THROW"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x318 # At line number 792
+ .long .LASF724 # The macro: "__LDBL_REDIR2_DECL(name) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x319 # At line number 793
+ .long .LASF725 # The macro: "__LDBL_REDIR_DECL(name) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31b # At line number 795
+ .long .LASF726 # The macro: "__REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF727 # The macro: "__REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x327 # At line number 807
+ .long .LASF728 # The macro: "__glibc_macro_warning1(message) _Pragma (#message)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x328 # At line number 808
+ .long .LASF729 # The macro: "__glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33c # At line number 828
+ .long .LASF730 # The macro: "__HAVE_GENERIC_SELECTION 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x345 # At line number 837
+ .long .LASF731 # The macro: "__attr_access(x) __attribute__ ((__access__ x))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34d # At line number 845
+ .long .LASF732 # The macro: "__fortified_attr_access(a,o,s) __attr_access ((a, o, s))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x350 # At line number 848
+ .long .LASF733 # The macro: "__attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35d # At line number 861
+ .long .LASF734 # The macro: "__attr_dealloc(dealloc,argno) __attribute__ ((__malloc__ (dealloc, argno)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35f # At line number 863
+ .long .LASF735 # The macro: "__attr_dealloc_free __attr_dealloc (__builtin_free, 1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x368 # At line number 872
+ .long .LASF736 # The macro: "__attribute_returns_twice__ __attribute__ ((__returns_twice__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x371 # At line number 881
+ .long .LASF737 # The macro: "__attribute_struct_may_alias__ __attribute__ ((__may_alias__))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stubs64.h.10.7865f4f7062bab1c535c1f73f43aa9b9,comdat
+.Ldebug_macro11:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa # At line number 10
+ .long .LASF739 # The macro: "__stub___compat_bdflush "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF740 # The macro: "__stub_chflags "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc # At line number 12
+ .long .LASF741 # The macro: "__stub_fchflags "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd # At line number 13
+ .long .LASF742 # The macro: "__stub_gtty "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe # At line number 14
+ .long .LASF743 # The macro: "__stub_revoke "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF744 # The macro: "__stub_setlogin "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10 # At line number 16
+ .long .LASF745 # The macro: "__stub_sigreturn "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11 # At line number 17
+ .long .LASF746 # The macro: "__stub_stty "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.os_defines.h.45.d06a304670a31a32135668aa1e3d636d,comdat
+.Ldebug_macro12:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF747 # The macro: "_GLIBCXX_HAVE_GETS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF748 # The macro: "_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF749 # The macro: "_GLIBCXX_HAVE_FLOAT128_MATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF750 # The macro: "_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF751 # The macro: "_GLIBCXX_NATIVE_THREAD_ID pthread_self()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF752 # The macro: "_GLIBCXX_GTHREAD_USE_WEAK 0"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cconfig.h.2649.87423048acc70a6cfbf4eb1b288281c7,comdat
+.Ldebug_macro13:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa59 # At line number 2649
+ .long .LASF754 # The macro: "_GLIBCXX_PSEUDO_VISIBILITY(V) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa60 # At line number 2656
+ .long .LASF755 # The macro: "_GLIBCXX_WEAK_DEFINITION "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa68 # At line number 2664
+ .long .LASF756 # The macro: "_GLIBCXX_USE_WEAK_REF __GXX_WEAK__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa75 # At line number 2677
+ .long .LASF757 # The macro: "_GLIBCXX_TXN_SAFE "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa76 # At line number 2678
+ .long .LASF758 # The macro: "_GLIBCXX_TXN_SAFE_DYN "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa7b # At line number 2683
+ .long .LASF759 # The macro: "_GLIBCXX_USE_STD_SPEC_FUNCS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa88 # At line number 2696
+ .long .LASF760 # The macro: "_GLIBCXX_FAST_MATH 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa8f # At line number 2703
+ .long .LASF761 # The macro: "__N(msgid) (msgid)"
+ .byte 0x2 # Undefine macro
+ .uleb128 0xa92 # At line number 2706
+ .ascii "min\0" # The macro
+ .byte 0x2 # Undefine macro
+ .uleb128 0xa93 # At line number 2707
+ .ascii "max\0" # The macro
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa99 # At line number 2713
+ .long .LASF762 # The macro: "_GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa9c # At line number 2716
+ .long .LASF763 # The macro: "_GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa9f # At line number 2719
+ .long .LASF764 # The macro: "_GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa2 # At line number 2722
+ .long .LASF765 # The macro: "_GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa5 # At line number 2725
+ .long .LASF766 # The macro: "_GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xac8 # At line number 2760
+ .long .LASF767 # The macro: "_GLIBCXX_USE_FLOAT128 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad0 # At line number 2768
+ .long .LASF768 # The macro: "_GLIBCXX_FLOAT_IS_IEEE_BINARY32 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad7 # At line number 2775
+ .long .LASF769 # The macro: "_GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xafc # At line number 2812
+ .long .LASF770 # The macro: "_GLIBCXX_HAS_BUILTIN(B) __has_builtin(B)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb01 # At line number 2817
+ .long .LASF771 # The macro: "_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb05 # At line number 2821
+ .long .LASF772 # The macro: "_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb09 # At line number 2825
+ .long .LASF773 # The macro: "_GLIBCXX_HAVE_BUILTIN_LAUNDER 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb11 # At line number 2833
+ .long .LASF774 # The macro: "_GLIBCXX_USE_BUILTIN_TRAIT(BT) _GLIBCXX_HAS_BUILTIN(BT)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb17 # At line number 2839
+ .long .LASF775 # The macro: "_GLIBCXX_DOXYGEN_ONLY(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb23 # At line number 2851
+ .long .LASF776 # The macro: "_GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb29 # At line number 2857
+ .long .LASF777 # The macro: "_PSTL_PAR_BACKEND_SERIAL "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2c # At line number 2860
+ .long .LASF778 # The macro: "_PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2d # At line number 2861
+ .long .LASF779 # The macro: "_PSTL_ASSERT_MSG(_Condition,_Message) __glibcxx_assert(_Condition)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pstl_config.h.11.cc2ab118dc65e0b245923f61105bc215,comdat
+.Ldebug_macro14:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb # At line number 11
+ .long .LASF780 # The macro: "_PSTL_CONFIG_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe # At line number 14
+ .long .LASF781 # The macro: "_PSTL_VERSION 17000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF782 # The macro: "_PSTL_VERSION_MAJOR (_PSTL_VERSION / 1000)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10 # At line number 16
+ .long .LASF783 # The macro: "_PSTL_VERSION_MINOR ((_PSTL_VERSION % 1000) / 10)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11 # At line number 17
+ .long .LASF784 # The macro: "_PSTL_VERSION_PATCH (_PSTL_VERSION % 10)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF785 # The macro: "_PSTL_USAGE_WARNINGS 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF786 # The macro: "_PSTL_PRAGMA(x) _Pragma(#x)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF787 # The macro: "_PSTL_STRING_AUX(x) #x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF788 # The macro: "_PSTL_STRING(x) _PSTL_STRING_AUX(x)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF789 # The macro: "_PSTL_STRING_CONCAT(x,y) x #y"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF790 # The macro: "_PSTL_HIDE_FROM_ABI_PUSH "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF791 # The macro: "_PSTL_HIDE_FROM_ABI_POP "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF792 # The macro: "_PSTL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF793 # The macro: "_PSTL_PRAGMA_SIMD _PSTL_PRAGMA(omp simd)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF794 # The macro: "_PSTL_PRAGMA_DECLARE_SIMD _PSTL_PRAGMA(omp declare simd)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x44 # At line number 68
+ .long .LASF795 # The macro: "_PSTL_PRAGMA_SIMD_REDUCTION(PRM) _PSTL_PRAGMA(omp simd reduction(PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF796 # The macro: "_PSTL_PRAGMA_FORCEINLINE "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF797 # The macro: "_PSTL_PRAGMA_SIMD_SCAN(PRM) _PSTL_PRAGMA(omp simd reduction(inscan, PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF798 # The macro: "_PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan inclusive(PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF799 # The macro: "_PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan exclusive(PRM))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF800 # The macro: "_PSTL_CPP17_EXECUTION_POLICIES_PRESENT (_MSC_VER >= 1912 && _MSVC_LANG >= 201703L) || (_GLIBCXX_RELEASE >= 9 && __GLIBCXX__ >= 20190503 && __cplusplus >= 201703L)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF801 # The macro: "_PSTL_CPP14_2RANGE_MISMATCH_EQUAL_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF802 # The macro: "_PSTL_CPP14_MAKE_REVERSE_ITERATOR_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF803 # The macro: "_PSTL_CPP14_INTEGER_SEQUENCE_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF804 # The macro: "_PSTL_CPP14_VARIABLE_TEMPLATES_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF805 # The macro: "_PSTL_UDR_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF806 # The macro: "_PSTL_UDS_PRESENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8a # At line number 138
+ .long .LASF807 # The macro: "_PSTL_PRAGMA_SIMD_EARLYEXIT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x91 # At line number 145
+ .long .LASF808 # The macro: "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC(PRM) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF809 # The macro: "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC_2ARGS(PRM1,PRM2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF810 # The macro: "_PSTL_PRAGMA_DECLARE_REDUCTION(NAME,OP) _PSTL_PRAGMA(omp declare reduction(NAME:OP : omp_out(omp_in)) initializer(omp_priv = omp_orig))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa2 # At line number 162
+ .long .LASF811 # The macro: "_PSTL_PRAGMA_VECTOR_UNALIGNED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa9 # At line number 169
+ .long .LASF812 # The macro: "_PSTL_USE_NONTEMPORAL_STORES_IF_ALLOWED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaf # At line number 175
+ .long .LASF813 # The macro: "_PSTL_PRAGMA_LOCATION " [Parallel STL message]: ""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2 # At line number 178
+ .long .LASF814 # The macro: "_PSTL_PRAGMA_MESSAGE_IMPL(x) _PSTL_PRAGMA(message(_PSTL_STRING_CONCAT(_PSTL_PRAGMA_LOCATION, x)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb8 # At line number 184
+ .long .LASF815 # The macro: "_PSTL_PRAGMA_MESSAGE(x) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb9 # At line number 185
+ .long .LASF816 # The macro: "_PSTL_PRAGMA_MESSAGE_POLICIES(x) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cconfig.h.2874.54f1071a8367a9bf141fad3e68fc75e0,comdat
+.Ldebug_macro15:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb3a # At line number 2874
+ .long .LASF817 # The macro: "_GLIBCXX_HAVE_ACOSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb3d # At line number 2877
+ .long .LASF818 # The macro: "_GLIBCXX_HAVE_ACOSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb40 # At line number 2880
+ .long .LASF819 # The macro: "_GLIBCXX_HAVE_ALIGNED_ALLOC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb43 # At line number 2883
+ .long .LASF820 # The macro: "_GLIBCXX_HAVE_ARC4RANDOM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb46 # At line number 2886
+ .long .LASF821 # The macro: "_GLIBCXX_HAVE_ARPA_INET_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb49 # At line number 2889
+ .long .LASF822 # The macro: "_GLIBCXX_HAVE_ASINF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4c # At line number 2892
+ .long .LASF823 # The macro: "_GLIBCXX_HAVE_ASINL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4f # At line number 2895
+ .long .LASF824 # The macro: "_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb52 # At line number 2898
+ .long .LASF825 # The macro: "_GLIBCXX_HAVE_ATAN2F 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb55 # At line number 2901
+ .long .LASF826 # The macro: "_GLIBCXX_HAVE_ATAN2L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb58 # At line number 2904
+ .long .LASF827 # The macro: "_GLIBCXX_HAVE_ATANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb5b # At line number 2907
+ .long .LASF828 # The macro: "_GLIBCXX_HAVE_ATANL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb5e # At line number 2910
+ .long .LASF829 # The macro: "_GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb61 # At line number 2913
+ .long .LASF830 # The macro: "_GLIBCXX_HAVE_AT_QUICK_EXIT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb65 # At line number 2917
+ .long .LASF831 # The macro: "_GLIBCXX_HAVE_C99_FLT_EVAL_TYPES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb6b # At line number 2923
+ .long .LASF832 # The macro: "_GLIBCXX_HAVE_CEILF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb6e # At line number 2926
+ .long .LASF833 # The macro: "_GLIBCXX_HAVE_CEILL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb71 # At line number 2929
+ .long .LASF834 # The macro: "_GLIBCXX_HAVE_COMPLEX_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb74 # At line number 2932
+ .long .LASF835 # The macro: "_GLIBCXX_HAVE_COSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb77 # At line number 2935
+ .long .LASF836 # The macro: "_GLIBCXX_HAVE_COSHF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb7a # At line number 2938
+ .long .LASF837 # The macro: "_GLIBCXX_HAVE_COSHL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb7d # At line number 2941
+ .long .LASF838 # The macro: "_GLIBCXX_HAVE_COSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb81 # At line number 2945
+ .long .LASF839 # The macro: "_GLIBCXX_HAVE_DECL_STRNLEN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb84 # At line number 2948
+ .long .LASF840 # The macro: "_GLIBCXX_HAVE_DIRENT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb87 # At line number 2951
+ .long .LASF841 # The macro: "_GLIBCXX_HAVE_DIRFD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb8a # At line number 2954
+ .long .LASF842 # The macro: "_GLIBCXX_HAVE_DLFCN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb8d # At line number 2957
+ .long .LASF843 # The macro: "_GLIBCXX_HAVE_ENDIAN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb90 # At line number 2960
+ .long .LASF844 # The macro: "_GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb93 # At line number 2963
+ .long .LASF845 # The macro: "_GLIBCXX_HAVE_EXECINFO_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb96 # At line number 2966
+ .long .LASF846 # The macro: "_GLIBCXX_HAVE_EXPF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb99 # At line number 2969
+ .long .LASF847 # The macro: "_GLIBCXX_HAVE_EXPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb9c # At line number 2972
+ .long .LASF848 # The macro: "_GLIBCXX_HAVE_FABSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb9f # At line number 2975
+ .long .LASF849 # The macro: "_GLIBCXX_HAVE_FABSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba2 # At line number 2978
+ .long .LASF850 # The macro: "_GLIBCXX_HAVE_FCNTL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba5 # At line number 2981
+ .long .LASF851 # The macro: "_GLIBCXX_HAVE_FDOPENDIR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba8 # At line number 2984
+ .long .LASF852 # The macro: "_GLIBCXX_HAVE_FENV_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbab # At line number 2987
+ .long .LASF853 # The macro: "_GLIBCXX_HAVE_FINITE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbae # At line number 2990
+ .long .LASF854 # The macro: "_GLIBCXX_HAVE_FINITEF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb1 # At line number 2993
+ .long .LASF855 # The macro: "_GLIBCXX_HAVE_FINITEL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb4 # At line number 2996
+ .long .LASF856 # The macro: "_GLIBCXX_HAVE_FLOAT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbb7 # At line number 2999
+ .long .LASF857 # The macro: "_GLIBCXX_HAVE_FLOORF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbba # At line number 3002
+ .long .LASF858 # The macro: "_GLIBCXX_HAVE_FLOORL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbbd # At line number 3005
+ .long .LASF859 # The macro: "_GLIBCXX_HAVE_FMODF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbc0 # At line number 3008
+ .long .LASF860 # The macro: "_GLIBCXX_HAVE_FMODL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbc9 # At line number 3017
+ .long .LASF861 # The macro: "_GLIBCXX_HAVE_FREXPF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbcc # At line number 3020
+ .long .LASF862 # The macro: "_GLIBCXX_HAVE_FREXPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbcf # At line number 3023
+ .long .LASF863 # The macro: "_GLIBCXX_HAVE_GETENTROPY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbd2 # At line number 3026
+ .long .LASF864 # The macro: "_GLIBCXX_HAVE_GETIPINFO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbd5 # At line number 3029
+ .long .LASF865 # The macro: "_GLIBCXX_HAVE_GETS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbd8 # At line number 3032
+ .long .LASF866 # The macro: "_GLIBCXX_HAVE_HYPOT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbdb # At line number 3035
+ .long .LASF867 # The macro: "_GLIBCXX_HAVE_HYPOTF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbde # At line number 3038
+ .long .LASF868 # The macro: "_GLIBCXX_HAVE_HYPOTL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe1 # At line number 3041
+ .long .LASF869 # The macro: "_GLIBCXX_HAVE_ICONV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe7 # At line number 3047
+ .long .LASF870 # The macro: "_GLIBCXX_HAVE_INTTYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbed # At line number 3053
+ .long .LASF871 # The macro: "_GLIBCXX_HAVE_ISINFF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf0 # At line number 3056
+ .long .LASF872 # The macro: "_GLIBCXX_HAVE_ISINFL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf6 # At line number 3062
+ .long .LASF873 # The macro: "_GLIBCXX_HAVE_ISNANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbf9 # At line number 3065
+ .long .LASF874 # The macro: "_GLIBCXX_HAVE_ISNANL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbfc # At line number 3068
+ .long .LASF875 # The macro: "_GLIBCXX_HAVE_ISWBLANK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbff # At line number 3071
+ .long .LASF876 # The macro: "_GLIBCXX_HAVE_LC_MESSAGES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc02 # At line number 3074
+ .long .LASF877 # The macro: "_GLIBCXX_HAVE_LDEXPF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc05 # At line number 3077
+ .long .LASF878 # The macro: "_GLIBCXX_HAVE_LDEXPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc08 # At line number 3080
+ .long .LASF879 # The macro: "_GLIBCXX_HAVE_LIBINTL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc0b # At line number 3083
+ .long .LASF880 # The macro: "_GLIBCXX_HAVE_LIMIT_AS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc0e # At line number 3086
+ .long .LASF881 # The macro: "_GLIBCXX_HAVE_LIMIT_DATA 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc11 # At line number 3089
+ .long .LASF882 # The macro: "_GLIBCXX_HAVE_LIMIT_FSIZE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc14 # At line number 3092
+ .long .LASF883 # The macro: "_GLIBCXX_HAVE_LIMIT_RSS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc17 # At line number 3095
+ .long .LASF884 # The macro: "_GLIBCXX_HAVE_LIMIT_VMEM 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc1a # At line number 3098
+ .long .LASF885 # The macro: "_GLIBCXX_HAVE_LINK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc1d # At line number 3101
+ .long .LASF886 # The macro: "_GLIBCXX_HAVE_LINK_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc20 # At line number 3104
+ .long .LASF887 # The macro: "_GLIBCXX_HAVE_LINUX_FUTEX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc23 # At line number 3107
+ .long .LASF888 # The macro: "_GLIBCXX_HAVE_LINUX_RANDOM_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc26 # At line number 3110
+ .long .LASF889 # The macro: "_GLIBCXX_HAVE_LINUX_TYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc29 # At line number 3113
+ .long .LASF890 # The macro: "_GLIBCXX_HAVE_LOCALE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc2c # At line number 3116
+ .long .LASF891 # The macro: "_GLIBCXX_HAVE_LOG10F 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc2f # At line number 3119
+ .long .LASF892 # The macro: "_GLIBCXX_HAVE_LOG10L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc32 # At line number 3122
+ .long .LASF893 # The macro: "_GLIBCXX_HAVE_LOGF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc35 # At line number 3125
+ .long .LASF894 # The macro: "_GLIBCXX_HAVE_LOGL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc38 # At line number 3128
+ .long .LASF895 # The macro: "_GLIBCXX_HAVE_LSEEK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc41 # At line number 3137
+ .long .LASF896 # The macro: "_GLIBCXX_HAVE_MBSTATE_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc44 # At line number 3140
+ .long .LASF897 # The macro: "_GLIBCXX_HAVE_MEMALIGN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc47 # At line number 3143
+ .long .LASF898 # The macro: "_GLIBCXX_HAVE_MEMORY_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc4a # At line number 3146
+ .long .LASF899 # The macro: "_GLIBCXX_HAVE_MODF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc4d # At line number 3149
+ .long .LASF900 # The macro: "_GLIBCXX_HAVE_MODFF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc50 # At line number 3152
+ .long .LASF901 # The macro: "_GLIBCXX_HAVE_MODFL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc56 # At line number 3158
+ .long .LASF902 # The macro: "_GLIBCXX_HAVE_NETDB_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc59 # At line number 3161
+ .long .LASF903 # The macro: "_GLIBCXX_HAVE_NETINET_IN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc5c # At line number 3164
+ .long .LASF904 # The macro: "_GLIBCXX_HAVE_NETINET_TCP_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc65 # At line number 3173
+ .long .LASF905 # The macro: "_GLIBCXX_HAVE_OPENAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc68 # At line number 3176
+ .long .LASF906 # The macro: "_GLIBCXX_HAVE_O_NONBLOCK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc6b # At line number 3179
+ .long .LASF907 # The macro: "_GLIBCXX_HAVE_POLL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc6e # At line number 3182
+ .long .LASF908 # The macro: "_GLIBCXX_HAVE_POLL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc71 # At line number 3185
+ .long .LASF909 # The macro: "_GLIBCXX_HAVE_POSIX_MEMALIGN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc75 # At line number 3189
+ .long .LASF910 # The macro: "_GLIBCXX_HAVE_POSIX_SEMAPHORE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc78 # At line number 3192
+ .long .LASF911 # The macro: "_GLIBCXX_HAVE_POWF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc7b # At line number 3195
+ .long .LASF912 # The macro: "_GLIBCXX_HAVE_POWL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc81 # At line number 3201
+ .long .LASF913 # The macro: "_GLIBCXX_HAVE_QUICK_EXIT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc84 # At line number 3204
+ .long .LASF914 # The macro: "_GLIBCXX_HAVE_READLINK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc87 # At line number 3207
+ .long .LASF915 # The macro: "_GLIBCXX_HAVE_SECURE_GETENV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8a # At line number 3210
+ .long .LASF916 # The macro: "_GLIBCXX_HAVE_SETENV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8d # At line number 3213
+ .long .LASF917 # The macro: "_GLIBCXX_HAVE_SINCOS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc90 # At line number 3216
+ .long .LASF918 # The macro: "_GLIBCXX_HAVE_SINCOSF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc93 # At line number 3219
+ .long .LASF919 # The macro: "_GLIBCXX_HAVE_SINCOSL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc96 # At line number 3222
+ .long .LASF920 # The macro: "_GLIBCXX_HAVE_SINF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc99 # At line number 3225
+ .long .LASF921 # The macro: "_GLIBCXX_HAVE_SINHF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9c # At line number 3228
+ .long .LASF922 # The macro: "_GLIBCXX_HAVE_SINHL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9f # At line number 3231
+ .long .LASF923 # The macro: "_GLIBCXX_HAVE_SINL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca5 # At line number 3237
+ .long .LASF924 # The macro: "_GLIBCXX_HAVE_SOCKATMARK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca8 # At line number 3240
+ .long .LASF925 # The macro: "_GLIBCXX_HAVE_SQRTF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcab # At line number 3243
+ .long .LASF926 # The macro: "_GLIBCXX_HAVE_SQRTL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcae # At line number 3246
+ .long .LASF927 # The macro: "_GLIBCXX_HAVE_STACKTRACE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb1 # At line number 3249
+ .long .LASF928 # The macro: "_GLIBCXX_HAVE_STDALIGN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb4 # At line number 3252
+ .long .LASF929 # The macro: "_GLIBCXX_HAVE_STDBOOL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb7 # At line number 3255
+ .long .LASF930 # The macro: "_GLIBCXX_HAVE_STDINT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcba # At line number 3258
+ .long .LASF931 # The macro: "_GLIBCXX_HAVE_STDLIB_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcbd # At line number 3261
+ .long .LASF932 # The macro: "_GLIBCXX_HAVE_STRERROR_L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc0 # At line number 3264
+ .long .LASF933 # The macro: "_GLIBCXX_HAVE_STRERROR_R 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc3 # At line number 3267
+ .long .LASF934 # The macro: "_GLIBCXX_HAVE_STRINGS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc6 # At line number 3270
+ .long .LASF935 # The macro: "_GLIBCXX_HAVE_STRING_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc9 # At line number 3273
+ .long .LASF936 # The macro: "_GLIBCXX_HAVE_STRTOF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xccc # At line number 3276
+ .long .LASF937 # The macro: "_GLIBCXX_HAVE_STRTOLD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xccf # At line number 3279
+ .long .LASF938 # The macro: "_GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd2 # At line number 3282
+ .long .LASF939 # The macro: "_GLIBCXX_HAVE_STRXFRM_L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd5 # At line number 3285
+ .long .LASF940 # The macro: "_GLIBCXX_HAVE_SYMLINK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd9 # At line number 3289
+ .long .LASF941 # The macro: "_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcdf # At line number 3295
+ .long .LASF942 # The macro: "_GLIBCXX_HAVE_SYS_IOCTL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xce2 # At line number 3298
+ .long .LASF943 # The macro: "_GLIBCXX_HAVE_SYS_IPC_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xceb # At line number 3307
+ .long .LASF944 # The macro: "_GLIBCXX_HAVE_SYS_MMAN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcee # At line number 3310
+ .long .LASF945 # The macro: "_GLIBCXX_HAVE_SYS_PARAM_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf1 # At line number 3313
+ .long .LASF946 # The macro: "_GLIBCXX_HAVE_SYS_RESOURCE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf4 # At line number 3316
+ .long .LASF947 # The macro: "_GLIBCXX_HAVE_SYS_SDT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf7 # At line number 3319
+ .long .LASF948 # The macro: "_GLIBCXX_HAVE_SYS_SEM_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcfa # At line number 3322
+ .long .LASF949 # The macro: "_GLIBCXX_HAVE_SYS_SOCKET_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcfd # At line number 3325
+ .long .LASF950 # The macro: "_GLIBCXX_HAVE_SYS_STATVFS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd00 # At line number 3328
+ .long .LASF951 # The macro: "_GLIBCXX_HAVE_SYS_STAT_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd03 # At line number 3331
+ .long .LASF952 # The macro: "_GLIBCXX_HAVE_SYS_SYSINFO_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd06 # At line number 3334
+ .long .LASF953 # The macro: "_GLIBCXX_HAVE_SYS_TIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd09 # At line number 3337
+ .long .LASF954 # The macro: "_GLIBCXX_HAVE_SYS_TYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd0c # At line number 3340
+ .long .LASF955 # The macro: "_GLIBCXX_HAVE_SYS_UIO_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd12 # At line number 3346
+ .long .LASF956 # The macro: "_GLIBCXX_HAVE_S_ISREG 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd15 # At line number 3349
+ .long .LASF957 # The macro: "_GLIBCXX_HAVE_TANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd18 # At line number 3352
+ .long .LASF958 # The macro: "_GLIBCXX_HAVE_TANHF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd1b # At line number 3355
+ .long .LASF959 # The macro: "_GLIBCXX_HAVE_TANHL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd1e # At line number 3358
+ .long .LASF960 # The macro: "_GLIBCXX_HAVE_TANL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd21 # At line number 3361
+ .long .LASF961 # The macro: "_GLIBCXX_HAVE_TGMATH_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd24 # At line number 3364
+ .long .LASF962 # The macro: "_GLIBCXX_HAVE_TIMESPEC_GET 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2a # At line number 3370
+ .long .LASF963 # The macro: "_GLIBCXX_HAVE_TLS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2d # At line number 3373
+ .long .LASF964 # The macro: "_GLIBCXX_HAVE_TRUNCATE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd30 # At line number 3376
+ .long .LASF965 # The macro: "_GLIBCXX_HAVE_UCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd33 # At line number 3379
+ .long .LASF966 # The macro: "_GLIBCXX_HAVE_UNISTD_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd36 # At line number 3382
+ .long .LASF967 # The macro: "_GLIBCXX_HAVE_UNLINKAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd39 # At line number 3385
+ .long .LASF968 # The macro: "_GLIBCXX_HAVE_USELOCALE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd3f # At line number 3391
+ .long .LASF969 # The macro: "_GLIBCXX_HAVE_UTIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd42 # At line number 3394
+ .long .LASF970 # The macro: "_GLIBCXX_HAVE_VFWSCANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd45 # At line number 3397
+ .long .LASF971 # The macro: "_GLIBCXX_HAVE_VSWSCANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd48 # At line number 3400
+ .long .LASF972 # The macro: "_GLIBCXX_HAVE_VWSCANF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd4b # At line number 3403
+ .long .LASF973 # The macro: "_GLIBCXX_HAVE_WCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd4e # At line number 3406
+ .long .LASF974 # The macro: "_GLIBCXX_HAVE_WCSTOF 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd51 # At line number 3409
+ .long .LASF975 # The macro: "_GLIBCXX_HAVE_WCTYPE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd57 # At line number 3415
+ .long .LASF976 # The macro: "_GLIBCXX_HAVE_WRITEV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd66 # At line number 3430
+ .long .LASF977 # The macro: "_GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd69 # At line number 3433
+ .long .LASF978 # The macro: "_GLIBCXX_ICONV_CONST "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd6d # At line number 3437
+ .long .LASF979 # The macro: "_GLIBCXX_LT_OBJDIR ".libs/""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd73 # At line number 3443
+ .long .LASF980 # The macro: "_GLIBCXX_PACKAGE_BUGREPORT """
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd76 # At line number 3446
+ .long .LASF981 # The macro: "_GLIBCXX_PACKAGE_NAME "package-unused""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd79 # At line number 3449
+ .long .LASF982 # The macro: "_GLIBCXX_PACKAGE_STRING "package-unused version-unused""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd7c # At line number 3452
+ .long .LASF983 # The macro: "_GLIBCXX_PACKAGE_TARNAME "libstdc++""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd7f # At line number 3455
+ .long .LASF984 # The macro: "_GLIBCXX_PACKAGE_URL """
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd82 # At line number 3458
+ .long .LASF985 # The macro: "_GLIBCXX_PACKAGE__GLIBCXX_VERSION "version-unused""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd85 # At line number 3461
+ .long .LASF986 # The macro: "_GLIBCXX_STDC_HEADERS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd8c # At line number 3468
+ .long .LASF987 # The macro: "_GLIBCXX_DARWIN_USE_64_BIT_INODE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd95 # At line number 3477
+ .long .LASF988 # The macro: "_GLIBCXX11_USE_C99_COMPLEX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd99 # At line number 3481
+ .long .LASF989 # The macro: "_GLIBCXX11_USE_C99_MATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd9d # At line number 3485
+ .long .LASF990 # The macro: "_GLIBCXX11_USE_C99_STDIO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xda1 # At line number 3489
+ .long .LASF991 # The macro: "_GLIBCXX11_USE_C99_STDLIB 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xda5 # At line number 3493
+ .long .LASF992 # The macro: "_GLIBCXX11_USE_C99_WCHAR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdaa # At line number 3498
+ .long .LASF993 # The macro: "_GLIBCXX98_USE_C99_COMPLEX 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdae # At line number 3502
+ .long .LASF994 # The macro: "_GLIBCXX98_USE_C99_MATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdb2 # At line number 3506
+ .long .LASF995 # The macro: "_GLIBCXX98_USE_C99_STDIO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdb6 # At line number 3510
+ .long .LASF996 # The macro: "_GLIBCXX98_USE_C99_STDLIB 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdba # At line number 3514
+ .long .LASF997 # The macro: "_GLIBCXX98_USE_C99_WCHAR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdbd # At line number 3517
+ .long .LASF998 # The macro: "_GLIBCXX_ATOMIC_BUILTINS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc1 # At line number 3521
+ .long .LASF999 # The macro: "_GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc8 # At line number 3528
+ .long .LASF1000 # The macro: "_GLIBCXX_FULLY_DYNAMIC_STRING 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdcb # At line number 3531
+ .long .LASF1001 # The macro: "_GLIBCXX_HAS_GTHREADS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdce # At line number 3534
+ .long .LASF1002 # The macro: "_GLIBCXX_HOSTED __STDC_HOSTED__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdd6 # At line number 3542
+ .long .LASF1003 # The macro: "_GLIBCXX_MANGLE_SIZE_T m"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xde2 # At line number 3554
+ .long .LASF1004 # The macro: "_GLIBCXX_RES_LIMITS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdeb # At line number 3563
+ .long .LASF1005 # The macro: "_GLIBCXX_STDIO_EOF -1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdee # At line number 3566
+ .long .LASF1006 # The macro: "_GLIBCXX_STDIO_SEEK_CUR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdf1 # At line number 3569
+ .long .LASF1007 # The macro: "_GLIBCXX_STDIO_SEEK_END 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdf4 # At line number 3572
+ .long .LASF1008 # The macro: "_GLIBCXX_SYMVER 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdfa # At line number 3578
+ .long .LASF1009 # The macro: "_GLIBCXX_SYMVER_GNU 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe04 # At line number 3588
+ .long .LASF1010 # The macro: "_GLIBCXX_USE_C11_UCHAR_CXX11 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe08 # At line number 3592
+ .long .LASF1011 # The macro: "_GLIBCXX_USE_C99 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe0d # At line number 3597
+ .long .LASF1012 # The macro: "_GLIBCXX_USE_C99_COMPLEX_ARC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe12 # At line number 3602
+ .long .LASF1013 # The macro: "_GLIBCXX_USE_C99_COMPLEX_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe16 # At line number 3606
+ .long .LASF1014 # The macro: "_GLIBCXX_USE_C99_CTYPE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe1a # At line number 3610
+ .long .LASF1015 # The macro: "_GLIBCXX_USE_C99_CTYPE_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe1e # At line number 3614
+ .long .LASF1016 # The macro: "_GLIBCXX_USE_C99_FENV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe22 # At line number 3618
+ .long .LASF1017 # The macro: "_GLIBCXX_USE_C99_FENV_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe26 # At line number 3622
+ .long .LASF1018 # The macro: "_GLIBCXX_USE_C99_INTTYPES 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe2a # At line number 3626
+ .long .LASF1019 # The macro: "_GLIBCXX_USE_C99_INTTYPES_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe2e # At line number 3630
+ .long .LASF1020 # The macro: "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe32 # At line number 3634
+ .long .LASF1021 # The macro: "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe36 # At line number 3638
+ .long .LASF1022 # The macro: "_GLIBCXX_USE_C99_MATH_FUNCS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe3a # At line number 3642
+ .long .LASF1023 # The macro: "_GLIBCXX_USE_C99_MATH_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe3e # At line number 3646
+ .long .LASF1024 # The macro: "_GLIBCXX_USE_C99_STDINT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe42 # At line number 3650
+ .long .LASF1025 # The macro: "_GLIBCXX_USE_C99_STDINT_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe45 # At line number 3653
+ .long .LASF1026 # The macro: "_GLIBCXX_USE_CHDIR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe48 # At line number 3656
+ .long .LASF1027 # The macro: "_GLIBCXX_USE_CHMOD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe4f # At line number 3663
+ .long .LASF1028 # The macro: "_GLIBCXX_USE_CLOCK_MONOTONIC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe52 # At line number 3666
+ .long .LASF1029 # The macro: "_GLIBCXX_USE_CLOCK_REALTIME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe59 # At line number 3673
+ .long .LASF1030 # The macro: "_GLIBCXX_USE_DECIMAL_FLOAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe5d # At line number 3677
+ .long .LASF1031 # The macro: "_GLIBCXX_USE_DEV_RANDOM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe60 # At line number 3680
+ .long .LASF1032 # The macro: "_GLIBCXX_USE_FCHMOD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe63 # At line number 3683
+ .long .LASF1033 # The macro: "_GLIBCXX_USE_FCHMODAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe66 # At line number 3686
+ .long .LASF1034 # The macro: "_GLIBCXX_USE_FSEEKO_FTELLO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe69 # At line number 3689
+ .long .LASF1035 # The macro: "_GLIBCXX_USE_GETCWD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6c # At line number 3692
+ .long .LASF1036 # The macro: "_GLIBCXX_USE_GETTIMEOFDAY 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6f # At line number 3695
+ .long .LASF1037 # The macro: "_GLIBCXX_USE_GET_NPROCS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe72 # At line number 3698
+ .long .LASF1038 # The macro: "_GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe75 # At line number 3701
+ .long .LASF1039 # The macro: "_GLIBCXX_USE_LFS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe78 # At line number 3704
+ .long .LASF1040 # The macro: "_GLIBCXX_USE_LONG_LONG 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe7b # At line number 3707
+ .long .LASF1041 # The macro: "_GLIBCXX_USE_LSTAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe7e # At line number 3710
+ .long .LASF1042 # The macro: "_GLIBCXX_USE_MKDIR 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe81 # At line number 3713
+ .long .LASF1043 # The macro: "_GLIBCXX_USE_NANOSLEEP 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe84 # At line number 3716
+ .long .LASF1044 # The macro: "_GLIBCXX_USE_NLS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe87 # At line number 3719
+ .long .LASF1045 # The macro: "_GLIBCXX_USE_NL_LANGINFO_L 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe8d # At line number 3725
+ .long .LASF1046 # The macro: "_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe90 # At line number 3728
+ .long .LASF1047 # The macro: "_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK (_GLIBCXX_TSAN==0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe94 # At line number 3732
+ .long .LASF1048 # The macro: "_GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe97 # At line number 3735
+ .long .LASF1049 # The macro: "_GLIBCXX_USE_PTHREAD_RWLOCK_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe9b # At line number 3739
+ .long .LASF1050 # The macro: "_GLIBCXX_USE_RANDOM_TR1 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe9e # At line number 3742
+ .long .LASF1051 # The macro: "_GLIBCXX_USE_REALPATH 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xea1 # At line number 3745
+ .long .LASF1052 # The macro: "_GLIBCXX_USE_SCHED_YIELD 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xea4 # At line number 3748
+ .long .LASF1053 # The macro: "_GLIBCXX_USE_SC_NPROCESSORS_ONLN 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeaa # At line number 3754
+ .long .LASF1054 # The macro: "_GLIBCXX_USE_SENDFILE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeb0 # At line number 3760
+ .long .LASF1055 # The macro: "_GLIBCXX_USE_STRUCT_TM_TM_ZONE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeb3 # At line number 3763
+ .long .LASF1056 # The macro: "_GLIBCXX_USE_ST_MTIM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeb9 # At line number 3769
+ .long .LASF1057 # The macro: "_GLIBCXX_USE_TMPNAM 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xebd # At line number 3773
+ .long .LASF1058 # The macro: "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec1 # At line number 3777
+ .long .LASF1059 # The macro: "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec4 # At line number 3780
+ .long .LASF1060 # The macro: "_GLIBCXX_USE_UTIME 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xec8 # At line number 3784
+ .long .LASF1061 # The macro: "_GLIBCXX_USE_UTIMENSAT 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xecb # At line number 3787
+ .long .LASF1062 # The macro: "_GLIBCXX_USE_WCHAR_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xed4 # At line number 3796
+ .long .LASF1063 # The macro: "_GLIBCXX_VERBOSE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xed7 # At line number 3799
+ .long .LASF1064 # The macro: "_GLIBCXX_X86_RDRAND 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xeda # At line number 3802
+ .long .LASF1065 # The macro: "_GLIBCXX_X86_RDSEED 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xedd # At line number 3805
+ .long .LASF1066 # The macro: "_GLIBCXX_ZONEINFO_DIR "/usr/share/zoneinfo""
+ .byte 0x5 # Define macro strp
+ .uleb128 0xee0 # At line number 3808
+ .long .LASF1067 # The macro: "_GTHREAD_USE_MUTEX_TIMEDLOCK 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.new.45.14daa5310e6c27c6800c0ff00fae2903,comdat
+.Ldebug_macro16:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1073 # The macro: "__glibcxx_want_launder "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1074 # The macro: "__glibcxx_want_hardware_interference_size "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1075 # The macro: "__glibcxx_want_destroying_delete "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1076 # The macro: "__glibcxx_want_constexpr_new "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.0b9e7054804f0f6f91d57c80dd7f547b,comdat
+.Ldebug_macro17:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1079 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1083 # The macro: "__glibcxx_is_null_pointer 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1085 # The macro: "__glibcxx_result_of_sfinae 201210L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1089 # The macro: "__glibcxx_is_swappable 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1091 # The macro: "__glibcxx_void_t 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe # At line number 190
+ .long .LASF1102 # The macro: "__glibcxx_integral_constant_callable 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8 # At line number 200
+ .long .LASF1104 # The macro: "__glibcxx_is_final 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6 # At line number 230
+ .long .LASF1110 # The macro: "__glibcxx_transformation_trait_aliases 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1114 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1116 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1140 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19f # At line number 415
+ .long .LASF1146 # The macro: "__glibcxx_bool_constant 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b3 # At line number 435
+ .long .LASF1150 # The macro: "__glibcxx_has_unique_object_representations 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1bd # At line number 445
+ .long .LASF1152 # The macro: "__glibcxx_hardware_interference_size 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1bf # At line number 447
+ .long .LASF1153 # The macro: "__cpp_lib_hardware_interference_size 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d1 # At line number 465
+ .long .LASF1157 # The macro: "__glibcxx_is_aggregate 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1db # At line number 475
+ .long .LASF1159 # The macro: "__glibcxx_is_invocable 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e5 # At line number 485
+ .long .LASF1161 # The macro: "__glibcxx_launder 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e7 # At line number 487
+ .long .LASF1162 # The macro: "__cpp_lib_launder 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ef # At line number 495
+ .long .LASF1164 # The macro: "__glibcxx_logical_traits 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1166 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20d # At line number 525
+ .long .LASF1170 # The macro: "__glibcxx_type_trait_variable_templates 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.new.201.1eb3e1860491e06c4f6a2a2ab9b40193,comdat
+.Ldebug_macro18:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9 # At line number 201
+ .long .LASF1354 # The macro: "_GLIBCXX_PLACEMENT_CONSTEXPR inline"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd6 # At line number 214
+ .long .LASF1355 # The macro: "_GLIBCXX_PLACEMENT_CONSTEXPR"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.exception_defines.h.31.ca6841b9be3287386aafc5c717935b2e,comdat
+.Ldebug_macro19:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1357 # The macro: "_EXCEPTION_DEFINES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1358 # The macro: "__try try"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1359 # The macro: "__catch(X) catch(X)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1360 # The macro: "__throw_exception_again throw"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.type_traits.30.22003fcb9485c4dd55557aae4be38779,comdat
+.Ldebug_macro20:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1362 # The macro: "_GLIBCXX_TYPE_TRAITS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1363 # The macro: "__glibcxx_want_bool_constant "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1364 # The macro: "__glibcxx_want_bounded_array_traits "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1365 # The macro: "__glibcxx_want_has_unique_object_representations "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1366 # The macro: "__glibcxx_want_integral_constant_callable "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1367 # The macro: "__glibcxx_want_is_aggregate "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1368 # The macro: "__glibcxx_want_is_constant_evaluated "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1369 # The macro: "__glibcxx_want_is_final "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF1370 # The macro: "__glibcxx_want_is_invocable "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1371 # The macro: "__glibcxx_want_is_layout_compatible "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1372 # The macro: "__glibcxx_want_is_nothrow_convertible "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1373 # The macro: "__glibcxx_want_is_null_pointer "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1374 # The macro: "__glibcxx_want_is_pointer_interconvertible "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1375 # The macro: "__glibcxx_want_is_scoped_enum "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1376 # The macro: "__glibcxx_want_is_swappable "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1377 # The macro: "__glibcxx_want_is_virtual_base_of "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1378 # The macro: "__glibcxx_want_logical_traits "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1379 # The macro: "__glibcxx_want_reference_from_temporary "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1380 # The macro: "__glibcxx_want_remove_cvref "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1381 # The macro: "__glibcxx_want_result_of_sfinae "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1382 # The macro: "__glibcxx_want_transformation_trait_aliases "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1383 # The macro: "__glibcxx_want_type_identity "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1384 # The macro: "__glibcxx_want_type_trait_variable_templates "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1385 # The macro: "__glibcxx_want_unwrap_ref "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1386 # The macro: "__glibcxx_want_void_t "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.04ca65c8c659e0b8ec719f4ded8118a4,comdat
+.Ldebug_macro21:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1079 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1083 # The macro: "__glibcxx_is_null_pointer 201309L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF1387 # The macro: "__cpp_lib_is_null_pointer 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1085 # The macro: "__glibcxx_result_of_sfinae 201210L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1388 # The macro: "__cpp_lib_result_of_sfinae 201210L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1089 # The macro: "__glibcxx_is_swappable 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7a # At line number 122
+ .long .LASF1389 # The macro: "__cpp_lib_is_swappable 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1091 # The macro: "__glibcxx_void_t 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1390 # The macro: "__cpp_lib_void_t 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xbe # At line number 190
+ .long .LASF1102 # The macro: "__glibcxx_integral_constant_callable 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc0 # At line number 192
+ .long .LASF1391 # The macro: "__cpp_lib_integral_constant_callable 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8 # At line number 200
+ .long .LASF1104 # The macro: "__glibcxx_is_final 201402L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca # At line number 202
+ .long .LASF1392 # The macro: "__cpp_lib_is_final 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe6 # At line number 230
+ .long .LASF1110 # The macro: "__glibcxx_transformation_trait_aliases 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xe8 # At line number 232
+ .long .LASF1393 # The macro: "__cpp_lib_transformation_trait_aliases 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1114 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1116 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1140 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19f # At line number 415
+ .long .LASF1146 # The macro: "__glibcxx_bool_constant 201505L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a1 # At line number 417
+ .long .LASF1394 # The macro: "__cpp_lib_bool_constant 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b3 # At line number 435
+ .long .LASF1150 # The macro: "__glibcxx_has_unique_object_representations 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b5 # At line number 437
+ .long .LASF1395 # The macro: "__cpp_lib_has_unique_object_representations 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d1 # At line number 465
+ .long .LASF1157 # The macro: "__glibcxx_is_aggregate 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d3 # At line number 467
+ .long .LASF1396 # The macro: "__cpp_lib_is_aggregate 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1db # At line number 475
+ .long .LASF1159 # The macro: "__glibcxx_is_invocable 201703L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1dd # At line number 477
+ .long .LASF1397 # The macro: "__cpp_lib_is_invocable 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1ef # At line number 495
+ .long .LASF1164 # The macro: "__glibcxx_logical_traits 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f1 # At line number 497
+ .long .LASF1398 # The macro: "__cpp_lib_logical_traits 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1166 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20d # At line number 525
+ .long .LASF1170 # The macro: "__glibcxx_type_trait_variable_templates 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20f # At line number 527
+ .long .LASF1399 # The macro: "__cpp_lib_type_trait_variable_templates 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.move.h.197.554053be3e47ff971b6f2e34fb57d41b,comdat
+.Ldebug_macro22:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc5 # At line number 197
+ .long .LASF1401 # The macro: "_GLIBCXX_FWDREF(_Tp) _Tp&&"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc6 # At line number 198
+ .long .LASF1402 # The macro: "_GLIBCXX_MOVE(__val) std::move(__val)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc7 # At line number 199
+ .long .LASF1403 # The macro: "_GLIBCXX_FORWARD(_Tp,__val) std::forward<_Tp>(__val)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.new_allocator.h.116.1a2b510fb95ea5ea4197559f239d362f,comdat
+.Ldebug_macro23:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1404 # The macro: "_GLIBCXX_OPERATOR_NEW __builtin_operator_new"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1405 # The macro: "_GLIBCXX_OPERATOR_DELETE __builtin_operator_delete"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9f # At line number 159
+ .long .LASF1406 # The macro: "_GLIBCXX_SIZED_DEALLOC(p,n) (p), (n) * sizeof(_Tp)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xaf # At line number 175
+ .long .LASF1407 # The macro: "_GLIBCXX_SIZED_DEALLOC"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1408 # The macro: "_GLIBCXX_OPERATOR_DELETE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb1 # At line number 177
+ .long .LASF1409 # The macro: "_GLIBCXX_OPERATOR_NEW"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_iterator_base_types.h.60.f5b04b2834b4a202064919a73d7a2a46,comdat
+.Ldebug_macro24:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1413 # The macro: "_STL_ITERATOR_BASE_TYPES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1414 # The macro: "_GLIBCXX26_DEF_VAL_T(T) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11e # At line number 286
+ .long .LASF1415 # The macro: "_GLIBCXX26_ALGO_DEF_VAL_T(_Iterator) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.concept_check.h.31.74a671c8485a1bc7531658609764a36b,comdat
+.Ldebug_macro25:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1417 # The macro: "_CONCEPT_CHECK_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1418 # The macro: "__glibcxx_function_requires(...) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1419 # The macro: "__glibcxx_class_requires(_a,_b) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1420 # The macro: "__glibcxx_class_requires2(_a,_b,_c) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1421 # The macro: "__glibcxx_class_requires3(_a,_b,_c,_d) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1422 # The macro: "__glibcxx_class_requires4(_a,_b,_c,_d,_e) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.assertions.h.30.d72752d74be140ecd1b957aafdcc8b28,comdat
+.Ldebug_macro26:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1423 # The macro: "_GLIBCXX_DEBUG_ASSERTIONS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1424 # The macro: "__glibcxx_requires_non_empty_range(_First,_Last) __glibcxx_assert(_First != _Last)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF1425 # The macro: "__glibcxx_requires_subscript(_N) __glibcxx_assert(_N < this->size())"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1426 # The macro: "__glibcxx_requires_nonempty() __glibcxx_assert(!this->empty())"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1427 # The macro: "_GLIBCXX_DEBUG_ASSERT(_Condition) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1428 # The macro: "_GLIBCXX_DEBUG_PEDASSERT(_Condition) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1429 # The macro: "_GLIBCXX_DEBUG_ONLY(_Statement) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_pair.h.733.b93f55d6a8f972e77632d7b03102caef,comdat
+.Ldebug_macro27:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2dd # At line number 733
+ .long .LASF1432 # The macro: "__glibcxx_no_dangling_refs(_U1,_U2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32f # At line number 815
+ .long .LASF1433 # The macro: "_GLIBCXX_DEPRECATED_PAIR_CTOR __attribute__ ((__deprecated__ ("use 'nullptr' instead of '0' to " "initialize std::pair of move-only " "type and pointer")))"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x37c # At line number 892
+ .long .LASF1434 # The macro: "_GLIBCXX_DEPRECATED_PAIR_CTOR"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3aa # At line number 938
+ .long .LASF1435 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.58bd32deac3e6c00a2eef1e72d963e8f,comdat
+.Ldebug_macro28:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1079 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1114 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1116 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1140 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1166 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cpp_type_traits.h.247.c76f5fcefeda021659c214fc4154481c,comdat
+.Ldebug_macro29:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf7 # At line number 247
+ .long .LASF1438 # The macro: "__INT_N(TYPE) __extension__ template<> struct __is_integer<TYPE> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer<unsigned TYPE> { enum { __value = 1 }; typedef __true_type __type; };"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1439 # The macro: "__INT_N"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.numeric_traits.h.97.218ab54da1c35bff7230edfa0d0219e8,comdat
+.Ldebug_macro30:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1441 # The macro: "_GLIBCXX_INT_N_TRAITS(T,WIDTH) __extension__ template<> struct __is_integer_nonstrict<T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; }; __extension__ template<> struct __is_integer_nonstrict<unsigned T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; };"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF1442 # The macro: "_GLIBCXX_INT_N_TRAITS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8f # At line number 143
+ .long .LASF1443 # The macro: "__glibcxx_floating(_Tp,_Fval,_Dval,_LDval) (std::__are_same<_Tp, float>::__value ? _Fval : std::__are_same<_Tp, double>::__value ? _Dval : _LDval)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF1444 # The macro: "__glibcxx_max_digits10(_Tp) (2 + __glibcxx_floating(_Tp, __FLT_MANT_DIG__, __DBL_MANT_DIG__, __LDBL_MANT_DIG__) * 643L / 2136)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF1445 # The macro: "__glibcxx_digits10(_Tp) __glibcxx_floating(_Tp, __FLT_DIG__, __DBL_DIG__, __LDBL_DIG__)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a # At line number 154
+ .long .LASF1446 # The macro: "__glibcxx_max_exponent10(_Tp) __glibcxx_floating(_Tp, __FLT_MAX_10_EXP__, __DBL_MAX_10_EXP__, __LDBL_MAX_10_EXP__)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb7 # At line number 183
+ .long .LASF1447 # The macro: "__glibcxx_floating"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb8 # At line number 184
+ .long .LASF1448 # The macro: "__glibcxx_max_digits10"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb9 # At line number 185
+ .long .LASF1449 # The macro: "__glibcxx_digits10"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1450 # The macro: "__glibcxx_max_exponent10"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_tempbuf.h.70.f8a9d1b22cd67f05ae2d3f2377260bc8,comdat
+.Ldebug_macro31:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1404 # The macro: "_GLIBCXX_OPERATOR_NEW __builtin_operator_new"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1405 # The macro: "_GLIBCXX_OPERATOR_DELETE __builtin_operator_delete"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1451 # The macro: "_GLIBCXX_SIZED_DEALLOC(T,p,n) (p), (n) * sizeof(T)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1407 # The macro: "_GLIBCXX_SIZED_DEALLOC"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb3 # At line number 179
+ .long .LASF1408 # The macro: "_GLIBCXX_OPERATOR_DELETE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1409 # The macro: "_GLIBCXX_OPERATOR_NEW"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_iterator.h.61.5bc243fde8a97ed55fd0715da8a10ac4,comdat
+.Ldebug_macro32:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1455 # The macro: "_STL_ITERATOR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x728 # At line number 1832
+ .long .LASF1456 # The macro: "_GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x729 # At line number 1833
+ .long .LASF1457 # The macro: "_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) std::__make_move_if_noexcept_iterator(_Iter)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.debug.h.30.14675c66734128005fe180e1012feff9,comdat
+.Ldebug_macro33:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1458 # The macro: "_GLIBCXX_DEBUG_MACRO_SWITCH_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1459 # The macro: "__glibcxx_requires_cond(_Cond,_Msg) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1460 # The macro: "__glibcxx_requires_valid_range(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x44 # At line number 68
+ .long .LASF1461 # The macro: "__glibcxx_requires_can_increment(_First,_Size) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1462 # The macro: "__glibcxx_requires_can_increment_range(_First1,_Last1,_First2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1463 # The macro: "__glibcxx_requires_can_decrement_range(_First1,_Last1,_First2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1464 # The macro: "__glibcxx_requires_sorted(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1465 # The macro: "__glibcxx_requires_sorted_pred(_First,_Last,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1466 # The macro: "__glibcxx_requires_sorted_set(_First1,_Last1,_First2) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4a # At line number 74
+ .long .LASF1467 # The macro: "__glibcxx_requires_sorted_set_pred(_First1,_Last1,_First2,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1468 # The macro: "__glibcxx_requires_partitioned_lower(_First,_Last,_Value) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4c # At line number 76
+ .long .LASF1469 # The macro: "__glibcxx_requires_partitioned_upper(_First,_Last,_Value) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF1470 # The macro: "__glibcxx_requires_partitioned_lower_pred(_First,_Last,_Value,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4e # At line number 78
+ .long .LASF1471 # The macro: "__glibcxx_requires_partitioned_upper_pred(_First,_Last,_Value,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4f # At line number 79
+ .long .LASF1472 # The macro: "__glibcxx_requires_heap(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x50 # At line number 80
+ .long .LASF1473 # The macro: "__glibcxx_requires_heap_pred(_First,_Last,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1474 # The macro: "__glibcxx_requires_string(_String) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF1475 # The macro: "__glibcxx_requires_string_len(_String,_Len) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x53 # At line number 83
+ .long .LASF1476 # The macro: "__glibcxx_requires_irreflexive(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1477 # The macro: "__glibcxx_requires_irreflexive2(_First,_Last) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1478 # The macro: "__glibcxx_requires_irreflexive_pred(_First,_Last,_Pred) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF1479 # The macro: "__glibcxx_requires_irreflexive_pred2(_First,_Last,_Pred) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.concepts.31.ea57833c2d2cf5ded5d66f52bc824ee7,comdat
+.Ldebug_macro34:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1482 # The macro: "_GLIBCXX_CONCEPTS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1483 # The macro: "__glibcxx_want_concepts "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.bit.58.ea88997f91bfc9ea788eded5c5af9f1e,comdat
+.Ldebug_macro35:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1484 # The macro: "__glibcxx_want_bit_cast "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1485 # The macro: "__glibcxx_want_byteswap "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1486 # The macro: "__glibcxx_want_bitops "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1487 # The macro: "__glibcxx_want_int_pow2 "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1488 # The macro: "__glibcxx_want_endian "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stl_algobase.h.391.f046b31537a7eda4575156a5f2152d88,comdat
+.Ldebug_macro36:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1489 # The macro: "_GLIBCXX_TO_ADDR(P) P"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x188 # At line number 392
+ .long .LASF1490 # The macro: "_GLIBCXX_ADVANCE(P,N) P += N"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a6 # At line number 678
+ .long .LASF1491 # The macro: "_GLIBCXX_MOVE3(_Tp,_Up,_Vp) std::move(_Tp, _Up, _Vp)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1492 # The macro: "_GLIBCXX_TO_ADDR"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ea # At line number 746
+ .long .LASF1493 # The macro: "_GLIBCXX_ADVANCE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x377 # At line number 887
+ .long .LASF1494 # The macro: "_GLIBCXX_MOVE_BACKWARD3(_Tp,_Up,_Vp) std::move_backward(_Tp, _Up, _Vp)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.tuple.49.28e57568481853c5a2e00d3db484dd79,comdat
+.Ldebug_macro37:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF1503 # The macro: "__glibcxx_want_constexpr_tuple "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1504 # The macro: "__glibcxx_want_tuple_element_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1505 # The macro: "__glibcxx_want_tuples_by_type "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1506 # The macro: "__glibcxx_want_apply "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1507 # The macro: "__glibcxx_want_make_from_tuple "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1508 # The macro: "__glibcxx_want_ranges_zip "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1509 # The macro: "__glibcxx_want_tuple_like "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1510 # The macro: "__glibcxx_want_constrained_equality "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.9d4b65f44a4baa3dea24bd8c586430f4,comdat
+.Ldebug_macro38:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1079 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfa # At line number 250
+ .long .LASF1114 # The macro: "__glibcxx_tuple_element_t 201402L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1511 # The macro: "__cpp_lib_tuple_element_t 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x104 # At line number 260
+ .long .LASF1116 # The macro: "__glibcxx_tuples_by_type 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x106 # At line number 262
+ .long .LASF1512 # The macro: "__cpp_lib_tuples_by_type 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x181 # At line number 385
+ .long .LASF1140 # The macro: "__glibcxx_apply 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x183 # At line number 387
+ .long .LASF1513 # The macro: "__cpp_lib_apply 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f9 # At line number 505
+ .long .LASF1166 # The macro: "__glibcxx_make_from_tuple 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1fb # At line number 507
+ .long .LASF1514 # The macro: "__cpp_lib_make_from_tuple 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.tuple.1435.d67aea3b9a6325c4550c93c814ec362b,comdat
+.Ldebug_macro39:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x59b # At line number 1435
+ .long .LASF1435 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1515 # The macro: "__glibcxx_no_dangling_refs(U) "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x819 # At line number 2073
+ .long .LASF1435 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x822 # At line number 2082
+ .long .LASF1432 # The macro: "__glibcxx_no_dangling_refs(_U1,_U2) "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xbd3 # At line number 3027
+ .long .LASF1435 # The macro: "__glibcxx_no_dangling_refs"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.functional_hash.h.118.388637d73fc5240c0e876c238ef18aa3,comdat
+.Ldebug_macro40:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1520 # The macro: "_Cxx_hashtable_define_trivial_hash(_Tp) template<> struct hash<_Tp> : public __hash_base<size_t, _Tp> { size_t operator()(_Tp __val) const noexcept { return static_cast<size_t>(__val); } };"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xca # At line number 202
+ .long .LASF1521 # The macro: "_Cxx_hashtable_define_trivial_hash"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.24.10c1a3649a347ee5acc556316eedb15a,comdat
+.Ldebug_macro41:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1528 # The macro: "_WCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF1529 # The macro: "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.libcheaderstart.h.31.ef39b7b23471fa34d163e8083abf71d4,comdat
+.Ldebug_macro42:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1530 # The macro: "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1531 # The macro: "__GLIBC_USE_LIB_EXT2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1532 # The macro: "__GLIBC_USE_LIB_EXT2 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1533 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1534 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1535 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT_C23"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1536 # The macro: "__GLIBC_USE_IEC_60559_BFP_EXT_C23 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f # At line number 79
+ .long .LASF1537 # The macro: "__GLIBC_USE_IEC_60559_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1538 # The macro: "__GLIBC_USE_IEC_60559_EXT 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1539 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1540 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1541 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x62 # At line number 98
+ .long .LASF1542 # The macro: "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1543 # The macro: "__GLIBC_USE_IEC_60559_TYPES_EXT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF1544 # The macro: "__GLIBC_USE_IEC_60559_TYPES_EXT 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.floatn.h.20.40a9ac728e59b3a32d20c30e247f330a,comdat
+.Ldebug_macro43:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1545 # The macro: "_BITS_FLOATN_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1546 # The macro: "__HAVE_FLOAT128 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1547 # The macro: "__HAVE_DISTINCT_FLOAT128 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1548 # The macro: "__HAVE_FLOAT64X 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1549 # The macro: "__HAVE_FLOAT64X_LONG_DOUBLE 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1550 # The macro: "__f128(x) x ##f128"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF1551 # The macro: "__CFLOAT128 _Complex _Float128"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.floatncommon.h.34.df172c769a97023fbe97facd72e1212b,comdat
+.Ldebug_macro44:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1553 # The macro: "__HAVE_FLOAT16 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1554 # The macro: "__HAVE_FLOAT32 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1555 # The macro: "__HAVE_FLOAT64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1556 # The macro: "__HAVE_FLOAT32X 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF1557 # The macro: "__HAVE_FLOAT128X 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1558 # The macro: "__HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1559 # The macro: "__HAVE_DISTINCT_FLOAT32 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1560 # The macro: "__HAVE_DISTINCT_FLOAT64 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1561 # The macro: "__HAVE_DISTINCT_FLOAT32X 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1562 # The macro: "__HAVE_DISTINCT_FLOAT64X 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1563 # The macro: "__HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1564 # The macro: "__HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1565 # The macro: "__HAVE_FLOATN_NOT_TYPEDEF 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1566 # The macro: "__f32(x) x ##f32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1567 # The macro: "__f64(x) x ##f64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1568 # The macro: "__f32x(x) x ##f32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1569 # The macro: "__f64x(x) x ##f64x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF1570 # The macro: "__CFLOAT32 _Complex _Float32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa3 # At line number 163
+ .long .LASF1571 # The macro: "__CFLOAT64 _Complex _Float64"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xab # At line number 171
+ .long .LASF1572 # The macro: "__CFLOAT32X _Complex _Float32x"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb7 # At line number 183
+ .long .LASF1573 # The macro: "__CFLOAT64X _Complex _Float64x"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.32.859ec9de6e76762773b13581955bbb2b,comdat
+.Ldebug_macro45:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1574 # The macro: "__need_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1575 # The macro: "__need_wchar_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1576 # The macro: "__need_NULL "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.200.c4d2c1d067703956b4be3d13d3c90377,comdat
+.Ldebug_macro46:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc8 # At line number 200
+ .long .LASF1577 # The macro: "__size_t__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc9 # At line number 201
+ .long .LASF1578 # The macro: "__SIZE_T__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xca # At line number 202
+ .long .LASF1579 # The macro: "_SIZE_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcb # At line number 203
+ .long .LASF1580 # The macro: "_SYS_SIZE_T_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcc # At line number 204
+ .long .LASF1581 # The macro: "_T_SIZE_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcd # At line number 205
+ .long .LASF1582 # The macro: "_T_SIZE "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1583 # The macro: "__SIZE_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xcf # At line number 207
+ .long .LASF1584 # The macro: "_SIZE_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd0 # At line number 208
+ .long .LASF1585 # The macro: "_BSD_SIZE_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd1 # At line number 209
+ .long .LASF1586 # The macro: "_SIZE_T_DEFINED_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1587 # The macro: "_SIZE_T_DEFINED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd3 # At line number 211
+ .long .LASF1588 # The macro: "_BSD_SIZE_T_DEFINED_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd4 # At line number 212
+ .long .LASF1589 # The macro: "_SIZE_T_DECLARED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd5 # At line number 213
+ .long .LASF1590 # The macro: "__DEFINED_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd6 # At line number 214
+ .long .LASF1591 # The macro: "___int_size_t_h "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd7 # At line number 215
+ .long .LASF1592 # The macro: "_GCC_SIZE_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1593 # The macro: "_SIZET_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdf # At line number 223
+ .long .LASF1594 # The macro: "__size_t "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1595 # The macro: "__need_size_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11a # At line number 282
+ .long .LASF1596 # The macro: "__wchar_t__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11b # At line number 283
+ .long .LASF1597 # The macro: "__WCHAR_T__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11c # At line number 284
+ .long .LASF1598 # The macro: "_WCHAR_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1599 # The macro: "_T_WCHAR_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11e # At line number 286
+ .long .LASF1600 # The macro: "_T_WCHAR "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11f # At line number 287
+ .long .LASF1601 # The macro: "__WCHAR_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x120 # At line number 288
+ .long .LASF1602 # The macro: "_WCHAR_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x121 # At line number 289
+ .long .LASF1603 # The macro: "_BSD_WCHAR_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x122 # At line number 290
+ .long .LASF1604 # The macro: "_WCHAR_T_DEFINED_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1605 # The macro: "_WCHAR_T_DEFINED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x124 # At line number 292
+ .long .LASF1606 # The macro: "_WCHAR_T_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x125 # At line number 293
+ .long .LASF1607 # The macro: "___int_wchar_t_h "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x126 # At line number 294
+ .long .LASF1608 # The macro: "__INT_WCHAR_T_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1609 # The macro: "_GCC_WCHAR_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x128 # At line number 296
+ .long .LASF1610 # The macro: "_WCHAR_T_DECLARED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x129 # At line number 297
+ .long .LASF1611 # The macro: "__DEFINED_wchar_t "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x136 # At line number 310
+ .long .LASF1612 # The macro: "_BSD_WCHAR_T_"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16c # At line number 364
+ .long .LASF1613 # The macro: "__need_wchar_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF1614 # The macro: "NULL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a0 # At line number 416
+ .long .LASF1615 # The macro: "NULL __null"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1616 # The macro: "__need_NULL"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stdarg.h.34.3a23a216c0c293b3d2ea2e89281481e6,comdat
+.Ldebug_macro47:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1618 # The macro: "__need___va_list"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF1619 # The macro: "__GNUC_VA_LIST "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.20.510818a05484290d697a517509bf4b2d,comdat
+.Ldebug_macro48:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1621 # The macro: "_BITS_WCHAR_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1622 # The macro: "__WCHAR_MAX __WCHAR_MAX__"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1623 # The macro: "__WCHAR_MIN __WCHAR_MIN__"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wint_t.h.2.b153cb48df5337e6e56fe1404a1b29c5,comdat
+.Ldebug_macro49:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1624 # The macro: "__wint_t_defined 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa # At line number 10
+ .long .LASF1625 # The macro: "_WINT_T 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.wchar.h.65.e3fe15defaa684f3e64fa6c530673c3a,comdat
+.Ldebug_macro50:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1632 # The macro: "__CORRECT_ISO_CPP_WCHAR_H_PROTO "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1633 # The macro: "WCHAR_MIN __WCHAR_MIN"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1634 # The macro: "WCHAR_MAX __WCHAR_MAX"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1635 # The macro: "WEOF (0xffffffffu)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c9 # At line number 713
+ .long .LASF1636 # The macro: "__attr_dealloc_fclose "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cwchar.70.10f0ac513f08a236e4be3486931c2c1b,comdat
+.Ldebug_macro51:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1637 # The macro: "btowc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1638 # The macro: "fgetwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1639 # The macro: "fgetws"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1640 # The macro: "fputwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a # At line number 74
+ .long .LASF1641 # The macro: "fputws"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1642 # The macro: "fwide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c # At line number 76
+ .long .LASF1643 # The macro: "fwprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF1644 # The macro: "fwscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e # At line number 78
+ .long .LASF1645 # The macro: "getwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f # At line number 79
+ .long .LASF1646 # The macro: "getwchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x50 # At line number 80
+ .long .LASF1647 # The macro: "mbrlen"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1648 # The macro: "mbrtowc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF1649 # The macro: "mbsinit"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x53 # At line number 83
+ .long .LASF1650 # The macro: "mbsrtowcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1651 # The macro: "putwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x55 # At line number 85
+ .long .LASF1652 # The macro: "putwchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF1653 # The macro: "swprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF1654 # The macro: "swscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF1655 # The macro: "ungetwc"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1656 # The macro: "vfwprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1657 # The macro: "vfwscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1658 # The macro: "vswprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1659 # The macro: "vswscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1660 # The macro: "vwprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1661 # The macro: "vwscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1662 # The macro: "wcrtomb"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF1663 # The macro: "wcscat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1664 # The macro: "wcschr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1665 # The macro: "wcscmp"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1666 # The macro: "wcscoll"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1667 # The macro: "wcscpy"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF1668 # The macro: "wcscspn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1669 # The macro: "wcsftime"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1670 # The macro: "wcslen"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1671 # The macro: "wcsncat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1672 # The macro: "wcsncmp"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1673 # The macro: "wcsncpy"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1674 # The macro: "wcspbrk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1675 # The macro: "wcsrchr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF1676 # The macro: "wcsrtombs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1677 # The macro: "wcsspn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1678 # The macro: "wcsstr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1679 # The macro: "wcstod"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1680 # The macro: "wcstof"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a # At line number 122
+ .long .LASF1681 # The macro: "wcstok"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b # At line number 123
+ .long .LASF1682 # The macro: "wcstol"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c # At line number 124
+ .long .LASF1683 # The macro: "wcstoul"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1684 # The macro: "wcsxfrm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1685 # The macro: "wctob"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF1686 # The macro: "wmemchr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x80 # At line number 128
+ .long .LASF1687 # The macro: "wmemcmp"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF1688 # The macro: "wmemcpy"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1689 # The macro: "wmemmove"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF1690 # The macro: "wmemset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1691 # The macro: "wprintf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF1692 # The macro: "wscanf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf2 # At line number 242
+ .long .LASF1693 # The macro: "wcstold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf3 # At line number 243
+ .long .LASF1694 # The macro: "wcstoll"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf4 # At line number 244
+ .long .LASF1695 # The macro: "wcstoull"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.typeinfo.30.311085fb6803c6c86c2ae5d923e63677,comdat
+.Ldebug_macro52:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1697 # The macro: "_TYPEINFO "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1698 # The macro: "__glibcxx_want_constexpr_typeinfo "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.27d86c228edb584b68e180abfd62a984,comdat
+.Ldebug_macro53:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1079 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.typeinfo.73.1788909457a301848ebd50ac4a1d7613,comdat
+.Ldebug_macro54:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1699 # The macro: "__GXX_MERGED_TYPEINFO_NAMES 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1700 # The macro: "__GXX_TYPEINFO_EQUALITY_INLINE 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.refwrap.h.31.907281f023ab9c0ecb0f514bf04ae7a0,comdat
+.Ldebug_macro55:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1702 # The macro: "_GLIBCXX_REFWRAP_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1703 # The macro: "_GLIBCXX_MEM_FN_TRAITS2(_CV,_REF,_LVAL,_RVAL) template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) _CV _REF> : _Mem_fn_traits_base<_Res, _CV _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) _CV _REF> : _Mem_fn_traits_base<_Res, _CV _Class, _ArgTypes...> { using __vararg = true_type; };"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1704 # The macro: "_GLIBCXX_MEM_FN_TRAITS(_REF,_LVAL,_RVAL) _GLIBCXX_MEM_FN_TRAITS2( , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(volatile , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const volatile, _REF, _LVAL, _RVAL)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1705 # The macro: "_GLIBCXX_MEM_FN_TRAITS"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1706 # The macro: "_GLIBCXX_MEM_FN_TRAITS2"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.gthrdefault.h.27.30a03623e42919627c5b0e155787471b,comdat
+.Ldebug_macro56:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1710 # The macro: "_GLIBCXX_GCC_GTHR_POSIX_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1711 # The macro: "__GTHREADS 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1712 # The macro: "__GTHREADS_CXX0X 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.types.h.109.56eb9ae966b255288cc544f18746a7ff,comdat
+.Ldebug_macro57:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1716 # The macro: "__S16_TYPE short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1717 # The macro: "__U16_TYPE unsigned short int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1718 # The macro: "__S32_TYPE int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1719 # The macro: "__U32_TYPE unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1720 # The macro: "__SLONGWORD_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1721 # The macro: "__ULONGWORD_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80 # At line number 128
+ .long .LASF1722 # The macro: "__SQUAD_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF1723 # The macro: "__UQUAD_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1724 # The macro: "__SWORD_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x83 # At line number 131
+ .long .LASF1725 # The macro: "__UWORD_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1726 # The macro: "__SLONG32_TYPE int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF1727 # The macro: "__ULONG32_TYPE unsigned int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86 # At line number 134
+ .long .LASF1728 # The macro: "__S64_TYPE long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF1729 # The macro: "__U64_TYPE unsigned long int"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x89 # At line number 137
+ .long .LASF1730 # The macro: "__STD_TYPE typedef"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.typesizes.h.24.ccf5919b8e01b553263cf8f4ab1d5fde,comdat
+.Ldebug_macro58:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1731 # The macro: "_BITS_TYPESIZES_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1732 # The macro: "__SYSCALL_SLONG_TYPE __SLONGWORD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1733 # The macro: "__SYSCALL_ULONG_TYPE __ULONGWORD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF1734 # The macro: "__DEV_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF1735 # The macro: "__UID_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1736 # The macro: "__GID_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1737 # The macro: "__INO_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1738 # The macro: "__INO64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1739 # The macro: "__MODE_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1740 # The macro: "__NLINK_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1741 # The macro: "__FSWORD_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1742 # The macro: "__OFF_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1743 # The macro: "__OFF64_T_TYPE __SQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1744 # The macro: "__PID_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1745 # The macro: "__RLIM_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1746 # The macro: "__RLIM64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1747 # The macro: "__BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF1748 # The macro: "__BLKCNT64_T_TYPE __SQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1749 # The macro: "__FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF1750 # The macro: "__FSBLKCNT64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1751 # The macro: "__FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1752 # The macro: "__FSFILCNT64_T_TYPE __UQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1753 # The macro: "__ID_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF1754 # The macro: "__CLOCK_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1755 # The macro: "__TIME_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1756 # The macro: "__USECONDS_T_TYPE __U32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1757 # The macro: "__SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF1758 # The macro: "__SUSECONDS64_T_TYPE __SQUAD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x44 # At line number 68
+ .long .LASF1759 # The macro: "__DADDR_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1760 # The macro: "__KEY_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1761 # The macro: "__CLOCKID_T_TYPE __S32_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1762 # The macro: "__TIMER_T_TYPE void *"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1763 # The macro: "__BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x49 # At line number 73
+ .long .LASF1764 # The macro: "__FSID_T_TYPE struct { int __val[2]; }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4a # At line number 74
+ .long .LASF1765 # The macro: "__SSIZE_T_TYPE __SWORD_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1766 # The macro: "__CPU_MASK_TYPE __SYSCALL_ULONG_TYPE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1767 # The macro: "__OFF_T_MATCHES_OFF64_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1768 # The macro: "__INO_T_MATCHES_INO64_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x57 # At line number 87
+ .long .LASF1769 # The macro: "__RLIM_T_MATCHES_RLIM64_T 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1770 # The macro: "__STATFS_MATCHES_STATFS64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1771 # The macro: "__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1772 # The macro: "__FD_SETSIZE 1024"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time64.h.24.a8166ae916ec910dab0d8987098d42ee,comdat
+.Ldebug_macro59:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1773 # The macro: "_BITS_TIME64_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1774 # The macro: "__TIME64_T_TYPE __TIME_T_TYPE"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.27.ebf7af1e1d56fba9b2f5e63b6e60d64f,comdat
+.Ldebug_macro60:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1574 # The macro: "__need_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1576 # The macro: "__need_NULL "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.252.48df7efd2eec7c5dc2cb2bd0904069e0,comdat
+.Ldebug_macro61:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1595 # The macro: "__need_size_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF1614 # The macro: "NULL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a0 # At line number 416
+ .long .LASF1615 # The macro: "NULL __null"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1616 # The macro: "__need_NULL"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.endian.h.20.efabd1018df5d7b4052c27dc6bdd5ce5,comdat
+.Ldebug_macro62:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1778 # The macro: "_BITS_ENDIAN_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1779 # The macro: "__LITTLE_ENDIAN 1234"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF1780 # The macro: "__BIG_ENDIAN 4321"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1781 # The macro: "__PDP_ENDIAN 3412"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.endianness.h.2.2c6a211f7909f3af5e9e9cfa3b6b63c8,comdat
+.Ldebug_macro63:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1782 # The macro: "_BITS_ENDIANNESS_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9 # At line number 9
+ .long .LASF1783 # The macro: "__BYTE_ORDER __LITTLE_ENDIAN"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.endian.h.40.9e5d395adda2f4eb53ae69b69b664084,comdat
+.Ldebug_macro64:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1784 # The macro: "__FLOAT_WORD_ORDER __BYTE_ORDER"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1785 # The macro: "__LONG_LONG_PAIR(HI,LO) LO, HI"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.21.0fa6cb99c7cdaf5d5eb874d94ea7116a,comdat
+.Ldebug_macro65:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1787 # The macro: "_BITS_SCHED_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1788 # The macro: "SCHED_OTHER 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1789 # The macro: "SCHED_FIFO 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF1790 # The macro: "SCHED_RR 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x20 # At line number 32
+ .long .LASF1791 # The macro: "SCHED_NORMAL 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1792 # The macro: "SCHED_BATCH 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1793 # The macro: "SCHED_ISO 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1794 # The macro: "SCHED_IDLE 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1795 # The macro: "SCHED_DEADLINE 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1796 # The macro: "SCHED_EXT 7"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1797 # The macro: "SCHED_RESET_ON_FORK 0x40000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1798 # The macro: "SCHED_FLAG_RESET_ON_FORK 0x01"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1799 # The macro: "SCHED_FLAG_RECLAIM 0x02"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1800 # The macro: "SCHED_FLAG_DL_OVERRUN 0x04"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1801 # The macro: "SCHED_FLAG_KEEP_POLICY 0x08"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1802 # The macro: "SCHED_FLAG_KEEP_PARAMS 0x10"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1803 # The macro: "SCHED_FLAG_UTIL_CLAMP_MIN 0x20"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF1804 # The macro: "SCHED_FLAG_UTIL_CLAMP_MAX 0x40"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1805 # The macro: "SCHED_FLAG_KEEP_ALL (SCHED_FLAG_KEEP_POLICY | SCHED_FLAG_KEEP_PARAMS)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1806 # The macro: "SCHED_FLAG_UTIL_CLAMP (SCHED_FLAG_UTIL_CLAMP_MIN | SCHED_FLAG_UTIL_CLAMP_MAX)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1807 # The macro: "sched_param __glibc_mask_sched_param"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.bitsperlong.h.3.81201f16c5ebf9ebeb0f369d7d7d8e27,comdat
+.Ldebug_macro66:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1812 # The macro: "__ASM_X86_BITSPERLONG_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6 # At line number 6
+ .long .LASF1813 # The macro: "__BITS_PER_LONG 64"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.bitsperlong.h.3.c81570a1b11d23e1da1277c0e6d6abad,comdat
+.Ldebug_macro67:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1814 # The macro: "__ASM_GENERIC_BITS_PER_LONG "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1815 # The macro: "__BITS_PER_LONG_LONG 64"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.3.30f7c09bd532ee2f949603c349599342,comdat
+.Ldebug_macro68:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1817 # The macro: "_LINUX_STDDEF_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf # At line number 15
+ .long .LASF1818 # The macro: "__struct_group_tag(TAG) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x21 # At line number 33
+ .long .LASF1819 # The macro: "__struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; } ATTRS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1820 # The macro: "__DECLARE_FLEX_ARRAY(T,member) T member[0]"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1821 # The macro: "__counted_by(m) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1822 # The macro: "__counted_by_le(m) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x46 # At line number 70
+ .long .LASF1823 # The macro: "__counted_by_be(m) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.posix_types.h.22.ce27b629270cbb91230af7498cb5994b,comdat
+.Ldebug_macro69:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16 # At line number 22
+ .long .LASF1824 # The macro: "__FD_SETSIZE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17 # At line number 23
+ .long .LASF1772 # The macro: "__FD_SETSIZE 1024"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.posix_types_64.h.3.c35937438f2f85070758d4696b933189,comdat
+.Ldebug_macro70:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3 # At line number 3
+ .long .LASF1825 # The macro: "_ASM_X86_POSIX_TYPES_64_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd # At line number 13
+ .long .LASF1826 # The macro: "__kernel_old_uid_t __kernel_old_uid_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10 # At line number 16
+ .long .LASF1827 # The macro: "__kernel_old_dev_t __kernel_old_dev_t"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.types.h.25.5e03dcce3b8caa26d2b50a3b7f9269de,comdat
+.Ldebug_macro71:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19 # At line number 25
+ .long .LASF1829 # The macro: "__bitwise "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1830 # The macro: "__bitwise__ __bitwise"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1831 # The macro: "__aligned_u64 __u64 __attribute__((aligned(8)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF1832 # The macro: "__aligned_s64 __s64 __attribute__((aligned(8)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1833 # The macro: "__aligned_be64 __be64 __attribute__((aligned(8)))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF1834 # The macro: "__aligned_le64 __le64 __attribute__((aligned(8)))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.types.h.7.d8bedba570dbee0f3b10d2711797b3ea,comdat
+.Ldebug_macro72:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7 # At line number 7
+ .long .LASF1835 # The macro: "SCHED_ATTR_SIZE_VER0 48"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8 # At line number 8
+ .long .LASF1836 # The macro: "SCHED_ATTR_SIZE_VER1 56"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.64.0da2abe4c551d0d3a1777f85f829b986,comdat
+.Ldebug_macro73:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1837 # The macro: "sched_param"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF1838 # The macro: "CSIGNAL 0x000000ff"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1839 # The macro: "CLONE_VM 0x00000100"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1840 # The macro: "CLONE_FS 0x00000200"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1841 # The macro: "CLONE_FILES 0x00000400"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1842 # The macro: "CLONE_SIGHAND 0x00000800"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1843 # The macro: "CLONE_PIDFD 0x00001000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1844 # The macro: "CLONE_PTRACE 0x00002000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1845 # The macro: "CLONE_VFORK 0x00004000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x62 # At line number 98
+ .long .LASF1846 # The macro: "CLONE_PARENT 0x00008000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF1847 # The macro: "CLONE_THREAD 0x00010000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1848 # The macro: "CLONE_NEWNS 0x00020000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF1849 # The macro: "CLONE_SYSVSEM 0x00040000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1850 # The macro: "CLONE_SETTLS 0x00080000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1851 # The macro: "CLONE_PARENT_SETTID 0x00100000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1852 # The macro: "CLONE_CHILD_CLEARTID 0x00200000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1853 # The macro: "CLONE_DETACHED 0x00400000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1854 # The macro: "CLONE_UNTRACED 0x00800000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1855 # The macro: "CLONE_CHILD_SETTID 0x01000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1856 # The macro: "CLONE_NEWCGROUP 0x02000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF1857 # The macro: "CLONE_NEWUTS 0x04000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF1858 # The macro: "CLONE_NEWIPC 0x08000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1859 # The macro: "CLONE_NEWUSER 0x10000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1860 # The macro: "CLONE_NEWPID 0x20000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1861 # The macro: "CLONE_NEWNET 0x40000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1862 # The macro: "CLONE_IO 0x80000000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b # At line number 123
+ .long .LASF1863 # The macro: "CLONE_NEWTIME 0x00000080"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cpuset.h.21.819c5d0fbb06c94c4652b537360ff25a,comdat
+.Ldebug_macro74:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1865 # The macro: "_BITS_CPU_SET_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1866 # The macro: "__CPU_SETSIZE 1024"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1d # At line number 29
+ .long .LASF1867 # The macro: "__NCPUBITS (8 * sizeof (__cpu_mask))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23 # At line number 35
+ .long .LASF1868 # The macro: "__CPUELT(cpu) ((cpu) / __NCPUBITS)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF1869 # The macro: "__CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1870 # The macro: "__CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\0', setsize); while (0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1871 # The macro: "__CPU_SET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1872 # The macro: "__CPU_CLR_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x48 # At line number 72
+ .long .LASF1873 # The macro: "__CPU_ISSET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x50 # At line number 80
+ .long .LASF1874 # The macro: "__CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x54 # At line number 84
+ .long .LASF1875 # The macro: "__CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1876 # The macro: "__CPU_OP_S(setsize,destset,srcset1,srcset2,op) (__extension__ ({ cpu_set_t *__dest = (destset); const __cpu_mask *__arr1 = (srcset1)->__bits; const __cpu_mask *__arr2 = (srcset2)->__bits; size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; __dest; }))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1877 # The macro: "__CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1878 # The macro: "__CPU_ALLOC(count) __sched_cpualloc (count)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1879 # The macro: "__CPU_FREE(cpuset) __sched_cpufree (cpuset)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.sched.h.47.e67ad745c847e33c4e7b201dc9f663a6,comdat
+.Ldebug_macro75:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1880 # The macro: "sched_priority sched_priority"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1881 # The macro: "__sched_priority sched_priority"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1882 # The macro: "CPU_SETSIZE __CPU_SETSIZE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1883 # The macro: "CPU_SET(cpu,cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1884 # The macro: "CPU_CLR(cpu,cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5e # At line number 94
+ .long .LASF1885 # The macro: "CPU_ISSET(cpu,cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1886 # The macro: "CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1887 # The macro: "CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1888 # The macro: "CPU_SET_S(cpu,setsize,cpusetp) __CPU_SET_S (cpu, setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF1889 # The macro: "CPU_CLR_S(cpu,setsize,cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1890 # The macro: "CPU_ISSET_S(cpu,setsize,cpusetp) __CPU_ISSET_S (cpu, setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1891 # The macro: "CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1892 # The macro: "CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1893 # The macro: "CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1894 # The macro: "CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1895 # The macro: "CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1896 # The macro: "CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF1897 # The macro: "CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1898 # The macro: "CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1899 # The macro: "CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x79 # At line number 121
+ .long .LASF1900 # The macro: "CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7c # At line number 124
+ .long .LASF1901 # The macro: "CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1902 # The macro: "CPU_ALLOC(count) __CPU_ALLOC (count)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1903 # The macro: "CPU_FREE(cpuset) __CPU_FREE (cpuset)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time.h.23.18ede267f3a48794bef4705df80339de,comdat
+.Ldebug_macro76:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x17 # At line number 23
+ .long .LASF1904 # The macro: "_TIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1574 # The macro: "__need_size_t "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1576 # The macro: "__need_NULL "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time.h.24.2a1e1114b014e13763222c5cd6400760,comdat
+.Ldebug_macro77:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18 # At line number 24
+ .long .LASF1905 # The macro: "_BITS_TIME_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22 # At line number 34
+ .long .LASF1906 # The macro: "CLOCKS_PER_SEC ((__clock_t) 1000000)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e # At line number 46
+ .long .LASF1907 # The macro: "CLOCK_REALTIME 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1908 # The macro: "CLOCK_MONOTONIC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x32 # At line number 50
+ .long .LASF1909 # The macro: "CLOCK_PROCESS_CPUTIME_ID 2"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF1910 # The macro: "CLOCK_THREAD_CPUTIME_ID 3"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF1911 # The macro: "CLOCK_MONOTONIC_RAW 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1912 # The macro: "CLOCK_REALTIME_COARSE 5"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1913 # The macro: "CLOCK_MONOTONIC_COARSE 6"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF1914 # The macro: "CLOCK_BOOTTIME 7"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF1915 # The macro: "CLOCK_REALTIME_ALARM 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x40 # At line number 64
+ .long .LASF1916 # The macro: "CLOCK_BOOTTIME_ALARM 9"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x42 # At line number 66
+ .long .LASF1917 # The macro: "CLOCK_TAI 11"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x45 # At line number 69
+ .long .LASF1918 # The macro: "TIMER_ABSTIME 1"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.timex.h.88.8db50feb82d841a67daef3e223fd9324,comdat
+.Ldebug_macro78:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x58 # At line number 88
+ .long .LASF1921 # The macro: "ADJ_OFFSET 0x0001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x59 # At line number 89
+ .long .LASF1922 # The macro: "ADJ_FREQUENCY 0x0002"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF1923 # The macro: "ADJ_MAXERROR 0x0004"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1924 # The macro: "ADJ_ESTERROR 0x0008"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5c # At line number 92
+ .long .LASF1925 # The macro: "ADJ_STATUS 0x0010"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF1926 # The macro: "ADJ_TIMECONST 0x0020"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5e # At line number 94
+ .long .LASF1927 # The macro: "ADJ_TAI 0x0080"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF1928 # The macro: "ADJ_SETOFFSET 0x0100"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x60 # At line number 96
+ .long .LASF1929 # The macro: "ADJ_MICRO 0x1000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF1930 # The macro: "ADJ_NANO 0x2000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x62 # At line number 98
+ .long .LASF1931 # The macro: "ADJ_TICK 0x4000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x63 # At line number 99
+ .long .LASF1932 # The macro: "ADJ_OFFSET_SINGLESHOT 0x8001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF1933 # The macro: "ADJ_OFFSET_SS_READ 0xa001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF1934 # The macro: "MOD_OFFSET ADJ_OFFSET"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF1935 # The macro: "MOD_FREQUENCY ADJ_FREQUENCY"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF1936 # The macro: "MOD_MAXERROR ADJ_MAXERROR"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF1937 # The macro: "MOD_ESTERROR ADJ_ESTERROR"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF1938 # The macro: "MOD_STATUS ADJ_STATUS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF1939 # The macro: "MOD_TIMECONST ADJ_TIMECONST"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF1940 # The macro: "MOD_CLKB ADJ_TICK"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1941 # The macro: "MOD_CLKA ADJ_OFFSET_SINGLESHOT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF1942 # The macro: "MOD_TAI ADJ_TAI"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF1943 # The macro: "MOD_MICRO ADJ_MICRO"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF1944 # The macro: "MOD_NANO ADJ_NANO"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF1945 # The macro: "STA_PLL 0x0001"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x76 # At line number 118
+ .long .LASF1946 # The macro: "STA_PPSFREQ 0x0002"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x77 # At line number 119
+ .long .LASF1947 # The macro: "STA_PPSTIME 0x0004"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x78 # At line number 120
+ .long .LASF1948 # The macro: "STA_FLL 0x0008"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7a # At line number 122
+ .long .LASF1949 # The macro: "STA_INS 0x0010"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7b # At line number 123
+ .long .LASF1950 # The macro: "STA_DEL 0x0020"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7c # At line number 124
+ .long .LASF1951 # The macro: "STA_UNSYNC 0x0040"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7d # At line number 125
+ .long .LASF1952 # The macro: "STA_FREQHOLD 0x0080"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF1953 # The macro: "STA_PPSSIGNAL 0x0100"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x80 # At line number 128
+ .long .LASF1954 # The macro: "STA_PPSJITTER 0x0200"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF1955 # The macro: "STA_PPSWANDER 0x0400"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x82 # At line number 130
+ .long .LASF1956 # The macro: "STA_PPSERROR 0x0800"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x84 # At line number 132
+ .long .LASF1957 # The macro: "STA_CLOCKERR 0x1000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x85 # At line number 133
+ .long .LASF1958 # The macro: "STA_NANO 0x2000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x86 # At line number 134
+ .long .LASF1959 # The macro: "STA_MODE 0x4000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x87 # At line number 135
+ .long .LASF1960 # The macro: "STA_CLK 0x8000"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8a # At line number 138
+ .long .LASF1961 # The macro: "STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.time.h.65.ad8b7cdf304665ee800a89090a0d61aa,comdat
+.Ldebug_macro79:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1967 # The macro: "TIME_UTC 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xef # At line number 239
+ .long .LASF1968 # The macro: "__isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pthreadtypesarch.h.25.6063cba99664c916e22d3a912bcc348a,comdat
+.Ldebug_macro80:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x19 # At line number 25
+ .long .LASF1972 # The macro: "__SIZEOF_PTHREAD_MUTEX_T 40"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF1973 # The macro: "__SIZEOF_PTHREAD_ATTR_T 56"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b # At line number 27
+ .long .LASF1974 # The macro: "__SIZEOF_PTHREAD_RWLOCK_T 56"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c # At line number 28
+ .long .LASF1975 # The macro: "__SIZEOF_PTHREAD_BARRIER_T 32"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29 # At line number 41
+ .long .LASF1976 # The macro: "__SIZEOF_PTHREAD_MUTEXATTR_T 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1977 # The macro: "__SIZEOF_PTHREAD_COND_T 48"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b # At line number 43
+ .long .LASF1978 # The macro: "__SIZEOF_PTHREAD_CONDATTR_T 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF1979 # The macro: "__SIZEOF_PTHREAD_RWLOCKATTR_T 8"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF1980 # The macro: "__SIZEOF_PTHREAD_BARRIERATTR_T 4"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF1981 # The macro: "__LOCK_ALIGNMENT "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x30 # At line number 48
+ .long .LASF1982 # The macro: "__ONCE_ALIGNMENT "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.struct_mutex.h.20.e3a8115b63766b45e6c385382ab210bd,comdat
+.Ldebug_macro81:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14 # At line number 20
+ .long .LASF1984 # The macro: "_THREAD_MUTEX_INTERNAL_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25 # At line number 37
+ .long .LASF1985 # The macro: "__PTHREAD_MUTEX_HAVE_PREV 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF1986 # The macro: "__PTHREAD_MUTEX_INITIALIZER(__kind) 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL }"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.struct_rwlock.h.21.0254880f2904e3833fb8ae683e0f0330,comdat
+.Ldebug_macro82:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x15 # At line number 21
+ .long .LASF1987 # The macro: "_RWLOCK_INTERNAL_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1988 # The macro: "__PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF1989 # The macro: "__PTHREAD_RWLOCK_INITIALIZER(__flags) 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.__sigset_t.h.2.6b1ab6ff3d7b8fd9c0c42b0d80afbd80,comdat
+.Ldebug_macro83:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2 # At line number 2
+ .long .LASF1993 # The macro: "____sigset_t_defined "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4 # At line number 4
+ .long .LASF1994 # The macro: "_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pthread_stack_mindynamic.h.22.a920bc0766cffdef9d211057c8bee7ba,comdat
+.Ldebug_macro84:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16 # At line number 22
+ .long .LASF1996 # The macro: "__SC_THREAD_STACK_MIN_VALUE 75"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a # At line number 26
+ .long .LASF1997 # The macro: "PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.pthread.h.40.aa18493bac84a5edd35d6ba449181dda,comdat
+.Ldebug_macro85:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF1998 # The macro: "PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF1999 # The macro: "PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF2000 # The macro: "PTHREAD_MUTEX_INITIALIZER { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5d # At line number 93
+ .long .LASF2001 # The macro: "PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5f # At line number 95
+ .long .LASF2002 # The macro: "PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x61 # At line number 97
+ .long .LASF2003 # The macro: "PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF2004 # The macro: "PTHREAD_RWLOCK_INITIALIZER { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF2005 # The macro: "PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x7f # At line number 127
+ .long .LASF2006 # The macro: "PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x81 # At line number 129
+ .long .LASF2007 # The macro: "PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x89 # At line number 137
+ .long .LASF2008 # The macro: "PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8b # At line number 139
+ .long .LASF2009 # The macro: "PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF2010 # The macro: "PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x95 # At line number 149
+ .long .LASF2011 # The macro: "PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9b # At line number 155
+ .long .LASF2012 # The macro: "PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xab # At line number 171
+ .long .LASF2013 # The macro: "PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xad # At line number 173
+ .long .LASF2014 # The macro: "PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb2 # At line number 178
+ .long .LASF2015 # The macro: "PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF2016 # The macro: "PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb6 # At line number 182
+ .long .LASF2017 # The macro: "PTHREAD_CANCELED ((void *) -1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF2018 # The macro: "PTHREAD_ONCE_INIT 0"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xc1 # At line number 193
+ .long .LASF2019 # The macro: "PTHREAD_BARRIER_SERIAL_THREAD -1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a6 # At line number 422
+ .long .LASF2020 # The macro: "PTHREAD_ATTR_NO_SIGMASK_NP (-1)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x228 # At line number 552
+ .long .LASF2021 # The macro: "__cleanup_fct_attribute "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x250 # At line number 592
+ .long .LASF2022 # The macro: "pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x256 # At line number 598
+ .long .LASF2023 # The macro: "pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25e # At line number 606
+ .long .LASF2024 # The macro: "pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer ()"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x266 # At line number 614
+ .long .LASF2025 # The macro: "pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.gthrdefault.h.49.776f7f6d916a6e544d813c72e9649b80,comdat
+.Ldebug_macro86:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x31 # At line number 49
+ .long .LASF2026 # The macro: "__GTHREAD_ALWAYS_INLINE __attribute__((__always_inline__))"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF2027 # The macro: "__GTHREAD_INLINE inline __GTHREAD_ALWAYS_INLINE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF2028 # The macro: "__GTHREAD_HAS_COND 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF2029 # The macro: "__GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4e # At line number 78
+ .long .LASF2030 # The macro: "__GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x52 # At line number 82
+ .long .LASF2031 # The macro: "__GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56 # At line number 86
+ .long .LASF2032 # The macro: "__GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5a # At line number 90
+ .long .LASF2033 # The macro: "__GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF2034 # The macro: "__GTHREAD_TIME_INIT {0,0}"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF2035 # The macro: "__gthrw2(name,name2,type) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x75 # At line number 117
+ .long .LASF2036 # The macro: "__gthrw_(name) name"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x79 # At line number 121
+ .long .LASF2037 # The macro: "__gthrw(name) __gthrw2(__gthrw_ ## name,name,name)"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d7 # At line number 983
+ .long .LASF2038 # The macro: "__GTHREAD_INLINE"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d8 # At line number 984
+ .long .LASF2039 # The macro: "__GTHREAD_ALWAYS_INLINE"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.atomic_word.h.30.9e0ac69fd462d5e650933e05133b4afa,comdat
+.Ldebug_macro87:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1e # At line number 30
+ .long .LASF2040 # The macro: "_GLIBCXX_ATOMIC_WORD_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24 # At line number 36
+ .long .LASF2041 # The macro: "_GLIBCXX_READ_MEM_BARRIER __atomic_thread_fence (__ATOMIC_ACQUIRE)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x26 # At line number 38
+ .long .LASF2042 # The macro: "_GLIBCXX_WRITE_MEM_BARRIER __atomic_thread_fence (__ATOMIC_RELEASE)"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.exception.31.b7d845aa1bc0759048241eca7b2b3a8a,comdat
+.Ldebug_macro88:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2045 # The macro: "__EXCEPTION__ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF2046 # The macro: "__glibcxx_want_uncaught_exceptions "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.3e356afe9fc49338ddf8c6cb48ea7fb4,comdat
+.Ldebug_macro89:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x41 # At line number 65
+ .long .LASF1079 # The macro: "__glibcxx_uncaught_exceptions 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x43 # At line number 67
+ .long .LASF2047 # The macro: "__cpp_lib_uncaught_exceptions 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.stddef.h.39.c8a8030e26a8297e31791110b80c861f,comdat
+.Ldebug_macro90:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27 # At line number 39
+ .long .LASF2050 # The macro: "_STDDEF_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x28 # At line number 40
+ .long .LASF2051 # The macro: "_STDDEF_H_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a # At line number 42
+ .long .LASF2052 # The macro: "_ANSI_STDDEF_H "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x93 # At line number 147
+ .long .LASF2053 # The macro: "_PTRDIFF_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x94 # At line number 148
+ .long .LASF2054 # The macro: "_T_PTRDIFF_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x95 # At line number 149
+ .long .LASF2055 # The macro: "_T_PTRDIFF "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF2056 # The macro: "__PTRDIFF_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x97 # At line number 151
+ .long .LASF2057 # The macro: "_PTRDIFF_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x98 # At line number 152
+ .long .LASF2058 # The macro: "_BSD_PTRDIFF_T_ "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x99 # At line number 153
+ .long .LASF2059 # The macro: "___int_ptrdiff_t_h "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9a # At line number 154
+ .long .LASF2060 # The macro: "_GCC_PTRDIFF_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9b # At line number 155
+ .long .LASF2061 # The macro: "_PTRDIFF_T_DECLARED "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF2062 # The macro: "__DEFINED_ptrdiff_t "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xad # At line number 173
+ .long .LASF2063 # The macro: "__need_ptrdiff_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xfc # At line number 252
+ .long .LASF1595 # The macro: "__need_size_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x16c # At line number 364
+ .long .LASF1613 # The macro: "__need_wchar_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19e # At line number 414
+ .long .LASF1614 # The macro: "NULL"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a0 # At line number 416
+ .long .LASF1615 # The macro: "NULL __null"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1616 # The macro: "__need_NULL"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ae # At line number 430
+ .long .LASF2064 # The macro: "offsetof"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF2065 # The macro: "offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1b4 # At line number 436
+ .long .LASF2066 # The macro: "_GCC_MAX_ALIGN_T "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c9 # At line number 457
+ .long .LASF2067 # The macro: "_GXX_NULLPTR_T "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.cxxabi_init_exception.h.44.e38819c3787893de1602efd23782161a,comdat
+.Ldebug_macro91:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c # At line number 44
+ .long .LASF2068 # The macro: "_GLIBCXX_CDTOR_CALLABI "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d # At line number 45
+ .long .LASF2069 # The macro: "_GLIBCXX_HAVE_CDTOR_CALLABI 0"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.exception_ptr.h.47.d815ed5919163856a16558bd72e9bbb6,comdat
+.Ldebug_macro92:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f # At line number 47
+ .long .LASF2070 # The macro: "_GLIBCXX_EH_PTR_USED "
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x11f # At line number 287
+ .long .LASF2071 # The macro: "_GLIBCXX_EH_PTR_USED"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.atomic_lockfree_defines.h.31.c7378ca49150c49af64f890ebd8a3b58,comdat
+.Ldebug_macro93:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1f # At line number 31
+ .long .LASF2075 # The macro: "_GLIBCXX_ATOMIC_LOCK_FREE_H 1"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x33 # At line number 51
+ .long .LASF2076 # The macro: "ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF2077 # The macro: "ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF2078 # The macro: "ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF2079 # The macro: "ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF2080 # The macro: "ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF2081 # The macro: "ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3c # At line number 60
+ .long .LASF2082 # The macro: "ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF2083 # The macro: "ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3e # At line number 62
+ .long .LASF2084 # The macro: "ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3f # At line number 63
+ .long .LASF2085 # The macro: "ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.1bab2d1f88a15dc12cc1e04c277024a3,comdat
+.Ldebug_macro94:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.atomic_base.h.166.99474906244c1847065aafe1dd57874a,comdat
+.Ldebug_macro95:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF2087 # The macro: "_GLIBCXX20_INIT(I) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF2088 # The macro: "ATOMIC_VAR_INIT(_VI) { _VI }"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd0 # At line number 208
+ .long .LASF2089 # The macro: "ATOMIC_FLAG_INIT { 0 }"
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.shared_ptr_atomic.h.52.7b1fdb82095db19eef10a15a017eba27,comdat
+.Ldebug_macro96:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x34 # At line number 52
+ .long .LASF2090 # The macro: "_GLIBCXX_TSAN_MUTEX_DESTROY(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x35 # At line number 53
+ .long .LASF2091 # The macro: "_GLIBCXX_TSAN_MUTEX_TRY_LOCK(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x36 # At line number 54
+ .long .LASF2092 # The macro: "_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF2093 # The macro: "_GLIBCXX_TSAN_MUTEX_LOCKED(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x38 # At line number 56
+ .long .LASF2094 # The macro: "_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x39 # At line number 57
+ .long .LASF2095 # The macro: "_GLIBCXX_TSAN_MUTEX_POST_UNLOCK(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3a # At line number 58
+ .long .LASF2096 # The macro: "_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL(X) "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b # At line number 59
+ .long .LASF2097 # The macro: "_GLIBCXX_TSAN_MUTEX_POST_SIGNAL(X) "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.memory.100.8a1d5fa44c5bf6978a87030b981fc4da,comdat
+.Ldebug_macro97:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x64 # At line number 100
+ .long .LASF2099 # The macro: "__glibcxx_want_allocator_traits_is_always_equal "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF2100 # The macro: "__glibcxx_want_assume_aligned "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x66 # At line number 102
+ .long .LASF2101 # The macro: "__glibcxx_want_atomic_shared_ptr "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x67 # At line number 103
+ .long .LASF2102 # The macro: "__glibcxx_want_atomic_value_initialization "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x68 # At line number 104
+ .long .LASF2103 # The macro: "__glibcxx_want_constexpr_dynamic_alloc "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x69 # At line number 105
+ .long .LASF2104 # The macro: "__glibcxx_want_constexpr_memory "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6a # At line number 106
+ .long .LASF2105 # The macro: "__glibcxx_want_enable_shared_from_this "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6b # At line number 107
+ .long .LASF2106 # The macro: "__glibcxx_want_make_unique "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6c # At line number 108
+ .long .LASF2107 # The macro: "__glibcxx_want_out_ptr "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6d # At line number 109
+ .long .LASF2108 # The macro: "__glibcxx_want_parallel_algorithm "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF2109 # The macro: "__glibcxx_want_ranges "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6f # At line number 111
+ .long .LASF2110 # The macro: "__glibcxx_want_raw_memory_algorithms "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF2111 # The macro: "__glibcxx_want_shared_ptr_arrays "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x71 # At line number 113
+ .long .LASF2112 # The macro: "__glibcxx_want_shared_ptr_weak_type "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x72 # At line number 114
+ .long .LASF2113 # The macro: "__glibcxx_want_smart_ptr_for_overwrite "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x73 # At line number 115
+ .long .LASF2114 # The macro: "__glibcxx_want_to_address "
+ .byte 0x5 # Define macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF2115 # The macro: "__glibcxx_want_transparent_operators "
+ .byte 0 # End compilation unit
+ .section .debug_macro,"G",@progbits,wm4.version.h.55.21c2af1cd6704f846902979f24b7ee22,comdat
+.Ldebug_macro98:
+ .value 0x5 # DWARF macro version number
+ .byte 0 # Flags: 32-bit
+ .byte 0x5 # Define macro strp
+ .uleb128 0x37 # At line number 55
+ .long .LASF1077 # The macro: "__glibcxx_incomplete_container_elements 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d # At line number 61
+ .long .LASF1078 # The macro: "__glibcxx_want_incomplete_container_elements"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47 # At line number 71
+ .long .LASF1080 # The macro: "__glibcxx_want_uncaught_exceptions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4b # At line number 75
+ .long .LASF1081 # The macro: "__glibcxx_allocator_traits_is_always_equal 201411L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x4d # At line number 77
+ .long .LASF2116 # The macro: "__cpp_lib_allocator_traits_is_always_equal 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51 # At line number 81
+ .long .LASF1082 # The macro: "__glibcxx_want_allocator_traits_is_always_equal"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b # At line number 91
+ .long .LASF1084 # The macro: "__glibcxx_want_is_null_pointer"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65 # At line number 101
+ .long .LASF1086 # The macro: "__glibcxx_want_result_of_sfinae"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x6e # At line number 110
+ .long .LASF1087 # The macro: "__glibcxx_shared_ptr_arrays 201611L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x70 # At line number 112
+ .long .LASF2117 # The macro: "__cpp_lib_shared_ptr_arrays 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74 # At line number 116
+ .long .LASF1088 # The macro: "__glibcxx_want_shared_ptr_arrays"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e # At line number 126
+ .long .LASF1090 # The macro: "__glibcxx_want_is_swappable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x88 # At line number 136
+ .long .LASF1092 # The macro: "__glibcxx_want_void_t"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8c # At line number 140
+ .long .LASF1093 # The macro: "__glibcxx_enable_shared_from_this 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x8e # At line number 142
+ .long .LASF2118 # The macro: "__cpp_lib_enable_shared_from_this 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x92 # At line number 146
+ .long .LASF1094 # The macro: "__glibcxx_want_enable_shared_from_this"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x96 # At line number 150
+ .long .LASF1095 # The macro: "__glibcxx_math_spec_funcs 201003L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x9c # At line number 156
+ .long .LASF1096 # The macro: "__glibcxx_want_math_spec_funcs"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xa6 # At line number 166
+ .long .LASF1097 # The macro: "__glibcxx_want_coroutine"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xaa # At line number 170
+ .long .LASF1098 # The macro: "__glibcxx_exchange_function 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xb0 # At line number 176
+ .long .LASF1099 # The macro: "__glibcxx_want_exchange_function"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xb4 # At line number 180
+ .long .LASF1100 # The macro: "__glibcxx_integer_sequence 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xba # At line number 186
+ .long .LASF1101 # The macro: "__glibcxx_want_integer_sequence"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xc4 # At line number 196
+ .long .LASF1103 # The macro: "__glibcxx_want_integral_constant_callable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xce # At line number 206
+ .long .LASF1105 # The macro: "__glibcxx_want_is_final"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xd2 # At line number 210
+ .long .LASF1106 # The macro: "__glibcxx_make_reverse_iterator 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xd8 # At line number 216
+ .long .LASF1107 # The macro: "__glibcxx_want_make_reverse_iterator"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xdc # At line number 220
+ .long .LASF1108 # The macro: "__glibcxx_null_iterators 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xe2 # At line number 226
+ .long .LASF1109 # The macro: "__glibcxx_want_null_iterators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xec # At line number 236
+ .long .LASF1111 # The macro: "__glibcxx_want_transformation_trait_aliases"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf0 # At line number 240
+ .long .LASF1112 # The macro: "__glibcxx_transparent_operators 201510L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0xf2 # At line number 242
+ .long .LASF2119 # The macro: "__cpp_lib_transparent_operators 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0xf6 # At line number 246
+ .long .LASF1113 # The macro: "__glibcxx_want_transparent_operators"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x100 # At line number 256
+ .long .LASF1115 # The macro: "__glibcxx_want_tuple_element_t"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x10a # At line number 266
+ .long .LASF1117 # The macro: "__glibcxx_want_tuples_by_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x10e # At line number 270
+ .long .LASF1118 # The macro: "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x114 # At line number 276
+ .long .LASF1119 # The macro: "__glibcxx_want_robust_nonmodifying_seq_ops"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x11d # At line number 285
+ .long .LASF1120 # The macro: "__glibcxx_to_chars 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x123 # At line number 291
+ .long .LASF1121 # The macro: "__glibcxx_want_to_chars"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x127 # At line number 295
+ .long .LASF1122 # The macro: "__glibcxx_chrono_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x12d # At line number 301
+ .long .LASF1123 # The macro: "__glibcxx_want_chrono_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x131 # At line number 305
+ .long .LASF1124 # The macro: "__glibcxx_complex_udls 201309L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x137 # At line number 311
+ .long .LASF1125 # The macro: "__glibcxx_want_complex_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x13b # At line number 315
+ .long .LASF1126 # The macro: "__glibcxx_generic_associative_lookup 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x141 # At line number 321
+ .long .LASF1127 # The macro: "__glibcxx_want_generic_associative_lookup"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x145 # At line number 325
+ .long .LASF1128 # The macro: "__glibcxx_make_unique 201304L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x147 # At line number 327
+ .long .LASF2120 # The macro: "__cpp_lib_make_unique 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x14b # At line number 331
+ .long .LASF1129 # The macro: "__glibcxx_want_make_unique"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x14f # At line number 335
+ .long .LASF1130 # The macro: "__glibcxx_quoted_string_io 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x155 # At line number 341
+ .long .LASF1131 # The macro: "__glibcxx_want_quoted_string_io"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x159 # At line number 345
+ .long .LASF1132 # The macro: "__glibcxx_shared_timed_mutex 201402L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x15f # At line number 351
+ .long .LASF1133 # The macro: "__glibcxx_want_shared_timed_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x163 # At line number 355
+ .long .LASF1134 # The macro: "__glibcxx_string_udls 201304L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x169 # At line number 361
+ .long .LASF1135 # The macro: "__glibcxx_want_string_udls"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x16d # At line number 365
+ .long .LASF1136 # The macro: "__glibcxx_addressof_constexpr 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x173 # At line number 371
+ .long .LASF1137 # The macro: "__glibcxx_want_addressof_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x177 # At line number 375
+ .long .LASF1138 # The macro: "__glibcxx_any 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x17d # At line number 381
+ .long .LASF1139 # The macro: "__glibcxx_want_any"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x187 # At line number 391
+ .long .LASF1141 # The macro: "__glibcxx_want_apply"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x18b # At line number 395
+ .long .LASF1142 # The macro: "__glibcxx_as_const 201510L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x191 # At line number 401
+ .long .LASF1143 # The macro: "__glibcxx_want_as_const"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x195 # At line number 405
+ .long .LASF1144 # The macro: "__glibcxx_atomic_is_always_lock_free 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x19b # At line number 411
+ .long .LASF1145 # The macro: "__glibcxx_want_atomic_is_always_lock_free"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1a5 # At line number 421
+ .long .LASF1147 # The macro: "__glibcxx_want_bool_constant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1a9 # At line number 425
+ .long .LASF1148 # The macro: "__glibcxx_byte 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1af # At line number 431
+ .long .LASF1149 # The macro: "__glibcxx_want_byte"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1b9 # At line number 441
+ .long .LASF1151 # The macro: "__glibcxx_want_has_unique_object_representations"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1c3 # At line number 451
+ .long .LASF1154 # The macro: "__glibcxx_want_hardware_interference_size"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x1c7 # At line number 455
+ .long .LASF1155 # The macro: "__glibcxx_invoke 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1cd # At line number 461
+ .long .LASF1156 # The macro: "__glibcxx_want_invoke"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1d7 # At line number 471
+ .long .LASF1158 # The macro: "__glibcxx_want_is_aggregate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1e1 # At line number 481
+ .long .LASF1160 # The macro: "__glibcxx_want_is_invocable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1eb # At line number 491
+ .long .LASF1163 # The macro: "__glibcxx_want_launder"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1f5 # At line number 501
+ .long .LASF1165 # The macro: "__glibcxx_want_logical_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x1ff # At line number 511
+ .long .LASF1167 # The macro: "__glibcxx_want_make_from_tuple"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x203 # At line number 515
+ .long .LASF1168 # The macro: "__glibcxx_not_fn 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x209 # At line number 521
+ .long .LASF1169 # The macro: "__glibcxx_want_not_fn"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x213 # At line number 531
+ .long .LASF1171 # The macro: "__glibcxx_want_type_trait_variable_templates"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x221 # At line number 545
+ .long .LASF1172 # The macro: "__glibcxx_variant 202102L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x227 # At line number 551
+ .long .LASF1173 # The macro: "__glibcxx_want_variant"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x22b # At line number 555
+ .long .LASF1174 # The macro: "__glibcxx_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x231 # At line number 561
+ .long .LASF1175 # The macro: "__glibcxx_want_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x235 # At line number 565
+ .long .LASF1176 # The macro: "__glibcxx_gcd 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x23b # At line number 571
+ .long .LASF1177 # The macro: "__glibcxx_want_gcd"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x23f # At line number 575
+ .long .LASF1178 # The macro: "__glibcxx_gcd_lcm 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x245 # At line number 581
+ .long .LASF1179 # The macro: "__glibcxx_want_gcd_lcm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x24e # At line number 590
+ .long .LASF1180 # The macro: "__glibcxx_raw_memory_algorithms 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x250 # At line number 592
+ .long .LASF2121 # The macro: "__cpp_lib_raw_memory_algorithms 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x254 # At line number 596
+ .long .LASF1181 # The macro: "__glibcxx_want_raw_memory_algorithms"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x25d # At line number 605
+ .long .LASF1182 # The macro: "__glibcxx_array_constexpr 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x263 # At line number 611
+ .long .LASF1183 # The macro: "__glibcxx_want_array_constexpr"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x267 # At line number 615
+ .long .LASF1184 # The macro: "__glibcxx_nonmember_container_access 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x26d # At line number 621
+ .long .LASF1185 # The macro: "__glibcxx_want_nonmember_container_access"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x271 # At line number 625
+ .long .LASF1186 # The macro: "__glibcxx_clamp 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x277 # At line number 631
+ .long .LASF1187 # The macro: "__glibcxx_want_clamp"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x27b # At line number 635
+ .long .LASF1188 # The macro: "__glibcxx_sample 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x281 # At line number 641
+ .long .LASF1189 # The macro: "__glibcxx_want_sample"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x285 # At line number 645
+ .long .LASF1190 # The macro: "__glibcxx_boyer_moore_searcher 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x28b # At line number 651
+ .long .LASF1191 # The macro: "__glibcxx_want_boyer_moore_searcher"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x294 # At line number 660
+ .long .LASF1192 # The macro: "__glibcxx_chrono 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x29a # At line number 666
+ .long .LASF1193 # The macro: "__glibcxx_want_chrono"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x29e # At line number 670
+ .long .LASF1194 # The macro: "__glibcxx_execution 201902L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2a4 # At line number 676
+ .long .LASF1195 # The macro: "__glibcxx_want_execution"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2a8 # At line number 680
+ .long .LASF1196 # The macro: "__glibcxx_filesystem 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ae # At line number 686
+ .long .LASF1197 # The macro: "__glibcxx_want_filesystem"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2b2 # At line number 690
+ .long .LASF1198 # The macro: "__glibcxx_hypot 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2b8 # At line number 696
+ .long .LASF1199 # The macro: "__glibcxx_want_hypot"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2bc # At line number 700
+ .long .LASF1200 # The macro: "__glibcxx_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2c2 # At line number 706
+ .long .LASF1201 # The macro: "__glibcxx_want_map_try_emplace"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2c6 # At line number 710
+ .long .LASF1202 # The macro: "__glibcxx_math_special_functions 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2cc # At line number 716
+ .long .LASF1203 # The macro: "__glibcxx_want_math_special_functions"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2d0 # At line number 720
+ .long .LASF1204 # The macro: "__glibcxx_memory_resource 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2db # At line number 731
+ .long .LASF1205 # The macro: "__glibcxx_want_memory_resource"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2df # At line number 735
+ .long .LASF1206 # The macro: "__glibcxx_node_extract 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2e5 # At line number 741
+ .long .LASF1207 # The macro: "__glibcxx_want_node_extract"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2e9 # At line number 745
+ .long .LASF1208 # The macro: "__glibcxx_parallel_algorithm 201603L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2eb # At line number 747
+ .long .LASF2122 # The macro: "__cpp_lib_parallel_algorithm 201603L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2ef # At line number 751
+ .long .LASF1209 # The macro: "__glibcxx_want_parallel_algorithm"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2f3 # At line number 755
+ .long .LASF1210 # The macro: "__glibcxx_scoped_lock 201703L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x2f9 # At line number 761
+ .long .LASF1211 # The macro: "__glibcxx_want_scoped_lock"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x2fd # At line number 765
+ .long .LASF1212 # The macro: "__glibcxx_shared_mutex 201505L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x303 # At line number 771
+ .long .LASF1213 # The macro: "__glibcxx_want_shared_mutex"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x307 # At line number 775
+ .long .LASF1214 # The macro: "__glibcxx_shared_ptr_weak_type 201606L"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x309 # At line number 777
+ .long .LASF2123 # The macro: "__cpp_lib_shared_ptr_weak_type 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x30d # At line number 781
+ .long .LASF1215 # The macro: "__glibcxx_want_shared_ptr_weak_type"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x316 # At line number 790
+ .long .LASF1216 # The macro: "__glibcxx_string_view 201803L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x31c # At line number 796
+ .long .LASF1217 # The macro: "__glibcxx_want_string_view"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x320 # At line number 800
+ .long .LASF1218 # The macro: "__glibcxx_unordered_map_try_emplace 201411L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x326 # At line number 806
+ .long .LASF1219 # The macro: "__glibcxx_want_unordered_map_try_emplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x330 # At line number 816
+ .long .LASF1220 # The macro: "__glibcxx_want_assume_aligned"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x33a # At line number 826
+ .long .LASF1221 # The macro: "__glibcxx_want_atomic_flag_test"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x344 # At line number 836
+ .long .LASF1222 # The macro: "__glibcxx_want_atomic_float"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x34e # At line number 846
+ .long .LASF1223 # The macro: "__glibcxx_want_atomic_lock_free_type_aliases"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x358 # At line number 856
+ .long .LASF1224 # The macro: "__glibcxx_want_atomic_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x362 # At line number 866
+ .long .LASF1225 # The macro: "__glibcxx_want_atomic_value_initialization"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x36c # At line number 876
+ .long .LASF1226 # The macro: "__glibcxx_want_bind_front"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x376 # At line number 886
+ .long .LASF1227 # The macro: "__glibcxx_want_bind_back"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x380 # At line number 896
+ .long .LASF1228 # The macro: "__glibcxx_want_starts_ends_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x38a # At line number 906
+ .long .LASF1229 # The macro: "__glibcxx_want_bit_cast"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x394 # At line number 916
+ .long .LASF1230 # The macro: "__glibcxx_want_bitops"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x39e # At line number 926
+ .long .LASF1231 # The macro: "__glibcxx_want_bounded_array_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3a8 # At line number 936
+ .long .LASF1232 # The macro: "__glibcxx_want_concepts"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x3b6 # At line number 950
+ .long .LASF1233 # The macro: "__glibcxx_optional 201606L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3bc # At line number 956
+ .long .LASF1234 # The macro: "__glibcxx_want_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3c6 # At line number 966
+ .long .LASF1235 # The macro: "__glibcxx_want_destroying_delete"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3d0 # At line number 976
+ .long .LASF1236 # The macro: "__glibcxx_want_constexpr_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3da # At line number 986
+ .long .LASF1237 # The macro: "__glibcxx_want_endian"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3e4 # At line number 996
+ .long .LASF1238 # The macro: "__glibcxx_want_int_pow2"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3ee # At line number 1006
+ .long .LASF1239 # The macro: "__glibcxx_want_integer_comparison_functions"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x3f8 # At line number 1016
+ .long .LASF1240 # The macro: "__glibcxx_want_is_constant_evaluated"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x401 # At line number 1025
+ .long .LASF1241 # The macro: "__glibcxx_constexpr_char_traits 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x407 # At line number 1031
+ .long .LASF1242 # The macro: "__glibcxx_want_constexpr_char_traits"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x411 # At line number 1041
+ .long .LASF1243 # The macro: "__glibcxx_want_is_layout_compatible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x41b # At line number 1051
+ .long .LASF1244 # The macro: "__glibcxx_want_is_nothrow_convertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x425 # At line number 1061
+ .long .LASF1245 # The macro: "__glibcxx_want_is_pointer_interconvertible"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x42f # At line number 1071
+ .long .LASF1246 # The macro: "__glibcxx_want_math_constants"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x439 # At line number 1081
+ .long .LASF1247 # The macro: "__glibcxx_want_make_obj_using_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x443 # At line number 1091
+ .long .LASF1248 # The macro: "__glibcxx_want_remove_cvref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x44d # At line number 1101
+ .long .LASF1249 # The macro: "__glibcxx_want_source_location"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x45c # At line number 1116
+ .long .LASF1250 # The macro: "__glibcxx_want_span"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x466 # At line number 1126
+ .long .LASF1251 # The macro: "__glibcxx_want_ssize"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x470 # At line number 1136
+ .long .LASF1252 # The macro: "__glibcxx_want_three_way_comparison"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x47a # At line number 1146
+ .long .LASF1253 # The macro: "__glibcxx_want_to_address"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x484 # At line number 1156
+ .long .LASF1254 # The macro: "__glibcxx_want_to_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x48e # At line number 1166
+ .long .LASF1255 # The macro: "__glibcxx_want_type_identity"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x498 # At line number 1176
+ .long .LASF1256 # The macro: "__glibcxx_want_unwrap_ref"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4a2 # At line number 1186
+ .long .LASF1257 # The macro: "__glibcxx_want_constexpr_iterator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4ac # At line number 1196
+ .long .LASF1258 # The macro: "__glibcxx_want_interpolate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4b6 # At line number 1206
+ .long .LASF1259 # The macro: "__glibcxx_want_constexpr_utility"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4c0 # At line number 1216
+ .long .LASF1260 # The macro: "__glibcxx_want_shift"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4d4 # At line number 1236
+ .long .LASF1261 # The macro: "__glibcxx_want_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4de # At line number 1246
+ .long .LASF1262 # The macro: "__glibcxx_want_constexpr_numeric"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4e8 # At line number 1256
+ .long .LASF1263 # The macro: "__glibcxx_want_constexpr_functional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x4f7 # At line number 1271
+ .long .LASF1264 # The macro: "__glibcxx_want_constexpr_algorithms"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x501 # At line number 1281
+ .long .LASF1265 # The macro: "__glibcxx_want_constexpr_tuple"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x510 # At line number 1296
+ .long .LASF1266 # The macro: "__glibcxx_want_constexpr_memory"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x51a # At line number 1306
+ .long .LASF1267 # The macro: "__glibcxx_want_atomic_shared_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x529 # At line number 1321
+ .long .LASF1268 # The macro: "__glibcxx_want_atomic_wait"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x533 # At line number 1331
+ .long .LASF1269 # The macro: "__glibcxx_want_barrier"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x542 # At line number 1346
+ .long .LASF1270 # The macro: "__glibcxx_want_format"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x54c # At line number 1356
+ .long .LASF1271 # The macro: "__glibcxx_want_format_uchar"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x556 # At line number 1366
+ .long .LASF1272 # The macro: "__glibcxx_want_constexpr_complex"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x560 # At line number 1376
+ .long .LASF1273 # The macro: "__glibcxx_want_constexpr_dynamic_alloc"
+ .byte 0x5 # Define macro strp
+ .uleb128 0x56e # At line number 1390
+ .long .LASF1274 # The macro: "__glibcxx_constexpr_string 201611L"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x574 # At line number 1396
+ .long .LASF1275 # The macro: "__glibcxx_want_constexpr_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x57e # At line number 1406
+ .long .LASF1276 # The macro: "__glibcxx_want_constexpr_vector"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x58d # At line number 1421
+ .long .LASF1277 # The macro: "__glibcxx_want_constrained_equality"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x597 # At line number 1431
+ .long .LASF1278 # The macro: "__glibcxx_want_erase_if"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5a1 # At line number 1441
+ .long .LASF1279 # The macro: "__glibcxx_want_generic_unordered_lookup"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5ab # At line number 1451
+ .long .LASF1280 # The macro: "__glibcxx_want_jthread"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5b5 # At line number 1461
+ .long .LASF1281 # The macro: "__glibcxx_want_latch"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5bf # At line number 1471
+ .long .LASF1282 # The macro: "__glibcxx_want_list_remove_return_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5c9 # At line number 1481
+ .long .LASF1283 # The macro: "__glibcxx_want_polymorphic_allocator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5d3 # At line number 1491
+ .long .LASF1284 # The macro: "__glibcxx_want_move_iterator_concept"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5dd # At line number 1501
+ .long .LASF1285 # The macro: "__glibcxx_want_semaphore"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5e7 # At line number 1511
+ .long .LASF1286 # The macro: "__glibcxx_want_smart_ptr_for_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5f1 # At line number 1521
+ .long .LASF1287 # The macro: "__glibcxx_want_syncbuf"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x5fb # At line number 1531
+ .long .LASF1288 # The macro: "__glibcxx_want_byteswap"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x605 # At line number 1541
+ .long .LASF1289 # The macro: "__glibcxx_want_constexpr_charconv"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x60f # At line number 1551
+ .long .LASF1290 # The macro: "__glibcxx_want_constexpr_typeinfo"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x619 # At line number 1561
+ .long .LASF1291 # The macro: "__glibcxx_want_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x622 # At line number 1570
+ .long .LASF1292 # The macro: "__glibcxx_want_format_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x62c # At line number 1580
+ .long .LASF1293 # The macro: "__glibcxx_want_freestanding_algorithm"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x636 # At line number 1590
+ .long .LASF1294 # The macro: "__glibcxx_want_freestanding_array"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x640 # At line number 1600
+ .long .LASF1295 # The macro: "__glibcxx_want_freestanding_cstring"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x64a # At line number 1610
+ .long .LASF1296 # The macro: "__glibcxx_want_freestanding_expected"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x654 # At line number 1620
+ .long .LASF1297 # The macro: "__glibcxx_want_freestanding_optional"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x65e # At line number 1630
+ .long .LASF1298 # The macro: "__glibcxx_want_freestanding_string_view"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x668 # At line number 1640
+ .long .LASF1299 # The macro: "__glibcxx_want_freestanding_variant"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x672 # At line number 1650
+ .long .LASF1300 # The macro: "__glibcxx_want_invoke_r"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x67c # At line number 1660
+ .long .LASF1301 # The macro: "__glibcxx_want_is_scoped_enum"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x686 # At line number 1670
+ .long .LASF1302 # The macro: "__glibcxx_want_reference_from_temporary"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x690 # At line number 1680
+ .long .LASF1303 # The macro: "__glibcxx_want_containers_ranges"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x69a # At line number 1690
+ .long .LASF1304 # The macro: "__glibcxx_want_ranges_to_container"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6a4 # At line number 1700
+ .long .LASF1305 # The macro: "__glibcxx_want_ranges_zip"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ae # At line number 1710
+ .long .LASF1306 # The macro: "__glibcxx_want_ranges_chunk"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6b8 # At line number 1720
+ .long .LASF1307 # The macro: "__glibcxx_want_ranges_slide"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6c2 # At line number 1730
+ .long .LASF1308 # The macro: "__glibcxx_want_ranges_chunk_by"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6cc # At line number 1740
+ .long .LASF1309 # The macro: "__glibcxx_want_ranges_join_with"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6d6 # At line number 1750
+ .long .LASF1310 # The macro: "__glibcxx_want_ranges_repeat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6e0 # At line number 1760
+ .long .LASF1311 # The macro: "__glibcxx_want_ranges_stride"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6ea # At line number 1770
+ .long .LASF1312 # The macro: "__glibcxx_want_ranges_cartesian_product"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6f4 # At line number 1780
+ .long .LASF1313 # The macro: "__glibcxx_want_ranges_as_rvalue"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x6fe # At line number 1790
+ .long .LASF1314 # The macro: "__glibcxx_want_ranges_as_const"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x708 # At line number 1800
+ .long .LASF1315 # The macro: "__glibcxx_want_ranges_enumerate"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x712 # At line number 1810
+ .long .LASF1316 # The macro: "__glibcxx_want_ranges_fold"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x71c # At line number 1820
+ .long .LASF1317 # The macro: "__glibcxx_want_ranges_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x726 # At line number 1830
+ .long .LASF1318 # The macro: "__glibcxx_want_ranges_iota"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x730 # At line number 1840
+ .long .LASF1319 # The macro: "__glibcxx_want_ranges_find_last"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x73a # At line number 1850
+ .long .LASF1320 # The macro: "__glibcxx_want_constexpr_bitset"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x744 # At line number 1860
+ .long .LASF1321 # The macro: "__glibcxx_want_stdatomic_h"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x74e # At line number 1870
+ .long .LASF1322 # The macro: "__glibcxx_want_adaptor_iterator_pair_constructor"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x758 # At line number 1880
+ .long .LASF1323 # The macro: "__glibcxx_want_flat_map"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x762 # At line number 1890
+ .long .LASF1324 # The macro: "__glibcxx_want_flat_set"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x76c # At line number 1900
+ .long .LASF1325 # The macro: "__glibcxx_want_formatters"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x776 # At line number 1910
+ .long .LASF1326 # The macro: "__glibcxx_want_forward_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x780 # At line number 1920
+ .long .LASF1327 # The macro: "__glibcxx_want_generator"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x78a # At line number 1930
+ .long .LASF1328 # The macro: "__glibcxx_want_ios_noreplace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x794 # At line number 1940
+ .long .LASF1329 # The macro: "__glibcxx_want_move_only_function"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x79e # At line number 1950
+ .long .LASF1330 # The macro: "__glibcxx_want_out_ptr"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7a8 # At line number 1960
+ .long .LASF1331 # The macro: "__glibcxx_want_print"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7b2 # At line number 1970
+ .long .LASF1332 # The macro: "__glibcxx_want_spanstream"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7bc # At line number 1980
+ .long .LASF1333 # The macro: "__glibcxx_want_stacktrace"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7c6 # At line number 1990
+ .long .LASF1334 # The macro: "__glibcxx_want_string_contains"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7d0 # At line number 2000
+ .long .LASF1335 # The macro: "__glibcxx_want_string_resize_and_overwrite"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7da # At line number 2010
+ .long .LASF1336 # The macro: "__glibcxx_want_to_underlying"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7e9 # At line number 2025
+ .long .LASF1337 # The macro: "__glibcxx_want_tuple_like"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7f3 # At line number 2035
+ .long .LASF1338 # The macro: "__glibcxx_want_unreachable"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x7fd # At line number 2045
+ .long .LASF1339 # The macro: "__glibcxx_want_algorithm_default_value_type"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x807 # At line number 2055
+ .long .LASF1340 # The macro: "__glibcxx_want_constexpr_new"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x811 # At line number 2065
+ .long .LASF1341 # The macro: "__glibcxx_want_fstream_native_handle"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x81b # At line number 2075
+ .long .LASF1342 # The macro: "__glibcxx_want_is_virtual_base_of"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x825 # At line number 2085
+ .long .LASF1343 # The macro: "__glibcxx_want_ranges_cache_latest"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x82f # At line number 2095
+ .long .LASF1344 # The macro: "__glibcxx_want_ranges_concat"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x839 # At line number 2105
+ .long .LASF1345 # The macro: "__glibcxx_want_ratio"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x843 # At line number 2115
+ .long .LASF1346 # The macro: "__glibcxx_want_reference_wrapper"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x84d # At line number 2125
+ .long .LASF1347 # The macro: "__glibcxx_want_saturation_arithmetic"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x857 # At line number 2135
+ .long .LASF1348 # The macro: "__glibcxx_want_span_initializer_list"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x861 # At line number 2145
+ .long .LASF1349 # The macro: "__glibcxx_want_text_encoding"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x86b # At line number 2155
+ .long .LASF1350 # The macro: "__glibcxx_want_ranges_to_input"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x875 # At line number 2165
+ .long .LASF1351 # The macro: "__glibcxx_want_to_string"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x87f # At line number 2175
+ .long .LASF1352 # The macro: "__glibcxx_want_modules"
+ .byte 0x6 # Undefine macro strp
+ .uleb128 0x881 # At line number 2177
+ .long .LASF1353 # The macro: "__glibcxx_want_all"
+ .byte 0 # End compilation unit
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF1828:
+ .string "__ASM_GENERIC_POSIX_TYPES_H "
+.LASF804:
+ .string "_PSTL_CPP14_VARIABLE_TEMPLATES_PRESENT "
+.LASF2288:
+ .string "_ZSt3getILm1EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+.LASF1871:
+ .string "__CPU_SET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))"
+.LASF1674:
+ .string "wcspbrk"
+.LASF1392:
+ .string "__cpp_lib_is_final 201402L"
+.LASF361:
+ .string "__FLT64X_HAS_QUIET_NAN__ 1"
+.LASF1326:
+ .string "__glibcxx_want_forward_like"
+.LASF1845:
+ .string "CLONE_VFORK 0x00004000"
+.LASF1051:
+ .string "_GLIBCXX_USE_REALPATH 1"
+.LASF1952:
+ .string "STA_FREQHOLD 0x0080"
+.LASF131:
+ .string "__cpp_aligned_new 201606L"
+.LASF554:
+ .string "_GLIBCXX_USE_ALLOCATOR_NEW 1"
+.LASF1978:
+ .string "__SIZEOF_PTHREAD_CONDATTR_T 4"
+.LASF871:
+ .string "_GLIBCXX_HAVE_ISINFF 1"
+.LASF2106:
+ .string "__glibcxx_want_make_unique "
+.LASF646:
+ .string "__GLIBC_USE_DEPRECATED_SCANF 0"
+.LASF1625:
+ .string "_WINT_T 1"
+.LASF1350:
+ .string "__glibcxx_want_ranges_to_input"
+.LASF1502:
+ .string "_GLIBCXX_INVOKE_H 1"
+.LASF1707:
+ .string "_ALIGNED_BUFFER_H 1"
+.LASF1285:
+ .string "__glibcxx_want_semaphore"
+.LASF284:
+ .string "__FLT32_DIG__ 6"
+.LASF1000:
+ .string "_GLIBCXX_FULLY_DYNAMIC_STRING 0"
+.LASF1120:
+ .string "__glibcxx_to_chars 201611L"
+.LASF510:
+ .string "_GLIBCXX17_INLINE inline"
+.LASF1806:
+ .string "SCHED_FLAG_UTIL_CLAMP (SCHED_FLAG_UTIL_CLAMP_MIN | SCHED_FLAG_UTIL_CLAMP_MAX)"
+.LASF655:
+ .string "__glibc_has_attribute(attr) __has_attribute (attr)"
+.LASF1785:
+ .string "__LONG_LONG_PAIR(HI,LO) LO, HI"
+.LASF2074:
+ .string "_GLIBCXX_ATOMIC_BASE_H 1"
+.LASF616:
+ .string "_DYNAMIC_STACK_SIZE_SOURCE 1"
+.LASF1796:
+ .string "SCHED_EXT 7"
+.LASF790:
+ .string "_PSTL_HIDE_FROM_ABI_PUSH "
+.LASF1748:
+ .string "__BLKCNT64_T_TYPE __SQUAD_TYPE"
+.LASF1271:
+ .string "__glibcxx_want_format_uchar"
+.LASF684:
+ .string "__ASMNAME(cname) __ASMNAME2 (__USER_LABEL_PREFIX__, cname)"
+.LASF622:
+ .string "__USE_ISOCXX11 1"
+.LASF299:
+ .string "__FLT64_MANT_DIG__ 53"
+.LASF900:
+ .string "_GLIBCXX_HAVE_MODFF 1"
+.LASF1196:
+ .string "__glibcxx_filesystem 201703L"
+.LASF2338:
+ .string "tm_sec"
+.LASF223:
+ .string "__FLT_MAX_10_EXP__ 38"
+.LASF166:
+ .string "__SIG_ATOMIC_MAX__ 0x7fffffff"
+.LASF1880:
+ .string "sched_priority sched_priority"
+.LASF1286:
+ .string "__glibcxx_want_smart_ptr_for_overwrite"
+.LASF755:
+ .string "_GLIBCXX_WEAK_DEFINITION "
+.LASF797:
+ .string "_PSTL_PRAGMA_SIMD_SCAN(PRM) _PSTL_PRAGMA(omp simd reduction(inscan, PRM))"
+.LASF640:
+ .string "__USE_MISC 1"
+.LASF782:
+ .string "_PSTL_VERSION_MAJOR (_PSTL_VERSION / 1000)"
+.LASF2369:
+ .string "_Dummy"
+.LASF1340:
+ .string "__glibcxx_want_constexpr_new"
+.LASF1642:
+ .string "fwide"
+.LASF535:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_ALGO "
+.LASF67:
+ .string "__UINT_LEAST32_TYPE__ unsigned int"
+.LASF188:
+ .string "__INT_LEAST64_WIDTH__ 64"
+.LASF1786:
+ .string "__pid_t_defined "
+.LASF2183:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE7releaseEv"
+.LASF1778:
+ .string "_BITS_ENDIAN_H 1"
+.LASF2266:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEcvbEv"
+.LASF1349:
+ .string "__glibcxx_want_text_encoding"
+.LASF1234:
+ .string "__glibcxx_want_optional"
+.LASF788:
+ .string "_PSTL_STRING(x) _PSTL_STRING_AUX(x)"
+.LASF710:
+ .string "__fortify_function __extern_always_inline __attribute_artificial__"
+.LASF387:
+ .string "__DEC64_MIN_EXP__ (-382)"
+.LASF909:
+ .string "_GLIBCXX_HAVE_POSIX_MEMALIGN 1"
+.LASF651:
+ .string "__GLIBC_MINOR__ 41"
+.LASF1885:
+ .string "CPU_ISSET(cpu,cpusetp) __CPU_ISSET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+.LASF441:
+ .string "__ATOMIC_HLE_RELEASE 131072"
+.LASF1807:
+ .string "sched_param __glibc_mask_sched_param"
+.LASF148:
+ .string "__PTRDIFF_MAX__ 0x7fffffffffffffffL"
+.LASF1635:
+ .string "WEOF (0xffffffffu)"
+.LASF1621:
+ .string "_BITS_WCHAR_H 1"
+.LASF1399:
+ .string "__cpp_lib_type_trait_variable_templates 201510L"
+.LASF46:
+ .string "__WCHAR_TYPE__ int"
+.LASF856:
+ .string "_GLIBCXX_HAVE_FLOAT_H 1"
+.LASF1381:
+ .string "__glibcxx_want_result_of_sfinae "
+.LASF2210:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4Ev"
+.LASF1402:
+ .string "_GLIBCXX_MOVE(__val) std::move(__val)"
+.LASF2:
+ .string "__STDC__ 1"
+.LASF358:
+ .string "__FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x"
+.LASF2026:
+ .string "__GTHREAD_ALWAYS_INLINE __attribute__((__always_inline__))"
+.LASF1064:
+ .string "_GLIBCXX_X86_RDRAND 1"
+.LASF1193:
+ .string "__glibcxx_want_chrono"
+.LASF721:
+ .string "__LDBL_REDIR(name,proto) name proto"
+.LASF1701:
+ .string "_ALLOCATED_PTR_H 1"
+.LASF1808:
+ .string "_LINUX_SCHED_TYPES_H "
+.LASF2081:
+ .string "ATOMIC_SHORT_LOCK_FREE __GCC_ATOMIC_SHORT_LOCK_FREE"
+.LASF206:
+ .string "__UINT_FAST16_MAX__ 0xffffffffffffffffUL"
+.LASF394:
+ .string "__DEC128_MIN_EXP__ (-6142)"
+.LASF1190:
+ .string "__glibcxx_boyer_moore_searcher 201603L"
+.LASF1033:
+ .string "_GLIBCXX_USE_FCHMODAT 1"
+.LASF2313:
+ .string "__ops"
+.LASF1404:
+ .string "_GLIBCXX_OPERATOR_NEW __builtin_operator_new"
+.LASF1420:
+ .string "__glibcxx_class_requires2(_a,_b,_c) "
+.LASF659:
+ .string "__LEAF_ATTR __attribute__ ((__leaf__))"
+.LASF326:
+ .string "__FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128"
+.LASF1813:
+ .string "__BITS_PER_LONG 64"
+.LASF1096:
+ .string "__glibcxx_want_math_spec_funcs"
+.LASF239:
+ .string "__DBL_MAX_10_EXP__ 308"
+.LASF703:
+ .string "__attribute_warn_unused_result__ __attribute__ ((__warn_unused_result__))"
+.LASF729:
+ .string "__glibc_macro_warning(message) __glibc_macro_warning1 (GCC warning message)"
+.LASF1209:
+ .string "__glibcxx_want_parallel_algorithm"
+.LASF970:
+ .string "_GLIBCXX_HAVE_VFWSCANF 1"
+.LASF1324:
+ .string "__glibcxx_want_flat_set"
+.LASF528:
+ .string "_GLIBCXX_END_NAMESPACE_VERSION "
+.LASF1846:
+ .string "CLONE_PARENT 0x00008000"
+.LASF2252:
+ .string "~unique_ptr"
+.LASF1425:
+ .string "__glibcxx_requires_subscript(_N) __glibcxx_assert(_N < this->size())"
+.LASF2199:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERS3_"
+.LASF1044:
+ .string "_GLIBCXX_USE_NLS 1"
+.LASF462:
+ .string "__ELF__ 1"
+.LASF1309:
+ .string "__glibcxx_want_ranges_join_with"
+.LASF810:
+ .string "_PSTL_PRAGMA_DECLARE_REDUCTION(NAME,OP) _PSTL_PRAGMA(omp declare reduction(NAME:OP : omp_out(omp_in)) initializer(omp_priv = omp_orig))"
+.LASF1986:
+ .string "__PTHREAD_MUTEX_INITIALIZER(__kind) 0, 0, 0, 0, __kind, 0, 0, { NULL, NULL }"
+.LASF924:
+ .string "_GLIBCXX_HAVE_SOCKATMARK 1"
+.LASF1431:
+ .string "_GLIBCXX_UTILITY_H 1"
+.LASF578:
+ .string "__USE_DYNAMIC_STACK_SIZE"
+.LASF1106:
+ .string "__glibcxx_make_reverse_iterator 201402L"
+.LASF2046:
+ .string "__glibcxx_want_uncaught_exceptions "
+.LASF617:
+ .string "__GLIBC_USE_ISOC2Y 1"
+.LASF876:
+ .string "_GLIBCXX_HAVE_LC_MESSAGES 1"
+.LASF2299:
+ .string "short unsigned int"
+.LASF2357:
+ .string "operator new"
+.LASF1494:
+ .string "_GLIBCXX_MOVE_BACKWARD3(_Tp,_Up,_Vp) std::move_backward(_Tp, _Up, _Vp)"
+.LASF1817:
+ .string "_LINUX_STDDEF_H "
+.LASF1247:
+ .string "__glibcxx_want_make_obj_using_allocator"
+.LASF2178:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+.LASF845:
+ .string "_GLIBCXX_HAVE_EXECINFO_H 1"
+.LASF2078:
+ .string "ATOMIC_WCHAR_T_LOCK_FREE __GCC_ATOMIC_WCHAR_T_LOCK_FREE"
+.LASF2107:
+ .string "__glibcxx_want_out_ptr "
+.LASF1087:
+ .string "__glibcxx_shared_ptr_arrays 201611L"
+.LASF2110:
+ .string "__glibcxx_want_raw_memory_algorithms "
+.LASF505:
+ .string "_GLIBCXX14_CONSTEXPR constexpr"
+.LASF1459:
+ .string "__glibcxx_requires_cond(_Cond,_Msg) "
+.LASF1618:
+ .string "__need___va_list"
+.LASF2092:
+ .string "_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED(X) "
+.LASF555:
+ .string "_GLIBCXX_OS_DEFINES 1"
+.LASF2335:
+ .string "__isoc23_vfwscanf"
+.LASF83:
+ .string "__GXX_EXPERIMENTAL_CXX0X__ 1"
+.LASF100:
+ .string "__cpp_inheriting_constructors 201511L"
+.LASF1672:
+ .string "wcsncmp"
+.LASF753:
+ .string "_GLIBCXX_CPU_DEFINES 1"
+.LASF1253:
+ .string "__glibcxx_want_to_address"
+.LASF434:
+ .string "__amd64 1"
+.LASF151:
+ .string "__SHRT_WIDTH__ 16"
+.LASF917:
+ .string "_GLIBCXX_HAVE_SINCOS 1"
+.LASF1455:
+ .string "_STL_ITERATOR_H 1"
+.LASF1562:
+ .string "__HAVE_DISTINCT_FLOAT64X 0"
+.LASF958:
+ .string "_GLIBCXX_HAVE_TANHF 1"
+.LASF844:
+ .string "_GLIBCXX_HAVE_EXCEPTION_PTR_SINCE_GCC46 1"
+.LASF247:
+ .string "__DBL_HAS_INFINITY__ 1"
+.LASF1526:
+ .string "_GLIBCXX_POSTYPES_H 1"
+.LASF1417:
+ .string "_CONCEPT_CHECK_H 1"
+.LASF1449:
+ .string "__glibcxx_digits10"
+.LASF2158:
+ .string "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv"
+.LASF1504:
+ .string "__glibcxx_want_tuple_element_t "
+.LASF843:
+ .string "_GLIBCXX_HAVE_ENDIAN_H 1"
+.LASF231:
+ .string "__FLT_HAS_INFINITY__ 1"
+.LASF1080:
+ .string "__glibcxx_want_uncaught_exceptions"
+.LASF318:
+ .string "__FLT128_MIN_10_EXP__ (-4931)"
+.LASF2384:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE31__nothrow_default_constructibleEv"
+.LASF1450:
+ .string "__glibcxx_max_exponent10"
+.LASF145:
+ .string "__WCHAR_MIN__ (-__WCHAR_MAX__ - 1)"
+.LASF458:
+ .string "linux 1"
+.LASF1138:
+ .string "__glibcxx_any 201606L"
+.LASF760:
+ .string "_GLIBCXX_FAST_MATH 0"
+.LASF1772:
+ .string "__FD_SETSIZE 1024"
+.LASF376:
+ .string "__BFLT16_HAS_INFINITY__ 1"
+.LASF841:
+ .string "_GLIBCXX_HAVE_DIRFD 1"
+.LASF905:
+ .string "_GLIBCXX_HAVE_OPENAT 1"
+.LASF1870:
+ .string "__CPU_ZERO_S(setsize,cpusetp) do __builtin_memset (cpusetp, '\\0', setsize); while (0)"
+.LASF2323:
+ .string "overflow_arg_area"
+.LASF846:
+ .string "_GLIBCXX_HAVE_EXPF 1"
+.LASF132:
+ .string "__STDCPP_DEFAULT_NEW_ALIGNMENT__ 16"
+.LASF1713:
+ .string "_PTHREAD_H 1"
+.LASF910:
+ .string "_GLIBCXX_HAVE_POSIX_SEMAPHORE 1"
+.LASF764:
+ .string "_GLIBCXX_USE_C99_STDIO _GLIBCXX11_USE_C99_STDIO"
+.LASF1085:
+ .string "__glibcxx_result_of_sfinae 201210L"
+.LASF374:
+ .string "__BFLT16_DENORM_MIN__ 9.18354961579912115600575419704879436e-41BF16"
+.LASF1587:
+ .string "_SIZE_T_DEFINED "
+.LASF2285:
+ .string "_ZSt12__get_helperILm1ESt14default_deleteI4BaseEJEERT0_RSt11_Tuple_implIXT_EJS3_DpT1_EE"
+.LASF2324:
+ .string "reg_save_area"
+.LASF971:
+ .string "_GLIBCXX_HAVE_VSWSCANF 1"
+.LASF2202:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4Ev"
+.LASF480:
+ .string "__GLIBCXX__ 20250425"
+.LASF761:
+ .string "__N(msgid) (msgid)"
+.LASF2054:
+ .string "_T_PTRDIFF_ "
+.LASF1331:
+ .string "__glibcxx_want_print"
+.LASF541:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_LDBL "
+.LASF1530:
+ .string "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION"
+.LASF1719:
+ .string "__U32_TYPE unsigned int"
+.LASF1453:
+ .string "_PTR_TRAITS_H 1"
+.LASF2025:
+ .string "pthread_cleanup_pop_restore_np(execute) __clframe.__restore (); __clframe.__setdoit (execute); } while (0)"
+.LASF2123:
+ .string "__cpp_lib_shared_ptr_weak_type 201606L"
+.LASF1734:
+ .string "__DEV_T_TYPE __UQUAD_TYPE"
+.LASF365:
+ .string "__BFLT16_MIN_EXP__ (-125)"
+.LASF182:
+ .string "__INT_LEAST16_WIDTH__ 16"
+.LASF1071:
+ .string "_NEW "
+.LASF1550:
+ .string "__f128(x) x ##f128"
+.LASF1490:
+ .string "_GLIBCXX_ADVANCE(P,N) P += N"
+.LASF1536:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT_C23 1"
+.LASF1984:
+ .string "_THREAD_MUTEX_INTERNAL_H 1"
+.LASF576:
+ .string "__USE_MISC"
+.LASF208:
+ .string "__UINT_FAST64_MAX__ 0xffffffffffffffffUL"
+.LASF279:
+ .string "__FLT16_HAS_DENORM__ 1"
+.LASF1046:
+ .string "_GLIBCXX_USE_PTHREAD_COND_CLOCKWAIT 1"
+.LASF1101:
+ .string "__glibcxx_want_integer_sequence"
+.LASF494:
+ .string "_GLIBCXX17_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+.LASF2227:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEaSERKS3_"
+.LASF393:
+ .string "__DEC128_MANT_DIG__ 34"
+.LASF140:
+ .string "__SHRT_MAX__ 0x7fff"
+.LASF944:
+ .string "_GLIBCXX_HAVE_SYS_MMAN_H 1"
+.LASF1343:
+ .string "__glibcxx_want_ranges_cache_latest"
+.LASF950:
+ .string "_GLIBCXX_HAVE_SYS_STATVFS_H 1"
+.LASF1211:
+ .string "__glibcxx_want_scoped_lock"
+.LASF294:
+ .string "__FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32"
+.LASF1220:
+ .string "__glibcxx_want_assume_aligned"
+.LASF1693:
+ .string "wcstold"
+.LASF180:
+ .string "__INT_LEAST16_MAX__ 0x7fff"
+.LASF1752:
+ .string "__FSFILCNT64_T_TYPE __UQUAD_TYPE"
+.LASF1864:
+ .string "_BITS_TYPES_STRUCT_SCHED_PARAM 1"
+.LASF567:
+ .string "__USE_XOPEN_EXTENDED"
+.LASF2352:
+ .string "__isoc23_wcstoll"
+.LASF1694:
+ .string "wcstoll"
+.LASF549:
+ .string "__glibcxx_assert(cond) do { if (std::__is_constant_evaluated() && !bool(cond)) std::__glibcxx_assert_fail(); } while (false)"
+.LASF1393:
+ .string "__cpp_lib_transformation_trait_aliases 201304L"
+.LASF1505:
+ .string "__glibcxx_want_tuples_by_type "
+.LASF722:
+ .string "__LDBL_REDIR1_NTH(name,proto,alias) name proto __THROW"
+.LASF1739:
+ .string "__MODE_T_TYPE __U32_TYPE"
+.LASF2254:
+ .string "operator bool"
+.LASF1799:
+ .string "SCHED_FLAG_RECLAIM 0x02"
+.LASF1569:
+ .string "__f64x(x) x ##f64x"
+.LASF64:
+ .string "__INT_LEAST64_TYPE__ long int"
+.LASF171:
+ .string "__INT32_MAX__ 0x7fffffff"
+.LASF324:
+ .string "__FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128"
+.LASF2165:
+ .string "_ZNKSt14default_deleteI4BaseEclEPS0_"
+.LASF1704:
+ .string "_GLIBCXX_MEM_FN_TRAITS(_REF,_LVAL,_RVAL) _GLIBCXX_MEM_FN_TRAITS2( , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(volatile , _REF, _LVAL, _RVAL) _GLIBCXX_MEM_FN_TRAITS2(const volatile, _REF, _LVAL, _RVAL)"
+.LASF1896:
+ .string "CPU_OR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, |)"
+.LASF540:
+ .string "_GLIBCXX_NAMESPACE_LDBL "
+.LASF1284:
+ .string "__glibcxx_want_move_iterator_concept"
+.LASF415:
+ .string "__GCC_ATOMIC_CHAR_LOCK_FREE 2"
+.LASF1109:
+ .string "__glibcxx_want_null_iterators"
+.LASF1175:
+ .string "__glibcxx_want_lcm"
+.LASF2135:
+ .string "_M_a"
+.LASF668:
+ .string "__STRING(x) #x"
+.LASF75:
+ .string "__UINT_FAST32_TYPE__ long unsigned int"
+.LASF867:
+ .string "_GLIBCXX_HAVE_HYPOTF 1"
+.LASF1768:
+ .string "__INO_T_MATCHES_INO64_T 1"
+.LASF25:
+ .string "__SIZEOF_INT__ 4"
+.LASF680:
+ .string "__glibc_c99_flexarr_available 1"
+.LASF851:
+ .string "_GLIBCXX_HAVE_FDOPENDIR 1"
+.LASF1133:
+ .string "__glibcxx_want_shared_timed_mutex"
+.LASF336:
+ .string "__FLT32X_MAX_10_EXP__ 308"
+.LASF1317:
+ .string "__glibcxx_want_ranges_contains"
+.LASF939:
+ .string "_GLIBCXX_HAVE_STRXFRM_L 1"
+.LASF2185:
+ .string "_M_t"
+.LASF1628:
+ .string "____FILE_defined 1"
+.LASF1673:
+ .string "wcsncpy"
+.LASF878:
+ .string "_GLIBCXX_HAVE_LDEXPL 1"
+.LASF985:
+ .string "_GLIBCXX_PACKAGE__GLIBCXX_VERSION \"version-unused\""
+.LASF52:
+ .string "__SIG_ATOMIC_TYPE__ int"
+.LASF1588:
+ .string "_BSD_SIZE_T_DEFINED_ "
+.LASF34:
+ .string "__BIGGEST_ALIGNMENT__ 16"
+.LASF925:
+ .string "_GLIBCXX_HAVE_SQRTF 1"
+.LASF275:
+ .string "__FLT16_NORM_MAX__ 6.55040000000000000000000000000000000e+4F16"
+.LASF200:
+ .string "__INT_FAST16_WIDTH__ 64"
+.LASF370:
+ .string "__BFLT16_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+.LASF1217:
+ .string "__glibcxx_want_string_view"
+.LASF1305:
+ .string "__glibcxx_want_ranges_zip"
+.LASF836:
+ .string "_GLIBCXX_HAVE_COSHF 1"
+.LASF192:
+ .string "__UINT16_C(c) c"
+.LASF1072:
+ .string "__EXCEPTION_H 1"
+.LASF429:
+ .string "__PRAGMA_REDEFINE_EXTNAME 1"
+.LASF1999:
+ .string "PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED"
+.LASF2031:
+ .string "__GTHREAD_ONCE_INIT PTHREAD_ONCE_INIT"
+.LASF1547:
+ .string "__HAVE_DISTINCT_FLOAT128 1"
+.LASF74:
+ .string "__UINT_FAST16_TYPE__ long unsigned int"
+.LASF1210:
+ .string "__glibcxx_scoped_lock 201703L"
+.LASF1900:
+ .string "CPU_XOR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, ^)"
+.LASF820:
+ .string "_GLIBCXX_HAVE_ARC4RANDOM 1"
+.LASF1759:
+ .string "__DADDR_T_TYPE __S32_TYPE"
+.LASF122:
+ .string "__cpp_aggregate_bases 201603L"
+.LASF2128:
+ .string "__debug"
+.LASF1454:
+ .string "_STL_ALGOBASE_H 1"
+.LASF893:
+ .string "_GLIBCXX_HAVE_LOGF 1"
+.LASF519:
+ .string "_GLIBCXX_EXTERN_TEMPLATE 1"
+.LASF1595:
+ .string "__need_size_t"
+.LASF2280:
+ .string "_Types"
+.LASF1607:
+ .string "___int_wchar_t_h "
+.LASF427:
+ .string "__HAVE_SPECULATION_SAFE_VALUE 1"
+.LASF891:
+ .string "_GLIBCXX_HAVE_LOG10F 1"
+.LASF1337:
+ .string "__glibcxx_want_tuple_like"
+.LASF558:
+ .string "__USE_ISOC11"
+.LASF779:
+ .string "_PSTL_ASSERT_MSG(_Condition,_Message) __glibcxx_assert(_Condition)"
+.LASF2277:
+ .string "__single_object"
+.LASF532:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_CONTAINER "
+.LASF1203:
+ .string "__glibcxx_want_math_special_functions"
+.LASF2005:
+ .string "PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP) } }"
+.LASF1555:
+ .string "__HAVE_FLOAT64 1"
+.LASF1409:
+ .string "_GLIBCXX_OPERATOR_NEW"
+.LASF78:
+ .string "__UINTPTR_TYPE__ long unsigned int"
+.LASF2023:
+ .string "pthread_cleanup_pop(execute) __clframe.__setdoit (execute); } while (0)"
+.LASF1153:
+ .string "__cpp_lib_hardware_interference_size 201703L"
+.LASF1090:
+ .string "__glibcxx_want_is_swappable"
+.LASF732:
+ .string "__fortified_attr_access(a,o,s) __attr_access ((a, o, s))"
+.LASF149:
+ .string "__SIZE_MAX__ 0xffffffffffffffffUL"
+.LASF112:
+ .string "__cpp_namespace_attributes 201411L"
+.LASF1661:
+ .string "vwscanf"
+.LASF705:
+ .string "__always_inline"
+.LASF2001:
+ .string "PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_RECURSIVE_NP) } }"
+.LASF57:
+ .string "__UINT8_TYPE__ unsigned char"
+.LASF1553:
+ .string "__HAVE_FLOAT16 0"
+.LASF767:
+ .string "_GLIBCXX_USE_FLOAT128 1"
+.LASF1020:
+ .string "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T 1"
+.LASF2221:
+ .string "_M_tail"
+.LASF637:
+ .string "__USE_LARGEFILE64 1"
+.LASF1923:
+ .string "ADJ_MAXERROR 0x0004"
+.LASF286:
+ .string "__FLT32_MIN_10_EXP__ (-37)"
+.LASF1376:
+ .string "__glibcxx_want_is_swappable "
+.LASF1936:
+ .string "MOD_MAXERROR ADJ_MAXERROR"
+.LASF672:
+ .string "__attribute_overloadable__ "
+.LASF317:
+ .string "__FLT128_MIN_EXP__ (-16381)"
+.LASF2387:
+ .string "_ZSt11make_uniqueI4BaseJEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_"
+.LASF1018:
+ .string "_GLIBCXX_USE_C99_INTTYPES 1"
+.LASF1996:
+ .string "__SC_THREAD_STACK_MIN_VALUE 75"
+.LASF2088:
+ .string "ATOMIC_VAR_INIT(_VI) { _VI }"
+.LASF1622:
+ .string "__WCHAR_MAX __WCHAR_MAX__"
+.LASF1815:
+ .string "__BITS_PER_LONG_LONG 64"
+.LASF257:
+ .string "__LDBL_DECIMAL_DIG__ 21"
+.LASF77:
+ .string "__INTPTR_TYPE__ long int"
+.LASF1726:
+ .string "__SLONG32_TYPE int"
+.LASF1698:
+ .string "__glibcxx_want_constexpr_typeinfo "
+.LASF1169:
+ .string "__glibcxx_want_not_fn"
+.LASF514:
+ .string "_GLIBCXX_THROW(_EXC) "
+.LASF1711:
+ .string "__GTHREADS 1"
+.LASF1041:
+ .string "_GLIBCXX_USE_LSTAT 1"
+.LASF513:
+ .string "_GLIBCXX_USE_NOEXCEPT noexcept"
+.LASF197:
+ .string "__INT_FAST8_MAX__ 0x7f"
+.LASF1716:
+ .string "__S16_TYPE short int"
+.LASF2255:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEDn"
+.LASF58:
+ .string "__UINT16_TYPE__ short unsigned int"
+.LASF2278:
+ .string "__unique_ptr_t"
+.LASF1257:
+ .string "__glibcxx_want_constexpr_iterator"
+.LASF401:
+ .string "__DEC64X_MIN_EXP__ (-6142)"
+.LASF2187:
+ .string "_Head_base"
+.LASF1276:
+ .string "__glibcxx_want_constexpr_vector"
+.LASF1483:
+ .string "__glibcxx_want_concepts "
+.LASF907:
+ .string "_GLIBCXX_HAVE_POLL 1"
+.LASF1104:
+ .string "__glibcxx_is_final 201402L"
+.LASF1214:
+ .string "__glibcxx_shared_ptr_weak_type 201606L"
+.LASF948:
+ .string "_GLIBCXX_HAVE_SYS_SEM_H 1"
+.LASF1581:
+ .string "_T_SIZE_ "
+.LASF1898:
+ .string "CPU_AND_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, &)"
+.LASF2182:
+ .string "release"
+.LASF941:
+ .string "_GLIBCXX_HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT 1"
+.LASF341:
+ .string "__FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x"
+.LASF344:
+ .string "__FLT32X_HAS_INFINITY__ 1"
+.LASF662:
+ .string "__NTH(fct) __LEAF_ATTR fct __THROW"
+.LASF2133:
+ .string "nullptr_t"
+.LASF676:
+ .string "__glibc_objsize(__o) __bos (__o)"
+.LASF1307:
+ .string "__glibcxx_want_ranges_slide"
+.LASF282:
+ .string "__FLT16_IS_IEC_60559__ 1"
+.LASF2265:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSEOS3_"
+.LASF2212:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS2_"
+.LASF809:
+ .string "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC_2ARGS(PRM1,PRM2) "
+.LASF1265:
+ .string "__glibcxx_want_constexpr_tuple"
+.LASF176:
+ .string "__UINT64_MAX__ 0xffffffffffffffffUL"
+.LASF178:
+ .string "__INT8_C(c) c"
+.LASF1827:
+ .string "__kernel_old_dev_t __kernel_old_dev_t"
+.LASF740:
+ .string "__stub_chflags "
+.LASF2213:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4EOS2_"
+.LASF1790:
+ .string "SCHED_RR 2"
+.LASF126:
+ .string "__cpp_structured_bindings 201606L"
+.LASF2235:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+.LASF271:
+ .string "__FLT16_MAX_EXP__ 16"
+.LASF873:
+ .string "_GLIBCXX_HAVE_ISNANF 1"
+.LASF1302:
+ .string "__glibcxx_want_reference_from_temporary"
+.LASF296:
+ .string "__FLT32_HAS_INFINITY__ 1"
+.LASF1627:
+ .string "____mbstate_t_defined 1"
+.LASF2355:
+ .string "__uses_alloc_base"
+.LASF1374:
+ .string "__glibcxx_want_is_pointer_interconvertible "
+.LASF2363:
+ .string "__cxa_guard_release"
+.LASF222:
+ .string "__FLT_MAX_EXP__ 128"
+.LASF1677:
+ .string "wcsspn"
+.LASF16:
+ .string "__ATOMIC_SEQ_CST 5"
+.LASF2188:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4Ev"
+.LASF87:
+ .string "__cpp_runtime_arrays 198712L"
+.LASF744:
+ .string "__stub_setlogin "
+.LASF1202:
+ .string "__glibcxx_math_special_functions 201603L"
+.LASF1103:
+ .string "__glibcxx_want_integral_constant_callable"
+.LASF1982:
+ .string "__ONCE_ALIGNMENT "
+.LASF593:
+ .string "_ISOC99_SOURCE"
+.LASF1884:
+ .string "CPU_CLR(cpu,cpusetp) __CPU_CLR_S (cpu, sizeof (cpu_set_t), cpusetp)"
+.LASF539:
+ .string "_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT"
+.LASF355:
+ .string "__FLT64X_NORM_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+.LASF283:
+ .string "__FLT32_MANT_DIG__ 24"
+.LASF746:
+ .string "__stub_stty "
+.LASF1047:
+ .string "_GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK (_GLIBCXX_TSAN==0)"
+.LASF1308:
+ .string "__glibcxx_want_ranges_chunk_by"
+.LASF2186:
+ .string "_Head_base<1, std::default_delete<Base>, true>"
+.LASF2203:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS2_"
+.LASF1854:
+ .string "CLONE_UNTRACED 0x00800000"
+.LASF362:
+ .string "__FLT64X_IS_IEC_60559__ 1"
+.LASF235:
+ .string "__DBL_DIG__ 15"
+.LASF2032:
+ .string "__GTHREAD_RECURSIVE_MUTEX_INIT PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP"
+.LASF1371:
+ .string "__glibcxx_want_is_layout_compatible "
+.LASF994:
+ .string "_GLIBCXX98_USE_C99_MATH 1"
+.LASF162:
+ .string "__INTMAX_C(c) c ## L"
+.LASF2172:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EOS3_"
+.LASF727:
+ .string "__REDIRECT_NTH_LDBL(name,proto,alias) __REDIRECT_NTH (name, proto, alias)"
+.LASF2233:
+ .string "tuple<Base*, std::default_delete<Base> >"
+.LASF1678:
+ .string "wcsstr"
+.LASF1861:
+ .string "CLONE_NEWNET 0x40000000"
+.LASF1482:
+ .string "_GLIBCXX_CONCEPTS 1"
+.LASF137:
+ .string "__cpp_exceptions 199711L"
+.LASF2080:
+ .string "ATOMIC_CHAR32_T_LOCK_FREE __GCC_ATOMIC_CHAR32_T_LOCK_FREE"
+.LASF982:
+ .string "_GLIBCXX_PACKAGE_STRING \"package-unused version-unused\""
+.LASF1166:
+ .string "__glibcxx_make_from_tuple 201606L"
+.LASF1171:
+ .string "__glibcxx_want_type_trait_variable_templates"
+.LASF213:
+ .string "__GCC_IEC_559_COMPLEX 2"
+.LASF2072:
+ .string "_GLIBCXX_NESTED_EXCEPTION_H 1"
+.LASF860:
+ .string "_GLIBCXX_HAVE_FMODL 1"
+.LASF1083:
+ .string "__glibcxx_is_null_pointer 201309L"
+.LASF1461:
+ .string "__glibcxx_requires_can_increment(_First,_Size) "
+.LASF771:
+ .string "_GLIBCXX_HAVE_BUILTIN_HAS_UNIQ_OBJ_REP 1"
+.LASF281:
+ .string "__FLT16_HAS_QUIET_NAN__ 1"
+.LASF2312:
+ .string "__gnu_cxx"
+.LASF2301:
+ .string "long long unsigned int"
+.LASF1596:
+ .string "__wchar_t__ "
+.LASF1261:
+ .string "__glibcxx_want_ranges"
+.LASF408:
+ .string "__USER_LABEL_PREFIX__ "
+.LASF661:
+ .string "__THROWNL __THROW"
+.LASF922:
+ .string "_GLIBCXX_HAVE_SINHL 1"
+.LASF913:
+ .string "_GLIBCXX_HAVE_QUICK_EXIT 1"
+.LASF713:
+ .string "__restrict_arr "
+.LASF1679:
+ .string "wcstod"
+.LASF2204:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4ERKS3_"
+.LASF1680:
+ .string "wcstof"
+.LASF848:
+ .string "_GLIBCXX_HAVE_FABSF 1"
+.LASF1924:
+ .string "ADJ_ESTERROR 0x0008"
+.LASF256:
+ .string "__DECIMAL_DIG__ 21"
+.LASF1681:
+ .string "wcstok"
+.LASF509:
+ .string "_GLIBCXX26_CONSTEXPR "
+.LASF1731:
+ .string "_BITS_TYPESIZES_H 1"
+.LASF1472:
+ .string "__glibcxx_requires_heap(_First,_Last) "
+.LASF270:
+ .string "__FLT16_MIN_10_EXP__ (-4)"
+.LASF639:
+ .string "__USE_TIME_BITS64 1"
+.LASF2086:
+ .string "_GLIBCXX_ALWAYS_INLINE inline __attribute__((__always_inline__))"
+.LASF1049:
+ .string "_GLIBCXX_USE_PTHREAD_RWLOCK_T 1"
+.LASF1776:
+ .string "__time_t_defined 1"
+.LASF2222:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERS4_"
+.LASF1718:
+ .string "__S32_TYPE int"
+.LASF1947:
+ .string "STA_PPSTIME 0x0004"
+.LASF1079:
+ .string "__glibcxx_uncaught_exceptions 201411L"
+.LASF698:
+ .string "__attribute_format_arg__(x) __attribute__ ((__format_arg__ (x)))"
+.LASF2114:
+ .string "__glibcxx_want_to_address "
+.LASF2084:
+ .string "ATOMIC_LLONG_LOCK_FREE __GCC_ATOMIC_LLONG_LOCK_FREE"
+.LASF369:
+ .string "__BFLT16_DECIMAL_DIG__ 4"
+.LASF170:
+ .string "__INT16_MAX__ 0x7fff"
+.LASF1107:
+ .string "__glibcxx_want_make_reverse_iterator"
+.LASF2371:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC2EPS0_"
+.LASF2372:
+ .string "__ptr"
+.LASF647:
+ .string "__GLIBC_USE_C23_STRTOL 1"
+.LASF216:
+ .string "__DEC_EVAL_METHOD__ 2"
+.LASF1543:
+ .string "__GLIBC_USE_IEC_60559_TYPES_EXT"
+.LASF842:
+ .string "_GLIBCXX_HAVE_DLFCN_H 1"
+.LASF1560:
+ .string "__HAVE_DISTINCT_FLOAT64 0"
+.LASF1115:
+ .string "__glibcxx_want_tuple_element_t"
+.LASF492:
+ .string "_GLIBCXX14_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+.LASF1529:
+ .string "__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION "
+.LASF1123:
+ .string "__glibcxx_want_chrono_udls"
+.LASF1914:
+ .string "CLOCK_BOOTTIME 7"
+.LASF285:
+ .string "__FLT32_MIN_EXP__ (-125)"
+.LASF1882:
+ .string "CPU_SETSIZE __CPU_SETSIZE"
+.LASF2151:
+ .string "_ZNSt15__exception_ptr13exception_ptraSERKS0_"
+.LASF2168:
+ .string "type"
+.LASF1782:
+ .string "_BITS_ENDIANNESS_H 1"
+.LASF491:
+ .string "_GLIBCXX14_DEPRECATED _GLIBCXX_DEPRECATED"
+.LASF237:
+ .string "__DBL_MIN_10_EXP__ (-307)"
+.LASF2117:
+ .string "__cpp_lib_shared_ptr_arrays 201611L"
+.LASF1100:
+ .string "__glibcxx_integer_sequence 201304L"
+.LASF2256:
+ .string "operator*"
+.LASF1920:
+ .string "__timeval_defined 1"
+.LASF756:
+ .string "_GLIBCXX_USE_WEAK_REF __GXX_WEAK__"
+.LASF2060:
+ .string "_GCC_PTRDIFF_T "
+.LASF342:
+ .string "__FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x"
+.LASF2320:
+ .string "__gnu_debug"
+.LASF261:
+ .string "__LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L"
+.LASF918:
+ .string "_GLIBCXX_HAVE_SINCOSF 1"
+.LASF1518:
+ .string "_FUNCTIONAL_HASH_H 1"
+.LASF79:
+ .string "__GXX_WEAK__ 1"
+.LASF221:
+ .string "__FLT_MIN_10_EXP__ (-37)"
+.LASF1690:
+ .string "wmemset"
+.LASF679:
+ .string "__flexarr []"
+.LASF2150:
+ .string "operator="
+.LASF942:
+ .string "_GLIBCXX_HAVE_SYS_IOCTL_H 1"
+.LASF114:
+ .string "__cpp_nested_namespace_definitions 201411L"
+.LASF1911:
+ .string "CLOCK_MONOTONIC_RAW 4"
+.LASF203:
+ .string "__INT_FAST64_MAX__ 0x7fffffffffffffffL"
+.LASF1859:
+ .string "CLONE_NEWUSER 0x10000000"
+.LASF1942:
+ .string "MOD_TAI ADJ_TAI"
+.LASF1637:
+ .string "btowc"
+.LASF2038:
+ .string "__GTHREAD_INLINE"
+.LASF1907:
+ .string "CLOCK_REALTIME 0"
+.LASF911:
+ .string "_GLIBCXX_HAVE_POWF 1"
+.LASF1063:
+ .string "_GLIBCXX_VERBOSE 1"
+.LASF443:
+ .string "__k8 1"
+.LASF623:
+ .string "__USE_POSIX 1"
+.LASF562:
+ .string "__USE_POSIX"
+.LASF880:
+ .string "_GLIBCXX_HAVE_LIMIT_AS 1"
+.LASF945:
+ .string "_GLIBCXX_HAVE_SYS_PARAM_H 1"
+.LASF1608:
+ .string "__INT_WCHAR_T_H "
+.LASF1554:
+ .string "__HAVE_FLOAT32 1"
+.LASF259:
+ .string "__LDBL_NORM_MAX__ 1.18973149535723176502126385303097021e+4932L"
+.LASF1382:
+ .string "__glibcxx_want_transformation_trait_aliases "
+.LASF384:
+ .string "__DEC32_EPSILON__ 1E-6DF"
+.LASF1652:
+ .string "putwchar"
+.LASF105:
+ .string "__cpp_generic_lambdas 201304L"
+.LASF2121:
+ .string "__cpp_lib_raw_memory_algorithms 201606L"
+.LASF506:
+ .string "_GLIBCXX17_CONSTEXPR constexpr"
+.LASF1137:
+ .string "__glibcxx_want_addressof_constexpr"
+.LASF82:
+ .string "__cpp_rtti 199711L"
+.LASF1067:
+ .string "_GTHREAD_USE_MUTEX_TIMEDLOCK 1"
+.LASF1605:
+ .string "_WCHAR_T_DEFINED "
+.LASF1527:
+ .string "_GLIBCXX_CWCHAR 1"
+.LASF1119:
+ .string "__glibcxx_want_robust_nonmodifying_seq_ops"
+.LASF601:
+ .string "_POSIX_SOURCE"
+.LASF339:
+ .string "__FLT32X_NORM_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+.LASF146:
+ .string "__WINT_MAX__ 0xffffffffU"
+.LASF2272:
+ .string "unique_ptr<>"
+.LASF2314:
+ .string "_S_single"
+.LASF228:
+ .string "__FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F"
+.LASF783:
+ .string "_PSTL_VERSION_MINOR ((_PSTL_VERSION % 1000) / 10)"
+.LASF1224:
+ .string "__glibcxx_want_atomic_ref"
+.LASF377:
+ .string "__BFLT16_HAS_QUIET_NAN__ 1"
+.LASF834:
+ .string "_GLIBCXX_HAVE_COMPLEX_H 1"
+.LASF1470:
+ .string "__glibcxx_requires_partitioned_lower_pred(_First,_Last,_Value,_Pred) "
+.LASF904:
+ .string "_GLIBCXX_HAVE_NETINET_TCP_H 1"
+.LASF819:
+ .string "_GLIBCXX_HAVE_ALIGNED_ALLOC 1"
+.LASF350:
+ .string "__FLT64X_MIN_10_EXP__ (-4931)"
+.LASF423:
+ .string "__GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1"
+.LASF1860:
+ .string "CLONE_NEWPID 0x20000000"
+.LASF1480:
+ .string "_GLIBCXX_PREDEFINED_OPS_H 1"
+.LASF195:
+ .string "__UINT_LEAST64_MAX__ 0xffffffffffffffffUL"
+.LASF1533:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT"
+.LASF1125:
+ .string "__glibcxx_want_complex_udls"
+.LASF1849:
+ .string "CLONE_SYSVSEM 0x00040000"
+.LASF1525:
+ .string "_STRINGFWD_H 1"
+.LASF400:
+ .string "__DEC64X_MANT_DIG__ 34"
+.LASF190:
+ .string "__UINT8_C(c) c"
+.LASF115:
+ .string "__cpp_fold_expressions 201603L"
+.LASF215:
+ .string "__FLT_EVAL_METHOD_TS_18661_3__ 0"
+.LASF290:
+ .string "__FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32"
+.LASF1568:
+ .string "__f32x(x) x ##f32x"
+.LASF1040:
+ .string "_GLIBCXX_USE_LONG_LONG 1"
+.LASF1134:
+ .string "__glibcxx_string_udls 201304L"
+.LASF2036:
+ .string "__gthrw_(name) name"
+.LASF931:
+ .string "_GLIBCXX_HAVE_STDLIB_H 1"
+.LASF715:
+ .string "__glibc_likely(cond) __builtin_expect ((cond), 1)"
+.LASF48:
+ .string "__INTMAX_TYPE__ long int"
+.LASF1034:
+ .string "_GLIBCXX_USE_FSEEKO_FTELLO 1"
+.LASF1683:
+ .string "wcstoul"
+.LASF1206:
+ .string "__glibcxx_node_extract 201606L"
+.LASF2393:
+ .string "11__mbstate_t"
+.LASF262:
+ .string "__LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L"
+.LASF1019:
+ .string "_GLIBCXX_USE_C99_INTTYPES_TR1 1"
+.LASF2016:
+ .string "PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS"
+.LASF2298:
+ .string "unsigned char"
+.LASF232:
+ .string "__FLT_HAS_QUIET_NAN__ 1"
+.LASF1260:
+ .string "__glibcxx_want_shift"
+.LASF1223:
+ .string "__glibcxx_want_atomic_lock_free_type_aliases"
+.LASF805:
+ .string "_PSTL_UDR_PRESENT "
+.LASF1385:
+ .string "__glibcxx_want_unwrap_ref "
+.LASF795:
+ .string "_PSTL_PRAGMA_SIMD_REDUCTION(PRM) _PSTL_PRAGMA(omp simd reduction(PRM))"
+.LASF1521:
+ .string "_Cxx_hashtable_define_trivial_hash"
+.LASF35:
+ .string "__ORDER_LITTLE_ENDIAN__ 1234"
+.LASF2061:
+ .string "_PTRDIFF_T_DECLARED "
+.LASF1862:
+ .string "CLONE_IO 0x80000000"
+.LASF759:
+ .string "_GLIBCXX_USE_STD_SPEC_FUNCS 1"
+.LASF1029:
+ .string "_GLIBCXX_USE_CLOCK_REALTIME 1"
+.LASF2083:
+ .string "ATOMIC_LONG_LOCK_FREE __GCC_ATOMIC_LONG_LOCK_FREE"
+.LASF1930:
+ .string "ADJ_NANO 0x2000"
+.LASF1684:
+ .string "wcsxfrm"
+.LASF1042:
+ .string "_GLIBCXX_USE_MKDIR 1"
+.LASF1144:
+ .string "__glibcxx_atomic_is_always_lock_free 201603L"
+.LASF1670:
+ .string "wcslen"
+.LASF219:
+ .string "__FLT_DIG__ 6"
+.LASF139:
+ .string "__SCHAR_MAX__ 0x7f"
+.LASF1469:
+ .string "__glibcxx_requires_partitioned_upper(_First,_Last,_Value) "
+.LASF1011:
+ .string "_GLIBCXX_USE_C99 1"
+.LASF1397:
+ .string "__cpp_lib_is_invocable 201703L"
+.LASF2319:
+ .string "float"
+.LASF1519:
+ .string "_HASH_BYTES_H 1"
+.LASF238:
+ .string "__DBL_MAX_EXP__ 1024"
+.LASF2240:
+ .string "tuple<>"
+.LASF560:
+ .string "__USE_ISOC95"
+.LASF2000:
+ .string "PTHREAD_MUTEX_INITIALIZER { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_TIMED_NP) } }"
+.LASF1241:
+ .string "__glibcxx_constexpr_char_traits 201611L"
+.LASF559:
+ .string "__USE_ISOC99"
+.LASF191:
+ .string "__UINT_LEAST16_MAX__ 0xffff"
+.LASF1311:
+ .string "__glibcxx_want_ranges_stride"
+.LASF1867:
+ .string "__NCPUBITS (8 * sizeof (__cpu_mask))"
+.LASF1300:
+ .string "__glibcxx_want_invoke_r"
+.LASF2013:
+ .string "PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE"
+.LASF1893:
+ .string "CPU_EQUAL(cpusetp1,cpusetp2) __CPU_EQUAL_S (sizeof (cpu_set_t), cpusetp1, cpusetp2)"
+.LASF1471:
+ .string "__glibcxx_requires_partitioned_upper_pred(_First,_Last,_Value,_Pred) "
+.LASF1238:
+ .string "__glibcxx_want_int_pow2"
+.LASF1801:
+ .string "SCHED_FLAG_KEEP_POLICY 0x08"
+.LASF618:
+ .string "__GLIBC_USE_ISOC23 1"
+.LASF335:
+ .string "__FLT32X_MAX_EXP__ 1024"
+.LASF1313:
+ .string "__glibcxx_want_ranges_as_rvalue"
+.LASF135:
+ .string "__STDCPP_THREADS__ 1"
+.LASF2291:
+ .string "_Tail"
+.LASF1122:
+ .string "__glibcxx_chrono_udls 201304L"
+.LASF2336:
+ .string "__isoc23_vswscanf"
+.LASF1353:
+ .string "__glibcxx_want_all"
+.LASF1231:
+ .string "__glibcxx_want_bounded_array_traits"
+.LASF1405:
+ .string "_GLIBCXX_OPERATOR_DELETE __builtin_operator_delete"
+.LASF32:
+ .string "__SIZEOF_SIZE_T__ 8"
+.LASF397:
+ .string "__DEC128_MAX__ 9.999999999999999999999999999999999E6144DL"
+.LASF1303:
+ .string "__glibcxx_want_containers_ranges"
+.LASF1979:
+ .string "__SIZEOF_PTHREAD_RWLOCKATTR_T 8"
+.LASF1176:
+ .string "__glibcxx_gcd 201606L"
+.LASF437:
+ .string "__x86_64__ 1"
+.LASF2053:
+ .string "_PTRDIFF_T "
+.LASF1890:
+ .string "CPU_ISSET_S(cpu,setsize,cpusetp) __CPU_ISSET_S (cpu, setsize, cpusetp)"
+.LASF726:
+ .string "__REDIRECT_LDBL(name,proto,alias) __REDIRECT (name, proto, alias)"
+.LASF157:
+ .string "__PTRDIFF_WIDTH__ 64"
+.LASF569:
+ .string "__USE_XOPEN2K"
+.LASF1263:
+ .string "__glibcxx_want_constexpr_functional"
+.LASF565:
+ .string "__USE_POSIX199506"
+.LASF1230:
+ .string "__glibcxx_want_bitops"
+.LASF123:
+ .string "__cpp_deduction_guides 201703L"
+.LASF1195:
+ .string "__glibcxx_want_execution"
+.LASF1319:
+ .string "__glibcxx_want_ranges_find_last"
+.LASF1149:
+ .string "__glibcxx_want_byte"
+.LASF954:
+ .string "_GLIBCXX_HAVE_SYS_TYPES_H 1"
+.LASF43:
+ .string "__GNUG__ 15"
+.LASF2223:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_tailERKS4_"
+.LASF460:
+ .string "__unix__ 1"
+.LASF1066:
+ .string "_GLIBCXX_ZONEINFO_DIR \"/usr/share/zoneinfo\""
+.LASF916:
+ .string "_GLIBCXX_HAVE_SETENV 1"
+.LASF1342:
+ .string "__glibcxx_want_is_virtual_base_of"
+.LASF1346:
+ .string "__glibcxx_want_reference_wrapper"
+.LASF1372:
+ .string "__glibcxx_want_is_nothrow_convertible "
+.LASF932:
+ .string "_GLIBCXX_HAVE_STRERROR_L 1"
+.LASF611:
+ .string "_DEFAULT_SOURCE"
+.LASF1315:
+ .string "__glibcxx_want_ranges_enumerate"
+.LASF2399:
+ .string "varStatic"
+.LASF2007:
+ .string "PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED"
+.LASF961:
+ .string "_GLIBCXX_HAVE_TGMATH_H 1"
+.LASF533:
+ .string "_GLIBCXX_END_NAMESPACE_CONTAINER "
+.LASF1038:
+ .string "_GLIBCXX_USE_INIT_PRIORITY_ATTRIBUTE 1"
+.LASF2248:
+ .string "__add_lval_ref_t"
+.LASF1365:
+ .string "__glibcxx_want_has_unique_object_representations "
+.LASF2030:
+ .string "__GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function"
+.LASF704:
+ .string "__wur "
+.LASF1971:
+ .string "_BITS_PTHREADTYPES_ARCH_H 1"
+.LASF902:
+ .string "_GLIBCXX_HAVE_NETDB_H 1"
+.LASF240:
+ .string "__DBL_DECIMAL_DIG__ 17"
+.LASF27:
+ .string "__SIZEOF_LONG_LONG__ 8"
+.LASF2276:
+ .string "_MakeUniq<Base>"
+.LASF2154:
+ .string "_ZNSt15__exception_ptr13exception_ptrD4Ev"
+.LASF1437:
+ .string "_CPP_TYPE_TRAITS_H 1"
+.LASF1965:
+ .string "__timer_t_defined 1"
+.LASF2348:
+ .string "tm_zone"
+.LASF352:
+ .string "__FLT64X_MAX_10_EXP__ 4932"
+.LASF2269:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE4swapERS3_"
+.LASF289:
+ .string "__FLT32_DECIMAL_DIG__ 9"
+.LASF2143:
+ .string "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv"
+.LASF1609:
+ .string "_GCC_WCHAR_T "
+.LASF1644:
+ .string "fwscanf"
+.LASF2087:
+ .string "_GLIBCXX20_INIT(I) "
+.LASF1669:
+ .string "wcsftime"
+.LASF1380:
+ .string "__glibcxx_want_remove_cvref "
+.LASF482:
+ .string "_GLIBCXX_CONST __attribute__ ((__const__))"
+.LASF936:
+ .string "_GLIBCXX_HAVE_STRTOF 1"
+.LASF471:
+ .string "_GLIBCXX_MEMORY 1"
+.LASF2095:
+ .string "_GLIBCXX_TSAN_MUTEX_POST_UNLOCK(X) "
+.LASF1962:
+ .string "__clock_t_defined 1"
+.LASF118:
+ .string "__cpp_constexpr 201603L"
+.LASF2009:
+ .string "PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS"
+.LASF612:
+ .string "_DEFAULT_SOURCE 1"
+.LASF1604:
+ .string "_WCHAR_T_DEFINED_ "
+.LASF1250:
+ .string "__glibcxx_want_span"
+.LASF992:
+ .string "_GLIBCXX11_USE_C99_WCHAR 1"
+.LASF2140:
+ .string "_M_addref"
+.LASF1647:
+ .string "mbrlen"
+.LASF47:
+ .string "__WINT_TYPE__ unsigned int"
+.LASF1026:
+ .string "_GLIBCXX_USE_CHDIR 1"
+.LASF320:
+ .string "__FLT128_MAX_10_EXP__ 4932"
+.LASF838:
+ .string "_GLIBCXX_HAVE_COSL 1"
+.LASF160:
+ .string "__GLIBCXX_BITSIZE_INT_N_0 128"
+.LASF1791:
+ .string "SCHED_NORMAL 0"
+.LASF168:
+ .string "__SIG_ATOMIC_WIDTH__ 32"
+.LASF1207:
+ .string "__glibcxx_want_node_extract"
+.LASF241:
+ .string "__DBL_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+.LASF2380:
+ .string "_ZNKSt15__exception_ptr13exception_ptrcvbEv"
+.LASF2073:
+ .string "_SHARED_PTR_ATOMIC_H 1"
+.LASF1448:
+ .string "__glibcxx_max_digits10"
+.LASF1723:
+ .string "__UQUAD_TYPE unsigned long int"
+.LASF720:
+ .string "__LDBL_REDIR1(name,proto,alias) name proto"
+.LASF218:
+ .string "__FLT_MANT_DIG__ 24"
+.LASF1804:
+ .string "SCHED_FLAG_UTIL_CLAMP_MAX 0x40"
+.LASF1858:
+ .string "CLONE_NEWIPC 0x08000000"
+.LASF1491:
+ .string "_GLIBCXX_MOVE3(_Tp,_Up,_Vp) std::move(_Tp, _Up, _Vp)"
+.LASF675:
+ .string "__glibc_objsize0(__o) __bos0 (__o)"
+.LASF1474:
+ .string "__glibcxx_requires_string(_String) "
+.LASF1001:
+ .string "_GLIBCXX_HAS_GTHREADS 1"
+.LASF1528:
+ .string "_WCHAR_H 1"
+.LASF2244:
+ .string "__uniq_ptr_data"
+.LASF1035:
+ .string "_GLIBCXX_USE_GETCWD 1"
+.LASF1563:
+ .string "__HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X"
+.LASF2400:
+ .string "_Unwind_Resume"
+.LASF229:
+ .string "__FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F"
+.LASF508:
+ .string "_GLIBCXX23_CONSTEXPR "
+.LASF1737:
+ .string "__INO_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF974:
+ .string "_GLIBCXX_HAVE_WCSTOF 1"
+.LASF572:
+ .string "__USE_XOPEN2K8XSI"
+.LASF2370:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC2ILb1ELb1EEEv"
+.LASF109:
+ .string "__cpp_digit_separators 201309L"
+.LASF1837:
+ .string "sched_param"
+.LASF1809:
+ .string "_LINUX_TYPES_H "
+.LASF2104:
+ .string "__glibcxx_want_constexpr_memory "
+.LASF1185:
+ .string "__glibcxx_want_nonmember_container_access"
+.LASF158:
+ .string "__SIZE_WIDTH__ 64"
+.LASF1617:
+ .string "__need___va_list "
+.LASF488:
+ .string "_GLIBCXX_DEPRECATED_SUGGEST(ALT) __attribute__ ((__deprecated__ (\"use '\" ALT \"' instead\")))"
+.LASF1897:
+ .string "CPU_XOR(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, ^)"
+.LASF2228:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+.LASF1558:
+ .string "__HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16"
+.LASF1248:
+ .string "__glibcxx_want_remove_cvref"
+.LASF638:
+ .string "__TIMESIZE __WORDSIZE"
+.LASF382:
+ .string "__DEC32_MIN__ 1E-95DF"
+.LASF220:
+ .string "__FLT_MIN_EXP__ (-125)"
+.LASF802:
+ .string "_PSTL_CPP14_MAKE_REVERSE_ITERATOR_PRESENT "
+.LASF357:
+ .string "__FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x"
+.LASF610:
+ .string "_LARGEFILE64_SOURCE 1"
+.LASF977:
+ .string "_GLIBCXX_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+.LASF2401:
+ .string "__builtin_unwind_resume"
+.LASF38:
+ .string "__BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__"
+.LASF1267:
+ .string "__glibcxx_want_atomic_shared_ptr"
+.LASF1513:
+ .string "__cpp_lib_apply 201603L"
+.LASF179:
+ .string "__INT_LEAST8_WIDTH__ 8"
+.LASF2008:
+ .string "PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM"
+.LASF1714:
+ .string "_SCHED_H 1"
+.LASF217:
+ .string "__FLT_RADIX__ 2"
+.LASF184:
+ .string "__INT32_C(c) c"
+.LASF728:
+ .string "__glibc_macro_warning1(message) _Pragma (#message)"
+.LASF266:
+ .string "__LDBL_IS_IEC_60559__ 1"
+.LASF332:
+ .string "__FLT32X_DIG__ 15"
+.LASF1906:
+ .string "CLOCKS_PER_SEC ((__clock_t) 1000000)"
+.LASF1663:
+ .string "wcscat"
+.LASF889:
+ .string "_GLIBCXX_HAVE_LINUX_TYPES_H 1"
+.LASF1931:
+ .string "ADJ_TICK 0x4000"
+.LASF2241:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4ILb1ELb1EEEv"
+.LASF1243:
+ .string "__glibcxx_want_is_layout_compatible"
+.LASF503:
+ .string "_GLIBCXX_CONSTEXPR constexpr"
+.LASF1926:
+ .string "ADJ_TIMECONST 0x0020"
+.LASF979:
+ .string "_GLIBCXX_LT_OBJDIR \".libs/\""
+.LASF1147:
+ .string "__glibcxx_want_bool_constant"
+.LASF1347:
+ .string "__glibcxx_want_saturation_arithmetic"
+.LASF1730:
+ .string "__STD_TYPE typedef"
+.LASF2261:
+ .string "deleter_type"
+.LASF1128:
+ .string "__glibcxx_make_unique 201304L"
+.LASF486:
+ .string "_GLIBCXX_USE_DEPRECATED 1"
+.LASF2152:
+ .string "_ZNSt15__exception_ptr13exception_ptraSEOS0_"
+.LASF2029:
+ .string "__GTHREAD_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER"
+.LASF2236:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+.LASF2271:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEaSERKS3_"
+.LASF1780:
+ .string "__BIG_ENDIAN 4321"
+.LASF119:
+ .string "__cpp_if_constexpr 201606L"
+.LASF1344:
+ .string "__glibcxx_want_ranges_concat"
+.LASF1682:
+ .string "wcstol"
+.LASF68:
+ .string "__UINT_LEAST64_TYPE__ long unsigned int"
+.LASF828:
+ .string "_GLIBCXX_HAVE_ATANL 1"
+.LASF322:
+ .string "__FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+.LASF522:
+ .string "_GLIBCXX_NAMESPACE_CXX11 __cxx11::"
+.LASF2006:
+ .string "PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED"
+.LASF1446:
+ .string "__glibcxx_max_exponent10(_Tp) __glibcxx_floating(_Tp, __FLT_MAX_10_EXP__, __DBL_MAX_10_EXP__, __LDBL_MAX_10_EXP__)"
+.LASF385:
+ .string "__DEC32_SUBNORMAL_MIN__ 0.000001E-95DF"
+.LASF581:
+ .string "__KERNEL_STRICT_NAMES"
+.LASF49:
+ .string "__UINTMAX_TYPE__ long unsigned int"
+.LASF551:
+ .string "_GLIBCXX_SYNCHRONIZATION_HAPPENS_AFTER(A) "
+.LASF1729:
+ .string "__U64_TYPE unsigned long int"
+.LASF331:
+ .string "__FLT32X_MANT_DIG__ 53"
+.LASF772:
+ .string "_GLIBCXX_HAVE_BUILTIN_IS_AGGREGATE 1"
+.LASF1367:
+ .string "__glibcxx_want_is_aggregate "
+.LASF1702:
+ .string "_GLIBCXX_REFWRAP_H 1"
+.LASF73:
+ .string "__UINT_FAST8_TYPE__ unsigned char"
+.LASF943:
+ .string "_GLIBCXX_HAVE_SYS_IPC_H 1"
+.LASF908:
+ .string "_GLIBCXX_HAVE_POLL_H 1"
+.LASF2274:
+ .string "_Del"
+.LASF1753:
+ .string "__ID_T_TYPE __U32_TYPE"
+.LASF152:
+ .string "__INT_WIDTH__ 32"
+.LASF1139:
+ .string "__glibcxx_want_any"
+.LASF690:
+ .string "__attribute_alloc_align__(param) __attribute__ ((__alloc_align__ param))"
+.LASF2200:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_headERKS3_"
+.LASF60:
+ .string "__UINT64_TYPE__ long unsigned int"
+.LASF2160:
+ .string "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE"
+.LASF516:
+ .string "_GLIBCXX_THROW_OR_ABORT(_EXC) (throw (_EXC))"
+.LASF2085:
+ .string "ATOMIC_POINTER_LOCK_FREE __GCC_ATOMIC_POINTER_LOCK_FREE"
+.LASF499:
+ .string "_GLIBCXX26_DEPRECATED "
+.LASF2145:
+ .string "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv"
+.LASF574:
+ .string "__USE_LARGEFILE64"
+.LASF2126:
+ .string "__swappable_details"
+.LASF298:
+ .string "__FLT32_IS_IEC_60559__ 1"
+.LASF1579:
+ .string "_SIZE_T "
+.LASF484:
+ .string "_GLIBCXX_HAVE_ATTRIBUTE_VISIBILITY 1"
+.LASF706:
+ .string "__always_inline __inline __attribute__ ((__always_inline__))"
+.LASF2282:
+ .string "_Nth_type<1, Base*, std::default_delete<Base> >"
+.LASF24:
+ .string "__LP64__ 1"
+.LASF642:
+ .string "__USE_DYNAMIC_STACK_SIZE 1"
+.LASF523:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_CXX11 namespace __cxx11 {"
+.LASF1717:
+ .string "__U16_TYPE unsigned short int"
+.LASF1902:
+ .string "CPU_ALLOC(count) __CPU_ALLOC (count)"
+.LASF787:
+ .string "_PSTL_STRING_AUX(x) #x"
+.LASF701:
+ .string "__nonnull(params) __attribute_nonnull__ (params)"
+.LASF978:
+ .string "_GLIBCXX_ICONV_CONST "
+.LASF181:
+ .string "__INT16_C(c) c"
+.LASF826:
+ .string "_GLIBCXX_HAVE_ATAN2L 1"
+.LASF738:
+ .string "__USE_EXTERN_INLINES 1"
+.LASF453:
+ .string "__SEG_FS 1"
+.LASF691:
+ .string "__attribute_pure__ __attribute__ ((__pure__))"
+.LASF1236:
+ .string "__glibcxx_want_constexpr_string_view"
+.LASF1370:
+ .string "__glibcxx_want_is_invocable "
+.LASF337:
+ .string "__FLT32X_DECIMAL_DIG__ 17"
+.LASF1848:
+ .string "CLONE_NEWNS 0x00020000"
+.LASF798:
+ .string "_PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan inclusive(PRM))"
+.LASF417:
+ .string "__GCC_ATOMIC_CHAR32_T_LOCK_FREE 2"
+.LASF1620:
+ .string "_VA_LIST_DEFINED "
+.LASF1052:
+ .string "_GLIBCXX_USE_SCHED_YIELD 1"
+.LASF1668:
+ .string "wcscspn"
+.LASF316:
+ .string "__FLT128_DIG__ 33"
+.LASF2334:
+ .string "__isoc23_swscanf"
+.LASF1126:
+ .string "__glibcxx_generic_associative_lookup 201304L"
+.LASF1629:
+ .string "__FILE_defined 1"
+.LASF1282:
+ .string "__glibcxx_want_list_remove_return_type"
+.LASF1024:
+ .string "_GLIBCXX_USE_C99_STDINT 1"
+.LASF520:
+ .string "_GLIBCXX_USE_DUAL_ABI 1"
+.LASF813:
+ .string "_PSTL_PRAGMA_LOCATION \" [Parallel STL message]: \""
+.LASF1591:
+ .string "___int_size_t_h "
+.LASF598:
+ .string "_ISOC23_SOURCE 1"
+.LASF1586:
+ .string "_SIZE_T_DEFINED_ "
+.LASF315:
+ .string "__FLT128_MANT_DIG__ 113"
+.LASF1927:
+ .string "ADJ_TAI 0x0080"
+.LASF371:
+ .string "__BFLT16_NORM_MAX__ 3.38953138925153547590470800371487867e+38BF16"
+.LASF2132:
+ .string "size_t"
+.LASF881:
+ .string "_GLIBCXX_HAVE_LIMIT_DATA 1"
+.LASF421:
+ .string "__GCC_ATOMIC_LONG_LOCK_FREE 2"
+.LASF1069:
+ .string "_GLIBCXX_CXX_ALLOCATOR_H 1"
+.LASF1084:
+ .string "__glibcxx_want_is_null_pointer"
+.LASF1919:
+ .string "_BITS_TIMEX_H 1"
+.LASF1700:
+ .string "__GXX_TYPEINFO_EQUALITY_INLINE 1"
+.LASF2328:
+ .string "__count"
+.LASF1755:
+ .string "__TIME_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF855:
+ .string "_GLIBCXX_HAVE_FINITEL 1"
+.LASF147:
+ .string "__WINT_MIN__ 0U"
+.LASF2039:
+ .string "__GTHREAD_ALWAYS_INLINE"
+.LASF1341:
+ .string "__glibcxx_want_fstream_native_handle"
+.LASF1696:
+ .string "_SHARED_PTR_BASE_H 1"
+.LASF741:
+ .string "__stub_fchflags "
+.LASF2108:
+ .string "__glibcxx_want_parallel_algorithm "
+.LASF1574:
+ .string "__need_size_t "
+.LASF1721:
+ .string "__ULONGWORD_TYPE unsigned long int"
+.LASF1336:
+ .string "__glibcxx_want_to_underlying"
+.LASF395:
+ .string "__DEC128_MAX_EXP__ 6145"
+.LASF2242:
+ .string "__conditional_t"
+.LASF1264:
+ .string "__glibcxx_want_constexpr_algorithms"
+.LASF552:
+ .string "_GLIBCXX_BEGIN_EXTERN_C extern \"C\" {"
+.LASF573:
+ .string "__USE_LARGEFILE"
+.LASF1280:
+ .string "__glibcxx_want_jthread"
+.LASF1167:
+ .string "__glibcxx_want_make_from_tuple"
+.LASF1532:
+ .string "__GLIBC_USE_LIB_EXT2 1"
+.LASF91:
+ .string "__cpp_lambdas 200907L"
+.LASF566:
+ .string "__USE_XOPEN"
+.LASF435:
+ .string "__amd64__ 1"
+.LASF1788:
+ .string "SCHED_OTHER 0"
+.LASF159:
+ .string "__GLIBCXX_TYPE_INT_N_0 __int128"
+.LASF1485:
+ .string "__glibcxx_want_byteswap "
+.LASF590:
+ .string "__GLIBC_USE(F) __GLIBC_USE_ ## F"
+.LASF1065:
+ .string "_GLIBCXX_X86_RDSEED 1"
+.LASF821:
+ .string "_GLIBCXX_HAVE_ARPA_INET_H 1"
+.LASF2337:
+ .string "__isoc23_vwscanf"
+.LASF375:
+ .string "__BFLT16_HAS_DENORM__ 1"
+.LASF1266:
+ .string "__glibcxx_want_constexpr_memory"
+.LASF831:
+ .string "_GLIBCXX_HAVE_C99_FLT_EVAL_TYPES 1"
+.LASF475:
+ .string "__WORDSIZE_TIME64_COMPAT32 1"
+.LASF1833:
+ .string "__aligned_be64 __be64 __attribute__((aligned(8)))"
+.LASF733:
+ .string "__attr_access_none(argno) __attribute__ ((__access__ (__none__, argno)))"
+.LASF1012:
+ .string "_GLIBCXX_USE_C99_COMPLEX_ARC 1"
+.LASF1863:
+ .string "CLONE_NEWTIME 0x00000080"
+.LASF718:
+ .string "__attribute_copy__(arg) __attribute__ ((__copy__ (arg)))"
+.LASF1299:
+ .string "__glibcxx_want_freestanding_variant"
+.LASF1121:
+ .string "__glibcxx_want_to_chars"
+.LASF136:
+ .string "__EXCEPTIONS 1"
+.LASF1912:
+ .string "CLOCK_REALTIME_COARSE 5"
+.LASF96:
+ .string "__cpp_variadic_templates 200704L"
+.LASF1633:
+ .string "WCHAR_MIN __WCHAR_MIN"
+.LASF2246:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEaSEOS3_"
+.LASF204:
+ .string "__INT_FAST64_WIDTH__ 64"
+.LASF725:
+ .string "__LDBL_REDIR_DECL(name) "
+.LASF1384:
+ .string "__glibcxx_want_type_trait_variable_templates "
+.LASF1400:
+ .string "_GLIBCXX_HAS_NESTED_TYPE(_NTYPE) template<typename _Tp, typename = __void_t<>> struct __has_ ##_NTYPE : false_type { }; template<typename _Tp> struct __has_ ##_NTYPE<_Tp, __void_t<typename _Tp::_NTYPE>> : true_type { };"
+.LASF1332:
+ .string "__glibcxx_want_spanstream"
+.LASF461:
+ .string "unix 1"
+.LASF2356:
+ .string "Base"
+.LASF1967:
+ .string "TIME_UTC 1"
+.LASF1386:
+ .string "__glibcxx_want_void_t "
+.LASF2230:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_swapERS4_"
+.LASF127:
+ .string "__cpp_variadic_using 201611L"
+.LASF2381:
+ .string "_ZNSt15__exception_ptr4swapERNS_13exception_ptrES1_"
+.LASF1857:
+ .string "CLONE_NEWUTS 0x04000000"
+.LASF493:
+ .string "_GLIBCXX17_DEPRECATED [[__deprecated__]]"
+.LASF252:
+ .string "__LDBL_MIN_EXP__ (-16381)"
+.LASF1685:
+ .string "wctob"
+.LASF620:
+ .string "__USE_ISOC99 1"
+.LASF1612:
+ .string "_BSD_WCHAR_T_"
+.LASF2375:
+ .string "__dso_handle"
+.LASF1204:
+ .string "__glibcxx_memory_resource 201603L"
+.LASF1643:
+ .string "fwprintf"
+.LASF775:
+ .string "_GLIBCXX_DOXYGEN_ONLY(X) "
+.LASF428:
+ .string "__GCC_HAVE_DWARF2_CFI_ASM 1"
+.LASF952:
+ .string "_GLIBCXX_HAVE_SYS_SYSINFO_H 1"
+.LASF1551:
+ .string "__CFLOAT128 _Complex _Float128"
+.LASF1511:
+ .string "__cpp_lib_tuple_element_t 201402L"
+.LASF2215:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERS2_"
+.LASF1297:
+ .string "__glibcxx_want_freestanding_optional"
+.LASF1097:
+ .string "__glibcxx_want_coroutine"
+.LASF2192:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+.LASF1872:
+ .string "__CPU_CLR_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? (((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))"
+.LASF90:
+ .string "__cpp_user_defined_literals 200809L"
+.LASF272:
+ .string "__FLT16_MAX_10_EXP__ 4"
+.LASF1091:
+ .string "__glibcxx_void_t 201411L"
+.LASF106:
+ .string "__cpp_decltype_auto 201304L"
+.LASF997:
+ .string "_GLIBCXX98_USE_C99_WCHAR 1"
+.LASF1076:
+ .string "__glibcxx_want_constexpr_new "
+.LASF920:
+ .string "_GLIBCXX_HAVE_SINF 1"
+.LASF1152:
+ .string "__glibcxx_hardware_interference_size 201703L"
+.LASF1010:
+ .string "_GLIBCXX_USE_C11_UCHAR_CXX11 1"
+.LASF1891:
+ .string "CPU_ZERO_S(setsize,cpusetp) __CPU_ZERO_S (setsize, cpusetp)"
+.LASF2302:
+ .string "__int128 unsigned"
+.LASF634:
+ .string "__USE_XOPEN2K8XSI 1"
+.LASF489:
+ .string "_GLIBCXX11_DEPRECATED _GLIBCXX_DEPRECATED"
+.LASF1542:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23 1"
+.LASF2283:
+ .string "tuple_element<1, std::tuple<Base*, std::default_delete<Base> > >"
+.LASF708:
+ .string "__extern_inline extern __inline __attribute__ ((__gnu_inline__))"
+.LASF1794:
+ .string "SCHED_IDLE 5"
+.LASF1242:
+ .string "__glibcxx_want_constexpr_char_traits"
+.LASF2050:
+ .string "_STDDEF_H "
+.LASF1657:
+ .string "vfwscanf"
+.LASF2325:
+ .string "wint_t"
+.LASF396:
+ .string "__DEC128_MIN__ 1E-6143DL"
+.LASF1473:
+ .string "__glibcxx_requires_heap_pred(_First,_Last,_Pred) "
+.LASF594:
+ .string "_ISOC99_SOURCE 1"
+.LASF56:
+ .string "__INT64_TYPE__ long int"
+.LASF1997:
+ .string "PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)"
+.LASF1432:
+ .string "__glibcxx_no_dangling_refs(_U1,_U2) "
+.LASF1073:
+ .string "__glibcxx_want_launder "
+.LASF2018:
+ .string "PTHREAD_ONCE_INIT 0"
+.LASF386:
+ .string "__DEC64_MANT_DIG__ 16"
+.LASF964:
+ .string "_GLIBCXX_HAVE_TRUNCATE 1"
+.LASF1894:
+ .string "CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) __CPU_EQUAL_S (setsize, cpusetp1, cpusetp2)"
+.LASF882:
+ .string "_GLIBCXX_HAVE_LIMIT_FSIZE 1"
+.LASF212:
+ .string "__GCC_IEC_559 2"
+.LASF824:
+ .string "_GLIBCXX_HAVE_AS_SYMVER_DIRECTIVE 1"
+.LASF884:
+ .string "_GLIBCXX_HAVE_LIMIT_VMEM 0"
+.LASF687:
+ .string "__REDIRECT_FORTIFY_NTH __REDIRECT_NTH"
+.LASF568:
+ .string "__USE_UNIX98"
+.LASF1732:
+ .string "__SYSCALL_SLONG_TYPE __SLONGWORD_TYPE"
+.LASF1695:
+ .string "wcstoull"
+.LASF1359:
+ .string "__catch(X) catch(X)"
+.LASF635:
+ .string "__USE_XOPEN2KXSI 1"
+.LASF667:
+ .string "__CONCAT(x,y) x ## y"
+.LASF1803:
+ .string "SCHED_FLAG_UTIL_CLAMP_MIN 0x20"
+.LASF2076:
+ .string "ATOMIC_BOOL_LOCK_FREE __GCC_ATOMIC_BOOL_LOCK_FREE"
+.LASF2226:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS4_"
+.LASF242:
+ .string "__DBL_NORM_MAX__ double(1.79769313486231570814527423731704357e+308L)"
+.LASF276:
+ .string "__FLT16_MIN__ 6.10351562500000000000000000000000000e-5F16"
+.LASF823:
+ .string "_GLIBCXX_HAVE_ASINL 1"
+.LASF1599:
+ .string "_T_WCHAR_ "
+.LASF150:
+ .string "__SCHAR_WIDTH__ 8"
+.LASF742:
+ .string "__stub_gtty "
+.LASF1810:
+ .string "_ASM_GENERIC_TYPES_H "
+.LASF1747:
+ .string "__BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF37:
+ .string "__ORDER_PDP_ENDIAN__ 3412"
+.LASF1727:
+ .string "__ULONG32_TYPE unsigned int"
+.LASF17:
+ .string "__ATOMIC_ACQUIRE 2"
+.LASF1325:
+ .string "__glibcxx_want_formatters"
+.LASF1520:
+ .string "_Cxx_hashtable_define_trivial_hash(_Tp) template<> struct hash<_Tp> : public __hash_base<size_t, _Tp> { size_t operator()(_Tp __val) const noexcept { return static_cast<size_t>(__val); } };"
+.LASF1021:
+ .string "_GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1 1"
+.LASF1994:
+ .string "_SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))"
+.LASF1689:
+ .string "wmemmove"
+.LASF1316:
+ .string "__glibcxx_want_ranges_fold"
+.LASF1640:
+ .string "fputwc"
+.LASF2181:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+.LASF507:
+ .string "_GLIBCXX20_CONSTEXPR "
+.LASF1589:
+ .string "_SIZE_T_DECLARED "
+.LASF1407:
+ .string "_GLIBCXX_SIZED_DEALLOC"
+.LASF1850:
+ .string "CLONE_SETTLS 0x00080000"
+.LASF1552:
+ .string "_BITS_FLOATN_COMMON_H "
+.LASF1050:
+ .string "_GLIBCXX_USE_RANDOM_TR1 1"
+.LASF1641:
+ .string "fputws"
+.LASF487:
+ .string "_GLIBCXX_DEPRECATED __attribute__ ((__deprecated__))"
+.LASF747:
+ .string "_GLIBCXX_HAVE_GETS"
+.LASF1177:
+ .string "__glibcxx_want_gcd"
+.LASF93:
+ .string "__cpp_attributes 200809L"
+.LASF1130:
+ .string "__glibcxx_quoted_string_io 201304L"
+.LASF1938:
+ .string "MOD_STATUS ADJ_STATUS"
+.LASF1333:
+ .string "__glibcxx_want_stacktrace"
+.LASF2231:
+ .string "_Elements"
+.LASF185:
+ .string "__INT_LEAST32_WIDTH__ 32"
+.LASF2270:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4ERKS3_"
+.LASF778:
+ .string "_PSTL_ASSERT(_Condition) __glibcxx_assert(_Condition)"
+.LASF768:
+ .string "_GLIBCXX_FLOAT_IS_IEEE_BINARY32 1"
+.LASF926:
+ .string "_GLIBCXX_HAVE_SQRTL 1"
+.LASF1212:
+ .string "__glibcxx_shared_mutex 201505L"
+.LASF1497:
+ .string "_STL_RAW_STORAGE_ITERATOR_H 1"
+.LASF1958:
+ .string "STA_NANO 0x2000"
+.LASF1819:
+ .string "__struct_group(TAG,NAME,ATTRS,MEMBERS...) union { struct { MEMBERS } ATTRS; struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; } ATTRS"
+.LASF498:
+ .string "_GLIBCXX23_DEPRECATED_SUGGEST(ALT) "
+.LASF1825:
+ .string "_ASM_X86_POSIX_TYPES_64_H "
+.LASF267:
+ .string "__FLT16_MANT_DIG__ 11"
+.LASF1215:
+ .string "__glibcxx_want_shared_ptr_weak_type"
+.LASF1615:
+ .string "NULL __null"
+.LASF2289:
+ .string "__get_helper<0, Base*, std::default_delete<Base> >"
+.LASF1433:
+ .string "_GLIBCXX_DEPRECATED_PAIR_CTOR __attribute__ ((__deprecated__ (\"use 'nullptr' instead of '0' to \" \"initialize std::pair of move-only \" \"type and pointer\")))"
+.LASF587:
+ .string "__KERNEL_STRICT_NAMES "
+.LASF165:
+ .string "__INTMAX_WIDTH__ 64"
+.LASF1294:
+ .string "__glibcxx_want_freestanding_array"
+.LASF1832:
+ .string "__aligned_s64 __s64 __attribute__((aligned(8)))"
+.LASF688:
+ .string "__attribute_malloc__ __attribute__ ((__malloc__))"
+.LASF1503:
+ .string "__glibcxx_want_constexpr_tuple "
+.LASF786:
+ .string "_PSTL_PRAGMA(x) _Pragma(#x)"
+.LASF1909:
+ .string "CLOCK_PROCESS_CPUTIME_ID 2"
+.LASF1388:
+ .string "__cpp_lib_result_of_sfinae 201210L"
+.LASF643:
+ .string "__USE_GNU 1"
+.LASF989:
+ .string "_GLIBCXX11_USE_C99_MATH 1"
+.LASF1183:
+ .string "__glibcxx_want_array_constexpr"
+.LASF1664:
+ .string "wcschr"
+.LASF986:
+ .string "_GLIBCXX_STDC_HEADERS 1"
+.LASF2175:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+.LASF2251:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4EOS3_"
+.LASF1823:
+ .string "__counted_by_be(m) "
+.LASF1977:
+ .string "__SIZEOF_PTHREAD_COND_T 48"
+.LASF1181:
+ .string "__glibcxx_want_raw_memory_algorithms"
+.LASF163:
+ .string "__UINTMAX_MAX__ 0xffffffffffffffffUL"
+.LASF469:
+ .string "__STDC_IEC_60559_COMPLEX__ 201404L"
+.LASF110:
+ .string "__cpp_unicode_characters 201411L"
+.LASF967:
+ .string "_GLIBCXX_HAVE_UNLINKAT 1"
+.LASF648:
+ .string "__GNU_LIBRARY__"
+.LASF2385:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI4St15__uniq_ptr_implIS0_S2_EEPS0_"
+.LASF1354:
+ .string "_GLIBCXX_PLACEMENT_CONSTEXPR inline"
+.LASF641:
+ .string "__USE_ATFILE 1"
+.LASF406:
+ .string "__DEC64X_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143D64x"
+.LASF2247:
+ .string "add_lvalue_reference<Base>"
+.LASF2044:
+ .string "_CONCURRENCE_H 1"
+.LASF1421:
+ .string "__glibcxx_class_requires3(_a,_b,_c,_d) "
+.LASF869:
+ .string "_GLIBCXX_HAVE_ICONV 1"
+.LASF2041:
+ .string "_GLIBCXX_READ_MEM_BARRIER __atomic_thread_fence (__ATOMIC_ACQUIRE)"
+.LASF1831:
+ .string "__aligned_u64 __u64 __attribute__((aligned(8)))"
+.LASF524:
+ .string "_GLIBCXX_END_NAMESPACE_CXX11 }"
+.LASF1163:
+ .string "__glibcxx_want_launder"
+.LASF807:
+ .string "_PSTL_PRAGMA_SIMD_EARLYEXIT "
+.LASF233:
+ .string "__FLT_IS_IEC_60559__ 1"
+.LASF757:
+ .string "_GLIBCXX_TXN_SAFE "
+.LASF1922:
+ .string "ADJ_FREQUENCY 0x0002"
+.LASF800:
+ .string "_PSTL_CPP17_EXECUTION_POLICIES_PRESENT (_MSC_VER >= 1912 && _MSVC_LANG >= 201703L) || (_GLIBCXX_RELEASE >= 9 && __GLIBCXX__ >= 20190503 && __cplusplus >= 201703L)"
+.LASF2391:
+ .string "decltype(nullptr)"
+.LASF862:
+ .string "_GLIBCXX_HAVE_FREXPL 1"
+.LASF2364:
+ .string "this"
+.LASF591:
+ .string "_ISOC95_SOURCE"
+.LASF1017:
+ .string "_GLIBCXX_USE_C99_FENV_TR1 1"
+.LASF1805:
+ .string "SCHED_FLAG_KEEP_ALL (SCHED_FLAG_KEEP_POLICY | SCHED_FLAG_KEEP_PARAMS)"
+.LASF1998:
+ .string "PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE"
+.LASF1192:
+ .string "__glibcxx_chrono 201611L"
+.LASF378:
+ .string "__BFLT16_IS_IEC_60559__ 0"
+.LASF1030:
+ .string "_GLIBCXX_USE_DECIMAL_FLOAT 1"
+.LASF1844:
+ .string "CLONE_PTRACE 0x00002000"
+.LASF1314:
+ .string "__glibcxx_want_ranges_as_const"
+.LASF2379:
+ .string "GNU C++17 15.1.1 20250425 (Red Hat 15.1.1-1) -mtune=generic -march=x86-64 -g3 -gdwarf-5 -O2"
+.LASF199:
+ .string "__INT_FAST16_MAX__ 0x7fffffffffffffffL"
+.LASF1746:
+ .string "__RLIM64_T_TYPE __UQUAD_TYPE"
+.LASF1389:
+ .string "__cpp_lib_is_swappable 201603L"
+.LASF776:
+ .string "_GLIBCXX_USE_TBB_PAR_BACKEND __has_include(<tbb/tbb.h>)"
+.LASF1802:
+ .string "SCHED_FLAG_KEEP_PARAMS 0x10"
+.LASF980:
+ .string "_GLIBCXX_PACKAGE_BUGREPORT \"\""
+.LASF654:
+ .string "__PMT"
+.LASF2232:
+ .string "__conditional<true>"
+.LASF1610:
+ .string "_WCHAR_T_DECLARED "
+.LASF1539:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT"
+.LASF18:
+ .string "__ATOMIC_RELEASE 3"
+.LASF172:
+ .string "__INT64_MAX__ 0x7fffffffffffffffL"
+.LASF2267:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE7releaseEv"
+.LASF1055:
+ .string "_GLIBCXX_USE_STRUCT_TM_TM_ZONE 1"
+.LASF1981:
+ .string "__LOCK_ALIGNMENT "
+.LASF996:
+ .string "_GLIBCXX98_USE_C99_STDLIB 1"
+.LASF450:
+ .string "__SSE_MATH__ 1"
+.LASF1583:
+ .string "__SIZE_T "
+.LASF1516:
+ .string "_STL_FUNCTION_H 1"
+.LASF2275:
+ .string "__detail"
+.LASF1273:
+ .string "__glibcxx_want_constexpr_dynamic_alloc"
+.LASF1201:
+ .string "__glibcxx_want_map_try_emplace"
+.LASF10:
+ .string "__GNUC__ 15"
+.LASF202:
+ .string "__INT_FAST32_WIDTH__ 64"
+.LASF538:
+ .string "_GLIBCXX_CLANG"
+.LASF1500:
+ .string "_UNIQUE_PTR_H 1"
+.LASF465:
+ .string "_STDC_PREDEF_H 1"
+.LASF1826:
+ .string "__kernel_old_uid_t __kernel_old_uid_t"
+.LASF478:
+ .string "_GLIBCXX_RELEASE 15"
+.LASF2189:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS2_"
+.LASF999:
+ .string "_GLIBCXX_CAN_ALIGNAS_DESTRUCTIVE_SIZE 1"
+.LASF372:
+ .string "__BFLT16_MIN__ 1.17549435082228750796873653722224568e-38BF16"
+.LASF1475:
+ .string "__glibcxx_requires_string_len(_String,_Len) "
+.LASF1590:
+ .string "__DEFINED_size_t "
+.LASF2034:
+ .string "__GTHREAD_TIME_INIT {0,0}"
+.LASF249:
+ .string "__DBL_IS_IEC_60559__ 1"
+.LASF327:
+ .string "__FLT128_HAS_DENORM__ 1"
+.LASF1929:
+ .string "ADJ_MICRO 0x1000"
+.LASF1180:
+ .string "__glibcxx_raw_memory_algorithms 201606L"
+.LASF1283:
+ .string "__glibcxx_want_polymorphic_allocator"
+.LASF432:
+ .string "__SIZEOF_WINT_T__ 4"
+.LASF2058:
+ .string "_BSD_PTRDIFF_T_ "
+.LASF2120:
+ .string "__cpp_lib_make_unique 201304L"
+.LASF2284:
+ .string "__get_helper<1, std::default_delete<Base> >"
+.LASF1434:
+ .string "_GLIBCXX_DEPRECATED_PAIR_CTOR"
+.LASF2263:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+.LASF981:
+ .string "_GLIBCXX_PACKAGE_NAME \"package-unused\""
+.LASF1548:
+ .string "__HAVE_FLOAT64X 1"
+.LASF479:
+ .string "__GLIBCXX__"
+.LASF2097:
+ .string "_GLIBCXX_TSAN_MUTEX_POST_SIGNAL(X) "
+.LASF1414:
+ .string "_GLIBCXX26_DEF_VAL_T(T) "
+.LASF113:
+ .string "__cpp_enumerator_attributes 201411L"
+.LASF1760:
+ .string "__KEY_T_TYPE __S32_TYPE"
+.LASF1194:
+ .string "__glibcxx_execution 201902L"
+.LASF1928:
+ .string "ADJ_SETOFFSET 0x0100"
+.LASF141:
+ .string "__INT_MAX__ 0x7fffffff"
+.LASF1150:
+ .string "__glibcxx_has_unique_object_representations 201606L"
+.LASF2353:
+ .string "__isoc23_wcstoull"
+.LASF515:
+ .string "_GLIBCXX_NOTHROW _GLIBCXX_USE_NOEXCEPT"
+.LASF2368:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC2Ev"
+.LASF1124:
+ .string "__glibcxx_complex_udls 201309L"
+.LASF61:
+ .string "__INT_LEAST8_TYPE__ signed char"
+.LASF1600:
+ .string "_T_WCHAR "
+.LASF518:
+ .string "_GLIBCXX_NOEXCEPT_QUAL noexcept (_NE)"
+.LASF608:
+ .string "_XOPEN_SOURCE_EXTENDED 1"
+.LASF2395:
+ .string "execution"
+.LASF448:
+ .string "__SSE2__ 1"
+.LASF1447:
+ .string "__glibcxx_floating"
+.LASF1598:
+ .string "_WCHAR_T "
+.LASF2217:
+ .string "_Tuple_impl<0, Base*, std::default_delete<Base> >"
+.LASF1720:
+ .string "__SLONGWORD_TYPE long int"
+.LASF1888:
+ .string "CPU_SET_S(cpu,setsize,cpusetp) __CPU_SET_S (cpu, setsize, cpusetp)"
+.LASF2190:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4ERKS3_"
+.LASF858:
+ .string "_GLIBCXX_HAVE_FLOORL 1"
+.LASF1510:
+ .string "__glibcxx_want_constrained_equality "
+.LASF314:
+ .string "__FLT64_IS_IEC_60559__ 1"
+.LASF260:
+ .string "__LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L"
+.LASF431:
+ .string "__SIZEOF_WCHAR_T__ 4"
+.LASF793:
+ .string "_PSTL_PRAGMA_SIMD _PSTL_PRAGMA(omp simd)"
+.LASF214:
+ .string "__FLT_EVAL_METHOD__ 0"
+.LASF1219:
+ .string "__glibcxx_want_unordered_map_try_emplace"
+.LASF650:
+ .string "__GLIBC__ 2"
+.LASF368:
+ .string "__BFLT16_MAX_10_EXP__ 38"
+.LASF1408:
+ .string "_GLIBCXX_OPERATOR_DELETE"
+.LASF169:
+ .string "__INT8_MAX__ 0x7f"
+.LASF1943:
+ .string "MOD_MICRO ADJ_MICRO"
+.LASF1915:
+ .string "CLOCK_REALTIME_ALARM 8"
+.LASF1602:
+ .string "_WCHAR_T_ "
+.LASF526:
+ .string "_GLIBCXX_INLINE_VERSION 0"
+.LASF914:
+ .string "_GLIBCXX_HAVE_READLINK 1"
+.LASF542:
+ .string "_GLIBCXX_END_NAMESPACE_LDBL "
+.LASF1229:
+ .string "__glibcxx_want_bit_cast"
+.LASF1036:
+ .string "_GLIBCXX_USE_GETTIMEOFDAY 1"
+.LASF2378:
+ .string "_Z4funcv"
+.LASF1351:
+ .string "__glibcxx_want_to_string"
+.LASF1654:
+ .string "swscanf"
+.LASF557:
+ .string "_FEATURES_H 1"
+.LASF665:
+ .string "__P(args) args"
+.LASF1940:
+ .string "MOD_CLKB ADJ_TICK"
+.LASF2386:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE3getEv"
+.LASF1564:
+ .string "__HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 && __LDBL_MANT_DIG__ != 113)"
+.LASF2130:
+ .string "__uses_alloc0"
+.LASF976:
+ .string "_GLIBCXX_HAVE_WRITEV 1"
+.LASF138:
+ .string "__GXX_ABI_VERSION 1020"
+.LASF120:
+ .string "__cpp_capture_star_this 201603L"
+.LASF1005:
+ .string "_GLIBCXX_STDIO_EOF -1"
+.LASF2383:
+ .string "__nothrow_default_constructible"
+.LASF1580:
+ .string "_SYS_SIZE_T_H "
+.LASF1745:
+ .string "__RLIM_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF277:
+ .string "__FLT16_EPSILON__ 9.76562500000000000000000000000000000e-4F16"
+.LASF1043:
+ .string "_GLIBCXX_USE_NANOSLEEP 1"
+.LASF890:
+ .string "_GLIBCXX_HAVE_LOCALE_H 1"
+.LASF1058:
+ .string "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_CXX20 1"
+.LASF749:
+ .string "_GLIBCXX_HAVE_FLOAT128_MATH 1"
+.LASF1339:
+ .string "__glibcxx_want_algorithm_default_value_type"
+.LASF2218:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERS4_"
+.LASF1057:
+ .string "_GLIBCXX_USE_TMPNAM 1"
+.LASF306:
+ .string "__FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64"
+.LASF329:
+ .string "__FLT128_HAS_QUIET_NAN__ 1"
+.LASF1757:
+ .string "__SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF938:
+ .string "_GLIBCXX_HAVE_STRUCT_DIRENT_D_TYPE 1"
+.LASF436:
+ .string "__x86_64 1"
+.LASF895:
+ .string "_GLIBCXX_HAVE_LSEEK 1"
+.LASF1814:
+ .string "__ASM_GENERIC_BITS_PER_LONG "
+.LASF2239:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEE4swapERS4_"
+.LASF1456:
+ .string "_GLIBCXX_MAKE_MOVE_ITERATOR(_Iter) std::make_move_iterator(_Iter)"
+.LASF1980:
+ .string "__SIZEOF_PTHREAD_BARRIERATTR_T 4"
+.LASF1007:
+ .string "_GLIBCXX_STDIO_SEEK_END 2"
+.LASF1187:
+ .string "__glibcxx_want_clamp"
+.LASF2010:
+ .string "PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE"
+.LASF580:
+ .string "__USE_FORTIFY_LEVEL"
+.LASF1545:
+ .string "_BITS_FLOATN_H "
+.LASF2011:
+ .string "PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED"
+.LASF116:
+ .string "__cpp_nontype_template_args 201411L"
+.LASF811:
+ .string "_PSTL_PRAGMA_VECTOR_UNALIGNED "
+.LASF1691:
+ .string "wprintf"
+.LASF2339:
+ .string "tm_min"
+.LASF2113:
+ .string "__glibcxx_want_smart_ptr_for_overwrite "
+.LASF1886:
+ .string "CPU_ZERO(cpusetp) __CPU_ZERO_S (sizeof (cpu_set_t), cpusetp)"
+.LASF1756:
+ .string "__USECONDS_T_TYPE __U32_TYPE"
+.LASF2249:
+ .string "unique_ptr<Base, std::default_delete<Base> >"
+.LASF1970:
+ .string "_THREAD_SHARED_TYPES_H 1"
+.LASF951:
+ .string "_GLIBCXX_HAVE_SYS_STAT_H 1"
+.LASF1213:
+ .string "__glibcxx_want_shared_mutex"
+.LASF1824:
+ .string "__FD_SETSIZE"
+.LASF1964:
+ .string "__clockid_t_defined 1"
+.LASF597:
+ .string "_ISOC23_SOURCE"
+.LASF571:
+ .string "__USE_XOPEN2K8"
+.LASF894:
+ .string "_GLIBCXX_HAVE_LOGL 1"
+.LASF2238:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSEOS4_"
+.LASF1665:
+ .string "wcscmp"
+.LASF1188:
+ .string "__glibcxx_sample 201603L"
+.LASF817:
+ .string "_GLIBCXX_HAVE_ACOSF 1"
+.LASF1616:
+ .string "__need_NULL"
+.LASF2065:
+ .string "offsetof(TYPE,MEMBER) __builtin_offsetof (TYPE, MEMBER)"
+.LASF1506:
+ .string "__glibcxx_want_apply "
+.LASF585:
+ .string "__GLIBC_USE_DEPRECATED_SCANF"
+.LASF2093:
+ .string "_GLIBCXX_TSAN_MUTEX_LOCKED(X) "
+.LASF476:
+ .string "__SYSCALL_WORDSIZE 64"
+.LASF1507:
+ .string "__glibcxx_want_make_from_tuple "
+.LASF2322:
+ .string "fp_offset"
+.LASF1498:
+ .string "_GLIBCXX_ALIGN_H 1"
+.LASF380:
+ .string "__DEC32_MIN_EXP__ (-94)"
+.LASF1245:
+ .string "__glibcxx_want_is_pointer_interconvertible"
+.LASF1173:
+ .string "__glibcxx_want_variant"
+.LASF1650:
+ .string "mbsrtowcs"
+.LASF2144:
+ .string "_M_get"
+.LASF1226:
+ .string "__glibcxx_want_bind_front"
+.LASF410:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1"
+.LASF1444:
+ .string "__glibcxx_max_digits10(_Tp) (2 + __glibcxx_floating(_Tp, __FLT_MANT_DIG__, __DBL_MANT_DIG__, __LDBL_MANT_DIG__) * 643L / 2136)"
+.LASF2321:
+ .string "gp_offset"
+.LASF864:
+ .string "_GLIBCXX_HAVE_GETIPINFO 1"
+.LASF673:
+ .string "__bos(ptr) __builtin_object_size (ptr, __USE_FORTIFY_LEVEL > 1)"
+.LASF1843:
+ .string "CLONE_PIDFD 0x00001000"
+.LASF1406:
+ .string "_GLIBCXX_SIZED_DEALLOC(p,n) (p), (n) * sizeof(_Tp)"
+.LASF927:
+ .string "_GLIBCXX_HAVE_STACKTRACE 1"
+.LASF625:
+ .string "__USE_POSIX199309 1"
+.LASF59:
+ .string "__UINT32_TYPE__ unsigned int"
+.LASF758:
+ .string "_GLIBCXX_TXN_SAFE_DYN "
+.LASF929:
+ .string "_GLIBCXX_HAVE_STDBOOL_H 1"
+.LASF693:
+ .string "__attribute_maybe_unused__ __attribute__ ((__unused__))"
+.LASF348:
+ .string "__FLT64X_DIG__ 18"
+.LASF142:
+ .string "__LONG_MAX__ 0x7fffffffffffffffL"
+.LASF1774:
+ .string "__TIME64_T_TYPE __TIME_T_TYPE"
+.LASF2307:
+ .string "__int128"
+.LASF2180:
+ .string "reset"
+.LASF1908:
+ .string "CLOCK_MONOTONIC 1"
+.LASF2310:
+ .string "char32_t"
+.LASF1508:
+ .string "__glibcxx_want_ranges_zip "
+.LASF2345:
+ .string "tm_yday"
+.LASF2201:
+ .string "_Tuple_impl"
+.LASF1649:
+ .string "mbsinit"
+.LASF255:
+ .string "__LDBL_MAX_10_EXP__ 4932"
+.LASF1165:
+ .string "__glibcxx_want_logical_traits"
+.LASF1865:
+ .string "_BITS_CPU_SET_H 1"
+.LASF130:
+ .string "__cpp_sized_deallocation 201309L"
+.LASF391:
+ .string "__DEC64_EPSILON__ 1E-15DD"
+.LASF1484:
+ .string "__glibcxx_want_bit_cast "
+.LASF829:
+ .string "_GLIBCXX_HAVE_ATOMIC_LOCK_POLICY 1"
+.LASF1186:
+ .string "__glibcxx_clamp 201603L"
+.LASF1834:
+ .string "__aligned_le64 __le64 __attribute__((aligned(8)))"
+.LASF125:
+ .string "__cpp_template_auto 201606L"
+.LASF1951:
+ .string "STA_UNSYNC 0x0040"
+.LASF2153:
+ .string "~exception_ptr"
+.LASF2077:
+ .string "ATOMIC_CHAR_LOCK_FREE __GCC_ATOMIC_CHAR_LOCK_FREE"
+.LASF1892:
+ .string "CPU_COUNT_S(setsize,cpusetp) __CPU_COUNT_S (setsize, cpusetp)"
+.LASF1228:
+ .string "__glibcxx_want_starts_ends_with"
+.LASF2118:
+ .string "__cpp_lib_enable_shared_from_this 201603L"
+.LASF381:
+ .string "__DEC32_MAX_EXP__ 97"
+.LASF1742:
+ .string "__OFF_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF346:
+ .string "__FLT32X_IS_IEC_60559__ 1"
+.LASF497:
+ .string "_GLIBCXX23_DEPRECATED "
+.LASF2350:
+ .string "__isoc23_wcstoul"
+.LASF1378:
+ .string "__glibcxx_want_logical_traits "
+.LASF1268:
+ .string "__glibcxx_want_atomic_wait"
+.LASF2195:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERKS3_"
+.LASF1468:
+ .string "__glibcxx_requires_partitioned_lower(_First,_Last,_Value) "
+.LASF1255:
+ .string "__glibcxx_want_type_identity"
+.LASF2264:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EE11get_deleterEv"
+.LASF1117:
+ .string "__glibcxx_want_tuples_by_type"
+.LASF464:
+ .string "_GNU_SOURCE 1"
+.LASF325:
+ .string "__FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128"
+.LASF430:
+ .string "__SIZEOF_INT128__ 16"
+.LASF1613:
+ .string "__need_wchar_t"
+.LASF330:
+ .string "__FLT128_IS_IEC_60559__ 1"
+.LASF1015:
+ .string "_GLIBCXX_USE_C99_CTYPE_TR1 1"
+.LASF2303:
+ .string "signed char"
+.LASF763:
+ .string "_GLIBCXX_USE_C99_COMPLEX _GLIBCXX11_USE_C99_COMPLEX"
+.LASF1290:
+ .string "__glibcxx_want_constexpr_typeinfo"
+.LASF765:
+ .string "_GLIBCXX_USE_C99_STDLIB _GLIBCXX11_USE_C99_STDLIB"
+.LASF1379:
+ .string "__glibcxx_want_reference_from_temporary "
+.LASF439:
+ .string "__SIZEOF_FLOAT128__ 16"
+.LASF1577:
+ .string "__size_t__ "
+.LASF14:
+ .string "__GNUC_RH_RELEASE__ 1"
+.LASF627:
+ .string "__USE_XOPEN2K 1"
+.LASF1031:
+ .string "_GLIBCXX_USE_DEV_RANDOM 1"
+.LASF1395:
+ .string "__cpp_lib_has_unique_object_representations 201606L"
+.LASF1322:
+ .string "__glibcxx_want_adaptor_iterator_pair_constructor"
+.LASF988:
+ .string "_GLIBCXX11_USE_C99_COMPLEX 1"
+.LASF1606:
+ .string "_WCHAR_T_H "
+.LASF360:
+ .string "__FLT64X_HAS_INFINITY__ 1"
+.LASF1934:
+ .string "MOD_OFFSET ADJ_OFFSET"
+.LASF694:
+ .string "__attribute_used__ __attribute__ ((__used__))"
+.LASF1116:
+ .string "__glibcxx_tuples_by_type 201304L"
+.LASF1032:
+ .string "_GLIBCXX_USE_FCHMOD 1"
+.LASF33:
+ .string "__CHAR_BIT__ 8"
+.LASF607:
+ .string "_XOPEN_SOURCE_EXTENDED"
+.LASF1653:
+ .string "swprintf"
+.LASF2148:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4EDn"
+.LASF1295:
+ .string "__glibcxx_want_freestanding_cstring"
+.LASF1544:
+ .string "__GLIBC_USE_IEC_60559_TYPES_EXT 1"
+.LASF2250:
+ .string "unique_ptr"
+.LASF1945:
+ .string "STA_PLL 0x0001"
+.LASF2067:
+ .string "_GXX_NULLPTR_T "
+.LASF739:
+ .string "__stub___compat_bdflush "
+.LASF2162:
+ .string "default_delete"
+.LASF937:
+ .string "_GLIBCXX_HAVE_STRTOLD 1"
+.LASF2015:
+ .string "PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED"
+.LASF1811:
+ .string "_ASM_GENERIC_INT_LL64_H "
+.LASF1990:
+ .string "__ONCE_FLAG_INIT { 0 }"
+.LASF2279:
+ .string "_Nth_type<0, Base*, std::default_delete<Base> >"
+.LASF1660:
+ .string "vwprintf"
+.LASF1567:
+ .string "__f64(x) x ##f64"
+.LASF2351:
+ .string "__isoc23_wscanf"
+.LASF1585:
+ .string "_BSD_SIZE_T_ "
+.LASF712:
+ .string "__va_arg_pack_len() __builtin_va_arg_pack_len ()"
+.LASF1957:
+ .string "STA_CLOCKERR 0x1000"
+.LASF2021:
+ .string "__cleanup_fct_attribute "
+.LASF1426:
+ .string "__glibcxx_requires_nonempty() __glibcxx_assert(!this->empty())"
+.LASF696:
+ .string "__attribute_deprecated__ __attribute__ ((__deprecated__))"
+.LASF55:
+ .string "__INT32_TYPE__ int"
+.LASF1969:
+ .string "_BITS_PTHREADTYPES_COMMON_H 1"
+.LASF81:
+ .string "__GXX_RTTI 1"
+.LASF1009:
+ .string "_GLIBCXX_SYMVER_GNU 1"
+.LASF670:
+ .string "__BEGIN_DECLS extern \"C\" {"
+.LASF1667:
+ .string "wcscpy"
+.LASF586:
+ .string "__GLIBC_USE_C23_STRTOL"
+.LASF2308:
+ .string "wchar_t"
+.LASF1658:
+ .string "vswprintf"
+.LASF1495:
+ .string "_EXT_ALLOC_TRAITS_H 1"
+.LASF426:
+ .string "__GCC_ATOMIC_POINTER_LOCK_FREE 2"
+.LASF1651:
+ .string "putwc"
+.LASF1710:
+ .string "_GLIBCXX_GCC_GTHR_POSIX_H "
+.LASF1022:
+ .string "_GLIBCXX_USE_C99_MATH_FUNCS 1"
+.LASF1216:
+ .string "__glibcxx_string_view 201803L"
+.LASF1556:
+ .string "__HAVE_FLOAT32X 1"
+.LASF897:
+ .string "_GLIBCXX_HAVE_MEMALIGN 1"
+.LASF853:
+ .string "_GLIBCXX_HAVE_FINITE 1"
+.LASF288:
+ .string "__FLT32_MAX_10_EXP__ 38"
+.LASF1770:
+ .string "__STATFS_MATCHES_STATFS64 1"
+.LASF1419:
+ .string "__glibcxx_class_requires(_a,_b) "
+.LASF309:
+ .string "__FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64"
+.LASF1830:
+ .string "__bitwise__ __bitwise"
+.LASF1445:
+ .string "__glibcxx_digits10(_Tp) __glibcxx_floating(_Tp, __FLT_DIG__, __DBL_DIG__, __LDBL_DIG__)"
+.LASF1968:
+ .string "__isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))"
+.LASF388:
+ .string "__DEC64_MAX_EXP__ 385"
+.LASF866:
+ .string "_GLIBCXX_HAVE_HYPOT 1"
+.LASF816:
+ .string "_PSTL_PRAGMA_MESSAGE_POLICIES(x) "
+.LASF95:
+ .string "__cpp_rvalue_references 200610L"
+.LASF2164:
+ .string "operator()"
+.LASF933:
+ .string "_GLIBCXX_HAVE_STRERROR_R 1"
+.LASF1597:
+ .string "__WCHAR_T__ "
+.LASF104:
+ .string "__cpp_init_captures 201304L"
+.LASF209:
+ .string "__INTPTR_MAX__ 0x7fffffffffffffffL"
+.LASF2253:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED4Ev"
+.LASF263:
+ .string "__LDBL_HAS_DENORM__ 1"
+.LASF1424:
+ .string "__glibcxx_requires_non_empty_range(_First,_Last) __glibcxx_assert(_First != _Last)"
+.LASF595:
+ .string "_ISOC11_SOURCE"
+.LASF2052:
+ .string "_ANSI_STDDEF_H "
+.LASF1060:
+ .string "_GLIBCXX_USE_UTIME 1"
+.LASF545:
+ .string "_GLIBCXX_END_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_END_NAMESPACE_CXX11"
+.LASF1961:
+ .string "STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)"
+.LASF658:
+ .string "__LEAF , __leaf__"
+.LASF1954:
+ .string "STA_PPSJITTER 0x0200"
+.LASF2331:
+ .string "mbstate_t"
+.LASF1013:
+ .string "_GLIBCXX_USE_C99_COMPLEX_TR1 1"
+.LASF483:
+ .string "_GLIBCXX_NORETURN __attribute__ ((__noreturn__))"
+.LASF773:
+ .string "_GLIBCXX_HAVE_BUILTIN_LAUNDER 1"
+.LASF1895:
+ .string "CPU_AND(destset,srcset1,srcset2) __CPU_OP_S (sizeof (cpu_set_t), destset, srcset1, srcset2, &)"
+.LASF1054:
+ .string "_GLIBCXX_USE_SENDFILE 1"
+.LASF420:
+ .string "__GCC_ATOMIC_INT_LOCK_FREE 2"
+.LASF194:
+ .string "__UINT32_C(c) c ## U"
+.LASF303:
+ .string "__FLT64_MAX_EXP__ 1024"
+.LASF2102:
+ .string "__glibcxx_want_atomic_value_initialization "
+.LASF2344:
+ .string "tm_wday"
+.LASF201:
+ .string "__INT_FAST32_MAX__ 0x7fffffffffffffffL"
+.LASF1515:
+ .string "__glibcxx_no_dangling_refs(U) "
+.LASF1249:
+ .string "__glibcxx_want_source_location"
+.LASF2111:
+ .string "__glibcxx_want_shared_ptr_arrays "
+.LASF407:
+ .string "__REGISTER_PREFIX__ "
+.LASF953:
+ .string "_GLIBCXX_HAVE_SYS_TIME_H 1"
+.LASF2141:
+ .string "_M_release"
+.LASF2166:
+ .string "__uniq_ptr_impl<Base, std::default_delete<Base> >"
+.LASF872:
+ .string "_GLIBCXX_HAVE_ISINFL 1"
+.LASF1352:
+ .string "__glibcxx_want_modules"
+.LASF1820:
+ .string "__DECLARE_FLEX_ARRAY(T,member) T member[0]"
+.LASF1800:
+ .string "SCHED_FLAG_DL_OVERRUN 0x04"
+.LASF501:
+ .string "_GLIBCXX_ABI_TAG_CXX11 __attribute ((__abi_tag__ (\"cxx11\")))"
+.LASF1082:
+ .string "__glibcxx_want_allocator_traits_is_always_equal"
+.LASF1329:
+ .string "__glibcxx_want_move_only_function"
+.LASF1477:
+ .string "__glibcxx_requires_irreflexive2(_First,_Last) "
+.LASF1566:
+ .string "__f32(x) x ##f32"
+.LASF1048:
+ .string "_GLIBCXX_USE_PTHREAD_RWLOCK_CLOCKLOCK 1"
+.LASF2326:
+ .string "__wch"
+.LASF500:
+ .string "_GLIBCXX26_DEPRECATED_SUGGEST(ALT) "
+.LASF2229:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4EOS4_"
+.LASF1441:
+ .ascii "_GLIBCXX_INT_N_TRAITS(T,WIDTH) __extension__ template<> stru"
+ .ascii "ct __is_int"
+ .string "eger_nonstrict<T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; }; __extension__ template<> struct __is_integer_nonstrict<unsigned T> { enum { __value = 1 }; typedef std::__true_type __type; enum { __width = WIDTH }; };"
+.LASF1438:
+ .string "__INT_N(TYPE) __extension__ template<> struct __is_integer<TYPE> { enum { __value = 1 }; typedef __true_type __type; }; __extension__ template<> struct __is_integer<unsigned TYPE> { enum { __value = 1 }; typedef __true_type __type; };"
+.LASF850:
+ .string "_GLIBCXX_HAVE_FCNTL_H 1"
+.LASF2214:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ESt15allocator_arg_tSt13__uses_alloc0"
+.LASF1221:
+ .string "__glibcxx_want_atomic_flag_test"
+.LASF1373:
+ .string "__glibcxx_want_is_null_pointer "
+.LASF2167:
+ .string "_Ptr<Base, std::default_delete<Base>, void>"
+.LASF901:
+ .string "_GLIBCXX_HAVE_MODFL 1"
+.LASF1795:
+ .string "SCHED_DEADLINE 6"
+.LASF859:
+ .string "_GLIBCXX_HAVE_FMODF 1"
+.LASF2193:
+ .string "_M_head"
+.LASF457:
+ .string "__linux__ 1"
+.LASF1632:
+ .string "__CORRECT_ISO_CPP_WCHAR_H_PROTO "
+.LASF2281:
+ .string "tuple_element<0, std::tuple<Base*, std::default_delete<Base> > >"
+.LASF1363:
+ .string "__glibcxx_want_bool_constant "
+.LASF2028:
+ .string "__GTHREAD_HAS_COND 1"
+.LASF1429:
+ .string "_GLIBCXX_DEBUG_ONLY(_Statement) "
+.LASF1161:
+ .string "__glibcxx_launder 201606L"
+.LASF731:
+ .string "__attr_access(x) __attribute__ ((__access__ x))"
+.LASF2057:
+ .string "_PTRDIFF_T_ "
+.LASF1944:
+ .string "MOD_NANO ADJ_NANO"
+.LASF1659:
+ .string "vswscanf"
+.LASF669:
+ .string "__ptr_t void *"
+.LASF1899:
+ .string "CPU_OR_S(setsize,destset,srcset1,srcset2) __CPU_OP_S (setsize, destset, srcset1, srcset2, |)"
+.LASF2342:
+ .string "tm_mon"
+.LASF940:
+ .string "_GLIBCXX_HAVE_SYMLINK 1"
+.LASF1006:
+ .string "_GLIBCXX_STDIO_SEEK_CUR 1"
+.LASF1053:
+ .string "_GLIBCXX_USE_SC_NPROCESSORS_ONLN 1"
+.LASF921:
+ .string "_GLIBCXX_HAVE_SINHF 1"
+.LASF1501:
+ .string "_GLIBCXX_TUPLE 1"
+.LASF2171:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4EPS0_"
+.LASF6:
+ .string "__STDC_HOSTED__ 1"
+.LASF1712:
+ .string "__GTHREADS_CXX0X 1"
+.LASF888:
+ .string "_GLIBCXX_HAVE_LINUX_RANDOM_H 1"
+.LASF472:
+ .string "_MEMORYFWD_H 1"
+.LASF71:
+ .string "__INT_FAST32_TYPE__ long int"
+.LASF2063:
+ .string "__need_ptrdiff_t"
+.LASF2287:
+ .string "get<1, Base*, std::default_delete<Base> >"
+.LASF991:
+ .string "_GLIBCXX11_USE_C99_STDLIB 1"
+.LASF1136:
+ .string "__glibcxx_addressof_constexpr 201603L"
+.LASF438:
+ .string "__SIZEOF_FLOAT80__ 16"
+.LASF2157:
+ .string "__cxa_exception_type"
+.LASF930:
+ .string "_GLIBCXX_HAVE_STDINT_H 1"
+.LASF183:
+ .string "__INT_LEAST32_MAX__ 0x7fffffff"
+.LASF287:
+ .string "__FLT32_MAX_EXP__ 128"
+.LASF561:
+ .string "__USE_ISOCXX11"
+.LASF101:
+ .string "__cpp_ref_qualifiers 200710L"
+.LASF2305:
+ .string "long int"
+.LASF1953:
+ .string "STA_PPSSIGNAL 0x0100"
+.LASF402:
+ .string "__DEC64X_MAX_EXP__ 6145"
+.LASF8:
+ .string "__STDC_EMBED_FOUND__ 1"
+.LASF1488:
+ .string "__glibcxx_want_endian "
+.LASF246:
+ .string "__DBL_HAS_DENORM__ 1"
+.LASF2115:
+ .string "__glibcxx_want_transparent_operators "
+.LASF599:
+ .string "_ISOC2Y_SOURCE"
+.LASF175:
+ .string "__UINT32_MAX__ 0xffffffffU"
+.LASF304:
+ .string "__FLT64_MAX_10_EXP__ 308"
+.LASF273:
+ .string "__FLT16_DECIMAL_DIG__ 5"
+.LASF2258:
+ .string "pointer"
+.LASF2173:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEaSEOS3_"
+.LASF2055:
+ .string "_T_PTRDIFF "
+.LASF589:
+ .string "__glibc_clang_prereq(maj,min) 0"
+.LASF1156:
+ .string "__glibcxx_want_invoke"
+.LASF887:
+ .string "_GLIBCXX_HAVE_LINUX_FUTEX 1"
+.LASF416:
+ .string "__GCC_ATOMIC_CHAR16_T_LOCK_FREE 2"
+.LASF815:
+ .string "_PSTL_PRAGMA_MESSAGE(x) "
+.LASF766:
+ .string "_GLIBCXX_USE_C99_WCHAR _GLIBCXX11_USE_C99_WCHAR"
+.LASF1184:
+ .string "__glibcxx_nonmember_container_access 201411L"
+.LASF409:
+ .string "__GNUC_STDC_INLINE__ 1"
+.LASF886:
+ .string "_GLIBCXX_HAVE_LINK_H 1"
+.LASF983:
+ .string "_GLIBCXX_PACKAGE_TARNAME \"libstdc++\""
+.LASF2343:
+ .string "tm_year"
+.LASF1789:
+ .string "SCHED_FIFO 1"
+.LASF2245:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EEC4EOS3_"
+.LASF1081:
+ .string "__glibcxx_allocator_traits_is_always_equal 201411L"
+.LASF2237:
+ .string "_ZNSt5tupleIJP4BaseSt14default_deleteIS0_EEEaSERKS4_"
+.LASF2024:
+ .string "pthread_cleanup_push_defer_np(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg); __clframe.__defer ()"
+.LASF750:
+ .string "_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL 1"
+.LASF1645:
+ .string "getwc"
+.LASF806:
+ .string "_PSTL_UDS_PRESENT "
+.LASF1974:
+ .string "__SIZEOF_PTHREAD_RWLOCK_T 56"
+.LASF1822:
+ .string "__counted_by_le(m) "
+.LASF666:
+ .string "__PMT(args) args"
+.LASF1829:
+ .string "__bitwise "
+.LASF2047:
+ .string "__cpp_lib_uncaught_exceptions 201411L"
+.LASF1457:
+ .string "_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(_Iter) std::__make_move_if_noexcept_iterator(_Iter)"
+.LASF1692:
+ .string "wscanf"
+.LASF155:
+ .string "__WCHAR_WIDTH__ 32"
+.LASF5:
+ .string "__STDC_UTF_32__ 1"
+.LASF2257:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEdeEv"
+.LASF308:
+ .string "__FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64"
+.LASF2043:
+ .string "_SYS_SINGLE_THREADED_H "
+.LASF975:
+ .string "_GLIBCXX_HAVE_WCTYPE_H 1"
+.LASF2056:
+ .string "__PTRDIFF_T "
+.LASF1876:
+ .ascii "__CPU_OP_S(setsize,destset,srcset1,srcset2,op) (__extension_"
+ .ascii "_ ({ cpu_set_t *__dest = (destset); const __cp"
+ .string "u_mask *__arr1 = (srcset1)->__bits; const __cpu_mask *__arr2 = (srcset2)->__bits; size_t __imax = (setsize) / sizeof (__cpu_mask); size_t __i; for (__i = 0; __i < __imax; ++__i) ((__cpu_mask *) __dest->__bits)[__i] = __arr1[__i] op __arr2[__i]; __dest; }))"
+.LASF1777:
+ .string "_STRUCT_TIMESPEC 1"
+.LASF987:
+ .string "_GLIBCXX_DARWIN_USE_64_BIT_INODE 1"
+.LASF467:
+ .string "__STDC_IEC_60559_BFP__ 201404L"
+.LASF2112:
+ .string "__glibcxx_want_shared_ptr_weak_type "
+.LASF947:
+ .string "_GLIBCXX_HAVE_SYS_SDT_H 1"
+.LASF1875:
+ .string "__CPU_EQUAL_S(setsize,cpusetp1,cpusetp2) (__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)"
+.LASF1963:
+ .string "__struct_tm_defined 1"
+.LASF1932:
+ .string "ADJ_OFFSET_SINGLESHOT 0x8001"
+.LASF144:
+ .string "__WCHAR_MAX__ 0x7fffffff"
+.LASF2131:
+ .string "_Sink"
+.LASF89:
+ .string "__cpp_unicode_literals 200710L"
+.LASF2174:
+ .string "_M_ptr"
+.LASF1703:
+ .ascii "_GLIBCXX_MEM_FN_TRAITS2(_CV,_REF,_LVAL,_RVAL) template<typen"
+ .ascii "ame _Res, typename _Class, typename... _ArgTypes> struct _Me"
+ .ascii "m_fn_traits<_Res (_Class::*)(_ArgTypes...) _CV _REF> : _Mem_"
+ .ascii "fn_traits_base<_Res, _CV _Class, _ArgTypes."
+ .string "..> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes..., ...) _CV _REF> : _Mem_fn_traits_base<_Res, _CV _Class, _ArgTypes...> { using __vararg = true_type; };"
+.LASF1239:
+ .string "__glibcxx_want_integer_comparison_functions"
+.LASF295:
+ .string "__FLT32_HAS_DENORM__ 1"
+.LASF653:
+ .string "_SYS_CDEFS_H 1"
+.LASF1995:
+ .string "__jmp_buf_tag_defined 1"
+.LASF156:
+ .string "__WINT_WIDTH__ 32"
+.LASF2220:
+ .string "_Inherited"
+.LASF1004:
+ .string "_GLIBCXX_RES_LIMITS 1"
+.LASF2330:
+ .string "__mbstate_t"
+.LASF959:
+ .string "_GLIBCXX_HAVE_TANHL 1"
+.LASF1842:
+ .string "CLONE_SIGHAND 0x00000800"
+.LASF1145:
+ .string "__glibcxx_want_atomic_is_always_lock_free"
+.LASF2358:
+ .string "_Znwm"
+.LASF1960:
+ .string "STA_CLK 0x8000"
+.LASF1413:
+ .string "_STL_ITERATOR_BASE_TYPES_H 1"
+.LASF2155:
+ .string "swap"
+.LASF852:
+ .string "_GLIBCXX_HAVE_FENV_H 1"
+.LASF1764:
+ .string "__FSID_T_TYPE struct { int __val[2]; }"
+.LASF111:
+ .string "__cpp_static_assert 201411L"
+.LASF1972:
+ .string "__SIZEOF_PTHREAD_MUTEX_T 40"
+.LASF313:
+ .string "__FLT64_HAS_QUIET_NAN__ 1"
+.LASF840:
+ .string "_GLIBCXX_HAVE_DIRENT_H 1"
+.LASF251:
+ .string "__LDBL_DIG__ 18"
+.LASF1570:
+ .string "__CFLOAT32 _Complex _Float32"
+.LASF2374:
+ .string "_ZNSt15__uniq_ptr_dataI4BaseSt14default_deleteIS0_ELb1ELb1EECI2St15__uniq_ptr_implIS0_S2_EEPS0_"
+.LASF419:
+ .string "__GCC_ATOMIC_SHORT_LOCK_FREE 2"
+.LASF1027:
+ .string "_GLIBCXX_USE_CHMOD 1"
+.LASF833:
+ .string "_GLIBCXX_HAVE_CEILL 1"
+.LASF1946:
+ .string "STA_PPSFREQ 0x0002"
+.LASF2362:
+ .string "__cxa_guard_abort"
+.LASF2206:
+ .string "_M_swap"
+.LASF1797:
+ .string "SCHED_RESET_ON_FORK 0x40000000"
+.LASF847:
+ .string "_GLIBCXX_HAVE_EXPL 1"
+.LASF92:
+ .string "__cpp_decltype 200707L"
+.LASF442:
+ .string "__GCC_ASM_FLAG_OUTPUTS__ 1"
+.LASF1763:
+ .string "__BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF40:
+ .string "__SIZEOF_POINTER__ 8"
+.LASF274:
+ .string "__FLT16_MAX__ 6.55040000000000000000000000000000000e+4F16"
+.LASF1478:
+ .string "__glibcxx_requires_irreflexive_pred(_First,_Last,_Pred) "
+.LASF323:
+ .string "__FLT128_NORM_MAX__ 1.18973149535723176508575932662800702e+4932F128"
+.LASF1838:
+ .string "CSIGNAL 0x000000ff"
+.LASF2317:
+ .string "long double"
+.LASF2004:
+ .string "PTHREAD_RWLOCK_INITIALIZER { { __PTHREAD_RWLOCK_INITIALIZER (PTHREAD_RWLOCK_DEFAULT_NP) } }"
+.LASF1296:
+ .string "__glibcxx_want_freestanding_expected"
+.LASF1287:
+ .string "__glibcxx_want_syncbuf"
+.LASF51:
+ .string "__CHAR32_TYPE__ unsigned int"
+.LASF347:
+ .string "__FLT64X_MANT_DIG__ 64"
+.LASF1390:
+ .string "__cpp_lib_void_t 201411L"
+.LASF1851:
+ .string "CLONE_PARENT_SETTID 0x00100000"
+.LASF1571:
+ .string "__CFLOAT64 _Complex _Float64"
+.LASF1486:
+ .string "__glibcxx_want_bitops "
+.LASF1233:
+ .string "__glibcxx_optional 201606L"
+.LASF2286:
+ .string "__tuple_element_t"
+.LASF624:
+ .string "__USE_POSIX2 1"
+.LASF1252:
+ .string "__glibcxx_want_three_way_comparison"
+.LASF1611:
+ .string "__DEFINED_wchar_t "
+.LASF899:
+ .string "_GLIBCXX_HAVE_MODF 1"
+.LASF1141:
+ .string "__glibcxx_want_apply"
+.LASF490:
+ .string "_GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)"
+.LASF1709:
+ .string "_GLIBCXX_GCC_GTHR_H "
+.LASF1016:
+ .string "_GLIBCXX_USE_C99_FENV 1"
+.LASF1362:
+ .string "_GLIBCXX_TYPE_TRAITS 1"
+.LASF121:
+ .string "__cpp_inline_variables 201606L"
+.LASF1573:
+ .string "__CFLOAT64X _Complex _Float64x"
+.LASF588:
+ .string "__GNUC_PREREQ(maj,min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))"
+.LASF685:
+ .string "__ASMNAME2(prefix,cname) __STRING (prefix) cname"
+.LASF1715:
+ .string "_BITS_TYPES_H 1"
+.LASF312:
+ .string "__FLT64_HAS_INFINITY__ 1"
+.LASF1910:
+ .string "CLOCK_THREAD_CPUTIME_ID 3"
+.LASF424:
+ .string "__GCC_DESTRUCTIVE_SIZE 64"
+.LASF1068:
+ .string "_ALLOCATOR_H 1"
+.LASF885:
+ .string "_GLIBCXX_HAVE_LINK 1"
+.LASF681:
+ .string "__REDIRECT(name,proto,alias) name proto __asm__ (__ASMNAME (#alias))"
+.LASF143:
+ .string "__LONG_LONG_MAX__ 0x7fffffffffffffffLL"
+.LASF1292:
+ .string "__glibcxx_want_format_ranges"
+.LASF1463:
+ .string "__glibcxx_requires_can_decrement_range(_First1,_Last1,_First2) "
+.LASF351:
+ .string "__FLT64X_MAX_EXP__ 16384"
+.LASF2297:
+ .string "bool"
+.LASF19:
+ .string "__ATOMIC_ACQ_REL 4"
+.LASF1289:
+ .string "__glibcxx_want_constexpr_charconv"
+.LASF444:
+ .string "__k8__ 1"
+.LASF42:
+ .string "__GNUC_WIDE_EXECUTION_CHARSET_NAME \"UTF-32LE\""
+.LASF1345:
+ .string "__glibcxx_want_ratio"
+.LASF1793:
+ .string "SCHED_ISO 4"
+.LASF603:
+ .string "_POSIX_C_SOURCE"
+.LASF1037:
+ .string "_GLIBCXX_USE_GET_NPROCS 1"
+.LASF2224:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4Ev"
+.LASF1328:
+ .string "__glibcxx_want_ios_noreplace"
+.LASF3:
+ .string "__cplusplus 201703L"
+.LASF808:
+ .string "_PSTL_PRAGMA_SIMD_ORDERED_MONOTONIC(PRM) "
+.LASF373:
+ .string "__BFLT16_EPSILON__ 7.81250000000000000000000000000000000e-3BF16"
+.LASF211:
+ .string "__UINTPTR_MAX__ 0xffffffffffffffffUL"
+.LASF422:
+ .string "__GCC_ATOMIC_LLONG_LOCK_FREE 2"
+.LASF1523:
+ .string "_GLIBCXX_IOSFWD 1"
+.LASF245:
+ .string "__DBL_DENORM_MIN__ double(4.94065645841246544176568792868221372e-324L)"
+.LASF972:
+ .string "_GLIBCXX_HAVE_VWSCANF 1"
+.LASF404:
+ .string "__DEC64X_MAX__ 9.999999999999999999999999999999999E6144D64x"
+.LASF630:
+ .string "__USE_XOPEN_EXTENDED 1"
+.LASF1306:
+ .string "__glibcxx_want_ranges_chunk"
+.LASF553:
+ .string "_GLIBCXX_END_EXTERN_C }"
+.LASF2161:
+ .string "default_delete<Base>"
+.LASF225:
+ .string "__FLT_MAX__ 3.40282346638528859811704183484516925e+38F"
+.LASF98:
+ .string "__cpp_delegating_constructors 200604L"
+.LASF154:
+ .string "__LONG_LONG_WIDTH__ 64"
+.LASF774:
+ .string "_GLIBCXX_USE_BUILTIN_TRAIT(BT) _GLIBCXX_HAS_BUILTIN(BT)"
+.LASF769:
+ .string "_GLIBCXX_DOUBLE_IS_IEEE_BINARY64 1"
+.LASF915:
+ .string "_GLIBCXX_HAVE_SECURE_GETENV 1"
+.LASF2129:
+ .string "allocator_arg_t"
+.LASF1387:
+ .string "__cpp_lib_is_null_pointer 201309L"
+.LASF2311:
+ .string "char"
+.LASF1975:
+ .string "__SIZEOF_PTHREAD_BARRIER_T 32"
+.LASF2349:
+ .string "__isoc23_wcstol"
+.LASF234:
+ .string "__DBL_MANT_DIG__ 53"
+.LASF1738:
+ .string "__INO64_T_TYPE __UQUAD_TYPE"
+.LASF1918:
+ .string "TIMER_ABSTIME 1"
+.LASF868:
+ .string "_GLIBCXX_HAVE_HYPOTL 1"
+.LASF745:
+ .string "__stub_sigreturn "
+.LASF1722:
+ .string "__SQUAD_TYPE long int"
+.LASF1366:
+ .string "__glibcxx_want_integral_constant_callable "
+.LASF1045:
+ .string "_GLIBCXX_USE_NL_LANGINFO_L 1"
+.LASF117:
+ .string "__cpp_range_based_for 201603L"
+.LASF1077:
+ .string "__glibcxx_incomplete_container_elements 201505L"
+.LASF1383:
+ .string "__glibcxx_want_type_identity "
+.LASF645:
+ .string "__GLIBC_USE_DEPRECATED_GETS 0"
+.LASF1537:
+ .string "__GLIBC_USE_IEC_60559_EXT"
+.LASF66:
+ .string "__UINT_LEAST16_TYPE__ short unsigned int"
+.LASF1112:
+ .string "__glibcxx_transparent_operators 201510L"
+.LASF1281:
+ .string "__glibcxx_want_latch"
+.LASF1626:
+ .string "__mbstate_t_defined 1"
+.LASF752:
+ .string "_GLIBCXX_GTHREAD_USE_WEAK 0"
+.LASF1095:
+ .string "__glibcxx_math_spec_funcs 201003L"
+.LASF1118:
+ .string "__glibcxx_robust_nonmodifying_seq_ops 201304L"
+.LASF97:
+ .string "__cpp_initializer_lists 200806L"
+.LASF54:
+ .string "__INT16_TYPE__ short int"
+.LASF1619:
+ .string "__GNUC_VA_LIST "
+.LASF1059:
+ .string "_GLIBCXX_USE_UCHAR_C8RTOMB_MBRTOC8_FCHAR8_T 1"
+.LASF310:
+ .string "__FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64"
+.LASF990:
+ .string "_GLIBCXX11_USE_C99_STDIO 1"
+.LASF1852:
+ .string "CLONE_CHILD_CLEARTID 0x00200000"
+.LASF1270:
+ .string "__glibcxx_want_format"
+.LASF604:
+ .string "_POSIX_C_SOURCE 200809L"
+.LASF700:
+ .string "__attribute_nonnull__(params) __attribute__ ((__nonnull__ params))"
+.LASF837:
+ .string "_GLIBCXX_HAVE_COSHL 1"
+.LASF107:
+ .string "__cpp_aggregate_nsdmi 201304L"
+.LASF1736:
+ .string "__GID_T_TYPE __U32_TYPE"
+.LASF1623:
+ .string "__WCHAR_MIN __WCHAR_MIN__"
+.LASF1092:
+ .string "__glibcxx_want_void_t"
+.LASF1636:
+ .string "__attr_dealloc_fclose "
+.LASF1959:
+ .string "STA_MODE 0x4000"
+.LASF128:
+ .string "__cpp_guaranteed_copy_elision 201606L"
+.LASF1966:
+ .string "__itimerspec_defined 1"
+.LASF1541:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT_C23"
+.LASF2205:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC4EOS3_"
+.LASF707:
+ .string "__attribute_artificial__ __attribute__ ((__artificial__))"
+.LASF278:
+ .string "__FLT16_DENORM_MIN__ 5.96046447753906250000000000000000000e-8F16"
+.LASF2045:
+ .string "__EXCEPTION__ "
+.LASF550:
+ .string "_GLIBCXX_SYNCHRONIZATION_HAPPENS_BEFORE(A) "
+.LASF1749:
+ .string "__FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF1835:
+ .string "SCHED_ATTR_SIZE_VER0 48"
+.LASF1750:
+ .string "__FSBLKCNT64_T_TYPE __UQUAD_TYPE"
+.LASF2216:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EE7_M_headERKS2_"
+.LASF248:
+ .string "__DBL_HAS_QUIET_NAN__ 1"
+.LASF892:
+ .string "_GLIBCXX_HAVE_LOG10L 1"
+.LASF1364:
+ .string "__glibcxx_want_bounded_array_traits "
+.LASF1592:
+ .string "_GCC_SIZE_T "
+.LASF512:
+ .string "_GLIBCXX_NOEXCEPT_IF(...) noexcept(__VA_ARGS__)"
+.LASF1853:
+ .string "CLONE_DETACHED 0x00400000"
+.LASF615:
+ .string "_DYNAMIC_STACK_SIZE_SOURCE"
+.LASF1775:
+ .string "__STD_TYPE"
+.LASF814:
+ .string "_PSTL_PRAGMA_MESSAGE_IMPL(x) _PSTL_PRAGMA(message(_PSTL_STRING_CONCAT(_PSTL_PRAGMA_LOCATION, x)))"
+.LASF1983:
+ .string "_BITS_ATOMIC_WIDE_COUNTER_H "
+.LASF1094:
+ .string "__glibcxx_want_enable_shared_from_this"
+.LASF1925:
+ .string "ADJ_STATUS 0x0010"
+.LASF734:
+ .string "__attr_dealloc(dealloc,argno) __attribute__ ((__malloc__ (dealloc, argno)))"
+.LASF1733:
+ .string "__SYSCALL_ULONG_TYPE __ULONGWORD_TYPE"
+.LASF689:
+ .string "__attribute_alloc_size__(params) __attribute__ ((__alloc_size__ params))"
+.LASF1440:
+ .string "_EXT_TYPE_TRAITS 1"
+.LASF2394:
+ .string "_IO_FILE"
+.LASF72:
+ .string "__INT_FAST64_TYPE__ long int"
+.LASF1348:
+ .string "__glibcxx_want_span_initializer_list"
+.LASF1594:
+ .string "__size_t "
+.LASF1576:
+ .string "__need_NULL "
+.LASF2295:
+ .string "_Args"
+.LASF1741:
+ .string "__FSWORD_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF2243:
+ .string "__uniq_ptr_data<Base, std::default_delete<Base>, true, true>"
+.LASF1686:
+ .string "wmemchr"
+.LASF1492:
+ .string "_GLIBCXX_TO_ADDR"
+.LASF1792:
+ .string "SCHED_BATCH 3"
+.LASF1391:
+ .string "__cpp_lib_integral_constant_callable 201304L"
+.LASF865:
+ .string "_GLIBCXX_HAVE_GETS 1"
+.LASF1330:
+ .string "__glibcxx_want_out_ptr"
+.LASF26:
+ .string "__SIZEOF_LONG__ 8"
+.LASF250:
+ .string "__LDBL_MANT_DIG__ 64"
+.LASF530:
+ .string "_GLIBCXX_END_INLINE_ABI_NAMESPACE(X) }"
+.LASF2100:
+ .string "__glibcxx_want_assume_aligned "
+.LASF1522:
+ .string "_SHARED_PTR_H 1"
+.LASF2159:
+ .string "rethrow_exception"
+.LASF1572:
+ .string "__CFLOAT32X _Complex _Float32x"
+.LASF1162:
+ .string "__cpp_lib_launder 201606L"
+.LASF76:
+ .string "__UINT_FAST64_TYPE__ long unsigned int"
+.LASF210:
+ .string "__INTPTR_WIDTH__ 64"
+.LASF1866:
+ .string "__CPU_SETSIZE 1024"
+.LASF2390:
+ .string "_ZN9__gnu_cxx21__default_lock_policyE"
+.LASF481:
+ .string "_GLIBCXX_PURE __attribute__ ((__pure__))"
+.LASF2340:
+ .string "tm_hour"
+.LASF36:
+ .string "__ORDER_BIG_ENDIAN__ 4321"
+.LASF455:
+ .string "__gnu_linux__ 1"
+.LASF1821:
+ .string "__counted_by(m) "
+.LASF935:
+ .string "_GLIBCXX_HAVE_STRING_H 1"
+.LASF1989:
+ .string "__PTHREAD_RWLOCK_INITIALIZER(__flags) 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags"
+.LASF1452:
+ .string "_STL_UNINITIALIZED_H 1"
+.LASF1917:
+ .string "CLOCK_TAI 11"
+.LASF411:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1"
+.LASF359:
+ .string "__FLT64X_HAS_DENORM__ 1"
+.LASF801:
+ .string "_PSTL_CPP14_2RANGE_MISMATCH_EQUAL_PRESENT "
+.LASF1939:
+ .string "MOD_TIMECONST ADJ_TIMECONST"
+.LASF1816:
+ .string "_LINUX_POSIX_TYPES_H "
+.LASF167:
+ .string "__SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)"
+.LASF2101:
+ .string "__glibcxx_want_atomic_shared_ptr "
+.LASF544:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_BEGIN_NAMESPACE_CXX11"
+.LASF784:
+ .string "_PSTL_VERSION_PATCH (_PSTL_VERSION % 10)"
+.LASF2293:
+ .string "_ZSt3getILm0EJP4BaseSt14default_deleteIS0_EEERNSt13tuple_elementIXT_ESt5tupleIJDpT0_EEE4typeERS8_"
+.LASF1172:
+ .string "__glibcxx_variant 202102L"
+.LASF1191:
+ .string "__glibcxx_want_boyer_moore_searcher"
+.LASF835:
+ .string "_GLIBCXX_HAVE_COSF 1"
+.LASF1874:
+ .string "__CPU_COUNT_S(setsize,cpusetp) __sched_cpucount (setsize, cpusetp)"
+.LASF1634:
+ .string "WCHAR_MAX __WCHAR_MAX"
+.LASF2197:
+ .string "_Head"
+.LASF2191:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC4EOS3_"
+.LASF1182:
+ .string "__glibcxx_array_constexpr 201803L"
+.LASF998:
+ .string "_GLIBCXX_ATOMIC_BUILTINS 1"
+.LASF723:
+ .string "__LDBL_REDIR_NTH(name,proto) name proto __THROW"
+.LASF2070:
+ .string "_GLIBCXX_EH_PTR_USED "
+.LASF1142:
+ .string "__glibcxx_as_const 201510L"
+.LASF2079:
+ .string "ATOMIC_CHAR16_T_LOCK_FREE __GCC_ATOMIC_CHAR16_T_LOCK_FREE"
+.LASF1246:
+ .string "__glibcxx_want_math_constants"
+.LASF338:
+ .string "__FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x"
+.LASF1291:
+ .string "__glibcxx_want_expected"
+.LASF1146:
+ .string "__glibcxx_bool_constant 201505L"
+.LASF2268:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EE5resetEPS0_"
+.LASF224:
+ .string "__FLT_DECIMAL_DIG__ 9"
+.LASF839:
+ .string "_GLIBCXX_HAVE_DECL_STRNLEN 1"
+.LASF1151:
+ .string "__glibcxx_want_has_unique_object_representations"
+.LASF656:
+ .string "__glibc_has_builtin(name) __has_builtin (name)"
+.LASF1464:
+ .string "__glibcxx_requires_sorted(_First,_Last) "
+.LASF1327:
+ .string "__glibcxx_want_generator"
+.LASF495:
+ .string "_GLIBCXX20_DEPRECATED "
+.LASF1992:
+ .string "_BITS_SETJMP_H 1"
+.LASF1697:
+ .string "_TYPEINFO "
+.LASF2294:
+ .string "make_unique<Base>"
+.LASF2003:
+ .string "PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ADAPTIVE_NP) } }"
+.LASF1646:
+ .string "getwchar"
+.LASF2396:
+ .string "__cxa_guard_acquire"
+.LASF319:
+ .string "__FLT128_MAX_EXP__ 16384"
+.LASF1534:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT 1"
+.LASF1235:
+ .string "__glibcxx_want_destroying_delete"
+.LASF1056:
+ .string "_GLIBCXX_USE_ST_MTIM 1"
+.LASF2069:
+ .string "_GLIBCXX_HAVE_CDTOR_CALLABI 0"
+.LASF609:
+ .string "_LARGEFILE64_SOURCE"
+.LASF456:
+ .string "__linux 1"
+.LASF2147:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4ERKS0_"
+.LASF2142:
+ .string "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv"
+.LASF2341:
+ .string "tm_mday"
+.LASF652:
+ .string "__GLIBC_PREREQ(maj,min) ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))"
+.LASF2234:
+ .string "tuple"
+.LASF874:
+ .string "_GLIBCXX_HAVE_ISNANL 1"
+.LASF928:
+ .string "_GLIBCXX_HAVE_STDALIGN_H 1"
+.LASF1767:
+ .string "__OFF_T_MATCHES_OFF64_T 1"
+.LASF22:
+ .string "__FINITE_MATH_ONLY__ 0"
+.LASF736:
+ .string "__attribute_returns_twice__ __attribute__ ((__returns_twice__))"
+.LASF1512:
+ .string "__cpp_lib_tuples_by_type 201304L"
+.LASF832:
+ .string "_GLIBCXX_HAVE_CEILF 1"
+.LASF1086:
+ .string "__glibcxx_want_result_of_sfinae"
+.LASF2359:
+ .string "operator delete"
+.LASF818:
+ .string "_GLIBCXX_HAVE_ACOSL 1"
+.LASF827:
+ .string "_GLIBCXX_HAVE_ATANF 1"
+.LASF2262:
+ .string "get_deleter"
+.LASF1987:
+ .string "_RWLOCK_INTERNAL_H "
+.LASF108:
+ .string "__cpp_variable_templates 201304L"
+.LASF354:
+ .string "__FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x"
+.LASF1841:
+ .string "CLONE_FILES 0x00000400"
+.LASF1903:
+ .string "CPU_FREE(cpuset) __CPU_FREE (cpuset)"
+.LASF1430:
+ .string "_STL_PAIR_H 1"
+.LASF861:
+ .string "_GLIBCXX_HAVE_FREXPF 1"
+.LASF186:
+ .string "__INT_LEAST64_MAX__ 0x7fffffffffffffffL"
+.LASF2259:
+ .string "operator->"
+.LASF2139:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4EPv"
+.LASF366:
+ .string "__BFLT16_MIN_10_EXP__ (-37)"
+.LASF1088:
+ .string "__glibcxx_want_shared_ptr_arrays"
+.LASF2075:
+ .string "_GLIBCXX_ATOMIC_LOCK_FREE_H 1"
+.LASF671:
+ .string "__END_DECLS }"
+.LASF619:
+ .string "__USE_ISOC11 1"
+.LASF956:
+ .string "_GLIBCXX_HAVE_S_ISREG 1"
+.LASF517:
+ .string "_GLIBCXX_NOEXCEPT_PARM , bool _NE"
+.LASF709:
+ .string "__extern_always_inline extern __always_inline __attribute__ ((__gnu_inline__))"
+.LASF1948:
+ .string "STA_FLL 0x0008"
+.LASF2156:
+ .string "_ZNSt15__exception_ptr13exception_ptr4swapERS0_"
+.LASF364:
+ .string "__BFLT16_DIG__ 2"
+.LASF879:
+ .string "_GLIBCXX_HAVE_LIBINTL_H 1"
+.LASF1225:
+ .string "__glibcxx_want_atomic_value_initialization"
+.LASF2127:
+ .string "__swappable_with_details"
+.LASF2042:
+ .string "_GLIBCXX_WRITE_MEM_BARRIER __atomic_thread_fence (__ATOMIC_RELEASE)"
+.LASF674:
+ .string "__bos0(ptr) __builtin_object_size (ptr, 0)"
+.LASF1935:
+ .string "MOD_FREQUENCY ADJ_FREQUENCY"
+.LASF353:
+ .string "__FLT64X_DECIMAL_DIG__ 21"
+.LASF2116:
+ .string "__cpp_lib_allocator_traits_is_always_equal 201411L"
+.LASF1783:
+ .string "__BYTE_ORDER __LITTLE_ENDIAN"
+.LASF2316:
+ .string "_S_atomic"
+.LASF2163:
+ .string "_ZNSt14default_deleteI4BaseEC4Ev"
+.LASF2389:
+ .string "__default_lock_policy"
+.LASF584:
+ .string "__GLIBC_USE_DEPRECATED_GETS"
+.LASF1368:
+ .string "__glibcxx_want_is_constant_evaluated "
+.LASF300:
+ .string "__FLT64_DIG__ 15"
+.LASF2354:
+ .string "__pstl"
+.LASF414:
+ .string "__GCC_ATOMIC_BOOL_LOCK_FREE 2"
+.LASF1561:
+ .string "__HAVE_DISTINCT_FLOAT32X 0"
+.LASF390:
+ .string "__DEC64_MAX__ 9.999999999999999E384DD"
+.LASF632:
+ .string "_LARGEFILE_SOURCE"
+.LASF1725:
+ .string "__UWORD_TYPE unsigned long int"
+.LASF2290:
+ .string "_ZSt12__get_helperILm0EP4BaseJSt14default_deleteIS0_EEERT0_RSt11_Tuple_implIXT_EJS4_DpT1_EE"
+.LASF825:
+ .string "_GLIBCXX_HAVE_ATAN2F 1"
+.LASF1462:
+ .string "__glibcxx_requires_can_increment_range(_First1,_Last1,_First2) "
+.LASF1524:
+ .string "_REQUIRES_FREESTANDING_H 1"
+.LASF1509:
+ .string "__glibcxx_want_tuple_like "
+.LASF575:
+ .string "__USE_FILE_OFFSET64"
+.LASF521:
+ .string "_GLIBCXX_USE_CXX11_ABI 1"
+.LASF2068:
+ .string "_GLIBCXX_CDTOR_CALLABI "
+.LASF1493:
+ .string "_GLIBCXX_ADVANCE"
+.LASF849:
+ .string "_GLIBCXX_HAVE_FABSL 1"
+.LASF243:
+ .string "__DBL_MIN__ double(2.22507385850720138309023271733240406e-308L)"
+.LASF39:
+ .string "__FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__"
+.LASF1278:
+ .string "__glibcxx_want_erase_if"
+.LASF1232:
+ .string "__glibcxx_want_concepts"
+.LASF2318:
+ .string "double"
+.LASF2136:
+ .string "_M_exception_object"
+.LASF1098:
+ .string "__glibcxx_exchange_function 201304L"
+.LASF605:
+ .string "_XOPEN_SOURCE"
+.LASF1443:
+ .string "__glibcxx_floating(_Tp,_Fval,_Dval,_LDval) (std::__are_same<_Tp, float>::__value ? _Fval : std::__are_same<_Tp, double>::__value ? _Dval : _LDval)"
+.LASF280:
+ .string "__FLT16_HAS_INFINITY__ 1"
+.LASF1941:
+ .string "MOD_CLKA ADJ_OFFSET_SINGLESHOT"
+.LASF1467:
+ .string "__glibcxx_requires_sorted_set_pred(_First1,_Last1,_First2,_Pred) "
+.LASF102:
+ .string "__cpp_alias_templates 200704L"
+.LASF556:
+ .string "__NO_CTYPE 1"
+.LASF1481:
+ .string "_GLIBCXX_BIT 1"
+.LASF1631:
+ .string "_BITS_TYPES___LOCALE_T_H 1"
+.LASF1781:
+ .string "__PDP_ENDIAN 3412"
+.LASF854:
+ .string "_GLIBCXX_HAVE_FINITEF 1"
+.LASF2332:
+ .string "__FILE"
+.LASF425:
+ .string "__GCC_CONSTRUCTIVE_SIZE 64"
+.LASF1148:
+ .string "__glibcxx_byte 201603L"
+.LASF1240:
+ .string "__glibcxx_want_is_constant_evaluated"
+.LASF875:
+ .string "_GLIBCXX_HAVE_ISWBLANK 1"
+.LASF2392:
+ .string "typedef __va_list_tag __va_list_tag"
+.LASF30:
+ .string "__SIZEOF_DOUBLE__ 8"
+.LASF1557:
+ .string "__HAVE_FLOAT128X 0"
+.LASF606:
+ .string "_XOPEN_SOURCE 700"
+.LASF1003:
+ .string "_GLIBCXX_MANGLE_SIZE_T m"
+.LASF602:
+ .string "_POSIX_SOURCE 1"
+.LASF502:
+ .string "_GLIBCXX_NODISCARD [[__nodiscard__]]"
+.LASF2177:
+ .string "_M_deleter"
+.LASF1779:
+ .string "__LITTLE_ENDIAN 1234"
+.LASF1061:
+ .string "_GLIBCXX_USE_UTIMENSAT 1"
+.LASF1466:
+ .string "__glibcxx_requires_sorted_set(_First1,_Last1,_First2) "
+.LASF898:
+ .string "_GLIBCXX_HAVE_MEMORY_H 1"
+.LASF292:
+ .string "__FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32"
+.LASF1603:
+ .string "_BSD_WCHAR_T_ "
+.LASF1075:
+ .string "__glibcxx_want_destroying_delete "
+.LASF1174:
+ .string "__glibcxx_lcm 201606L"
+.LASF2125:
+ .string "_PSTL_EXECUTION_POLICY_DEFS_H "
+.LASF1356:
+ .string "_FUNCTEXCEPT_H 1"
+.LASF695:
+ .string "__attribute_noinline__ __attribute__ ((__noinline__))"
+.LASF1070:
+ .string "_STD_NEW_ALLOCATOR_H 1"
+.LASF1269:
+ .string "__glibcxx_want_barrier"
+.LASF1222:
+ .string "__glibcxx_want_atomic_float"
+.LASF367:
+ .string "__BFLT16_MAX_EXP__ 128"
+.LASF1197:
+ .string "__glibcxx_want_filesystem"
+.LASF2373:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC2IS2_vEEPS0_"
+.LASF919:
+ .string "_GLIBCXX_HAVE_SINCOSL 1"
+.LASF86:
+ .string "__cpp_hex_float 201603L"
+.LASF1743:
+ .string "__OFF64_T_TYPE __SQUAD_TYPE"
+.LASF579:
+ .string "__USE_GNU"
+.LASF307:
+ .string "__FLT64_NORM_MAX__ 1.79769313486231570814527423731704357e+308F64"
+.LASF1460:
+ .string "__glibcxx_requires_valid_range(_First,_Last) "
+.LASF563:
+ .string "__USE_POSIX2"
+.LASF995:
+ .string "_GLIBCXX98_USE_C99_STDIO 1"
+.LASF1687:
+ .string "wmemcmp"
+.LASF1761:
+ .string "__CLOCKID_T_TYPE __S32_TYPE"
+.LASF21:
+ .string "__OPTIMIZE__ 1"
+.LASF1798:
+ .string "SCHED_FLAG_RESET_ON_FORK 0x01"
+.LASF1662:
+ .string "wcrtomb"
+.LASF80:
+ .string "__DEPRECATED 1"
+.LASF1140:
+ .string "__glibcxx_apply 201603L"
+.LASF1496:
+ .string "_ALLOC_TRAITS_H 1"
+.LASF2377:
+ .string "func"
+.LASF2329:
+ .string "__value"
+.LASF2020:
+ .string "PTHREAD_ATTR_NO_SIGMASK_NP (-1)"
+.LASF1887:
+ .string "CPU_COUNT(cpusetp) __CPU_COUNT_S (sizeof (cpu_set_t), cpusetp)"
+.LASF912:
+ .string "_GLIBCXX_HAVE_POWL 1"
+.LASF2017:
+ .string "PTHREAD_CANCELED ((void *) -1)"
+.LASF1479:
+ .string "__glibcxx_requires_irreflexive_pred2(_First,_Last,_Pred) "
+.LASF2146:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4Ev"
+.LASF2219:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEE7_M_headERKS4_"
+.LASF962:
+ .string "_GLIBCXX_HAVE_TIMESPEC_GET 1"
+.LASF803:
+ .string "_PSTL_CPP14_INTEGER_SEQUENCE_PRESENT "
+.LASF1259:
+ .string "__glibcxx_want_constexpr_utility"
+.LASF1008:
+ .string "_GLIBCXX_SYMVER 1"
+.LASF445:
+ .string "__code_model_small__ 1"
+.LASF1724:
+ .string "__SWORD_TYPE long int"
+.LASF268:
+ .string "__FLT16_DIG__ 3"
+.LASF1164:
+ .string "__glibcxx_logical_traits 201510L"
+.LASF2208:
+ .string "_Idx"
+.LASF570:
+ .string "__USE_XOPEN2KXSI"
+.LASF1288:
+ .string "__glibcxx_want_byteswap"
+.LASF2082:
+ .string "ATOMIC_INT_LOCK_FREE __GCC_ATOMIC_INT_LOCK_FREE"
+.LASF777:
+ .string "_PSTL_PAR_BACKEND_SERIAL "
+.LASF1787:
+ .string "_BITS_SCHED_H 1"
+.LASF1458:
+ .string "_GLIBCXX_DEBUG_MACRO_SWITCH_H 1"
+.LASF477:
+ .string "_GLIBCXX_CXX_CONFIG_H 1"
+.LASF946:
+ .string "_GLIBCXX_HAVE_SYS_RESOURCE_H 1"
+.LASF1593:
+ .string "_SIZET_ "
+.LASF53:
+ .string "__INT8_TYPE__ signed char"
+.LASF883:
+ .string "_GLIBCXX_HAVE_LIMIT_RSS 1"
+.LASF2169:
+ .string "__uniq_ptr_impl"
+.LASF451:
+ .string "__SSE2_MATH__ 1"
+.LASF412:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1"
+.LASF830:
+ .string "_GLIBCXX_HAVE_AT_QUICK_EXIT 1"
+.LASF446:
+ .string "__MMX__ 1"
+.LASF1559:
+ .string "__HAVE_DISTINCT_FLOAT32 0"
+.LASF1198:
+ .string "__glibcxx_hypot 201603L"
+.LASF1766:
+ .string "__CPU_MASK_TYPE __SYSCALL_ULONG_TYPE"
+.LASF2051:
+ .string "_STDDEF_H_ "
+.LASF1298:
+ .string "__glibcxx_want_freestanding_string_view"
+.LASF614:
+ .string "_ATFILE_SOURCE 1"
+.LASF1293:
+ .string "__glibcxx_want_freestanding_algorithm"
+.LASF2149:
+ .string "_ZNSt15__exception_ptr13exception_ptrC4EOS0_"
+.LASF2062:
+ .string "__DEFINED_ptrdiff_t "
+.LASF1396:
+ .string "__cpp_lib_is_aggregate 201703L"
+.LASF496:
+ .string "_GLIBCXX20_DEPRECATED_SUGGEST(ALT) "
+.LASF1754:
+ .string "__CLOCK_T_TYPE __SYSCALL_SLONG_TYPE"
+.LASF2196:
+ .string "_M_head_impl"
+.LASF301:
+ .string "__FLT64_MIN_EXP__ (-1021)"
+.LASF133:
+ .string "__cpp_template_template_args 201611L"
+.LASF1937:
+ .string "MOD_ESTERROR ADJ_ESTERROR"
+.LASF1423:
+ .string "_GLIBCXX_DEBUG_ASSERTIONS_H 1"
+.LASF1335:
+ .string "__glibcxx_want_string_resize_and_overwrite"
+.LASF1973:
+ .string "__SIZEOF_PTHREAD_ATTR_T 56"
+.LASF1358:
+ .string "__try try"
+.LASF1158:
+ .string "__glibcxx_want_is_aggregate"
+.LASF1323:
+ .string "__glibcxx_want_flat_map"
+.LASF737:
+ .string "__attribute_struct_may_alias__ __attribute__ ((__may_alias__))"
+.LASF1565:
+ .string "__HAVE_FLOATN_NOT_TYPEDEF 0"
+.LASF449:
+ .string "__FXSR__ 1"
+.LASF592:
+ .string "_ISOC95_SOURCE 1"
+.LASF1199:
+ .string "__glibcxx_want_hypot"
+.LASF69:
+ .string "__INT_FAST8_TYPE__ signed char"
+.LASF2012:
+ .string "PTHREAD_COND_INITIALIZER { { {0}, {0}, {0, 0}, 0, 0, {0, 0}, 0, 0 } }"
+.LASF2398:
+ .string "__args"
+.LASF2049:
+ .string "_CXXABI_INIT_EXCEPTION_H 1"
+.LASF1258:
+ .string "__glibcxx_want_interpolate"
+.LASF564:
+ .string "__USE_POSIX199309"
+.LASF2292:
+ .string "get<0, Base*, std::default_delete<Base> >"
+.LASF1427:
+ .string "_GLIBCXX_DEBUG_ASSERT(_Condition) "
+.LASF1839:
+ .string "CLONE_VM 0x00000100"
+.LASF1442:
+ .string "_GLIBCXX_INT_N_TRAITS"
+.LASF2124:
+ .string "_PSTL_GLUE_MEMORY_DEFS_H "
+.LASF454:
+ .string "__SEG_GS 1"
+.LASF1869:
+ .string "__CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))"
+.LASF660:
+ .string "__THROW noexcept (true)"
+.LASF504:
+ .string "_GLIBCXX_USE_CONSTEXPR constexpr"
+.LASF822:
+ .string "_GLIBCXX_HAVE_ASINF 1"
+.LASF333:
+ .string "__FLT32X_MIN_EXP__ (-1021)"
+.LASF403:
+ .string "__DEC64X_MIN__ 1E-6143D64x"
+.LASF1913:
+ .string "CLOCK_MONOTONIC_COARSE 6"
+.LASF1601:
+ .string "__WCHAR_T "
+.LASF2194:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EE7_M_headERS3_"
+.LASF812:
+ .string "_PSTL_USE_NONTEMPORAL_STORES_IF_ALLOWED "
+.LASF2134:
+ .string "__exception_ptr"
+.LASF1868:
+ .string "__CPUELT(cpu) ((cpu) / __NCPUBITS)"
+.LASF466:
+ .string "__STDC_IEC_559__ 1"
+.LASF1398:
+ .string "__cpp_lib_logical_traits 201510L"
+.LASF440:
+ .string "__ATOMIC_HLE_ACQUIRE 65536"
+.LASF2211:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC4ERKS1_"
+.LASF1428:
+ .string "_GLIBCXX_DEBUG_PEDASSERT(_Condition) "
+.LASF389:
+ .string "__DEC64_MIN__ 1E-383DD"
+.LASF1127:
+ .string "__glibcxx_want_generic_associative_lookup"
+.LASF2179:
+ .string "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE10_M_deleterEv"
+.LASF1916:
+ .string "CLOCK_BOOTTIME_ALARM 9"
+.LASF2059:
+ .string "___int_ptrdiff_t_h "
+.LASF1575:
+ .string "__need_wchar_t "
+.LASF2366:
+ .string "_ZNSt10_Head_baseILm0EP4BaseLb0EEC2Ev"
+.LASF663:
+ .string "__NTHNL(fct) fct __THROW"
+.LASF730:
+ .string "__HAVE_GENERIC_SELECTION 0"
+.LASF1410:
+ .string "__allocator_base"
+.LASF328:
+ .string "__FLT128_HAS_INFINITY__ 1"
+.LASF1111:
+ .string "__glibcxx_want_transformation_trait_aliases"
+.LASF28:
+ .string "__SIZEOF_SHORT__ 2"
+.LASF1108:
+ .string "__glibcxx_null_iterators 201304L"
+.LASF785:
+ .string "_PSTL_USAGE_WARNINGS 0"
+.LASF1771:
+ .string "__KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1"
+.LASF2346:
+ .string "tm_isdst"
+.LASF1648:
+ .string "mbrtowc"
+.LASF633:
+ .string "_LARGEFILE_SOURCE 1"
+.LASF153:
+ .string "__LONG_WIDTH__ 64"
+.LASF173:
+ .string "__UINT8_MAX__ 0xff"
+.LASF1546:
+ .string "__HAVE_FLOAT128 1"
+.LASF1062:
+ .string "_GLIBCXX_USE_WCHAR_T 1"
+.LASF1706:
+ .string "_GLIBCXX_MEM_FN_TRAITS2"
+.LASF1227:
+ .string "__glibcxx_want_bind_back"
+.LASF2014:
+ .string "PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE"
+.LASF686:
+ .string "__REDIRECT_FORTIFY __REDIRECT"
+.LASF463:
+ .string "__DECIMAL_BID_FORMAT__ 1"
+.LASF1135:
+ .string "__glibcxx_want_string_udls"
+.LASF794:
+ .string "_PSTL_PRAGMA_DECLARE_SIMD _PSTL_PRAGMA(omp declare simd)"
+.LASF2184:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE4swapERS3_"
+.LASF1540:
+ .string "__GLIBC_USE_IEC_60559_FUNCS_EXT 1"
+.LASF1439:
+ .string "__INT_N"
+.LASF969:
+ .string "_GLIBCXX_HAVE_UTIME_H 1"
+.LASF205:
+ .string "__UINT_FAST8_MAX__ 0xff"
+.LASF1023:
+ .string "_GLIBCXX_USE_C99_MATH_TR1 1"
+.LASF1002:
+ .string "_GLIBCXX_HOSTED __STDC_HOSTED__"
+.LASF1178:
+ .string "__glibcxx_gcd_lcm 201606L"
+.LASF1676:
+ .string "wcsrtombs"
+.LASF1688:
+ .string "wmemcpy"
+.LASF2090:
+ .string "_GLIBCXX_TSAN_MUTEX_DESTROY(X) "
+.LASF1244:
+ .string "__glibcxx_want_is_nothrow_convertible"
+.LASF683:
+ .string "__REDIRECT_NTHNL(name,proto,alias) name proto __THROWNL __asm__ (__ASMNAME (#alias))"
+.LASF244:
+ .string "__DBL_EPSILON__ double(2.22044604925031308084726333618164062e-16L)"
+.LASF1855:
+ .string "CLONE_CHILD_SETTID 0x01000000"
+.LASF968:
+ .string "_GLIBCXX_HAVE_USELOCALE 1"
+.LASF193:
+ .string "__UINT_LEAST32_MAX__ 0xffffffffU"
+.LASF2138:
+ .string "_ZNSt15allocator_arg_tC4Ev"
+.LASF1476:
+ .string "__glibcxx_requires_irreflexive(_First,_Last) "
+.LASF305:
+ .string "__FLT64_DECIMAL_DIG__ 17"
+.LASF124:
+ .string "__cpp_noexcept_function_type 201510L"
+.LASF525:
+ .string "_GLIBCXX_DEFAULT_ABI_TAG _GLIBCXX_ABI_TAG_CXX11"
+.LASF527:
+ .string "_GLIBCXX_BEGIN_NAMESPACE_VERSION "
+.LASF1039:
+ .string "_GLIBCXX_USE_LFS 1"
+.LASF1262:
+ .string "__glibcxx_want_constexpr_numeric"
+.LASF955:
+ .string "_GLIBCXX_HAVE_SYS_UIO_H 1"
+.LASF1582:
+ .string "_T_SIZE "
+.LASF1028:
+ .string "_GLIBCXX_USE_CLOCK_MONOTONIC 1"
+.LASF1535:
+ .string "__GLIBC_USE_IEC_60559_BFP_EXT_C23"
+.LASF1549:
+ .string "__HAVE_FLOAT64X_LONG_DOUBLE 1"
+.LASF1847:
+ .string "CLONE_THREAD 0x00010000"
+.LASF1436:
+ .string "_EXT_NUMERIC_TRAITS 1"
+.LASF293:
+ .string "__FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32"
+.LASF196:
+ .string "__UINT64_C(c) c ## UL"
+.LASF1976:
+ .string "__SIZEOF_PTHREAD_MUTEXATTR_T 4"
+.LASF20:
+ .string "__ATOMIC_CONSUME 1"
+.LASF717:
+ .string "__attribute_copy__"
+.LASF743:
+ .string "__stub_revoke "
+.LASF62:
+ .string "__INT_LEAST16_TYPE__ short int"
+.LASF714:
+ .string "__glibc_unlikely(cond) __builtin_expect ((cond), 0)"
+.LASF2347:
+ .string "tm_gmtoff"
+.LASF1279:
+ .string "__glibcxx_want_generic_unordered_lookup"
+.LASF1735:
+ .string "__UID_T_TYPE __U32_TYPE"
+.LASF1320:
+ .string "__glibcxx_want_constexpr_bitset"
+.LASF1102:
+ .string "__glibcxx_integral_constant_callable 201304L"
+.LASF1517:
+ .string "_BACKWARD_BINDERS_H 1"
+.LASF1412:
+ .string "_STL_CONSTRUCT_H 1"
+.LASF363:
+ .string "__BFLT16_MANT_DIG__ 8"
+.LASF896:
+ .string "_GLIBCXX_HAVE_MBSTATE_T 1"
+.LASF265:
+ .string "__LDBL_HAS_QUIET_NAN__ 1"
+.LASF1170:
+ .string "__glibcxx_type_trait_variable_templates 201510L"
+.LASF628:
+ .string "__USE_XOPEN2K8 1"
+.LASF2315:
+ .string "_S_mutex"
+.LASF678:
+ .string "__errordecl(name,msg) extern void name (void) __attribute__((__error__ (msg)))"
+.LASF2260:
+ .string "_ZNKSt10unique_ptrI4BaseSt14default_deleteIS0_EEptEv"
+.LASF1089:
+ .string "__glibcxx_is_swappable 201603L"
+.LASF1237:
+ .string "__glibcxx_want_endian"
+.LASF418:
+ .string "__GCC_ATOMIC_WCHAR_T_LOCK_FREE 2"
+.LASF789:
+ .string "_PSTL_STRING_CONCAT(x,y) x #y"
+.LASF877:
+ .string "_GLIBCXX_HAVE_LDEXPF 1"
+.LASF63:
+ .string "__INT_LEAST32_TYPE__ int"
+.LASF2071:
+ .string "_GLIBCXX_EH_PTR_USED"
+.LASF957:
+ .string "_GLIBCXX_HAVE_TANF 1"
+.LASF433:
+ .string "__SIZEOF_PTRDIFF_T__ 8"
+.LASF754:
+ .string "_GLIBCXX_PSEUDO_VISIBILITY(V) "
+.LASF2098:
+ .string "_BACKWARD_AUTO_PTR_H 1"
+.LASF2382:
+ .string "type_info"
+.LASF960:
+ .string "_GLIBCXX_HAVE_TANL 1"
+.LASF537:
+ .string "_GLIBCXX_LONG_DOUBLE_COMPAT"
+.LASF474:
+ .string "__WORDSIZE 64"
+.LASF340:
+ .string "__FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x"
+.LASF1765:
+ .string "__SSIZE_T_TYPE __SWORD_TYPE"
+.LASF1251:
+ .string "__glibcxx_want_ssize"
+.LASF1514:
+ .string "__cpp_lib_make_from_tuple 201606L"
+.LASF134:
+ .string "__cpp_threadsafe_static_init 200806L"
+.LASF1078:
+ .string "__glibcxx_want_incomplete_container_elements"
+.LASF345:
+ .string "__FLT32X_HAS_QUIET_NAN__ 1"
+.LASF1208:
+ .string "__glibcxx_parallel_algorithm 201603L"
+.LASF41:
+ .string "__GNUC_EXECUTION_CHARSET_NAME \"UTF-8\""
+.LASF7:
+ .string "__STDC_EMBED_NOT_FOUND__ 0"
+.LASF613:
+ .string "_ATFILE_SOURCE"
+.LASF965:
+ .string "_GLIBCXX_HAVE_UCHAR_H 1"
+.LASF748:
+ .string "_GLIBCXX_NO_OBSOLETE_ISINF_ISNAN_DYNAMIC __GLIBC_PREREQ(2,23)"
+.LASF1638:
+ .string "fgetwc"
+.LASF1160:
+ .string "__glibcxx_want_is_invocable"
+.LASF735:
+ .string "__attr_dealloc_free __attr_dealloc (__builtin_free, 1)"
+.LASF2273:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EEC4IS2_vEEPS0_"
+.LASF2048:
+ .string "_EXCEPTION_PTR_H "
+.LASF236:
+ .string "__DBL_MIN_EXP__ (-1021)"
+.LASF349:
+ .string "__FLT64X_MIN_EXP__ (-16381)"
+.LASF1416:
+ .string "_STL_ITERATOR_BASE_FUNCS_H 1"
+.LASF1639:
+ .string "fgetws"
+.LASF1310:
+ .string "__glibcxx_want_ranges_repeat"
+.LASF973:
+ .string "_GLIBCXX_HAVE_WCHAR_H 1"
+.LASF600:
+ .string "_ISOC2Y_SOURCE 1"
+.LASF2367:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEEC2Ev"
+.LASF2170:
+ .string "_ZNSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EEC4Ev"
+.LASF1905:
+ .string "_BITS_TIME_H 1"
+.LASF485:
+ .string "_GLIBCXX_VISIBILITY(V) __attribute__ ((__visibility__ (#V)))"
+.LASF1418:
+ .string "__glibcxx_function_requires(...) "
+.LASF1435:
+ .string "__glibcxx_no_dangling_refs"
+.LASF413:
+ .string "__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1"
+.LASF1114:
+ .string "__glibcxx_tuple_element_t 201402L"
+.LASF1955:
+ .string "STA_PPSWANDER 0x0400"
+.LASF1769:
+ .string "__RLIM_T_MATCHES_RLIM64_T 1"
+.LASF1878:
+ .string "__CPU_ALLOC(count) __sched_cpualloc (count)"
+.LASF15:
+ .string "__ATOMIC_RELAXED 0"
+.LASF1099:
+ .string "__glibcxx_want_exchange_function"
+.LASF1157:
+ .string "__glibcxx_is_aggregate 201703L"
+.LASF1921:
+ .string "ADJ_OFFSET 0x0001"
+.LASF1879:
+ .string "__CPU_FREE(cpuset) __sched_cpufree (cpuset)"
+.LASF1614:
+ .string "NULL"
+.LASF383:
+ .string "__DEC32_MAX__ 9.999999E96DF"
+.LASF1856:
+ .string "CLONE_NEWCGROUP 0x02000000"
+.LASF1933:
+ .string "ADJ_OFFSET_SS_READ 0xa001"
+.LASF1129:
+ .string "__glibcxx_want_make_unique"
+.LASF596:
+ .string "_ISOC11_SOURCE 1"
+.LASF1666:
+ .string "wcscoll"
+.LASF716:
+ .string "__attribute_nonstring__ __attribute__ ((__nonstring__))"
+.LASF1762:
+ .string "__TIMER_T_TYPE void *"
+.LASF2397:
+ .string "_ZNSt10unique_ptrI4BaseSt14default_deleteIS0_EED2Ev"
+.LASF2109:
+ .string "__glibcxx_want_ranges "
+.LASF1773:
+ .string "_BITS_TIME64_H 1"
+.LASF963:
+ .string "_GLIBCXX_HAVE_TLS 1"
+.LASF2099:
+ .string "__glibcxx_want_allocator_traits_is_always_equal "
+.LASF1873:
+ .string "__CPU_ISSET_S(cpu,setsize,cpusetp) (__extension__ ({ size_t __cpu = (cpu); __cpu / 8 < (setsize) ? ((((const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; }))"
+.LASF1840:
+ .string "CLONE_FS 0x00000200"
+.LASF343:
+ .string "__FLT32X_HAS_DENORM__ 1"
+.LASF857:
+ .string "_GLIBCXX_HAVE_FLOORF 1"
+.LASF2333:
+ .string "__isoc23_fwscanf"
+.LASF664:
+ .string "__COLD __attribute__ ((__cold__))"
+.LASF792:
+ .string "_PSTL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)"
+.LASF297:
+ .string "__FLT32_HAS_QUIET_NAN__ 1"
+.LASF2105:
+ .string "__glibcxx_want_enable_shared_from_this "
+.LASF84:
+ .string "__GXX_CONSTEXPR_ASM__ 1"
+.LASF1675:
+ .string "wcsrchr"
+.LASF649:
+ .string "__GNU_LIBRARY__ 6"
+.LASF2306:
+ .string "long long int"
+.LASF1357:
+ .string "_EXCEPTION_DEFINES_H 1"
+.LASF9:
+ .string "__STDC_EMBED_EMPTY__ 2"
+.LASF2094:
+ .string "_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK(X) "
+.LASF1950:
+ .string "STA_DEL 0x0020"
+.LASF1949:
+ .string "STA_INS 0x0010"
+.LASF1956:
+ .string "STA_PPSERROR 0x0800"
+.LASF1275:
+ .string "__glibcxx_want_constexpr_string"
+.LASF1901:
+ .string "CPU_ALLOC_SIZE(count) __CPU_ALLOC_SIZE (count)"
+.LASF129:
+ .string "__cpp_nontype_template_parameter_auto 201606L"
+.LASF399:
+ .string "__DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL"
+.LASF781:
+ .string "_PSTL_VERSION 17000"
+.LASF1375:
+ .string "__glibcxx_want_is_scoped_enum "
+.LASF949:
+ .string "_GLIBCXX_HAVE_SYS_SOCKET_H 1"
+.LASF302:
+ .string "__FLT64_MIN_10_EXP__ (-307)"
+.LASF269:
+ .string "__FLT16_MIN_EXP__ (-13)"
+.LASF1113:
+ .string "__glibcxx_want_transparent_operators"
+.LASF1168:
+ .string "__glibcxx_not_fn 201603L"
+.LASF770:
+ .string "_GLIBCXX_HAS_BUILTIN(B) __has_builtin(B)"
+.LASF2064:
+ .string "offsetof"
+.LASF1014:
+ .string "_GLIBCXX_USE_C99_CTYPE 1"
+.LASF161:
+ .string "__INTMAX_MAX__ 0x7fffffffffffffffL"
+.LASF1985:
+ .string "__PTHREAD_MUTEX_HAVE_PREV 1"
+.LASF2040:
+ .string "_GLIBCXX_ATOMIC_WORD_H 1"
+.LASF94:
+ .string "__cpp_rvalue_reference 200610L"
+.LASF2033:
+ .string "__GTHREAD_COND_INIT PTHREAD_COND_INITIALIZER"
+.LASF174:
+ .string "__UINT16_MAX__ 0xffff"
+.LASF697:
+ .string "__attribute_deprecated_msg__(msg) __attribute__ ((__deprecated__ (msg)))"
+.LASF1489:
+ .string "_GLIBCXX_TO_ADDR(P) P"
+.LASF2022:
+ .string "pthread_cleanup_push(routine,arg) do { __pthread_cleanup_class __clframe (routine, arg)"
+.LASF1708:
+ .string "_GLIBCXX_ATOMICITY_H 1"
+.LASF356:
+ .string "__FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x"
+.LASF796:
+ .string "_PSTL_PRAGMA_FORCEINLINE "
+.LASF1189:
+ .string "__glibcxx_want_sample"
+.LASF1411:
+ .string "_STL_TEMPBUF_H 1"
+.LASF2037:
+ .string "__gthrw(name) __gthrw2(__gthrw_ ## name,name,name)"
+.LASF657:
+ .string "__glibc_has_extension(ext) __has_extension (ext)"
+.LASF870:
+ .string "_GLIBCXX_HAVE_INTTYPES_H 1"
+.LASF1360:
+ .string "__throw_exception_again throw"
+.LASF447:
+ .string "__SSE__ 1"
+.LASF405:
+ .string "__DEC64X_EPSILON__ 1E-33D64x"
+.LASF1655:
+ .string "ungetwc"
+.LASF548:
+ .string "_GLIBCXX_ASSERT_FAIL(_Condition) std::__glibcxx_assert_fail(__FILE__, __LINE__, __PRETTY_FUNCTION__, #_Condition)"
+.LASF582:
+ .string "__GLIBC_USE_ISOC23"
+.LASF379:
+ .string "__DEC32_MANT_DIG__ 7"
+.LASF577:
+ .string "__USE_ATFILE"
+.LASF511:
+ .string "_GLIBCXX_NOEXCEPT noexcept"
+.LASF529:
+ .string "_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE(X) inline namespace X {"
+.LASF2207:
+ .string "_ZNSt11_Tuple_implILm1EJSt14default_deleteI4BaseEEE7_M_swapERS3_"
+.LASF2002:
+ .string "PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP { { __PTHREAD_MUTEX_INITIALIZER (PTHREAD_MUTEX_ERRORCHECK_NP) } }"
+.LASF1584:
+ .string "_SIZE_T_ "
+.LASF334:
+ .string "__FLT32X_MIN_10_EXP__ (-307)"
+.LASF1312:
+ .string "__glibcxx_want_ranges_cartesian_product"
+.LASF1988:
+ .string "__PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }"
+.LASF459:
+ .string "__unix 1"
+.LASF719:
+ .string "__LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0"
+.LASF264:
+ .string "__LDBL_HAS_INFINITY__ 1"
+.LASF1991:
+ .string "__have_pthread_attr_t 1"
+.LASF1889:
+ .string "CPU_CLR_S(cpu,setsize,cpusetp) __CPU_CLR_S (cpu, setsize, cpusetp)"
+.LASF1487:
+ .string "__glibcxx_want_int_pow2 "
+.LASF699:
+ .string "__attribute_format_strfmon__(a,b) __attribute__ ((__format__ (__strfmon__, a, b)))"
+.LASF1256:
+ .string "__glibcxx_want_unwrap_ref"
+.LASF2296:
+ .string "long unsigned int"
+.LASF1355:
+ .string "_GLIBCXX_PLACEMENT_CONSTEXPR"
+.LASF863:
+ .string "_GLIBCXX_HAVE_GETENTROPY 1"
+.LASF1131:
+ .string "__glibcxx_want_quoted_string_io"
+.LASF1361:
+ .string "_MOVE_H 1"
+.LASF583:
+ .string "__GLIBC_USE_ISOC2Y"
+.LASF1699:
+ .string "__GXX_MERGED_TYPEINFO_NAMES 0"
+.LASF1538:
+ .string "__GLIBC_USE_IEC_60559_EXT 1"
+.LASF226:
+ .string "__FLT_NORM_MAX__ 3.40282346638528859811704183484516925e+38F"
+.LASF1254:
+ .string "__glibcxx_want_to_array"
+.LASF1200:
+ .string "__glibcxx_map_try_emplace 201411L"
+.LASF2035:
+ .string "__gthrw2(name,name2,type) "
+.LASF934:
+ .string "_GLIBCXX_HAVE_STRINGS_H 1"
+.LASF906:
+ .string "_GLIBCXX_HAVE_O_NONBLOCK 1"
+.LASF13:
+ .string "__VERSION__ \"15.1.1 20250425 (Red Hat 15.1.1-1)\""
+.LASF468:
+ .string "__STDC_IEC_559_COMPLEX__ 1"
+.LASF2019:
+ .string "PTHREAD_BARRIER_SERIAL_THREAD -1"
+.LASF1105:
+ .string "__glibcxx_want_is_final"
+.LASF392:
+ .string "__DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD"
+.LASF31:
+ .string "__SIZEOF_LONG_DOUBLE__ 16"
+.LASF2091:
+ .string "_GLIBCXX_TSAN_MUTEX_TRY_LOCK(X) "
+.LASF70:
+ .string "__INT_FAST16_TYPE__ long int"
+.LASF1630:
+ .string "_BITS_TYPES_LOCALE_T_H 1"
+.LASF682:
+ .string "__REDIRECT_NTH(name,proto,alias) name proto __THROW __asm__ (__ASMNAME (#alias))"
+.LASF791:
+ .string "_PSTL_HIDE_FROM_ABI_POP "
+.LASF1751:
+ .string "__FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF311:
+ .string "__FLT64_HAS_DENORM__ 1"
+.LASF1274:
+ .string "__glibcxx_constexpr_string 201611L"
+.LASF1154:
+ .string "__glibcxx_want_hardware_interference_size"
+.LASF321:
+ .string "__FLT128_DECIMAL_DIG__ 36"
+.LASF230:
+ .string "__FLT_HAS_DENORM__ 1"
+.LASF966:
+ .string "_GLIBCXX_HAVE_UNISTD_H 1"
+.LASF2360:
+ .string "_ZNSt13__uses_alloc05_SinkaSEPKv"
+.LASF2327:
+ .string "__wchb"
+.LASF2309:
+ .string "char16_t"
+.LASF1499:
+ .string "_USES_ALLOCATOR_H 1"
+.LASF1744:
+ .string "__PID_T_TYPE __S32_TYPE"
+.LASF2388:
+ .string "_Lock_policy"
+.LASF103:
+ .string "__cpp_return_type_deduction 201304L"
+.LASF1338:
+ .string "__glibcxx_want_unreachable"
+.LASF2066:
+ .string "_GCC_MAX_ALIGN_T "
+.LASF1422:
+ .string "__glibcxx_class_requires4(_a,_b,_c,_d,_e) "
+.LASF1321:
+ .string "__glibcxx_want_stdatomic_h"
+.LASF1272:
+ .string "__glibcxx_want_constexpr_complex"
+.LASF1403:
+ .string "_GLIBCXX_FORWARD(_Tp,__val) std::forward<_Tp>(__val)"
+.LASF1093:
+ .string "__glibcxx_enable_shared_from_this 201603L"
+.LASF1465:
+ .string "__glibcxx_requires_sorted_pred(_First,_Last,_Pred) "
+.LASF258:
+ .string "__LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L"
+.LASF1377:
+ .string "__glibcxx_want_is_virtual_base_of "
+.LASF29:
+ .string "__SIZEOF_FLOAT__ 4"
+.LASF1277:
+ .string "__glibcxx_want_constrained_equality"
+.LASF2376:
+ .string "main"
+.LASF1143:
+ .string "__glibcxx_want_as_const"
+.LASF398:
+ .string "__DEC128_EPSILON__ 1E-33DL"
+.LASF1578:
+ .string "__SIZE_T__ "
+.LASF2176:
+ .string "_ZNKSt15__uniq_ptr_implI4BaseSt14default_deleteIS0_EE6_M_ptrEv"
+.LASF1993:
+ .string "____sigset_t_defined "
+.LASF780:
+ .string "_PSTL_CONFIG_H "
+.LASF1881:
+ .string "__sched_priority sched_priority"
+.LASF984:
+ .string "_GLIBCXX_PACKAGE_URL \"\""
+.LASF65:
+ .string "__UINT_LEAST8_TYPE__ unsigned char"
+.LASF1740:
+ .string "__NLINK_T_TYPE __SYSCALL_ULONG_TYPE"
+.LASF470:
+ .string "__STDC_ISO_10646__ 201706L"
+.LASF253:
+ .string "__LDBL_MIN_10_EXP__ (-4931)"
+.LASF1904:
+ .string "_TIME_H 1"
+.LASF2119:
+ .string "__cpp_lib_transparent_operators 201510L"
+.LASF1656:
+ .string "vfwprintf"
+.LASF677:
+ .string "__warnattr(msg) __attribute__((__warning__ (msg)))"
+.LASF1451:
+ .string "_GLIBCXX_SIZED_DEALLOC(T,p,n) (p), (n) * sizeof(T)"
+.LASF2209:
+ .string "_Head_base<0, Base*, false>"
+.LASF631:
+ .string "__USE_UNIX98 1"
+.LASF50:
+ .string "__CHAR16_TYPE__ short unsigned int"
+.LASF1836:
+ .string "SCHED_ATTR_SIZE_VER1 56"
+.LASF546:
+ .string "_GLIBCXX_HAVE_IS_CONSTANT_EVALUATED 1"
+.LASF547:
+ .string "_GLIBCXX_VERBOSE_ASSERT 1"
+.LASF644:
+ .string "__USE_FORTIFY_LEVEL 0"
+.LASF629:
+ .string "__USE_XOPEN 1"
+.LASF626:
+ .string "__USE_POSIX199506 1"
+.LASF1218:
+ .string "__glibcxx_unordered_map_try_emplace 201411L"
+.LASF2300:
+ .string "unsigned int"
+.LASF799:
+ .string "_PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN(PRM) _PSTL_PRAGMA(omp scan exclusive(PRM))"
+.LASF1179:
+ .string "__glibcxx_want_gcd_lcm"
+.LASF2027:
+ .string "__GTHREAD_INLINE inline __GTHREAD_ALWAYS_INLINE"
+.LASF2361:
+ .string "_ZdlPvm"
+.LASF1110:
+ .string "__glibcxx_transformation_trait_aliases 201304L"
+.LASF923:
+ .string "_GLIBCXX_HAVE_SINL 1"
+.LASF2365:
+ .string "_ZNSt10_Head_baseILm1ESt14default_deleteI4BaseELb1EEC2Ev"
+.LASF1758:
+ .string "__SUSECONDS64_T_TYPE __SQUAD_TYPE"
+.LASF692:
+ .string "__attribute_const__ __attribute__ ((__const__))"
+.LASF2137:
+ .string "exception_ptr"
+.LASF1369:
+ .string "__glibcxx_want_is_final "
+.LASF2198:
+ .string "_Tuple_impl<1, std::default_delete<Base> >"
+.LASF702:
+ .string "__returns_nonnull __attribute__ ((__returns_nonnull__))"
+.LASF1784:
+ .string "__FLOAT_WORD_ORDER __BYTE_ORDER"
+.LASF1304:
+ .string "__glibcxx_want_ranges_to_container"
+.LASF2096:
+ .string "_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL(X) "
+.LASF1159:
+ .string "__glibcxx_is_invocable 201703L"
+.LASF227:
+ .string "__FLT_MIN__ 1.17549435082228750796873653722224568e-38F"
+.LASF1132:
+ .string "__glibcxx_shared_timed_mutex 201402L"
+.LASF993:
+ .string "_GLIBCXX98_USE_C99_COMPLEX 1"
+.LASF636:
+ .string "__USE_LARGEFILE 1"
+.LASF724:
+ .string "__LDBL_REDIR2_DECL(name) "
+.LASF44:
+ .string "__SIZE_TYPE__ long unsigned int"
+.LASF254:
+ .string "__LDBL_MAX_EXP__ 16384"
+.LASF1155:
+ .string "__glibcxx_invoke 201411L"
+.LASF2304:
+ .string "short int"
+.LASF452:
+ .string "__MMX_WITH_SSE__ 1"
+.LASF1877:
+ .string "__CPU_ALLOC_SIZE(count) ((((count) + __NCPUBITS - 1) / __NCPUBITS) * sizeof (__cpu_mask))"
+.LASF11:
+ .string "__GNUC_MINOR__ 1"
+.LASF1415:
+ .string "_GLIBCXX26_ALGO_DEF_VAL_T(_Iterator) "
+.LASF4:
+ .string "__STDC_UTF_16__ 1"
+.LASF2089:
+ .string "ATOMIC_FLAG_INIT { 0 }"
+.LASF473:
+ .string "_CPP_CPPCONFIG_WRAPPER 1"
+.LASF1705:
+ .string "_GLIBCXX_MEM_FN_TRAITS"
+.LASF99:
+ .string "__cpp_nsdmi 200809L"
+.LASF23:
+ .string "_LP64 1"
+.LASF1883:
+ .string "CPU_SET(cpu,cpusetp) __CPU_SET_S (cpu, sizeof (cpu_set_t), cpusetp)"
+.LASF1025:
+ .string "_GLIBCXX_USE_C99_STDINT_TR1 1"
+.LASF88:
+ .string "__cpp_raw_strings 200710L"
+.LASF1394:
+ .string "__cpp_lib_bool_constant 201505L"
+.LASF1812:
+ .string "__ASM_X86_BITSPERLONG_H "
+.LASF1728:
+ .string "__S64_TYPE long int"
+.LASF2122:
+ .string "__cpp_lib_parallel_algorithm 201603L"
+.LASF1624:
+ .string "__wint_t_defined 1"
+.LASF207:
+ .string "__UINT_FAST32_MAX__ 0xffffffffffffffffUL"
+.LASF85:
+ .string "__cpp_binary_literals 201304L"
+.LASF543:
+ .string "_GLIBCXX_NAMESPACE_LDBL_OR_CXX11 _GLIBCXX_NAMESPACE_CXX11"
+.LASF1818:
+ .string "__struct_group_tag(TAG) "
+.LASF1318:
+ .string "__glibcxx_want_ranges_iota"
+.LASF198:
+ .string "__INT_FAST8_WIDTH__ 8"
+.LASF164:
+ .string "__UINTMAX_C(c) c ## UL"
+.LASF1334:
+ .string "__glibcxx_want_string_contains"
+.LASF1401:
+ .string "_GLIBCXX_FWDREF(_Tp) _Tp&&"
+.LASF1074:
+ .string "__glibcxx_want_hardware_interference_size "
+.LASF751:
+ .string "_GLIBCXX_NATIVE_THREAD_ID pthread_self()"
+.LASF2103:
+ .string "__glibcxx_want_constexpr_dynamic_alloc "
+.LASF45:
+ .string "__PTRDIFF_TYPE__ long int"
+.LASF2225:
+ .string "_ZNSt11_Tuple_implILm0EJP4BaseSt14default_deleteIS0_EEEC4ERKS1_RKS3_"
+.LASF1301:
+ .string "__glibcxx_want_is_scoped_enum"
+.LASF189:
+ .string "__UINT_LEAST8_MAX__ 0xff"
+.LASF291:
+ .string "__FLT32_NORM_MAX__ 3.40282346638528859811704183484516925e+38F32"
+.LASF621:
+ .string "__USE_ISOC95 1"
+.LASF536:
+ .string "_GLIBCXX_END_NAMESPACE_ALGO "
+.LASF1205:
+ .string "__glibcxx_want_memory_resource"
+.LASF177:
+ .string "__INT_LEAST8_MAX__ 0x7f"
+.LASF187:
+ .string "__INT64_C(c) c ## L"
+.LASF531:
+ .string "_GLIBCXX_STD_C std"
+.LASF903:
+ .string "_GLIBCXX_HAVE_NETINET_IN_H 1"
+.LASF534:
+ .string "_GLIBCXX_STD_A std"
+.LASF1671:
+ .string "wcsncat"
+.LASF762:
+ .string "_GLIBCXX_USE_C99_MATH _GLIBCXX11_USE_C99_MATH"
+.LASF1531:
+ .string "__GLIBC_USE_LIB_EXT2"
+.LASF12:
+ .string "__GNUC_PATCHLEVEL__ 1"
+.LASF711:
+ .string "__va_arg_pack() __builtin_va_arg_pack ()"
+ .section .debug_line_str,"MS",@progbits,1
+.LASF1:
+ .string "."
+.LASF0:
+ .string "dwarf.cc"
+ .hidden __dso_handle
+ .globl __gxx_personality_v0
+ .ident "GCC: (GNU) 15.1.1 20250425 (Red Hat 15.1.1-1)"
+ .section .note.GNU-stack,"",@progbits
diff --git a/binutils/testsuite/binutils-all/x86-64/pr32927-1.d b/binutils/testsuite/binutils-all/x86-64/pr32927-1.d
new file mode 100644
index 0000000..beaf44b
--- /dev/null
+++ b/binutils/testsuite/binutils-all/x86-64/pr32927-1.d
@@ -0,0 +1,6 @@
+#source: dwarf4.s
+#as: --64
+#readelf: --dwarf-check --debug-dump=Ranges
+
+Contents of the \.debug_ranges section:
+#pass
diff --git a/binutils/testsuite/binutils-all/x86-64/pr32927-2.d b/binutils/testsuite/binutils-all/x86-64/pr32927-2.d
new file mode 100644
index 0000000..51ebe93
--- /dev/null
+++ b/binutils/testsuite/binutils-all/x86-64/pr32927-2.d
@@ -0,0 +1,6 @@
+#source: dwarf5.s
+#as: --64
+#readelf: --dwarf-check --debug-dump=Ranges
+
+Contents of the \.debug_rnglists section:
+#pass
diff --git a/binutils/testsuite/binutils-all/x86-64/x86-64.exp b/binutils/testsuite/binutils-all/x86-64/x86-64.exp
index 2df0269..05c7304 100644
--- a/binutils/testsuite/binutils-all/x86-64/x86-64.exp
+++ b/binutils/testsuite/binutils-all/x86-64/x86-64.exp
@@ -81,7 +81,7 @@ if {[catch "system \"bzip2 -dc $t > $tempfile\""] != 0} {
fail $testname
} else {
send_log "cmp tmpdir/pr27708.out $srcdir/$subdir/pr27708.dump\n"
- verbose "cmp tmpdir/pr27708.out $srcdir/$subdir/pr26808.dump" 1
+ verbose "cmp tmpdir/pr27708.out $srcdir/$subdir/pr27708.dump" 1
set status [remote_exec build cmp "tmpdir/pr27708.out $srcdir/$subdir/pr27708.dump"]
set exec_output [lindex $status 1]
set exec_output [prune_warnings $exec_output]
diff --git a/binutils/windint.h b/binutils/windint.h
index 3b950ac..10cf46e 100644
--- a/binutils/windint.h
+++ b/binutils/windint.h
@@ -1087,9 +1087,9 @@ extern void get_windres_bfd_content (windres_bfd *, void *, rc_uint_type, rc_uin
extern void windres_put_8 (windres_bfd *, void *, rc_uint_type);
extern void windres_put_16 (windres_bfd *, void *, rc_uint_type);
extern void windres_put_32 (windres_bfd *, void *, rc_uint_type);
-extern rc_uint_type windres_get_8 (windres_bfd *, const void *, rc_uint_type);
-extern rc_uint_type windres_get_16 (windres_bfd *, const void *, rc_uint_type);
-extern rc_uint_type windres_get_32 (windres_bfd *, const void *, rc_uint_type);
+extern rc_uint_type windres_get_8 (windres_bfd *, const void *);
+extern rc_uint_type windres_get_16 (windres_bfd *, const void *);
+extern rc_uint_type windres_get_32 (windres_bfd *, const void *);
extern void set_windres_bfd (windres_bfd *, bfd *, asection *, rc_uint_type);
extern void set_windres_bfd_endianness (windres_bfd *, int);
diff --git a/binutils/windres.c b/binutils/windres.c
index 18062f5..cfd306b 100644
--- a/binutils/windres.c
+++ b/binutils/windres.c
@@ -1056,23 +1056,24 @@ main (int argc, char **argv)
/* Write the output file. */
reswr_init ();
+ bool ok;
switch (output_format)
{
default:
abort ();
case RES_FORMAT_RC:
- write_rc_file (output_filename, resources);
+ ok = write_rc_file (output_filename, resources);
break;
case RES_FORMAT_RES:
- write_res_file (output_filename, resources);
+ ok = write_res_file (output_filename, resources);
break;
case RES_FORMAT_COFF:
- write_coff_file (output_filename, target, resources);
+ ok = write_coff_file (output_filename, target, resources);
break;
}
- xexit (0);
- return 0;
+ xexit (ok ? 0 : 1);
+ return ok ? 0 : 1;
}
static void
@@ -1094,13 +1095,18 @@ windres_open_as_binary (const char *filename, int rdmode)
{
bfd *abfd;
- abfd = (rdmode ? bfd_openr (filename, "binary") : bfd_openw (filename, "binary"));
- if (! abfd)
- fatal ("can't open `%s' for %s", filename, (rdmode ? "input" : "output"));
-
- if (rdmode && ! bfd_check_format (abfd, bfd_object))
- fatal ("can't open `%s' for input.", filename);
-
+ if (rdmode)
+ {
+ abfd = bfd_openr (filename, "binary");
+ if (abfd == NULL || !bfd_check_format (abfd, bfd_object))
+ fatal ("can't open `%s' for input", filename);
+ }
+ else
+ {
+ abfd = bfd_openw (filename, "binary");
+ if (abfd == NULL || !bfd_set_format (abfd, bfd_object))
+ fatal ("can't open `%s' for output", filename);
+ }
return abfd;
}
@@ -1204,23 +1210,15 @@ target_put_32 (void *p, rc_uint_type value)
}
static rc_uint_type
-target_get_8 (const void *p, rc_uint_type length)
+target_get_8 (const void *p)
{
- rc_uint_type ret;
-
- if (length < 1)
- fatal ("Resource too small for getting 8-bit value.");
-
- ret = (rc_uint_type) *((const bfd_byte *) p);
+ rc_uint_type ret = *((const bfd_byte *) p);
return ret & 0xff;
}
static rc_uint_type
-target_get_16 (const void *p, rc_uint_type length)
+target_get_16 (const void *p)
{
- if (length < 2)
- fatal ("Resource too small for getting 16-bit value.");
-
if (target_is_bigendian)
return bfd_getb16 (p);
else
@@ -1228,11 +1226,8 @@ target_get_16 (const void *p, rc_uint_type length)
}
static rc_uint_type
-target_get_32 (const void *p, rc_uint_type length)
+target_get_32 (const void *p)
{
- if (length < 4)
- fatal ("Resource too small for getting 32-bit value.");
-
if (target_is_bigendian)
return bfd_getb32 (p);
else
@@ -1298,14 +1293,12 @@ windres_put_32 (windres_bfd *wrbfd, void *data, rc_uint_type value)
}
rc_uint_type
-windres_get_8 (windres_bfd *wrbfd, const void *data, rc_uint_type length)
+windres_get_8 (windres_bfd *wrbfd, const void *data)
{
- if (length < 1)
- fatal ("windres_get_8: unexpected eob.");
switch (WR_KIND(wrbfd))
{
case WR_KIND_TARGET:
- return target_get_8 (data, length);
+ return target_get_8 (data);
case WR_KIND_BFD:
case WR_KIND_BFD_BIN_B:
case WR_KIND_BFD_BIN_L:
@@ -1317,14 +1310,12 @@ windres_get_8 (windres_bfd *wrbfd, const void *data, rc_uint_type length)
}
rc_uint_type
-windres_get_16 (windres_bfd *wrbfd, const void *data, rc_uint_type length)
+windres_get_16 (windres_bfd *wrbfd, const void *data)
{
- if (length < 2)
- fatal ("windres_get_16: unexpected eob.");
switch (WR_KIND(wrbfd))
{
case WR_KIND_TARGET:
- return target_get_16 (data, length);
+ return target_get_16 (data);
case WR_KIND_BFD:
case WR_KIND_BFD_BIN_B:
return bfd_get_16 (WR_BFD(wrbfd), data);
@@ -1337,14 +1328,12 @@ windres_get_16 (windres_bfd *wrbfd, const void *data, rc_uint_type length)
}
rc_uint_type
-windres_get_32 (windres_bfd *wrbfd, const void *data, rc_uint_type length)
+windres_get_32 (windres_bfd *wrbfd, const void *data)
{
- if (length < 4)
- fatal ("windres_get_32: unexpected eob.");
switch (WR_KIND(wrbfd))
{
case WR_KIND_TARGET:
- return target_get_32 (data, length);
+ return target_get_32 (data);
case WR_KIND_BFD:
case WR_KIND_BFD_BIN_B:
return bfd_get_32 (WR_BFD(wrbfd), data);
diff --git a/binutils/windres.h b/binutils/windres.h
index 309564e..15c6ad0 100644
--- a/binutils/windres.h
+++ b/binutils/windres.h
@@ -35,9 +35,9 @@ extern int verbose;
extern rc_res_directory *read_rc_file (const char *, const char *, const char *, int, int);
extern rc_res_directory *read_res_file (const char *);
extern rc_res_directory *read_coff_rsrc (const char *, const char *);
-extern void write_rc_file (const char *, const rc_res_directory *);
-extern void write_res_file (const char *, const rc_res_directory *);
-extern void write_coff_file (const char *, const char *, const rc_res_directory *);
+extern bool write_rc_file (const char *, const rc_res_directory *);
+extern bool write_res_file (const char *, const rc_res_directory *);
+extern bool write_coff_file (const char *, const char *, const rc_res_directory *);
extern rc_res_resource *bin_to_res (windres_bfd *, rc_res_id, const bfd_byte *,
rc_uint_type);
diff --git a/config/bfd64.m4 b/config/bfd64.m4
index d134f1a..d816f7f 100644
--- a/config/bfd64.m4
+++ b/config/bfd64.m4
@@ -16,21 +16,25 @@ dnl along with this program; see the file COPYING3. If not see
dnl <http://www.gnu.org/licenses/>.
dnl
-dnl See whether 64-bit bfd lib has been enabled.
+dnl Make sure your module depends on `all-bfd' when invoking this macro.
AC_DEFUN([BFD_64_BIT], [dnl
-AC_ARG_ENABLE(64-bit-bfd,
- AS_HELP_STRING([--enable-64-bit-bfd],
- [64-bit support (on hosts with narrower word sizes)]),
- [AS_CASE([$enableval],
- [yes|no], [],
- [*], [AC_MSG_ERROR(bad value ${enableval} for 64-bit-bfd option)])],
- [enable_64_bit_bfd=no])
-
-dnl If the host is 64-bit, then 64-bit bfd is enabled automatically.
-AS_IF([test "x$enable_64_bit_bfd" = "xno"], [dnl
- AC_CHECK_SIZEOF(void *)
- AS_IF([test "x$ac_cv_sizeof_void_p" = "x8"], [enable_64_bit_bfd=yes])
-])
-
-AM_CONDITIONAL([ENABLE_BFD_64_BIT], [test "x$enable_64_bit_bfd" = "xyes"])
-])
+# See whether 64-bit bfd lib has been enabled.
+OLD_CPPFLAGS=$CPPFLAGS
+# Put the old CPPFLAGS last, in case the user's CPPFLAGS point somewhere
+# with bfd, with -I/foo/include. We always want our bfd.
+CPPFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CPPFLAGS"
+# Note we cannot cache the result of this check because BFD64 may change
+# when a secondary target has been added or removed and we have no access
+# to this information here.
+AC_MSG_CHECKING([whether BFD is 64-bit])
+AC_EGREP_CPP([HAVE_BFD64],
+ AC_LANG_PROGRAM(
+ [#include "bfd.h"],
+ [dnl
+#ifdef BFD64
+HAVE_BFD64
+#endif]),
+ [have_64_bit_bfd=yes],
+ [have_64_bit_bfd=no])
+AC_MSG_RESULT([$have_64_bit_bfd])
+CPPFLAGS=$OLD_CPPFLAGS])
diff --git a/cpu/or1k.opc b/cpu/or1k.opc
index 5d20a1f..748187e 100644
--- a/cpu/or1k.opc
+++ b/cpu/or1k.opc
@@ -38,7 +38,7 @@
#undef CGEN_DIS_HASH_SIZE
#define CGEN_DIS_HASH_SIZE 256
#undef CGEN_DIS_HASH
-#define CGEN_DIS_HASH(buffer, value) (((unsigned char *) (buffer))[0] >> 2)
+#define CGEN_DIS_HASH(buffer, value) ((value >> 26) & 0xff)
/* Check applicability of instructions against machines. */
#define CGEN_VALIDATE_INSN_SUPPORTED
diff --git a/cpu/or1kcommon.cpu b/cpu/or1kcommon.cpu
index 9f102c9..7f91954 100644
--- a/cpu/or1kcommon.cpu
+++ b/cpu/or1kcommon.cpu
@@ -243,6 +243,8 @@
(.unsplice
(.map (.pmacro (n) (.splice SYS (.sym "ESR" n) (.add n #x40) (.str "Exception supervision register " n)))
(.iota #x10)))
+ (SYS COREID #x080 "Core identifier register")
+ (SYS NUMCORES #x081 "Number of cores register")
(.unsplice
(.map (.pmacro (n) (.splice SYS (.sym "GPR" n) (.add n #x400) (.str "General purpose register " n)))
(.iota #x200)))
diff --git a/gas/NEWS b/gas/NEWS
index b4fc2e9..f0ffe2d 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -8,11 +8,17 @@
to have the same ISA as elf architecture attribute. Once used .option arch
directives, the file need to be rebuilt since 2.45.
+* Add support for RISC-V privileged version 1.13, profiles 20/22/23, and
+ .bfloat16 directive.
+
* Add support for RISC-V standard extensions:
- ssqosid v1.0, ssnpm v1.0, smnpm v1.0, smmpm v1.0, sspm v1.0, supm v1.0.
+ ssqosid v1.0, ssnpm v1.0, smnpm v1.0, smmpm v1.0, sspm v1.0, supm v1.0,
+ sha v1.0, zce v1.0, smcdeleg v1.0, ssccfg v1.0, svvptc v1.0, zilsd v1.0,
+ zclsd v1.0, smrnmi v1.0 instruction.
* Add support for RISC-V vendor extensions:
T-Head: xtheadvdot v1.0.
+ MIPS: xmipscbop v1.0, xmipscmov v1.0, xmipsexectl v1.0, xmipslsp v1.0.
* Add support for the x86 Zhaoxin PadLock XMODX instructions.
diff --git a/gas/as.c b/gas/as.c
index 7edac57..a37d59d 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -930,7 +930,7 @@ This program has absolutely no warranty.\n"));
break;
case OPTION_LISTING_LHS_WIDTH2:
{
- int tmp = atoi (optarg);
+ unsigned int tmp = atoi (optarg);
if (tmp > listing_lhs_width)
listing_lhs_width_second = tmp;
diff --git a/gas/as.h b/gas/as.h
index 826d88d..4b5f78b 100644
--- a/gas/as.h
+++ b/gas/as.h
@@ -247,9 +247,7 @@ enum _relax_state
1 constant byte: no-op fill control byte. */
rs_space_nop,
- /* Similar to rs_fill. It is used to implement .nops directive.
- When listings are enabled, fr_opcode gets the buffer assigned, once
- that's available. */
+ /* Similar to rs_fill. It is used to implement .nops directive. */
rs_fill_nop,
/* A DWARF leb128 value; only ELF uses this. The subtype is 0 for
diff --git a/gas/config/kvx-parse.c b/gas/config/kvx-parse.c
index 942eab3..5995d62 100644
--- a/gas/config/kvx-parse.c
+++ b/gas/config/kvx-parse.c
@@ -409,7 +409,7 @@ promote_token (struct token_s tok)
: tok.class_id;
case CAT_IMMEDIATE:
{
- expressionS exp = { 0 };
+ expressionS exp;
char *ilp_save = input_line_pointer;
input_line_pointer = tok.insn + tok.begin;
expression (&exp);
@@ -462,7 +462,7 @@ get_token_class (struct token_s *token, struct token_classes *classes, int insn_
int found = 0;
int tok_sz = token->end - token->begin;
char *tok = token->insn + token->begin;
- expressionS exp = {0};
+ expressionS exp;
token->val = 0;
int token_val_p = 0;
diff --git a/gas/config/loongarch-parse.y b/gas/config/loongarch-parse.y
index 97055fe..d575748 100644
--- a/gas/config/loongarch-parse.y
+++ b/gas/config/loongarch-parse.y
@@ -42,7 +42,7 @@ is_const (struct reloc_info *info)
}
int
-loongarch_parse_expr (const char *expr,
+loongarch_parse_expr (const char *exp,
struct reloc_info *reloc_stack_top,
size_t max_reloc_num,
size_t *reloc_num,
@@ -52,7 +52,7 @@ loongarch_parse_expr (const char *expr,
struct yy_buffer_state *buffstate;
top = reloc_stack_top;
end = top + max_reloc_num;
- buffstate = yy_scan_string (expr);
+ buffstate = yy_scan_string (exp);
ret = yyparse ();
if (ret == 0)
@@ -207,29 +207,41 @@ emit_bin (int op)
switch (op)
{
case '*':
- opr1 = opr1 * opr2;
+ opr1 = (valueT) opr1 * (valueT) opr2;
break;
case '/':
- opr1 = opr1 / opr2;
+ if (opr2 == 0)
+ {
+ as_warn (_("Divide by zero!"));
+ opr1 = 0;
+ }
+ else
+ opr1 = opr1 / opr2;
break;
case '%':
- opr1 = opr1 % opr2;
+ if (opr2 == 0)
+ {
+ as_warn (_("Divide by zero!"));
+ opr1 = 0;
+ }
+ else
+ opr1 = opr1 % opr2;
break;
case '+':
- opr1 = opr1 + opr2;
+ opr1 = (valueT) opr1 + (valueT) opr2;
break;
case '-':
- opr1 = opr1 - opr2;
+ opr1 = (valueT) opr1 - (valueT) opr2;
break;
case LEFT_OP:
- opr1 = opr1 << opr2;
+ opr1 = (valueT) opr1 << opr2;
break;
case RIGHT_OP:
if (opr1 < 0)
- as_warn(_("Right shift of negative numbers may be changed "
- "from arithmetic right shift to logical right shift!"));
- /* Algorithm right shift. */
- opr1 = (offsetT)opr1 >> (offsetT)opr2;
+ as_warn (_("Right shift of negative numbers may be changed "
+ "from arithmetic right shift to logical right shift!"));
+ /* Arithmetic right shift. */
+ opr1 = opr1 >> opr2;
break;
case '<':
opr1 = opr1 < opr2;
diff --git a/gas/config/obj-coff-seh.c b/gas/config/obj-coff-seh.c
index 70cb4e4..becf7a9 100644
--- a/gas/config/obj-coff-seh.c
+++ b/gas/config/obj-coff-seh.c
@@ -121,7 +121,7 @@ seh_hash_insert (const char *name, struct seh_seg_list *item)
static struct seh_seg_list *
seh_hash_find (char *name)
{
- return (struct seh_seg_list *) str_hash_find (seh_hash, name);
+ return str_hash_find (seh_hash, name);
}
static struct seh_seg_list *
diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index eb5784e..1f9eaa3 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -133,7 +133,7 @@ tag_insert (const char *name, symbolS *symbolP)
static symbolS *
tag_find (char *name)
{
- return (symbolS *) str_hash_find (tag_hash, name);
+ return str_hash_find (tag_hash, name);
}
static symbolS *
@@ -569,7 +569,7 @@ obj_coff_ident (int ignore ATTRIBUTE_UNUSED)
#define SKIP_WHITESPACES() while (is_whitespace (*input_line_pointer)) \
input_line_pointer++;
-static void
+void
obj_coff_def (int what ATTRIBUTE_UNUSED)
{
if (def_symbol_in_progress != NULL)
@@ -1187,7 +1187,6 @@ coff_assign_symbol (symbolS *symp ATTRIBUTE_UNUSED)
#endif
}
-symbolS *coff_last_function;
#ifndef OBJ_XCOFF
static symbolS *coff_last_bf;
#endif
@@ -1195,6 +1194,7 @@ static symbolS *coff_last_bf;
void
coff_frob_symbol (symbolS *symp, int *punt)
{
+ static symbolS *last_functionP;
static symbolS *last_tagP;
static stack *block_stack;
static symbolS *set_end;
@@ -1338,30 +1338,26 @@ coff_frob_symbol (symbolS *symp, int *punt)
}
}
- if (coff_last_function == 0 && SF_GET_FUNCTION (symp)
- && S_IS_DEFINED (symp))
+ if (SF_GET_FUNCTION (symp) && S_IS_DEFINED (symp))
{
union internal_auxent *auxp;
- coff_last_function = symp;
if (S_GET_NUMBER_AUXILIARY (symp) < 1)
S_SET_NUMBER_AUXILIARY (symp, 1);
auxp = SYM_AUXENT (symp);
- memset (auxp->x_sym.x_fcnary.x_ary.x_dimen, 0,
- sizeof (auxp->x_sym.x_fcnary.x_ary.x_dimen));
+ memset (&auxp->x_sym.x_fcnary.x_fcn, 0,
+ sizeof (auxp->x_sym.x_fcnary.x_fcn));
}
if (S_GET_STORAGE_CLASS (symp) == C_EFCN
&& S_IS_DEFINED (symp))
{
- if (coff_last_function == 0)
+ if (!last_functionP)
as_fatal (_("C_EFCN symbol for %s out of scope"),
S_GET_NAME (symp));
- SA_SET_SYM_FSIZE (coff_last_function,
+ SA_SET_SYM_FSIZE (last_functionP,
(long) (S_GET_VALUE (symp)
- - S_GET_VALUE (coff_last_function)));
- next_set_end = coff_last_function;
- coff_last_function = 0;
+ - S_GET_VALUE (last_functionP)));
}
}
@@ -1415,6 +1411,13 @@ coff_frob_symbol (symbolS *symp, int *punt)
set_end = next_set_end;
}
+ if (SF_GET_FUNCTION (symp) && S_IS_DEFINED (symp) && !*punt)
+ {
+ if (last_functionP)
+ SA_SET_SYM_ENDNDX (last_functionP, symp);
+ last_functionP = symp;
+ }
+
#ifndef OBJ_XCOFF
if (! *punt
&& S_GET_STORAGE_CLASS (symp) == C_FCN
diff --git a/gas/config/obj-coff.h b/gas/config/obj-coff.h
index c083ad2..51dfd56 100644
--- a/gas/config/obj-coff.h
+++ b/gas/config/obj-coff.h
@@ -242,7 +242,6 @@
extern int text_lineno_number;
extern int coff_line_base;
extern int coff_n_line_nos;
-extern symbolS *coff_last_function;
#define obj_emit_lineno(WHERE, LINE, FILE_START) abort ()
#define obj_app_file(name) c_dot_file_symbol (name)
@@ -330,7 +329,7 @@ extern void pecoff_obj_clear_weak_hook (symbolS *);
#endif
extern void obj_coff_section (int);
extern segT obj_coff_add_segment (const char *);
-extern void obj_coff_section (int);
+extern void obj_coff_def (int);
extern segT s_get_segment (symbolS *);
#ifndef tc_coff_symbol_emit_hook
extern void tc_coff_symbol_emit_hook (symbolS *);
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index d37d0fd..368594d 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -492,13 +492,6 @@ get_section_by_match (bfd *abfd ATTRIBUTE_UNUSED, asection *sec, void *inf)
&& match_section (sec, match));
}
-static void
-free_section_idx (void *ent)
-{
- string_tuple_t *tuple = ent;
- free ((char *) tuple->value);
-}
-
/* Go look in section lists kept per group for SEC_NAME with
properties given by MATCH. If info for the group named by
MATCH->GROUP_NAME has been initialised, set GROUP_IDX. */
@@ -506,24 +499,24 @@ free_section_idx (void *ent)
static asection *
group_section_find (const struct elf_section_match *match,
const char *sec_name,
- unsigned int **group_idx)
+ unsigned int *group_idx)
{
if (!groups.indexes)
{
groups.num_group = 0;
groups.head = NULL;
groups.indexes = htab_create_alloc (16, hash_string_tuple, eq_string_tuple,
- free_section_idx, notes_calloc, NULL);
- *group_idx = NULL;
+ NULL, notes_calloc, NULL);
+ *group_idx = ~0u;
return NULL;
}
- *group_idx = str_hash_find (groups.indexes, match->group_name);
- if (*group_idx == NULL)
+ *group_idx = str_hash_find_int (groups.indexes, match->group_name);
+ if (*group_idx == ~0u)
return NULL;
asection *s;
- for (s = groups.head[**group_idx]; s != NULL; s = elf_next_in_group (s))
+ for (s = groups.head[*group_idx]; s != NULL; s = elf_next_in_group (s))
if ((s->name == sec_name
|| strcmp (s->name, sec_name) == 0)
&& match_section (s, match))
@@ -537,12 +530,12 @@ group_section_find (const struct elf_section_match *match,
static void
group_section_insert (const struct elf_section_match *match,
asection *sec,
- unsigned int **group_idx)
+ unsigned int *group_idx)
{
- if (*group_idx != NULL)
+ if (*group_idx != ~0u)
{
- elf_next_in_group (sec) = groups.head[**group_idx];
- groups.head[**group_idx] = sec;
+ elf_next_in_group (sec) = groups.head[*group_idx];
+ groups.head[*group_idx] = sec;
return;
}
@@ -553,14 +546,8 @@ group_section_insert (const struct elf_section_match *match,
groups.num_group += 1;
/* We keep the index into groups.head rather than the entry address
- because groups.head may be realloc'd, and because str_hash values
- are a void* we make a copy of the index. Strictly speaking there
- is no guarantee that void* can represent any int value, so doing
- without the indirection by casting an int or even uintptr_t may
- for example lose lsbs of the value. */
- unsigned int *idx_ptr = XNEW (unsigned int);
- *idx_ptr = i;
- str_hash_insert (groups.indexes, match->group_name, idx_ptr, 0);
+ because groups.head may be realloc'd. */
+ str_hash_insert_int (groups.indexes, match->group_name, i, 0);
}
/* Handle the .section pseudo-op. This code supports two different
@@ -622,7 +609,7 @@ change_section (const char *name,
obj_elf_section_change_hook ();
- unsigned int *group_idx = NULL;
+ unsigned int group_idx = ~0u;
if (match_p->group_name)
old_sec = group_section_find (match_p, name, &group_idx);
else
@@ -781,7 +768,7 @@ change_section (const char *name,
|| startswith (name, ".note.gnu"))
flags |= SEC_ELF_OCTETS;
}
-
+
if (old_sec == NULL)
{
symbolS *secsym;
@@ -1151,7 +1138,7 @@ elf_set_group_name (asection *sec, const char *gname)
& SEC_ASSEMBLER_SHF_MASK);
match.flags = bfd_section_flags (sec) & SEC_ASSEMBLER_SECTION_ID;
- unsigned int *group_idx;
+ unsigned int group_idx;
if (!group_section_find (&match, sec->name, &group_idx))
group_section_insert (&match, sec, &group_idx);
}
@@ -2273,39 +2260,25 @@ elf_obj_symbol_new_hook (symbolS *symbolP)
#endif
}
-/* Deduplicate size expressions. We might get into trouble with
- multiple freeing or use after free if we leave them pointing to the
- same expressionS. */
-
+/* If size is unset, copy size from src. Because we don't track whether
+ .size has been used, we can't differentiate .size dest, 0 from the case
+ where dest's size is unset. */
void
-elf_obj_symbol_clone_hook (symbolS *newsym, symbolS *orgsym ATTRIBUTE_UNUSED)
+elf_copy_symbol_size (symbolS *dest, symbolS *src)
{
- struct elf_obj_sy *newelf = symbol_get_obj (newsym);
- if (newelf->size)
+ struct elf_obj_sy *srcelf = symbol_get_obj (src);
+ struct elf_obj_sy *destelf = symbol_get_obj (dest);
+ if (!destelf->size && S_GET_SIZE (dest) == 0)
{
- expressionS *exp = XNEW (expressionS);
- *exp = *newelf->size;
- newelf->size = exp;
+ destelf->size = srcelf->size;
+ S_SET_SIZE (dest, S_GET_SIZE (src));
}
}
void
elf_copy_symbol_attributes (symbolS *dest, symbolS *src)
{
- struct elf_obj_sy *srcelf = symbol_get_obj (src);
- struct elf_obj_sy *destelf = symbol_get_obj (dest);
- /* If size is unset, copy size from src. Because we don't track whether
- .size has been used, we can't differentiate .size dest, 0 from the case
- where dest's size is unset. */
- if (!destelf->size && S_GET_SIZE (dest) == 0)
- {
- if (srcelf->size)
- {
- destelf->size = XNEW (expressionS);
- *destelf->size = *srcelf->size;
- }
- S_SET_SIZE (dest, S_GET_SIZE (src));
- }
+ elf_copy_symbol_size (dest, src);
/* Don't copy visibility. */
S_SET_OTHER (dest, (ELF_ST_VISIBILITY (S_GET_OTHER (dest))
| (S_GET_OTHER (src) & ~ELF_ST_VISIBILITY (-1))));
@@ -2404,12 +2377,11 @@ obj_elf_size (int ignore ATTRIBUTE_UNUSED)
if (exp.X_op == O_constant)
{
S_SET_SIZE (sym, exp.X_add_number);
- xfree (symbol_get_obj (sym)->size);
symbol_get_obj (sym)->size = NULL;
}
else
{
- symbol_get_obj (sym)->size = XNEW (expressionS);
+ symbol_get_obj (sym)->size = notes_alloc (sizeof (exp));
*symbol_get_obj (sym)->size = exp;
}
@@ -2805,7 +2777,6 @@ elf_frob_symbol (symbolS *symp, int *puntp)
as_warn (_(".size expression for %s "
"does not evaluate to a constant"), S_GET_NAME (symp));
}
- free (sy_obj->size);
sy_obj->size = NULL;
}
@@ -3336,7 +3307,7 @@ const struct format_ops elf_format_ops =
#endif
elf_obj_read_begin_hook,
elf_obj_symbol_new_hook,
- elf_obj_symbol_clone_hook,
+ 0,
elf_adjust_symtab
};
diff --git a/gas/config/obj-elf.h b/gas/config/obj-elf.h
index c8b5740..1e0ac58 100644
--- a/gas/config/obj-elf.h
+++ b/gas/config/obj-elf.h
@@ -224,11 +224,7 @@ void elf_obj_symbol_new_hook (symbolS *);
#define obj_symbol_new_hook elf_obj_symbol_new_hook
#endif
-void elf_obj_symbol_clone_hook (symbolS *, symbolS *);
-#ifndef obj_symbol_clone_hook
-#define obj_symbol_clone_hook elf_obj_symbol_clone_hook
-#endif
-
+void elf_copy_symbol_size (symbolS *, symbolS *);
void elf_copy_symbol_attributes (symbolS *, symbolS *);
#ifndef OBJ_COPY_SYMBOL_ATTRIBUTES
#define OBJ_COPY_SYMBOL_ATTRIBUTES(DEST, SRC) \
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index e071ad1..13649e8 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -907,7 +907,7 @@ parse_reg (char **ccp)
p++;
while (ISALPHA (*p) || ISDIGIT (*p) || *p == '_');
- reg = (reg_entry *) str_hash_find_n (aarch64_reg_hsh, start, p - start);
+ reg = str_hash_find_n (aarch64_reg_hsh, start, p - start);
if (!reg)
return NULL;
@@ -5175,6 +5175,13 @@ encode_branch_ofs_26 (uint32_t ofs)
return ofs & ((1 << 26) - 1);
}
+/* encode the 9-bit offset of FEAT_CMPBR compare and branch */
+static inline uint32_t
+encode_cond_branch_ofs_9 (uint32_t ofs)
+{
+ return (ofs & ((1 << 9) - 1)) << 5;
+}
+
/* encode the 19-bit offset of conditional branch and compare & branch */
static inline uint32_t
encode_cond_branch_ofs_19 (uint32_t ofs)
@@ -6254,10 +6261,7 @@ typedef struct templates templates;
static templates *
lookup_mnemonic (const char *start, int len)
{
- templates *templ = NULL;
-
- templ = str_hash_find_n (aarch64_ops_hsh, start, len);
- return templ;
+ return str_hash_find_n (aarch64_ops_hsh, start, len);
}
/* Subroutine of md_assemble, responsible for looking up the primary
@@ -6388,6 +6392,8 @@ process_omitted_operand (enum aarch64_opnd type, const aarch64_opcode *opcode,
case AARCH64_OPND_UIMM3_OP2:
case AARCH64_OPND_IMM:
case AARCH64_OPND_IMM_2:
+ case AARCH64_OPND_IMMP1_2:
+ case AARCH64_OPND_IMMS1_2:
case AARCH64_OPND_WIDTH:
case AARCH64_OPND_UIMM7:
case AARCH64_OPND_NZCV:
@@ -6823,6 +6829,7 @@ parse_operands (char *str, const aarch64_opcode *opcode)
case AARCH64_OPND_SVE_Zn:
case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
+ case AARCH64_OPND_SME_Zm_17:
reg_type = REG_TYPE_Z;
goto vector_reg;
@@ -7154,6 +7161,16 @@ parse_operands (char *str, const aarch64_opcode *opcode)
info->imm.value = val;
break;
+ case AARCH64_OPND_IMMP1_2:
+ po_imm_or_fail (1, 64);
+ info->imm.value = val - 1;
+ break;
+
+ case AARCH64_OPND_IMMS1_2:
+ po_imm_or_fail (-1, 62);
+ info->imm.value = val + 1;
+ break;
+
case AARCH64_OPND_SVE_AIMM:
case AARCH64_OPND_SVE_ASIMM:
po_imm_nc_or_fail ();
@@ -7450,6 +7467,7 @@ parse_operands (char *str, const aarch64_opcode *opcode)
info->imm.value = 0;
break;
+ case AARCH64_OPND_ADDR_PCREL9:
case AARCH64_OPND_ADDR_PCREL14:
case AARCH64_OPND_ADDR_PCREL19:
case AARCH64_OPND_ADDR_PCREL21:
@@ -7487,8 +7505,11 @@ parse_operands (char *str, const aarch64_opcode *opcode)
case compbranch:
case condbranch:
/* e.g. CBZ or B.COND */
- gas_assert (operands[i] == AARCH64_OPND_ADDR_PCREL19);
- inst.reloc.type = BFD_RELOC_AARCH64_BRANCH19;
+ gas_assert (operands[i] == AARCH64_OPND_ADDR_PCREL9
+ || operands[i] == AARCH64_OPND_ADDR_PCREL19);
+ inst.reloc.type = (operands[i] == AARCH64_OPND_ADDR_PCREL9)
+ ? BFD_RELOC_AARCH64_BRANCH9
+ : BFD_RELOC_AARCH64_BRANCH19;
break;
case testbranch:
/* e.g. TBZ */
@@ -7806,8 +7827,12 @@ parse_operands (char *str, const aarch64_opcode *opcode)
info->addr.offset.imm = inst.reloc.exp.X_add_number;
break;
- case AARCH64_OPND_SVE_ADDR_R:
- /* [<Xn|SP>{, <R><m>}]
+ case AARCH64_OPND_SVE_ADDR_RR:
+ case AARCH64_OPND_SVE_ADDR_RR_LSL1:
+ case AARCH64_OPND_SVE_ADDR_RR_LSL2:
+ case AARCH64_OPND_SVE_ADDR_RR_LSL3:
+ case AARCH64_OPND_SVE_ADDR_RR_LSL4:
+ /* [<Xn|SP>{, <R><m>{, lsl #<amount>}}]
but recognizing SVE registers. */
po_misc_or_fail (parse_sve_address (&str, info, &base_qualifier,
&offset_qualifier));
@@ -7816,8 +7841,21 @@ parse_operands (char *str, const aarch64_opcode *opcode)
offset_qualifier = AARCH64_OPND_QLF_X;
info->addr.offset.is_reg = 1;
info->addr.offset.regno = 31;
+
+ /* We set the shifter amount here, but let regoff_addr assign the
+ shifter kind. */
+ if (operands[i] == AARCH64_OPND_SVE_ADDR_RR)
+ info->shifter.amount = 0;
+ else if (operands[i] == AARCH64_OPND_SVE_ADDR_RR_LSL1)
+ info->shifter.amount = 1;
+ else if (operands[i] == AARCH64_OPND_SVE_ADDR_RR_LSL2)
+ info->shifter.amount = 2;
+ else if (operands[i] == AARCH64_OPND_SVE_ADDR_RR_LSL3)
+ info->shifter.amount = 3;
+ else
+ info->shifter.amount = 4;
}
- else if (base_qualifier != AARCH64_OPND_QLF_X
+ if (base_qualifier != AARCH64_OPND_QLF_X
|| offset_qualifier != AARCH64_OPND_QLF_X)
{
set_syntax_error (_("invalid addressing mode"));
@@ -7825,11 +7863,11 @@ parse_operands (char *str, const aarch64_opcode *opcode)
}
goto regoff_addr;
- case AARCH64_OPND_SVE_ADDR_RR:
- case AARCH64_OPND_SVE_ADDR_RR_LSL1:
- case AARCH64_OPND_SVE_ADDR_RR_LSL2:
- case AARCH64_OPND_SVE_ADDR_RR_LSL3:
- case AARCH64_OPND_SVE_ADDR_RR_LSL4:
+ case AARCH64_OPND_SVE_ADDR_RM:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL1:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL2:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL3:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL4:
case AARCH64_OPND_SVE_ADDR_RX:
case AARCH64_OPND_SVE_ADDR_RX_LSL1:
case AARCH64_OPND_SVE_ADDR_RX_LSL2:
@@ -9041,12 +9079,15 @@ aarch64_handle_align (fragS * fragP)
#endif
memset (p, 0, fix);
p += fix;
+ bytes -= fix;
fragP->fr_fix += fix;
}
- if (noop_size)
- memcpy (p, aarch64_noop, noop_size);
- fragP->fr_var = noop_size;
+ if (bytes != 0)
+ {
+ fragP->fr_var = noop_size;
+ memcpy (p, aarch64_noop, noop_size);
+ }
}
/* Perform target specific initialisation of a frag.
@@ -9121,7 +9162,7 @@ aarch64_sframe_cfa_ra_offset (void)
return (offsetT) SFRAME_CFA_FIXED_RA_INVALID;
}
-/* Get the abi/arch indentifier for SFrame. */
+/* Get the abi/arch identifier for SFrame. */
unsigned char
aarch64_sframe_get_abi_arch (void)
@@ -9670,6 +9711,20 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
}
break;
+ case BFD_RELOC_AARCH64_BRANCH9:
+ if (fixP->fx_done || !seg->use_rela_p)
+ {
+ if (value & 3)
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("conditional branch target not word aligned"));
+ if (signed_overflow (value, 11))
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("conditional branch out of range"));
+ insn = get_aarch64_insn (buf);
+ insn |= encode_cond_branch_ofs_9 (value >> 2);
+ put_aarch64_insn (buf, insn);
+ }
+ break;
case BFD_RELOC_AARCH64_BRANCH19:
if (fixP->fx_done || !seg->use_rela_p)
{
@@ -10221,13 +10276,13 @@ aarch64_adjust_symtab (void)
}
static void
-checked_hash_insert (htab_t table, const char *key, void *value)
+checked_hash_insert (htab_t table, const char *key, const void *value)
{
str_hash_insert (table, key, value, 0);
}
static void
-sysreg_hash_insert (htab_t table, const char *key, void *value)
+sysreg_hash_insert (htab_t table, const char *key, const void *value)
{
gas_assert (strlen (key) < AARCH64_MAX_SYSREG_NAME_LEN);
checked_hash_insert (table, key, value);
@@ -10248,7 +10303,7 @@ fill_instruction_hash_table (void)
new_templ->next = NULL;
if (!templ)
- checked_hash_insert (aarch64_ops_hsh, opcode->name, (void *) new_templ);
+ checked_hash_insert (aarch64_ops_hsh, opcode->name, new_templ);
else
{
new_templ->next = templ->next;
@@ -10307,54 +10362,54 @@ md_begin (void)
for (i = 0; aarch64_sys_regs[i].name != NULL; ++i)
sysreg_hash_insert (aarch64_sys_regs_hsh, aarch64_sys_regs[i].name,
- (void *) (aarch64_sys_regs + i));
+ aarch64_sys_regs + i);
for (i = 0; aarch64_pstatefields[i].name != NULL; ++i)
sysreg_hash_insert (aarch64_pstatefield_hsh,
- aarch64_pstatefields[i].name,
- (void *) (aarch64_pstatefields + i));
+ aarch64_pstatefields[i].name,
+ aarch64_pstatefields + i);
for (i = 0; aarch64_sys_regs_ic[i].name != NULL; i++)
sysreg_hash_insert (aarch64_sys_regs_ic_hsh,
- aarch64_sys_regs_ic[i].name,
- (void *) (aarch64_sys_regs_ic + i));
+ aarch64_sys_regs_ic[i].name,
+ aarch64_sys_regs_ic + i);
for (i = 0; aarch64_sys_regs_dc[i].name != NULL; i++)
sysreg_hash_insert (aarch64_sys_regs_dc_hsh,
- aarch64_sys_regs_dc[i].name,
- (void *) (aarch64_sys_regs_dc + i));
+ aarch64_sys_regs_dc[i].name,
+ aarch64_sys_regs_dc + i);
for (i = 0; aarch64_sys_regs_at[i].name != NULL; i++)
sysreg_hash_insert (aarch64_sys_regs_at_hsh,
- aarch64_sys_regs_at[i].name,
- (void *) (aarch64_sys_regs_at + i));
+ aarch64_sys_regs_at[i].name,
+ aarch64_sys_regs_at + i);
for (i = 0; aarch64_sys_regs_tlbi[i].name != NULL; i++)
sysreg_hash_insert (aarch64_sys_regs_tlbi_hsh,
- aarch64_sys_regs_tlbi[i].name,
- (void *) (aarch64_sys_regs_tlbi + i));
+ aarch64_sys_regs_tlbi[i].name,
+ aarch64_sys_regs_tlbi + i);
for (i = 0; aarch64_sys_regs_sr[i].name != NULL; i++)
sysreg_hash_insert (aarch64_sys_regs_sr_hsh,
- aarch64_sys_regs_sr[i].name,
- (void *) (aarch64_sys_regs_sr + i));
+ aarch64_sys_regs_sr[i].name,
+ aarch64_sys_regs_sr + i);
for (i = 0; i < ARRAY_SIZE (reg_names); i++)
checked_hash_insert (aarch64_reg_hsh, reg_names[i].name,
- (void *) (reg_names + i));
+ reg_names + i);
for (i = 0; i < ARRAY_SIZE (nzcv_names); i++)
checked_hash_insert (aarch64_nzcv_hsh, nzcv_names[i].template,
- (void *) (nzcv_names + i));
+ nzcv_names + i);
for (i = 0; aarch64_operand_modifiers[i].name != NULL; i++)
{
const char *name = aarch64_operand_modifiers[i].name;
checked_hash_insert (aarch64_shift_hsh, name,
- (void *) (aarch64_operand_modifiers + i));
+ aarch64_operand_modifiers + i);
/* Also hash the name in the upper case. */
checked_hash_insert (aarch64_shift_hsh, get_upper_str (name),
- (void *) (aarch64_operand_modifiers + i));
+ aarch64_operand_modifiers + i);
}
for (i = 0; i < ARRAY_SIZE (aarch64_conds); i++)
@@ -10368,10 +10423,10 @@ md_begin (void)
if (name == NULL)
break;
checked_hash_insert (aarch64_cond_hsh, name,
- (void *) (aarch64_conds + i));
+ aarch64_conds + i);
/* Also hash the name in the upper case. */
checked_hash_insert (aarch64_cond_hsh, get_upper_str (name),
- (void *) (aarch64_conds + i));
+ aarch64_conds + i);
}
}
@@ -10382,20 +10437,20 @@ md_begin (void)
if ((i & 0x3) == 0)
continue;
checked_hash_insert (aarch64_barrier_opt_hsh, name,
- (void *) (aarch64_barrier_options + i));
+ aarch64_barrier_options + i);
/* Also hash the name in the upper case. */
checked_hash_insert (aarch64_barrier_opt_hsh, get_upper_str (name),
- (void *) (aarch64_barrier_options + i));
+ aarch64_barrier_options + i);
}
for (i = 0; i < ARRAY_SIZE (aarch64_barrier_dsb_nxs_options); i++)
{
const char *name = aarch64_barrier_dsb_nxs_options[i].name;
checked_hash_insert (aarch64_barrier_opt_hsh, name,
- (void *) (aarch64_barrier_dsb_nxs_options + i));
+ aarch64_barrier_dsb_nxs_options + i);
/* Also hash the name in the upper case. */
checked_hash_insert (aarch64_barrier_opt_hsh, get_upper_str (name),
- (void *) (aarch64_barrier_dsb_nxs_options + i));
+ aarch64_barrier_dsb_nxs_options + i);
}
for (i = 0; i < ARRAY_SIZE (aarch64_prfops); i++)
@@ -10405,10 +10460,10 @@ md_begin (void)
if (name == NULL)
continue;
checked_hash_insert (aarch64_pldop_hsh, name,
- (void *) (aarch64_prfops + i));
+ aarch64_prfops + i);
/* Also hash the name in the upper case. */
checked_hash_insert (aarch64_pldop_hsh, get_upper_str (name),
- (void *) (aarch64_prfops + i));
+ aarch64_prfops + i);
}
for (i = 0; aarch64_hint_options[i].name != NULL; i++)
@@ -10417,12 +10472,12 @@ md_begin (void)
const char* upper_name = get_upper_str(name);
checked_hash_insert (aarch64_hint_opt_hsh, name,
- (void *) (aarch64_hint_options + i));
+ aarch64_hint_options + i);
/* Also hash the name in the upper case if not the same. */
if (strcmp (name, upper_name) != 0)
checked_hash_insert (aarch64_hint_opt_hsh, upper_name,
- (void *) (aarch64_hint_options + i));
+ aarch64_hint_options + i);
}
/* Set the cpu variant based on the command-line options. */
@@ -10641,6 +10696,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
AARCH64_FEATURE (SIMD)},
{"fp", AARCH64_FEATURE (FP), AARCH64_NO_FEATURES},
{"lse", AARCH64_FEATURE (LSE), AARCH64_NO_FEATURES},
+ {"lsfe", AARCH64_FEATURE (LSFE), AARCH64_FEATURE (FP)},
{"lse128", AARCH64_FEATURE (LSE128), AARCH64_FEATURE (LSE)},
{"simd", AARCH64_FEATURE (SIMD), AARCH64_FEATURE (FP)},
{"pan", AARCH64_FEATURE (PAN), AARCH64_NO_FEATURES},
@@ -10650,6 +10706,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"rdm", AARCH64_FEATURE (RDMA), AARCH64_FEATURE (SIMD)},
{"fp16", AARCH64_FEATURE (F16), AARCH64_FEATURE (FP)},
{"fp16fml", AARCH64_FEATURE (F16_FML), AARCH64_FEATURE (F16)},
+ {"fprcvt", AARCH64_FEATURE (FPRCVT), AARCH64_FEATURE (FP)},
{"profile", AARCH64_FEATURE (PROFILE), AARCH64_NO_FEATURES},
{"sve", AARCH64_FEATURE (SVE), AARCH64_FEATURE (COMPNUM)},
{"tme", AARCH64_FEATURE (TME), AARCH64_NO_FEATURES},
@@ -10672,6 +10729,8 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"rng", AARCH64_FEATURE (RNG), AARCH64_NO_FEATURES},
{"ssbs", AARCH64_FEATURE (SSBS), AARCH64_NO_FEATURES},
{"memtag", AARCH64_FEATURE (MEMTAG), AARCH64_NO_FEATURES},
+ {"occmo", AARCH64_FEATURE (OCCMO), AARCH64_NO_FEATURES},
+ {"cmpbr", AARCH64_FEATURE (CMPBR), AARCH64_NO_FEATURES},
{"sve2", AARCH64_FEATURE (SVE2), AARCH64_FEATURE (SVE)},
{"sve2-sm4", AARCH64_FEATURE (SVE2_SM4),
AARCH64_FEATURES (2, SVE2, SM4)},
@@ -10708,8 +10767,12 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"ite", AARCH64_FEATURE (ITE), AARCH64_NO_FEATURES},
{"d128", AARCH64_FEATURE (D128), D128_FEATURE_DEPS},
{"sve-b16b16", AARCH64_FEATURE (SVE_B16B16), AARCH64_NO_FEATURES},
+ {"sve-bfscale", AARCH64_FEATURE (SVE_BFSCALE), AARCH64_NO_FEATURES},
{"sme2p1", AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SME2)},
{"sve2p1", AARCH64_FEATURE (SVE2p1), AARCH64_FEATURE (SVE2)},
+ {"sve-f16f32mm", AARCH64_FEATURE (SVE_F16F32MM), AARCH64_FEATURE (SVE)},
+ {"f8f32mm", AARCH64_FEATURE (F8F32MM), AARCH64_FEATURES (2, SIMD, FP8)},
+ {"f8f16mm", AARCH64_FEATURE (F8F16MM), AARCH64_FEATURES (2, SIMD, FP8)},
{"rcpc3", AARCH64_FEATURE (RCPC3), AARCH64_FEATURE (RCPC2)},
{"cpa", AARCH64_FEATURE (CPA), AARCH64_NO_FEATURES},
{"faminmax", AARCH64_FEATURE (FAMINMAX), AARCH64_FEATURE (SIMD)},
@@ -10733,6 +10796,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"sme-f16f16", AARCH64_FEATURE (SME_F16F16), AARCH64_FEATURE (SME2)},
{"sme-b16b16", AARCH64_FEATURE (SME_B16B16),
AARCH64_FEATURES (2, SVE_B16B16, SME2)},
+ {"pops", AARCH64_FEATURE (PoPS), AARCH64_NO_FEATURES},
{NULL, AARCH64_NO_FEATURES, AARCH64_NO_FEATURES},
};
@@ -10757,6 +10821,8 @@ static const struct aarch64_virtual_dependency_table aarch64_dependencies[] = {
SVE2p1_SME2p1)},
{AARCH64_FEATURE (SME), AARCH64_FEATURE (SVE2p1_SME)},
{AARCH64_FEATURE (SME2), AARCH64_FEATURE (SVE2p1_SME2)},
+ {AARCH64_FEATURE (SVE2), AARCH64_FEATURE (SVE2_SME2)},
+ {AARCH64_FEATURE (SME2), AARCH64_FEATURE (SVE2_SME2)},
{AARCH64_FEATURE (SME2p1), AARCH64_FEATURE (SVE2p1_SME2p1)},
};
@@ -10987,7 +11053,7 @@ aarch64_parse_arch (const char *str)
return aarch64_parse_features (ext, &march_cpu_opt, false);
}
- as_bad (_("unknown architecture `%s'\n"), str);
+ as_bad (_("unknown architecture `%s'"), str);
return 0;
}
@@ -11025,7 +11091,7 @@ aarch64_parse_abi (const char *str)
return 1;
}
- as_bad (_("unknown abi `%s'\n"), str);
+ as_bad (_("unknown abi `%s'"), str);
return 0;
}
@@ -11224,7 +11290,7 @@ s_aarch64_arch (int ignored ATTRIBUTE_UNUSED)
return;
}
- as_bad (_("unknown architecture `%s'\n"), name);
+ as_bad (_("unknown architecture `%s'"), name);
*input_line_pointer = saved_char;
ignore_rest_of_line ();
}
@@ -11257,34 +11323,3 @@ aarch64_copy_symbol_attributes (symbolS * dest, symbolS * src)
{
AARCH64_GET_FLAG (dest) = AARCH64_GET_FLAG (src);
}
-
-#ifdef OBJ_ELF
-/* Same as elf_copy_symbol_attributes, but without copying st_other.
- This is needed so AArch64 specific st_other values can be independently
- specified for an IFUNC resolver (that is called by the dynamic linker)
- and the symbol it resolves (aliased to the resolver). In particular,
- if a function symbol has special st_other value set via directives,
- then attaching an IFUNC resolver to that symbol should not override
- the st_other setting. Requiring the directive on the IFUNC resolver
- symbol would be unexpected and problematic in C code, where the two
- symbols appear as two independent function declarations. */
-
-void
-aarch64_elf_copy_symbol_attributes (symbolS *dest, symbolS *src)
-{
- struct elf_obj_sy *srcelf = symbol_get_obj (src);
- struct elf_obj_sy *destelf = symbol_get_obj (dest);
- /* If size is unset, copy size from src. Because we don't track whether
- .size has been used, we can't differentiate .size dest, 0 from the case
- where dest's size is unset. */
- if (!destelf->size && S_GET_SIZE (dest) == 0)
- {
- if (srcelf->size)
- {
- destelf->size = XNEW (expressionS);
- *destelf->size = *srcelf->size;
- }
- S_SET_SIZE (dest, S_GET_SIZE (src));
- }
-}
-#endif
diff --git a/gas/config/tc-aarch64.h b/gas/config/tc-aarch64.h
index acf1ce4..0d8066c 100644
--- a/gas/config/tc-aarch64.h
+++ b/gas/config/tc-aarch64.h
@@ -133,9 +133,17 @@ void aarch64_copy_symbol_attributes (symbolS *, symbolS *);
#endif
#ifdef OBJ_ELF
-void aarch64_elf_copy_symbol_attributes (symbolS *, symbolS *);
+/* Don't copy st_other.
+ This is needed so AArch64 specific st_other values can be independently
+ specified for an IFUNC resolver (that is called by the dynamic linker)
+ and the symbol it resolves (aliased to the resolver). In particular,
+ if a function symbol has special st_other value set via directives,
+ then attaching an IFUNC resolver to that symbol should not override
+ the st_other setting. Requiring the directive on the IFUNC resolver
+ symbol would be unexpected and problematic in C code, where the two
+ symbols appear as two independent function declarations. */
#define OBJ_COPY_SYMBOL_ATTRIBUTES(DEST, SRC) \
- aarch64_elf_copy_symbol_attributes (DEST, SRC)
+ elf_copy_symbol_size (DEST, SRC)
#endif
#define TC_START_LABEL(STR, NUL_CHAR, NEXT_CHAR) \
@@ -162,10 +170,6 @@ void aarch64_elf_copy_symbol_attributes (symbolS *, symbolS *);
#define TC_CONS_FIX_NEW(f,w,s,e,r) cons_fix_new_aarch64 ((f), (w), (s), (e))
-/* Max space for a rs_align_code fragment is 3 unaligned bytes
- (fr_fix) plus 4 bytes to contain the repeating NOP (fr_var). */
-#define MAX_MEM_FOR_RS_ALIGN_CODE 7
-
/* For frags in code sections we need to record whether they contain
code or data. */
struct aarch64_frag_type
@@ -183,6 +187,9 @@ struct aarch64_frag_type
#define TC_FRAG_TYPE struct aarch64_frag_type
#define TC_FRAG_INIT(fragp, max_bytes) aarch64_init_frag (fragp, max_bytes)
#define HANDLE_ALIGN(sec, fragp) aarch64_handle_align (fragp)
+/* Max space for a rs_align_code fragment is 3 unaligned bytes
+ (fr_fix) plus 4 bytes to contain the repeating NOP (fr_var). */
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
#define md_do_align(N, FILL, LEN, MAX, LABEL) \
if (FILL == NULL && (N) != 0 && ! need_pass_2 && subseg_text_p (now_seg)) \
@@ -309,7 +316,7 @@ extern bool aarch64_sframe_ra_tracking_p (void);
extern offsetT aarch64_sframe_cfa_ra_offset (void);
#define sframe_cfa_ra_offset aarch64_sframe_cfa_ra_offset
-/* The abi/arch indentifier for SFrame. */
+/* The abi/arch identifier for SFrame. */
unsigned char aarch64_sframe_get_abi_arch (void);
#define sframe_get_abi_arch aarch64_sframe_get_abi_arch
diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c
index a90ceb4..f9ca351 100644
--- a/gas/config/tc-alpha.c
+++ b/gas/config/tc-alpha.c
@@ -589,7 +589,7 @@ get_alpha_reloc_tag (long sequence)
sprintf (buffer, "!%ld", sequence);
- info = (struct alpha_reloc_tag *) str_hash_find (alpha_literal_hash, buffer);
+ info = str_hash_find (alpha_literal_hash, buffer);
if (! info)
{
size_t len = strlen (buffer);
@@ -1170,8 +1170,7 @@ assemble_tokens_to_insn (const char *opname,
const struct alpha_opcode *opcode;
/* Search opcodes. */
- opcode = (const struct alpha_opcode *) str_hash_find (alpha_opcode_hash,
- opname);
+ opcode = str_hash_find (alpha_opcode_hash, opname);
if (opcode)
{
int cpumatch;
@@ -3318,8 +3317,7 @@ assemble_tokens (const char *opname,
#endif
if (local_macros_on)
{
- macro = (const struct alpha_macro *) str_hash_find (alpha_macro_hash,
- opname);
+ macro = str_hash_find (alpha_macro_hash, opname);
if (macro)
{
found_something = 1;
@@ -3333,8 +3331,7 @@ assemble_tokens (const char *opname,
}
/* Search opcodes. */
- opcode = (const struct alpha_opcode *) str_hash_find (alpha_opcode_hash,
- opname);
+ opcode = str_hash_find (alpha_opcode_hash, opname);
if (opcode)
{
found_something = 1;
@@ -3789,7 +3786,7 @@ s_alpha_end (int dummy ATTRIBUTE_UNUSED)
if (sym && cur_frame_data)
{
OBJ_SYMFIELD_TYPE *obj = symbol_get_obj (sym);
- expressionS *exp = XNEW (expressionS);
+ expressionS *exp = notes_alloc (sizeof (*exp));
obj->size = exp;
exp->X_op = O_subtract;
@@ -5368,7 +5365,7 @@ alpha_handle_align (fragS *fragp)
0x00, 0x00, 0xfe, 0x2f
};
- int bytes, fix;
+ size_t bytes, fix;
char *p;
if (fragp->fr_type != rs_align_code)
@@ -5376,16 +5373,14 @@ alpha_handle_align (fragS *fragp)
bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
p = fragp->fr_literal + fragp->fr_fix;
- fix = 0;
- if (bytes & 3)
+ fix = bytes & 3;
+ if (fix)
{
- fix = bytes & 3;
memset (p, 0, fix);
p += fix;
bytes -= fix;
}
-
if (bytes & 4)
{
memcpy (p, unop, 4);
@@ -5393,11 +5388,13 @@ alpha_handle_align (fragS *fragp)
bytes -= 4;
fix += 4;
}
-
- memcpy (p, nopunop, 8);
-
fragp->fr_fix += fix;
- fragp->fr_var = 8;
+
+ if (bytes)
+ {
+ memcpy (p, nopunop, 8);
+ fragp->fr_var = 8;
+ }
}
/* Public interface functions. */
diff --git a/gas/config/tc-alpha.h b/gas/config/tc-alpha.h
index 466a7a0..a5144e5 100644
--- a/gas/config/tc-alpha.h
+++ b/gas/config/tc-alpha.h
@@ -111,7 +111,7 @@ extern void alpha_cons_align (int);
#define HANDLE_ALIGN(sec, fragp) alpha_handle_align (fragp)
extern void alpha_handle_align (struct frag *);
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4 + 8)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4 + 8)
#ifdef OBJ_ECOFF
#define tc_frob_file_before_adjust() alpha_frob_file_before_adjust ()
diff --git a/gas/config/tc-arc.h b/gas/config/tc-arc.h
index 727041a..145d955 100644
--- a/gas/config/tc-arc.h
+++ b/gas/config/tc-arc.h
@@ -106,7 +106,7 @@ extern const char *arc_target_format;
/* [ ] is index operator. */
#define NEED_INDEX_OPERATOR
-#define MAX_MEM_FOR_RS_ALIGN_CODE (1+2)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (1 + 2)
/* HANDLE_ALIGN called after all the assembly has been done,
so we can fill in all the rs_align_code type frags with
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 822fd3d..13afe8d 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -1377,7 +1377,7 @@ arm_reg_parse_multi (char **ccp)
p++;
while (ISALPHA (*p) || ISDIGIT (*p) || *p == '_');
- reg = (struct reg_entry *) str_hash_find_n (arm_reg_hsh, start, p - start);
+ reg = str_hash_find_n (arm_reg_hsh, start, p - start);
if (!reg)
return NULL;
@@ -2505,8 +2505,7 @@ parse_reloc (char **str)
if (*q != ')')
return -1;
- if ((r = (struct reloc_entry *)
- str_hash_find_n (arm_reloc_hsh, p, q - p)) == NULL)
+ if ((r = str_hash_find_n (arm_reloc_hsh, p, q - p)) == NULL)
return -1;
*str = q + 1;
@@ -2521,7 +2520,7 @@ insert_reg_alias (char *str, unsigned number, int type)
struct reg_entry *new_reg;
const char *name;
- if ((new_reg = (struct reg_entry *) str_hash_find (arm_reg_hsh, str)) != 0)
+ if ((new_reg = str_hash_find (arm_reg_hsh, str)) != 0)
{
if (new_reg->builtin)
as_warn (_("ignoring attempt to redefine built-in register '%s'"), str);
@@ -2591,7 +2590,7 @@ create_register_alias (char * newname, char *p)
if (*oldname == '\0')
return false;
- old = (struct reg_entry *) str_hash_find (arm_reg_hsh, oldname);
+ old = str_hash_find (arm_reg_hsh, oldname);
if (!old)
{
as_warn (_("unknown register '%s' -- .req ignored"), oldname);
@@ -2838,8 +2837,7 @@ s_unreq (int a ATTRIBUTE_UNUSED)
as_bad (_("invalid syntax for .unreq directive"));
else
{
- struct reg_entry *reg
- = (struct reg_entry *) str_hash_find (arm_reg_hsh, name);
+ struct reg_entry *reg = str_hash_find (arm_reg_hsh, name);
if (!reg)
as_bad (_("unknown register alias '%s'"), name);
@@ -2863,7 +2861,7 @@ s_unreq (int a ATTRIBUTE_UNUSED)
nbuf = strdup (name);
for (p = nbuf; *p; p++)
*p = TOUPPER (*p);
- reg = (struct reg_entry *) str_hash_find (arm_reg_hsh, nbuf);
+ reg = str_hash_find (arm_reg_hsh, nbuf);
if (reg)
{
str_hash_delete (arm_reg_hsh, nbuf);
@@ -2874,7 +2872,7 @@ s_unreq (int a ATTRIBUTE_UNUSED)
for (p = nbuf; *p; p++)
*p = TOLOWER (*p);
- reg = (struct reg_entry *) str_hash_find (arm_reg_hsh, nbuf);
+ reg = str_hash_find (arm_reg_hsh, nbuf);
if (reg)
{
str_hash_delete (arm_reg_hsh, nbuf);
@@ -3106,7 +3104,7 @@ find_real_start (symbolS * symbolP)
if (new_target == NULL)
{
- as_warn (_("Failed to find real start of function: %s\n"), name);
+ as_warn (_("Failed to find real start of function: %s"), name);
new_target = symbolP;
}
@@ -3434,7 +3432,11 @@ s_ccs_def (int name)
if (codecomposer_syntax)
s_globl (name);
else
+#ifdef OBJ_COFF
+ obj_coff_def (name);
+#else
as_bad (_(".def pseudo-op only available with -mccs flag."));
+#endif
}
/* Directives: Literal pools. */
@@ -4256,7 +4258,7 @@ s_arm_unwind_save_pseudo (int regno)
add_unwind_opcode (op, 1);
break;
default:
- as_bad (_("Unknown register no. encountered: %d\n"), regno);
+ as_bad (_("Unknown register no. encountered: %d"), regno);
}
}
@@ -5446,9 +5448,7 @@ parse_shift (char **str, int i, enum parse_shift_mode mode)
return FAIL;
}
- shift_name
- = (const struct asm_shift_name *) str_hash_find_n (arm_shift_hsh, *str,
- p - *str);
+ shift_name = str_hash_find_n (arm_shift_hsh, *str, p - *str);
if (shift_name == NULL)
{
@@ -6256,8 +6256,7 @@ parse_psr (char **str, bool lhs)
|| strncasecmp (start, "psr", 3) == 0)
p = start + strcspn (start, "rR") + 1;
- psr = (const struct asm_psr *) str_hash_find_n (arm_v7m_psr_hsh, start,
- p - start);
+ psr = str_hash_find_n (arm_v7m_psr_hsh, start, p - start);
if (!psr)
return FAIL;
@@ -6359,8 +6358,7 @@ parse_psr (char **str, bool lhs)
}
else
{
- psr = (const struct asm_psr *) str_hash_find_n (arm_psr_hsh, start,
- p - start);
+ psr = str_hash_find_n (arm_psr_hsh, start, p - start);
if (!psr)
goto error;
@@ -6557,7 +6555,7 @@ parse_cond (char **str)
n++;
}
- c = (const struct asm_cond *) str_hash_find_n (arm_cond_hsh, cond, n);
+ c = str_hash_find_n (arm_cond_hsh, cond, n);
if (!c)
{
inst.error = _("condition required");
@@ -6580,8 +6578,7 @@ parse_barrier (char **str)
while (ISALPHA (*q))
q++;
- o = (const struct asm_barrier_opt *) str_hash_find_n (arm_barrier_opt_hsh, p,
- q - p);
+ o = str_hash_find_n (arm_barrier_opt_hsh, p, q - p);
if (!o)
return FAIL;
@@ -15427,7 +15424,7 @@ do_vfp_nsyn_opcode (const char *opname)
{
const struct asm_opcode *opcode;
- opcode = (const struct asm_opcode *) str_hash_find (arm_ops_hsh, opname);
+ opcode = str_hash_find (arm_ops_hsh, opname);
if (!opcode)
abort ();
@@ -22481,8 +22478,7 @@ opcode_lookup (char **str)
*str = end;
/* Look for unaffixed or special-case affixed mnemonic. */
- opcode = (const struct asm_opcode *) str_hash_find_n (arm_ops_hsh, base,
- end - base);
+ opcode = str_hash_find_n (arm_ops_hsh, base, end - base);
cond = NULL;
if (opcode)
{
@@ -22496,7 +22492,7 @@ opcode_lookup (char **str)
if (warn_on_deprecated && unified_syntax)
as_tsktsk (_("conditional infixes are deprecated in unified syntax"));
affix = base + (opcode->tag - OT_odd_infix_0);
- cond = (const struct asm_cond *) str_hash_find_n (arm_cond_hsh, affix, 2);
+ cond = str_hash_find_n (arm_cond_hsh, affix, 2);
gas_assert (cond);
inst.cond = cond->value;
@@ -22509,9 +22505,8 @@ opcode_lookup (char **str)
if (end - base < 2)
return NULL;
affix = end - 1;
- cond = (const struct asm_cond *) str_hash_find_n (arm_vcond_hsh, affix, 1);
- opcode = (const struct asm_opcode *) str_hash_find_n (arm_ops_hsh, base,
- affix - base);
+ cond = str_hash_find_n (arm_vcond_hsh, affix, 1);
+ opcode = str_hash_find_n (arm_ops_hsh, base, affix - base);
/* A known edge case is a conflict between an 'e' as a suffix for an
Else of a VPT predication block and an 'ne' suffix for an IT block.
@@ -22543,9 +22538,8 @@ opcode_lookup (char **str)
/* Look for suffixed mnemonic. */
affix = end - 2;
- cond = (const struct asm_cond *) str_hash_find_n (arm_cond_hsh, affix, 2);
- opcode = (const struct asm_opcode *) str_hash_find_n (arm_ops_hsh, base,
- affix - base);
+ cond = str_hash_find_n (arm_cond_hsh, affix, 2);
+ opcode = str_hash_find_n (arm_ops_hsh, base, affix - base);
}
if (opcode && cond)
@@ -22594,14 +22588,13 @@ opcode_lookup (char **str)
/* Look for infixed mnemonic in the usual position. */
affix = base + 3;
- cond = (const struct asm_cond *) str_hash_find_n (arm_cond_hsh, affix, 2);
+ cond = str_hash_find_n (arm_cond_hsh, affix, 2);
if (!cond)
return NULL;
memcpy (save, affix, 2);
memmove (affix, affix + 2, (end - affix) - 2);
- opcode = (const struct asm_opcode *) str_hash_find_n (arm_ops_hsh, base,
- (end - base) - 2);
+ opcode = str_hash_find_n (arm_ops_hsh, base, (end - base) - 2);
memmove (affix + 2, affix, (end - affix) - 2);
memcpy (affix, save, 2);
@@ -26598,10 +26591,6 @@ arm_handle_align (fragS * fragP)
bytes = fragP->fr_next->fr_address - fragP->fr_address - fragP->fr_fix;
p = fragP->fr_literal + fragP->fr_fix;
- fix = 0;
-
- if (bytes > MAX_MEM_FOR_RS_ALIGN_CODE)
- bytes &= MAX_MEM_FOR_RS_ALIGN_CODE;
gas_assert ((fragP->tc_frag_data.thumb_mode & MODE_RECORDED) != 0);
@@ -26632,11 +26621,9 @@ arm_handle_align (fragS * fragP)
#endif
}
- fragP->fr_var = noop_size;
-
- if (bytes & (noop_size - 1))
+ fix = bytes & (noop_size - 1);
+ if (fix != 0)
{
- fix = bytes & (noop_size - 1);
#ifdef OBJ_ELF
insert_data_mapping_symbol (state, fragP->fr_fix, fragP, fix);
#endif
@@ -26660,45 +26647,12 @@ arm_handle_align (fragS * fragP)
noop_size = 4;
}
- while (bytes >= noop_size)
- {
- memcpy (p, noop, noop_size);
- p += noop_size;
- bytes -= noop_size;
- fix += noop_size;
- }
-
fragP->fr_fix += fix;
-}
-
-/* Called from md_do_align. Used to create an alignment
- frag in a code section. */
-
-void
-arm_frag_align_code (int n, int max)
-{
- char * p;
-
- /* We assume that there will never be a requirement
- to support alignments greater than MAX_MEM_FOR_RS_ALIGN_CODE bytes. */
- if (max > MAX_MEM_FOR_RS_ALIGN_CODE)
+ if (bytes != 0)
{
- char err_msg[128];
-
- sprintf (err_msg,
- _("alignments greater than %d bytes not supported in .text sections."),
- MAX_MEM_FOR_RS_ALIGN_CODE + 1);
- as_fatal ("%s", err_msg);
+ fragP->fr_var = noop_size;
+ memcpy (p, noop, noop_size);
}
-
- p = frag_var (rs_align_code,
- MAX_MEM_FOR_RS_ALIGN_CODE,
- 1,
- (relax_substateT) max,
- (symbolS *) NULL,
- (offsetT) n,
- (char *) NULL);
- *p = 0;
}
/* Perform target specific initialisation of a frag.
@@ -31855,7 +31809,7 @@ arm_parse_arch (const char *str)
return true;
}
- as_bad (_("unknown architecture `%s'\n"), str);
+ as_bad (_("unknown architecture `%s'"), str);
return false;
}
@@ -31871,7 +31825,7 @@ arm_parse_fpu (const char * str)
return true;
}
- as_bad (_("unknown floating point format `%s'\n"), str);
+ as_bad (_("unknown floating point format `%s'"), str);
return false;
}
@@ -31887,7 +31841,7 @@ arm_parse_float_abi (const char * str)
return true;
}
- as_bad (_("unknown floating point abi `%s'\n"), str);
+ as_bad (_("unknown floating point abi `%s'"), str);
return false;
}
@@ -31903,7 +31857,7 @@ arm_parse_eabi (const char * str)
meabi_flags = opt->value;
return true;
}
- as_bad (_("unknown EABI `%s'\n"), str);
+ as_bad (_("unknown EABI `%s'"), str);
return false;
}
#endif
@@ -32415,7 +32369,7 @@ aeabi_set_public_attributes (void)
if (arch == -1)
arch = get_aeabi_cpu_arch_from_fset (&flags_arch, &flags_ext, &profile, 0);
if (arch == -1)
- as_bad (_("no architecture contains all the instructions used\n"));
+ as_bad (_("no architecture contains all the instructions used"));
/* Tag_CPU_name. */
if (selected_cpu_name[0])
@@ -32675,7 +32629,7 @@ s_arm_arch (int ignored ATTRIBUTE_UNUSED)
return;
}
- as_bad (_("unknown architecture `%s'\n"), name);
+ as_bad (_("unknown architecture `%s'"), name);
*input_line_pointer = saved_char;
ignore_rest_of_line ();
}
@@ -32711,7 +32665,7 @@ s_arm_object_arch (int ignored ATTRIBUTE_UNUSED)
return;
}
- as_bad (_("unknown architecture `%s'\n"), name);
+ as_bad (_("unknown architecture `%s'"), name);
*input_line_pointer = saved_char;
ignore_rest_of_line ();
}
@@ -32790,8 +32744,12 @@ s_arm_arch_extension (int ignored ATTRIBUTE_UNUSED)
if (i == nb_allowed_archs)
{
- as_bad (_("architectural extension `%s' is not allowed for the "
- "current base architecture"), name);
+ if (adding_value)
+ as_bad (_("architectural extension `%s' is not allowed for the "
+ "current base architecture"), name);
+ else
+ as_tsktsk (_("disabling feature `%s' has no effect on the "
+ "current base architecture"), name);
break;
}
@@ -32813,7 +32771,7 @@ s_arm_arch_extension (int ignored ATTRIBUTE_UNUSED)
}
if (opt->name == NULL)
- as_bad (_("unknown architecture extension `%s'\n"), name);
+ as_bad (_("unknown architecture extension `%s'"), name);
*input_line_pointer = saved_char;
}
@@ -32854,7 +32812,7 @@ s_arm_fpu (int ignored ATTRIBUTE_UNUSED)
return;
}
- as_bad (_("unknown floating point format `%s'\n"), name);
+ as_bad (_("unknown floating point format `%s'"), name);
*input_line_pointer = saved_char;
ignore_rest_of_line ();
}
diff --git a/gas/config/tc-arm.h b/gas/config/tc-arm.h
index 24e2197..aa5f117 100644
--- a/gas/config/tc-arm.h
+++ b/gas/config/tc-arm.h
@@ -203,9 +203,6 @@ void arm_copy_symbol_attributes (symbolS *, symbolS *);
#define TC_CONS_FIX_NEW cons_fix_new_arm
-#define MAX_MEM_ALIGNMENT_BYTES 6
-#define MAX_MEM_FOR_RS_ALIGN_CODE ((1 << MAX_MEM_ALIGNMENT_BYTES) - 1)
-
/* For frags in code sections we need to record whether they contain
ARM code or THUMB code. This is that if they have to be aligned,
they can contain the correct type of no-op instruction. */
@@ -231,6 +228,7 @@ arm_min (int am_p1, int am_p2)
#define TC_FRAG_INIT(fragp, max_bytes) arm_init_frag (fragp, max_bytes)
#define TC_ALIGN_ZERO_IS_DEFAULT 1
#define HANDLE_ALIGN(sec, fragp) arm_handle_align (fragp)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
/* PR gas/19276: COFF/PE segment alignment is already handled in coff_frob_section(). */
#ifndef TE_PE
#define SUB_SEGMENT_ALIGN(SEG, FRCHAIN) \
@@ -238,13 +236,6 @@ arm_min (int am_p1, int am_p2)
? arm_min (2, get_recorded_alignment (SEG)) : 0)
#endif
-#define md_do_align(N, FILL, LEN, MAX, LABEL) \
- if (FILL == NULL && (N) != 0 && ! need_pass_2 && subseg_text_p (now_seg)) \
- { \
- arm_frag_align_code (N, MAX); \
- goto LABEL; \
- }
-
#define DWARF2_LINE_MIN_INSN_LENGTH 2
/* The lr register is r14. */
@@ -339,7 +330,6 @@ struct arm_segment_info_type
#define MD_PCREL_FROM_SECTION(F,S) md_pcrel_from_section(F,S)
-extern void arm_frag_align_code (int, int);
extern void arm_validate_fix (struct fix *);
extern const char * elf32_arm_target_format (void);
extern void arm_elf_change_section (void);
diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
index a7678e2..650b736 100644
--- a/gas/config/tc-avr.c
+++ b/gas/config/tc-avr.c
@@ -841,12 +841,10 @@ md_begin (void)
for (i = 0; i < ARRAY_SIZE (avr_no_sreg); ++i)
{
gas_assert (str_hash_find (avr_hash, avr_no_sreg[i]));
- str_hash_insert (avr_no_sreg_hash, avr_no_sreg[i],
- (void *) 4 /* dummy */, 0);
+ str_hash_insert_int (avr_no_sreg_hash, avr_no_sreg[i], 0 /* dummy */, 0);
}
- avr_gccisr_opcode = (struct avr_opcodes_s*) str_hash_find (avr_hash,
- "__gcc_isr");
+ avr_gccisr_opcode = str_hash_find (avr_hash, "__gcc_isr");
gas_assert (avr_gccisr_opcode);
bfd_set_arch_mach (stdoutput, TARGET_ARCH, avr_mcu->mach);
@@ -1885,7 +1883,7 @@ md_assemble (char *str)
if (!op[0])
as_bad (_("can't find opcode "));
- opcode = (struct avr_opcodes_s *) str_hash_find (avr_hash, op);
+ opcode = str_hash_find (avr_hash, op);
if (opcode && !avr_opt.all_opcodes)
{
@@ -2464,7 +2462,7 @@ avr_update_gccisr (struct avr_opcodes_s *opcode, int reg1, int reg2)
/* SREG: Look up instructions that don't clobber SREG. */
if (!avr_isr.need_sreg
- && !str_hash_find (avr_no_sreg_hash, opcode->name))
+ && str_hash_find_int (avr_no_sreg_hash, opcode->name) < 0)
{
avr_isr.need_sreg = 1;
}
@@ -2507,8 +2505,7 @@ avr_emit_insn (const char *insn, int reg, char **pwhere)
{
const int sreg = 0x3f;
unsigned bin = 0;
- const struct avr_opcodes_s *op
- = (struct avr_opcodes_s*) str_hash_find (avr_hash, insn);
+ const struct avr_opcodes_s *op = str_hash_find (avr_hash, insn);
/* We only have to deal with: IN, OUT, PUSH, POP, CLR, LDI 0, MOV R1.
All of these deal with at least one Reg and are 1-word instructions. */
diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c
index 751a861..62a7deb 100644
--- a/gas/config/tc-cr16.c
+++ b/gas/config/tc-cr16.c
@@ -329,7 +329,7 @@ get_register (char *reg_name)
{
const reg_entry *rreg;
- rreg = (const reg_entry *) str_hash_find (reg_hash, reg_name);
+ rreg = str_hash_find (reg_hash, reg_name);
if (rreg != NULL)
return rreg->value.reg_val;
@@ -350,10 +350,10 @@ get_register_pair (char *reg_name)
tmp_rp[0] = '(';
strcat (tmp_rp, reg_name);
strcat (tmp_rp,")");
- rreg = (const reg_entry *) str_hash_find (regp_hash, tmp_rp);
+ rreg = str_hash_find (regp_hash, tmp_rp);
}
else
- rreg = (const reg_entry *) str_hash_find (regp_hash, reg_name);
+ rreg = str_hash_find (regp_hash, reg_name);
if (rreg != NULL)
return rreg->value.reg_val;
@@ -368,7 +368,7 @@ get_index_register (char *reg_name)
{
const reg_entry *rreg;
- rreg = (const reg_entry *) str_hash_find (reg_hash, reg_name);
+ rreg = str_hash_find (reg_hash, reg_name);
if ((rreg != NULL)
&& ((rreg->value.reg_val == 12) || (rreg->value.reg_val == 13)))
@@ -383,7 +383,7 @@ get_index_register_pair (char *reg_name)
{
const reg_entry *rreg;
- rreg = (const reg_entry *) str_hash_find (regp_hash, reg_name);
+ rreg = str_hash_find (regp_hash, reg_name);
if (rreg != NULL)
{
@@ -404,7 +404,7 @@ get_pregister (char *preg_name)
{
const reg_entry *prreg;
- prreg = (const reg_entry *) str_hash_find (preg_hash, preg_name);
+ prreg = str_hash_find (preg_hash, preg_name);
if (prreg != NULL)
return prreg->value.preg_val;
@@ -419,7 +419,7 @@ get_pregisterp (char *preg_name)
{
const reg_entry *prreg;
- prreg = (const reg_entry *) str_hash_find (pregp_hash, preg_name);
+ prreg = str_hash_find (pregp_hash, preg_name);
if (prreg != NULL)
return prreg->value.preg_val;
@@ -2469,7 +2469,7 @@ cr16_assemble (const char *op, char *param)
ins cr16_ins;
/* Find the instruction. */
- instruction = (const inst *) str_hash_find (cr16_inst_hash, op);
+ instruction = str_hash_find (cr16_inst_hash, op);
if (instruction == NULL)
{
as_bad (_("Unknown opcode: `%s'"), op);
@@ -2539,7 +2539,7 @@ md_assemble (char *op)
{
strcpy (param1, param);
/* Find the instruction. */
- instruction = (const inst *) str_hash_find (cr16_inst_hash, op);
+ instruction = str_hash_find (cr16_inst_hash, op);
parse_operands (&cr16_ins, param1);
if (((&cr16_ins)->arg[0].type == arg_ic)
&& ((&cr16_ins)->arg[0].constant >= 0))
diff --git a/gas/config/tc-cris.c b/gas/config/tc-cris.c
index 2204869..5780386 100644
--- a/gas/config/tc-cris.c
+++ b/gas/config/tc-cris.c
@@ -1552,7 +1552,7 @@ cris_process_instruction (char *insn_text, struct cris_instruction *out_insnp,
}
/* Find the instruction. */
- instruction = (struct cris_opcode *) str_hash_find (op_hash, insn_text);
+ instruction = str_hash_find (op_hash, insn_text);
if (instruction == NULL)
{
as_bad (_("Unknown opcode: `%s'"), insn_text);
@@ -4039,9 +4039,8 @@ void
md_apply_fix (fixS *fixP, valueT *valP, segT seg)
{
/* This assignment truncates upper bits if valueT is 64 bits (as with
- --enable-64-bit-bfd), which is fine here, though we cast to avoid
- any compiler warnings. */
- long val = (long) *valP;
+ --enable-64-bit-bfd), which is fine here. */
+ long val = *valP;
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
if (fixP->fx_addsy == 0 && !fixP->fx_pcrel)
diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c
index f62424b..fffd3f1 100644
--- a/gas/config/tc-crx.c
+++ b/gas/config/tc-crx.c
@@ -184,7 +184,7 @@ get_register (char *reg_name)
{
const reg_entry *rreg;
- rreg = (const reg_entry *) str_hash_find (reg_hash, reg_name);
+ rreg = str_hash_find (reg_hash, reg_name);
if (rreg != NULL)
return rreg->value.reg_val;
@@ -199,7 +199,7 @@ get_copregister (char *copreg_name)
{
const reg_entry *coreg;
- coreg = (const reg_entry *) str_hash_find (copreg_hash, copreg_name);
+ coreg = str_hash_find (copreg_hash, copreg_name);
if (coreg != NULL)
return coreg->value.copreg_val;
@@ -1933,7 +1933,7 @@ md_assemble (char *op)
*param++ = '\0';
/* Find the instruction. */
- instruction = (const inst *) str_hash_find (crx_inst_hash, op);
+ instruction = str_hash_find (crx_inst_hash, op);
if (instruction == NULL)
{
as_bad (_("Unknown opcode: `%s'"), op);
diff --git a/gas/config/tc-csky.c b/gas/config/tc-csky.c
index 81f1b75..beb46fa 100644
--- a/gas/config/tc-csky.c
+++ b/gas/config/tc-csky.c
@@ -632,102 +632,120 @@ struct csky_cpu_info
#define CSKY_FEATURES_DEF_NULL() \
- {{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_e(isa_e) \
{FEATURE_DSP_EXT(isa_e), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_t(isa_t) \
{FEATURE_TRUST(isa_t), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_f(isa_f) \
{FEATURE_FLOAT(isa_f), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_v(isa_v) \
{FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_ef(isa_e, isa_f) \
{FEATURE_DSP_EXT(isa_e), \
FEATURE_FLOAT(isa_f), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_jt(isa_j, isa_t) \
{FEATURE_JAVA(isa_j), \
FEATURE_TRUST(isa_t), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_efht(isa_e, isa_f, isa_h, isa_t) \
{FEATURE_DSP_EXT(isa_e), \
FEATURE_FLOAT(isa_f), \
FEATURE_SHIELD(isa_h), \
FEATURE_TRUST(isa_t), \
- {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_efv(isa_e, isa_f, isa_v) \
{FEATURE_DSP_EXT(isa_e), \
FEATURE_FLOAT(isa_f), \
FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_eft(isa_e, isa_f, isa_t) \
{FEATURE_DSP_EXT(isa_e), \
FEATURE_FLOAT(isa_f), \
FEATURE_TRUST(isa_t), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_d(isa_d) \
- {FEATURE_DSP(isa_d), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {FEATURE_DSP(isa_d), \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_df(isa_d, isa_f) \
- {FEATURE_DSP(isa_d), \
- FEATURE_FLOAT(isa_f), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {FEATURE_DSP(isa_d), \
+ FEATURE_FLOAT(isa_f), \
+ {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_ft(isa_f, isa_t) \
{FEATURE_FLOAT(isa_f), \
FEATURE_TRUST(isa_t), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_tv(isa_t, isa_v) \
{FEATURE_TRUST(isa_t), \
FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_fv(isa_f, isa_v) \
{FEATURE_FLOAT(isa_f), \
FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
-
+ {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_dft(isa_d, isa_f, isa_t) \
{FEATURE_DSP(isa_d), \
FEATURE_FLOAT(isa_f), \
FEATURE_TRUST(isa_t), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_dfv(isa_d, isa_f, isa_v) \
{FEATURE_DSP(isa_d), \
FEATURE_FLOAT(isa_f), \
FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_ftv(isa_f, isa_t, isa_v) \
{FEATURE_FLOAT(isa_f), \
FEATURE_TRUST(isa_t), \
FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_FEATURES_DEF_eftv(isa_e, isa_f, isa_t, isa_v) \
{FEATURE_DSP_EXT(isa_e), \
FEATURE_FLOAT(isa_f), \
FEATURE_TRUST(isa_t), \
FEATURE_VDSP(isa_v), \
- {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_CPU_REVERISON_r0p0(isa) \
@@ -740,13 +758,15 @@ struct csky_cpu_info
{3, 0, isa}
#define CSKY_CPU_REVERISON_RESERVED() \
-{{0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
#define CSKY_CPU_REVERISON_R3(isa1, isa2, isa3) \
{CSKY_CPU_REVERISON_r1p0(isa1), \
CSKY_CPU_REVERISON_r2p0(isa2), \
CSKY_CPU_REVERISON_r3p0(isa3), \
- {0}, {0}, {0}, {0}, {0}, {0}, {0}}
+ {0,0,0}, {0,0,0}, \
+ {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}
/* CSKY cpus table. */
const struct csky_cpu_info csky_cpus[] =
@@ -936,7 +956,11 @@ const struct csky_cpu_info csky_cpus[] =
/* Start of private CPUs. */
/* End of private CPUs. */
- {NULL},
+ {NULL,
+ 0,
+ 0,
+ CSKY_FEATURES_DEF_NULL(),
+ CSKY_CPU_REVERISON_RESERVED()}
};
int md_short_jump_size = 2;
@@ -3386,10 +3410,8 @@ parse_opcode (char *str)
csky_insn.number = csky_count_operands (opcode_end);
/* Find hash by name in csky_macros_hash and csky_opcodes_hash. */
- csky_insn.macro = (struct csky_macro_info *) str_hash_find (csky_macros_hash,
- macro_name);
- csky_insn.opcode = (struct csky_opcode *) str_hash_find (csky_opcodes_hash,
- name);
+ csky_insn.macro = str_hash_find (csky_macros_hash, macro_name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
if (csky_insn.macro == NULL && csky_insn.opcode == NULL)
return false;
@@ -3614,8 +3636,7 @@ get_operand_value (struct csky_opcode_info *op,
if (val <= 6)
{
const char *name = "movi";
- csky_insn.opcode = (struct csky_opcode *)
- str_hash_find (csky_opcodes_hash, name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
csky_insn.val[csky_insn.idx - 1] = 1 << val;
}
return true;
@@ -3648,8 +3669,7 @@ get_operand_value (struct csky_opcode_info *op,
if (log <= 6)
{
const char *name = "movi";
- csky_insn.opcode = (struct csky_opcode *)
- str_hash_find (csky_opcodes_hash, name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
as_warn (_("translating mgeni to movi"));
}
else
@@ -3686,8 +3706,7 @@ get_operand_value (struct csky_opcode_info *op,
if (mask_val > 0 && mask_val < 8)
{
const char *op_movi = "movi";
- csky_insn.opcode = (struct csky_opcode *)
- str_hash_find (csky_opcodes_hash, op_movi);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, op_movi);
if (csky_insn.opcode == NULL)
return false;
csky_insn.val[csky_insn.idx - 1] = (1 << mask_val) - 1;
@@ -3747,8 +3766,7 @@ get_operand_value (struct csky_opcode_info *op,
if (mask_val > 0 && mask_val < 16)
{
const char *op_movi = "movi";
- csky_insn.opcode = (struct csky_opcode *)
- str_hash_find (csky_opcodes_hash, op_movi);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, op_movi);
if (csky_insn.opcode == NULL)
return false;
csky_insn.val[csky_insn.idx - 1] = (1 << (mask_val + 1)) - 1;
@@ -6475,8 +6493,7 @@ v1_work_jbsr (void)
{
/* Using jsri instruction. */
const char *name = "jsri";
- csky_insn.opcode = (struct csky_opcode *)
- str_hash_find (csky_opcodes_hash, name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
csky_insn.opcode_idx = 0;
csky_insn.isize = 2;
@@ -6823,8 +6840,7 @@ bool
v2_work_rotlc (void)
{
const char *name = "addc";
- csky_insn.opcode
- = (struct csky_opcode *) str_hash_find (csky_opcodes_hash, name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
csky_insn.opcode_idx = 0;
if (csky_insn.isize == 2)
{
@@ -6861,8 +6877,7 @@ v2_work_bgeni (void)
name = "movih";
val >>= 16;
}
- csky_insn.opcode
- = (struct csky_opcode *) str_hash_find (csky_opcodes_hash, name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
csky_insn.opcode_idx = 0;
csky_insn.val[1] = val;
@@ -6879,8 +6894,7 @@ bool
v2_work_not (void)
{
const char *name = "nor";
- csky_insn.opcode
- = (struct csky_opcode *) str_hash_find (csky_opcodes_hash, name);
+ csky_insn.opcode = str_hash_find (csky_opcodes_hash, name);
csky_insn.opcode_idx = 0;
if (csky_insn.number == 1)
{
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index dd0292a..b10cdff 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1428,7 +1428,7 @@ do_assemble (char *str, struct d10v_opcode **opcode)
return -1;
/* Find the first opcode with the proper name. */
- *opcode = (struct d10v_opcode *) str_hash_find (d10v_hash, name);
+ *opcode = str_hash_find (d10v_hash, name);
if (*opcode == NULL)
return -1;
@@ -1556,8 +1556,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
{
struct d10v_opcode *rep, *repi;
- rep = (struct d10v_opcode *) str_hash_find (d10v_hash, "rep");
- repi = (struct d10v_opcode *) str_hash_find (d10v_hash, "repi");
+ rep = str_hash_find (d10v_hash, "rep");
+ repi = str_hash_find (d10v_hash, "repi");
if ((insn & FM11) == FM11
&& ((repi != NULL
&& (insn & repi->mask) == (unsigned) repi->opcode)
diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c
index c3c58d1..76827d5 100644
--- a/gas/config/tc-d30v.c
+++ b/gas/config/tc-d30v.c
@@ -1387,7 +1387,7 @@ do_assemble (char *str,
}
/* Find the first opcode with the proper name. */
- opcode->op = (struct d30v_opcode *) str_hash_find (d30v_hash, name);
+ opcode->op = str_hash_find (d30v_hash, name);
if (opcode->op == NULL)
{
as_bad (_("unknown opcode: %s"), name);
diff --git a/gas/config/tc-dlx.c b/gas/config/tc-dlx.c
index 8d830fe..abb283d 100644
--- a/gas/config/tc-dlx.c
+++ b/gas/config/tc-dlx.c
@@ -683,7 +683,7 @@ machine_ip (char *str)
}
/* Hash the opcode, insn will have the string from opcode table. */
- if ((insn = (struct machine_opcode *) str_hash_find (op_hash, str)) == NULL)
+ if ((insn = str_hash_find (op_hash, str)) == NULL)
{
/* Handle the ret and return macro here. */
if ((strcmp (str, "ret") == 0) || (strcmp (str, "return") == 0))
diff --git a/gas/config/tc-epiphany.c b/gas/config/tc-epiphany.c
index c8947c8..4a027e9 100644
--- a/gas/config/tc-epiphany.c
+++ b/gas/config/tc-epiphany.c
@@ -314,7 +314,7 @@ static const unsigned char nop_pattern[] = { 0xa2, 0x01 };
void
epiphany_handle_align (fragS *fragp)
{
- int bytes, fix;
+ int bytes;
char *p;
if (fragp->fr_type != rs_align_code)
@@ -322,23 +322,19 @@ epiphany_handle_align (fragS *fragp)
bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
p = fragp->fr_literal + fragp->fr_fix;
- fix = 0;
if (bytes & 1)
{
- fix = 1;
*p++ = 0;
bytes--;
+ fragp->fr_fix++;
}
- if (bytes & 2)
+ if (bytes != 0)
{
+ fragp->fr_var = 2;
memcpy (p, nop_pattern, 2);
- p += 2;
- bytes -= 2;
- fix += 2;
}
- fragp->fr_fix += fix;
}
/* Read a comma separated incrementing list of register names
diff --git a/gas/config/tc-epiphany.h b/gas/config/tc-epiphany.h
index dde6733..78adcd6 100644
--- a/gas/config/tc-epiphany.h
+++ b/gas/config/tc-epiphany.h
@@ -74,6 +74,7 @@ extern int epiphany_cgen_parse_fix_exp (int, expressionS *);
#define HANDLE_ALIGN(s, f) epiphany_handle_align (f)
extern void epiphany_handle_align (fragS *);
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (1 + 2)
#define TARGET_FORMAT "elf32-epiphany"
diff --git a/gas/config/tc-frv.h b/gas/config/tc-frv.h
index 21e3bac..609ed6f 100644
--- a/gas/config/tc-frv.h
+++ b/gas/config/tc-frv.h
@@ -98,7 +98,7 @@ extern void frv_frob_file (void);
code actually happens to run, but this is probably too much effort
for little gain. This code is not meant to be run anyway, so just
emit nops. */
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
#define HANDLE_ALIGN(SEC, FRAGP) do \
if ((FRAGP)->fr_type == rs_align_code) \
{ \
diff --git a/gas/config/tc-ft32.c b/gas/config/tc-ft32.c
index 50958d5..83d3e1f 100644
--- a/gas/config/tc-ft32.c
+++ b/gas/config/tc-ft32.c
@@ -230,7 +230,7 @@ md_assemble (char *str)
if (nlen == 0)
as_bad (_("can't find opcode "));
- opcode = (ft32_opc_info_t *) str_hash_find (opcode_hash_control, op_start);
+ opcode = str_hash_find (opcode_hash_control, op_start);
*op_end = pend;
if (opcode == NULL)
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c
index eeee4c8..12456b2 100644
--- a/gas/config/tc-h8300.c
+++ b/gas/config/tc-h8300.c
@@ -1937,8 +1937,7 @@ md_assemble (char *str)
while (*++slash)
*slash = TOLOWER (*slash);
- instruction = (const struct h8_instruction *)
- str_hash_find (opcode_hash_control, op_start);
+ instruction = str_hash_find (opcode_hash_control, op_start);
if (instruction == NULL)
{
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index c2a981e..5018dfc 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -3210,7 +3210,7 @@ pa_ip (char *str)
}
/* Look up the opcode in the hash table. */
- if ((insn = (struct pa_opcode *) str_hash_find (op_hash, str)) == NULL)
+ if ((insn = str_hash_find (op_hash, str)) == NULL)
{
as_bad (_("Unknown opcode: `%s'"), str);
return;
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 2c61353..b0a22bb 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -678,9 +678,13 @@ static int use_big_obj = 0;
/* 1 if generating code for a shared library. */
static int shared = 0;
-unsigned int x86_sframe_cfa_sp_reg;
+const unsigned int x86_sframe_cfa_sp_reg = REG_SP;
/* The other CFA base register for SFrame stack trace info. */
-unsigned int x86_sframe_cfa_fp_reg;
+const unsigned int x86_sframe_cfa_fp_reg = REG_FP;
+/* The return address register for SFrame stack trace info. For AMD64, RA
+ tracking is not needed, but some directives like .cfi_undefined may use
+ RA to indicate the outermost frame. */
+const unsigned int x86_sframe_cfa_ra_reg = REG_RA;
static ginsnS *x86_ginsn_new (const symbolS *, enum ginsn_gen_mode);
#endif
@@ -1544,40 +1548,6 @@ static const unsigned char *const alt64_patt[] = {
alt64_9, alt64_10, alt64_11,alt64_12, alt64_13, alt64_14, alt64_15
};
-/* Genenerate COUNT bytes of NOPs to WHERE from PATT with the maximum
- size of a single NOP instruction MAX_SINGLE_NOP_SIZE. */
-
-static void
-i386_output_nops (char *where, const unsigned char *const *patt,
- int count, int max_single_nop_size)
-
-{
- /* Place the longer NOP first. */
- int last;
- int offset;
- const unsigned char *nops;
-
- if (max_single_nop_size < 1)
- {
- as_fatal (_("i386_output_nops called to generate nops of at most %d bytes!"),
- max_single_nop_size);
- return;
- }
-
- nops = patt[max_single_nop_size - 1];
- last = count % max_single_nop_size;
-
- count -= last;
- for (offset = 0; offset < count; offset += max_single_nop_size)
- memcpy (where + offset, nops, max_single_nop_size);
-
- if (last)
- {
- nops = patt[last - 1];
- memcpy (where + offset, nops, last);
- }
-}
-
static INLINE int
fits_in_imm7 (offsetT num)
{
@@ -1733,20 +1703,14 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
if (limit == 0)
limit = max_single_nop_size;
- if (fragP->fr_type == rs_fill_nop)
+ if (limit > max_single_nop_size || limit < 1)
{
- /* Output NOPs for .nop directive. */
- if (limit > max_single_nop_size)
- {
- as_bad_where (fragP->fr_file, fragP->fr_line,
- _("invalid single nop size: %d "
- "(expect within [0, %d])"),
- limit, max_single_nop_size);
- return;
- }
+ as_bad_where (fragP->fr_file, fragP->fr_line,
+ _("invalid single nop size: %d "
+ "(expect within [0, %d])"),
+ limit, max_single_nop_size);
+ return;
}
- else if (fragP->fr_type != rs_machine_dependent)
- fragP->fr_var = count;
/* Emit a plain NOP first when the last thing we saw may not have been
a proper instruction (e.g. a stand-alone prefix or .byte). */
@@ -1797,8 +1761,34 @@ i386_generate_nops (fragS *fragP, char *where, offsetT count, int limit)
}
}
- /* Generate multiple NOPs. */
- i386_output_nops (where, patt, count, limit);
+ int non_repeat = count % limit;
+ if (non_repeat)
+ {
+ memcpy (where, patt[non_repeat - 1], non_repeat);
+ where += non_repeat;
+ count -= non_repeat;
+ }
+
+ if (fragP->fr_type != rs_machine_dependent)
+ {
+ /* Set up the frag so that everything we have emitted so far is
+ included in fr_fix. The repeating larger nop only needs to
+ be written once to the frag memory. */
+ fragP->fr_fix = where - fragP->fr_literal;
+ if (count != 0)
+ {
+ fragP->fr_var = limit;
+ count = limit;
+ }
+ }
+
+ const unsigned char *nops = patt[limit - 1];
+ while (count)
+ {
+ memcpy (where, nops, limit);
+ where += limit;
+ count -= limit;
+ }
}
static INLINE int
@@ -2497,8 +2487,8 @@ operand_type_check (i386_operand_type t, enum operand_type c)
return 0;
}
-/* Return 1 if there is no conflict in 8bit/16bit/32bit/64bit/80bit size
- between operand GIVEN and opeand WANTED for instruction template T. */
+/* Return 1 if there is no conflict in 8bit/16bit/32bit/64bit size
+ between operand GIVEN and operand WANTED for instruction template T. */
static INLINE int
match_operand_size (const insn_template *t, unsigned int wanted,
@@ -2518,14 +2508,22 @@ match_operand_size (const insn_template *t, unsigned int wanted,
|| (intel_syntax
&& flag_code != CODE_64BIT
&& (t->operand_types[wanted].bitfield.class == Reg
- || t->operand_types[wanted].bitfield.class == Accum
- || t->opcode_modifier.isstring))))
- || (i.types[given].bitfield.tbyte
- && !t->operand_types[wanted].bitfield.tbyte));
+ || t->opcode_modifier.isstring)))));
+}
+
+/* Return 1 if there is no conflict in 80bit size
+ between operand GIVEN and operand WANTED for instruction template T. */
+
+static INLINE int
+match_fp_size (const insn_template *t, unsigned int wanted,
+ unsigned int given)
+{
+ return !i.types[given].bitfield.tbyte
+ || t->operand_types[wanted].bitfield.tbyte;
}
/* Return 1 if there is no conflict in SIMD register between operand
- GIVEN and opeand WANTED for instruction template T. */
+ GIVEN and operand WANTED for instruction template T. */
static INLINE int
match_simd_size (const insn_template *t, unsigned int wanted,
@@ -2542,13 +2540,15 @@ match_simd_size (const insn_template *t, unsigned int wanted,
}
/* Return 1 if there is no conflict in any size between operand GIVEN
- and opeand WANTED for instruction template T. */
+ and operand WANTED for instruction template T. */
static INLINE int
match_mem_size (const insn_template *t, unsigned int wanted,
unsigned int given)
{
return (match_operand_size (t, wanted, given)
+ && (!i.types[given].bitfield.tbyte
+ || t->operand_types[wanted].bitfield.tbyte)
&& !((i.types[given].bitfield.unspecified
&& !i.broadcast.type
&& !i.broadcast.bytes
@@ -2589,49 +2589,61 @@ operand_size_match (const insn_template *t)
&& t->opcode_modifier.jump != JUMP_ABSOLUTE)
return match;
- /* Check memory and accumulator operand size. */
- for (j = 0; j < i.operands; j++)
- {
- /* Instruction templates with only sign-extended 8-bit immediate
- operand also have a second template with full-operand-size
- immediate operand under a different opcode. Don't match the
- first template if sign-extended 8-bit immediate operand should
- be excluded. */
- if (pp.no_imm8s
- && !t->operand_types[j].bitfield.imm8
- && t->operand_types[j].bitfield.imm8s)
- {
- match = 0;
- break;
- }
-
- if (i.types[j].bitfield.class != Reg
- && i.types[j].bitfield.class != RegSIMD
- && t->opcode_modifier.operandconstraint == ANY_SIZE)
- continue;
+ for (j = 0; j < i.imm_operands; j++)
+ /* Instruction templates with only sign-extended 8-bit immediate
+ operand also have a second template with full-operand-size
+ immediate operand under a different opcode. Don't match the
+ first template if sign-extended 8-bit immediate operand should
+ be excluded. */
+ if (pp.no_imm8s
+ && !t->operand_types[j].bitfield.imm8
+ && t->operand_types[j].bitfield.imm8s)
+ {
+ gas_assert (!t->opcode_modifier.d);
+ return 0;
+ }
- if (t->operand_types[j].bitfield.class == Reg
+ /* Check memory and accumulator operand size. */
+ for (; j < i.operands; j++)
+ {
+ if (i.types[j].bitfield.class == Reg
+ && (t->operand_types[j].bitfield.class == Reg
+ || (t->operand_types[j].bitfield.instance == Accum
+ && (t->operand_types[j].bitfield.byte
+ || t->operand_types[j].bitfield.word
+ || t->operand_types[j].bitfield.dword
+ || t->operand_types[j].bitfield.qword)))
&& !match_operand_size (t, j, j))
{
match = 0;
break;
}
- if (t->operand_types[j].bitfield.class == RegSIMD
- && !match_simd_size (t, j, j))
+ if (i.types[j].bitfield.class == RegFP
+ && (t->operand_types[j].bitfield.class == RegFP
+ || (t->operand_types[j].bitfield.instance == Accum
+ && t->operand_types[j].bitfield.tbyte))
+ && !match_fp_size (t, j, j))
{
match = 0;
break;
}
- if (t->operand_types[j].bitfield.instance == Accum
- && (!match_operand_size (t, j, j) || !match_simd_size (t, j, j)))
+ if (i.types[j].bitfield.class == RegSIMD
+ && (t->operand_types[j].bitfield.class == RegSIMD
+ || (t->operand_types[j].bitfield.instance == Accum
+ /* Note: %ymm0, %zmm0, and %tmm0 aren't marked Accum. */
+ && t->operand_types[j].bitfield.xmmword))
+ && !match_simd_size (t, j, j))
{
match = 0;
break;
}
- if ((i.flags[j] & Operand_Mem) && !match_mem_size (t, j, j))
+ if ((i.flags[j] & Operand_Mem)
+ && operand_type_check (t->operand_types[j], anymem)
+ && t->opcode_modifier.operandconstraint != ANY_SIZE
+ && !match_mem_size (t, j, j))
{
match = 0;
break;
@@ -2644,7 +2656,7 @@ operand_size_match (const insn_template *t)
/* Check reverse. */
gas_assert (i.operands >= 2);
- for (j = 0; j < i.operands; j++)
+ for (j = i.imm_operands; j < i.operands; j++)
{
unsigned int given = i.operands - j - 1;
@@ -2655,20 +2667,34 @@ operand_size_match (const insn_template *t)
|| is_cpu (t, CpuAPX_F))
given = j < 2 ? 1 - j : j;
- if (t->operand_types[j].bitfield.class == Reg
+ if (i.types[given].bitfield.class == Reg
+ && (t->operand_types[j].bitfield.class == Reg
+ || (t->operand_types[j].bitfield.instance == Accum
+ && (t->operand_types[j].bitfield.byte
+ || t->operand_types[j].bitfield.word
+ || t->operand_types[j].bitfield.dword
+ || t->operand_types[j].bitfield.qword
+ || t->operand_types[j].bitfield.tbyte)))
&& !match_operand_size (t, j, given))
return match;
- if (t->operand_types[j].bitfield.class == RegSIMD
- && !match_simd_size (t, j, given))
+ if (i.types[given].bitfield.class == RegFP
+ && (t->operand_types[j].bitfield.class == RegFP
+ || (t->operand_types[j].bitfield.instance == Accum
+ && t->operand_types[j].bitfield.tbyte))
+ && !match_fp_size (t, j, given))
return match;
- if (t->operand_types[j].bitfield.instance == Accum
- && (!match_operand_size (t, j, given)
- || !match_simd_size (t, j, given)))
+ /* No need to check for Accum here: There are no such templates with D
+ set. */
+ if (i.types[given].bitfield.class == RegSIMD
+ && t->operand_types[j].bitfield.class == RegSIMD
+ && !match_simd_size (t, j, given))
return match;
- if ((i.flags[given] & Operand_Mem) && !match_mem_size (t, j, given))
+ if ((i.flags[given] & Operand_Mem)
+ && operand_type_check (t->operand_types[j], anymem)
+ && !match_mem_size (t, j, given))
return match;
}
@@ -2695,6 +2721,23 @@ operand_type_match (i386_operand_type overlap,
if (operand_type_all_zero (&temp))
goto mismatch;
+ /* When a (register) instance is expected, operand size needs checking
+ to disambiguate. */
+ if (overlap.bitfield.instance != InstanceNone
+ && !overlap.bitfield.byte
+ && !overlap.bitfield.word
+ && !overlap.bitfield.dword
+ && !overlap.bitfield.qword
+ && !overlap.bitfield.tbyte
+ && !overlap.bitfield.xmmword
+ && !overlap.bitfield.ymmword
+ && !overlap.bitfield.zmmword
+ && !overlap.bitfield.tmmword)
+ {
+ gas_assert (overlap.bitfield.class == ClassNone);
+ goto mismatch;
+ }
+
if (given.bitfield.baseindex == overlap.bitfield.baseindex)
return 1;
@@ -2934,7 +2977,7 @@ offset_in_range (offsetT val, int size)
default: abort ();
}
- if ((val & ~mask) != 0 && (-val & ~mask) != 0)
+ if ((val & ~mask) != 0 && (-(addressT) val & ~mask) != 0)
as_warn (_("0x%" PRIx64 " shortened to 0x%" PRIx64),
(uint64_t) val, (uint64_t) (val & mask));
@@ -3577,14 +3620,14 @@ md_begin (void)
if (regtab->reg_type.bitfield.instance == Accum)
reg_eax = regtab;
}
- else if (regtab->reg_type.bitfield.tbyte)
- {
- /* There's no point inserting st(<N>) in the hash table, as
- parentheses aren't included in register_chars[] anyway. */
- if (regtab->reg_type.bitfield.instance != Accum)
- continue;
- reg_st0 = regtab;
- }
+ break;
+
+ case RegFP:
+ /* There's no point inserting st(<N>) in the hash table, as
+ parentheses aren't included in register_chars[] anyway. */
+ if (regtab->reg_type.bitfield.instance != Accum)
+ continue;
+ reg_st0 = regtab;
break;
case SReg:
@@ -3650,13 +3693,9 @@ md_begin (void)
#if defined (OBJ_COFF) && defined (TE_PE)
x86_dwarf2_return_column = 32;
#else
- x86_dwarf2_return_column = 16;
+ x86_dwarf2_return_column = REG_RA;
#endif
x86_cie_data_alignment = -8;
-#ifdef OBJ_ELF
- x86_sframe_cfa_sp_reg = REG_SP;
- x86_sframe_cfa_fp_reg = REG_FP;
-#endif
}
else
{
@@ -3719,6 +3758,7 @@ pi (const char *line, i386_insn *x)
pt (x->types[j]);
fprintf (stdout, "\n");
if (x->types[j].bitfield.class == Reg
+ || x->types[j].bitfield.class == RegFP
|| x->types[j].bitfield.class == RegMMX
|| x->types[j].bitfield.class == RegSIMD
|| x->types[j].bitfield.class == RegMask
@@ -3827,7 +3867,7 @@ const type_names[] =
{ { .bitfield = { .class = RegCR } }, "control reg" },
{ { .bitfield = { .class = RegTR } }, "test reg" },
{ { .bitfield = { .class = RegDR } }, "debug reg" },
- { { .bitfield = { .class = Reg, .tbyte = 1 } }, "FReg" },
+ { { .bitfield = { .class = RegFP, .tbyte = 1 } }, "FReg" },
{ { .bitfield = { .instance = Accum, .tbyte = 1 } }, "FAcc" },
{ { .bitfield = { .class = SReg } }, "SReg" },
{ { .bitfield = { .class = RegMMX } }, "rMMX" },
@@ -7090,12 +7130,14 @@ i386_assemble (char *line)
swap_operands ();
/* The order of the immediates should be reversed for 2-immediates EXTRQ
- and INSERTQ instructions. Also UWRMSR wants its immediate to be in the
- "canonical" place (first), despite it appearing last (in AT&T syntax, or
- because of the swapping above) in the incoming set of operands. */
+ and INSERTQ instructions. Also OUT, UWRMSR, and WRMSRNS want their
+ immediate to be in the "canonical" place (first), despite it appearing
+ last (in AT&T syntax, or because of the swapping above) in the incoming
+ set of operands. */
if ((i.imm_operands == 2
&& (t->mnem_off == MN_extrq || t->mnem_off == MN_insertq))
- || ((t->mnem_off == MN_uwrmsr || t->mnem_off == MN_wrmsrns)
+ || ((t->mnem_off == MN_out || t->mnem_off == MN_uwrmsr
+ || t->mnem_off == MN_wrmsrns)
&& i.imm_operands && i.operands > i.imm_operands))
swap_2_operands (0, 1);
@@ -7110,11 +7152,8 @@ i386_assemble (char *line)
|| t->mnem_off == MN_rdmsr
|| t->mnem_off == MN_wrmsrns)
{
- for (j = 0; j < i.operands; j++)
- {
- if (operand_type_check(i.types[j], imm))
- i.types[j] = smallest_imm_type (i.op[j].imms->X_add_number);
- }
+ for (j = 0; j < i.imm_operands; j++)
+ i.types[j] = smallest_imm_type (i.op[j].imms->X_add_number);
}
else
optimize_imm ();
@@ -7454,6 +7493,8 @@ i386_assemble (char *line)
/* Update operand types and check extended states. */
for (j = 0; j < i.operands; j++)
{
+ enum operand_class class = i.types[j].bitfield.class;
+
i.types[j] = operand_type_and (i.types[j], i.tm.operand_types[j]);
switch (i.tm.operand_types[j].bitfield.class)
{
@@ -7478,6 +7519,9 @@ i386_assemble (char *line)
else if (i.tm.operand_types[j].bitfield.xmmword)
i.xstate |= xstate_xmm;
break;
+ case ClassNone:
+ i.types[j].bitfield.class = class;
+ break;
}
}
@@ -8428,7 +8472,7 @@ optimize_disp (const insn_template *t)
&& (!t->opcode_modifier.jump
|| i.jumpabsolute || i.types[0].bitfield.baseindex))
{
- for (op = 0; op < i.operands; ++op)
+ for (op = i.imm_operands; op < i.operands; ++op)
{
const expressionS *exp = i.op[op].disps;
@@ -8769,7 +8813,7 @@ check_VecOperands (const insn_template *t)
unsigned int j;
type.bitfield.baseindex = 1;
- for (j = 0; j < i.operands; ++j)
+ for (j = i.imm_operands; j < i.operands; ++j)
{
if (j != op
&& !operand_type_register_match(i.types[j],
@@ -8785,7 +8829,7 @@ check_VecOperands (const insn_template *t)
else if (t->opcode_modifier.broadcast && i.mem_operands)
{
/* Find memory operand. */
- for (op = 0; op < i.operands; op++)
+ for (op = i.imm_operands; op < i.operands; op++)
if (i.flags[op] & Operand_Mem)
break;
gas_assert (op < i.operands);
@@ -8894,7 +8938,7 @@ check_VecOperands (const insn_template *t)
const i386_operand_type *type = NULL, *fallback = NULL;
i.memshift = 0;
- for (op = 0; op < i.operands; op++)
+ for (op = i.imm_operands; op < i.operands; op++)
if (i.flags[op] & Operand_Mem)
{
if (t->opcode_modifier.evex == EVEXLIG)
@@ -8936,7 +8980,7 @@ check_VecOperands (const insn_template *t)
i.memshift = -1;
}
- for (op = 0; op < i.operands; op++)
+ for (op = i.imm_operands; op < i.operands; op++)
if (operand_type_check (i.types[op], disp)
&& i.op[op].disps->X_op == O_constant)
{
@@ -9030,7 +9074,7 @@ check_EgprOperands (const insn_template *t)
if (!t->opcode_modifier.noegpr)
return false;
- for (unsigned int op = 0; op < i.operands; op++)
+ for (unsigned int op = i.imm_operands; op < i.operands; op++)
{
if (i.types[op].bitfield.class != Reg)
continue;
@@ -9092,7 +9136,7 @@ check_APX_operands (const insn_template *t)
static bool
check_Rex_required (void)
{
- for (unsigned int op = 0; op < i.operands; op++)
+ for (unsigned int op = i.imm_operands; op < i.operands; op++)
{
if (i.types[op].bitfield.class != Reg)
continue;
@@ -9364,7 +9408,10 @@ match_template (char mnem_suffix)
{
case 1:
if (!operand_type_match (overlap0, i.types[0]))
- continue;
+ {
+ specific_error = progress (i.error);
+ continue;
+ }
/* Allow the ModR/M encoding to be requested by using the {load} or
{store} pseudo prefix on an applicable insn. */
@@ -10402,7 +10449,7 @@ process_suffix (const insn_template *t)
else
need = flag_code == CODE_64BIT ? need_qword : need_word;
- for (op = 0; op < i.operands; op++)
+ for (op = i.imm_operands; op < i.operands; op++)
{
if (i.types[op].bitfield.class != Reg)
continue;
@@ -10734,7 +10781,7 @@ process_operands (void)
unnecessary segment overrides. */
const reg_entry *default_seg = NULL;
- for (unsigned int j = 0; j < i.operands; j++)
+ for (unsigned int j = i.imm_operands; j < i.operands; j++)
if (i.types[j].bitfield.instance != InstanceNone)
i.reg_operands--;
@@ -10797,8 +10844,7 @@ process_operands (void)
and 3 sources. */
for (j = i.operands; j > 0; j--)
copy_operand (j, j - 1);
- i.op[0].regs
- = (const reg_entry *) str_hash_find (reg_hash, "xmm0");
+ i.op[0].regs = str_hash_find (reg_hash, "xmm0");
i.types[0] = regxmm;
i.tm.operand_types[0] = regxmm;
@@ -11968,7 +12014,7 @@ x86_sframe_cfa_ra_offset (void)
return (offsetT) -8;
}
-/* The abi/arch indentifier for SFrame. */
+/* The abi/arch identifier for SFrame. */
unsigned char
x86_sframe_get_abi_arch (void)
{
@@ -15065,9 +15111,8 @@ i386_index_check (const char *operand_string)
|| ((!i.mem_operands != !intel_syntax)
&& t->operand_types[1].bitfield.baseindex))
op = 1;
- expected_reg
- = (const reg_entry *) str_hash_find (reg_hash,
- di_si[addr_mode][op == es_op]);
+ expected_reg = str_hash_find (reg_hash,
+ di_si[addr_mode][op == es_op]);
}
else
{
@@ -16789,7 +16834,7 @@ parse_real_register (const char *reg_string, char **end_op)
*end_op = (char *) s;
- r = (const reg_entry *) str_hash_find (reg_hash, reg_name_given);
+ r = str_hash_find (reg_hash, reg_name_given);
/* Handle floating point regs, allowing spaces in the (i) part. */
if (r == reg_st0)
diff --git a/gas/config/tc-i386.h b/gas/config/tc-i386.h
index 3fb7920..641596d 100644
--- a/gas/config/tc-i386.h
+++ b/gas/config/tc-i386.h
@@ -230,9 +230,6 @@ if ((n) \
goto around; \
}
-#define MAX_MEM_FOR_RS_ALIGN_CODE \
- (alignment ? ((size_t) 1 << alignment) - 1 : (size_t) 1)
-
extern void i386_cons_align (int);
#define md_cons_align(nbytes) i386_cons_align (nbytes)
@@ -379,17 +376,43 @@ extern void i386_generate_nops (fragS *, char *, offsetT, int);
#define md_generate_nops(frag, where, amount, control) \
i386_generate_nops ((frag), (where), (amount), (control))
-#define HANDLE_ALIGN(sec, fragP) \
+#define HANDLE_ALIGN(sec, fragP) \
if (fragP->fr_type == rs_align_code) \
{ \
offsetT __count = (fragP->fr_next->fr_address \
- fragP->fr_address \
- fragP->fr_fix); \
- if (__count > 0 \
- && (unsigned int) __count <= fragP->tc_frag_data.max_bytes) \
- md_generate_nops (fragP, fragP->fr_literal + fragP->fr_fix, \
- __count, 0); \
+ if (__count > 0) \
+ { \
+ know (fragP->tc_frag_data.max_bytes >= (valueT) __count \
+ || (fragP->tc_frag_data.max_bytes \
+ >= MAX_MEM_FOR_RS_ALIGN_CODE (fragP->fr_offset, \
+ fragP->fr_subtype))); \
+ md_generate_nops (fragP, fragP->fr_literal + fragP->fr_fix, \
+ __count, 0); \
+ } \
}
+/* Possible plain nop, branch, twice largest nop less 1.
+ Yes, the branch might be one byte longer in CODE_16BIT but then the
+ largest nop is smaller. */
+#define MAX_MEM_FOR_RS_SPACE_NOP (1 + 5 + 2 * 15 - 1)
+
+static inline unsigned int
+max_mem_for_rs_align_code (unsigned int p2align, unsigned int max)
+{
+ unsigned int bytes = 1;
+ if (p2align != 0)
+ {
+ bytes = MAX_MEM_FOR_RS_SPACE_NOP;
+ if (bytes > (1ull << p2align) - 1)
+ bytes = (1ull << p2align) - 1;
+ if (max != 0 && bytes > max)
+ bytes = max;
+ }
+ return bytes;
+}
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) \
+ max_mem_for_rs_align_code (p2align, max)
/* We want .cfi_* pseudo-ops for generating unwind info. */
#define TARGET_USE_CFIPOP 1
@@ -413,6 +436,9 @@ extern void tc_x86_frame_initial_instructions (void);
#define REG_FP 6
/* DWARF register number of the stack-pointer register in 64-bit mode. */
#define REG_SP 7
+/* DWARF register number of the (pseudo) return address register in 64-bit
+ mode. This is the same as reg RIP in i386-reg.tbl. */
+#define REG_RA 16
#define md_elf_section_type(str,len) i386_elf_section_type (str, len)
extern int i386_elf_section_type (const char *, size_t);
@@ -455,13 +481,19 @@ extern bool x86_support_sframe_p (void);
#define support_sframe_p x86_support_sframe_p
/* The stack pointer DWARF register number for SFrame CFA tracking. */
-extern unsigned int x86_sframe_cfa_sp_reg;
+extern const unsigned int x86_sframe_cfa_sp_reg;
#define SFRAME_CFA_SP_REG x86_sframe_cfa_sp_reg
/* The frame pointer DWARF register number for SFrame CFA and FP tracking. */
-extern unsigned int x86_sframe_cfa_fp_reg;
+extern const unsigned int x86_sframe_cfa_fp_reg;
#define SFRAME_CFA_FP_REG x86_sframe_cfa_fp_reg
+/* The return address DWARF register number for SFrame purposes. Although for
+ AMD64, RA tracking is disabled, specific constructs, like for indicating
+ the _start function, may use it. */
+extern const unsigned int x86_sframe_cfa_ra_reg;
+#define SFRAME_CFA_RA_REG x86_sframe_cfa_ra_reg
+
/* Whether SFrame return address tracking is needed. */
extern bool x86_sframe_ra_tracking_p (void);
#define sframe_ra_tracking_p x86_sframe_ra_tracking_p
@@ -471,7 +503,7 @@ extern bool x86_sframe_ra_tracking_p (void);
extern offsetT x86_sframe_cfa_ra_offset (void);
#define sframe_cfa_ra_offset x86_sframe_cfa_ra_offset
-/* The abi/arch indentifier for SFrame. */
+/* The abi/arch identifier for SFrame. */
extern unsigned char x86_sframe_get_abi_arch (void);
#define sframe_get_abi_arch x86_sframe_get_abi_arch
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index b508232..192c093 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -4476,13 +4476,14 @@ dot_endp (int dummy ATTRIBUTE_UNUSED)
S_SET_SIZE (sym, frag_now_fix () - S_GET_VALUE (sym));
else
{
- symbol_get_obj (sym)->size = XNEW (expressionS);
- symbol_get_obj (sym)->size->X_op = O_subtract;
- symbol_get_obj (sym)->size->X_add_symbol
+ OBJ_SYMFIELD_TYPE *obj = symbol_get_obj (sym);
+ obj->size = notes_alloc (sizeof (*obj->size));
+ obj->size->X_op = O_subtract;
+ obj->size->X_add_symbol
= symbol_new (FAKE_LABEL_NAME, now_seg,
frag_now, frag_now_fix ());
- symbol_get_obj (sym)->size->X_op_symbol = sym;
- symbol_get_obj (sym)->size->X_add_number = 0;
+ obj->size->X_op_symbol = sym;
+ obj->size->X_add_number = 0;
}
}
}
@@ -10645,7 +10646,7 @@ md_assemble (char *str)
ch = get_symbol_name (&temp);
mnemonic = temp;
- pdesc = (struct pseudo_opcode *) str_hash_find (md.pseudo_hash, mnemonic);
+ pdesc = str_hash_find (md.pseudo_hash, mnemonic);
if (pdesc)
{
(void) restore_line_pointer (ch);
@@ -11778,7 +11779,7 @@ dot_alias (int section)
/* Check if alias has been used before. */
- h = (struct alias *) str_hash_find (ahash, alias);
+ h = str_hash_find (ahash, alias);
if (h)
{
if (strcmp (h->name, name))
@@ -11789,7 +11790,7 @@ dot_alias (int section)
}
/* Check if name already has an alias. */
- a = (const char *) str_hash_find (nhash, name);
+ a = str_hash_find (nhash, name);
if (a)
{
if (strcmp (a, alias))
diff --git a/gas/config/tc-ia64.h b/gas/config/tc-ia64.h
index 0f9810d..62d288d 100644
--- a/gas/config/tc-ia64.h
+++ b/gas/config/tc-ia64.h
@@ -176,7 +176,7 @@ void ia64_vms_note (void);
as_bad_where ((FRAGP)->fr_file, (FRAGP)->fr_line, \
_("instruction address is not a multiple of 16"));
-#define MAX_MEM_FOR_RS_ALIGN_CODE (15 + 16)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (15 + 16)
#define WORKING_DOT_WORD /* don't do broken word processing for now */
diff --git a/gas/config/tc-kvx.c b/gas/config/tc-kvx.c
index 942b1ab..5582650 100644
--- a/gas/config/tc-kvx.c
+++ b/gas/config/tc-kvx.c
@@ -509,7 +509,7 @@ insert_operand (struct kvxinsn *insn, struct kvx_operand *opdef,
{
char *ilp_save = input_line_pointer;
input_line_pointer = tok->tok;
- expressionS exp = { 0 };
+ expressionS exp;
expression (&exp);
input_line_pointer = ilp_save;
@@ -2355,16 +2355,11 @@ kvx_endp (int start ATTRIBUTE_UNUSED)
if (exp.X_op == O_constant)
{
S_SET_SIZE (last_proc_sym, exp.X_add_number);
- if (symbol_get_obj (last_proc_sym)->size)
- {
- xfree (symbol_get_obj (last_proc_sym)->size);
- symbol_get_obj (last_proc_sym)->size = NULL;
- }
+ symbol_get_obj (last_proc_sym)->size = NULL;
}
else
{
- symbol_get_obj (last_proc_sym)->size =
- (expressionS *) xmalloc (sizeof (expressionS));
+ symbol_get_obj (last_proc_sym)->size = notes_alloc (sizeof (exp));
*symbol_get_obj (last_proc_sym)->size = exp;
}
@@ -2518,20 +2513,18 @@ kvx_force_reloc_sub_same (fixS * fixP, segT sec)
return 1;
}
-/* Implement HANDLE_ALIGN. */
+/* Pads code section with bundle of nops when possible, 0 if not. */
-static void
-kvx_make_nops (char *buf, bfd_vma bytes)
+void
+kvx_handle_align (fragS *fragP)
{
- bfd_vma i = 0;
- unsigned int j;
+ if (fragP->fr_type != rs_align_code)
+ return;
static unsigned int nop_single = 0;
-
if (!nop_single)
{
- const struct kvxopc *opcode =
- (struct kvxopc *) str_hash_find (env.opcode_hash, "nop");
+ const struct kvxopc *opcode = str_hash_find (env.opcode_hash, "nop");
if (opcode == NULL)
as_fatal
@@ -2540,52 +2533,49 @@ kvx_make_nops (char *buf, bfd_vma bytes)
nop_single = opcode->codewords[0].opcode;
}
- /* KVX instructions are always 4-bytes aligned. If we are at a position */
- /* that is not 4 bytes aligned, it means this is not part of an instruction, */
- /* so it is safe to use a zero byte for padding. */
+ bfd_signed_vma bytes = (fragP->fr_next->fr_address
+ - fragP->fr_address - fragP->fr_fix);
+ if (bytes <= 0)
+ return;
- for (j = bytes % 4; j > 0; j--)
- buf[i++] = 0;
+ char *p = fragP->fr_literal + fragP->fr_fix;
- for (j = 0; j < (bytes - i); j += 4)
+ /* KVX instructions are always 4-bytes aligned. If we are at a
+ position that is not 4 bytes aligned, it means this is not part
+ of an instruction, so it is safe to use a zero byte for padding. */
+ int fix = bytes & 3;
+ if (fix != 0)
{
- unsigned nop = nop_single;
-
- // nop has bundle end only if #4 nop or last padding nop.
- // Sets the parallel bit when neither conditions are matched.
- // 4*4 = biggest nop bundle we can get
- // 12 = offset when writting the last nop possible in a 4 nops bundle
- // bytes-i-4 = offset for the last 4-words in the padding
- if (j % (4 * 4) != 12 && j != (bytes - i - 4))
- nop |= PARALLEL_BIT;
-
- memcpy (buf + i + j, &nop, sizeof (nop));
+ memset (p, 0, fix);
+ p += fix;
+ bytes -= fix;
}
-}
-/* Pads code section with bundle of nops when possible, 0 if not. */
-void
-kvx_handle_align (fragS *fragP)
-{
- switch (fragP->fr_type)
+ /* Output any nops that don't make a full bundle. */
+ while (bytes & 15)
{
- case rs_align_code:
- {
- bfd_signed_vma bytes = (fragP->fr_next->fr_address
- - fragP->fr_address - fragP->fr_fix);
- char *p = fragP->fr_literal + fragP->fr_fix;
-
- if (bytes <= 0)
- break;
-
- /* Insert zeros or nops to get 4 byte alignment. */
- kvx_make_nops (p, bytes);
- fragP->fr_fix += bytes;
- }
- break;
+ unsigned int nop = nop_single;
+ bytes -= 4;
+ if (bytes & 15)
+ nop |= PARALLEL_BIT;
+ memcpy (p, &nop, 4);
+ p += 4;
+ fix += 4;
+ }
+ fragP->fr_fix += fix;
- default:
- break;
+ /* Any more are repeated copies of this full bundle of nops. */
+ if (bytes)
+ {
+ unsigned int nop = nop_single | PARALLEL_BIT;
+ memcpy (p, &nop, 4);
+ p += 4;
+ memcpy (p, &nop, 4);
+ p += 4;
+ memcpy (p, &nop, 4);
+ p += 4;
+ memcpy (p, &nop_single, 4);
+ fragP->fr_var = 16;
}
}
/*
diff --git a/gas/config/tc-kvx.h b/gas/config/tc-kvx.h
index a4d0e2d..50c124f 100644
--- a/gas/config/tc-kvx.h
+++ b/gas/config/tc-kvx.h
@@ -297,6 +297,7 @@ extern void kvx_cons_fix_new (fragS *f, int where, int nbytes,
/* Enable special handling for the alignment directive. */
extern void kvx_handle_align (fragS *);
#define HANDLE_ALIGN(s, f) kvx_handle_align (f)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 12 + 16)
#ifdef OBJ_ELF
diff --git a/gas/config/tc-loongarch.c b/gas/config/tc-loongarch.c
index 7841144..06fb601 100644
--- a/gas/config/tc-loongarch.c
+++ b/gas/config/tc-loongarch.c
@@ -320,115 +320,98 @@ loongarch_after_parse_args ()
/* Init ilp32/lp64 registers names. */
if (!r_htab)
- r_htab = str_htab_create (), str_hash_insert (r_htab, "", 0, 0);
+ r_htab = str_htab_create ();
if (!r_deprecated_htab)
- r_deprecated_htab = str_htab_create (),
- str_hash_insert (r_deprecated_htab, "", 0, 0);
+ r_deprecated_htab = str_htab_create ();
/* Init cfi registers alias. */
if (!cfi_r_htab)
- cfi_r_htab = str_htab_create (), str_hash_insert (cfi_r_htab, "", 0, 0);
+ cfi_r_htab = str_htab_create ();
r_abi_names = loongarch_r_normal_name;
for (i = 0; i < ARRAY_SIZE (loongarch_r_normal_name); i++)
{
- str_hash_insert (r_htab, loongarch_r_normal_name[i],
- (void *) (i + 1), 0);
- str_hash_insert (cfi_r_htab, loongarch_r_normal_name[i],
- (void *) (i + 1), 0);
+ str_hash_insert_int (r_htab, loongarch_r_normal_name[i], i, 0);
+ str_hash_insert_int (cfi_r_htab, loongarch_r_normal_name[i], i, 0);
}
/* Init ilp32/lp64 registers alias. */
r_abi_names = loongarch_r_alias;
for (i = 0; i < ARRAY_SIZE (loongarch_r_alias); i++)
{
- str_hash_insert (r_htab, loongarch_r_alias[i],
- (void *) (i + 1), 0);
- str_hash_insert (cfi_r_htab, loongarch_r_alias[i],
- (void *) (i + 1), 0);
+ str_hash_insert_int (r_htab, loongarch_r_alias[i], i, 0);
+ str_hash_insert_int (cfi_r_htab, loongarch_r_alias[i], i, 0);
}
for (i = 0; i < ARRAY_SIZE (loongarch_r_alias_1); i++)
- str_hash_insert (r_htab, loongarch_r_alias_1[i], (void *) (i + 1), 0);
+ str_hash_insert_int (r_htab, loongarch_r_alias_1[i], i, 0);
for (i = 0; i < ARRAY_SIZE (loongarch_r_alias_deprecated); i++)
- str_hash_insert (r_deprecated_htab, loongarch_r_alias_deprecated[i],
- (void *) (i + 1), 0);
+ str_hash_insert_int (r_deprecated_htab, loongarch_r_alias_deprecated[i],
+ i, 0);
/* The .cfi directive supports register aliases without the "$" prefix. */
for (i = 0; i < ARRAY_SIZE (loongarch_r_cfi_name); i++)
{
- str_hash_insert (cfi_r_htab, loongarch_r_cfi_name[i],
- (void *)(i + 1), 0);
- str_hash_insert (cfi_r_htab, loongarch_r_cfi_name_alias[i],
- (void *)(i + 1), 0);
+ str_hash_insert_int (cfi_r_htab, loongarch_r_cfi_name[i], i, 0);
+ str_hash_insert_int (cfi_r_htab, loongarch_r_cfi_name_alias[i], i, 0);
}
if (!cr_htab)
- cr_htab = str_htab_create (), str_hash_insert (cr_htab, "", 0, 0);
+ cr_htab = str_htab_create ();
for (i = 0; i < ARRAY_SIZE (loongarch_cr_normal_name); i++)
- str_hash_insert (cr_htab, loongarch_cr_normal_name[i], (void *) (i + 1), 0);
+ str_hash_insert_int (cr_htab, loongarch_cr_normal_name[i], i, 0);
/* Init single/double float registers names. */
if (LARCH_opts.ase_sf || LARCH_opts.ase_df)
{
if (!f_htab)
- f_htab = str_htab_create (), str_hash_insert (f_htab, "", 0, 0);
+ f_htab = str_htab_create ();
if (!f_deprecated_htab)
- f_deprecated_htab = str_htab_create (),
- str_hash_insert (f_deprecated_htab, "", 0, 0);
+ f_deprecated_htab = str_htab_create ();
if (!cfi_f_htab)
- cfi_f_htab = str_htab_create (), str_hash_insert (cfi_f_htab, "", 0, 0);
+ cfi_f_htab = str_htab_create ();
f_abi_names = loongarch_f_normal_name;
for (i = 0; i < ARRAY_SIZE (loongarch_f_normal_name); i++)
{
- str_hash_insert (f_htab, loongarch_f_normal_name[i],
- (void *) (i + 1), 0);
- str_hash_insert (cfi_f_htab, loongarch_f_normal_name[i],
- (void *) (i + 1), 0);
+ str_hash_insert_int (f_htab, loongarch_f_normal_name[i], i, 0);
+ str_hash_insert_int (cfi_f_htab, loongarch_f_normal_name[i], i, 0);
}
/* Init float-ilp32/lp64 registers alias. */
f_abi_names = loongarch_f_alias;
for (i = 0; i < ARRAY_SIZE (loongarch_f_alias); i++)
{
- str_hash_insert (f_htab, loongarch_f_alias[i],
- (void *) (i + 1), 0);
- str_hash_insert (cfi_f_htab, loongarch_f_alias[i],
- (void *) (i + 1), 0);
+ str_hash_insert_int (f_htab, loongarch_f_alias[i], i, 0);
+ str_hash_insert_int (cfi_f_htab, loongarch_f_alias[i], i, 0);
}
for (i = 0; i < ARRAY_SIZE (loongarch_f_alias_deprecated); i++)
- str_hash_insert (f_deprecated_htab, loongarch_f_alias_deprecated[i],
- (void *) (i + 1), 0);
+ str_hash_insert_int (f_deprecated_htab, loongarch_f_alias_deprecated[i],
+ i, 0);
/* The .cfi directive supports register aliases without the "$" prefix. */
for (i = 0; i < ARRAY_SIZE (loongarch_f_cfi_name); i++)
{
- str_hash_insert (cfi_f_htab, loongarch_f_cfi_name[i],
- (void *)(i + 1), 0);
- str_hash_insert (cfi_f_htab, loongarch_f_cfi_name_alias[i],
- (void *)(i + 1), 0);
+ str_hash_insert_int (cfi_f_htab, loongarch_f_cfi_name[i], i, 0);
+ str_hash_insert_int (cfi_f_htab, loongarch_f_cfi_name_alias[i], i, 0);
}
if (!fc_htab)
- fc_htab = str_htab_create (), str_hash_insert (fc_htab, "", 0, 0);
+ fc_htab = str_htab_create ();
for (i = 0; i < ARRAY_SIZE (loongarch_fc_normal_name); i++)
- str_hash_insert (fc_htab, loongarch_fc_normal_name[i], (void *) (i + 1),
- 0);
+ str_hash_insert_int (fc_htab, loongarch_fc_normal_name[i], i, 0);
if (!fcn_htab)
- fcn_htab = str_htab_create (), str_hash_insert (fcn_htab, "", 0, 0);
+ fcn_htab = str_htab_create ();
for (i = 0; i < ARRAY_SIZE (loongarch_fc_numeric_name); i++)
- str_hash_insert (fcn_htab, loongarch_fc_numeric_name[i], (void *) (i + 1),
- 0);
+ str_hash_insert_int (fcn_htab, loongarch_fc_numeric_name[i], i, 0);
if (!c_htab)
- c_htab = str_htab_create (), str_hash_insert (c_htab, "", 0, 0);
+ c_htab = str_htab_create ();
for (i = 0; i < ARRAY_SIZE (loongarch_c_normal_name); i++)
- str_hash_insert (c_htab, loongarch_c_normal_name[i], (void *) (i + 1),
- 0);
+ str_hash_insert_int (c_htab, loongarch_c_normal_name[i], i, 0);
}
@@ -436,20 +419,18 @@ loongarch_after_parse_args ()
if (LARCH_opts.ase_lsx)
{
if (!v_htab)
- v_htab = str_htab_create (), str_hash_insert (v_htab, "", 0, 0);
+ v_htab = str_htab_create ();
for (i = 0; i < ARRAY_SIZE (loongarch_v_normal_name); i++)
- str_hash_insert (v_htab, loongarch_v_normal_name[i], (void *) (i + 1),
- 0);
+ str_hash_insert_int (v_htab, loongarch_v_normal_name[i], i, 0);
}
/* Init lasx registers names. */
if (LARCH_opts.ase_lasx)
{
if (!x_htab)
- x_htab = str_htab_create (), str_hash_insert (x_htab, "", 0, 0);
+ x_htab = str_htab_create ();
for (i = 0; i < ARRAY_SIZE (loongarch_x_normal_name); i++)
- str_hash_insert (x_htab, loongarch_x_normal_name[i], (void *) (i + 1),
- 0);
+ str_hash_insert_int (x_htab, loongarch_x_normal_name[i], i, 0);
}
}
@@ -934,15 +915,15 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
}
break;
case 'r':
- imm = (intptr_t) str_hash_find (r_htab, arg);
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ imm = str_hash_find_int (r_htab, arg);
+ ip->match_now = 0 <= imm;
+ ret = imm;
if (ip->match_now)
break;
/* Handle potential usage of deprecated register aliases. */
- imm = (intptr_t) str_hash_find (r_deprecated_htab, arg);
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ imm = str_hash_find_int (r_deprecated_htab, arg);
+ ip->match_now = 0 <= imm;
+ ret = imm;
/* !ip->expand_from_macro: avoiding duplicate output warnings,
only the first macro output warning. */
if (ip->match_now && !ip->expand_from_macro)
@@ -953,23 +934,21 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
switch (esc_ch2)
{
case 'c':
- imm = (intptr_t) str_hash_find (fc_htab, arg);
- if (0 >= imm)
- {
- imm = (intptr_t) str_hash_find (fcn_htab, arg);
- }
+ imm = str_hash_find_int (fc_htab, arg);
+ if (0 > imm)
+ imm = str_hash_find_int (fcn_htab, arg);
break;
default:
- imm = (intptr_t) str_hash_find (f_htab, arg);
+ imm = str_hash_find_int (f_htab, arg);
}
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ ip->match_now = 0 <= imm;
+ ret = imm;
if (ip->match_now && !ip->expand_from_macro)
break;
/* Handle potential usage of deprecated register aliases. */
- imm = (intptr_t) str_hash_find (f_deprecated_htab, arg);
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ imm = str_hash_find_int (f_deprecated_htab, arg);
+ ip->match_now = 0 <= imm;
+ ret = imm;
if (ip->match_now)
as_warn (_("register alias %s is deprecated, use %s instead"),
arg, f_abi_names[ret]);
@@ -978,23 +957,23 @@ loongarch_args_parser_can_match_arg_helper (char esc_ch1, char esc_ch2,
switch (esc_ch2)
{
case 'r':
- imm = (intptr_t) str_hash_find (cr_htab, arg);
+ imm = str_hash_find_int (cr_htab, arg);
break;
default:
- imm = (intptr_t) str_hash_find (c_htab, arg);
+ imm = str_hash_find_int (c_htab, arg);
}
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ ip->match_now = 0 <= imm;
+ ret = imm;
break;
case 'v':
- imm = (intptr_t) str_hash_find (v_htab, arg);
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ imm = str_hash_find_int (v_htab, arg);
+ ip->match_now = 0 <= imm;
+ ret = imm;
break;
case 'x':
- imm = (intptr_t) str_hash_find (x_htab, arg);
- ip->match_now = 0 < imm;
- ret = imm - 1;
+ imm = str_hash_find_int (x_htab, arg);
+ ip->match_now = 0 <= imm;
+ ret = imm;
break;
case '\0':
ip->all_match = ip->match_now;
@@ -1077,8 +1056,7 @@ get_loongarch_opcode (struct loongarch_cl_insn *insn)
if ((!it->include || (it->include && *it->include))
&& (!it->exclude || (it->exclude && !(*it->exclude)))
&& !(it->pinfo & INSN_DIS_ALIAS))
- str_hash_insert (ase->name_hash_entry, it->name,
- (void *) it, 0);
+ str_hash_insert (ase->name_hash_entry, it->name, it, 0);
}
}
@@ -1420,7 +1398,8 @@ loongarch_assemble_INSNs (char *str, unsigned int expand_from_macro)
if (*str == '\0')
break;
- struct loongarch_cl_insn the_one = { 0 };
+ struct loongarch_cl_insn the_one;
+ memset (&the_one, 0, sizeof (the_one));
the_one.name = str;
the_one.expand_from_macro = expand_from_macro;
@@ -1521,6 +1500,29 @@ loongarch_force_relocation (struct fix *fixp)
return generic_force_reloc (fixp);
}
+/* If subsy of BFD_RELOC32/64 and PC in same segment, and without relax
+ or PC at start of subsy or with relax but sub_symbol_segment not in
+ SEC_CODE, we generate 32/64_PCREL. */
+bool
+loongarch_force_relocation_sub_local (fixS *fixp, segT sec ATTRIBUTE_UNUSED)
+{
+ return !(LARCH_opts.thin_add_sub
+ && (fixp->fx_r_type == BFD_RELOC_32
+ || fixp->fx_r_type == BFD_RELOC_64)
+ && (!LARCH_opts.relax
+ || (S_GET_VALUE (fixp->fx_subsy)
+ == fixp->fx_frag->fr_address + fixp->fx_where)
+ || (S_GET_SEGMENT (fixp->fx_subsy)->flags & SEC_CODE) == 0));
+}
+
+/* Postpone text-section label subtraction calculation until linking, since
+ linker relaxations might change the deltas. */
+bool
+loongarch_force_relocation_sub_same(fixS *fixp ATTRIBUTE_UNUSED, segT sec)
+{
+ return LARCH_opts.relax && (sec->flags & SEC_CODE) != 0;
+}
+
static void fix_reloc_insn (fixS *fixP, bfd_vma reloc_val, char *buf)
{
reloc_howto_type *howto;
@@ -1913,12 +1915,12 @@ tc_loongarch_regname_to_dw2regnum (char *regname)
int reg;
/* Look up in the general purpose register table. */
- if ((reg = (intptr_t) str_hash_find (cfi_r_htab, regname)) > 0)
- return reg - 1;
+ if ((reg = str_hash_find_int (cfi_r_htab, regname)) >= 0)
+ return reg;
/* Look up in the floating point register table. */
- if ((reg = (intptr_t) str_hash_find (cfi_f_htab, regname)) > 0)
- return reg + 31;
+ if ((reg = str_hash_find_int (cfi_f_htab, regname)) >= 0)
+ return reg + 32;
as_bad (_("unknown register `%s`"), regname);
return -1;
diff --git a/gas/config/tc-loongarch.h b/gas/config/tc-loongarch.h
index ebed8e0..38ecd03 100644
--- a/gas/config/tc-loongarch.h
+++ b/gas/config/tc-loongarch.h
@@ -21,8 +21,6 @@
#ifndef TC_LOONGARCH
#define TC_LOONGARCH
-#include "opcode/loongarch.h"
-
#define TARGET_BYTES_BIG_ENDIAN 0
#define TARGET_ARCH bfd_arch_loongarch
@@ -80,26 +78,19 @@ extern int loongarch_force_relocation (struct fix *);
/* If subsy of BFD_RELOC32/64 and PC in same segment, and without relax
or PC at start of subsy or with relax but sub_symbol_segment not in
SEC_CODE, we generate 32/64_PCREL. */
-#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEG) \
- (!(LARCH_opts.thin_add_sub \
- && ((FIX)->fx_r_type == BFD_RELOC_32 \
- ||(FIX)->fx_r_type == BFD_RELOC_64) \
- && (!LARCH_opts.relax \
- || S_GET_VALUE (FIX->fx_subsy) \
- == FIX->fx_frag->fr_address + FIX->fx_where \
- || (LARCH_opts.relax \
- && ((S_GET_SEGMENT (FIX->fx_subsy)->flags & SEC_CODE) == 0)))))
+extern bool loongarch_force_relocation_sub_local (struct fix *, asection *);
+#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEC) \
+ loongarch_force_relocation_sub_local (FIX, SEC)
#define TC_VALIDATE_FIX_SUB(FIX, SEG) 1
#define DIFF_EXPR_OK 1
/* Postpone text-section label subtraction calculation until linking, since
linker relaxations might change the deltas. */
+extern bool loongarch_force_relocation_sub_same(struct fix *, asection *);
#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEC) \
- (LARCH_opts.relax ? \
- (GENERIC_FORCE_RELOCATION_SUB_SAME (FIX, SEC) \
- || ((SEC)->flags & SEC_CODE) != 0) \
- : (GENERIC_FORCE_RELOCATION_SUB_SAME (FIX, SEC))) \
+ (loongarch_force_relocation_sub_same (FIX, SEC) \
+ || GENERIC_FORCE_RELOCATION_SUB_SAME (FIX, SEC))
#define TC_LINKRELAX_FIXUP(seg) ((seg->flags & SEC_CODE) \
|| (seg->flags & SEC_DEBUGGING))
@@ -141,7 +132,7 @@ extern void loongarch_pre_output_hook (void);
#define HANDLE_ALIGN(sec, fragp) loongarch_handle_align (fragp)
extern void loongarch_handle_align (struct frag *);
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
#define elf_tc_final_processing loongarch_elf_final_processing
extern void loongarch_elf_final_processing (void);
diff --git a/gas/config/tc-m32c.h b/gas/config/tc-m32c.h
index bcdca98..c8e03ed 100644
--- a/gas/config/tc-m32c.h
+++ b/gas/config/tc-m32c.h
@@ -79,5 +79,3 @@ extern int m32c_is_colon_insn (char *, char *);
#define H_TICK_HEX 1
#define NOP_OPCODE (bfd_get_mach (stdoutput) == bfd_mach_m32c ? 0xde : 0x04)
-#define HANDLE_ALIGN(sec, fragP)
-#define MAX_MEM_FOR_RS_ALIGN_CODE 1
diff --git a/gas/config/tc-m32r.h b/gas/config/tc-m32r.h
index 6be96bb..47b7158 100644
--- a/gas/config/tc-m32r.h
+++ b/gas/config/tc-m32r.h
@@ -65,7 +65,7 @@ extern long m32r_relax_frag (segT, fragS *, long);
extern void m32r_handle_align (fragS *);
#define HANDLE_ALIGN(s, f) m32r_handle_align (f)
-#define MAX_MEM_FOR_RS_ALIGN_CODE (1 + 2 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (1 + 2 + 4)
/* Values passed to md_apply_fix don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index d3e2f8b..6950c57 100644
--- a/gas/config/tc-m68hc11.c
+++ b/gas/config/tc-m68hc11.c
@@ -189,7 +189,6 @@ struct m9s12xg_opcode_def
/* Local functions. */
static register_id reg_name_search (char *);
static register_id register_name (void);
-static int cmp_opcode (struct m68hc11_opcode *, struct m68hc11_opcode *);
static char *print_opcode_format (struct m68hc11_opcode *, int);
static char *skip_whites (char *);
static int check_range (long, int);
@@ -588,8 +587,10 @@ md_section_align (asection *seg, valueT addr)
}
static int
-cmp_opcode (struct m68hc11_opcode *op1, struct m68hc11_opcode *op2)
+cmp_opcode (const void *p1, const void *p2)
{
+ const struct m68hc11_opcode *op1 = p1;
+ const struct m68hc11_opcode *op2 = p2;
return strcmp (op1->name, op2->name);
}
@@ -639,8 +640,7 @@ md_begin (void)
}
}
}
- qsort (opcodes, num_opcodes, sizeof (struct m68hc11_opcode),
- (int (*) (const void*, const void*)) cmp_opcode);
+ qsort (opcodes, num_opcodes, sizeof (struct m68hc11_opcode), cmp_opcode);
opc = XNEWVEC (struct m68hc11_opcode_def, num_opcodes);
m68hc11_opcode_defs = opc;
@@ -1008,7 +1008,7 @@ print_insn_format (char *name)
struct m68hc11_opcode *opcode;
char buf[128];
- opc = (struct m68hc11_opcode_def *) str_hash_find (m68hc11_hash, name);
+ opc = str_hash_find (m68hc11_hash, name);
if (opc == NULL)
{
as_bad (_("Instruction `%s' is not recognized."), name);
@@ -2848,7 +2848,7 @@ md_assemble (char *str)
if (current_architecture == cpuxgate)
{
/* Find the opcode definition given its name. */
- opc = (struct m68hc11_opcode_def *) str_hash_find (m68hc11_hash, name);
+ opc = str_hash_find (m68hc11_hash, name);
if (opc == NULL)
{
as_bad (_("Opcode `%s' is not recognized."), name);
@@ -3469,7 +3469,7 @@ md_assemble (char *str)
}
/* Find the opcode definition given its name. */
- opc = (struct m68hc11_opcode_def *) str_hash_find (m68hc11_hash, name);
+ opc = str_hash_find (m68hc11_hash, name);
/* If it's not recognized, look for 'jbsr' and 'jbxx'. These are
pseudo insns for relative branch. For these branches, we always
@@ -3477,8 +3477,7 @@ md_assemble (char *str)
is given. */
if (opc == NULL && name[0] == 'j' && name[1] == 'b')
{
- opc = (struct m68hc11_opcode_def *) str_hash_find (m68hc11_hash,
- &name[1]);
+ opc = str_hash_find (m68hc11_hash, &name[1]);
if (opc
&& (!(opc->format & M6811_OP_JUMP_REL)
|| (opc->format & M6811_OP_BITMASK)))
@@ -3509,8 +3508,7 @@ md_assemble (char *str)
{
name[nlen++] = TOLOWER (*op_end++);
name[nlen] = 0;
- opc = (struct m68hc11_opcode_def *) str_hash_find (m68hc11_hash,
- name);
+ opc = str_hash_find (m68hc11_hash, name);
}
}
}
diff --git a/gas/config/tc-m68k.c b/gas/config/tc-m68k.c
index 0f36741..510a1bc 100644
--- a/gas/config/tc-m68k.c
+++ b/gas/config/tc-m68k.c
@@ -1357,7 +1357,7 @@ m68k_ip (char *instring)
c = *p;
*p = '\0';
- opcode = (const struct m68k_incant *) str_hash_find (op_hash, instring);
+ opcode = str_hash_find (op_hash, instring);
*p = c;
if (pdot != NULL)
@@ -4560,7 +4560,7 @@ md_begin (void)
{
const char *name = m68k_opcode_aliases[i].primary;
const char *alias = m68k_opcode_aliases[i].alias;
- void *val = (void *) str_hash_find (op_hash, name);
+ void *val = str_hash_find (op_hash, name);
if (!val)
as_fatal (_("Internal Error: Can't find %s in hash table"), name);
@@ -4598,7 +4598,7 @@ md_begin (void)
{
const char *name = mri_aliases[i].primary;
const char *alias = mri_aliases[i].alias;
- void *val = (void *) str_hash_find (op_hash, name);
+ void *val = str_hash_find (op_hash, name);
if (!val)
as_fatal (_("Internal Error: Can't find %s in hash table"), name);
@@ -6754,7 +6754,6 @@ s_mri_for (int qual)
struct mri_control_info *n;
char *buf;
char *s;
- char ex[2];
/* The syntax is
FOR.q var = init { TO | DOWNTO } end [ BY by ] DO.e
@@ -6935,12 +6934,14 @@ s_mri_for (int qual)
mri_assemble (buf);
/* bcc bottom. */
- ex[0] = TOLOWER (extent);
- ex[1] = '\0';
- if (up)
- sprintf (buf, "blt%s %s", ex, n->bottom);
- else
- sprintf (buf, "bgt%s %s", ex, n->bottom);
+ s = buf;
+ *s++ = 'b';
+ *s++ = up ? 'l' : 'g';
+ *s++ = 't';
+ if (extent != '\0')
+ *s++ = TOLOWER (extent);
+ *s++ = ' ';
+ strcpy (s, n->bottom);
mri_assemble (buf);
/* Put together the add or sub instruction used by ENDF. */
diff --git a/gas/config/tc-mcore.c b/gas/config/tc-mcore.c
index 38e6637..8688bfa 100644
--- a/gas/config/tc-mcore.c
+++ b/gas/config/tc-mcore.c
@@ -882,7 +882,7 @@ md_assemble (char * str)
return;
}
- opcode = (mcore_opcode_info *) str_hash_find (opcode_hash_control, name);
+ opcode = str_hash_find (opcode_hash_control, name);
if (opcode == NULL)
{
as_bad (_("unknown opcode \"%s\""), name);
diff --git a/gas/config/tc-metag.c b/gas/config/tc-metag.c
index 3a36d6a..bb8e897 100644
--- a/gas/config/tc-metag.c
+++ b/gas/config/tc-metag.c
@@ -4380,11 +4380,10 @@ parse_dsp_addr (const char *line, metag_addr *addr, unsigned int size,
l = parse_dsp_regs_list (l, regs, 1, &regs_read, true, true, load, false);
- if (l == NULL)
+ if (l == NULL || regs_read == 0)
return NULL;
- if (!is_addr_unit (regs[0]->unit) &&
- !is_dspram_reg (regs[0]))
+ if (!is_addr_unit (regs[0]->unit) && !is_dspram_reg (regs[0]))
{
as_bad (_("invalid register for memory access"));
return NULL;
@@ -4434,7 +4433,7 @@ parse_dsp_addr (const char *line, metag_addr *addr, unsigned int size,
l = parse_dsp_regs_list (l, regs, 1, &regs_read, true, true, load, false);
- if (l == NULL)
+ if (l == NULL || regs_read == 0)
return NULL;
if (regs[0]->unit != addr->base_reg->unit)
@@ -4522,7 +4521,7 @@ parse_dget_set (const char *line, metag_insn *insn,
false, false);
}
- if (l == NULL)
+ if (l == NULL || regs_read == 0)
return NULL;
/* The first register dictates the unit. */
@@ -6842,34 +6841,26 @@ void
metag_handle_align (fragS * fragP)
{
static unsigned char const noop[4] = { 0xfe, 0xff, 0xff, 0xa0 };
- int bytes, fix;
- char *p;
if (fragP->fr_type != rs_align_code)
return;
- bytes = fragP->fr_next->fr_address - fragP->fr_address - fragP->fr_fix;
- p = fragP->fr_literal + fragP->fr_fix;
- fix = 0;
-
- if (bytes & 3)
+ int bytes = fragP->fr_next->fr_address - fragP->fr_address - fragP->fr_fix;
+ char *p = fragP->fr_literal + fragP->fr_fix;
+ int fix = bytes & 3;
+ if (fix != 0)
{
- fix = bytes & 3;
memset (p, 0, fix);
p += fix;
bytes -= fix;
+ fragP->fr_fix += fix;
}
- while (bytes >= 4)
+ if (bytes != 0)
{
+ fragP->fr_var = 4;
memcpy (p, noop, 4);
- p += 4;
- bytes -= 4;
- fix += 4;
}
-
- fragP->fr_fix += fix;
- fragP->fr_var = 4;
}
static char *
@@ -7038,7 +7029,7 @@ void
md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
{
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
- int value = (int)*valP;
+ int value = *valP;
switch (fixP->fx_r_type)
{
diff --git a/gas/config/tc-metag.h b/gas/config/tc-metag.h
index 9d112c4..92cb0b4 100644
--- a/gas/config/tc-metag.h
+++ b/gas/config/tc-metag.h
@@ -52,6 +52,7 @@ extern int metag_force_relocation (struct fix *);
/* Call md_pcrel_from_section(), not md_pcrel_from(). */
#define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
#define HANDLE_ALIGN(sec, fragp) metag_handle_align (fragp)
extern void metag_handle_align (struct frag *);
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
index 035a867..917b8f6 100644
--- a/gas/config/tc-microblaze.c
+++ b/gas/config/tc-microblaze.c
@@ -914,7 +914,7 @@ md_assemble (char * str)
return;
}
- opcode = (struct op_code_struct *) str_hash_find (opcode_hash_control, name);
+ opcode = str_hash_find (opcode_hash_control, name);
if (opcode == NULL)
{
as_bad (_("unknown opcode \"%s\""), name);
@@ -1044,13 +1044,9 @@ md_assemble (char * str)
count = 32 - reg1;
if (streq (name, "lmi"))
- opcode
- = (struct op_code_struct *) str_hash_find (opcode_hash_control,
- "lwi");
+ opcode = str_hash_find (opcode_hash_control, "lwi");
else
- opcode
- = (struct op_code_struct *) str_hash_find (opcode_hash_control,
- "swi");
+ opcode = str_hash_find (opcode_hash_control, "swi");
if (opcode == NULL)
{
as_bad (_("unknown opcode \"%s\""), "lwi");
@@ -1082,9 +1078,7 @@ md_assemble (char * str)
if ((temp != 0) && (temp != 0xFFFF8000))
{
/* Needs an immediate inst. */
- opcode1
- = (struct op_code_struct *) str_hash_find (opcode_hash_control,
- "imm");
+ opcode1 = str_hash_find (opcode_hash_control, "imm");
if (opcode1 == NULL)
{
as_bad (_("unknown opcode \"%s\""), "imm");
@@ -1618,9 +1612,7 @@ md_assemble (char * str)
if ((temp != 0) && (temp != 0xFFFF8000))
{
/* Needs an immediate inst. */
- opcode1
- = (struct op_code_struct *) str_hash_find (opcode_hash_control,
- "imm");
+ opcode1 = str_hash_find (opcode_hash_control, "imm");
if (opcode1 == NULL)
{
as_bad (_("unknown opcode \"%s\""), "imm");
@@ -1686,9 +1678,7 @@ md_assemble (char * str)
if ((temp != 0) && (temp != 0xFFFF8000))
{
/* Needs an immediate inst. */
- opcode1
- = (struct op_code_struct *) str_hash_find (opcode_hash_control,
- "imm");
+ opcode1 = str_hash_find (opcode_hash_control, "imm");
if (opcode1 == NULL)
{
as_bad (_("unknown opcode \"%s\""), "imm");
@@ -1761,9 +1751,7 @@ md_assemble (char * str)
if ((temp != 0) && (temp != 0xFFFF8000))
{
/* Needs an immediate inst. */
- opcode1
- = (struct op_code_struct *) str_hash_find (opcode_hash_control,
- "imm");
+ opcode1 = str_hash_find (opcode_hash_control, "imm");
if (opcode1 == NULL)
{
as_bad (_("unknown opcode \"%s\""), "imm");
@@ -2054,7 +2042,7 @@ md_apply_fix (fixS * fixP,
const char * file = fixP->fx_file ? fixP->fx_file : _("unknown");
const char * symname;
/* Note: use offsetT because it is signed, valueT is unsigned. */
- offsetT val = (offsetT) * valp;
+ offsetT val = *valp;
int i;
struct op_code_struct * opcode1;
unsigned long inst1;
@@ -2185,8 +2173,7 @@ md_apply_fix (fixS * fixP,
buf[i + INST_WORD_SIZE] = buf[i];
/* Generate the imm instruction. */
- opcode1
- = (struct op_code_struct *) str_hash_find (opcode_hash_control, "imm");
+ opcode1 = str_hash_find (opcode_hash_control, "imm");
if (opcode1 == NULL)
{
as_bad (_("unknown opcode \"%s\""), "imm");
@@ -2234,8 +2221,7 @@ md_apply_fix (fixS * fixP,
buf[i + INST_WORD_SIZE] = buf[i];
/* Generate the imm instruction. */
- opcode1
- = (struct op_code_struct *) str_hash_find (opcode_hash_control, "imm");
+ opcode1 = str_hash_find (opcode_hash_control, "imm");
if (opcode1 == NULL)
{
as_bad (_("unknown opcode \"%s\""), "imm");
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index eeb34ef..5e602a4 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -9031,7 +9031,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...)
r[1] = BFD_RELOC_UNUSED;
r[2] = BFD_RELOC_UNUSED;
hash = mips_opts.micromips ? micromips_op_hash : op_hash;
- amo = (struct mips_opcode *) str_hash_find (hash, name);
+ amo = str_hash_find (hash, name);
gas_assert (amo);
gas_assert (strcmp (name, amo->name) == 0);
@@ -9189,7 +9189,7 @@ mips16_macro_build (expressionS *ep, const char *name, const char *fmt,
bfd_reloc_code_real_type r[3]
= {BFD_RELOC_UNUSED, BFD_RELOC_UNUSED, BFD_RELOC_UNUSED};
- mo = (struct mips_opcode *) str_hash_find (mips16_op_hash, name);
+ mo = str_hash_find (mips16_op_hash, name);
gas_assert (mo);
gas_assert (strcmp (name, mo->name) == 0);
@@ -14266,7 +14266,7 @@ mips_lookup_insn (htab_t hash, const char *start,
name = xstrndup (start, length);
/* Look up the instruction as-is. */
- insn = (struct mips_opcode *) str_hash_find (hash, name);
+ insn = str_hash_find (hash, name);
if (insn)
goto end;
@@ -14278,7 +14278,7 @@ mips_lookup_insn (htab_t hash, const char *start,
if (*p == 0 && mask != 0)
{
*dot = 0;
- insn = (struct mips_opcode *) str_hash_find (hash, name);
+ insn = str_hash_find (hash, name);
*dot = '.';
if (insn && (insn->pinfo2 & INSN2_VU0_CHANNEL_SUFFIX) != 0)
{
@@ -14304,7 +14304,7 @@ mips_lookup_insn (htab_t hash, const char *start,
if (suffix)
{
memmove (name + opend - 2, name + opend, length - opend + 1);
- insn = (struct mips_opcode *) str_hash_find (hash, name);
+ insn = str_hash_find (hash, name);
if (insn)
{
forced_insn_length = suffix;
@@ -14418,7 +14418,7 @@ mips16_ip (char *str, struct mips_cl_insn *insn)
forced_insn_length = l;
*end = 0;
- first = (struct mips_opcode *) str_hash_find (mips16_op_hash, str);
+ first = str_hash_find (mips16_op_hash, str);
*end = c;
if (!first)
@@ -19809,7 +19809,7 @@ s_mips_end (int x ATTRIBUTE_UNUSED)
if (p && cur_proc_ptr)
{
OBJ_SYMFIELD_TYPE *obj = symbol_get_obj (p);
- expressionS *exp = XNEW (expressionS);
+ expressionS *exp = notes_alloc (sizeof (*exp));
obj->size = exp;
exp->X_op = O_subtract;
diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h
index 38a0e39..dff86c6 100644
--- a/gas/config/tc-mips.h
+++ b/gas/config/tc-mips.h
@@ -61,7 +61,7 @@ extern char mips_nop_opcode (void);
extern void mips_handle_align (struct frag *);
#define HANDLE_ALIGN(sec, fragp) mips_handle_align (fragp)
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
struct insn_label_list;
struct mips_segment_info {
diff --git a/gas/config/tc-mmix.c b/gas/config/tc-mmix.c
index 76a0618..dea9181 100644
--- a/gas/config/tc-mmix.c
+++ b/gas/config/tc-mmix.c
@@ -835,7 +835,7 @@ md_assemble (char *str)
*operands++ = '\0';
}
- instruction = (struct mmix_opcode *) str_hash_find (mmix_opcode_hash, str);
+ instruction = str_hash_find (mmix_opcode_hash, str);
if (instruction == NULL)
{
as_bad (_("unknown opcode: `%s'"), str);
@@ -2426,12 +2426,11 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT sec ATTRIBUTE_UNUSED,
void
md_apply_fix (fixS *fixP, valueT *valP, segT segment)
{
- char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
+ char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
/* Note: use offsetT because it is signed, valueT is unsigned. */
- offsetT val = (offsetT) * valP;
- segT symsec
- = (fixP->fx_addsy == NULL
- ? absolute_section : S_GET_SEGMENT (fixP->fx_addsy));
+ offsetT val = *valP;
+ segT symsec = (fixP->fx_addsy == NULL
+ ? absolute_section : S_GET_SEGMENT (fixP->fx_addsy));
/* If the fix is relative to a symbol which is not defined, or, (if
pcrel), not in the same segment as the fix, we cannot resolve it
diff --git a/gas/config/tc-mn10200.c b/gas/config/tc-mn10200.c
index 657f591..db66e20 100644
--- a/gas/config/tc-mn10200.c
+++ b/gas/config/tc-mn10200.c
@@ -884,7 +884,7 @@ md_assemble (char *str)
*s++ = '\0';
/* Find the first opcode with the proper name. */
- opcode = (struct mn10200_opcode *) str_hash_find (mn10200_hash, str);
+ opcode = str_hash_find (mn10200_hash, str);
if (opcode == NULL)
{
as_bad (_("Unrecognized opcode: `%s'"), str);
diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c
index 2167f40..c4cf804 100644
--- a/gas/config/tc-mn10300.c
+++ b/gas/config/tc-mn10300.c
@@ -1247,7 +1247,7 @@ md_assemble (char *str)
*s++ = '\0';
/* Find the first opcode with the proper name. */
- opcode = (struct mn10300_opcode *) str_hash_find (mn10300_hash, str);
+ opcode = str_hash_find (mn10300_hash, str);
if (opcode == NULL)
{
as_bad (_("Unrecognized opcode: `%s'"), str);
@@ -2325,7 +2325,7 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
{
char * fixpos = fixP->fx_where + fixP->fx_frag->fr_literal;
int size = 0;
- int value = (int) * valP;
+ int value = *valP;
gas_assert (fixP->fx_r_type < BFD_RELOC_UNUSED);
diff --git a/gas/config/tc-moxie.c b/gas/config/tc-moxie.c
index fec6a6f..3c47699 100644
--- a/gas/config/tc-moxie.c
+++ b/gas/config/tc-moxie.c
@@ -178,7 +178,7 @@ md_assemble (char *str)
if (nlen == 0)
as_bad (_("can't find opcode "));
- opcode = (moxie_opc_info_t *) str_hash_find (opcode_hash_control, op_start);
+ opcode = str_hash_find (opcode_hash_control, op_start);
*op_end = pend;
if (opcode == NULL)
diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c
index 7ce061b..563365f 100644
--- a/gas/config/tc-msp430.c
+++ b/gas/config/tc-msp430.c
@@ -4360,7 +4360,7 @@ md_assemble (char * str)
return;
}
- opcode = (struct msp430_opcode_s *) str_hash_find (msp430_hash, cmd);
+ opcode = str_hash_find (msp430_hash, cmd);
if (opcode == NULL)
{
diff --git a/gas/config/tc-nds32.c b/gas/config/tc-nds32.c
index 2e0b8e5..a159ddb 100644
--- a/gas/config/tc-nds32.c
+++ b/gas/config/tc-nds32.c
@@ -4633,16 +4633,15 @@ nds32_handle_align (fragS *fragp)
{
static const unsigned char nop16[] = { 0x92, 0x00 };
static const unsigned char nop32[] = { 0x40, 0x00, 0x00, 0x09 };
- int bytes;
- char *p;
if (fragp->fr_type != rs_align_code)
return;
- bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
- p = fragp->fr_literal + fragp->fr_fix;
+ int bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
+ char *p = fragp->fr_literal + fragp->fr_fix;
+ int fix = bytes & 1;
- if (bytes & 1)
+ if (fix != 0)
{
*p++ = 0;
bytes--;
@@ -4659,17 +4658,15 @@ nds32_handle_align (fragS *fragp)
memcpy (p, nop16, 2);
p += 2;
bytes -= 2;
+ fix += 2;
}
+ fragp->fr_fix += fix;
- while (bytes >= 4)
+ if (bytes != 0)
{
+ fragp->fr_var = 4;
memcpy (p, nop32, 4);
- p += 4;
- bytes -= 4;
}
-
- bytes = fragp->fr_next->fr_address - fragp->fr_address - fragp->fr_fix;
- fragp->fr_fix += bytes;
}
/* md_flush_pending_output */
@@ -6268,7 +6265,7 @@ static int
nds32_elf_append_relax_relocs_traverse (void **slot, void *arg ATTRIBUTE_UNUSED)
{
string_tuple_t *tuple = *((string_tuple_t **) slot);
- nds32_elf_append_relax_relocs (tuple->key, tuple->value);
+ nds32_elf_append_relax_relocs (tuple->key, (void *) tuple->value);
return 1;
}
diff --git a/gas/config/tc-nds32.h b/gas/config/tc-nds32.h
index 14109f0..f8966c5 100644
--- a/gas/config/tc-nds32.h
+++ b/gas/config/tc-nds32.h
@@ -112,6 +112,7 @@ extern void tc_nds32_frame_initial_instructions (void);
#define GAS_SORT_RELOCS 1
/* Values passed to md_apply_fix don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (1 + 2 + 4)
#define HANDLE_ALIGN(s, f) nds32_handle_align (f)
#undef DIFF_EXPR_OK /* They should be fixed in linker. */
#define md_relax_frag(segment, fragP, stretch) nds32_relax_frag (segment, fragP, stretch)
diff --git a/gas/config/tc-ns32k.c b/gas/config/tc-ns32k.c
index cf23c9b..13907f2 100644
--- a/gas/config/tc-ns32k.c
+++ b/gas/config/tc-ns32k.c
@@ -1105,7 +1105,7 @@ parse (const char *line, int recursive_level)
c = *lineptr;
*(char *) lineptr = '\0';
- desc = (struct ns32k_opcode *) str_hash_find (inst_hash_handle, line);
+ desc = str_hash_find (inst_hash_handle, line);
if (!desc)
as_fatal (_("No such opcode"));
@@ -1966,7 +1966,7 @@ md_fix_pcrel_adjust (fixS *fixP)
void
md_apply_fix (fixS *fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
{
- long val = * (long *) valP;
+ long val = *valP;
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
if (fix_bit_fixP (fixP))
diff --git a/gas/config/tc-pdp11.c b/gas/config/tc-pdp11.c
index 2c3722c..2c8a1b8 100644
--- a/gas/config/tc-pdp11.c
+++ b/gas/config/tc-pdp11.c
@@ -239,12 +239,12 @@ md_number_to_chars (char con[], valueT value, int nbytes)
void
md_apply_fix (fixS *fixP,
- valueT * valP,
- segT seg ATTRIBUTE_UNUSED)
+ valueT *valP,
+ segT seg ATTRIBUTE_UNUSED)
{
valueT code;
valueT mask;
- valueT val = * valP;
+ valueT val = *valP;
char *buf;
int shift;
int size;
@@ -710,7 +710,7 @@ md_assemble (char *instruction_string)
c = *p;
*p = '\0';
- op = (struct pdp11_opcode *)str_hash_find (insn_hash, str);
+ op = str_hash_find (insn_hash, str);
*p = c;
if (op == 0)
{
diff --git a/gas/config/tc-pj.c b/gas/config/tc-pj.c
index 849f905..61fada7 100644
--- a/gas/config/tc-pj.c
+++ b/gas/config/tc-pj.c
@@ -252,7 +252,7 @@ md_assemble (char *str)
if (nlen == 0)
as_bad (_("can't find opcode "));
- opcode = (pj_opc_info_t *) str_hash_find (opcode_hash_control, op_start);
+ opcode = str_hash_find (opcode_hash_control, op_start);
*op_end = pend;
if (opcode == NULL)
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 33f3a4c..714dfca 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -3331,8 +3331,8 @@ md_assemble (char *str)
*s++ = '\0';
/* Look up the opcode in the hash table. */
- opcode = (const struct powerpc_opcode *) str_hash_find (ppc_hash, str);
- if (opcode == (const struct powerpc_opcode *) NULL)
+ opcode = str_hash_find (ppc_hash, str);
+ if (opcode == NULL)
{
as_bad (_("unrecognized opcode: `%s'"), str);
ppc_clear_labels ();
@@ -6140,9 +6140,6 @@ ppc_frob_symbol (symbolS *sym)
if (SF_GET_FUNCTION (sym))
{
- /* Make sure coff_last_function is reset. Otherwise, we won't create
- the auxent for the next function. */
- coff_last_function = 0;
ppc_last_function = sym;
if (symbol_get_tc (sym)->u.size != (symbolS *) NULL)
{
@@ -6170,10 +6167,6 @@ ppc_frob_symbol (symbolS *sym)
{
set_end = ppc_last_function;
ppc_last_function = NULL;
-
- /* We don't have a C_EFCN symbol, but we need to force the
- COFF backend to believe that it has seen one. */
- coff_last_function = NULL;
}
}
@@ -6894,6 +6887,9 @@ ppc_handle_align (segT sec, struct frag *fragP)
{
valueT count = (fragP->fr_next->fr_address
- (fragP->fr_address + fragP->fr_fix));
+ if (count == 0)
+ return;
+
char *dest = fragP->fr_literal + fragP->fr_fix;
enum ppc_nop_encoding_for_rs_align_code nop_select = *dest & 0xff;
@@ -6901,8 +6897,7 @@ ppc_handle_align (segT sec, struct frag *fragP)
We could pad with zeros up to an instruction boundary then follow
with nops but odd counts indicate data in an executable section
so padding with zeros is most appropriate. */
- if (count == 0
- || (nop_select == PPC_NOP_VLE ? (count & 1) != 0 : (count & 3) != 0))
+ if (nop_select == PPC_NOP_VLE ? (count & 1) != 0 : (count & 3) != 0)
{
*dest = 0;
return;
@@ -6920,28 +6915,13 @@ ppc_handle_align (segT sec, struct frag *fragP)
if (count > 4 * nop_limit && count < 0x2000000)
{
- struct frag *rest;
-
- /* Make a branch, then follow with nops. Insert another
- frag to handle the nops. */
+ /* Make a branch, then follow with nops. */
md_number_to_chars (dest, 0x48000000 + count, 4);
+ dest += 4;
+ fragP->fr_fix += 4;
count -= 4;
if (count == 0)
return;
-
- segment_info_type *seginfo = seg_info (sec);
- struct obstack *ob = &seginfo->frchainP->frch_obstack;
- rest = frag_alloc (ob, 4);
- memcpy (rest, fragP, SIZEOF_STRUCT_FRAG);
- fragP->fr_next = rest;
- fragP = rest;
- rest->fr_address += rest->fr_fix + 4;
- rest->fr_fix = 0;
- /* If we leave the next frag as rs_align_code we'll come here
- again, resulting in a bunch of branches rather than a
- branch followed by nops. */
- rest->fr_type = rs_align;
- dest = rest->fr_literal;
}
md_number_to_chars (dest, 0x60000000, 4);
@@ -6984,7 +6964,7 @@ ppc_handle_align (segT sec, struct frag *fragP)
void
md_apply_fix (fixS *fixP, valueT *valP, segT seg)
{
- valueT value = * valP;
+ valueT value = *valP;
offsetT fieldval;
const struct powerpc_operand *operand;
diff --git a/gas/config/tc-ppc.h b/gas/config/tc-ppc.h
index f6b37f8..97e2f4e 100644
--- a/gas/config/tc-ppc.h
+++ b/gas/config/tc-ppc.h
@@ -72,7 +72,7 @@ extern const char *ppc_target_format (void);
/* We don't need to handle .word strangely. */
#define WORKING_DOT_WORD
-#define MAX_MEM_FOR_RS_ALIGN_CODE 4
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) 8
#define HANDLE_ALIGN(SEC, FRAGP) \
if ((FRAGP)->fr_type == rs_align_code) \
ppc_handle_align (SEC, FRAGP);
diff --git a/gas/config/tc-pru.c b/gas/config/tc-pru.c
index 70a4e76..00208e4 100644
--- a/gas/config/tc-pru.c
+++ b/gas/config/tc-pru.c
@@ -134,12 +134,12 @@ typedef struct pru_insn_info
/* Opcode hash table. */
static htab_t pru_opcode_hash = NULL;
#define pru_opcode_lookup(NAME) \
- ((struct pru_opcode *) str_hash_find (pru_opcode_hash, (NAME)))
+ (str_hash_find (pru_opcode_hash, (NAME)))
/* Register hash table. */
static htab_t pru_reg_hash = NULL;
#define pru_reg_lookup(NAME) \
- ((struct pru_reg *) str_hash_find (pru_reg_hash, (NAME)))
+ (str_hash_find (pru_reg_hash, (NAME)))
/* The known current alignment of the current section. */
static int pru_current_align;
diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
index 8485ad4..d0030de 100644
--- a/gas/config/tc-riscv.c
+++ b/gas/config/tc-riscv.c
@@ -93,6 +93,7 @@ enum riscv_csr_class
CSR_CLASS_SSAIA_AND_H_32, /* Ssaia with H, rv32 only */
CSR_CLASS_SSAIA_OR_SSCSRIND, /* Ssaia/Smcsrind */
CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H, /* Ssaia/Smcsrind with H */
+ CSR_CLASS_SSCCFG, /* Ssccfg */
CSR_CLASS_SSCSRIND, /* Sscsrind */
CSR_CLASS_SSCSRIND_AND_H, /* Sscsrind with H */
CSR_CLASS_SSSTATEEN, /* S[ms]stateen only */
@@ -932,7 +933,7 @@ opcode_name_lookup (char **s)
save_c = *e;
*e = '\0';
- o = (struct opcode_name_t *) str_hash_find (opcode_names_hash, *s);
+ o = str_hash_find (opcode_names_hash, *s);
/* Advance to next token if one was recognized. */
if (o)
@@ -960,15 +961,15 @@ static htab_t reg_names_hash = NULL;
static htab_t csr_extra_hash = NULL;
#define ENCODE_REG_HASH(cls, n) \
- ((void *)(uintptr_t)((n) * RCLASS_MAX + (cls) + 1))
-#define DECODE_REG_CLASS(hash) (((uintptr_t)(hash) - 1) % RCLASS_MAX)
-#define DECODE_REG_NUM(hash) (((uintptr_t)(hash) - 1) / RCLASS_MAX)
+ ((n) * RCLASS_MAX + (cls) + 1)
+#define DECODE_REG_CLASS(hash) (((hash) - 1) % RCLASS_MAX)
+#define DECODE_REG_NUM(hash) (((hash) - 1) / RCLASS_MAX)
static void
hash_reg_name (enum reg_class class, const char *name, unsigned n)
{
- void *hash = ENCODE_REG_HASH (class, n);
- if (str_hash_insert (reg_names_hash, name, hash, 0) != NULL)
+ uintptr_t hash = ENCODE_REG_HASH (class, n);
+ if (str_hash_insert_int (reg_names_hash, name, hash, 0) != NULL)
as_fatal (_("internal: duplicate %s"), name);
}
@@ -994,7 +995,7 @@ riscv_init_csr_hash (const char *name,
bool need_enrty = true;
pre_entry = NULL;
- entry = (struct riscv_csr_extra *) str_hash_find (csr_extra_hash, name);
+ entry = str_hash_find (csr_extra_hash, name);
while (need_enrty && entry != NULL)
{
if (entry->csr_class == class
@@ -1118,6 +1119,9 @@ riscv_csr_address (const char *csr_name,
is_h_required = (csr_class == CSR_CLASS_SSAIA_OR_SSCSRIND_AND_H);
extension = "ssaia or sscsrind";
break;
+ case CSR_CLASS_SSCCFG:
+ extension = "ssccfg";
+ break;
case CSR_CLASS_SSCSRIND:
case CSR_CLASS_SSCSRIND_AND_H:
is_h_required = (csr_class == CSR_CLASS_SSCSRIND_AND_H);
@@ -1206,8 +1210,7 @@ riscv_csr_address (const char *csr_name,
static unsigned int
reg_csr_lookup_internal (const char *s)
{
- struct riscv_csr_extra *r =
- (struct riscv_csr_extra *) str_hash_find (csr_extra_hash, s);
+ struct riscv_csr_extra *r = str_hash_find (csr_extra_hash, s);
if (r == NULL)
return -1U;
@@ -1218,13 +1221,13 @@ reg_csr_lookup_internal (const char *s)
static unsigned int
reg_lookup_internal (const char *s, enum reg_class class)
{
- void *r;
+ uintptr_t r;
if (class == RCLASS_CSR)
return reg_csr_lookup_internal (s);
- r = str_hash_find (reg_names_hash, s);
- if (r == NULL || DECODE_REG_CLASS (r) != class)
+ r = str_hash_find_int (reg_names_hash, s);
+ if (r == (uintptr_t) -1 || DECODE_REG_CLASS (r) != class)
return -1;
if (riscv_subset_supports (&riscv_rps_as, "e")
@@ -1752,6 +1755,21 @@ validate_riscv_insn (const struct riscv_opcode *opc, int length)
goto unknown_validate_operand;
}
break;
+ case 'm': /* Vendor-specific (MIPS) operands. */
+ switch (*++oparg)
+ {
+ case '@': USE_BITS (OP_MASK_MIPS_HINT, OP_SH_MIPS_HINT);
+ break;
+ case '#': USE_BITS (OP_MASK_MIPS_IMM9, OP_SH_MIPS_IMM9);
+ break;
+ case '$': used_bits |= ENCODE_MIPS_LDP_IMM (-1U); break;
+ case '%': used_bits |= ENCODE_MIPS_LWP_IMM (-1U); break;
+ case '^': used_bits |= ENCODE_MIPS_SDP_IMM (-1U); break;
+ case '&': used_bits |= ENCODE_MIPS_SWP_IMM (-1U); break;
+ default:
+ goto unknown_validate_operand;
+ }
+ break;
default:
goto unknown_validate_operand;
}
@@ -2029,7 +2047,7 @@ macro_build (expressionS *ep, const char *name, const char *fmt, ...)
va_start (args, fmt);
r = BFD_RELOC_UNUSED;
- mo = (struct riscv_opcode *) str_hash_find (op_hash, name);
+ mo = str_hash_find (op_hash, name);
gas_assert (mo);
/* Find a non-RVC variant of the instruction. append_insn will compress
@@ -2845,7 +2863,7 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
break;
}
- insn = (struct riscv_opcode *) str_hash_find (hash, str);
+ insn = str_hash_find (hash, str);
probing_insn_operands = true;
@@ -4173,6 +4191,92 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
#undef ENCODE_UIMM_BIT_FIELD
break;
+ case 'm': /* Vendor-specific (MIPS) operands. */
+ switch (*++oparg)
+ {
+ case '@': /* hint 0 - 31. */
+ my_getExpression (imm_expr, asarg);
+ check_absolute_expr (ip, imm_expr, FALSE);
+ if ((unsigned long)imm_expr->X_add_number > 31)
+ as_bad(_("Improper hint amount (%lu)"),
+ (unsigned long)imm_expr->X_add_number);
+ INSERT_OPERAND(MIPS_HINT, *ip, imm_expr->X_add_number);
+ imm_expr->X_op = O_absent;
+ asarg = expr_parse_end;
+ continue;
+
+ case '#': /* immediate 0 - 511. */
+ my_getExpression (imm_expr, asarg);
+ check_absolute_expr (ip, imm_expr, FALSE);
+ if ((unsigned long)imm_expr->X_add_number > 511)
+ as_bad(_("Improper immediate amount (%lu)"),
+ (unsigned long)imm_expr->X_add_number);
+ INSERT_OPERAND(MIPS_IMM9, *ip, imm_expr->X_add_number);
+ imm_expr->X_op = O_absent;
+ asarg = expr_parse_end;
+ continue;
+
+ case '$': /* LDP offset 0 to (1<<7)-8. */
+ my_getExpression (imm_expr, asarg);
+ check_absolute_expr (ip, imm_expr, FALSE);
+ if ((unsigned long)imm_expr->X_add_number >= (1 << 7)
+ || ((unsigned long)imm_expr->X_add_number & 0x7) != 0)
+ as_bad(_("Improper LDP offset amount (%lu)"),
+ (unsigned long)imm_expr->X_add_number);
+ INSERT_OPERAND(MIPS_LDP_OFFSET, *ip,
+ (imm_expr->X_add_number >> 3));
+ imm_expr->X_op = O_absent;
+ asarg = expr_parse_end;
+ continue;
+
+ case '%': /* LWP offset 0 to (1<<7)-4. */
+ my_getExpression (imm_expr, asarg);
+ check_absolute_expr (ip, imm_expr, FALSE);
+ if ((unsigned long)imm_expr->X_add_number >= (1 << 7)
+ || ((unsigned long)imm_expr->X_add_number & 0x3) != 0)
+ as_bad(_("Improper LWP offset amount (%lu)"),
+ (unsigned long)imm_expr->X_add_number);
+ INSERT_OPERAND(MIPS_LWP_OFFSET, *ip,
+ (imm_expr->X_add_number >> 2));
+ imm_expr->X_op = O_absent;
+ asarg = expr_parse_end;
+ continue;
+
+ case '^': /* SDP offset 0 to (1<<7)-8. */
+ my_getExpression (imm_expr, asarg);
+ check_absolute_expr (ip, imm_expr, FALSE);
+ if ((unsigned long)imm_expr->X_add_number >= (1 << 7)
+ || ((unsigned long)imm_expr->X_add_number & 0x7) != 0)
+ as_bad(_("Improper SDP offset amount (%lu)"),
+ (unsigned long)imm_expr->X_add_number);
+ INSERT_OPERAND(MIPS_SDP_OFFSET10, *ip,
+ (imm_expr->X_add_number >> 3));
+ INSERT_OPERAND(MIPS_SDP_OFFSET25, *ip,
+ (imm_expr->X_add_number >> 5));
+ imm_expr->X_op = O_absent;
+ asarg = expr_parse_end;
+ continue;
+
+ case '&': /* SWP offset 0 to (1<<7)-4. */
+ my_getExpression (imm_expr, asarg);
+ check_absolute_expr (ip, imm_expr, FALSE);
+ if ((unsigned long)imm_expr->X_add_number >= (1 << 7)
+ || ((unsigned long)imm_expr->X_add_number & 0x3) != 0)
+ as_bad(_("Improper SWP offset amount (%lu)"),
+ (unsigned long)imm_expr->X_add_number);
+ INSERT_OPERAND(MIPS_SWP_OFFSET9, *ip,
+ (imm_expr->X_add_number >> 2));
+ INSERT_OPERAND(MIPS_SWP_OFFSET25, *ip,
+ (imm_expr->X_add_number >> 5));
+ imm_expr->X_op = O_absent;
+ asarg = expr_parse_end;
+ continue;
+
+ default:
+ goto unknown_riscv_ip_operand;
+ }
+ break;
+
default:
goto unknown_riscv_ip_operand;
}
@@ -4747,7 +4851,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
bfd_vma delta = target - md_pcrel_from (fixP);
bfd_putl32 (bfd_getl32 (buf) | ENCODE_JTYPE_IMM (delta), buf);
if (!riscv_opts.relax && S_IS_LOCAL (fixP->fx_addsy))
- fixP->fx_done = 1;
+ {
+ if (!VALID_JTYPE_IMM (delta))
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("invalid J-type offset (%+lld)"),
+ (long long) delta);
+ fixP->fx_done = 1;
+ }
}
break;
@@ -4759,7 +4869,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
bfd_vma delta = target - md_pcrel_from (fixP);
bfd_putl32 (bfd_getl32 (buf) | ENCODE_BTYPE_IMM (delta), buf);
if (!riscv_opts.relax && S_IS_LOCAL (fixP->fx_addsy))
- fixP->fx_done = 1;
+ {
+ if (!VALID_BTYPE_IMM (delta))
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("invalid B-type offset (%+lld)"),
+ (long long) delta);
+ fixP->fx_done = 1;
+ }
}
break;
@@ -4771,7 +4887,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
bfd_vma delta = target - md_pcrel_from (fixP);
bfd_putl16 (bfd_getl16 (buf) | ENCODE_CBTYPE_IMM (delta), buf);
if (!riscv_opts.relax && S_IS_LOCAL (fixP->fx_addsy))
- fixP->fx_done = 1;
+ {
+ if (!VALID_CBTYPE_IMM (delta))
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("invalid CB-type offset (%+lld)"),
+ (long long) delta);
+ fixP->fx_done = 1;
+ }
}
break;
@@ -4783,7 +4905,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
bfd_vma delta = target - md_pcrel_from (fixP);
bfd_putl16 (bfd_getl16 (buf) | ENCODE_CJTYPE_IMM (delta), buf);
if (!riscv_opts.relax && S_IS_LOCAL (fixP->fx_addsy))
- fixP->fx_done = 1;
+ {
+ if (!VALID_CJTYPE_IMM (delta))
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("invalid CJ-type offset (%+lld)"),
+ (long long) delta);
+ fixP->fx_done = 1;
+ }
}
break;
@@ -4818,7 +4946,14 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
| ENCODE_UTYPE_IMM (RISCV_CONST_HIGH_PART (value)),
buf);
if (!riscv_opts.relax)
- fixP->fx_done = 1;
+ {
+ if (xlen > 32
+ && !VALID_UTYPE_IMM (RISCV_CONST_HIGH_PART (value)))
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("invalid pcrel_hi offset (%+lld)"),
+ (long long) value);
+ fixP->fx_done = 1;
+ }
}
relaxable = true;
break;
@@ -4844,7 +4979,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
bfd_putl32 (bfd_getl32 (buf) | ENCODE_STYPE_IMM (value), buf);
else
bfd_putl32 (bfd_getl32 (buf) | ENCODE_ITYPE_IMM (value), buf);
- /* Relaxations should never be enabled by `.option relax'. */
+ /* Relaxations should never be enabled by `.option relax'.
+ The offset is checked by corresponding %pcrel_hi entry. */
if (!riscv_opts.relax)
fixP->fx_done = 1;
}
@@ -5367,7 +5503,7 @@ RISC-V options:\n\
-fno-pic don't generate position-independent code (default)\n\
-march=ISA set the RISC-V architecture\n\
-misa-spec=ISAspec set the RISC-V ISA spec (2.2, 20190608, 20191213)\n\
- -mpriv-spec=PRIVspec set the RISC-V privilege spec (1.10, 1.11, 1.12)\n\
+ -mpriv-spec=PRIVspec set the RISC-V privilege spec (1.10, 1.11, 1.12, 1.13)\n\
-mabi=ABI set the RISC-V ABI\n\
-mrelax enable relax (default)\n\
-mno-relax disable relax\n\
@@ -5752,35 +5888,6 @@ s_variant_cc (int ignored ATTRIBUTE_UNUSED)
elfsym->internal_elf_sym.st_other |= STO_RISCV_VARIANT_CC;
}
-/* Same as elf_copy_symbol_attributes, but without copying st_other.
- This is needed so RISC-V specific st_other values can be independently
- specified for an IFUNC resolver (that is called by the dynamic linker)
- and the symbol it resolves (aliased to the resolver). In particular,
- if a function symbol has special st_other value set via directives,
- then attaching an IFUNC resolver to that symbol should not override
- the st_other setting. Requiring the directive on the IFUNC resolver
- symbol would be unexpected and problematic in C code, where the two
- symbols appear as two independent function declarations. */
-
-void
-riscv_elf_copy_symbol_attributes (symbolS *dest, symbolS *src)
-{
- struct elf_obj_sy *srcelf = symbol_get_obj (src);
- struct elf_obj_sy *destelf = symbol_get_obj (dest);
- /* If size is unset, copy size from src. Because we don't track whether
- .size has been used, we can't differentiate .size dest, 0 from the case
- where dest's size is unset. */
- if (!destelf->size && S_GET_SIZE (dest) == 0)
- {
- if (srcelf->size)
- {
- destelf->size = XNEW (expressionS);
- *destelf->size = *srcelf->size;
- }
- S_SET_SIZE (dest, S_GET_SIZE (src));
- }
-}
-
/* RISC-V pseudo-ops table. */
static const pseudo_typeS riscv_pseudo_table[] =
{
diff --git a/gas/config/tc-riscv.h b/gas/config/tc-riscv.h
index e2e8e7a..853f349 100644
--- a/gas/config/tc-riscv.h
+++ b/gas/config/tc-riscv.h
@@ -64,7 +64,7 @@ extern bool riscv_frag_align_code (int);
extern void riscv_handle_align (fragS *);
#define HANDLE_ALIGN(s, f) riscv_handle_align (f)
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
/* The ISA of the target may change based on command-line arguments. */
#define TARGET_FORMAT riscv_target_format ()
@@ -175,8 +175,16 @@ extern void riscv_init_frag (struct frag *, int);
#define obj_adjust_symtab() riscv_adjust_symtab ()
extern void riscv_adjust_symtab (void);
-void riscv_elf_copy_symbol_attributes (symbolS *, symbolS *);
+/* Don't copy st_other.
+ This is needed so RISC-V specific st_other values can be independently
+ specified for an IFUNC resolver (that is called by the dynamic linker)
+ and the symbol it resolves (aliased to the resolver). In particular,
+ if a function symbol has special st_other value set via directives,
+ then attaching an IFUNC resolver to that symbol should not override
+ the st_other setting. Requiring the directive on the IFUNC resolver
+ symbol would be unexpected and problematic in C code, where the two
+ symbols appear as two independent function declarations. */
#define OBJ_COPY_SYMBOL_ATTRIBUTES(DEST, SRC) \
- riscv_elf_copy_symbol_attributes (DEST, SRC)
+ elf_copy_symbol_size (DEST, SRC)
#endif /* TC_RISCV */
diff --git a/gas/config/tc-rl78.c b/gas/config/tc-rl78.c
index 6d24bc3..3593b00 100644
--- a/gas/config/tc-rl78.c
+++ b/gas/config/tc-rl78.c
@@ -1420,7 +1420,7 @@ md_apply_fix (struct fix * f ATTRIBUTE_UNUSED,
return;
op = f->fx_frag->fr_literal + f->fx_where;
- val = (unsigned long) * t;
+ val = *t;
if (f->fx_addsy == NULL)
f->fx_done = 1;
diff --git a/gas/config/tc-rl78.h b/gas/config/tc-rl78.h
index 4a51325..09d9987 100644
--- a/gas/config/tc-rl78.h
+++ b/gas/config/tc-rl78.h
@@ -75,7 +75,7 @@ extern void rl78_cons_fix_new (fragS *, int, int, expressionS *);
#define RELOC_EXPANSION_POSSIBLE 1
#define MAX_RELOC_EXPANSION 8
-#define MAX_MEM_FOR_RS_ALIGN_CODE 8
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) 8
#define HANDLE_ALIGN(SEC, FRAG) rl78_handle_align (FRAG)
extern void rl78_handle_align (fragS *);
diff --git a/gas/config/tc-rx.c b/gas/config/tc-rx.c
index bd45c53..0ecda64 100644
--- a/gas/config/tc-rx.c
+++ b/gas/config/tc-rx.c
@@ -2256,9 +2256,9 @@ rx_cons_fix_new (fragS * frag,
}
void
-md_apply_fix (struct fix * f ATTRIBUTE_UNUSED,
- valueT * t ATTRIBUTE_UNUSED,
- segT s ATTRIBUTE_UNUSED)
+md_apply_fix (struct fix *f,
+ valueT *t,
+ segT s ATTRIBUTE_UNUSED)
{
/* Instruction bytes are always little endian. */
char * op;
@@ -2274,7 +2274,7 @@ md_apply_fix (struct fix * f ATTRIBUTE_UNUSED,
#define OP4(x) op[target_big_endian ? 3-x : x]
op = f->fx_frag->fr_literal + f->fx_where;
- val = (unsigned long) * t;
+ val = *t;
/* Opcode words are always the same endian. Data words are either
big or little endian. */
diff --git a/gas/config/tc-rx.h b/gas/config/tc-rx.h
index 3c4524f..29c4382 100644
--- a/gas/config/tc-rx.h
+++ b/gas/config/tc-rx.h
@@ -96,7 +96,7 @@ extern void rx_cons_fix_new (fragS *, int, int, expressionS *,
goto around; \
}
-#define MAX_MEM_FOR_RS_ALIGN_CODE 8
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) 8
#define HANDLE_ALIGN(SEC, FRAG) rx_handle_align (FRAG)
extern void rx_handle_align (fragS *);
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index b846134..6e9dca0 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -1931,8 +1931,8 @@ md_assemble (char *str)
*s++ = '\0';
/* Look up the opcode in the hash table. */
- opcode = (struct s390_opcode *) str_hash_find (s390_opcode_hash, str);
- if (opcode == (const struct s390_opcode *) NULL)
+ opcode = str_hash_find (s390_opcode_hash, str);
+ if (opcode == NULL)
{
as_bad (_("Unrecognized opcode: `%s'"), str);
return;
@@ -1988,9 +1988,8 @@ s390_insn (int ignore ATTRIBUTE_UNUSED)
*s++ = '\0';
/* Look up the opcode in the hash table. */
- opformat = (struct s390_opcode *)
- str_hash_find (s390_opformat_hash, input_line_pointer);
- if (opformat == (const struct s390_opcode *) NULL)
+ opformat = str_hash_find (s390_opformat_hash, input_line_pointer);
+ if (opformat == NULL)
{
as_bad (_("Unrecognized opcode format: `%s'"), input_line_pointer);
return;
diff --git a/gas/config/tc-score.c b/gas/config/tc-score.c
index ab49875..79dcf77 100644
--- a/gas/config/tc-score.c
+++ b/gas/config/tc-score.c
@@ -1040,7 +1040,7 @@ s3_score_reg_parse (char **ccp, htab_t htab)
c = *p++;
*--p = 0;
- reg = (struct s3_reg_entry *) str_hash_find (htab, start);
+ reg = str_hash_find (htab, start);
*p = c;
if (reg)
@@ -2199,8 +2199,7 @@ s3_dependency_type_from_insn (char *insn_name)
const struct s3_insn_to_dependency *tmp;
strcpy (name, insn_name);
- tmp = (const struct s3_insn_to_dependency *)
- str_hash_find (s3_dependency_insn_hsh, name);
+ tmp = str_hash_find (s3_dependency_insn_hsh, name);
if (tmp)
return tmp->type;
@@ -2659,8 +2658,7 @@ s3_parse_16_32_inst (char *insnstr, bool gen_frag_p)
c = *p;
*p = '\0';
- opcode = (const struct s3_asm_opcode *) str_hash_find (s3_score_ops_hsh,
- operator);
+ opcode = str_hash_find (s3_score_ops_hsh, operator);
*p = c;
memset (&s3_inst, '\0', sizeof (s3_inst));
@@ -2706,8 +2704,7 @@ s3_parse_48_inst (char *insnstr, bool gen_frag_p)
c = *p;
*p = '\0';
- opcode = (const struct s3_asm_opcode *) str_hash_find (s3_score_ops_hsh,
- operator);
+ opcode = str_hash_find (s3_score_ops_hsh, operator);
*p = c;
memset (&s3_inst, '\0', sizeof (s3_inst));
diff --git a/gas/config/tc-score.h b/gas/config/tc-score.h
index 92776c8..e02ff8f 100644
--- a/gas/config/tc-score.h
+++ b/gas/config/tc-score.h
@@ -30,7 +30,7 @@
#define DIFF_EXPR_OK
#define RELOC_EXPANSION_POSSIBLE
#define MAX_RELOC_EXPANSION 2
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4)
#define md_undefined_symbol(name) NULL
diff --git a/gas/config/tc-score7.c b/gas/config/tc-score7.c
index c822144..b11f69f 100644
--- a/gas/config/tc-score7.c
+++ b/gas/config/tc-score7.c
@@ -1129,7 +1129,7 @@ s7_score_reg_parse (char **ccp, htab_t htab)
c = *p++;
*--p = 0;
- reg = (struct s7_reg_entry *) str_hash_find (htab, start);
+ reg = str_hash_find (htab, start);
*p = c;
if (reg)
@@ -2321,8 +2321,7 @@ s7_dependency_type_from_insn (char *insn_name)
const struct s7_insn_to_dependency *tmp;
strcpy (name, insn_name);
- tmp = (const struct s7_insn_to_dependency *)
- str_hash_find (s7_dependency_insn_hsh, name);
+ tmp = str_hash_find (s7_dependency_insn_hsh, name);
if (tmp)
return tmp->type;
@@ -2790,8 +2789,7 @@ s7_parse_16_32_inst (char *insnstr, bool gen_frag_p)
c = *p;
*p = '\0';
- opcode = (const struct s7_asm_opcode *) str_hash_find (s7_score_ops_hsh,
- operator);
+ opcode = str_hash_find (s7_score_ops_hsh, operator);
*p = c;
memset (&s7_inst, '\0', sizeof (s7_inst));
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index db11939..c37306f 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -544,6 +544,7 @@ sh_optimize_expr (expressionS *l, operatorT op, expressionS *r)
add_to_result (l, symval_diff, symval_diff < 0);
l->X_op = O_constant;
l->X_add_symbol = 0;
+ l->X_unsigned = 0;
return 1;
}
return 0;
@@ -2180,7 +2181,7 @@ find_cooked_opcode (char **str_p)
if (nlen == 0)
as_bad (_("can't find opcode "));
- return (sh_opcode_info *) str_hash_find (opcode_hash_control, name);
+ return str_hash_find (opcode_hash_control, name);
}
/* Assemble a parallel processing insn. */
@@ -3396,7 +3397,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
int lowbyte = target_big_endian ? 1 : 0;
int highbyte = target_big_endian ? 0 : 1;
- long val = (long) *valP;
+ long val = *valP;
long max, min;
int shift;
diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h
index fb1e4b8..1ed0f5e 100644
--- a/gas/config/tc-sh.h
+++ b/gas/config/tc-sh.h
@@ -56,7 +56,7 @@ extern int sh_optimize_expr (expressionS *, operatorT, expressionS *);
#define HANDLE_ALIGN(sec, frag) sh_handle_align (frag)
extern void sh_handle_align (fragS *);
-#define MAX_MEM_FOR_RS_ALIGN_CODE (1 + 2)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (1 + 2)
/* We need to force out some relocations when relaxing. */
#define TC_FORCE_RELOCATION(fix) sh_force_relocation (fix)
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index e303169..6db8481 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -979,9 +979,9 @@ md_begin (void)
{
const struct sparc_opcode *insn;
const char *name = ((sparc_arch_size == 32)
- ? native_op_table[i].name32
- : native_op_table[i].name64);
- insn = (struct sparc_opcode *) str_hash_find (op_hash, name);
+ ? native_op_table[i].name32
+ : native_op_table[i].name64);
+ insn = str_hash_find (op_hash, name);
if (insn == NULL)
{
as_bad (_("Internal error: can't find opcode `%s' for `%s'\n"),
@@ -1756,7 +1756,7 @@ sparc_ip (char *str, const struct sparc_opcode **pinsn)
*pinsn = NULL;
return special_case;
}
- insn = (struct sparc_opcode *) str_hash_find (op_hash, str);
+ insn = str_hash_find (op_hash, str);
*pinsn = insn;
if (insn == NULL)
{
@@ -3460,7 +3460,7 @@ void
md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
{
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
- offsetT val = * (offsetT *) valP;
+ offsetT val = *valP;
long insn;
gas_assert (fixP->fx_r_type < BFD_RELOC_UNUSED);
diff --git a/gas/config/tc-sparc.h b/gas/config/tc-sparc.h
index b87212f..d569fe7 100644
--- a/gas/config/tc-sparc.h
+++ b/gas/config/tc-sparc.h
@@ -78,7 +78,7 @@ extern void sparc_cons_align (int);
#define HANDLE_ALIGN(sec, fragp) sparc_handle_align (fragp)
extern void sparc_handle_align (struct frag *);
-#define MAX_MEM_FOR_RS_ALIGN_CODE (3 + 4 + 4)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (3 + 4 + 4)
#define DIFF_EXPR_OK /* foo-. gets turned into PC relative relocs */
diff --git a/gas/config/tc-spu.c b/gas/config/tc-spu.c
index 335fffc..1c8f7c5 100644
--- a/gas/config/tc-spu.c
+++ b/gas/config/tc-spu.c
@@ -273,7 +273,7 @@ md_assemble (char *op)
/* try to find the instruction in the hash table */
- if ((format = (struct spu_opcode *) str_hash_find (op_hash, op)) == NULL)
+ if ((format = str_hash_find (op_hash, op)) == NULL)
{
as_bad (_("Invalid mnemonic '%s'"), op);
return;
diff --git a/gas/config/tc-spu.h b/gas/config/tc-spu.h
index 4c16485..7089615 100644
--- a/gas/config/tc-spu.h
+++ b/gas/config/tc-spu.h
@@ -104,6 +104,6 @@ extern symbolS *section_symbol (asection *);
extern void spu_handle_align (fragS *);
#define HANDLE_ALIGN(sec, frag) spu_handle_align (frag)
-#define MAX_MEM_FOR_RS_ALIGN_CODE (7 + 8)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (7 + 8)
#endif /* TC_SPU */
diff --git a/gas/config/tc-tic30.c b/gas/config/tc-tic30.c
index 1da1618..87cf09a 100644
--- a/gas/config/tc-tic30.c
+++ b/gas/config/tc-tic30.c
@@ -516,7 +516,7 @@ tic30_operand (char *token)
return NULL;
}
- ind_addr_op = (ind_addr_type *) str_hash_find (ind_hash, ind_buffer);
+ ind_addr_op = str_hash_find (ind_hash, ind_buffer);
if (ind_addr_op)
{
debug ("Found indirect reference: %s\n", ind_addr_op->syntax);
@@ -555,7 +555,7 @@ tic30_operand (char *token)
}
else
{
- reg *regop = (reg *) str_hash_find (reg_hash, token);
+ reg *regop = str_hash_find (reg_hash, token);
if (regop)
{
@@ -652,7 +652,7 @@ tic30_parallel_insn (char *token)
/* Find instruction. */
save_char = *current_posn;
*current_posn = '\0';
- p_opcode = (partemplate *) str_hash_find (parop_hash, token);
+ p_opcode = str_hash_find (parop_hash, token);
if (p_opcode)
{
debug ("Found instruction %s\n", p_opcode->name);
@@ -697,7 +697,7 @@ tic30_parallel_insn (char *token)
debug ("first_opcode = %s\n", first_opcode);
debug ("second_opcode = %s\n", second_opcode);
sprintf (token, "q_%s_%s", second_opcode, first_opcode);
- p_opcode = (partemplate *) str_hash_find (parop_hash, token);
+ p_opcode = str_hash_find (parop_hash, token);
if (p_opcode)
{
@@ -1443,7 +1443,7 @@ md_assemble (char *line)
/* Find instruction. */
save_char = *current_posn;
*current_posn = '\0';
- op = (insn_template *) str_hash_find (op_hash, token_start);
+ op = str_hash_find (op_hash, token_start);
if (op)
{
debug ("Found instruction %s\n", op->name);
diff --git a/gas/config/tc-tic4x.c b/gas/config/tc-tic4x.c
index 97a088c..167a94f 100644
--- a/gas/config/tc-tic4x.c
+++ b/gas/config/tc-tic4x.c
@@ -2450,8 +2450,7 @@ md_assemble (char *str)
if (insn->in_use)
{
- if ((insn->inst = (struct tic4x_inst *)
- str_hash_find (tic4x_op_hash, insn->name)) == NULL)
+ if ((insn->inst = str_hash_find (tic4x_op_hash, insn->name)) == NULL)
{
as_bad (_("Unknown opcode `%s'."), insn->name);
insn->parallel = 0;
diff --git a/gas/config/tc-tic54x.c b/gas/config/tc-tic54x.c
index cda4f49..db3def4 100644
--- a/gas/config/tc-tic54x.c
+++ b/gas/config/tc-tic54x.c
@@ -801,7 +801,7 @@ tic54x_tag (int ignore ATTRIBUTE_UNUSED)
{
char *name;
int c = get_symbol_name (&name);
- struct stag *stag = (struct stag *) str_hash_find (stag_hash, name);
+ struct stag *stag = str_hash_find (stag_hash, name);
if (!stag)
{
@@ -2733,7 +2733,7 @@ subsym_isreg (char *a, char *ignore ATTRIBUTE_UNUSED)
static int
subsym_structsz (char *name, char *ignore ATTRIBUTE_UNUSED)
{
- struct stag *stag = (struct stag *) str_hash_find (stag_hash, name);
+ struct stag *stag = str_hash_find (stag_hash, name);
if (stag)
return stag->size;
@@ -3667,7 +3667,7 @@ encode_integer (tic54x_insn *insn,
static int
encode_condition (tic54x_insn *insn, struct opstruct *operand)
{
- tic54x_symbol *cc = (tic54x_symbol *) str_hash_find (cc_hash, operand->buf);
+ tic54x_symbol *cc = str_hash_find (cc_hash, operand->buf);
if (!cc)
{
as_bad (_("Unrecognized condition code \"%s\""), operand->buf);
@@ -3727,7 +3727,7 @@ encode_condition (tic54x_insn *insn, struct opstruct *operand)
static int
encode_cc3 (tic54x_insn *insn, struct opstruct *operand)
{
- tic54x_symbol *cc3 = (tic54x_symbol *) str_hash_find (cc3_hash, operand->buf);
+ tic54x_symbol *cc3 = str_hash_find (cc3_hash, operand->buf);
int value = cc3 ? cc3->value : operand->exp.X_add_number << 8;
if ((value & 0x0300) != value)
@@ -3756,7 +3756,7 @@ encode_arx (tic54x_insn *insn, struct opstruct *operand)
static int
encode_cc2 (tic54x_insn *insn, struct opstruct *operand)
{
- tic54x_symbol *cc2 = (tic54x_symbol *) str_hash_find (cc2_hash, operand->buf);
+ tic54x_symbol *cc2 = str_hash_find (cc2_hash, operand->buf);
if (!cc2)
{
@@ -3915,8 +3915,7 @@ encode_operand (tic54x_insn *insn, enum optype type, struct opstruct *operand)
0, 65535, 0xFFFF);
case OP_SBIT:
{
- tic54x_symbol *sbit = (tic54x_symbol *)
- str_hash_find (sbit_hash, operand->buf);
+ tic54x_symbol *sbit = str_hash_find (sbit_hash, operand->buf);
int value = is_absolute (operand) ?
operand->exp.X_add_number : (sbit ? sbit->value : -1);
int reg = 0;
@@ -4170,7 +4169,7 @@ optimize_insn (tic54x_insn *insn)
static int
tic54x_parse_insn (tic54x_insn *insn, char *line)
{
- insn->tm = (insn_template *) str_hash_find (op_hash, insn->mnemonic);
+ insn->tm = str_hash_find (op_hash, insn->mnemonic);
if (!insn->tm)
{
as_bad (_("Unrecognized instruction \"%s\""), insn->mnemonic);
@@ -4193,8 +4192,7 @@ tic54x_parse_insn (tic54x_insn *insn, char *line)
/* SUCCESS! now try some optimizations. */
if (optimize_insn (insn))
{
- insn->tm = (insn_template *) str_hash_find (op_hash,
- insn->mnemonic);
+ insn->tm = str_hash_find (op_hash, insn->mnemonic);
continue;
}
@@ -4229,7 +4227,7 @@ next_line_shows_parallel (char *next_line)
static int
tic54x_parse_parallel_insn_firstline (tic54x_insn *insn, char *line)
{
- insn->tm = (insn_template *) str_hash_find (parop_hash, insn->mnemonic);
+ insn->tm = str_hash_find (parop_hash, insn->mnemonic);
if (!insn->tm)
{
as_bad (_("Unrecognized parallel instruction \"%s\""),
@@ -5054,13 +5052,13 @@ tic54x_undefined_symbol (char *name)
tic54x_symbol *sym;
/* Not sure how to handle predefined symbols. */
- if ((sym = (tic54x_symbol *) str_hash_find (cc_hash, name)) != NULL
- || (sym = (tic54x_symbol *) str_hash_find (cc2_hash, name)) != NULL
- || (sym = (tic54x_symbol *) str_hash_find (cc3_hash, name)) != NULL
+ if ((sym = str_hash_find (cc_hash, name)) != NULL
+ || (sym = str_hash_find (cc2_hash, name)) != NULL
+ || (sym = str_hash_find (cc3_hash, name)) != NULL
|| str_hash_find (misc_symbol_hash, name) != NULL
- || (sym = (tic54x_symbol *) str_hash_find (sbit_hash, name)) != NULL
- || (sym = (tic54x_symbol *) str_hash_find (reg_hash, name)) != NULL
- || (sym = (tic54x_symbol *) str_hash_find (mmreg_hash, name)) != NULL
+ || (sym = str_hash_find (sbit_hash, name)) != NULL
+ || (sym = str_hash_find (reg_hash, name)) != NULL
+ || (sym = str_hash_find (mmreg_hash, name)) != NULL
|| !strcasecmp (name, "a")
|| !strcasecmp (name, "b"))
{
diff --git a/gas/config/tc-tilegx.c b/gas/config/tc-tilegx.c
index 26612ac..f70388c 100644
--- a/gas/config/tc-tilegx.c
+++ b/gas/config/tc-tilegx.c
@@ -275,7 +275,7 @@ md_begin (void)
/* Initialize special operator hash table. */
special_operator_hash = str_htab_create ();
#define INSERT_SPECIAL_OP(name) \
- str_hash_insert (special_operator_hash, #name, (void *) O_##name, 0)
+ str_hash_insert_int (special_operator_hash, #name, O_##name, 0)
INSERT_SPECIAL_OP (hw0);
INSERT_SPECIAL_OP (hw1);
@@ -285,7 +285,7 @@ md_begin (void)
INSERT_SPECIAL_OP (hw1_last);
INSERT_SPECIAL_OP (hw2_last);
/* hw3_last is a convenience alias for the equivalent hw3. */
- str_hash_insert (special_operator_hash, "hw3_last", (void *) O_hw3, 0);
+ str_hash_insert_int (special_operator_hash, "hw3_last", O_hw3, 0);
INSERT_SPECIAL_OP (hw0_got);
INSERT_SPECIAL_OP (hw0_last_got);
INSERT_SPECIAL_OP (hw1_last_got);
@@ -329,14 +329,14 @@ md_begin (void)
{
char buf[64];
- str_hash_insert (main_reg_hash, tilegx_register_names[i],
- (void *) (long) (i | CANONICAL_REG_NAME_FLAG), 0);
+ str_hash_insert_int (main_reg_hash, tilegx_register_names[i],
+ i | CANONICAL_REG_NAME_FLAG, 0);
/* See if we should insert a noncanonical alias, like r63. */
sprintf (buf, "r%d", i);
if (strcmp (buf, tilegx_register_names[i]) != 0)
- str_hash_insert (main_reg_hash, xstrdup (buf),
- (void *) (long) (i | NONCANONICAL_REG_NAME_FLAG), 0);
+ str_hash_insert_int (main_reg_hash, xstrdup (buf),
+ i | NONCANONICAL_REG_NAME_FLAG, 0);
}
}
@@ -1027,10 +1027,10 @@ tilegx_parse_name (char *name, expressionS *e, char *nextcharP)
else
{
/* Look up the operator in our table. */
- void* val = str_hash_find (special_operator_hash, name);
- if (val == 0)
+ int opint = str_hash_find_int (special_operator_hash, name);
+ if (opint < 0)
return 0;
- op = (operatorT)(long)val;
+ op = opint;
}
/* Restore old '(' and skip it. */
@@ -1083,23 +1083,17 @@ tilegx_parse_name (char *name, expressionS *e, char *nextcharP)
static void
parse_reg_expression (expressionS* expression)
{
- char *regname;
- char terminating_char;
- void *pval;
- int regno_and_flags;
- int regno;
-
/* Zero everything to make sure we don't miss any flags. */
memset (expression, 0, sizeof *expression);
- terminating_char = get_symbol_name (&regname);
+ char *regname;
+ char terminating_char = get_symbol_name (&regname);
- pval = str_hash_find (main_reg_hash, regname);
- if (pval == NULL)
+ int regno_and_flags = str_hash_find_int (main_reg_hash, regname);
+ if (regno_and_flags < 0)
as_bad (_("Expected register, got '%s'."), regname);
- regno_and_flags = (int)(size_t)pval;
- regno = EXTRACT_REGNO(regno_and_flags);
+ int regno = EXTRACT_REGNO(regno_and_flags);
if ((regno_and_flags & NONCANONICAL_REG_NAME_FLAG)
&& require_canonical_reg_names)
diff --git a/gas/config/tc-tilegx.h b/gas/config/tc-tilegx.h
index 06db441..e3789e4 100644
--- a/gas/config/tc-tilegx.h
+++ b/gas/config/tc-tilegx.h
@@ -42,7 +42,7 @@ extern const char * tilegx_target_format (void);
#define HANDLE_ALIGN(sec, fragp) tilegx_handle_align (fragp)
extern void tilegx_handle_align (struct frag *);
-#define MAX_MEM_FOR_RS_ALIGN_CODE (7 + 8)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (7 + 8)
struct tilegx_operand;
#define TC_FIX_TYPE const struct tilegx_operand *
diff --git a/gas/config/tc-tilepro.c b/gas/config/tc-tilepro.c
index a7c599d..738b24a 100644
--- a/gas/config/tc-tilepro.c
+++ b/gas/config/tc-tilepro.c
@@ -218,7 +218,7 @@ md_begin (void)
/* Initialize special operator hash table. */
special_operator_hash = str_htab_create ();
#define INSERT_SPECIAL_OP(name) \
- str_hash_insert (special_operator_hash, #name, (void *) O_##name, 0)
+ str_hash_insert_int (special_operator_hash, #name, O_##name, 0)
INSERT_SPECIAL_OP(lo16);
INSERT_SPECIAL_OP(hi16);
@@ -265,29 +265,29 @@ md_begin (void)
{
char buf[64];
- str_hash_insert (main_reg_hash, tilepro_register_names[i],
- (void *) (long) (i | CANONICAL_REG_NAME_FLAG), 0);
+ str_hash_insert_int (main_reg_hash, tilepro_register_names[i],
+ i | CANONICAL_REG_NAME_FLAG, 0);
/* See if we should insert a noncanonical alias, like r63. */
sprintf (buf, "r%d", i);
if (strcmp (buf, tilepro_register_names[i]) != 0)
- str_hash_insert (main_reg_hash, xstrdup (buf),
- (void *) (long) (i | NONCANONICAL_REG_NAME_FLAG), 0);
+ str_hash_insert_int (main_reg_hash, xstrdup (buf),
+ i | NONCANONICAL_REG_NAME_FLAG, 0);
}
/* Insert obsolete backwards-compatibility register names. */
- str_hash_insert (main_reg_hash, "io0",
- (void *) (long) (TREG_IDN0 | CANONICAL_REG_NAME_FLAG), 0);
- str_hash_insert (main_reg_hash, "io1",
- (void *) (long) (TREG_IDN1 | CANONICAL_REG_NAME_FLAG), 0);
- str_hash_insert (main_reg_hash, "us0",
- (void *) (long) (TREG_UDN0 | CANONICAL_REG_NAME_FLAG), 0);
- str_hash_insert (main_reg_hash, "us1",
- (void *) (long) (TREG_UDN1 | CANONICAL_REG_NAME_FLAG), 0);
- str_hash_insert (main_reg_hash, "us2",
- (void *) (long) (TREG_UDN2 | CANONICAL_REG_NAME_FLAG), 0);
- str_hash_insert (main_reg_hash, "us3",
- (void *) (long) (TREG_UDN3 | CANONICAL_REG_NAME_FLAG), 0);
+ str_hash_insert_int (main_reg_hash, "io0",
+ TREG_IDN0 | CANONICAL_REG_NAME_FLAG, 0);
+ str_hash_insert_int (main_reg_hash, "io1",
+ TREG_IDN1 | CANONICAL_REG_NAME_FLAG, 0);
+ str_hash_insert_int (main_reg_hash, "us0",
+ TREG_UDN0 | CANONICAL_REG_NAME_FLAG, 0);
+ str_hash_insert_int (main_reg_hash, "us1",
+ TREG_UDN1 | CANONICAL_REG_NAME_FLAG, 0);
+ str_hash_insert_int (main_reg_hash, "us2",
+ TREG_UDN2 | CANONICAL_REG_NAME_FLAG, 0);
+ str_hash_insert_int (main_reg_hash, "us3",
+ TREG_UDN3 | CANONICAL_REG_NAME_FLAG, 0);
}
@@ -915,10 +915,10 @@ tilepro_parse_name (char *name, expressionS *e, char *nextcharP)
else
{
/* Look up the operator in our table. */
- void *val = str_hash_find (special_operator_hash, name);
- if (val == 0)
+ int opint = str_hash_find_int (special_operator_hash, name);
+ if (opint < 0)
return 0;
- op = (operatorT)(long)val;
+ op = opint;
}
/* Restore old '(' and skip it. */
@@ -977,12 +977,10 @@ parse_reg_expression (expressionS* expression)
char *regname;
char terminating_char = get_symbol_name (&regname);
- void* pval = str_hash_find (main_reg_hash, regname);
-
- if (pval == NULL)
+ int regno_and_flags = str_hash_find_int (main_reg_hash, regname);
+ if (regno_and_flags < 0)
as_bad (_("Expected register, got '%s'."), regname);
- int regno_and_flags = (int)(size_t)pval;
int regno = EXTRACT_REGNO(regno_and_flags);
if ((regno_and_flags & NONCANONICAL_REG_NAME_FLAG)
diff --git a/gas/config/tc-tilepro.h b/gas/config/tc-tilepro.h
index 945d1ca..f985053 100644
--- a/gas/config/tc-tilepro.h
+++ b/gas/config/tc-tilepro.h
@@ -42,7 +42,7 @@
#define HANDLE_ALIGN(sec, fragp) tilepro_handle_align (fragp)
extern void tilepro_handle_align (struct frag *);
-#define MAX_MEM_FOR_RS_ALIGN_CODE (7 + 8)
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (7 + 8)
struct tilepro_operand;
#define TC_FIX_TYPE const struct tilepro_operand *
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index 0a48343..b344005 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -2312,7 +2312,7 @@ md_assemble (char *str)
*s++ = '\0';
/* Find the first opcode with the proper name. */
- opcode = (struct v850_opcode *) str_hash_find (v850_hash, str);
+ opcode = str_hash_find (v850_hash, str);
if (opcode == NULL)
{
/* xgettext:c-format */
diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c
index 0b39d98..e256d08 100644
--- a/gas/config/tc-vax.c
+++ b/gas/config/tc-vax.c
@@ -1882,7 +1882,7 @@ vip (struct vit *vitP, /* We build an exploded instruction here. */
/* Here with instring pointing to what better be an op-name, and p
pointing to character just past that.
We trust instring points to an op-name, with no whitespace. */
- vwP = (struct vot_wot *) str_hash_find (op_hash, instring);
+ vwP = str_hash_find (op_hash, instring);
/* Restore char after op-code. */
*p = c;
if (vwP == 0)
diff --git a/gas/config/tc-visium.c b/gas/config/tc-visium.c
index c00db12..93c108f 100644
--- a/gas/config/tc-visium.c
+++ b/gas/config/tc-visium.c
@@ -555,30 +555,16 @@ visium_handle_align (fragS *fragP)
if (count == 0)
return;
- fragP->fr_var = 4;
-
if (count > 4 * nop_limit && count <= 131068)
{
- struct frag *rest;
-
- /* Make a branch, then follow with nops. Insert another
- frag to handle the nops. */
+ /* Make a branch, then follow with nops. */
md_number_to_chars (p, 0x78000000 + (count >> 2), 4);
visium_update_parity_bit (p);
-
- rest = xmalloc (SIZEOF_STRUCT_FRAG + 4);
- memcpy (rest, fragP, SIZEOF_STRUCT_FRAG);
- fragP->fr_next = rest;
- rest->fr_address += rest->fr_fix + 4;
- rest->fr_fix = 0;
- /* If we leave the next frag as rs_align_code we'll come here
- again, resulting in a bunch of branches rather than a
- branch followed by nops. */
- rest->fr_type = rs_align;
- p = rest->fr_literal;
+ p += 4;
+ fragP->fr_fix += 4;
}
- memset (p, 0, 4);
+ *p = 0;
}
/* Apply a fixS to the frags, now that we know the value it ought to
diff --git a/gas/config/tc-visium.h b/gas/config/tc-visium.h
index 01f8628..8be7f77 100644
--- a/gas/config/tc-visium.h
+++ b/gas/config/tc-visium.h
@@ -45,6 +45,7 @@
#define tc_fix_adjustable(FIXP) visium_fix_adjustable (FIXP)
extern bool visium_fix_adjustable (struct fix *);
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) (4 + 1)
#define HANDLE_ALIGN(SEC, FRAGP) \
if ((FRAGP)->fr_type == rs_align_code) \
visium_handle_align (FRAGP);
diff --git a/gas/config/tc-wasm32.c b/gas/config/tc-wasm32.c
index c9b0787..066255f 100644
--- a/gas/config/tc-wasm32.c
+++ b/gas/config/tc-wasm32.c
@@ -204,7 +204,7 @@ void
md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
{
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
- long val = (long) *valP;
+ valueT val = *valP;
if (fixP->fx_pcrel)
{
@@ -746,7 +746,7 @@ md_assemble (char *str)
if (!op[0])
as_bad (_("can't find opcode "));
- opcode = (struct wasm32_opcode_s *) str_hash_find (wasm32_hash, op);
+ opcode = str_hash_find (wasm32_hash, op);
if (opcode == NULL)
{
diff --git a/gas/config/tc-wasm32.h b/gas/config/tc-wasm32.h
index b2ccf1c..2a84a97 100644
--- a/gas/config/tc-wasm32.h
+++ b/gas/config/tc-wasm32.h
@@ -75,7 +75,6 @@ extern int wasm32_force_relocation (struct fix *);
#define elf_tc_final_processing()
#define md_post_relax_hook
#define md_start_line_hook()
-#define HANDLE_ALIGN(sec, fragP)
extern bool wasm32_fix_adjustable (struct fix *);
diff --git a/gas/config/tc-xgate.c b/gas/config/tc-xgate.c
index 5e09ee5..239310d 100644
--- a/gas/config/tc-xgate.c
+++ b/gas/config/tc-xgate.c
@@ -491,8 +491,7 @@ md_assemble (char *input_line)
if (!op_name[0])
as_bad (_("opcode missing or not found on input line"));
- opcode_handle = (struct xgate_opcode_handle *) str_hash_find (xgate_hash,
- op_name);
+ opcode_handle = str_hash_find (xgate_hash, op_name);
if (!opcode_handle)
as_bad (_("opcode %s not found in opcode hash table"), op_name);
else
@@ -541,9 +540,7 @@ md_assemble (char *input_line)
input_line = macro_inline; /* Rewind. */
p = extract_word (p, op_name, 10);
- opcode_handle
- = (struct xgate_opcode_handle *) str_hash_find (xgate_hash,
- op_name);
+ opcode_handle = str_hash_find (xgate_hash, op_name);
if (!opcode_handle)
{
as_bad (_(": processing macro, real opcode handle"
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index ed53b6d..1889608 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -7660,6 +7660,12 @@ static size_t xg_find_chain_entry (struct trampoline_chain *tc,
return a;
}
+static valueT
+vma_abs (offsetT v)
+{
+ return v < 0 ? -(valueT) v : (valueT) v;
+}
+
/* Find the best jump target for the source in the given trampoline chain.
The best jump target is the one that results in the shortest path to the
final target, it's the location of the jump closest to the final target,
@@ -7686,7 +7692,7 @@ xg_get_best_chain_entry (struct trampoline_chain *tc, addressT source)
chained_target = S_GET_VALUE(next->sym) + next->offset;
off = source - chained_target;
- if (labs (off) >= J_RANGE - J_MARGIN)
+ if (vma_abs (off) >= J_RANGE - J_MARGIN)
break;
i += step;
@@ -7696,8 +7702,8 @@ xg_get_best_chain_entry (struct trampoline_chain *tc, addressT source)
chained_target = S_GET_VALUE(e->sym) + e->offset;
off = source - chained_target;
- if (labs (off) < J_MARGIN ||
- labs (off) >= J_RANGE - J_MARGIN)
+ if (vma_abs (off) < J_MARGIN
+ || vma_abs (off) >= J_RANGE - J_MARGIN)
return &tc->target;
return tc->entry + i;
}
@@ -9359,7 +9365,7 @@ static addressT xg_get_fulcrum (addressT source, addressT target)
offsetT delta = target - source;
int n;
- n = (labs (delta) + J_RANGE - J_MARGIN - 1) / (J_RANGE - J_MARGIN);
+ n = (vma_abs (delta) + J_RANGE - J_MARGIN - 1) / (J_RANGE - J_MARGIN);
return source + delta / n;
}
@@ -9410,11 +9416,11 @@ static size_t xg_find_best_trampoline (struct trampoline_index *idx,
/* Stop if some trampoline is found and the search is more than
J_RANGE / 4 from the projected fulcrum. A trampoline w/o jump
around is nice, but it shouldn't have much overhead. */
- if (best < idx->n_entries && labs (off) > J_RANGE / 4)
+ if (best < idx->n_entries && vma_abs (off) > J_RANGE / 4)
return best;
off = trampoline_frag->fr_address - source;
- if (labs (off) < J_RANGE - J_MARGIN)
+ if (vma_abs (off) < J_RANGE - J_MARGIN)
{
++checked;
/* Stop if a trampoline w/o jump around is found or initialized
@@ -9480,7 +9486,7 @@ static bool xg_is_relaxable_fixup (fixS *fixP)
target = S_GET_VALUE (s) + fixP->fx_offset;
delta = target - addr;
- if (labs (delta) < J_RANGE - J_MARGIN)
+ if (vma_abs (delta) < J_RANGE - J_MARGIN)
return false;
xtensa_insnbuf_from_chars (isa, trampoline_buf,
diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h
index 3d757e8..41218d7 100644
--- a/gas/config/tc-xtensa.h
+++ b/gas/config/tc-xtensa.h
@@ -379,7 +379,7 @@ extern void xtensa_init (int, char **);
#define DATA_SECTION_NAME xtensa_section_rename (".data")
#define BSS_SECTION_NAME xtensa_section_rename (".bss")
#define HANDLE_ALIGN(sec, fragP) xtensa_handle_align (fragP)
-#define MAX_MEM_FOR_RS_ALIGN_CODE 1
+#define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) 1
/* The renumber_section function must be mapped over all the sections
diff --git a/gas/config/tc-z8k.c b/gas/config/tc-z8k.c
index 4cfb302..9947fe1 100644
--- a/gas/config/tc-z8k.c
+++ b/gas/config/tc-z8k.c
@@ -1236,7 +1236,7 @@ md_assemble (char *str)
*op_end = 0; /* Zero-terminate op code string for str_hash_find() call. */
- opcode = (opcode_entry_type *) str_hash_find (opcode_hash_control, op_start);
+ opcode = str_hash_find (opcode_hash_control, op_start);
if (opcode == NULL)
{
@@ -1407,7 +1407,7 @@ md_section_align (segT seg, valueT size)
void
md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
{
- long val = * (long *) valP;
+ offsetT val = *valP;
char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
switch (fixP->fx_r_type)
diff --git a/gas/configure b/gas/configure
index 16a8937..e39c965 100755
--- a/gas/configure
+++ b/gas/configure
@@ -12609,7 +12609,7 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_isa_spec" >&5
$as_echo "$with_isa_spec" >&6; }
- # --with-priv-spec=[1.9.1|1.10|1.11|1.12].
+ # --with-priv-spec=[1.9.1|1.10|1.11|1.12|1.13].
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for default configuration of --with-priv-spec" >&5
$as_echo_n "checking for default configuration of --with-priv-spec... " >&6; }
if test "x${with_priv_spec}" != x; then
diff --git a/gas/configure.ac b/gas/configure.ac
index e97ec59..e1d32c3 100644
--- a/gas/configure.ac
+++ b/gas/configure.ac
@@ -653,7 +653,7 @@ changequote([,])dnl
fi
AC_MSG_RESULT($with_isa_spec)
- # --with-priv-spec=[1.9.1|1.10|1.11|1.12].
+ # --with-priv-spec=[1.9.1|1.10|1.11|1.12|1.13].
AC_MSG_CHECKING(for default configuration of --with-priv-spec)
if test "x${with_priv_spec}" != x; then
AC_DEFINE_UNQUOTED(DEFAULT_RISCV_PRIV_SPEC, "$with_priv_spec",
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index 40d45f7..7d6cdcb 100644
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -260,7 +260,8 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
[@b{--sectname-subst}]
[@b{--size-check=[error|warning]}]
[@b{--statistics}]
- [@b{-v}] [@b{-version}] [@b{--version}]
+ [@b{-v}] [@b{--verbose}]
+ [@b{-version}] [@b{--version}]
[@b{-W}] [@b{--no-warn}] [@b{--warn}] [@b{--fatal-warnings}]
[@b{-w}] [@b{-x}]
[@b{-Z}] [@b{@@@var{FILE}}]
@@ -552,7 +553,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
@emph{Target RISC-V options:}
[@b{-fpic}|@b{-fPIC}|@b{-fno-pic}]
- [@b{-march}=@var{ISA}]
+ [@b{-march}=@var{ISA}|@var{Profiles}|@var{Profiles_ISA}]
[@b{-mabi}=@var{ABI}]
[@b{-mlittle-endian}|@b{-mbig-endian}]
@end ifset
@@ -975,10 +976,11 @@ assembly.
Remove local absolute symbols from the outgoing symbol table.
@item -v
-@itemx -version
+@itemx --verbose
Print the @command{as} version.
@item --version
+@itemx -version
Print the @command{as} version and exit.
@item -W
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 10888d1..d7e9c95 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -167,6 +167,8 @@ automatically cause those extensions to be disabled.
@tab Enable the Branch Record Buffer extension.
@item @code{chk} @tab
@tab Enable the Check Feature Status Extension.
+@item @code{cmpbr} @tab
+ @tab Enable Compare and Branch instructions.
@item @code{compnum} @tab @code{simd}
@tab Enable the complex number SIMD extensions. An alias of @code{fcma}.
@item @code{cpa} @tab
@@ -185,6 +187,10 @@ automatically cause those extensions to be disabled.
@tab Enable the F32 Matrix Multiply extension
@item @code{f64mm} @tab @code{sve}
@tab Enable the F64 Matrix Multiply extension.
+@item @code{f8f16mm} @tab @code{simd} @code{fp8}
+ @tab Enable 8-bit floating-point matrix multiply-accumulate to half-precision instructions.
+@item @code{f8f32mm} @tab @code{simd} @code{fp}
+ @tab Enable 8-bit floating-point matrix multiply-accumulate to single-precision instructions.
@item @code{fcma} @tab @code{fp16}, @code{simd}
@tab Enable the complex number SIMD extensions.
@item @code{flagm} @tab
@@ -205,6 +211,8 @@ automatically cause those extensions to be disabled.
@tab Enable Armv8.2 16-bit floating-point multiplication variant support.
@item @code{fp16} @tab @code{fp}
@tab Enable Armv8.2 16-bit floating-point support.
+@item @code{fprcvt} @tab @code{fp}
+ @tab Enable Armv9.6 fprcvt instructions.
@item @code{frintts} @tab @code{fp}
@tab Enable floating-point round to integral value instructions.
@item @code{gcs} @tab
@@ -225,16 +233,22 @@ automatically cause those extensions to be disabled.
@tab Enable Large System extensions.
@item @code{lse128} @tab @code{lse}
@tab Enable the 128-bit Atomic Instructions extension.
+@item @code{lsfe} @tab @code{fp}
+ @tab Enable Large System Float Extension.
@item @code{lut} @tab
@tab Enable the Lookup Table (LUT) extension.
@item @code{memtag} @tab
@tab Enable Armv8.5-A Memory Tagging Extensions.
@item @code{mops} @tab
@tab Enable Armv8.8-A memcpy and memset acceleration instructions
+@item @code{occmo} @tab
+ @tab Enable Outer Cacheable Cache Maintenance Operations.
@item @code{pan} @tab
@tab Enable Privileged Access Never support.
@item @code{pauth} @tab
@tab Enable Pointer Authentication.
+@item @code{pops} @tab
+ @tab Enable Point of Physical Storage.
@item @code{predres} @tab
@tab Enable the Execution and Data and Prediction instructions.
@item @code{predres2} @tab @code{predres}
@@ -297,6 +311,10 @@ automatically cause those extensions to be disabled.
@tab Enable the Scalable Vector Extension.
@item @code{sve-b16b16} @tab
@tab Enable the SVE B16B16 extension. These instructions also require either @code{+sve2} or @code{+sme2}.
+@item @code{sve-bfscale} @tab
+@tab Enable the SVE BFSCALE extension. These instructions also require either @code{+sve2} or @code{+sme2}.
+@item @code{sve-f16f32mm} @tab @code{sve}
+@tab Enable the SVE_F16F32MM extension.
@item @code{sve2} @tab @code{sve}
@tab Enable SVE2.
@item @code{sve2-aes} @tab @code{sve2}, @code{aes}
diff --git a/gas/doc/c-riscv.texi b/gas/doc/c-riscv.texi
index 0a92e78..a4c819e 100644
--- a/gas/doc/c-riscv.texi
+++ b/gas/doc/c-riscv.texi
@@ -41,9 +41,11 @@ Generate position-independent code
@item -fno-pic
Don't generate position-independent code (default)
-@cindex @samp{-march=ISA} option, RISC-V
-@item -march=ISA
-Select the base isa, as specified by ISA. For example -march=rv32ima.
+@cindex @samp{-march=ISA|Profiles|Profiles_ISA} option, RISC-V
+@item -march=ISA|Profiles|Profiles_ISA
+Select the base isa, as specified by ISA or Profiles or Profies_ISA.
+For example @samp{-march=rv32ima} @samp{-march=RVI20U64}
+@samp{-march=RVI20U64_d}.
If this option and the architecture attributes aren't set, then assembler
will check the default configure setting --with-arch=ISA.
@@ -737,7 +739,12 @@ to be recorded in the attribute as @code{RV32I2P0} in which @code{2P0} stands
for the default version of its base ISA. On the other hand, the architecture
@code{RV32G} has to be presented as @code{RV32I2P0_M2P0_A2P0_F2P0_D2P0} in
which the abbreviation @code{G} is expanded to the @code{IMAFD} combination
-with default versions of the standard extensions.
+with default versions of the standard extensions. All Profiles are expanded
+ to the mandatory extensions it includes then processing. For example,
+@code{RVI20U32} is expanded to @code{RV32I2P0} for processing, which contains
+the mandatory extensions @code{I} as it defined. And you can also combine
+Profiles with ISA use underline, like @code{RVI20U32_D} is expanded to the
+@code{RV32I2P0_F2P0_D2P0}.
@item Tag_RISCV_unaligned_access (6)
Tag_RISCV_unaligned_access is 0 for files that do not allow any unaligned
@@ -892,4 +899,25 @@ XSfCease provides an instruction to instigates power-down sequence.
It is documented in @url{https://sifive.cdn.prismic.io/sifive/767804da-53b2-4893-97d5-b7c030ae0a94_s76mc_core_complex_manual_21G3.pdf}.
+@item XMipsCbop
+The XMipsCbop extension provides instruction mips.pref.
+
+It is documented in @url{https://mips.com/wp-content/uploads/2025/03/P8700-F_Programmers_Reference_Manual_Rev1.82_3-19-2025.pdf}.
+
+@item XMipsCmov
+The XMipsCmov extension provides instruction mips.ccmov.
+
+It is documented in @url{https://mips.com/wp-content/uploads/2025/03/P8700-F_Programmers_Reference_Manual_Rev1.82_3-19-2025.pdf}.
+
+@item XMipsExectl
+The XMipsExectl extension provides instructions mips.ehb, mips.ihb and mips.pause.
+
+It is documented in @url{https://mips.com/wp-content/uploads/2025/03/P8700-F_Programmers_Reference_Manual_Rev1.82_3-19-2025.pdf}.
+
+@item XMipsSlsp
+
+The XMipsSlsp extension provides instructions mips.ldp, mips.lwp, mips.sdp and mips.swp.
+
+It is documented in @url{https://mips.com/wp-content/uploads/2025/03/P8700-F_Programmers_Reference_Manual_Rev1.82_3-19-2025.pdf}.
+
@end table
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 2963e52..84c9661 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -171,10 +171,18 @@ struct line_entry
struct dwarf2_line_info loc;
};
-/* Don't change the offset of next in line_entry. set_or_check_view
- calls in dwarf2_gen_line_info_1 depend on it. */
-static char unused[offsetof(struct line_entry, next) ? -1 : 1]
-ATTRIBUTE_UNUSED;
+/* Given line_entry list HEAD and PTAIL pointers, return a pointer to
+ the last line_entry on the list. */
+static inline struct line_entry *
+line_entry_at_tail (void *head, struct line_entry **ptail)
+{
+ /* If the list is empty ptail points at head. */
+ if (head == NULL)
+ return NULL;
+ /* Otherwise ptail points to line_entry.next of the last entry. */
+ void *p = (char *) ptail - offsetof (struct line_entry, next);
+ return p;
+}
struct line_subseg
{
@@ -528,7 +536,8 @@ dwarf2_gen_line_info_1 (symbolS *label, struct dwarf2_line_info *loc)
/* Subseg heads are chained to previous subsegs in
dwarf2_finish. */
if (loc->filenum != -1u && loc->u.view && lss->head)
- set_or_check_view (e, (struct line_entry *) lss->ptail, lss->head);
+ set_or_check_view (e, line_entry_at_tail (lss->head, lss->ptail),
+ lss->head);
*lss->ptail = e;
lss->ptail = &e->next;
@@ -650,9 +659,8 @@ get_directory_table_entry (const char *dirname,
is set to the current build directory). Since we are
about to create a directory entry that is not the
same, allocate the current directory first. */
- (void) get_directory_table_entry (pwd, file0_dirname,
- strlen (pwd), true);
- d = 1;
+ (void) get_directory_table_entry (pwd, pwd, strlen (pwd), true);
+ d = dirs_in_use;
}
else
d = 0;
@@ -678,18 +686,17 @@ get_directory_table_entry (const char *dirname,
}
static bool
-assign_file_to_slot (unsigned int i, const char *file, unsigned int dir)
+assign_file_to_slot (valueT i, const char *file, unsigned int dir)
{
if (i >= files_allocated)
{
unsigned int want = i + 32;
- /* Catch wraparound. */
- if (want < files_allocated
- || want < i
- || want > UINT_MAX / sizeof (struct file_entry))
+ /* If this array is taking 1G or more, someone is using silly
+ file numbers. */
+ if (want < i || want > UINT_MAX / 4 / sizeof (struct file_entry))
{
- as_bad (_("file number %u is too big"), i);
+ as_bad (_("file number %" PRIu64 " is too big"), (uint64_t) i);
return false;
}
@@ -843,7 +850,7 @@ purge_generated_debug (bool thelot)
static bool
allocate_filename_to_slot (const char *dirname,
const char *filename,
- unsigned int num,
+ valueT num,
bool with_md5)
{
const char *file;
@@ -921,8 +928,9 @@ allocate_filename_to_slot (const char *dirname,
}
fail:
- as_bad (_("file table slot %u is already occupied by a different file (%s%s%s vs %s%s%s)"),
- num,
+ as_bad (_("file table slot %u is already occupied by a different file"
+ " (%s%s%s vs %s%s%s)"),
+ (unsigned int) num,
dir == NULL ? "" : dir,
dir == NULL ? "" : "/",
files[num].filename,
@@ -968,7 +976,7 @@ allocate_filename_to_slot (const char *dirname,
d = get_directory_table_entry (dirname, file0_dirname, dirlen, num == 0);
i = num;
- if (! assign_file_to_slot (i, file, d))
+ if (!assign_file_to_slot (num, file, d))
return false;
if (with_md5)
@@ -1228,15 +1236,7 @@ dwarf2_directive_filename (void)
purge_generated_debug (false);
debug_type = DEBUG_NONE;
- if (num != (unsigned int) num
- || num >= (size_t) -1 / sizeof (struct file_entry) - 32)
- {
- as_bad (_("file number %lu is too big"), (unsigned long) num);
- return NULL;
- }
-
- if (! allocate_filename_to_slot (dirname, filename, (unsigned int) num,
- with_md5))
+ if (!allocate_filename_to_slot (dirname, filename, num, with_md5))
return NULL;
return filename;
@@ -1632,7 +1632,7 @@ size_inc_line_addr (int line_delta, addressT addr_delta)
}
/* Bias the line delta by the base. */
- tmp = line_delta - DWARF2_LINE_BASE;
+ tmp = (unsigned) line_delta - DWARF2_LINE_BASE;
/* If the line increment is out of range of a special opcode, we
must encode it with DW_LNS_advance_line. */
@@ -1703,7 +1703,7 @@ emit_inc_line_addr (int line_delta, addressT addr_delta, char *p, int len)
}
/* Bias the line delta by the base. */
- tmp = line_delta - DWARF2_LINE_BASE;
+ tmp = (unsigned) line_delta - DWARF2_LINE_BASE;
/* If the line increment is out of range of a special opcode, we
must encode it with DW_LNS_advance_line. */
@@ -3028,6 +3028,11 @@ out_debug_str (segT str_seg, symbolS **name_sym, symbolS **comp_dir_sym,
int len;
int first_file = DWARF2_LINE_VERSION > 4 ? 0 : 1;
+ if (files_in_use == 0)
+ abort ();
+ if (first_file == 0 && files[first_file].filename == NULL)
+ first_file = 1;
+
subseg_set (str_seg, 0);
/* DW_AT_name. We don't have the actual file name that was present
@@ -3035,8 +3040,7 @@ out_debug_str (segT str_seg, symbolS **name_sym, symbolS **comp_dir_sym,
We're not supposed to get called unless at least one line number
entry was emitted, so this should always be defined. */
*name_sym = symbol_temp_new_now_octets ();
- if (files_in_use == 0)
- abort ();
+
if (files[first_file].dir)
{
char *dirname = remap_debug_filename (dirs[files[first_file].dir]);
@@ -3199,8 +3203,7 @@ dwarf2_finish (void)
/* Link the first view of subsequent subsections to the
previous view. */
if (lss->head && lss->head->loc.u.view)
- set_or_check_view (lss->head,
- !s->head ? NULL : (struct line_entry *)ptail,
+ set_or_check_view (lss->head, line_entry_at_tail (s->head, ptail),
s->head ? s->head->head : NULL);
*ptail = lss->head;
lss->head = NULL;
diff --git a/gas/ecoff.c b/gas/ecoff.c
index 756aa92..b5d811c 100644
--- a/gas/ecoff.c
+++ b/gas/ecoff.c
@@ -1559,8 +1559,8 @@ add_string (varray_t *vp, /* string obstack */
if (len >= PAGE_USIZE)
as_fatal (_("string too big (%lu bytes)"), len);
- hash_ptr = (shash_t *) str_hash_find (hash_tbl, str);
- if (hash_ptr == (shash_t *) NULL)
+ hash_ptr = str_hash_find (hash_tbl, str);
+ if (hash_ptr == NULL)
{
if (vp->objects_last_page + len >= PAGE_USIZE)
{
@@ -2010,7 +2010,7 @@ get_tag (const char *tag, /* tag name */
if (cur_file_ptr == (efdr_t *) NULL)
as_fatal (_("no current file pointer"));
- hash_ptr = (shash_t *) str_hash_find (tag_hash, tag);
+ hash_ptr = str_hash_find (tag_hash, tag);
if (hash_ptr != (shash_t *) NULL
&& hash_ptr->tag_ptr != (tag_t *) NULL)
diff --git a/gas/ehopt.c b/gas/ehopt.c
index 3e15fc9..ab976ba 100644
--- a/gas/ehopt.c
+++ b/gas/ehopt.c
@@ -90,17 +90,17 @@ __FRAME_BEGIN__:
struct cie_info
{
+ fragS *f;
unsigned code_alignment;
int z_augmentation;
};
/* Extract information from the CIE. */
-static int
+static bool
get_cie_info (struct cie_info *info)
{
fragS *f;
- fixS *fix;
unsigned int offset;
char CIE_id;
char augmentation[10];
@@ -110,9 +110,10 @@ get_cie_info (struct cie_info *info)
/* We should find the CIE at the start of the section. */
f = seg_info (now_seg)->frchainP->frch_root;
- fix = seg_info (now_seg)->frchainP->fix_root;
-
- /* Look through the frags of the section to find the code alignment. */
+ while (f != NULL && f->fr_fix == 0)
+ f = f->fr_next;
+ if (f != info->f)
+ return false;
/* First make sure that the CIE Identifier Tag is 0/-1. */
@@ -133,7 +134,7 @@ get_cie_info (struct cie_info *info)
|| f->fr_literal[offset + 1] != CIE_id
|| f->fr_literal[offset + 2] != CIE_id
|| f->fr_literal[offset + 3] != CIE_id)
- return 0;
+ return false;
/* Next make sure the CIE version number is 1. */
@@ -146,7 +147,7 @@ get_cie_info (struct cie_info *info)
if (f == NULL
|| f->fr_fix - offset < 1
|| f->fr_literal[offset] != 1)
- return 0;
+ return false;
/* Skip the augmentation (a null terminated string). */
@@ -160,7 +161,7 @@ get_cie_info (struct cie_info *info)
f = f->fr_next;
}
if (f == NULL)
- return 0;
+ return false;
while (offset < f->fr_fix && f->fr_literal[offset] != '\0')
{
@@ -181,7 +182,7 @@ get_cie_info (struct cie_info *info)
f = f->fr_next;
}
if (f == NULL)
- return 0;
+ return false;
augmentation[iaug] = '\0';
if (augmentation[0] == '\0')
@@ -192,6 +193,7 @@ get_cie_info (struct cie_info *info)
{
/* We have to skip a pointer. Unfortunately, we don't know how
large it is. We find out by looking for a matching fixup. */
+ fixS *fix = seg_info (now_seg)->frchainP->fix_root;
while (fix != NULL
&& (fix->fx_frag != f || fix->fx_where != offset))
fix = fix->fx_next;
@@ -205,10 +207,10 @@ get_cie_info (struct cie_info *info)
f = f->fr_next;
}
if (f == NULL)
- return 0;
+ return false;
}
else if (augmentation[0] != 'z')
- return 0;
+ return false;
/* We're now at the code alignment factor, which is a ULEB128. If
it isn't a single byte, forget it. */
@@ -220,7 +222,7 @@ get_cie_info (struct cie_info *info)
info->code_alignment = code_alignment;
info->z_augmentation = (augmentation[0] == 'z');
- return 1;
+ return true;
}
enum frame_state
@@ -240,7 +242,7 @@ struct frame_data
{
enum frame_state state;
- int cie_info_ok;
+ bool cie_info_ok;
struct cie_info cie_info;
symbolS *size_end_sym;
@@ -320,20 +322,27 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
{
d->state = state_saw_size;
d->size_end_sym = exp->X_add_symbol;
+ if (!d->cie_info.f)
+ d->cie_info.f = frag_now;
}
}
break;
case state_saw_size:
case state_saw_cie_offset:
- /* Assume whatever form it appears in, it appears atomically. */
- d->state = (enum frame_state) (d->state + 1);
+ if (!(*pnbytes == 4 || *pnbytes == 8))
+ /* Stop scanning if we don't see the expected FDE fields. */
+ d->state = state_error;
+ else
+ d->state = (enum frame_state) (d->state + 1);
break;
case state_saw_pc_begin:
/* Decide whether we should see an augmentation. */
- if (! d->cie_info_ok
- && ! (d->cie_info_ok = get_cie_info (&d->cie_info)))
+ if (!(*pnbytes == 4 || *pnbytes == 8))
+ d->state = state_error;
+ else if (!d->cie_info_ok
+ && !(d->cie_info_ok = get_cie_info (&d->cie_info)))
d->state = state_error;
else if (d->cie_info.z_augmentation)
{
@@ -347,7 +356,7 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
case state_seeing_aug_size:
/* Bytes == -1 means this comes from an leb128 directive. */
- if ((int)*pnbytes == -1 && exp->X_op == O_constant)
+ if ((int) *pnbytes == -1 && exp->X_op == O_constant)
{
d->aug_size = exp->X_add_number;
d->state = state_skipping_aug;
@@ -367,7 +376,7 @@ check_eh_frame (expressionS *exp, unsigned int *pnbytes)
break;
case state_skipping_aug:
- if ((int)*pnbytes < 0)
+ if ((int) *pnbytes < 0)
d->state = state_error;
else
{
diff --git a/gas/expr.c b/gas/expr.c
index bf58fc3..78a247c 100644
--- a/gas/expr.c
+++ b/gas/expr.c
@@ -632,6 +632,7 @@ integer_constant (int radix, expressionS *expressionP)
/* Not a small number. */
expressionP->X_op = O_big;
expressionP->X_add_number = number; /* Number of littlenums. */
+ expressionP->X_unsigned = 1;
input_line_pointer--; /* -> char following number. */
}
}
@@ -707,6 +708,7 @@ mri_char_constant (expressionS *expressionP)
{
expressionP->X_op = O_big;
expressionP->X_add_number = i;
+ expressionP->X_unsigned = 1;
}
else
{
@@ -1164,6 +1166,8 @@ operand (expressionS *expressionP, enum expr_mode mode)
if (generic_bignum[i])
break;
}
+
+ expressionP->X_unsigned = 0;
}
else if (op == O_logical_not)
{
diff --git a/gas/expr.h b/gas/expr.h
index 14787c4..2be3d69 100644
--- a/gas/expr.h
+++ b/gas/expr.h
@@ -131,10 +131,12 @@ typedef struct expressionS
unsigned char X_op;
#endif
- /* Non-zero if X_add_number should be regarded as unsigned. This is
- only valid for O_constant expressions. It is only used when an
- O_constant must be extended into a bignum (i.e., it is not used
- when performing arithmetic on these values).
+ /* Non-zero if the expression value should be regarded as unsigned. This is
+ only valid for
+ - O_constant expressions, where it is only used when an O_constant must be
+ extended into a bignum (i.e., it is not used when performing arithmetic
+ on these values),
+ - O_big integer expressions, i.e. when X_add_number is positive.
FIXME: This field is not set very reliably. */
unsigned int X_unsigned : 1;
/* This is used to implement "word size + 1 bit" arithmetic, so that e.g.
diff --git a/gas/frags.c b/gas/frags.c
index 6684e27..129c27f 100644
--- a/gas/frags.c
+++ b/gas/frags.c
@@ -355,18 +355,11 @@ frag_align_pattern (int alignment, const char *fill_pattern,
#define NOP_OPCODE 0x00
#endif
-/* Use this to restrict the amount of memory allocated for representing
- the alignment code. Needs to be large enough to hold any fixed sized
+/* Use this to specify the amount of memory allocated for representing
+ the alignment code. Needs to be large enough to hold any fixed size
prologue plus the replicating portion. */
#ifndef MAX_MEM_FOR_RS_ALIGN_CODE
- /* Assume that if HANDLE_ALIGN is not defined then no special action
- is required to code fill, which means that we get just repeat the
- one NOP_OPCODE byte. */
-# ifndef HANDLE_ALIGN
-# define MAX_MEM_FOR_RS_ALIGN_CODE 1
-# else
-# define MAX_MEM_FOR_RS_ALIGN_CODE (((size_t) 1 << alignment) - 1)
-# endif
+# define MAX_MEM_FOR_RS_ALIGN_CODE(p2align, max) 1
#endif
void
@@ -374,7 +367,7 @@ frag_align_code (int alignment, int max)
{
char *p;
- p = frag_var (rs_align_code, MAX_MEM_FOR_RS_ALIGN_CODE, 1,
+ p = frag_var (rs_align_code, MAX_MEM_FOR_RS_ALIGN_CODE (alignment, max), 1,
(relax_substateT) max, (symbolS *) 0,
(offsetT) alignment, (char *) 0);
*p = NOP_OPCODE;
diff --git a/gas/frags.h b/gas/frags.h
index 695277d..c2fea09 100644
--- a/gas/frags.h
+++ b/gas/frags.h
@@ -44,8 +44,7 @@ struct frag {
/* (Fixed) number of octets we know we have. May be 0. */
valueT fr_fix;
- /* May be used for (Variable) number of octets after above.
- The generic frag handling code no longer makes any use of fr_var. */
+ /* May be used for (Variable) number of octets after above. */
offsetT fr_var;
/* For variable-length tail. */
offsetT fr_offset;
diff --git a/gas/gen-sframe.c b/gas/gen-sframe.c
index 5b5e7b1..2d1c196 100644
--- a/gas/gen-sframe.c
+++ b/gas/gen-sframe.c
@@ -30,18 +30,6 @@
# define sizeof_member(type, member) (sizeof (((type *)0)->member))
#endif
-/* Whether frame row entries track RA.
-
- A target may not need return address tracking for stack tracing. If it
- does need the same, SFRAME_CFA_RA_REG must be defined with the return
- address register number. */
-
-#if defined (sframe_ra_tracking_p) && defined (SFRAME_CFA_RA_REG)
-# ifndef SFRAME_FRE_RA_TRACKING
-# define SFRAME_FRE_RA_TRACKING 1
-# endif
-#endif
-
/* SFrame FRE type selection optimization is an optimization for size.
There are three flavors of SFrame FRE representation in the binary format:
@@ -154,7 +142,6 @@ sframe_fre_set_cfa_offset (struct sframe_row_entry *fre,
fre->merge_candidate = false;
}
-#ifdef SFRAME_FRE_RA_TRACKING
static void
sframe_fre_set_ra_track (struct sframe_row_entry *fre, offsetT ra_offset)
{
@@ -162,7 +149,6 @@ sframe_fre_set_ra_track (struct sframe_row_entry *fre, offsetT ra_offset)
fre->ra_offset = ra_offset;
fre->merge_candidate = false;
}
-#endif
static void
sframe_fre_set_bp_track (struct sframe_row_entry *fre, offsetT bp_offset)
@@ -352,11 +338,9 @@ get_fre_num_offsets (struct sframe_row_entry *sframe_fre)
if (sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK)
fre_num_offsets++;
-#ifdef SFRAME_FRE_RA_TRACKING
if (sframe_ra_tracking_p ()
&& sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK)
fre_num_offsets++;
-#endif
return fre_num_offsets;
}
@@ -377,11 +361,9 @@ sframe_get_fre_offset_size (struct sframe_row_entry *sframe_fre)
cfa_offset_size = get_offset_size_in_bytes (sframe_fre->cfa_offset);
if (sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK)
bp_offset_size = get_offset_size_in_bytes (sframe_fre->bp_offset);
-#ifdef SFRAME_FRE_RA_TRACKING
if (sframe_ra_tracking_p ()
&& sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK)
ra_offset_size = get_offset_size_in_bytes (sframe_fre->ra_offset);
-#endif
/* Get the maximum size needed to represent the offsets. */
max_offset_size = cfa_offset_size;
@@ -587,14 +569,12 @@ output_sframe_row_entry (symbolS *fde_start_addr,
fre_offset_func_map[idx].out_func (sframe_fre->cfa_offset);
fre_write_offsets++;
-#ifdef SFRAME_FRE_RA_TRACKING
if (sframe_ra_tracking_p ()
&& sframe_fre->ra_loc == SFRAME_FRE_ELEM_LOC_STACK)
{
fre_offset_func_map[idx].out_func (sframe_fre->ra_offset);
fre_write_offsets++;
}
-#endif
if (sframe_fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK)
{
fre_offset_func_map[idx].out_func (sframe_fre->bp_offset);
@@ -688,9 +668,9 @@ output_sframe_internal (void)
unsigned int num_fdes = get_num_sframe_fdes ();
unsigned int num_fres = get_num_sframe_fres ();
- symbolS **fre_symbols = XNEWVEC (symbolS *, num_fres);
- for (i = 0; i < num_fres; i++)
- fre_symbols[i] = symbol_temp_make ();
+ symbolS **fde_fre_symbols = XNEWVEC (symbolS *, num_fdes);
+ for (i = 0; i < num_fdes; i++)
+ fde_fre_symbols[i] = symbol_temp_make ();
end_of_frame_hdr = symbol_temp_make ();
start_of_fre_section = symbol_temp_make ();
@@ -764,8 +744,8 @@ output_sframe_internal (void)
for (sframe_fde = all_sframe_fdes; sframe_fde; sframe_fde = sframe_fde->next)
{
output_sframe_funcdesc (start_of_fre_section,
- fre_symbols[i], sframe_fde);
- i += sframe_fde->num_fres;
+ fde_fre_symbols[i], sframe_fde);
+ i++;
}
symbol_set_value_now (start_of_fre_section);
@@ -776,16 +756,16 @@ output_sframe_internal (void)
for (sframe_fde = all_sframe_fdes; sframe_fde; sframe_fde = sframe_fde_next)
{
+ symbol_set_value_now (fde_fre_symbols[i]);
for (sframe_fre = sframe_fde->sframe_fres;
sframe_fre;
sframe_fre = sframe_fre->next)
{
- symbol_set_value_now (fre_symbols[i]);
output_sframe_row_entry (get_dw_fde_start_addrS (sframe_fde->dw_fde),
get_dw_fde_end_addrS (sframe_fde->dw_fde),
sframe_fre);
- i++;
}
+ i++;
sframe_fde_next = sframe_fde->next;
sframe_fde_free (sframe_fde);
}
@@ -794,10 +774,10 @@ output_sframe_internal (void)
symbol_set_value_now (end_of_frame_section);
- gas_assert (i == num_fres);
+ gas_assert (i == num_fdes);
- free (fre_symbols);
- fre_symbols = NULL;
+ free (fde_fre_symbols);
+ fde_fre_symbols = NULL;
}
static unsigned int
@@ -926,10 +906,8 @@ sframe_register_name (unsigned int reg)
return "SP";
else if (reg == SFRAME_CFA_FP_REG)
return "FP";
-#ifdef SFRAME_FRE_RA_TRACKING
else if (reg == SFRAME_CFA_RA_REG)
return "RA";
-#endif
else
return NULL;
}
@@ -1003,7 +981,8 @@ sframe_xlate_do_def_cfa (struct sframe_xlate_ctx *xlate_ctx,
if (cfi_insn->u.ri.reg != SFRAME_CFA_SP_REG
&& cfi_insn->u.ri.reg != SFRAME_CFA_FP_REG)
{
- as_warn (_("skipping SFrame FDE; non-SP/FP register %u in .cfi_def_cfa"),
+ as_warn (_("no SFrame FDE emitted; "
+ "non-SP/FP register %u in .cfi_def_cfa"),
cfi_insn->u.ri.reg);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}
@@ -1032,13 +1011,15 @@ sframe_xlate_do_def_cfa_register (struct sframe_xlate_ctx *xlate_ctx,
if (cfi_insn->u.r != SFRAME_CFA_SP_REG
&& cfi_insn->u.r != SFRAME_CFA_FP_REG)
{
- as_warn (_("skipping SFrame FDE; "
+ as_warn (_("no SFrame FDE emitted; "
"non-SP/FP register %u in .cfi_def_cfa_register"),
cfi_insn->u.r);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}
sframe_fre_set_cfa_base_reg (cur_fre, cfi_insn->u.r);
- sframe_fre_set_cfa_offset (cur_fre, last_fre->cfa_offset);
+ if (last_fre)
+ sframe_fre_set_cfa_offset (cur_fre, last_fre->cfa_offset);
+
cur_fre->merge_candidate = false;
return SFRAME_XLATE_OK;
@@ -1070,7 +1051,7 @@ sframe_xlate_do_def_cfa_offset (struct sframe_xlate_ctx *xlate_ctx,
{
/* No CFA base register in effect. Non-SP/FP CFA base register should
not occur, as sframe_xlate_do_def_cfa[_register] would detect this. */
- as_warn (_("skipping SFrame FDE; "
+ as_warn (_("no SFrame FDE emitted; "
".cfi_def_cfa_offset without CFA base register in effect"));
return SFRAME_XLATE_ERR_NOTREPRESENTED;
}
@@ -1100,14 +1081,12 @@ sframe_xlate_do_offset (struct sframe_xlate_ctx *xlate_ctx,
sframe_fre_set_bp_track (cur_fre, cfi_insn->u.ri.offset);
cur_fre->merge_candidate = false;
}
-#ifdef SFRAME_FRE_RA_TRACKING
else if (sframe_ra_tracking_p ()
&& cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG)
{
sframe_fre_set_ra_track (cur_fre, cfi_insn->u.ri.offset);
cur_fre->merge_candidate = false;
}
-#endif
/* This is used to track changes to non-rsp registers, skip all others
except FP / RA for now. */
return SFRAME_XLATE_OK;
@@ -1129,13 +1108,11 @@ sframe_xlate_do_val_offset (const struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_U
DW_CFA_val_offset instruction can be safely skipped without sacrificing
the asynchronicity of stack trace information. */
if (cfi_insn->u.ri.reg == SFRAME_CFA_FP_REG
-#ifdef SFRAME_FRE_RA_TRACKING
|| (sframe_ra_tracking_p () && cfi_insn->u.ri.reg == SFRAME_CFA_RA_REG)
-#endif
/* Ignore SP reg, if offset matches assumed default rule. */
|| (cfi_insn->u.ri.reg == SFRAME_CFA_SP_REG && cfi_insn->u.ri.offset != 0))
{
- as_warn (_("skipping SFrame FDE; %s with %s reg %u"),
+ as_warn (_("no SFrame FDE emitted; %s with %s reg %u"),
cfi_esc_p ? ".cfi_escape DW_CFA_val_offset" : ".cfi_val_offset",
sframe_register_name (cfi_insn->u.ri.reg), cfi_insn->u.ri.reg);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
@@ -1157,13 +1134,11 @@ sframe_xlate_do_register (struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED,
instruction can be safely skipped without sacrificing the asynchronicity of
stack trace information. */
if (cfi_insn->u.rr.reg1 == SFRAME_CFA_FP_REG
-#ifdef SFRAME_FRE_RA_TRACKING
|| (sframe_ra_tracking_p () && cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG)
-#endif
/* Ignore SP reg, as it can be recovered from the CFA tracking info. */
)
{
- as_warn (_("skipping SFrame FDE; %s register %u in .cfi_register"),
+ as_warn (_("no SFrame FDE emitted; %s register %u in .cfi_register"),
sframe_register_name (cfi_insn->u.rr.reg1), cfi_insn->u.rr.reg1);
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}
@@ -1185,7 +1160,7 @@ sframe_xlate_do_remember_state (struct sframe_xlate_ctx *xlate_ctx)
info for the function involved. */
if (!last_fre)
{
- as_warn (_("skipping SFrame FDE; "
+ as_warn (_("no SFrame FDE emitted; "
".cfi_remember_state without prior SFrame FRE state"));
return SFRAME_XLATE_ERR_INVAL;
}
@@ -1244,7 +1219,6 @@ sframe_xlate_do_restore (struct sframe_xlate_ctx *xlate_ctx,
cur_fre->bp_offset = cie_fre->bp_offset;
cur_fre->merge_candidate = false;
}
-#ifdef SFRAME_FRE_RA_TRACKING
else if (sframe_ra_tracking_p ()
&& cfi_insn->u.r == SFRAME_CFA_RA_REG)
{
@@ -1253,7 +1227,6 @@ sframe_xlate_do_restore (struct sframe_xlate_ctx *xlate_ctx,
cur_fre->ra_offset = cie_fre->ra_offset;
cur_fre->merge_candidate = false;
}
-#endif
return SFRAME_XLATE_OK;
}
@@ -1281,7 +1254,7 @@ static int
sframe_xlate_do_aarch64_negate_ra_state_with_pc (struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED,
struct cfi_insn_data *cfi_insn ATTRIBUTE_UNUSED)
{
- as_warn (_("skipping SFrame FDE; .cfi_negate_ra_state_with_pc"));
+ as_warn (_("no SFrame FDE emitted; .cfi_negate_ra_state_with_pc"));
/* The used signing method should be encoded inside the FDE in SFrame v3.
For now, PAuth_LR extension is not supported with SFrame. */
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
@@ -1308,7 +1281,7 @@ sframe_xlate_do_gnu_window_save (struct sframe_xlate_ctx *xlate_ctx,
|| abi_arch == SFRAME_ABI_AARCH64_ENDIAN_LITTLE)
return sframe_xlate_do_aarch64_negate_ra_state (xlate_ctx, cfi_insn);
- as_warn (_("skipping SFrame FDE; .cfi_window_save"));
+ as_warn (_("no SFrame FDE emitted; .cfi_window_save"));
return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
}
@@ -1363,12 +1336,10 @@ sframe_xlate_do_escape_expr (const struct sframe_xlate_ctx *xlate_ctx,
#undef CFI_ESC_NUM_EXP
if (reg == SFRAME_CFA_SP_REG || reg == SFRAME_CFA_FP_REG
-#ifdef SFRAME_FRE_RA_TRACKING
|| (sframe_ra_tracking_p () && reg == SFRAME_CFA_RA_REG)
-#endif
|| reg == xlate_ctx->cur_fre->cfa_base_reg)
{
- as_warn (_("skipping SFrame FDE; "
+ as_warn (_("no SFrame FDE emitted; "
".cfi_escape DW_CFA_expression with %s reg %u"),
sframe_register_name (reg), reg);
err = SFRAME_XLATE_ERR_NOTREPRESENTED;
@@ -1529,7 +1500,7 @@ sframe_xlate_do_cfi_escape (const struct sframe_xlate_ctx *xlate_ctx,
OS-specific CFI opcodes), skip inspecting the DWARF expression.
This may impact the asynchronicity due to loss of coverage.
Continue to warn the user and bail out. */
- as_warn (_("skipping SFrame FDE; .cfi_escape with op (%#lx)"),
+ as_warn (_("no SFrame FDE emitted; .cfi_escape with op (%#lx)"),
(unsigned long)firstop);
err = SFRAME_XLATE_ERR_NOTREPRESENTED;
}
@@ -1537,6 +1508,89 @@ sframe_xlate_do_cfi_escape (const struct sframe_xlate_ctx *xlate_ctx,
return err;
}
+/* Translate DW_CFA_undefined into SFrame context.
+
+ DW_CFA_undefined op indicates that from now on, the previous value of
+ register can’t be restored anymore. In SFrame stack trace, we cannot
+ represent such a semantic. So, we skip generating an SFrame FDE for this,
+ when a register of interest is used with DW_CFA_undefined.
+
+ Return SFRAME_XLATE_OK if success. */
+
+static int
+sframe_xlate_do_cfi_undefined (const struct sframe_xlate_ctx *xlate_ctx ATTRIBUTE_UNUSED,
+ const struct cfi_insn_data *cfi_insn)
+{
+ if (cfi_insn->u.r == SFRAME_CFA_FP_REG
+ || cfi_insn->u.r == SFRAME_CFA_RA_REG
+ || cfi_insn->u.r == SFRAME_CFA_SP_REG)
+ {
+ as_warn (_("no SFrame FDE emitted; %s reg %u in .cfi_undefined"),
+ sframe_register_name (cfi_insn->u.r), cfi_insn->u.r);
+ return SFRAME_XLATE_ERR_NOTREPRESENTED; /* Not represented. */
+ }
+
+ /* Safe to skip. */
+ return SFRAME_XLATE_OK;
+}
+
+/* Translate DW_CFA_same_value into SFrame context.
+
+ DW_CFA_same_value op indicates that current value of register is the same as
+ in the previous frame, i.e. no restoration needed. In SFrame stack trace
+ format, the handling is done similar to DW_CFA_restore.
+
+ For SFRAME_CFA_RA_REG, if RA-tracking is enabled, reset the SFrame FRE state
+ for REG_RA to indicate that register does not need restoration. P.S.: Even
+ though resetting just REG_RA may be contradicting the AArch64 ABI (as Frame
+ Record contains for FP and LR), sframe_xlate_do_same_value () does not
+ detect the case and assumes the users' DW_CFA_same_value SFRAME_CFA_RA_REG
+ has a sound reason. For ABIs, where RA-tracking is disabled, handle it
+ similar to DW_CFA_restore: ignore the directive, it is safe to skip. The
+ reasoning is similar to that for DW_CFA_restore: if such a restoration was
+ meant to be of any consequence, there must have been the necessary CFI
+ directives for updating the CFA rule too such that the recovered RA from
+ stack is valid.
+
+ SFrame based stacktracers will implement CFA-based SP recovery for all ABIs:
+ SP for previous frame is based on the applicable CFA-rule. There is no
+ representation in SFrame to indicate "no restoration needed" for REG_SP,
+ when going to the previous frame. That said, if DW_CFA_same_value is seen
+ for SFRAME_CFA_SP_REG, handle it similar to DW_CFA_restore: ignore the
+ directive, it is safe to skip. The reasoning is similar to that for
+ DW_CFA_restore: if such a restoration was meant to be of any consequence,
+ there must have been the necessary CFI directives for updating the CFA rule
+ too. The latter will be duly processed by the SFrame generation code, as
+ expected.
+
+ For SFRAME_CFA_FP_REG, reset the state of the current FRE to indicate that
+ the value is the same as previous frame.
+
+ Return SFRAME_XLATE_OK if success. */
+
+static int
+sframe_xlate_do_same_value (const struct sframe_xlate_ctx *xlate_ctx,
+ const struct cfi_insn_data *cfi_insn)
+{
+ struct sframe_row_entry *cur_fre = xlate_ctx->cur_fre;
+
+ if (sframe_ra_tracking_p () && cfi_insn->u.r == SFRAME_CFA_RA_REG)
+ {
+ cur_fre->ra_loc = SFRAME_FRE_ELEM_LOC_REG;
+ cur_fre->ra_offset = 0;
+ cur_fre->merge_candidate = false;
+ }
+ else if (cfi_insn->u.r == SFRAME_CFA_FP_REG)
+ {
+ cur_fre->bp_loc = SFRAME_FRE_ELEM_LOC_REG;
+ cur_fre->bp_offset = 0;
+ cur_fre->merge_candidate = false;
+ }
+
+ /* Safe to skip. */
+ return SFRAME_XLATE_OK;
+}
+
/* Returns the DWARF call frame instruction name or fake CFI name for the
specified CFI opcode, or NULL if the value is not recognized. */
@@ -1636,11 +1690,11 @@ sframe_do_cfi_insn (struct sframe_xlate_ctx *xlate_ctx,
case CFI_escape:
err = sframe_xlate_do_cfi_escape (xlate_ctx, cfi_insn);
break;
- /* Following CFI opcodes are not processed at this time.
- These do not impact the coverage of the basic stack tracing
- information as conveyed in the SFrame format. */
case DW_CFA_undefined:
+ err = sframe_xlate_do_cfi_undefined (xlate_ctx, cfi_insn);
+ break;
case DW_CFA_same_value:
+ err = sframe_xlate_do_same_value (xlate_ctx, cfi_insn);
break;
default:
/* Other skipped operations may, however, impact the asynchronicity. */
@@ -1649,7 +1703,7 @@ sframe_do_cfi_insn (struct sframe_xlate_ctx *xlate_ctx,
if (!cfi_name)
cfi_name = _("(unknown)");
- as_warn (_("skipping SFrame FDE; CFI insn %s (%#x)"),
+ as_warn (_("no SFrame FDE emitted; CFI insn %s (%#x)"),
cfi_name, op);
err = SFRAME_XLATE_ERR_NOTREPRESENTED;
}
@@ -1673,7 +1727,7 @@ sframe_do_fde (struct sframe_xlate_ctx *xlate_ctx,
/* SFrame format cannot represent a non-default DWARF return column reg. */
if (xlate_ctx->dw_fde->return_column != DWARF2_DEFAULT_RETURN_COLUMN)
{
- as_warn (_("skipping SFrame FDE; non-default RA register %u"),
+ as_warn (_("no SFrame FDE emitted; non-default RA register %u"),
xlate_ctx->dw_fde->return_column);
return SFRAME_XLATE_ERR_NOTREPRESENTED;
}
@@ -1705,7 +1759,6 @@ sframe_do_fde (struct sframe_xlate_ctx *xlate_ctx,
= get_dw_fde_end_addrS (xlate_ctx->dw_fde);
}
-#ifdef SFRAME_FRE_RA_TRACKING
if (sframe_ra_tracking_p ())
{
struct sframe_row_entry *fre;
@@ -1717,12 +1770,11 @@ sframe_do_fde (struct sframe_xlate_ctx *xlate_ctx,
if (fre->ra_loc != SFRAME_FRE_ELEM_LOC_STACK
&& fre->bp_loc == SFRAME_FRE_ELEM_LOC_STACK)
{
- as_warn (_("skipping SFrame FDE; FP without RA on stack"));
+ as_warn (_("no SFrame FDE emitted; FP without RA on stack"));
return SFRAME_XLATE_ERR_NOTREPRESENTED;
}
}
}
-#endif /* SFRAME_FRE_RA_TRACKING */
return SFRAME_XLATE_OK;
}
diff --git a/gas/ginsn.c b/gas/ginsn.c
index e74196d..91b0350 100644
--- a/gas/ginsn.c
+++ b/gas/ginsn.c
@@ -179,9 +179,8 @@ ginsnS *
label_ginsn_map_find (const symbolS *label)
{
const char *name = S_GET_NAME (label);
- ginsnS *ginsn
- = (ginsnS *) str_hash_find (frchain_now->frch_ginsn_data->label_ginsn_map,
- name);
+ ginsnS *ginsn = str_hash_find (frchain_now->frch_ginsn_data->label_ginsn_map,
+ name);
return ginsn;
}
diff --git a/gas/hash.c b/gas/hash.c
index 1b47203..a55144d 100644
--- a/gas/hash.c
+++ b/gas/hash.c
@@ -25,7 +25,7 @@
hashval_t
hash_string_tuple (const void *e)
{
- string_tuple_t *tuple = (string_tuple_t *) e;
+ const string_tuple_t *tuple = e;
return htab_hash_string (tuple->key);
}
@@ -34,8 +34,8 @@ hash_string_tuple (const void *e)
int
eq_string_tuple (const void *a, const void *b)
{
- const string_tuple_t *ea = (const string_tuple_t *) a;
- const string_tuple_t *eb = (const string_tuple_t *) b;
+ const string_tuple_t *ea = a;
+ const string_tuple_t *eb = b;
return strcmp (ea->key, eb->key) == 0;
}
diff --git a/gas/hash.h b/gas/hash.h
index 6f6c1d4..97e23a9 100644
--- a/gas/hash.h
+++ b/gas/hash.h
@@ -24,7 +24,7 @@
struct string_tuple
{
const char *key;
- const void *value;
+ intptr_t value;
};
typedef struct string_tuple string_tuple_t;
@@ -50,7 +50,7 @@ extern void htab_print_statistics (FILE *f, const char *name, htab_t table);
/* Inline string hash table functions. */
static inline string_tuple_t *
-string_tuple_alloc (htab_t table, const char *key, const void *value)
+string_tuple_alloc (htab_t table, const char *key, intptr_t value)
{
string_tuple_t *tuple = table->alloc_f (1, sizeof (*tuple));
tuple->key = key;
@@ -61,18 +61,26 @@ string_tuple_alloc (htab_t table, const char *key, const void *value)
static inline void *
str_hash_find (htab_t table, const char *key)
{
- string_tuple_t needle = { key, NULL };
+ string_tuple_t needle = { key, 0 };
string_tuple_t *tuple = htab_find (table, &needle);
return tuple != NULL ? (void *) tuple->value : NULL;
}
+static inline intptr_t
+str_hash_find_int (htab_t table, const char *key)
+{
+ string_tuple_t needle = { key, 0 };
+ string_tuple_t *tuple = htab_find (table, &needle);
+ return tuple != NULL ? tuple->value : -1;
+}
+
static inline void *
str_hash_find_n (htab_t table, const char *key, size_t n)
{
char *tmp = XNEWVEC (char, n + 1);
memcpy (tmp, key, n);
tmp[n] = '\0';
- string_tuple_t needle = { tmp, NULL };
+ string_tuple_t needle = { tmp, 0 };
string_tuple_t *tuple = htab_find (table, &needle);
free (tmp);
return tuple != NULL ? (void *) tuple->value : NULL;
@@ -81,12 +89,12 @@ str_hash_find_n (htab_t table, const char *key, size_t n)
static inline void
str_hash_delete (htab_t table, const char *key)
{
- string_tuple_t needle = { key, NULL };
+ string_tuple_t needle = { key, 0 };
htab_remove_elt (table, &needle);
}
static inline void **
-str_hash_insert (htab_t table, const char *key, const void *value, int replace)
+str_hash_insert_int (htab_t table, const char *key, intptr_t value, int replace)
{
string_tuple_t *elt = string_tuple_alloc (table, key, value);
void **slot = htab_insert (table, elt, replace);
@@ -95,6 +103,12 @@ str_hash_insert (htab_t table, const char *key, const void *value, int replace)
return slot;
}
+static inline void **
+str_hash_insert (htab_t table, const char *key, const void *value, int replace)
+{
+ return str_hash_insert_int (table, key, (intptr_t) value, replace);
+}
+
static inline htab_t
str_htab_create (void)
{
diff --git a/gas/input-scrub.c b/gas/input-scrub.c
index 2e0ce83..93d1e8e 100644
--- a/gas/input-scrub.c
+++ b/gas/input-scrub.c
@@ -150,6 +150,21 @@ input_scrub_reinit (void)
memcpy (buffer_start, BEFORE_STRING, (int) BEFORE_SIZE);
}
+/* Finish off old buffers. */
+
+static void
+input_scrub_free (void)
+{
+ if (sb_index != (size_t) -1)
+ {
+ sb_kill (&from_sb);
+ sb_index = -1;
+ }
+ free (buffer_start);
+ buffer_start = NULL;
+ input_file_end ();
+}
+
/* Push the state of input reading and scrubbing so that we can #include.
The return value is a 'void *' (fudged for old compilers) to a save
area, which can be restored by passing it to input_scrub_pop(). */
@@ -188,7 +203,7 @@ input_scrub_pop (struct input_save *saved)
{
char *saved_position;
- input_scrub_end (); /* Finish off old buffer */
+ input_scrub_free ();
input_file_pop (saved->input_file_save);
saved_position = saved->saved_position;
@@ -241,12 +256,9 @@ input_scrub_begin (void)
void
input_scrub_end (void)
{
- if (buffer_start)
- {
- free (buffer_start);
- buffer_start = 0;
- input_file_end ();
- }
+ while (next_saved_file != NULL)
+ input_scrub_pop (next_saved_file);
+ input_scrub_free ();
}
/* Start reading input from a new file.
@@ -341,7 +353,6 @@ input_scrub_next_buffer (char **bufp)
{
if (sb_index >= from_sb.len)
{
- sb_kill (&from_sb);
if (from_sb_expansion == expanding_macro)
{
cond_finish_check (macro_nest);
diff --git a/gas/listing.c b/gas/listing.c
index c47a43d..d611179 100644
--- a/gas/listing.c
+++ b/gas/listing.c
@@ -190,10 +190,10 @@ struct list_info_struct
typedef struct list_info_struct list_info_type;
-int listing_lhs_width = LISTING_LHS_WIDTH;
-int listing_lhs_width_second = LISTING_LHS_WIDTH_SECOND;
-int listing_lhs_cont_lines = LISTING_LHS_CONT_LINES;
-int listing_rhs_width = LISTING_RHS_WIDTH;
+unsigned int listing_lhs_width = LISTING_LHS_WIDTH;
+unsigned int listing_lhs_width_second = LISTING_LHS_WIDTH_SECOND;
+unsigned int listing_lhs_cont_lines = LISTING_LHS_CONT_LINES;
+unsigned int listing_rhs_width = LISTING_RHS_WIDTH;
struct list_info_struct * listing_tail;
@@ -201,8 +201,8 @@ static file_info_type * file_info_head;
static file_info_type * last_open_file_info;
static FILE * last_open_file;
static struct list_info_struct * head;
-static int paper_width = 200;
-static int paper_height = 60;
+static unsigned int paper_width = 200;
+static unsigned int paper_height = 60;
extern int listing;
@@ -735,7 +735,7 @@ listing_page (list_info_type *list)
{
/* Grope around, see if we can see a title or subtitle edict coming up
soon. (we look down 10 lines of the page and see if it's there) */
- if ((eject || (on_page >= (unsigned int) paper_height))
+ if ((eject || (on_page >= paper_height))
&& paper_height != 0)
{
unsigned int c = 10;
@@ -793,7 +793,7 @@ emit_line (list_info_type * list, const char * format, ...)
static unsigned int
calc_hex (list_info_type *list)
{
- int data_buffer_size;
+ size_t data_buffer_size;
list_info_type *first = list;
unsigned int address = ~(unsigned int) 0;
fragS *frag;
@@ -826,7 +826,7 @@ calc_hex (list_info_type *list)
data_buffer_size += 2;
octet_in_frag++;
}
- if (frag_ptr->fr_type == rs_fill)
+ if (frag_ptr->fr_type == rs_fill || frag_ptr->fr_type == rs_fill_nop)
{
unsigned int var_rep_max = octet_in_frag;
unsigned int var_rep_idx = octet_in_frag;
@@ -851,27 +851,6 @@ calc_hex (list_info_type *list)
var_rep_idx = var_rep_max;
}
}
- else if (frag_ptr->fr_type == rs_fill_nop && frag_ptr->fr_opcode)
- {
- /* Print as many bytes from fr_opcode as is sensible. */
- octet_in_frag = 0;
- while (octet_in_frag < (unsigned int) frag_ptr->fr_offset
- && data_buffer_size < MAX_BYTES - 3)
- {
- if (address == ~(unsigned int) 0)
- address = frag_ptr->fr_address / OCTETS_PER_BYTE;
-
- sprintf (data_buffer + data_buffer_size,
- "%02X",
- frag_ptr->fr_opcode[octet_in_frag] & 0xff);
- data_buffer_size += 2;
-
- octet_in_frag++;
- }
-
- free (frag_ptr->fr_opcode);
- frag_ptr->fr_opcode = NULL;
- }
frag_ptr = frag_ptr->fr_next;
}
@@ -941,7 +920,7 @@ print_lines (list_info_type *list, unsigned int lineno,
emit_line (list, "**** %s\n", msg->message);
for (lines = 0;
- lines < (unsigned int) listing_lhs_cont_lines
+ lines < listing_lhs_cont_lines
&& src[cur];
lines++)
{
@@ -1377,7 +1356,7 @@ print_timestamp (void)
static void
print_single_option (char * opt, int *pos)
{
- int opt_len = strlen (opt);
+ size_t opt_len = strlen (opt);
if ((*pos + opt_len) < paper_width)
{
@@ -1546,7 +1525,7 @@ listing_psize (int width_only)
{
paper_height = get_absolute_expression ();
- if (paper_height < 0 || paper_height > 1000)
+ if (paper_height > 1000)
{
paper_height = 0;
as_warn (_("strange paper height, set to no form"));
diff --git a/gas/listing.h b/gas/listing.h
index a9822c3..2abc70c 100644
--- a/gas/listing.h
+++ b/gas/listing.h
@@ -70,10 +70,10 @@ void listing_width (unsigned int x);
#define listing_source_line(line) ((void)(line))
#endif
-extern int listing_lhs_width;
-extern int listing_lhs_width_second;
-extern int listing_lhs_cont_lines;
-extern int listing_rhs_width;
+extern unsigned int listing_lhs_width;
+extern unsigned int listing_lhs_width_second;
+extern unsigned int listing_lhs_cont_lines;
+extern unsigned int listing_rhs_width;
extern struct list_info_struct *listing_tail;
diff --git a/gas/po/es.po b/gas/po/es.po
index f974b45..e6a5cb12 100644
--- a/gas/po/es.po
+++ b/gas/po/es.po
@@ -3,14 +3,14 @@
# This file is distributed under the same license as the binutils package.
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2002 - 2012.
# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
-#: config/tc-arm.c:642
+# Antonio Ceballos <aceballos@gmail.com>, 2025
msgid ""
msgstr ""
-"Project-Id-Version: gas 2.30.0\n"
-"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2018-01-13 13:44+0000\n"
-"PO-Revision-Date: 2018-04-29 15:57+0200\n"
-"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
+"Project-Id-Version: gas 2.43.90\n"
+"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
+"POT-Creation-Date: 2025-01-19 12:20+0000\n"
+"PO-Revision-Date: 2025-06-22 10:10+0200\n"
+"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
@@ -20,64 +20,79 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.0.4\n"
-#: app.c:490 app.c:504
-msgid "end of file in comment"
-msgstr "final de fichero en el comentario"
+#: app.c:446
+#, c-format
+msgid "multibyte character (%#x) encountered in input"
+msgstr "carácter multibyte (%#x) encontrado en la entrada"
+
+#: app.c:448
+#, c-format
+msgid "multibyte character (%#x) encountered in %s"
+msgstr "carácter multibyte (%#x) encontrado en %s"
+
+#: app.c:450
+#, c-format
+msgid "multibyte character (%#x) encountered in %s at or near line %u"
+msgstr "carácter multibyte (%#x) encontrado en %s hacia la línea %u"
+
+#: app.c:454
+msgid "further multibyte character warnings suppressed"
+msgstr "avisos de carácter multibyte adicionales suprimidos"
-#: app.c:582 app.c:629
+#: app.c:665 app.c:710
#, c-format
msgid "end of file in string; '%c' inserted"
-msgstr "final de fichero dentro de cadena; '%c' insertado"
+msgstr "final de fichero en cadena; '%c' insertado"
-#: app.c:655
+#: app.c:741
#, c-format
msgid "unknown escape '\\%c' in string; ignored"
-msgstr "escape '\\%c' desconocido en la cadena; se descarta"
+msgstr "escape '\\%c' desconocida en la cadena; se descarta"
-#: app.c:829 input-scrub.c:363
+#: app.c:953 input-scrub.c:389
msgid "end of file not at end of a line; newline inserted"
-msgstr "final de fichero no está al final de una línea: se insertó línea nueva"
+msgstr "final de fichero no situado en final de línea: se inserta una nueva línea"
-#: app.c:992
+#: app.c:1131
msgid "end of file in multiline comment"
-msgstr "final de fichero en comentario multilíneas"
+msgstr "final de fichero en comentario multilínea"
-#: app.c:1067
+#: app.c:1207
msgid "end of file after a one-character quote; \\0 inserted"
-msgstr "final de fichero tras una comilla de un carácter; se insertó \\0"
+msgstr "final de fichero tras una comilla de un carácter; se inserta \\0"
-#: app.c:1075
+#: app.c:1215
msgid "end of file in escape character"
msgstr "final de fichero en carácter de escape"
-#: app.c:1087
+#: app.c:1227
msgid "missing close quote; (assumed)"
-msgstr "ausente la comilla que cierra; (se asume)"
+msgstr "falta comilla de cierre; (se asume)"
-#: app.c:1156 app.c:1211 app.c:1223 app.c:1303
+#: app.c:1295 app.c:1344 app.c:1356 app.c:1430
msgid "end of file in comment; newline inserted"
-msgstr "final de fichero en comentario; línea nueva insertada"
+msgstr "final de fichero en comentario; nueva línea insertada"
-#: as.c:162
+#: as.c:157
msgid "missing emulation mode name"
-msgstr "ausente el nombre del modo de emulación"
+msgstr "falta el nombre del modo de emulación"
-#: as.c:177
+#: as.c:172
#, c-format
msgid "unrecognized emulation name `%s'"
-msgstr "no reconocido el nombre de emulación «%s»"
+msgstr "nombre de emulación no reconocido «%s»"
-#: as.c:224
+#: as.c:212
#, c-format
msgid "GNU assembler version %s (%s) using BFD version %s\n"
-msgstr "GNU ensamblador versión %s (%s) utilizando BFD versión %s\n"
+msgstr "versión de ensamblador GNU %s (%s) utilizando versión de BFD %s\n"
-#: as.c:236
+#: as.c:228
#, c-format
msgid "Usage: %s [option...] [asmfile...]\n"
msgstr "Modo de empleo: %s [opción...] [ficheroasm...]\n"
-#: as.c:238
+#: as.c:230
#, c-format
msgid ""
"Options:\n"
@@ -87,6 +102,7 @@ msgid ""
" \t d omit debugging directives\n"
" \t g include general info\n"
" \t h include high-level source\n"
+" \t i include ginsn and synthesized CFI info\n"
" \t l include assembly\n"
" \t m include macro expansions\n"
" \t n omit forms processing\n"
@@ -95,93 +111,86 @@ msgid ""
msgstr ""
"Opciones:\n"
" -a[sub-opción...]\t activa listados\n"
-" \t Sub-casillas [por defecto hls]:\n"
+" \t Subopciones [por defecto hls]:\n"
" \t c omite condicionales falsos\n"
" \t d omite directivas de depuración\n"
-" \t g incluye informe general\n"
-" \t h incluye código de alto nivel\n"
+" \t g incluye información general\n"
+" \t h incluye fuente de alto nivel\n"
+" \t i incluye ginsn e información de CFI sintetizada\n"
" \t l incluye ensamblador\n"
" \t m incluye expansiones de macros\n"
" \t n omite el procesamiento de formas\n"
" \t s incluye símbolos\n"
-" \t =FICH lista a FICHero (debe ser la última subcasilla)\n"
+" \t =FICH lista a FICHero (ha de ser la última subopción)\n"
-#: as.c:252
+#: as.c:245
#, c-format
msgid " --alternate initially turn on alternate macro syntax\n"
-msgstr " --alternate activa inicialmente la sintaxis alternativa de macros\n"
-
-#: as.c:255
-#, c-format
-msgid ""
-" --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n"
-" compress DWARF debug sections using zlib [default]\n"
-msgstr ""
-" --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]\n"
-" comprime secciones depurables DWARF empleando zlib [predef.]\n"
+msgstr " --alternate activa inicialmente la sintaxis de macros alternativa\n"
-#: as.c:258
+#: as.c:247
#, c-format
msgid ""
-" --nocompress-debug-sections\n"
-" don't compress DWARF debug sections\n"
+" --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi|zstd}]\n"
+" compress DWARF debug sections\n"
msgstr ""
-" --nocompress-debug-sections\n"
-" no comprime las secciones de depuración DWARF\n"
+" --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi|zstd}]\n"
+" comprime las secciones de depuración DWARF\n"
-#: as.c:262
+#: as.c:250
#, c-format
-msgid ""
-" --compress-debug-sections[={none|zlib|zlib-gnu|zlib-gabi}]\n"
-" compress DWARF debug sections using zlib\n"
-msgstr ""
-" --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]\n"
-" comprime secciones de depuración DWARF empleando zlib\n"
+msgid "\t\t Default: %s\n"
+msgstr "\t\t Por defecto: %s\n"
-#: as.c:265
+#: as.c:255
#, c-format
msgid ""
" --nocompress-debug-sections\n"
-" don't compress DWARF debug sections [default]\n"
+" don't compress DWARF debug sections\n"
msgstr ""
" --nocompress-debug-sections\n"
-" no comprime las secciones de depuración DWARF [predet.]\n"
+" no comprime las secciones de depuración DWARF\n"
-#: as.c:269
+#: as.c:258
#, c-format
msgid " -D produce assembler debugging messages\n"
msgstr " -D produce mensajes de depuración de ensamblador\n"
-#: as.c:271
+#: as.c:260
+#, c-format
+msgid " --dump-config display how the assembler is configured and then exit\n"
+msgstr " --dump-config muestra cómo está configurado el ensamblador y termina\n"
+
+#: as.c:262
#, c-format
msgid ""
" --debug-prefix-map OLD=NEW\n"
" map OLD to NEW in debug information\n"
msgstr ""
" --debug-prefix-map ANT=NUEVO\n"
-" mapea ANT en NUEVO en la información de depuración\n"
+" asocia ANT a NUEVO en la información de depuración\n"
-#: as.c:274
+#: as.c:265
#, c-format
msgid " --defsym SYM=VAL define symbol SYM to given value\n"
msgstr " --defsym SIM=VAL define el símbolo SIM al valor dado\n"
-#: as.c:290
+#: as.c:281
#, c-format
msgid " emulate output (default %s)\n"
msgstr " emula la salida (por defecto %s)\n"
-#: as.c:295
+#: as.c:286
#, c-format
msgid " --execstack require executable stack for this object\n"
msgstr " --execstack requiere pila ejecutable para este objeto\n"
-#: as.c:297
+#: as.c:288
#, c-format
msgid " --noexecstack don't require executable stack for this object\n"
msgstr " --noexecstack no requiere pila ejecutable para este objeto\n"
-#: as.c:299
+#: as.c:290
#, c-format
msgid ""
" --size-check=[error|warning]\n"
@@ -190,164 +199,226 @@ msgstr ""
" --size-check=[error|warning]\n"
"\t\t\t revisar directiva .size de ELF (--size-check=error por defecto)\n"
-#: as.c:302
+#: as.c:293
#, c-format
-msgid ""
-" --elf-stt-common=[no|yes]\n"
-" generate ELF common symbols with STT_COMMON type\n"
-msgstr ""
-" --elf-stt-common=[no|yes]\n"
-" genera símbolos comunes ELF con tipo STT_COMMON\n"
+msgid " --elf-stt-common=[no|yes] "
+msgstr " --elf-stt-common=[no|yes] "
+
+#: as.c:296 as.c:307 config/tc-i386.c:17662 config/tc-i386.c:17682
+#: config/tc-i386.c:17691
+#, c-format
+msgid "(default: yes)\n"
+msgstr "(por defecto: yes)\n"
+
+#: as.c:298 as.c:309 config/tc-i386.c:17664 config/tc-i386.c:17684
+#: config/tc-i386.c:17693
+#, c-format
+msgid "(default: no)\n"
+msgstr "(por defecto: no)\n"
+
+#: as.c:299
+#, c-format
+msgid " generate ELF common symbols with STT_COMMON type\n"
+msgstr " genera símbolos comunes ELF con tipo STT_COMMON\n"
-#: as.c:305
+#: as.c:301
#, c-format
msgid " --sectname-subst enable section name substitution sequences\n"
-msgstr " --sectname-subst activa secuencias sustitutivas de nombre seccional\n"
+msgstr " --sectname-subst activa secuencias de sustitución de nombre de sección\n"
-#: as.c:308
+#: as.c:304
+#, c-format
+msgid " --generate-missing-build-notes=[no|yes] "
+msgstr " --generate-missing-build-notes=[no|yes] "
+
+#: as.c:311
+#, c-format
+msgid " generate GNU Build notes if none are present in the input\n"
+msgstr " genera notas de GNU Build si no las hay en la entrada\n"
+
+#: as.c:313
+#, c-format
+msgid " --gsframe generate SFrame stack trace information\n"
+msgstr " --gsframe genera información de traza de pila SFrame\n"
+
+#: as.c:316
+#, c-format
+msgid ""
+" --scfi=experimental Synthesize DWARF CFI for hand-written asm\n"
+" (experimental support)\n"
+msgstr ""
+" --scfi=experimental Sintetiza CFI DWARF asm hecho a mano\n"
+" (soporte experimental)\n"
+
+#: as.c:322
#, c-format
msgid " -f skip whitespace and comment preprocessing\n"
-msgstr " -f omite espacios en blanco y comentarios de preprocesamiento\n"
+msgstr ""
+" -f se salta el procesamiento de espacios en blanco y\n"
+" comentarios\n"
-#: as.c:310
+#: as.c:324
#, c-format
-msgid " -g --gen-debug generate debugging information\n"
-msgstr " -g --gen-debug genera información de depuración\n"
+msgid " -g, --gen-debug generate debugging information\n"
+msgstr " -g, --gen-debug genera información de depuración\n"
-#: as.c:312
+#: as.c:326
#, c-format
msgid " --gstabs generate STABS debugging information\n"
msgstr " --gstabs genera información de depuración de STABS\n"
-#: as.c:314
+#: as.c:328
#, c-format
msgid " --gstabs+ generate STABS debug info with GNU extensions\n"
msgstr " --gstabs+ genera informe de depuración de STABS con extensiones GNU\n"
-#: as.c:316
+#: as.c:330
#, c-format
-msgid " --gdwarf-2 generate DWARF2 debugging information\n"
-msgstr " --genana-2 genera información de depuración DWARF2\n"
+msgid " --gdwarf-<N> generate DWARF<N> debugging information. 2 <= <N> <= 5\n"
+msgstr " --gdwarf-<N> genera información de depuración DWARF<N>. 2 <= <N> <= 5\n"
-#: as.c:318
+#: as.c:332
+#, c-format
+msgid " --gdwarf-cie-version=<N> generate version 1, 3 or 4 DWARF CIEs\n"
+msgstr " --gdwarf-cie-version=<N> genera CIEs DWARF versión 1, 3 o 4\n"
+
+#: as.c:334
#, c-format
msgid " --gdwarf-sections generate per-function section names for DWARF line information\n"
msgstr ""
-" --genana-sections genera información de línea DWARF para nombre de sección por\n"
-" función\n"
+" --gdwarf-sections genera nombres de sección por función para la\n"
+" información de línea DWARF\n"
-#: as.c:320
+#: as.c:337
#, c-format
-msgid " --hash-size=<value> set the hash table size close to <value>\n"
-msgstr " --hash-size=<valor> establece el tamaño de la distribución de dispersión cerca a <valor>\n"
+msgid " --gcodeview generate CodeView debugging information\n"
+msgstr " --gcodeview genera información de depuración de CodeView\n"
-#: as.c:322
+#: as.c:340
#, c-format
-msgid " --help show this message and exit\n"
-msgstr " --help muestra este mensaje y termina\n"
+msgid " --hash-size=<N> ignored\n"
+msgstr " --hash-size=<N> se descarta\n"
-#: as.c:324
+#: as.c:342
+#, c-format
+msgid " --help show all assembler options\n"
+msgstr " --help muestra todas las opciones del ensamblador\n"
+
+#: as.c:344
#, c-format
msgid " --target-help show target specific options\n"
-msgstr " --target-help muestra las casillas específicas del objetivo\n"
+msgstr " --target-help muestra las opciones específicas del objetivo\n"
-#: as.c:326
+#: as.c:346
#, c-format
msgid " -I DIR add DIR to search list for .include directives\n"
msgstr " -I DIR añade DIR a la lista de búsqueda para directivas .include\n"
-#: as.c:328
+#: as.c:348
#, c-format
msgid " -J don't warn about signed overflow\n"
msgstr " -J no avisa sobre desbordamiento con signo\n"
-#: as.c:330
+#: as.c:350
#, c-format
msgid " -K warn when differences altered for long displacements\n"
-msgstr " -K avisa cuando hay diferencias alteradas por desubicaciones largas\n"
+msgstr " -K avisa cuando hay diferencias alteradas por desplazamientos largos\n"
-#: as.c:332
+#: as.c:352
#, c-format
-msgid " -L,--keep-locals keep local symbols (e.g. starting with `L')\n"
-msgstr " -L,--keep-locals conserva los símbolos locales (p.e. si inician con `L')\n"
+msgid " -L, --keep-locals keep local symbols (e.g. starting with `L')\n"
+msgstr " -L, --keep-locals conserva los símbolos locales (p.e. los que empeizan con `L')\n"
-#: as.c:334
+#: as.c:354
#, c-format
-msgid " -M,--mri assemble in MRI compatibility mode\n"
-msgstr " -M,--mri ensambla en modo de compatibilidad MRI\n"
+msgid " -M, --mri assemble in MRI compatibility mode\n"
+msgstr " -M, --mri ensambla en modo de compatibilidad con MRI\n"
-#: as.c:336
+#: as.c:356
#, c-format
msgid " --MD FILE write dependency information in FILE (default none)\n"
-msgstr " --MD FICHERO escribe la información de dependencias en el FICHERO (por defecto ninguno)\n"
+msgstr " --MD FICHERO escribe la información de dependencias en FICHERO (por defecto ninguno)\n"
-#: as.c:338
+#: as.c:358
+#, c-format
+msgid ""
+" --multibyte-handling=<method>\n"
+" what to do with multibyte characters encountered in the input\n"
+msgstr ""
+" --multibyte-handling=<método>\n"
+" qué hacer con los caracteres multibyte que aparezcan en la entrada\n"
+
+#: as.c:361
#, c-format
msgid " -nocpp ignored\n"
msgstr " -nocpp se descarta\n"
-#: as.c:340
+#: as.c:363
#, c-format
msgid " -no-pad-sections do not pad the end of sections to alignment boundaries\n"
-msgstr " -no-pad-sections no concadena el final de secciones a bordes alineados\n"
+msgstr " -no-pad-sections no rellena los finales de sección hasta los bordes de alineamiento\n"
-#: as.c:342
+#: as.c:365
#, c-format
msgid " -o OBJFILE name the object-file output OBJFILE (default a.out)\n"
-msgstr " -o FICHOBJ nombra la salida del objeto fichero FICHOBJ (por defecto a.out)\n"
+msgstr " -o FICHOBJ nombre del fichero objeto de salida FICHOBJ (por defecto a.out)\n"
-#: as.c:344
+#: as.c:367
#, c-format
msgid " -R fold data section into text section\n"
-msgstr " -R encarpeta sección de datos dentro de la sección textual\n"
+msgstr " -R junta la sección de datos con la de texto\n"
-#: as.c:346
+#: as.c:369
#, c-format
-msgid ""
-" --reduce-memory-overheads \n"
-" prefer smaller memory use at the cost of longer\n"
-" assembly times\n"
-msgstr ""
-" --reduce-memory-overheads \n"
-" prefiere un menor uso de memoria al costo de\n"
-" tiempos de ensamblado más largos\n"
+msgid " --reduce-memory-overheads ignored\n"
+msgstr " --reduce-memory-overheads se descarta\n"
-#: as.c:350
+#: as.c:371
#, c-format
msgid " --statistics print various measured statistics from execution\n"
-msgstr " --statistics escribe varias estadísticas medidas de la ejecución\n"
+msgstr " --statistics imprime varias estadísticas medidas de la ejecución\n"
-#: as.c:352
+#: as.c:373
#, c-format
msgid " --strip-local-absolute strip local absolute symbols\n"
-msgstr " --strip-local-absolute descubrir símbolos locales absolutos\n"
+msgstr " --strip-local-absolute elimina símbolos locales absolutos\n"
-#: as.c:354
+#: as.c:375
#, c-format
msgid " --traditional-format Use same format as native assembler when possible\n"
msgstr " --traditional-format Usa el mismo formato que el ensamblador nativo en lo posible\n"
-#: as.c:356
+#: as.c:377
#, c-format
msgid " --version print assembler version number and exit\n"
-msgstr " --version escribe el número de versión del ensamblador y termina\n"
+msgstr " --version imprime el número de versión del ensamblador y termina\n"
-#: as.c:358
+#: as.c:379
#, c-format
-msgid " -W --no-warn suppress warnings\n"
-msgstr " -W --no-warn suprime avisos\n"
+msgid " -W, --no-warn suppress warnings\n"
+msgstr " -W, --no-warn suprime avisos\n"
-#: as.c:360
+#: as.c:381
#, c-format
msgid " --warn don't suppress warnings\n"
msgstr " --warn no suprime avisos\n"
-#: as.c:362
+#: as.c:383
#, c-format
msgid " --fatal-warnings treat warnings as errors\n"
msgstr " --fatal-warnings trata los avisos como errores\n"
-#: as.c:365
+#: as.c:385
+#, c-format
+msgid " --no-info suppress information messages\n"
+msgstr " --no-info suprime mensajes de información\n"
+
+#: as.c:387
+#, c-format
+msgid " --info don't suppress information messages\n"
+msgstr " --info no suprime mensajes de información\n"
+
+#: as.c:390
#, c-format
msgid ""
" --itbl INSTTBL extend instruction set to include instructions\n"
@@ -357,22 +428,22 @@ msgstr ""
" instrucciones que coincidan con las especificaciones\n"
" definidas en el fichero INSTTBL\n"
-#: as.c:369
+#: as.c:394
#, c-format
msgid " -w ignored\n"
msgstr " -w se descarta\n"
-#: as.c:371
+#: as.c:396
#, c-format
msgid " -X ignored\n"
msgstr " -X se descarta\n"
-#: as.c:373
+#: as.c:398
#, c-format
msgid " -Z generate object file even after errors\n"
-msgstr " -Z generar fichero objeto par tras errores\n"
+msgstr " -Z genera fichero objeto incluso si hay errores\n"
-#: as.c:375
+#: as.c:400
#, c-format
msgid ""
" --listing-lhs-width set the width in words of the output data column of\n"
@@ -381,7 +452,7 @@ msgstr ""
" --listing-lhs-width establece la anchura en palabras de la columna de\n"
" datos de salida en el listado\n"
-#: as.c:378
+#: as.c:403
#, c-format
msgid ""
" --listing-lhs-width2 set the width in words of the continuation lines\n"
@@ -393,7 +464,7 @@ msgstr ""
" descarta si es más pequeño que la anchura de la\n"
" primera línea\n"
-#: as.c:382
+#: as.c:407
#, c-format
msgid ""
" --listing-rhs-width set the max width in characters of the lines from\n"
@@ -402,7 +473,7 @@ msgstr ""
" --listing-rhs-width establece la anchura máxima en caracteres de las\n"
" líneas del fichero fuente\n"
-#: as.c:385
+#: as.c:410
#, c-format
msgid ""
" --listing-cont-lines set the maximum number of continuation lines used\n"
@@ -412,33 +483,48 @@ msgstr ""
" utilizadas para la columna de datos de salida del\n"
" listado\n"
-#: as.c:388
+#: as.c:413
#, c-format
msgid " @FILE read options from FILE\n"
-msgstr " @FICHERO lee casillas del FICHERO\n"
+msgstr " @FICHERO lee las opciones de FICHERO\n"
-#: as.c:396
+#: as.c:421
#, c-format
msgid "Report bugs to %s\n"
msgstr "Comunica defectos a %s\n"
-#: as.c:616
+#: as.c:647
+#, c-format
+msgid "unrecognized option `-%c%s'"
+msgstr "opción no reconocida `-%c%s'"
+
+#: as.c:649
+#, c-format
+msgid "unrecognized option `--%s=%s'"
+msgstr "opción no reconocida `--%s=%s'"
+
+#: as.c:651
#, c-format
-msgid "unrecognized option -%c%s"
-msgstr "opción no reconocida -%c%s"
+msgid "unrecognized option `--%s'"
+msgstr "opción no reconocida `--%s'"
+
+#: as.c:701
+#, c-format
+msgid "unexpected argument to --multibyte-input-option: '%s'"
+msgstr "argumento inesperado para --multibyte-input-option: '%s'"
#. This output is intended to follow the GNU standards document.
-#: as.c:658
+#: as.c:706
#, c-format
msgid "GNU assembler %s\n"
-msgstr "Ensamblador %s de GNU\n"
+msgstr "Ensamblador GNU %s\n"
-#: as.c:659
+#: as.c:707
#, c-format
-msgid "Copyright (C) 2018 Free Software Foundation, Inc.\n"
-msgstr "© 2018 Free Software Foundation, Inc.\n"
+msgid "Copyright (C) 2025 Free Software Foundation, Inc.\n"
+msgstr "Copyright (C) 2025 Free Software Foundation, Inc.\n"
-#: as.c:660
+#: as.c:708
#, c-format
msgid ""
"This program is free software; you may redistribute it under the terms of\n"
@@ -449,7 +535,7 @@ msgstr ""
"la Licencia Pública General de GNU versión 3 o posterior.\n"
"Este programa no tiene ninguna garantía.\n"
-#: as.c:665
+#: as.c:713
#, c-format
msgid ""
"This assembler was configured for a target of `%s' and default,\n"
@@ -458,116 +544,150 @@ msgstr ""
"Este ensamblador fue configurado para un objetivo de «%s» y por omisión,\n"
"tipo «%s» de cpu.\n"
-#: as.c:669
+#: as.c:717
#, c-format
msgid "This assembler was configured for a target of `%s'.\n"
msgstr "Este ensamblador se configuró para un objetivo «%s».\n"
-#: as.c:677
+#: as.c:725
msgid "multiple emulation names specified"
msgstr "se especificaron múltiples nombres de emulación"
-#: as.c:679
+#: as.c:727
msgid "emulations not handled in this configuration"
msgstr "las emulaciones no se manejan en esta configuración"
-#: as.c:684
+#: as.c:732
#, c-format
msgid "alias = %s\n"
msgstr "alias = %s\n"
-#: as.c:685
+#: as.c:733
#, c-format
msgid "canonical = %s\n"
msgstr "canónico = %s\n"
-#: as.c:686
+#: as.c:734
#, c-format
msgid "cpu-type = %s\n"
msgstr "tipo-cpu = %s\n"
-#: as.c:688
+#: as.c:736
#, c-format
msgid "format = %s\n"
msgstr "formato = %s\n"
-#: as.c:691
+#: as.c:739
#, c-format
msgid "bfd-target = %s\n"
msgstr "objetivo-bfd = %s\n"
-#: as.c:708
+#: as.c:750
+msgid "--compress-debug-sections=zstd: gas is not built with zstd support"
+msgstr "--compress-debug-sections=zstd: gas no está construido con soporte zstd"
+
+#: as.c:754
#, c-format
msgid "Invalid --compress-debug-sections option: `%s'"
-msgstr "Opción invalida --compress-debug-sections: «%s»"
+msgstr "Opción no valida de --compress-debug-sections: «%s»"
-#: as.c:711
+#: as.c:757
#, c-format
msgid "--compress-debug-sections=%s is unsupported"
-msgstr "--compress-debug-sections=%s no es compatible"
+msgstr "--compress-debug-sections=%s no está disponible"
-#: as.c:736
+#: as.c:782
msgid "bad defsym; format is --defsym name=value"
-msgstr "defsym equivocado; el formato es --defsym nombre=valor"
+msgstr "defsym incorrecto; el formato es --defsym nombre=valor"
-#: as.c:756
+#: as.c:800
msgid "no file name following -t option"
msgstr "no hay un nombre de fichero a continuación de la opción -t"
-#: as.c:771
+#: as.c:809
#, c-format
msgid "failed to read instruction table %s\n"
-msgstr "falló al leer la distribución de instrucciones %s\n"
+msgstr "fallo al leer la table de instrucciones %s\n"
-#: as.c:887
+#: as.c:831
+#, c-format
+msgid "unknown DWARF option %s\n"
+msgstr "Opción DWARF desconocida %s\n"
+
+#: as.c:833
+#, c-format
+msgid "unknown option `%s'"
+msgstr "opción desconocida «%s»"
+
+#: as.c:890
+#, c-format
+msgid "Invalid --gdwarf-cie-version `%s'"
+msgstr "Opción no válida de --gdwarf-cie-version «%s»"
+
+#: as.c:990
+#, c-format
+msgid "Invalid --scfi= option: `%s'; suggested option: experimental"
+msgstr "Opción no válida de --scfi= : «%s»; se sugiere esta opción: xperimental"
+
+#: as.c:1001
#, c-format
msgid "Invalid --size-check= option: `%s'"
-msgstr "Invalida opción --size-check=: «%s»"
+msgstr "Opción no válida de --size-check=: «%s»"
-#: as.c:896
+#: as.c:1010
#, c-format
msgid "Invalid --elf-stt-common= option: `%s'"
-msgstr "Invalida opción no reconocida --elf-stt-common «%s»"
+msgstr "Opción no válida de --elf-stt-common=: «%s»"
-#: as.c:969
+#: as.c:1024
#, c-format
-msgid "invalid listing option `%c'"
-msgstr "invalida listado de opción `%c'"
+msgid "Invalid --generate-missing-build-notes option: `%s'"
+msgstr "Opción no valida de --generate-missing-build-notes: «%s»"
-#: as.c:1022
-msgid "--hash-size needs a numeric argument"
-msgstr "--hash-size necesita un argumento numérico"
+#: as.c:1102
+#, c-format
+msgid "invalid listing option `%c'"
+msgstr "opción de listado no válida `%c'"
-#: as.c:1044
+#: as.c:1165
#, c-format
msgid "%s: total time in assembly: %ld.%06ld\n"
msgstr "%s: tiempo total en ensamblado: %ld.%06ld\n"
-#: as.c:1325
+#: as.c:1263
+msgid "libbfd ABI mismatch"
+msgstr "ABI de libbfd no coincidente"
+
+#: as.c:1427
+#, c-format
+msgid "The input '%s' and output '%s' files are the same"
+msgstr "Los ficheros de entrada «%s» y de salida «%s» son el mismo"
+
+#: as.c:1480
#, c-format
msgid "%d warning"
msgid_plural "%d warnings"
msgstr[0] "%d aviso"
msgstr[1] "%d avisos"
-#: as.c:1327
+#: as.c:1482
#, c-format
msgid "%d error"
msgid_plural "%d errors"
msgstr[0] "%d error"
msgstr[1] "%d errores"
-#: as.c:1331
+#: as.c:1486
#, c-format
msgid "%s, treating warnings as errors"
-msgstr "%s , tratando avisos como errores"
+msgstr "%s , se tratan los avisos como errores"
-#: as.c:1342
+#: as.c:1497
#, c-format
msgid "%s, %s, generating bad object file\n"
-msgstr "%s, %s, generando fichero objeto equivocado\n"
+msgstr "%s, %s, generando fichero objeto incorrecto\n"
-#: as.h:173
+#: as.h:134
#, c-format
msgid "Case value %ld unexpected at line %d of file \"%s\"\n"
msgstr "Valor de case %ld inesperado en la línea %d del fichero «%s»\n"
@@ -576,528 +696,622 @@ msgstr "Valor de case %ld inesperado en la línea %d del fichero «%s»\n"
#. * We have a GROSS internal error.
#. * This should never happen.
#.
-#: atof-generic.c:418 config/tc-m68k.c:3582
+#: atof-generic.c:456 config/tc-m68k.c:3485
msgid "failed sanity check"
-msgstr "falló la prueba de sanidad"
-
-#: cgen.c:107 config/tc-alpha.c:2099 config/tc-alpha.c:2123
-#: config/tc-arc.c:4013 config/tc-arc.c:4087 config/tc-d10v.c:550
-#: config/tc-d30v.c:537 config/tc-mn10200.c:1098 config/tc-mn10300.c:1752
-#: config/tc-ppc.c:2987 config/tc-ppc.c:3173 config/tc-ppc.c:3438
-#: config/tc-s390.c:1323 config/tc-s390.c:1446 config/tc-s390.c:1584
-#: config/tc-v850.c:2538 config/tc-v850.c:2609 config/tc-v850.c:2656
-#: config/tc-v850.c:2693 config/tc-v850.c:2730 config/tc-v850.c:2993
+msgstr "la inspección sanitaria ha fallado"
+
+#: cgen.c:106 config/tc-alpha.c:2097 config/tc-alpha.c:2121
+#: config/tc-arc.c:4075 config/tc-arc.c:4148 config/tc-d10v.c:550
+#: config/tc-d30v.c:534 config/tc-mn10200.c:1093 config/tc-mn10300.c:1753
+#: config/tc-ppc.c:3954 config/tc-s390.c:1824 config/tc-v850.c:2530
+#: config/tc-v850.c:2601 config/tc-v850.c:2648 config/tc-v850.c:2685
+#: config/tc-v850.c:2722 config/tc-v850.c:2986
msgid "too many fixups"
-msgstr "demasiadas composturas"
+msgstr "demasiadas reparaciones"
-#: cgen.c:372 cgen.c:392 config/tc-d10v.c:461 config/tc-d30v.c:453
-#: config/tc-i370.c:2127 config/tc-mn10200.c:1040 config/tc-mn10300.c:1677
-#: config/tc-ppc.c:3029 config/tc-s390.c:1307 config/tc-v850.c:2647
-#: config/tc-v850.c:2681 config/tc-v850.c:2721 config/tc-v850.c:2966
-#: config/tc-z80.c:446
+#: cgen.c:371 cgen.c:393 config/tc-d10v.c:461 config/tc-d30v.c:450
+#: config/tc-mn10200.c:1035 config/tc-mn10300.c:1678 config/tc-ppc.c:3483
+#: config/tc-v850.c:2639 config/tc-v850.c:2673 config/tc-v850.c:2713
+#: config/tc-v850.c:2959 config/tc-z80.c:785
msgid "illegal operand"
msgstr "operando ilegal"
-#: cgen.c:396 config/tc-avr.c:899 config/tc-d10v.c:463 config/tc-d30v.c:455
-#: config/tc-h8300.c:502 config/tc-i370.c:2129 config/tc-mcore.c:661
-#: config/tc-microblaze.c:609 config/tc-mmix.c:495 config/tc-mn10200.c:1043
-#: config/tc-mn10300.c:1680 config/tc-msp430.c:417 config/tc-ppc.c:3031
-#: config/tc-s390.c:1312 config/tc-sh.c:1385 config/tc-sh64.c:2214
-#: config/tc-v850.c:2651 config/tc-v850.c:2685 config/tc-v850.c:2725
-#: config/tc-v850.c:2969 config/tc-xgate.c:895 config/tc-z80.c:557
+#: cgen.c:397 config/tc-avr.c:910 config/tc-d10v.c:463 config/tc-d30v.c:452
+#: config/tc-h8300.c:495 config/tc-mcore.c:662 config/tc-microblaze.c:585
+#: config/tc-mmix.c:485 config/tc-mn10200.c:1038 config/tc-mn10300.c:1681
+#: config/tc-msp430.c:417 config/tc-ppc.c:3485 config/tc-sh.c:988
+#: config/tc-v850.c:2643 config/tc-v850.c:2677 config/tc-v850.c:2717
+#: config/tc-v850.c:2962 config/tc-xgate.c:895 config/tc-z80.c:933
#: config/tc-z8k.c:349
msgid "missing operand"
-msgstr "ausente operando"
+msgstr "falta operando"
-#: cgen.c:767
+#: cgen.c:774
msgid "a reloc on this operand implies an overflow"
-msgstr "una reubicación en este operando implica un desbordamiento"
+msgstr "la reubicación de este operando implica desbordamiento"
-#: cgen.c:790
+#: cgen.c:797
msgid "operand mask overflow"
msgstr "desbordamiento de máscara de operando"
-#. We can't actually support subtracting a symbol.
-#: cgen.c:851 config/tc-arm.c:1776 config/tc-arm.c:10346 config/tc-arm.c:10398
-#: config/tc-arm.c:10656 config/tc-arm.c:11493 config/tc-arm.c:12630
-#: config/tc-arm.c:12670 config/tc-arm.c:13013 config/tc-arm.c:13054
-#: config/tc-arm.c:17513 config/tc-arm.c:17554 config/tc-avr.c:1550
-#: config/tc-avr.c:1562 config/tc-avr.c:1826 config/tc-cris.c:4067
-#: config/tc-d10v.c:1507 config/tc-d30v.c:1912 config/tc-ft32.c:574
-#: config/tc-ft32.c:587 config/tc-mips.c:9438 config/tc-mips.c:10743
-#: config/tc-mips.c:11999 config/tc-mips.c:12658 config/tc-nds32.c:6587
-#: config/tc-pru.c:747 config/tc-pru.c:757 config/tc-spu.c:957
-#: config/tc-spu.c:981 config/tc-tilegx.c:1485 config/tc-tilepro.c:1346
-#: config/tc-v850.c:3451 config/tc-vax.c:282 config/tc-xstormy16.c:482
-#: config/tc-xtensa.c:5949 config/tc-xtensa.c:13095
+#: cgen.c:860 config/tc-arm.c:2042 config/tc-arm.c:11126 config/tc-arm.c:11178
+#: config/tc-arm.c:11466 config/tc-arm.c:12364 config/tc-arm.c:13513
+#: config/tc-arm.c:13553 config/tc-arm.c:13926 config/tc-arm.c:13968
+#: config/tc-arm.c:21213 config/tc-arm.c:21273 config/tc-mips.c:9707
+#: config/tc-mips.c:11025 config/tc-mips.c:12322 config/tc-mips.c:13003
+#: config/tc-spu.c:980 config/tc-xtensa.c:13107
msgid "expression too complex"
msgstr "expresión demasiado compleja"
-#: cgen.c:950 config/tc-ppc.c:7027 config/tc-s390.c:2365 config/tc-v850.c:3503
-#: config/tc-xstormy16.c:539
+#: cgen.c:961 config/tc-ppc.c:7491 config/tc-s390.c:2602 config/tc-v850.c:3492
+#: config/tc-xstormy16.c:541
msgid "unresolved expression that must be resolved"
msgstr "expresión sin resolver que se debe resolver"
-#: cgen.c:975 config/tc-xstormy16.c:564
+#: cgen.c:986 config/tc-bpf.c:884 config/tc-xstormy16.c:566
#, c-format
msgid "internal error: can't install fix for reloc type %d (`%s')"
-msgstr "error interno: no se puede instalar la compostura para el tipo reubicado %d («%s»)"
+msgstr "error interno: no se puede instalar la reparación para el tipo reubicado %d («%s»)"
-#: cgen.c:1026 config/tc-nios2.c:1360 config/tc-pru.c:788
+#: cgen.c:1039 config/tc-bpf.c:368 config/tc-pru.c:786
msgid "relocation is not supported"
msgstr "no se admite la reubicación"
-#: cond.c:82
+#: codeview.c:435
+#, c-format
+msgid "could not open %s for reading"
+msgstr "no se ha podido abrir %s para lectura"
+
+#: codeview.c:440
+msgid "md5_stream failed"
+msgstr "md5_stream ha fallado"
+
+#: codeview.c:548
+msgid "value cannot be expressed as a .cv_scomp"
+msgstr "el valor no puede expresarse como un .cv_scomp"
+
+#: codeview.c:556
+msgid "value cannot be expressed as a .cv_ucomp"
+msgstr "el valor no puede expresarse como un .cv_ucomp"
+
+#: cond.c:84
msgid "invalid identifier for \".ifdef\""
msgstr "identificador inválido para \".ifdef\""
-#: cond.c:149
+#: cond.c:151
msgid "non-constant expression in \".if\" statement"
-msgstr "expresión en declaración \".if\" no constante"
+msgstr "expresión no constante en sentencia \".if\""
-#: cond.c:276
+#: cond.c:279
msgid "bad format for ifc or ifnc"
-msgstr "formato equivocado para ifc ó ifnc"
+msgstr "formato incorrecto para ifc ó ifnc"
-#: cond.c:306
+#: cond.c:310
msgid "\".elseif\" without matching \".if\""
-msgstr "\".elseif\" sin coincidir con \".if\""
+msgstr "\".elseif\" sin su correspondiente \".if\""
-#: cond.c:310
+#: cond.c:314
msgid "\".elseif\" after \".else\""
-msgstr "\".elseif\" tras \".else\""
+msgstr "\".elseif\" después de \".else\""
-#: cond.c:313 cond.c:419
+#: cond.c:317 cond.c:423
msgid "here is the previous \".else\""
msgstr "aquí está el anterior \".else\""
-#: cond.c:316 cond.c:422
+#: cond.c:320 cond.c:426
msgid "here is the previous \".if\""
msgstr "aquí está el anterior \".if\""
-#: cond.c:345
+#: cond.c:349
msgid "non-constant expression in \".elseif\" statement"
-msgstr "expresión no constante en \".elseif\" declarado"
+msgstr "expresión no constante en sentencia \".elseif\""
-#: cond.c:383
+#: cond.c:387
msgid "\".endif\" without \".if\""
msgstr "\".endif\" sin \".if\""
-#: cond.c:412
+#: cond.c:416
msgid "\".else\" without matching \".if\""
-msgstr "\".else\" sin coincidir un \".if\""
+msgstr "\".else\" sin su correspondiente \".if\""
-#: cond.c:416
+#: cond.c:420
msgid "duplicate \".else\""
-msgstr "duplica \".else\""
+msgstr "\".else\" duplicado"
-#: cond.c:467
+#: cond.c:471
msgid ".ifeqs syntax error"
-msgstr "error sintáctico en .ifeqs"
+msgstr "error de sintaxis en .ifeqs"
-#: cond.c:548
+#: cond.c:559
msgid "end of macro inside conditional"
msgstr "fin de macro dentro de un condicional"
-#: cond.c:550
+#: cond.c:561
msgid "end of file inside conditional"
msgstr "final de fichero dentro de un condicional"
-#: cond.c:553
+#: cond.c:565
msgid "here is the start of the unterminated conditional"
-msgstr "aquí es el inicio del condicional sin terminar"
+msgstr "aquí está el comienzo del condicional sin terminar"
-#: cond.c:557
+#: cond.c:569
msgid "here is the \"else\" of the unterminated conditional"
msgstr "aquí está el \"else\" del condicional sin terminar"
-#: config/atof-ieee.c:139
+#: config/atof-ieee.c:148
msgid "cannot create floating-point number"
msgstr "no se puede crear el número de coma flotante"
-#: config/atof-ieee.c:286
-msgid "NaNs are not supported by this target\n"
-msgstr "No se admiten NaNs en este objetivo\n"
+#: config/atof-ieee.c:335
+msgid "NaNs are not supported by this target"
+msgstr "No se admiten NaNs en este objetivo"
+
+#: config/atof-ieee.c:354
+msgid "NaN flavors are not supported by this target"
+msgstr "No se admiten variantes de NaNs en este objetivo"
-#: config/atof-ieee.c:325 config/atof-ieee.c:366
-msgid "Infinities are not supported by this target\n"
-msgstr "No se admiten infinitos en este objetivo\n"
+#: config/atof-ieee.c:392
+msgid "Infinities are not supported by this target"
+msgstr "No se admiten infinitos en este objetivo"
-#: config/atof-ieee.c:781 config/atof-vax.c:449 config/tc-arm.c:1152
-#: config/tc-ia64.c:11608 config/tc-tic30.c:1263 config/tc-tic4x.c:2585
+#: config/atof-ieee.c:825 config/atof-vax.c:449 config/tc-arm.c:1271
+#: config/tc-ia64.c:11573 config/tc-tic30.c:1241 config/tc-tic4x.c:2569
msgid "Unrecognized or unsupported floating point constant"
msgstr "No reconoce o no admite constante de coma flotante"
#: config/obj-aout.c:81
#, c-format
msgid "Attempt to put a common symbol into set %s"
-msgstr "Intentaba poner un símbolo común en el conjunto %s"
+msgstr "Intento de poner un símbolo común en el conjunto %s"
#: config/obj-aout.c:85
#, c-format
msgid "Attempt to put an undefined symbol into set %s"
-msgstr "Intentaba poner un símbolo indefinido en el conjunto %s"
+msgstr "Intento de poner un símbolo indefinido en el conjunto %s"
-#: config/obj-aout.c:112 config/obj-coff.c:1382
+#: config/obj-aout.c:112 config/obj-coff.c:1378
#, c-format
msgid "Symbol `%s' can not be both weak and common"
msgstr "El símbolo «%s» no puede ser débil y común al mismo tiempo"
-#: config/obj-coff.c:135 dw2gencfi.c:334
-#, c-format
-msgid "Inserting \"%s\" into structure table failed: %s"
-msgstr "Falló la inserción de «%s» en la distribución de estructuras: %s"
-
-#: config/obj-coff.c:214 config/obj-coff.c:1681 config/tc-ppc.c:5647
-#: config/tc-tic54x.c:3980 read.c:2960
+#: config/obj-coff.c:206 config/obj-coff.c:1693 config/tc-tic54x.c:4002
+#: read.c:3047
#, c-format
msgid "error setting flags for \"%s\": %s"
-msgstr "error al establecer las casillas para «%s»: %s"
+msgstr "error al establecer las opciones para «%s»: %s"
#. Zero is used as an end marker in the file.
-#: config/obj-coff.c:435
+#: config/obj-coff.c:424
msgid "Line numbers must be positive integers\n"
msgstr "Los números de línea deben ser enteros positivos\n"
-#: config/obj-coff.c:467
+#: config/obj-coff.c:456
msgid ".ln pseudo-op inside .def/.endef: ignored."
-msgstr ".ln como pseudo-operador dentro de .def/.endef: se descarta."
+msgstr "pseudo-operador .ln dentro de .def/.endef: se descarta."
-#: config/obj-coff.c:509 ecoff.c:3245
+#: config/obj-coff.c:497 ecoff.c:3232
msgid ".loc outside of .text"
msgstr ".loc fuera de .text"
-#: config/obj-coff.c:516
+#: config/obj-coff.c:504
msgid ".loc pseudo-op inside .def/.endef: ignored."
msgstr "pseudo-operador .loc dentro de .def/.endef: se descarta."
-#: config/obj-coff.c:596
+#: config/obj-coff.c:584
msgid ".def pseudo-op used inside of .def/.endef: ignored."
msgstr "se usó el pseudo-operador .def dentro de .def/.endef: se descarta."
-#: config/obj-coff.c:629
+#: config/obj-coff.c:617
msgid ".endef pseudo-op used outside of .def/.endef: ignored."
msgstr "se usó el pseudo-operador .endef fuera de .def/.endef: se descarta."
-#: config/obj-coff.c:668
+#: config/obj-coff.c:656
#, c-format
msgid "`%s' symbol without preceding function"
-msgstr "símbolo «%s» sin una función precedente"
+msgstr "símbolo «%s» sin función que lo preceda"
-#: config/obj-coff.c:755
+#: config/obj-coff.c:743
#, c-format
msgid "unexpected storage class %d"
msgstr "clase de almacenamiento %d inesperada"
-#: config/obj-coff.c:863
+#: config/obj-coff.c:850
msgid ".dim pseudo-op used outside of .def/.endef: ignored."
msgstr "se usó el pseudo-operador .dim fuera de .def/.endef: se descarta."
-#: config/obj-coff.c:883
+#: config/obj-coff.c:870
msgid "badly formed .dim directive ignored"
-msgstr "se descarta la directiva .dim formada equivocadamente"
+msgstr "se descarta la directiva .dim formada incorrectamente"
-#: config/obj-coff.c:932
+#: config/obj-coff.c:919
msgid ".size pseudo-op used outside of .def/.endef: ignored."
-msgstr "se utiliza el pseudo-operador .size fuera de .def/.endef: descartado."
+msgstr "pseudo-operador .size utilizado fuera de .def/.endef: descartado."
-#: config/obj-coff.c:947
+#: config/obj-coff.c:934
msgid ".scl pseudo-op used outside of .def/.endef: ignored."
-msgstr "se utiliza el pseudo-operador .scl fuera de .def/.endef: descartado."
+msgstr "pseudo-operador .scl utilizado fuera de .def/.endef: descartado."
-#: config/obj-coff.c:964
+#: config/obj-coff.c:951
msgid ".tag pseudo-op used outside of .def/.endef: ignored."
-msgstr "se utiliza el pseudo-operador .tag fuera de .def/.endef; descartado."
+msgstr "pseudo-operador .tag utilizado fuera de .def/.endef; descartado."
-#: config/obj-coff.c:981
+#: config/obj-coff.c:968
#, c-format
msgid "tag not found for .tag %s"
-msgstr "no se encontró una marca para .tag %s"
+msgstr "no se encontró etiqueta para .tag %s"
-#: config/obj-coff.c:994
+#: config/obj-coff.c:981
msgid ".type pseudo-op used outside of .def/.endef: ignored."
-msgstr "se utiliza el pseudo-operador .type fuera de .def/.endef; descartado."
+msgstr "pseudo-operador .type utilizado fuera de .def/.endef; descartado."
-#: config/obj-coff.c:1013
+#: config/obj-coff.c:1000
msgid ".val pseudo-op used outside of .def/.endef: ignored."
-msgstr "se utiliza el pseudo-operador .val fuera de .def/.endef; descartado."
+msgstr "pseudo-operador .val utilizado fuera de .def/.endef; descartado."
-#: config/obj-coff.c:1160
+#: config/obj-coff.c:1147
msgid "badly formed .weak directive ignored"
-msgstr "se descarta la directiva .weak formada equivocadamente"
+msgstr "se descarta la directiva .weak formada incorrectamente"
-#: config/obj-coff.c:1338
+#: config/obj-coff.c:1334
msgid "mismatched .eb"
msgstr ".eb sin coincidencia"
-#: config/obj-coff.c:1361
+#: config/obj-coff.c:1357
#, c-format
msgid "C_EFCN symbol for %s out of scope"
-msgstr "C_EFCN comoo símbolo para %s fuera de ámbito"
+msgstr "símbolo C_EFCN para %s fuera de ámbito"
-#: config/obj-coff.c:1415
+#: config/obj-coff.c:1412
#, c-format
msgid "Warning: internal error: forgetting to set endndx of %s"
-msgstr "Aviso: error interno: se olvida definir endndx de %s"
+msgstr "Aviso: error interno: se olvida establecer el endndx de %s"
#. STYP_INFO
#. STYP_LIB
#. STYP_OVER
-#: config/obj-coff.c:1646
+#: config/obj-coff.c:1655
#, c-format
msgid "unsupported section attribute '%c'"
-msgstr "no se admite el atributo seccional '%c'"
+msgstr "no se admite el atributo de sección '%c'"
-#: config/obj-coff.c:1650 config/tc-ppc.c:5629
+#: config/obj-coff.c:1659
#, c-format
msgid "unknown section attribute '%c'"
-msgstr "desconoce atributo seccional '%c'"
+msgstr "atributo de sección desconocido '%c'"
-#: config/obj-coff.c:1693 config/obj-macho.c:267
+#: config/obj-coff.c:1705 config/obj-macho.c:269
#, c-format
msgid "Ignoring changed section attributes for %s"
-msgstr "Se descartan los atributos seccional cambiados para %s"
+msgstr "Se descartan los atributos sección cambiados para %s"
-#: config/obj-coff.c:1831
+#: config/obj-coff.c:1849
#, c-format
msgid "0x%lx: \"%s\" type = %ld, class = %d, segment = %d\n"
msgstr "0x%lx: «%s» tipo = %ld, clase = %d, segmento = %d\n"
-#: config/obj-ecoff.c:124
+#: config/obj-ecoff.c:125
msgid "Can't set GP value"
msgstr "No se puede establecer el valor GP"
-#: config/obj-ecoff.c:131
+#: config/obj-ecoff.c:132
msgid "Can't set register masks"
msgstr "No se pueden establecer las máscaras de registro"
-#: config/obj-elf.c:348 config/tc-sparc.c:4564 config/tc-v850.c:511
+#: config/obj-elf.c:272 config/tc-sparc.c:4383 config/tc-v850.c:508
#, c-format
msgid "bad .common segment %s"
-msgstr "segmento .common %s equivocado"
+msgstr "segmento .common %s incorrecto"
-#: config/obj-elf.c:424
+#: config/obj-elf.c:348 config/tc-aarch64.c:2278 config/tc-kvx.c:2235
msgid "Missing symbol name in directive"
-msgstr "Ausente nombre simbólico en la directiva"
+msgstr "Falta el nombre de símbolo en la directiva"
-#: config/obj-elf.c:646
+#: config/obj-elf.c:678
#, c-format
msgid "setting incorrect section type for %s"
-msgstr "se establece un tipo seccional incorrecto para %s"
+msgstr "se establece un tipo de sección incorrecto para %s"
-#: config/obj-elf.c:651
+#: config/obj-elf.c:683
#, c-format
msgid "ignoring incorrect section type for %s"
-msgstr "se descarta el tipo seccional incorrecto para %s"
+msgstr "se descarta el tipo de sección incorrecto para %s"
-#: config/obj-elf.c:702
+#: config/obj-elf.c:742
#, c-format
msgid "setting incorrect section attributes for %s"
-msgstr "se establecen atributos seccional incorrectos para %s"
+msgstr "se establecen atributos de sección incorrectos para %s"
-#: config/obj-elf.c:713
+#. This is a special section with known type. User
+#. assembly might get the section type wrong; Even high
+#. profile projects like glibc have done so in the past.
+#. So don't error in this case.
+#: config/obj-elf.c:836
#, c-format
-msgid "SHF_ALLOC isn't set for GNU_MBIND section: %s"
-msgstr "SHF_ALLOC no está establecido para sección GNU_MBIND: %s"
+msgid "ignoring changed section type for %s"
+msgstr "se descarta el tipo de sección cambiado para %s"
-#: config/obj-elf.c:762
+#. Do error when assembly isn't self-consistent.
+#: config/obj-elf.c:839
#, c-format
-msgid "ignoring changed section type for %s"
-msgstr "se descarta el tipo seccional cambiado para %s"
+msgid "changed section type for %s"
+msgstr "tipo de sección cambiado para %s"
-#: config/obj-elf.c:774
+#: config/obj-elf.c:854
#, c-format
msgid "ignoring changed section attributes for %s"
-msgstr "se descartan los atributos seccional cambiados para %s"
+msgstr "se descartan los atributos de sección cambiados para %s"
+
+#: config/obj-elf.c:856
+#, c-format
+msgid "changed section attributes for %s"
+msgstr "atributos de sección cambiados para %s"
-#: config/obj-elf.c:781
+#: config/obj-elf.c:865
#, c-format
-msgid "ignoring changed section entity size for %s"
-msgstr "se descarta el tamaño de entidad seccional cambiado para %s"
+msgid "changed section entity size for %s"
+msgstr "tamaño de entidad de sección cambiado para %s"
-#: config/obj-elf.c:845
-msgid "unrecognized .section attribute: want a,e,w,x,M,S,G,T or number"
-msgstr "no reconocido atributo .section: requiere a,e,w,x,M,S,G,T o número"
+#: config/obj-elf.c:947
+msgid "unrecognized .section attribute: want a,e,o,w,x,M,S,G,T or number"
+msgstr "atributo de .section no reconocido: se desea a,e,o,w,x,M,S,G,T o número"
-#: config/obj-elf.c:905
+#: config/obj-elf.c:1033
msgid "extraneous characters at end of numeric section type"
-msgstr "extraños caracteres al final de tipo seccional numérico"
+msgstr "caracteres extraños al final de tipo de sección numérico"
-#: config/obj-elf.c:911 read.c:2944
+#: config/obj-elf.c:1039 read.c:3031
msgid "unrecognized section type"
-msgstr "no reconocido el tipo seccional"
+msgstr "tipo de sección no reconocido"
-#: config/obj-elf.c:943
+#: config/obj-elf.c:1064
msgid "unrecognized section attribute"
-msgstr "no reconocido el atributo seccional"
+msgstr "atributo de sección no reconocido"
-#: config/obj-elf.c:974 config/tc-alpha.c:4208
+#: config/obj-elf.c:1096 config/tc-alpha.c:4208
msgid "missing name"
-msgstr "ausente nombre"
+msgstr "falta el nombre"
+
+#: config/obj-elf.c:1166
+msgid "group name not parseable"
+msgstr "nombre de grupo no analizable"
+
+#: config/obj-elf.c:1173
+#, c-format
+msgid "section %s already has a group (%s)"
+msgstr "la sección %s ya tiene un grupo (%s)"
+
+#: config/obj-elf.c:1226
+#, c-format
+msgid "section name '%s' already defined as another symbol"
+msgstr "el nombre de sección «%s» ya está definido como otro símbolo"
+
+#: config/obj-elf.c:1331
+msgid "invalid merge / string entity size"
+msgstr "mezcla / tamaño de entidad de cadena no válido(s)"
-#: config/obj-elf.c:1134
-msgid "invalid merge entity size"
-msgstr "tamaño de entidad de mezcla inválido"
+#: config/obj-elf.c:1345
+msgid "entity size for SHF_MERGE / SHF_STRINGS not specified"
+msgstr "no se especificó el tamaño de entidad para SHF_MERGE / SHF_STRINGS"
-#: config/obj-elf.c:1141
-msgid "entity size for SHF_MERGE not specified"
-msgstr "no se especificó el tamaño de entidad para SHF_MERGE"
+#: config/obj-elf.c:1350
+msgid "bogus SHF_MERGE / SHF_STRINGS for SHT_NOBITS section"
+msgstr "SHF_MERGE / SHF_STRINGS falso para sección SHT_NOBITS"
-#: config/obj-elf.c:1147
+#: config/obj-elf.c:1391
msgid "? section flag ignored with G present"
-msgstr "se descarta la opción seccional ? con G presente"
+msgstr "se descarta la opción de sección ? con G presente"
-#: config/obj-elf.c:1171
+#: config/obj-elf.c:1428
msgid "group name for SHF_GROUP not specified"
-msgstr "no se especificó el tamaño de entidad para SHF_GROUP"
+msgstr "no se especificó el nombre de grupo para SHF_GROUP"
-#: config/obj-elf.c:1196
+#: config/obj-elf.c:1454
#, c-format
msgid "unsupported mbind section info: %s"
-msgstr "informe seccional mbind no admitido: %s"
+msgstr "información de sección mbind no admitida: %s"
+
+#: config/obj-elf.c:1507
+#, c-format
+msgid "unsupported section id: %s"
+msgstr "id de sección: %s"
-#: config/obj-elf.c:1211
+#: config/obj-elf.c:1533
msgid "character following name is not '#'"
-msgstr "el carácter a continuación del nombre no es '#'"
+msgstr "el carácter que sigue al nombre no es '#'"
-#: config/obj-elf.c:1331
+#: config/obj-elf.c:1561
+#, c-format
+msgid "SHF_ALLOC isn't set for GNU_MBIND section: %s"
+msgstr "SHF_ALLOC no está establecido para sección GNU_MBIND: %s"
+
+#: config/obj-elf.c:1568
+#, c-format
+msgid "%s section is supported only by GNU and FreeBSD targets"
+msgstr "la sección %s solo se admite en objetivos GNU y FreeBSD"
+
+#: config/obj-elf.c:1706
msgid ".previous without corresponding .section; ignored"
msgstr ".previous sin .section correspondiente; se descarta"
-#: config/obj-elf.c:1357
+#: config/obj-elf.c:1732
msgid ".popsection without corresponding .pushsection; ignored"
msgstr ".popsection sin .pushsection correspondiente; se descarta"
-#: config/obj-elf.c:1403
-msgid "expected comma after name in .symver"
-msgstr "se esperaba una coma tras nombre en .symver"
+#: config/obj-elf.c:1776 config/obj-elf.c:1870
+#, c-format
+msgid "missing version name in `%s' for symbol `%s'"
+msgstr "falta el nombre de versión en «%s» para el símbolo «%s»"
-#: config/obj-elf.c:1419 config/obj-elf.c:2291
+#: config/obj-elf.c:1795
#, c-format
-msgid "`%s' can't be versioned to common symbol '%s'"
-msgstr "«%s» no puede ser versionado al símbolo común «%s»"
+msgid "only one version name with `@@@' is allowed for symbol `%s'"
+msgstr "solo se permite un nombre de versión con «@@@» para el símbolo «%s»"
-#: config/obj-elf.c:1434
+#: config/obj-elf.c:1803
#, c-format
-msgid "missing version name in `%s' for symbol `%s'"
-msgstr "ausente el nombre de versión en «%s» para el símbolo «%s»"
+msgid "invalid version name '%s' for symbol `%s'"
+msgstr "nombre de versión «%s» no válido para el símbolo «%s»"
-#: config/obj-elf.c:1445
+#: config/obj-elf.c:1844
+msgid "expected comma after name in .symver"
+msgstr "se esperaba una coma tras el nombre en .symver"
+
+#: config/obj-elf.c:1861 config/obj-elf.c:2805
#, c-format
-msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
-msgstr "versiones múltiples [«%s»|«%s»] para el símbolo «%s»"
+msgid "`%s' can't be versioned to common symbol '%s'"
+msgstr "«%s» no puede ser versionado al símbolo común «%s»"
-#: config/obj-elf.c:1481
+#: config/obj-elf.c:1938
#, c-format
msgid "expected `%s' to have already been set for .vtable_inherit"
msgstr "se esperaba que «%s» ya estuviera definido para .vtable_inherit"
-#: config/obj-elf.c:1491
+#: config/obj-elf.c:1948
msgid "expected comma after name in .vtable_inherit"
-msgstr "se esperaba una coma tras nombre en .vtable_inherit"
+msgstr "se esperaba una coma tras el nombre en .vtable_inherit"
-#: config/obj-elf.c:1543
+#: config/obj-elf.c:2009
msgid "expected comma after name in .vtable_entry"
-msgstr "se esperaba una coma tras nombre en .vtable_entry"
+msgstr "se esperaba una coma tras el nombre en .vtable_entry"
-#: config/obj-elf.c:1673
+#: config/obj-elf.c:2148
#, c-format
msgid "Attribute name not recognised: %s"
-msgstr "No reconocido el nombre del atributo: %s"
+msgstr "Nombre de atributo no reconocido: %s"
-#: config/obj-elf.c:1690
+#: config/obj-elf.c:2165
msgid "expected numeric constant"
msgstr "se esperaba una constante numérica"
-#: config/obj-elf.c:1699 config/tc-arm.c:6473
+#: config/obj-elf.c:2174 config/tc-arm.c:6970
msgid "expected comma"
msgstr "se esperaba una coma"
-#: config/obj-elf.c:1732
+#: config/obj-elf.c:2205 config/tc-arc.c:4946 config/tc-arc.c:4957
+#: config/tc-arc.c:5029 config/tc-arc.c:5080 config/tc-arm.c:32197
+#: config/tc-arm.c:32208 config/tc-csky.c:1697 config/tc-csky.c:1709
+#: config/tc-csky.c:1880 config/tc-mips.c:20645 config/tc-msp430.c:5148
+#: config/tc-riscv.c:5523 config/tc-riscv.c:5566 config/tc-sparc.c:1134
+#: config/tc-tic6x.c:4384
+#, c-format
+msgid "error adding attribute: %s"
+msgstr "error al añadir atributo: %s"
+
+#: config/obj-elf.c:2211
msgid "bad string constant"
-msgstr "constante de cadena equivocada"
+msgstr "constante de cadena incorrecta"
-#: config/obj-elf.c:1736
+#: config/obj-elf.c:2215
msgid "expected <tag> , <value>"
-msgstr "se esperaba <etiq> , <valor>"
+msgstr "se esperaba <etiqueta> , <valor>"
-#: config/obj-elf.c:1856
+#: config/obj-elf.c:2344
msgid "expected quoted string"
msgstr "se esperaba una cadena entre comillas"
-#: config/obj-elf.c:1876
+#: config/obj-elf.c:2364
#, c-format
msgid "expected comma after name `%s' in .size directive"
-msgstr "se esperaba una coma tras nombre «%s» en la directiva .size"
+msgstr "se esperaba una coma tras el nombre «%s» en la directiva .size"
-#: config/obj-elf.c:1885
+#: config/obj-elf.c:2373
msgid "missing expression in .size directive"
-msgstr "ausentea expresión en la directiva .size"
+msgstr "falta expresión en la directiva .size"
-#: config/obj-elf.c:2008
+#: config/obj-elf.c:2500
#, c-format
msgid "symbol '%s' is already defined"
msgstr "el símbolo «%s» ya está definido"
-#: config/obj-elf.c:2029
+#: config/obj-elf.c:2520
#, c-format
msgid "symbol type \"%s\" is supported only by GNU and FreeBSD targets"
-msgstr "el tipo simbólico «%s» sólo se admite en objetivos GNU y FreeBSD"
+msgstr "el tipo de símbolo «%s» solo se admite en objetivos GNU y FreeBSD"
-#: config/obj-elf.c:2041
+#: config/obj-elf.c:2524
+#, c-format
+msgid "symbol type \"%s\" is not supported by MIPS targets"
+msgstr "el tipo de símbolo «%s» no está disponible en objetivos MIPS"
+
+#: config/obj-elf.c:2536
#, c-format
msgid "symbol type \"%s\" is supported only by GNU targets"
-msgstr "el tipo simbólico «%s» sólo se admite en objetivos GNU"
+msgstr "el tipo de símbolo «%s» solo se admite en objetivos GNU"
-#: config/obj-elf.c:2052
+#: config/obj-elf.c:2546 config/tc-kvx.c:2279
#, c-format
msgid "unrecognized symbol type \"%s\""
-msgstr "no reconocido el tipo simbólico «%s»"
+msgstr "tipo de símbolo no reconocido «%s»"
+
+#: config/obj-elf.c:2567
+#, c-format
+msgid "cannot change type of common symbol '%s'"
+msgstr "no puede cambiersa el tipo del símbolo común «%s»"
-#: config/obj-elf.c:2219 config/obj-elf.c:2222
+#: config/obj-elf.c:2579
+#, c-format
+msgid "symbol '%s' already has its type set"
+msgstr "el símbolo «%s» ya tiene su tipo establecido"
+
+#: config/obj-elf.c:2681
+#, c-format
+msgid "undefined linked-to symbol `%s' on section `%s'"
+msgstr "símbolo enlazado-a `%s' en la sección `%s'"
+
+#: config/obj-elf.c:2778 config/obj-elf.c:2781
#, c-format
msgid ".size expression for %s does not evaluate to a constant"
msgstr "la expresión .size para %s no evalúa a una constante"
-#: config/obj-elf.c:2256
+#: config/obj-elf.c:2870
#, c-format
-msgid "invalid attempt to declare external version name as default in symbol `%s'"
-msgstr "intento inválido de declarar un nombre de versión externo como valor por defecto en el símbolo «%s»"
+msgid "symbol '%s' with multiple versions cannot be used in relocation"
+msgstr "el símbolo «%s» con varias versiones no puede utilizarse en una reubicación"
-#: config/obj-elf.c:2325 ecoff.c:3600
+#: config/obj-elf.c:2888 ecoff.c:3576
#, c-format
msgid "symbol `%s' can not be both weak and common"
msgstr "el símbolo «%s» no puede ser débil y común al mismo tiempo"
-#: config/obj-elf.c:2437
+#: config/obj-elf.c:2932
#, c-format
msgid "assuming all members of group `%s' are COMDAT"
msgstr "se asume que todos los miembros del grupo «%s» son COMDAT"
-#: config/obj-elf.c:2449
+#: config/obj-elf.c:2944
#, c-format
msgid "can't create group: %s"
-msgstr "no se puede crear un grupo: %s"
+msgstr "no se puede crear el grupo: %s"
+
+#: config/obj-elf.c:3021
+#, c-format
+msgid "invalid attempt to declare external version name as default in symbol `%s'"
+msgstr "intento no válido de declarar un nombre de versión externo como predeterminado en el símbolo «%s»"
-#: config/obj-elf.c:2603
+#: config/obj-elf.c:3031
+#, c-format
+msgid "multiple versions [`%s'|`%s'] for symbol `%s'"
+msgstr "varias versiones [«%s»|«%s»] para el símbolo «%s»"
+
+#: config/obj-elf.c:3120
#, c-format
msgid "failed to set up debugging information: %s"
msgstr "falló al establecer la información de depuración: %s"
-#: config/obj-elf.c:2623
+#: config/obj-elf.c:3140
#, c-format
msgid "can't start writing .mdebug section: %s"
msgstr "no se puede iniciar la escritura de la sección .mdebug: %s"
-#: config/obj-elf.c:2631
+#: config/obj-elf.c:3148
#, c-format
msgid "could not write .mdebug section: %s"
msgstr "no se puede escribir la sección .mdebug: %s"
-#: config/obj-evax.c:127
+#: config/obj-evax.c:122
#, c-format
msgid "no entry symbol for global function '%s'"
-msgstr "no hay símbolo entrante para función global «%s»"
+msgstr "no hay símbolo de entrada para la función global «%s»"
#. make a temp string.
#: config/obj-macho.c:119
@@ -1108,7 +1322,15 @@ msgstr "el nombre %s «%s» es demasiado largo (máximo 16 caracteres)"
#: config/obj-macho.c:130
#, c-format
msgid "expected a %s name followed by a `,'"
-msgstr "esperaba una nombre %s seguido por una `,'"
+msgstr "se esperaba un nombre de %s seguido por una `,'"
+
+#: config/obj-macho.c:144
+msgid "segment"
+msgstr "segmento"
+
+#: config/obj-macho.c:153
+msgid "section"
+msgstr "sección"
#: config/obj-macho.c:195
#, c-format
@@ -1118,159 +1340,159 @@ msgstr "no se puede invalidar tipo de sección rellenado a cero para `%s,%s'"
#: config/obj-macho.c:249
#, c-format
msgid "failed to set flags for \"%s\": %s"
-msgstr "fallaba al establecer marcas para «%s»: %s"
+msgstr "no se han podido establecer las opciones para «%s»: %s"
-#: config/obj-macho.c:340
+#: config/obj-macho.c:342
#, c-format
msgid "unknown or invalid section type '%s'"
-msgstr "tipo seccional inválido o desconocido '%s'"
+msgstr "tipo de sección inválido o desconocido '%s'"
-#: config/obj-macho.c:379
+#: config/obj-macho.c:381
#, c-format
msgid "unknown or invalid section attribute '%s'"
-msgstr "desconoce o invalida atributo seccional «%s»"
+msgstr "atributo de sección desconocido o no válido «%s»"
-#: config/obj-macho.c:400
+#: config/obj-macho.c:402
msgid "unexpected section size information"
-msgstr "información inesperada de tamaño seccional"
+msgstr "información inesperada de tamaño de sección"
-#: config/obj-macho.c:412
+#: config/obj-macho.c:414
msgid "missing sizeof_stub expression"
-msgstr "ausentea expresión sizeof_stub"
+msgstr "falta expresión sizeof_stub"
-#: config/obj-macho.c:476 config/tc-ia64.c:1083 config/tc-ia64.c:11770
-#: config/tc-score.c:6103 expr.c:1172 expr.c:1325 read.c:1715
+#: config/obj-macho.c:478 config/tc-ia64.c:1080 config/tc-ia64.c:11734
+#: config/tc-score.c:6073 expr.c:1260 read.c:1784
msgid "expected symbol name"
-msgstr "se esperaba un nombre simbólico"
+msgstr "se esperaba un nombre de símbolo"
-#: config/obj-macho.c:489 read.c:494
+#: config/obj-macho.c:491 read.c:558
msgid "bad or irreducible absolute expression"
-msgstr "expresión absoluta equivocada o irreducible"
+msgstr "expresión absoluta incorrecta o irreducible"
-#: config/obj-macho.c:495 config/tc-score.c:6120 read.c:1753
+#: config/obj-macho.c:497 config/tc-score.c:6090 read.c:1823
msgid "missing size expression"
-msgstr "ausentea expresión de tamaño"
+msgstr "falta expresión de tamaño"
-#: config/obj-macho.c:504 config/tc-ia64.c:1118 read.c:1759
+#: config/obj-macho.c:506 config/tc-ia64.c:1115 read.c:1829
#, c-format
msgid "size (%ld) out of range, ignored"
-msgstr "tamaño (%ld) fuera de límite, se descarta"
+msgstr "tamaño (%ld) fuera de rango, se descarta"
-#: config/obj-macho.c:514 config/tc-score.c:6264 dwarf2dbg.c:954 ecoff.c:3359
-#: read.c:1771 read.c:1876 read.c:2627 read.c:3270 read.c:3649 symbols.c:340
-#: symbols.c:436
+#: config/obj-macho.c:516 config/tc-score.c:6216 dwarf2dbg.c:1431 ecoff.c:3345
+#: read.c:1841 read.c:1944 read.c:2718 read.c:3311 read.c:3906 symbols.c:579
+#: symbols.c:674
#, c-format
msgid "symbol `%s' is already defined"
msgstr "el símbolo «%s» ya está definido"
-#: config/obj-macho.c:524 read.c:1786
+#: config/obj-macho.c:526 read.c:1856
#, c-format
msgid "size of \"%s\" is already %ld; not changing to %ld"
-msgstr "la longitud de «%s» ya es %ld; no se cambia a %ld"
+msgstr "El tamaño de «%s» ya es %ld; no se va a cambiar a %ld"
-#: config/obj-macho.c:535
+#: config/obj-macho.c:537
msgid "align value not recognized, using size"
-msgstr "alineamiento valorada no reconocida, empleando tamaño"
+msgstr "valor de alineamiento no reconocido; se usará el tamaño"
-#: config/obj-macho.c:540 config/obj-macho.c:903
+#: config/obj-macho.c:542 config/obj-macho.c:905
#, c-format
msgid "Alignment (%lu) too large: 15 assumed."
-msgstr "Alineación (%lu) demasiado grande: asumido 15."
+msgstr "Alineación (%lu) demasiado grande: se asume 15."
-#: config/obj-macho.c:606
+#: config/obj-macho.c:608
#, c-format
msgid "BFD is out of sync with GAS, unhandled well-known section type `%s'"
-msgstr "BFD está fuera de sincronización con GAS, tipo seccional inmanipulado bien conocido `%s'"
+msgstr "BFD está fuera de sincronización con GAS, tipo de sección conocido no manejado `%s'"
-#: config/obj-macho.c:808
+#: config/obj-macho.c:810
#, c-format
msgid "%s is not used for the selected target"
-msgstr "%s no está utilizado para el objetivo seleccionado"
+msgstr "%s no utilizado para el objetivo seleccionado"
-#: config/obj-macho.c:873
+#: config/obj-macho.c:875
msgid "internal error: base section index out of range"
-msgstr "error inteno: sección base indizado fuera de límite"
+msgstr "error interno: índice de sección base fuera de rango"
-#: config/obj-macho.c:959
+#: config/obj-macho.c:961
#, c-format
msgid "internal error: bad file property ID %d"
-msgstr "error interno: equivocación del ID propietaria de fichero %d"
+msgstr "error interno: ID %d de propiedad de fichero incorrecto"
-#: config/obj-macho.c:967
+#: config/obj-macho.c:969
msgid "failed to set subsections by symbols"
-msgstr "fallado al obtener subsecciones por símbolos"
+msgstr "no se han podido establecer subsecciones por símbolos"
-#: config/obj-macho.c:1030
+#: config/obj-macho.c:1032
#, c-format
msgid "'%s' previously declared as '%s'."
-msgstr "«%s» previamente definido como «%s»."
+msgstr "«%s» previamente declarado como «%s»."
-#: config/obj-macho.c:1082 config/obj-macho.c:1402 config/obj-macho.c:1486
+#: config/obj-macho.c:1084 config/obj-macho.c:1404 config/obj-macho.c:1488
#, c-format
msgid "'%s' can't be a weak_definition (currently only supported in sections of type coalesced)"
-msgstr ""
+msgstr "«%s» no puede ser una weak_definition (actualmente solo disponible en secciones de tipo fusionado)"
-#: config/obj-macho.c:1167
+#: config/obj-macho.c:1169
msgid "use of .indirect_symbols requires `-dynamic'"
-msgstr "utilice símbolos indirectos requiere `-dinamic'"
+msgstr "el empleo de .indirect_symbols requiere `-dinamic'"
-#: config/obj-macho.c:1184
+#: config/obj-macho.c:1186
#, c-format
msgid "attempt to add an indirect_symbol to a stub or reference section with a zero-sized element at %s"
-msgstr "trata añadir un símbolo indirecto (indirect_symbol) a un reguardo o sección referenciado con un elemento de tamaño cero en %s"
+msgstr "intento de añadir un indirect_symbol a un «stub» o sección de referencia con un elemento de tamaño cero en %s"
-#: config/obj-macho.c:1214
+#: config/obj-macho.c:1216
msgid "an .indirect_symbol must be in a symbol pointer or stub section."
-msgstr ""
+msgstr "los .indirect_symbol tienen que estar en punteros de símbolo o secciones «stub»."
-#: config/obj-macho.c:1483
+#: config/obj-macho.c:1485
#, c-format
msgid "'%s' can't be a weak_definition (since it is undefined)"
-msgstr ""
+msgstr "«%s» no puede ser una weak_definition (pues está indefinido)"
-#: config/obj-macho.c:1489
+#: config/obj-macho.c:1491
#, c-format
msgid "Non-global symbol: '%s' can't be a weak_definition."
-msgstr ""
+msgstr "Símbolo no global: «%s» no puede ser una weak_definition"
-#: config/obj-macho.c:1495
+#: config/obj-macho.c:1497
#, c-format
msgid "internal error: [%s] unexpected code [%lx] in frob symbol"
-msgstr ""
+msgstr "error interno: [%s] código inesperado [%lx] en símbolo «frob»"
-#: config/obj-macho.c:1536
+#: config/obj-macho.c:1538
#, c-format
msgid "unrecognized stab type '%c'"
-msgstr "no reconoció un tipo estadístico '%c'"
+msgstr "tipo de «stab» no reconocido '%c'"
-#: config/obj-macho.c:1587
+#: config/obj-macho.c:1589
#, c-format
msgid "`%s' can't be undefined in `%s' - `%s' {%s section}"
-msgstr "«%s» no puede ser indefinido en «%s» - «%s» {%s sección}"
+msgstr "«%s» no puede estar indefinido en «%s» - «%s» {sección %s}"
-#: config/obj-macho.c:1595
+#: config/obj-macho.c:1597
#, c-format
msgid "`%s' can't be undefined in `%s' {%s section} - `%s'"
-msgstr "«%s» no puede ser indefinido en «%s» {%s sección} - «%s»"
+msgstr "«%s» no puede estar indefinido en «%s» {sección %s} - «%s»"
-#: config/obj-macho.c:1602
+#: config/obj-macho.c:1604
#, c-format
msgid "`%s' and `%s' can't be undefined in `%s' - `%s'"
msgstr "«%s» y «%s» no pueden estar indefinidos en «%s» - «%s»"
-#: config/obj-macho.c:1804
+#: config/obj-macho.c:1806
#, c-format
msgid "the number of .indirect_symbols defined in section %s does not match the number expected (%d defined, %d expected)"
-msgstr "el número de símbolos indirectos definidos en la sección %s no coincide con el número esperado (%d definido, %d esperado)"
+msgstr "el número de .indirect_symbols definidos en la sección %s no coincide con el número esperado (%d definido, %d esperado)"
-#: config/obj-macho.c:1824
+#: config/obj-macho.c:1826
#, c-format
msgid "internal error: failed to allocate %d indirectsymbol pointers"
-msgstr "error interno: fallado al asignar %d punteros simbólicos directos"
+msgstr "error interno: no se ha podido asignar %d punteros de símbolo indirectos"
-#: config/obj-macho.c:1838 config/obj-macho.c:1861
+#: config/obj-macho.c:1840 config/obj-macho.c:1863
msgid "internal error: more indirect mach-o symbols than expected"
-msgstr "error interno: más símbolos indirectos mach-o que los esperados"
+msgstr "error interno: más símbolos «mach-o» indirectos que los esperados"
#: config/obj-som.c:56
msgid "Only one .compiler pseudo-op per file!"
@@ -1282,16 +1504,16 @@ msgstr "Se esperaba una cadena entrecomillada"
#: config/obj-som.c:86
msgid ".compiler directive missing language and version"
-msgstr "ausente el lenguaje y la versión en la directiva .compiler"
+msgstr "faltan el lenguaje y la versión en la directiva .compiler"
#: config/obj-som.c:96
msgid ".compiler directive missing version"
-msgstr "ausente la versión en la directiva .compiler"
+msgstr "falta la versión en la directiva .compiler"
#: config/obj-som.c:112
#, c-format
msgid "FATAL: Attaching compiler header %s"
-msgstr "FATAL: Al adjuntar el encabezado de compilador %s"
+msgstr "FATAL: Adjuntando el encabezado de compilador %s"
#: config/obj-som.c:127
msgid "Only one .version pseudo-op per file!"
@@ -1300,7 +1522,7 @@ msgstr "¡Sólo un pseudo-operador .version por fichero!"
#: config/obj-som.c:151
#, c-format
msgid "attaching version header %s: %s"
-msgstr "al adjuntar el encabezado de versión %s: %s"
+msgstr "adjuntando el encabezado de versión %s: %s"
#: config/obj-som.c:169
msgid "Only one .copyright pseudo-op per file!"
@@ -1311,995 +1533,1310 @@ msgstr "¡Sólo un pseudo-operador .copyright por fichero!"
msgid "attaching copyright header %s: %s"
msgstr "adjuntando encabezado de copyright %s: %s"
-#: config/tc-aarch64.c:373
-msgid "integer 32-bit register expected"
-msgstr "esperado registro 32-bit entero"
+#: config/tc-aarch64.c:427
+#, c-format
+msgid "expected an unsuffixed ZA tile at operand %d"
+msgstr "se esperaba una matriz ZA sin sufijo en el operando %d"
-#: config/tc-aarch64.c:376
-msgid "integer 64-bit register expected"
-msgstr "esperado registro 64-bit entero"
+#: config/tc-aarch64.c:431
+#, c-format
+msgid "missing horizontal or vertical suffix at operand %d"
+msgstr "falta el sufijo horizontal o vertical en el operando %d"
-#: config/tc-aarch64.c:379
-msgid "integer register expected"
-msgstr "esperado registro entero"
+#: config/tc-aarch64.c:436
+#, c-format
+msgid "expected 'za' rather than a ZA tile at operand %d"
+msgstr "se esperaba 'za' en lugar de una matriz ZA en el operando %d"
-#: config/tc-aarch64.c:382
-msgid "64-bit integer or SP register expected"
-msgstr "esperado PS o registro 64-bit entero"
+#: config/tc-aarch64.c:440
+#, c-format
+msgid "expected a predicate-as-counter rather than predicate-as-mask register at operand %d"
+msgstr "se esperaba un registro de predicado-como-contador en vez de un predicado-como-máscara en el operando %d"
-#: config/tc-aarch64.c:385 config/tc-mcore.c:839 config/tc-mcore.c:1355
-#: config/tc-mcore.c:1409
-msgid "base register expected"
-msgstr "se esperaba un registro base"
+#: config/tc-aarch64.c:445
+#, c-format
+msgid "expected a predicate-as-mask rather than predicate-as-counter register at operand %d"
+msgstr "se esperaba un registro de predicado-como-máscara en vez de un predicado-como-contador en el operando %d"
-#: config/tc-aarch64.c:388
-msgid "integer or zero register expected"
-msgstr "esperado registro entero o cero"
+#: config/tc-aarch64.c:450
+#, c-format
+msgid "expected a 64-bit integer register at operand %d"
+msgstr "se esperaba un registro entero de 64 bits para el operando %d"
-#: config/tc-aarch64.c:391
-msgid "offset register expected"
-msgstr "esperaba registro desplazamiento"
+#: config/tc-aarch64.c:452
+#, c-format
+msgid "expected an integer or zero register at operand %d"
+msgstr "se esperaba un registro entero o cero para el operando %d"
-#: config/tc-aarch64.c:394
-msgid "integer or SP register expected"
-msgstr "esperado registro entero o PS"
+#: config/tc-aarch64.c:454
+#, c-format
+msgid "expected an integer or stack pointer register at operand %d"
+msgstr "se esperaba un registro entero o de puntero a pila para el operando %d"
-#: config/tc-aarch64.c:397
-msgid "integer, zero or SP register expected"
-msgstr "esperado entero, cero o registro PS"
+#: config/tc-aarch64.c:458
+#, c-format
+msgid "expected a scalar SIMD or floating-point register at operand %d"
+msgstr "se esperaba un registro de escalar SIMD o de coma flotante para el operando %d"
-#: config/tc-aarch64.c:400
-msgid "8-bit SIMD scalar register expected"
-msgstr "esperado registro SIMD de 8-bit escalar"
+#: config/tc-aarch64.c:461
+#, c-format
+msgid "expected an Advanced SIMD vector register at operand %d"
+msgstr "se esperaba un registro de vector SIMD avanzado para el operando %d"
-#: config/tc-aarch64.c:403
-msgid "16-bit SIMD scalar or floating-point half precision register expected"
-msgstr "esperado registro SIMD de 16-bit escalar o coma flotante a precisión media"
+#: config/tc-aarch64.c:463
+#, c-format
+msgid "expected an SVE vector register at operand %d"
+msgstr "se esperaba un registro de vector SVE para el operando %d"
-#: config/tc-aarch64.c:407
-msgid "32-bit SIMD scalar or floating-point single precision register expected"
-msgstr "esperado registro SIMD de 32 bit escalar o coma flotante a precisión simple"
+#. Use this error for "predicate-as-mask only" and "either kind of
+#. predicate". We report a more specific error if P is used where
+#. PN is expected, and vice versa, so the issue at this point is
+#. "predicate-like" vs. "not predicate-like".
+#: config/tc-aarch64.c:470
+#, c-format
+msgid "expected an SVE predicate register at operand %d"
+msgstr "se esperaba un registro de predicado SVE para el operando %d"
-#: config/tc-aarch64.c:411
-msgid "64-bit SIMD scalar or floating-point double precision register expected"
-msgstr "esperado registro SIMD de 64-bit escalar o coma flotante a precisión doble"
+#: config/tc-aarch64.c:472
+#, c-format
+msgid "expected an SVE predicate-as-counter register at operand %d"
+msgstr "se esperaba un registro de predicado-como-contador SVE para el operando %d"
-#: config/tc-aarch64.c:415
-msgid "128-bit SIMD scalar or floating-point quad precision register expected"
-msgstr "esperado registro SIMD de 128-bit escalar o coma flotante a precisión cuadruple"
+#: config/tc-aarch64.c:474
+#, c-format
+msgid "expected a vector register at operand %d"
+msgstr "se esperaba un registro de vector para el operando %d"
-#: config/tc-aarch64.c:420 config/tc-arm.c:4401
-msgid "register expected"
-msgstr "se esperaba un registro"
+#: config/tc-aarch64.c:476
+#, c-format
+msgid "expected an SVE vector or predicate register at operand %d"
+msgstr "se esperaba un registro de vector SVE para el operando %d"
-#. any [BHSDQ]P FP
-#: config/tc-aarch64.c:423
-msgid "SIMD scalar or floating-point register expected"
-msgstr "SIMD escalar de coma flotante registrada esperada"
+#: config/tc-aarch64.c:478
+#, c-format
+msgid "expected a vector or predicate register at operand %d"
+msgstr "se esperaba un registro de vector o de predicado para el operando %d"
-#. any V reg
-#: config/tc-aarch64.c:426
-msgid "vector register expected"
-msgstr "vector registrador esperado"
+#: config/tc-aarch64.c:482
+#, c-format
+msgid "expected a ZA array vector at operand %d"
+msgstr "se esperaba un registro de matriz ZA para el operando %d"
-#: config/tc-aarch64.c:429
-msgid "SVE vector register expected"
-msgstr "SVE como vector esperaba registro"
+#: config/tc-aarch64.c:484
+#, c-format
+msgid "expected ZT0 or a ZA mask at operand %d"
+msgstr "se esperaba una mścara ZT0 o ZA para el operando %d"
+
+#: config/tc-aarch64.c:486
+#, c-format
+msgid "expected a ZA tile at operand %d"
+msgstr "se esperaba una matriz ZA para el operando %d"
+
+#: config/tc-aarch64.c:488
+#, c-format
+msgid "expected a ZA tile slice at operand %d"
+msgstr "se esperaba una rodaja de registro de matriz ZA para el operando %d"
+
+#: config/tc-aarch64.c:492
+#, c-format
+msgid "expected an integer register or Advanced SIMD vector register at operand %d"
+msgstr "se esperaba un registro entero o un registro de vector SIMD avanzado para el operando %d"
-#: config/tc-aarch64.c:432
-msgid "SVE predicate register expected"
-msgstr "SVE predicado registrado esperado"
+#: config/tc-aarch64.c:495
+#, c-format
+msgid "expected an integer register or SVE vector register at operand %d"
+msgstr "se esperaba un registro entero o un registro de vector SVE para el operando %d"
+
+#: config/tc-aarch64.c:498
+#, c-format
+msgid "expected an integer or vector register at operand %d"
+msgstr "se esperaba un registro entero o un registro de vector para el operando %d"
+
+#: config/tc-aarch64.c:500
+#, c-format
+msgid "expected an integer or predicate register at operand %d"
+msgstr "se esperaba un registro entero o un registro de predicado para el operando %d"
+
+#: config/tc-aarch64.c:502
+#, c-format
+msgid "expected an integer, vector or predicate register at operand %d"
+msgstr "se esperaba un registro entero de vector o de predicado para el operando %d"
-#: config/tc-aarch64.c:435
+#: config/tc-aarch64.c:507
#, c-format
-msgid "invalid register type %d"
-msgstr "registro inválido de tipo %d"
+msgid "expected an SVE vector register or ZA tile slice at operand %d"
+msgstr "se esperaba un registro de vector SVE o una rodaja de matriz ZA para el operando %d"
-#: config/tc-aarch64.c:595 config/tc-aarch64.c:597 config/tc-arm.c:1061
-#: config/tc-score.c:6514 expr.c:1385 read.c:2609
+#: config/tc-aarch64.c:715 config/tc-aarch64.c:717 config/tc-arm.c:1188
+#: config/tc-score.c:6435 expr.c:1423 read.c:2700
msgid "bad expression"
-msgstr "expresión equivocada"
+msgstr "expresión incorrecta"
-#: config/tc-aarch64.c:607 config/tc-arm.c:1072 config/tc-i860.c:1003
-#: config/tc-sparc.c:3440
+#: config/tc-aarch64.c:728 config/tc-sparc.c:3380
msgid "bad segment"
-msgstr "segmento equivocado"
+msgstr "segmento incorrecto"
-#: config/tc-aarch64.c:825
+#: config/tc-aarch64.c:876
+msgid "bad vector arrangement type"
+msgstr "tipo de disposición de vector incorrecto"
+
+#: config/tc-aarch64.c:1048
#, c-format
msgid "bad size %d in vector width specifier"
-msgstr "tamaño equivocado %d en el especificador de anchura vectorial"
+msgstr "tamaño incorrecto %d en el especificador de anchura del vector"
-#: config/tc-aarch64.c:858
+#: config/tc-aarch64.c:1081
#, c-format
msgid "unexpected character `%c' in element size"
-msgstr "carácter inesperado `%c' dentro del tamaño elemental"
+msgstr "carácter inesperado `%c' en el tamaño del elemento"
-#: config/tc-aarch64.c:860
+#: config/tc-aarch64.c:1083
msgid "missing element size"
-msgstr "ausencia de tamaño de elemento"
+msgstr "falta el tamaño del elemento"
-#: config/tc-aarch64.c:869
+#: config/tc-aarch64.c:1093
#, c-format
msgid "invalid element size %d and vector size combination %c"
-msgstr "no válida tamaño de elemento %d y combinación de tamaño vectorial %c"
+msgstr "combinación no válida del tamaño del elemento %d y del tamaño del vector %c"
-#: config/tc-aarch64.c:904
+#: config/tc-aarch64.c:1129
#, c-format
msgid "unexpected character `%c' in predication type"
-msgstr "carácter inesperado `%c' en tipo de predicado"
+msgstr "carácter inesperado `%c' en tipo de predicación"
-#: config/tc-aarch64.c:907
+#: config/tc-aarch64.c:1132
msgid "missing predication type"
-msgstr "ausente tipo predicativo"
+msgstr "falta el tipo de predicación"
+
+#: config/tc-aarch64.c:1176 config/tc-aarch64.c:2324 config/tc-aarch64.c:2585
+#: config/tc-arm.c:1765 config/tc-arm.c:3972 config/tc-arm.c:5205
+#: config/tc-arm.c:7251
+msgid "constant expression required"
+msgstr "se requiere una expresión constante"
+
+#: config/tc-aarch64.c:1230
+msgid "syntax error in register list"
+msgstr "error de sintaxis en la lista de registros"
-#: config/tc-aarch64.c:1002
+#: config/tc-aarch64.c:1260
+msgid "ZA tile number out of range"
+msgstr "número de matriz ZA fuera de rango"
+
+#: config/tc-aarch64.c:1304
msgid "this type of register can't be indexed"
-msgstr "este tipo de registro no puede ser indizado"
+msgstr "este tipo de registro no se puede indexar"
-#: config/tc-aarch64.c:1008
+#: config/tc-aarch64.c:1310
msgid "index not allowed inside register list"
-msgstr "índice no permitido dentro de listado de registro"
-
-#: config/tc-aarch64.c:1018 config/tc-aarch64.c:1966 config/tc-aarch64.c:2155
-#: config/tc-arm.c:1569 config/tc-arm.c:3681 config/tc-arm.c:4798
-msgid "constant expression required"
-msgstr "se requiere una expresión constante"
+msgstr "índice no permitido dentro del listado de registros"
#. Indexed vector register expected.
-#: config/tc-aarch64.c:1030
+#: config/tc-aarch64.c:1325
msgid "indexed vector register expected"
-msgstr "esperado registro vectorial indizado"
+msgstr "se esperaba un registro de vector indexado"
-#: config/tc-aarch64.c:1037
+#: config/tc-aarch64.c:1332
msgid "invalid use of vector register"
-msgstr "utolización no válida de registro vectorial"
+msgstr "utilización no válida de registro de vector"
-#: config/tc-aarch64.c:1129 config/tc-arm.c:1837
-msgid "expecting {"
-msgstr "esperando {"
-
-#: config/tc-aarch64.c:1154
+#: config/tc-aarch64.c:1454
msgid "invalid vector register in list"
-msgstr "registro vectorial inválido en listado"
+msgstr "registro de vector inválido en listado"
-#: config/tc-aarch64.c:1161
+#: config/tc-aarch64.c:1462
msgid "invalid scalar register in list"
-msgstr "registrador escalar inválido en lista"
+msgstr "registro escalar inválido en listado"
-#: config/tc-aarch64.c:1174
+#: config/tc-aarch64.c:1475
msgid "invalid range in vector register list"
-msgstr "límite inválido en listado de registro vectorial"
+msgstr "rango no válido en listado de registros de vector"
-#: config/tc-aarch64.c:1187
+#: config/tc-aarch64.c:1488
msgid "type mismatch in vector register list"
-msgstr "tipo incoincidente dentro de listado registrado vectorial"
+msgstr "discordancia de tipos en listado de registros de vector"
-#: config/tc-aarch64.c:1204
+#: config/tc-aarch64.c:1509
msgid "end of vector register list not found"
-msgstr "final de listado de registro vectorial no encontrado"
-
-#: config/tc-aarch64.c:1220
-msgid "constant expression required."
-msgstr "requerida expresión constante."
+msgstr "final del listado de registros de vector no encontrado"
-#: config/tc-aarch64.c:1230
+#: config/tc-aarch64.c:1527
msgid "expected index"
-msgstr "índice esperado"
+msgstr "se esperaba índice"
-#: config/tc-aarch64.c:1237
+#: config/tc-aarch64.c:1534
msgid "too many registers in vector register list"
-msgstr "muchos registros internos a listado de registro vectorial"
+msgstr "demasiados registros en el listado de registros de vector"
-#: config/tc-aarch64.c:1242
+#: config/tc-aarch64.c:1539
msgid "empty vector register list"
-msgstr "listado de registro vectorial vacío"
+msgstr "listado de registros de vector vacío"
-#: config/tc-aarch64.c:1264 config/tc-arm.c:2223
+#: config/tc-aarch64.c:1609 config/tc-arm.c:2534
#, c-format
msgid "ignoring attempt to redefine built-in register '%s'"
-msgstr "se descarta el intento de redefinir el símbolo interno «%s»"
+msgstr "se descarta el intento de redefinir el registro interno «%s»"
-#: config/tc-aarch64.c:1270 config/tc-arm.c:2228
+#: config/tc-aarch64.c:1615 config/tc-arm.c:2539
#, c-format
msgid "ignoring redefinition of register alias '%s'"
msgstr "se descarta la redefinición del alias de registro «%s»"
-#: config/tc-aarch64.c:1316 config/tc-arm.c:2294
+#: config/tc-aarch64.c:1660 config/tc-arm.c:2604
#, c-format
msgid "unknown register '%s' -- .req ignored"
msgstr "registro «%s» desconocido -- se descarta .req"
-#: config/tc-aarch64.c:1374 config/tc-arm.c:2502
+#: config/tc-aarch64.c:1718 config/tc-arm.c:2812
msgid "invalid syntax for .req directive"
-msgstr "sintaxis no válida .reg para directiva"
+msgstr "sintaxis no válida para directiva .reg"
-#: config/tc-aarch64.c:1399 config/tc-arm.c:2540
+#: config/tc-aarch64.c:1739 config/tc-arm.c:2845
msgid "invalid syntax for .unreq directive"
-msgstr "sintaxis no válida .unreq para directiva"
+msgstr "sintaxis no válida para directiva .unreq"
-#: config/tc-aarch64.c:1405 config/tc-arm.c:2547
+#: config/tc-aarch64.c:1745 config/tc-arm.c:2852
#, c-format
msgid "unknown register alias '%s'"
-msgstr "desconoce alias de registro «%s»"
+msgstr "alias de registro desconocido «%s»"
-#: config/tc-aarch64.c:1407
+#: config/tc-aarch64.c:1747
#, c-format
msgid "ignoring attempt to undefine built-in register '%s'"
-msgstr "trata ignorando a registro interno indefinido «%s»"
+msgstr "se descarta el intento de suprimir la definición del registro interno «%s»"
-#: config/tc-aarch64.c:1731 config/tc-arm.c:3293 config/tc-arm.c:3320
-#: config/tc-arm.c:3333
+#: config/tc-aarch64.c:2061 config/tc-arm.c:3583 config/tc-arm.c:3610
+#: config/tc-arm.c:3623
msgid "literal pool overflow"
msgstr "desbordamiento en el conjunto de literales"
-#: config/tc-aarch64.c:1913 config/tc-aarch64.c:5916 config/tc-arm.c:3554
-#: config/tc-arm.c:6996
+#: config/tc-aarch64.c:2242 config/tc-aarch64.c:7473 config/tc-arm.c:3845
+#: config/tc-arm.c:7677
msgid "unrecognized relocation suffix"
-msgstr "no reconocido el sufijo de reubicación"
+msgstr "sufijo de reubicación no reconocido"
-#: config/tc-aarch64.c:1915
+#: config/tc-aarch64.c:2244
msgid "unimplemented relocation suffix"
-msgstr "sufijo reubicable implementable"
+msgstr "sufijo de reubicación no implementado"
-#: config/tc-aarch64.c:2123 config/tc-aarch64.c:2316 config/tc-aarch64.c:2374
+#: config/tc-aarch64.c:2552 config/tc-aarch64.c:2743 config/tc-aarch64.c:2787
+#: config/tc-csky.c:2336
msgid "immediate operand required"
msgstr "operando inmediato requerido"
-#: config/tc-aarch64.c:2131
+#: config/tc-aarch64.c:2561
msgid "missing immediate expression"
-msgstr "expresión inmediata ausente"
+msgstr "falta expresión inmediata"
-#: config/tc-aarch64.c:2354 config/tc-aarch64.c:5740 config/tc-aarch64.c:5760
+#: config/tc-aarch64.c:2767 config/tc-aarch64.c:7296 config/tc-aarch64.c:7316
msgid "invalid floating-point constant"
-msgstr "constante de coma flotante inválido"
+msgstr "constante de coma flotante no válida"
-#: config/tc-aarch64.c:2984 config/tc-arm.c:5137 config/tc-arm.c:5146
+#: config/tc-aarch64.c:3575 config/tc-arm.c:5452 config/tc-arm.c:5462
msgid "shift expression expected"
-msgstr "esperado desplazamiento expresional"
+msgstr "se esperaba expresión de desplazamiento"
-#: config/tc-aarch64.c:2992
+#: config/tc-aarch64.c:3583
msgid "shift operator expected"
-msgstr "esperado desplazamiento operador"
+msgstr "se esperaba operador de desplazamiento"
-#: config/tc-aarch64.c:3000
+#: config/tc-aarch64.c:3591
msgid "invalid use of 'MSL'"
-msgstr "utilización no válido de 'MSL'"
+msgstr "utilización no válida de 'MSL'"
-#: config/tc-aarch64.c:3008
+#: config/tc-aarch64.c:3599
msgid "invalid use of 'MUL'"
msgstr "utilización no válida de 'MUL'"
-#: config/tc-aarch64.c:3017
+#: config/tc-aarch64.c:3608
msgid "extending shift is not permitted"
-msgstr "desplazamiento extendido no está permitido"
+msgstr "no está permitido extender el desplazamiento"
-#: config/tc-aarch64.c:3025
+#: config/tc-aarch64.c:3616
msgid "'ROR' shift is not permitted"
-msgstr "espaciado 'ROR' no está permitido"
+msgstr "el desplazamiento 'ROR' no está permitido"
-#: config/tc-aarch64.c:3033
+#: config/tc-aarch64.c:3624
msgid "only 'LSL' shift is permitted"
-msgstr "sólo está permitido el desplazamiento LSL"
+msgstr "solo está permitido el desplazamiento 'LSL'"
-#: config/tc-aarch64.c:3041
+#: config/tc-aarch64.c:3632
msgid "only 'MUL' is permitted"
-msgstr "sólo 'MUL' está permitido"
+msgstr "solo 'MUL' está permitido"
-#: config/tc-aarch64.c:3059
+#: config/tc-aarch64.c:3650
msgid "only 'MUL VL' is permitted"
-msgstr "sólo 'MUL VL' está permitido"
+msgstr "solo 'MUL VL' está permitido"
-#: config/tc-aarch64.c:3067
+#: config/tc-aarch64.c:3658
msgid "invalid shift for the register offset addressing mode"
-msgstr "desplazamiento inválido para el modo direccional de desplazamiento de registro"
+msgstr "desplazamiento inválido para el modo de direccionamiento de desplazamiento de registro"
-#: config/tc-aarch64.c:3075
+#: config/tc-aarch64.c:3666
msgid "invalid shift operator"
-msgstr "invalida operador desplazado"
+msgstr "operador de desplazamiento no válido"
-#: config/tc-aarch64.c:3108
+#: config/tc-aarch64.c:3700
msgid "missing shift amount"
-msgstr "ausente cantidad abandonada"
+msgstr "falta la cantidad de desplazamiento"
-#: config/tc-aarch64.c:3115
+#: config/tc-aarch64.c:3707
msgid "constant shift amount required"
msgstr "cantidad de desplazamiento constante requerida"
-#: config/tc-aarch64.c:3124
+#: config/tc-aarch64.c:3716
msgid "shift amount out of range 0 to 63"
-msgstr "cantidad desplazada fuera de rango 0 a 63"
+msgstr "cantidad de desplazamiento fuera del rango 0 a 63"
-#: config/tc-aarch64.c:3173
+#: config/tc-aarch64.c:3766
msgid "unexpected shift operator"
-msgstr "desplazamiento operador inesperado"
+msgstr "operador de desplazamiento inesperado"
-#: config/tc-aarch64.c:3209
+#: config/tc-aarch64.c:3802
msgid "unexpected register in the immediate operand"
-msgstr "registro no esperado dentro del operando inmediato"
+msgstr "registro no esperado en el operando inmediato"
-#: config/tc-aarch64.c:3234
+#: config/tc-aarch64.c:3827
msgid "integer register expected in the extended/shifted operand register"
-msgstr "registro entero esperado dentro del registro operando extendido/desplazado"
+msgstr "se esperaba registro entero en el registro de operando extendido/desplazado"
+
+#: config/tc-aarch64.c:3865
+msgid "integer register expected in the shifted operand register"
+msgstr "se esperaba registro entero en el registro de operando desplazado"
-#: config/tc-aarch64.c:3269 config/tc-aarch64.c:3403 config/tc-aarch64.c:3532
-#: config/tc-aarch64.c:3687 config/tc-aarch64.c:3728
+#: config/tc-aarch64.c:3897 config/tc-aarch64.c:4084 config/tc-aarch64.c:4225
+#: config/tc-aarch64.c:4425 config/tc-aarch64.c:4467
msgid "unknown relocation modifier"
msgstr "modificador de reubicación desconocido"
-#: config/tc-aarch64.c:3276 config/tc-aarch64.c:3422 config/tc-aarch64.c:3539
-#: config/tc-aarch64.c:3694 config/tc-aarch64.c:3735
+#: config/tc-aarch64.c:3904 config/tc-aarch64.c:4103 config/tc-aarch64.c:4232
+#: config/tc-aarch64.c:4432 config/tc-aarch64.c:4474
msgid "this relocation modifier is not allowed on this instruction"
-msgstr "esta modificador de reubicación no está permitido en esta instrucción"
+msgstr "este modificador de reubicación no está permitido en esta instrucción"
-#: config/tc-aarch64.c:3430 config/tc-aarch64.c:3550
+#: config/tc-aarch64.c:4112 config/tc-aarch64.c:4244
msgid "invalid relocation expression"
msgstr "expresión de reubicación no válida"
-#: config/tc-aarch64.c:3448
+#: config/tc-aarch64.c:4129
msgid "invalid address"
msgstr "dirección no válida"
-#: config/tc-aarch64.c:3504
+#: config/tc-aarch64.c:4147
+msgid "expected a 64-bit base register"
+msgstr "se esperaba un registro de base de 64 bits"
+
+#: config/tc-aarch64.c:4149
+msgid "invalid base register"
+msgstr "registro de base no válido"
+
+#: config/tc-aarch64.c:4151
+msgid "expected a base register"
+msgstr "se esperaba un registro de base"
+
+#: config/tc-aarch64.c:4167 config/tc-aarch64.c:4305
+msgid "invalid offset register"
+msgstr "registro de desplazamiento no válido"
+
+#: config/tc-aarch64.c:4194
msgid "invalid use of 32-bit register offset"
-msgstr "utilización no válida de desplazamiento registrado de 32-bit"
+msgstr "utilización no válida de desplazamiento de registro de 32 bits"
-#: config/tc-aarch64.c:3510
+#: config/tc-aarch64.c:4203
msgid "offset has different size from base"
-msgstr "desplazamiento tiene distinto tamaño desde base"
+msgstr "el desplazamiento tiene distinto tamaño que la base"
-#: config/tc-aarch64.c:3516
+#: config/tc-aarch64.c:4209
msgid "invalid use of 64-bit register offset"
-msgstr "utilización no válida de desplazamiento registrado de 64-bit"
+msgstr "utilización no válida de desplazamiento de registro de 64 bits"
#. [Xn],#expr
-#: config/tc-aarch64.c:3563 config/tc-aarch64.c:3620
+#: config/tc-aarch64.c:4258 config/tc-aarch64.c:4316
msgid "invalid expression in the address"
msgstr "expresión no válida en la dirección"
-#: config/tc-aarch64.c:3577 config/tc-arm.c:5673 config/tc-arm.c:6251
+#: config/tc-aarch64.c:4272 config/tc-arm.c:6051 config/tc-arm.c:6650
msgid "']' expected"
-msgstr "']' esperado"
+msgstr "se esperaba ']'"
-#: config/tc-aarch64.c:3585
+#: config/tc-aarch64.c:4280
msgid "register offset not allowed in pre-indexed addressing mode"
-msgstr "desplazamiento registrado no permitido en modo direccionado pre-indizado"
+msgstr "desplazamiento de registro no permitido en modo direccionamiento pre-indexado"
-#: config/tc-aarch64.c:3600 config/tc-arm.c:5709
+#: config/tc-aarch64.c:4295 config/tc-arm.c:6087
msgid "cannot combine pre- and post-indexing"
-msgstr "no se puede combinar pre y post-indizado"
+msgstr "no se puede combinar pre y post-indexación"
#. Reject [Rn]!
-#: config/tc-aarch64.c:3632
+#: config/tc-aarch64.c:4340
msgid "missing offset in the pre-indexed address"
-msgstr "desplazamiento ausente dentro de dirección pre-indizada"
+msgstr "falta el desplazamiento en dirección pre-indexada"
+
+#: config/tc-aarch64.c:4683
+msgid "expected '['"
+msgstr "se esperaba '['"
+
+#: config/tc-aarch64.c:4691
+msgid "expected a 32-bit selection register"
+msgstr "se esperaba un registro de selección de 32 bits"
+
+#: config/tc-aarch64.c:4698
+msgid "missing immediate offset"
+msgstr "falta desplazamiento inmediato"
+
+#: config/tc-aarch64.c:4704 config/tc-aarch64.c:4713
+msgid "expected a constant immediate offset"
+msgstr "se esperaba un desplazamiento inmediato constante"
+
+#: config/tc-aarch64.c:4718
+msgid "the last offset is less than the first offset"
+msgstr "el último desplazamiento es menor que el primer desplazamiento"
+
+#: config/tc-aarch64.c:4724
+msgid "the last offset is equal to the first offset"
+msgstr "el último desplazamiento es igual que el primer desplazamiento"
-#: config/tc-aarch64.c:3861
-msgid "unknown or missing option to PSB"
-msgstr "desconocido o ausente opción a PSB"
+#: config/tc-aarch64.c:4746
+msgid "invalid vector group size"
+msgstr "tamaño de grupo de vectores no válido"
-#: config/tc-aarch64.c:3869
-msgid "the specified option is not accepted for PSB"
-msgstr "la opción especificada no está aceptada para PSB"
+#: config/tc-aarch64.c:4753
+msgid "expected ']'"
+msgstr "se esperaba ']'"
-#: config/tc-aarch64.c:3926
+#: config/tc-aarch64.c:4813 config/tc-aarch64.c:4921
+msgid "expected '}'"
+msgstr "se esperaba '}'"
+
+#: config/tc-aarch64.c:4872
+msgid "ZA tile masks do not operate at .Q granularity"
+msgstr "las máscaras de matriz ZA no operan con granularidad .Q"
+
+#: config/tc-aarch64.c:4878
+msgid "missing ZA tile size"
+msgstr "falta el tamaño de la matriz ZA"
+
+#: config/tc-aarch64.c:4883
+msgid "invalid ZA tile"
+msgstr "matriz ZA no válida"
+
+#: config/tc-aarch64.c:4908
+msgid "expected '{'"
+msgstr "se esperaba '{'"
+
+#: config/tc-aarch64.c:4949
+msgid "expected SM or ZA operand"
+msgstr "se esperaba un operando SM o ZA"
+
+#: config/tc-aarch64.c:5012
#, c-format
msgid "selected processor does not support PSTATE field name '%s'"
-msgstr "procesador seleccionado no admite el nombre de campo PSTATE '%s'"
+msgstr "el procesador seleccionado no admite el nombre de campo PSTATE '%s'"
-#: config/tc-aarch64.c:3929 config/tc-aarch64.c:3962
+#: config/tc-aarch64.c:5017 config/tc-aarch64.c:5062
#, c-format
msgid "selected processor does not support system register name '%s'"
-msgstr "procesador seleccionado no admite el nombre registrado del sistema «%s»"
+msgstr "el procesador seleccionado no admite el nombre de registro del sistema «%s»"
+
+#: config/tc-aarch64.c:5020
+#, c-format
+msgid "128-bit-wide accsess not allowed on selected system register '%s'"
+msgstr "el acceso de ancho de 128 bits no está permitido en el registro del sistema seleccionado «%s»"
-#: config/tc-aarch64.c:3932
+#: config/tc-aarch64.c:5023 config/tc-aarch64.c:5065
#, c-format
msgid "system register name '%s' is deprecated and may be removed in a future release"
-msgstr ""
+msgstr "el nombre de registro del sistema «%s» está obsoleto y puede desaparecer en futuras versiones"
-#: config/tc-aarch64.c:4004
+#: config/tc-aarch64.c:5104
msgid "immediate value out of range "
-msgstr "valor inmediato fuera de límite "
+msgstr "valor inmediato fuera de rango "
-#: config/tc-aarch64.c:4512
+#: config/tc-aarch64.c:5707 messages.c:151
#, c-format
msgid "Info: "
-msgstr "Informe: "
+msgstr "Info: "
+
+#: config/tc-aarch64.c:5725
+#, c-format
+msgid "missing braces at operand %d"
+msgstr "faltan las llaves para el operando %d"
+
+#: config/tc-aarch64.c:5736
+#, c-format
+msgid "unexpected register type at operand %d"
+msgstr "tipo de registro no esperado para el operando %d"
+
+#: config/tc-aarch64.c:5747
+#, c-format
+msgid "invalid register list at operand %d"
+msgstr "lista de registros no válida para el operando %d"
-#: config/tc-aarch64.c:4545 config/tc-score.c:2750 config/tc-score.c:6503
+#: config/tc-aarch64.c:5760
+#, c-format
+msgid "expected a register at operand %d"
+msgstr "se esperaba un registro para el operando %d"
+
+#: config/tc-aarch64.c:5767
+#, c-format
+msgid "expected '{' at operand %d"
+msgstr "se esperaba '{' para el operando %d"
+
+#: config/tc-aarch64.c:5769
+#, c-format
+msgid "expected a register or register list at operand %d"
+msgstr "se esperaba un registro o una lista de registros para el operando %d"
+
+#: config/tc-aarch64.c:5794
+#, c-format
+msgid "this `%s' should have an immediately preceding `%s' -- `%s'"
+msgstr "este «%s» debería ir inmediatamente precedido de «%s» -- «%s»"
+
+#: config/tc-aarch64.c:5800
+#, c-format
+msgid "the preceding `%s' should be followed by `%s` rather than `%s` -- `%s'"
+msgstr "el «%s» precedente debería ir seguido de «%s» en lugar de «%s» -- «%s»"
+
+#: config/tc-aarch64.c:5812 config/tc-aarch64.c:5827 config/tc-score.c:2748
+#: config/tc-score.c:6424
#, c-format
msgid "%s -- `%s'"
msgstr "%s -- «%s»"
-#: config/tc-aarch64.c:4547
+#: config/tc-aarch64.c:5829
#, c-format
msgid "%s at operand %d -- `%s'"
-msgstr "%s en operando %d -- «%s»"
+msgstr "%s en el operando %d -- «%s»"
-#: config/tc-aarch64.c:4553
+#: config/tc-aarch64.c:5835
#, c-format
msgid "operand %d must be %s -- `%s'"
-msgstr "operando %d debe ser %s -- `%s'"
+msgstr "el operando %d debe ser %s -- `%s'"
-#: config/tc-aarch64.c:4559
+#: config/tc-aarch64.c:5841
#, c-format
msgid "operand mismatch -- `%s'"
-msgstr "operando no coincide -- «%s»"
+msgstr "el operando no coincide -- «%s»"
#. Print the hint.
-#: config/tc-aarch64.c:4619
+#: config/tc-aarch64.c:5901
msgid " did you mean this?"
-msgstr " ¿significó ésto?"
+msgstr " ¿quiso decir ésto?"
-#: config/tc-aarch64.c:4622 config/tc-aarch64.c:4649
+#: config/tc-aarch64.c:5904 config/tc-aarch64.c:5931
#, c-format
msgid " %s"
msgstr " %s"
-#: config/tc-aarch64.c:4627
+#: config/tc-aarch64.c:5909
msgid " other valid variant(s):"
msgstr " otra(s) variante(s) válida(s):"
-#: config/tc-aarch64.c:4656
+#: config/tc-aarch64.c:5938
+#, fuzzy, c-format
+#| msgid "operand %d must be the same register as operand 1 -- `%s'"
+msgid "operand %d must have the same immediate value as operand 1 -- `%s'"
+msgstr "operando %d debe ser el mismo registro que operando 1 -- «%s»"
+
+#: config/tc-aarch64.c:5944
#, c-format
msgid "operand %d must be the same register as operand 1 -- `%s'"
msgstr "operando %d debe ser el mismo registro que operando 1 -- «%s»"
-#: config/tc-aarch64.c:4662
+#: config/tc-aarch64.c:5949
+#, fuzzy, c-format
+#| msgid "%s at operand %d -- `%s'"
+msgid "%s%d-%s%d expected at operand %d -- `%s'"
+msgstr "%s en operando %d -- «%s»"
+
+#: config/tc-aarch64.c:5956
#, c-format
msgid "%s out of range %d to %d at operand %d -- `%s'"
-msgstr "%s fuera de límite %d a %d en operando %d -- «%s»"
+msgstr "%s fuera de rango %d a %d en operando %d -- «%s»"
-#: config/tc-aarch64.c:4663 config/tc-aarch64.c:4667 config/tc-aarch64.c:6447
+#: config/tc-aarch64.c:5957 config/tc-aarch64.c:5961 config/tc-aarch64.c:8372
msgid "immediate value"
msgstr "valor inmediato"
-#: config/tc-aarch64.c:4666
+#: config/tc-aarch64.c:5960
#, c-format
msgid "%s must be %d at operand %d -- `%s'"
msgstr "%s debe ser %d al operando %d -- «%s»"
-#: config/tc-aarch64.c:4673
-#, c-format
-msgid "invalid number of registers in the list; only 1 register is expected at operand %d -- `%s'"
-msgstr "número inválido de registros listados; solo 1 registro está esperado al operando %d -- `%s'"
+#: config/tc-aarch64.c:5967
+#, fuzzy, c-format
+#| msgid "Unexpected character '%c' after operand %d to %s."
+msgid "unexpected vector group size at operand %d -- `%s'"
+msgstr "Carácter inesperado '%c' antes de operando %d para %s."
-#: config/tc-aarch64.c:4677
-#, c-format
-msgid "invalid number of registers in the list; %d registers are expected at operand %d -- `%s'"
+#: config/tc-aarch64.c:5970
+#, fuzzy, c-format
+#| msgid "operand %d must be the same register as operand 1 -- `%s'"
+msgid "operand %d must have a vector group size of %d -- `%s'"
+msgstr "operando %d debe ser el mismo registro que operando 1 -- «%s»"
+
+#: config/tc-aarch64.c:5976
+#, fuzzy, c-format
+#| msgid "expecting a register for operand %d"
+msgid "expected a single-register list at operand %d -- `%s'"
+msgstr "se esperaba un registro para el operando %d"
+
+#: config/tc-aarch64.c:5979
+#, fuzzy, c-format
+#| msgid "operand %d must be the same register as operand 1 -- `%s'"
+msgid "expected a list of %d registers at operand %d -- `%s'"
+msgstr "operando %d debe ser el mismo registro que operando 1 -- «%s»"
+
+#: config/tc-aarch64.c:5982
+#, fuzzy, c-format
+#| msgid "%s out of range %d to %d at operand %d -- `%s'"
+msgid "expected a list of %d or %d registers at operand %d -- `%s'"
+msgstr "%s fuera de rango %d a %d en operando %d -- «%s»"
+
+#: config/tc-aarch64.c:5986
+#, fuzzy, c-format
+#| msgid "invalid number of registers in the list; %d registers are expected at operand %d -- `%s'"
+msgid "invalid number of registers in the list at operand %d -- `%s'"
msgstr "número inválido de registros listados; %d registros están esperados en operando %d -- `%s'"
-#: config/tc-aarch64.c:4683
+#: config/tc-aarch64.c:5992
+#, fuzzy, c-format
+#| msgid "%s must be %d at operand %d -- `%s'"
+msgid "the register list must have a stride of %d at operand %d -- `%s'"
+msgstr "%s debe ser %d al operando %d -- «%s»"
+
+#: config/tc-aarch64.c:5995
+#, fuzzy, c-format
+#| msgid "%s out of range %d to %d at operand %d -- `%s'"
+msgid "the register list must have a stride of %d or %d at operand %d -- `%s`"
+msgstr "%s fuera de rango %d a %d en operando %d -- «%s»"
+
+#: config/tc-aarch64.c:5999
+#, fuzzy, c-format
+#| msgid "invalid register operand: %s"
+msgid "invalid register stride at operand %d -- `%s'"
+msgstr "operando registrado inválido: %s"
+
+#: config/tc-aarch64.c:6004
#, c-format
msgid "immediate value must be a multiple of %d at operand %d -- `%s'"
msgstr ""
-#: config/tc-aarch64.c:4970
-msgid "bad vector arrangement type"
-msgstr "tipo alineamiento vectorial equivocado"
-
-#: config/tc-aarch64.c:5087
+#: config/tc-aarch64.c:6448
msgid "the specified relocation type is not allowed for MOVK"
msgstr "el tipo reubicante especificado no está permitido para MOVK"
-#: config/tc-aarch64.c:5129 config/tc-aarch64.c:5139
+#: config/tc-aarch64.c:6496 config/tc-aarch64.c:6507
msgid "the specified relocation type is not allowed for 32-bit register"
msgstr "el tipo reubicante especificado no está asignado para registro de 32-bit"
-#: config/tc-aarch64.c:5310
+#: config/tc-aarch64.c:6602
+#, fuzzy
+#| msgid "TLS relocation size does not match operand size"
+msgid "relocation qualifier does not match instruction size"
+msgstr "TLS para tamaño de la reubicación no coincide con el tamaño de operando"
+
+#: config/tc-aarch64.c:6703
msgid "comma expected between operands"
msgstr "coma esperaba entre operandos"
-#: config/tc-aarch64.c:5444
+#: config/tc-aarch64.c:6739
+#, fuzzy
+#| msgid "invalid base register in load/store"
+msgid "invalid Rt register number in 64-byte load/store"
+msgstr "registro base inválido en carga/almacenamiento"
+
+#: config/tc-aarch64.c:6876
msgid "the top half of a 128-bit FP/SIMD register is expected"
msgstr ""
-#: config/tc-aarch64.c:5515 config/tc-arm.c:1906 config/tc-arm.c:1951
-#: config/tc-h8300.c:1048
+#: config/tc-aarch64.c:6989 config/tc-aarch64.c:7039 config/tc-arm.c:2207
+#: config/tc-arm.c:2252 config/tc-h8300.c:1041
msgid "invalid register list"
msgstr "lista de registros no válida"
-#: config/tc-aarch64.c:5535
+#: config/tc-aarch64.c:7046
+msgid "expected element type rather than vector type"
+msgstr ""
+
+#: config/tc-aarch64.c:7064
msgid "missing type suffix"
msgstr "sufijo ausente de tipo"
-#: config/tc-aarch64.c:5554
+#: config/tc-aarch64.c:7086
+#, fuzzy
+#| msgid "C0 - C15 expected"
+msgid "C8 - C9 expected"
+msgstr "C0 - C15 se esperaban"
+
+#: config/tc-aarch64.c:7092
+#, fuzzy
+#| msgid "C0 - C15 expected"
+msgid "C0 - C7 expected"
+msgstr "C0 - C15 se esperaban"
+
+#: config/tc-aarch64.c:7098
msgid "C0 - C15 expected"
msgstr "C0 - C15 se esperaban"
-#: config/tc-aarch64.c:5655 config/tc-aarch64.c:5679
+#: config/tc-aarch64.c:7210 config/tc-aarch64.c:7234
msgid "immediate zero expected"
-msgstr "esperado cero inmediaro"
+msgstr "se esperaba cero inmediaro"
-#: config/tc-aarch64.c:5775
+#: config/tc-aarch64.c:7331
msgid "shift not allowed for bitmask immediate"
msgstr "desplazamiento no permitido para mascarada bit inmediato"
-#: config/tc-aarch64.c:5829
+#: config/tc-aarch64.c:7385
msgid "can't mix relocation modifier with explicit shift"
msgstr "no se puede entremezclar reubicación modificado con desplazamiento explícito"
-#: config/tc-aarch64.c:5877
+#: config/tc-aarch64.c:7434 config/tc-arm.c:15723 config/tc-arm.c:15748
+#: config/tc-arm.c:15759 config/tc-arm.c:15766
msgid "invalid condition"
msgstr "condición no válida"
-#: config/tc-aarch64.c:5903
+#: config/tc-aarch64.c:7460
msgid "invalid pc-relative address"
msgstr "dirección relativa a pc no válida"
#. Only permit "=value" in the literal load instructions.
#. The literal will be generated by programmer_friendly_fixup.
-#: config/tc-aarch64.c:5911
+#: config/tc-aarch64.c:7468
msgid "invalid use of \"=immediate\""
msgstr "empleo no válido de \"=immediate\""
-#: config/tc-aarch64.c:5976 config/tc-aarch64.c:6008 config/tc-aarch64.c:6026
-#: config/tc-aarch64.c:6048 config/tc-aarch64.c:6068 config/tc-aarch64.c:6087
-#: config/tc-aarch64.c:6106 config/tc-aarch64.c:6141 config/tc-aarch64.c:6148
-#: config/tc-aarch64.c:6177 config/tc-aarch64.c:6202 config/tc-aarch64.c:6218
-#: config/tc-aarch64.c:6242
+#: config/tc-aarch64.c:7531 config/tc-aarch64.c:7556 config/tc-aarch64.c:7578
+#: config/tc-aarch64.c:7610 config/tc-aarch64.c:7628 config/tc-aarch64.c:7652
+#: config/tc-aarch64.c:7672 config/tc-aarch64.c:7692 config/tc-aarch64.c:7711
+#: config/tc-aarch64.c:7734 config/tc-aarch64.c:7788 config/tc-aarch64.c:7795
+#: config/tc-aarch64.c:7823 config/tc-aarch64.c:7845 config/tc-aarch64.c:7870
+#: config/tc-aarch64.c:7888 config/tc-aarch64.c:7896 config/tc-aarch64.c:7913
+#: config/tc-aarch64.c:7937
msgid "invalid addressing mode"
msgstr "modo de direccionamiento inválido"
-#: config/tc-aarch64.c:5992
+#: config/tc-aarch64.c:7594
msgid "the optional immediate offset can only be 0"
msgstr "el desplazamiento opcional inmediato puede solo ser 0 "
-#: config/tc-aarch64.c:6031 config/tc-aarch64.c:6053 config/tc-aarch64.c:6073
+#: config/tc-aarch64.c:7633 config/tc-aarch64.c:7657 config/tc-aarch64.c:7677
+#: config/tc-aarch64.c:7697
msgid "relocation not allowed"
msgstr "reubicación no permitida"
-#: config/tc-aarch64.c:6116
+#: config/tc-aarch64.c:7744
msgid "writeback value must be an immediate constant"
msgstr "valor retroescritura debe ser una contante inmediata"
+#: config/tc-aarch64.c:7755 config/tc-aarch64.c:7965
+msgid "unknown or missing PSTATE field name"
+msgstr "nombre de campo PSTATE desconocido o ausante"
+
#. Make sure this has priority over
#. "invalid addressing mode".
-#: config/tc-aarch64.c:6156
+#: config/tc-aarch64.c:7803
msgid "constant offset required"
msgstr "desplazamiento constante requerido"
-#: config/tc-aarch64.c:6252
+#: config/tc-aarch64.c:7951
msgid "unknown or missing system register name"
msgstr "nombre de registro de sistema ausente o desconocido"
-#: config/tc-aarch64.c:6262
-msgid "unknown or missing PSTATE field name"
-msgstr "nombre de campo PSTATE desconocido o ausante"
-
-#: config/tc-aarch64.c:6286
+#: config/tc-aarch64.c:8004
msgid "unknown or missing operation name"
msgstr "operación nombrada desconocida o ausente"
-#: config/tc-aarch64.c:6299
+#: config/tc-aarch64.c:8017
msgid "the specified option is not accepted in ISB"
msgstr "la opción especifica ninguna opción"
-#: config/tc-aarch64.c:6325 config/tc-aarch64.c:7458 config/tc-arm.c:7211
+#: config/tc-aarch64.c:8029 config/tc-aarch64.c:8046
+#, fuzzy
+#| msgid "the specified option is not accepted in ISB"
+msgid "the specified option is not accepted in DSB"
+msgstr "la opción especifica ninguna opción"
+
+#: config/tc-aarch64.c:8060
+#, fuzzy
+#| msgid "immediate must be 1 or 2"
+msgid "immediate value must be 16, 20, 24, 28"
+msgstr "el inmediato debe ser 1 o 2"
+
+#: config/tc-aarch64.c:8097 config/tc-aarch64.c:8132
+#, fuzzy
+#| msgid "missing table index"
+msgid "missing register index"
+msgstr "distribución indizada ausente"
+
+#: config/tc-aarch64.c:8119
+#, fuzzy
+#| msgid "expected ',' after symbol name"
+msgid "expected '}' after ZT0"
+msgstr "se esperaba ',' tras nombre simbólico"
+
+#: config/tc-aarch64.c:8246 config/tc-aarch64.c:9603 config/tc-arm.c:7945
#, c-format
msgid "unhandled operand code %d"
msgstr "código de operando %d sin manipular"
-#: config/tc-aarch64.c:6367
+#: config/tc-aarch64.c:8292
msgid "unexpected comma before the omitted optional operand"
msgstr "punto inesperado antes de operando opcional omitido"
-#: config/tc-aarch64.c:6395
+#: config/tc-aarch64.c:8320
msgid "unexpected characters following instruction"
msgstr "caracteres inesperados continuando instrucción"
-#: config/tc-aarch64.c:6473 config/tc-arm.c:5248 config/tc-arm.c:5809
-#: config/tc-arm.c:7973
+#: config/tc-aarch64.c:8398 config/tc-arm.c:5577 config/tc-arm.c:6195
+#: config/tc-arm.c:8757
msgid "constant expression expected"
msgstr "se esperaba una expresión constante"
-#: config/tc-aarch64.c:6480
+#: config/tc-aarch64.c:8405
msgid "literal pool insertion failed"
msgstr "falló la inserción en el conjunto de literales"
-#: config/tc-aarch64.c:6549 config/tc-aarch64.c:6561
+#: config/tc-aarch64.c:8476 config/tc-aarch64.c:8529
#, c-format
msgid "unpredictable transfer with writeback -- `%s'"
msgstr "transferencia impredecible con retroescritura -- «%s»"
-#: config/tc-aarch64.c:6565
+#. ldiapp, stilp
+#: config/tc-aarch64.c:8488
+#, fuzzy, c-format
+#| msgid "unpredictable transfer with writeback -- `%s'"
+msgid "unpredictable load pair transfer with register overlap -- `%s'"
+msgstr "transferencia impredecible con retroescritura -- «%s»"
+
+#: config/tc-aarch64.c:8506
+#, fuzzy, c-format
+#| msgid "unpredictable transfer with writeback -- `%s'"
+msgid "unpredictable transfer with writeback (load) -- `%s'"
+msgstr "transferencia impredecible con retroescritura -- «%s»"
+
+#: config/tc-aarch64.c:8510
+#, fuzzy, c-format
+#| msgid "unpredictable transfer with writeback -- `%s'"
+msgid "unpredictable transfer with writeback (store) -- `%s'"
+msgstr "transferencia impredecible con retroescritura -- «%s»"
+
+#: config/tc-aarch64.c:8533 config/tc-aarch64.c:8547
#, c-format
msgid "unpredictable load of register pair -- `%s'"
msgstr "carga impredicible de par registrado -- «%s»"
-#: config/tc-aarch64.c:6642
+#: config/tc-aarch64.c:8554 config/tc-aarch64.c:8567
+#, fuzzy, c-format
+#| msgid "unpredictable transfer with writeback -- `%s'"
+msgid "unpredictable: identical transfer and status registers --`%s'"
+msgstr "transferencia impredecible con retroescritura -- «%s»"
+
+#: config/tc-aarch64.c:8562 config/tc-aarch64.c:8576
+#, fuzzy, c-format
+#| msgid "unpredictable load of register pair -- `%s'"
+msgid "unpredictable: identical base and status registers --`%s'"
+msgstr "carga impredicible de par registrado -- «%s»"
+
+#: config/tc-aarch64.c:8596
+#, c-format
+msgid "previous `%s' sequence has not been closed"
+msgstr ""
+
+#: config/tc-aarch64.c:8685
+#, fuzzy, c-format
+#| msgid "unknown mnemonic `%s' -- `%s'"
+msgid "unknown mnemonic -- `%s'"
+msgstr "mnemónico inválido `%s' -- `%s'"
+
+#: config/tc-aarch64.c:8695
#, c-format
msgid "unknown mnemonic `%s' -- `%s'"
msgstr "mnemónico inválido `%s' -- `%s'"
-#: config/tc-aarch64.c:6650
+#: config/tc-aarch64.c:8703
#, c-format
msgid "unexpected comma after the mnemonic name `%s' -- `%s'"
msgstr "coma inesperada tras el nombre nemónico «%s» -- «%s»"
-#: config/tc-aarch64.c:6708
+#: config/tc-aarch64.c:8760
#, c-format
msgid "selected processor does not support `%s'"
msgstr "procesador seleccionado no admite «%s»"
-#: config/tc-aarch64.c:7121 config/tc-arm.c:22852
+#: config/tc-aarch64.c:9262 config/tc-arm.c:27396
msgid "GOT already in the symbol table"
msgstr "GOT ya está en la distribución simbólicos"
-#: config/tc-aarch64.c:7283
+#: config/tc-aarch64.c:9425
msgid "immediate cannot be moved by a single instruction"
msgstr "inmediato no puede ser trasadado por una instrucción simple"
-#: config/tc-aarch64.c:7326 config/tc-aarch64.c:7371 config/tc-aarch64.c:7397
-#: config/tc-arm.c:15411 config/tc-arm.c:15438 config/tc-arm.c:16080
-#: config/tc-arm.c:16694 config/tc-arm.c:17516 config/tc-arm.c:17556
-#: config/tc-metag.c:2444 config/tc-metag.c:2453 config/tc-metag.c:2492
-#: config/tc-metag.c:2501 config/tc-metag.c:3021 config/tc-metag.c:3030
+#: config/tc-aarch64.c:9469 config/tc-aarch64.c:9514 config/tc-aarch64.c:9540
+#: config/tc-arm.c:16267 config/tc-arm.c:17964 config/tc-arm.c:18544
+#: config/tc-arm.c:18571 config/tc-arm.c:19358 config/tc-arm.c:20193
+#: config/tc-arm.c:21216 config/tc-arm.c:21276 config/tc-metag.c:2443
+#: config/tc-metag.c:2452 config/tc-metag.c:2491 config/tc-metag.c:2500
+#: config/tc-metag.c:3019 config/tc-metag.c:3028
msgid "immediate out of range"
-msgstr "inmediato fuera de límite"
+msgstr "inmediato fuera de rango"
-#: config/tc-aarch64.c:7390 config/tc-metag.c:4656 config/tc-xtensa.c:4183
+#: config/tc-aarch64.c:9533 config/tc-metag.c:4654 config/tc-xtensa.c:4229
msgid "invalid immediate"
msgstr "inmediato inválido"
-#: config/tc-aarch64.c:7453 config/tc-tic6x.c:3861 config/tc-tic6x.c:3926
-#: config/tc-tic6x.c:3953 config/tc-tic6x.c:3981
+#: config/tc-aarch64.c:9598 config/tc-tic6x.c:3854 config/tc-tic6x.c:3919
+#: config/tc-tic6x.c:3946 config/tc-tic6x.c:3974
msgid "immediate offset out of range"
-msgstr "el desplazamiento inmediato está fuera de límite"
+msgstr "el desplazamiento inmediato está fuera de rango"
-#: config/tc-aarch64.c:7527 config/tc-arm.c:23190 config/tc-arm.c:23258
-#: config/tc-arm.c:23540
+#: config/tc-aarch64.c:9672 config/tc-arm.c:27734 config/tc-arm.c:27802
+#: config/tc-arm.c:28084
#, c-format
msgid "undefined symbol %s used as an immediate value"
msgstr "símbolo indefinido %s utilizado como un valor inmediato"
-#: config/tc-aarch64.c:7539
+#: config/tc-aarch64.c:9684
msgid "pc-relative load offset not word aligned"
msgstr "el desplazamiento de carga relativa a pc sin word alineado"
-#: config/tc-aarch64.c:7542
+#: config/tc-aarch64.c:9687
msgid "pc-relative load offset out of range"
msgstr "el desplazamiento de carga pc-relativa fuera de rango"
-#: config/tc-aarch64.c:7554
+#: config/tc-aarch64.c:9699
msgid "pc-relative address offset out of range"
msgstr "la dirección pc-relativa desplazada fuera del rango"
-#: config/tc-aarch64.c:7566 config/tc-aarch64.c:7581
+#: config/tc-aarch64.c:9711 config/tc-aarch64.c:9726
msgid "conditional branch target not word aligned"
msgstr "destino condicional ramificado no alineado con palabra"
-#: config/tc-aarch64.c:7569 config/tc-aarch64.c:7584 config/tc-arm.c:23831
+#: config/tc-aarch64.c:9714 config/tc-aarch64.c:9729 config/tc-arm.c:28379
msgid "conditional branch out of range"
-msgstr "ramificación condicional fuera de límite"
+msgstr "ramificación condicional fuera de rango"
-#: config/tc-aarch64.c:7597
+#: config/tc-aarch64.c:9742
msgid "branch target not word aligned"
msgstr "ramificación destino no alineado con palabra"
-#: config/tc-aarch64.c:7600 config/tc-arm.c:822 config/tc-mips.c:15683
-#: config/tc-mips.c:15699 config/tc-mips.c:15789
+#: config/tc-aarch64.c:9745 config/tc-arm.c:916 config/tc-arm.c:29185
+#: config/tc-kvx.c:1725 config/tc-kvx.c:1731 config/tc-mips.c:16075
+#: config/tc-mips.c:16091 config/tc-mips.c:16181
msgid "branch out of range"
-msgstr "ramificación fuera de límite"
+msgstr "ramificación fuera de rango"
-#: config/tc-aarch64.c:7652 config/tc-arm.c:23431 config/tc-arm.c:23446
-#: config/tc-arm.c:23461 config/tc-arm.c:23472 config/tc-arm.c:23495
-#: config/tc-arm.c:24293 config/tc-moxie.c:716 config/tc-pj.c:452
-#: config/tc-sh.c:4293
+#: config/tc-aarch64.c:9804 config/tc-arm.c:27975 config/tc-arm.c:27990
+#: config/tc-arm.c:28005 config/tc-arm.c:28016 config/tc-arm.c:28039
+#: config/tc-arm.c:28889 config/tc-moxie.c:714 config/tc-pj.c:449
+#: config/tc-sh.c:3713
msgid "offset out of range"
-msgstr "desplazamiento fuera de límite"
+msgstr "desplazamiento fuera de rango"
-#: config/tc-aarch64.c:7667
+#: config/tc-aarch64.c:9819
msgid "unsigned value out of range"
msgstr "valor sin signo fuera del límite"
-#: config/tc-aarch64.c:7675
+#: config/tc-aarch64.c:9830
msgid "signed value out of range"
-msgstr "valor firmado fuera de límite"
+msgstr "valor firmado fuera de rango"
-#: config/tc-aarch64.c:7817
+#: config/tc-aarch64.c:9985
#, c-format
msgid "unexpected %s fixup"
msgstr "corrección inesperada %s"
-#: config/tc-aarch64.c:7883 config/tc-arm.c:24802 config/tc-arm.c:24823
-#: config/tc-mips.c:18038 config/tc-or1k.c:348 config/tc-score.c:7480
+#: config/tc-aarch64.c:10049 config/tc-arm.c:29604 config/tc-arm.c:29625
+#: config/tc-mips.c:18444 config/tc-or1k.c:342 config/tc-score.c:7391
#, c-format
msgid "cannot represent %s relocation in this object file format"
msgstr "no se puede representar la reubicación %s en este formato de fichero objeto"
-#: config/tc-aarch64.c:7916
+#: config/tc-aarch64.c:10096
#, c-format
msgid "cannot do %u-byte relocation"
msgstr "no puede hacer reubicación %u-bytes"
-#: config/tc-aarch64.c:8227 config/tc-arm.c:25283 config/tc-score.c:6297
-#: config/tc-score.c:6527 config/tc-score.c:6532
-msgid "virtual memory exhausted"
-msgstr "memoria agotada"
-
-#: config/tc-aarch64.c:8385 config/tc-arm.c:25622
+#: config/tc-aarch64.c:10524 config/tc-arm.c:30425
msgid "assemble for big-endian"
msgstr "ensamblar para big-endian"
-#: config/tc-aarch64.c:8386 config/tc-arm.c:25623
+#: config/tc-aarch64.c:10525 config/tc-arm.c:30426
msgid "assemble for little-endian"
msgstr "ensamblar para little-endian"
-#: config/tc-aarch64.c:8389
+#: config/tc-aarch64.c:10528
msgid "temporary switch for dumping"
msgstr "intercambiado temporal para volcado"
-#: config/tc-aarch64.c:8391
+#: config/tc-aarch64.c:10530
msgid "output verbose error messages"
msgstr "mensajes de error detallado saliente"
-#: config/tc-aarch64.c:8393
+#: config/tc-aarch64.c:10532
msgid "do not output verbose error messages"
msgstr "no sacar mensajes de error detallados"
-#: config/tc-aarch64.c:8601 config/tc-arm.c:26444
+#: config/tc-aarch64.c:10876 config/tc-arm.c:31614
msgid "invalid architectural extension"
msgstr "extensión de arquitectura no válida"
-#: config/tc-aarch64.c:8626 config/tc-arm.c:26476
+#: config/tc-aarch64.c:10901 config/tc-arm.c:31646
msgid "must specify extensions to add before specifying those to remove"
msgstr "se deben especificar extensiones para agregar antes de especificar las que se borrarán"
-#: config/tc-aarch64.c:8634 config/tc-arm.c:26484
+#: config/tc-aarch64.c:10909 config/tc-arm.c:31654
msgid "missing architectural extension"
msgstr "ausente la extensión de la arquitectura"
-#: config/tc-aarch64.c:8661 config/tc-arm.c:26536
+#: config/tc-aarch64.c:10937 config/tc-arm.c:31740
#, c-format
msgid "unknown architectural extension `%s'"
msgstr "desconoce extensión arquitectural «%s»"
-#: config/tc-aarch64.c:8685 config/tc-arm.c:26570 config/tc-metag.c:5834
+#: config/tc-aarch64.c:10962 config/tc-arm.c:31790 config/tc-metag.c:5832
#, c-format
msgid "missing cpu name `%s'"
msgstr "ausente el nombre de cpu «%s»"
-#: config/tc-aarch64.c:8699 config/tc-aarch64.c:8916 config/tc-arm.c:26605
-#: config/tc-arm.c:27369 config/tc-metag.c:5845
+#: config/tc-aarch64.c:10973 config/tc-aarch64.c:11194 config/tc-arm.c:31825
+#: config/tc-arm.c:32645 config/tc-csky.c:1218 config/tc-metag.c:5843
#, c-format
msgid "unknown cpu `%s'"
msgstr "desconoce cpu `%s'"
-#: config/tc-aarch64.c:8717 config/tc-arm.c:26623
+#: config/tc-aarch64.c:10991 config/tc-arm.c:31843
#, c-format
msgid "missing architecture name `%s'"
msgstr "ausente el nombre de arquitectura «%s»"
-#: config/tc-aarch64.c:8731 config/tc-aarch64.c:8963 config/tc-arm.c:26640
-#: config/tc-arm.c:27404 config/tc-arm.c:27434 config/tc-score.c:7715
+#: config/tc-aarch64.c:11002 config/tc-aarch64.c:11239 config/tc-arm.c:31865
+#: config/tc-arm.c:32685 config/tc-arm.c:32721 config/tc-score.c:7626
#, c-format
msgid "unknown architecture `%s'\n"
msgstr "desconoce arquitectura «%s» \n"
-#: config/tc-aarch64.c:8754
+#: config/tc-aarch64.c:11029
#, c-format
msgid "missing abi name `%s'"
msgstr "ausentando nombre abi «%s»"
-#: config/tc-aarch64.c:8765
+#: config/tc-aarch64.c:11040
#, c-format
msgid "unknown abi `%s'\n"
msgstr "desconoce abi «%s»\n"
-#: config/tc-aarch64.c:8771
+#: config/tc-aarch64.c:11053
msgid "<abi name>\t specify for ABI <abi name>"
msgstr "<nombre abi>\t\t específicamente para ABI <nombre abi>"
-#: config/tc-aarch64.c:8774 config/tc-arm.c:26727 config/tc-metag.c:5911
+#: config/tc-aarch64.c:11055 config/tc-arm.c:31952 config/tc-metag.c:5909
msgid "<cpu name>\t assemble for CPU <cpu name>"
msgstr "<nombre cpu>\t ensambla para el CPU <nombre cpu>"
-#: config/tc-aarch64.c:8776 config/tc-arm.c:26729
+#: config/tc-aarch64.c:11057 config/tc-arm.c:31954
msgid "<arch name>\t assemble for architecture <arch name>"
msgstr "<nombre arq>\t ensambla para la arquitectura <nombre arq>"
-#: config/tc-aarch64.c:8815 config/tc-aarch64.c:8835 config/tc-arm.c:26785
-#: config/tc-arm.c:26803 config/tc-arm.c:26823 config/tc-metag.c:5936
+#: config/tc-aarch64.c:11096 config/tc-aarch64.c:11115 config/tc-arm.c:32022
+#: config/tc-arm.c:32040 config/tc-arm.c:32060 config/tc-metag.c:5933
#, c-format
msgid "option `-%c%s' is deprecated: %s"
msgstr "la opción `-%c%s' es obsoleta: %s"
-#: config/tc-aarch64.c:8855
+#: config/tc-aarch64.c:11135
#, c-format
msgid " AArch64-specific assembler options:\n"
msgstr " Opciones de ensamblador específicas de AArch64:\n"
-#: config/tc-aarch64.c:8866 config/tc-arc.c:3536 config/tc-arm.c:26854
+#: config/tc-aarch64.c:11146 config/tc-arc.c:3598 config/tc-arm.c:32091
#, c-format
msgid " -EB assemble code for a big-endian cpu\n"
msgstr " -EB ensambla código para un cpu big-endian\n"
-#: config/tc-aarch64.c:8871 config/tc-arc.c:3538 config/tc-arm.c:26859
+#: config/tc-aarch64.c:11151 config/tc-arc.c:3600 config/tc-arm.c:32096
#, c-format
msgid " -EL assemble code for a little-endian cpu\n"
msgstr " -EL ensambla código para un cpu little-endian\n"
-#: config/tc-alpha.c:653
+#: config/tc-alpha.c:648
#, c-format
msgid "No !literal!%ld was found"
msgstr "Ningún !literal!%ld fue encontrado"
-#: config/tc-alpha.c:660
+#: config/tc-alpha.c:655
#, c-format
msgid "No !tlsgd!%ld was found"
msgstr "Ningún !tlsgd!%ld fue encontrado"
-#: config/tc-alpha.c:667
+#: config/tc-alpha.c:662
#, c-format
msgid "No !tlsldm!%ld was found"
msgstr "Ningún !tlsldm!%ld fue encontrado"
-#: config/tc-alpha.c:676
+#: config/tc-alpha.c:671
#, c-format
msgid "No ldah !gpdisp!%ld was found"
msgstr "Ningún ldah !gpdisp!%ld fue encontrado"
-#: config/tc-alpha.c:726
+#: config/tc-alpha.c:721
#, c-format
msgid "too many !literal!%ld for %s"
msgstr "demasiados !literal!%ld para %s"
-#: config/tc-alpha.c:756
+#: config/tc-alpha.c:751
#, c-format
msgid "No lda !gpdisp!%ld was found"
msgstr "No se encontró un lda !gpdisp!%ld"
#. Only support one relocation op per insn.
-#: config/tc-alpha.c:915
+#: config/tc-alpha.c:910
msgid "More than one relocation op per insn"
msgstr "Más de un operador de reubicación por insn"
-#: config/tc-alpha.c:930 config/tc-arc.c:1197
+#: config/tc-alpha.c:925 config/tc-arc.c:1137
msgid "No relocation operand"
msgstr "No hay un operando de reubicación"
-#: config/tc-alpha.c:940
+#: config/tc-alpha.c:935
#, c-format
msgid "Unknown relocation operand: !%s"
msgstr "Operando de reubicación desconocido: !%s"
-#: config/tc-alpha.c:950
+#: config/tc-alpha.c:945
#, c-format
msgid "no sequence number after !%s"
msgstr "no hay un número de secuencia tras !%s"
-#: config/tc-alpha.c:960
+#: config/tc-alpha.c:955
#, c-format
msgid "!%s does not use a sequence number"
msgstr "!%s no utiliza un número de secuencia"
-#: config/tc-alpha.c:970
+#: config/tc-alpha.c:965
#, c-format
msgid "Bad sequence number: !%s!%s"
-msgstr "Secuencia de números equivocada: !%s!%s"
+msgstr "Secuencia de números incorrecta: !%s!%s"
-#: config/tc-alpha.c:1186 config/tc-alpha.c:3360
+#: config/tc-alpha.c:1185 config/tc-alpha.c:3359
#, c-format
msgid "inappropriate arguments for opcode `%s'"
msgstr "argumentos inapropiados para el código operacional «%s»"
-#: config/tc-alpha.c:1188 config/tc-alpha.c:3362
+#: config/tc-alpha.c:1187 config/tc-alpha.c:3361
#, c-format
msgid "opcode `%s' not supported for target %s"
msgstr "no se admite el código operacional «%s» para el objetivo %s"
-#: config/tc-alpha.c:1192 config/tc-alpha.c:3366 config/tc-avr.c:1904
-#: config/tc-msp430.c:3988 config/tc-wasm32.c:753
+#: config/tc-alpha.c:1191 config/tc-alpha.c:3365 config/tc-avr.c:1914
+#: config/tc-msp430.c:4363 config/tc-wasm32.c:753
#, c-format
msgid "unknown opcode `%s'"
msgstr "código operacional desconocido «%s»"
-#: config/tc-alpha.c:1273 config/tc-alpha.c:1532
+#: config/tc-alpha.c:1271 config/tc-alpha.c:1530
msgid "overflow in literal (.lita) table"
msgstr "desbordamiento en la distribución (.lita) literal"
-#: config/tc-alpha.c:1280 config/tc-alpha.c:1304 config/tc-alpha.c:1545
-#: config/tc-alpha.c:2232 config/tc-alpha.c:2277 config/tc-alpha.c:2346
-#: config/tc-alpha.c:2429 config/tc-alpha.c:2654 config/tc-alpha.c:2752
+#: config/tc-alpha.c:1278 config/tc-alpha.c:1302 config/tc-alpha.c:1543
+#: config/tc-alpha.c:2230 config/tc-alpha.c:2275 config/tc-alpha.c:2344
+#: config/tc-alpha.c:2427 config/tc-alpha.c:2652 config/tc-alpha.c:2750
msgid "macro requires $at register while noat in effect"
msgstr "la macro requiere el registro $at mientras noat está en efecto"
-#: config/tc-alpha.c:1282 config/tc-alpha.c:1306 config/tc-alpha.c:1547
+#: config/tc-alpha.c:1280 config/tc-alpha.c:1304 config/tc-alpha.c:1545
msgid "macro requires $at while $at in use"
msgstr "la macro requiere $at mientras $at está en uso"
-#: config/tc-alpha.c:1491
+#: config/tc-alpha.c:1489
msgid "bignum invalid; zero assumed"
msgstr "bignum inválido; se asume cero"
-#: config/tc-alpha.c:1493
+#: config/tc-alpha.c:1491
msgid "floating point number invalid; zero assumed"
msgstr "número de coma flotante inválido; se asume cero"
-#: config/tc-alpha.c:1498
+#: config/tc-alpha.c:1496
msgid "can't handle expression"
msgstr "no se puede manipular la expresión"
-#: config/tc-alpha.c:1538
+#: config/tc-alpha.c:1536
msgid "overflow in literal (.lit8) table"
msgstr "desbordamiento en la distribución (.lit8) literal"
-#: config/tc-alpha.c:1835
+#: config/tc-alpha.c:1833
#, c-format
msgid "too many ldah insns for !gpdisp!%ld"
msgstr "demasiadas insns ldah para !gpdisp!%ld"
-#: config/tc-alpha.c:1837 config/tc-alpha.c:1849
+#: config/tc-alpha.c:1835 config/tc-alpha.c:1847
#, c-format
msgid "both insns for !gpdisp!%ld must be in the same section"
msgstr "ambas insns para !gpdisp!%ld deben estar en la misma sección"
-#: config/tc-alpha.c:1847
+#: config/tc-alpha.c:1845
#, c-format
msgid "too many lda insns for !gpdisp!%ld"
msgstr "demasiadas insns lda para !gpdisp!%ld"
-#: config/tc-alpha.c:1903
+#: config/tc-alpha.c:1901
#, c-format
msgid "too many lituse insns for !lituse_tlsgd!%ld"
msgstr "demasiadas insns lituse para !lituse_tlsgd!%ld"
-#: config/tc-alpha.c:1906
+#: config/tc-alpha.c:1904
#, c-format
msgid "too many lituse insns for !lituse_tlsldm!%ld"
msgstr "demasiadas insns lituse para !lituse_tlsldm!%ld"
-#: config/tc-alpha.c:1923
+#: config/tc-alpha.c:1921
#, c-format
msgid "duplicate !tlsgd!%ld"
msgstr "!tlsgd!%ld duplicado"
-#: config/tc-alpha.c:1925
+#: config/tc-alpha.c:1923
#, c-format
msgid "sequence number in use for !tlsldm!%ld"
msgstr "número de secuencia en uso para !tlsldm!%ld"
-#: config/tc-alpha.c:1939
+#: config/tc-alpha.c:1937
#, c-format
msgid "duplicate !tlsldm!%ld"
msgstr "duplica !tlsldm!%ld"
-#: config/tc-alpha.c:1941
+#: config/tc-alpha.c:1939
#, c-format
msgid "sequence number in use for !tlsgd!%ld"
msgstr "número de secuencia en uso para !tlsgd!%ld"
-#: config/tc-alpha.c:1996 config/tc-arc.c:2806 config/tc-mn10200.c:854
-#: config/tc-mn10300.c:1150 config/tc-ppc.c:1953 config/tc-s390.c:675
-#: config/tc-tilegx.c:427 config/tc-tilegx.c:477 config/tc-tilepro.c:383
+#: config/tc-alpha.c:1994 config/tc-arc.c:2870 config/tc-mn10200.c:848
+#: config/tc-mn10300.c:1150 config/tc-ppc.c:2065 config/tc-tilegx.c:422
+#: config/tc-tilegx.c:472 config/tc-tilepro.c:375
msgid "operand"
msgstr "operando"
-#: config/tc-alpha.c:2135
+#: config/tc-alpha.c:2133
msgid "invalid relocation for instruction"
msgstr "reubicación no válida para la instrucción"
-#: config/tc-alpha.c:2149
+#: config/tc-alpha.c:2147
msgid "invalid relocation for field"
msgstr "reubicación no válida para el campo"
-#: config/tc-alpha.c:2981
+#: config/tc-alpha.c:2979
msgid "can not resolve expression"
msgstr "no se puede resolver la expresión"
-#: config/tc-alpha.c:3514 config/tc-i370.c:1056 config/tc-microblaze.c:200
-#: config/tc-ppc.c:2275 config/tc-ppc.c:5394
+#: config/tc-alpha.c:3514 config/tc-microblaze.c:183 config/tc-ppc.c:2407
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr "¡Longitud de .COMM (%ld.) <0! Se descarta."
-#: config/tc-alpha.c:3525 config/tc-ia64.c:1094 config/tc-sparc.c:4435
-#: config/tc-v850.c:306
+#: config/tc-alpha.c:3525 config/tc-ia64.c:1091 config/tc-sparc.c:4273
+#: config/tc-v850.c:303
msgid "Ignoring attempt to re-define symbol"
msgstr "Se descarta el intento de redefinir el símbolo"
-#: config/tc-alpha.c:3617 config/tc-sparc.c:4443
+#: config/tc-alpha.c:3617 config/tc-sparc.c:4281
#, c-format
msgid "Length of .comm \"%s\" is already %ld. Not changed to %ld."
msgstr "La longitud de .comm «%s» ya es %ld. No se cambia a %ld."
@@ -2312,7 +2849,7 @@ msgstr "la directiva .ent no tiene nombre"
msgid "nested .ent directives"
msgstr "directivas .ent anidadas"
-#: config/tc-alpha.c:3776 ecoff.c:3008
+#: config/tc-alpha.c:3776 ecoff.c:2996
msgid ".end directive has no name"
msgstr "la directiva .end no tiene nombre"
@@ -2324,30 +2861,30 @@ msgstr "directiva .end sin una directiva .ent coincidente"
msgid ".end directive names different symbol than .ent"
msgstr "la directiva .end nombra un símbolo diferente de .ent"
-#: config/tc-alpha.c:3829 ecoff.c:3145
+#: config/tc-alpha.c:3829 ecoff.c:3132
msgid ".fmask outside of .ent"
msgstr ".fmask fuera de .ent"
-#: config/tc-alpha.c:3831 config/tc-score.c:5598 ecoff.c:3209
+#: config/tc-alpha.c:3831 config/tc-score.c:5582 ecoff.c:3196
msgid ".mask outside of .ent"
msgstr ".mask fuera de .ent"
-#: config/tc-alpha.c:3839 ecoff.c:3152
+#: config/tc-alpha.c:3839 ecoff.c:3139
msgid "bad .fmask directive"
-msgstr "directiva .fmask equivocada"
+msgstr "directiva .fmask incorrecta"
-#: config/tc-alpha.c:3841 ecoff.c:3216
+#: config/tc-alpha.c:3841 ecoff.c:3203
msgid "bad .mask directive"
-msgstr "directiva .mask equivocada"
+msgstr "directiva .mask incorrecta"
-#: config/tc-alpha.c:3874 config/tc-mips.c:19507 config/tc-score.c:5739
-#: ecoff.c:3173
+#: config/tc-alpha.c:3874 config/tc-mips.c:19926 config/tc-score.c:5716
+#: ecoff.c:3160
msgid ".frame outside of .ent"
msgstr ".frame fuera de .ent"
-#: config/tc-alpha.c:3885 config/tc-mips.c:19518 ecoff.c:3184
+#: config/tc-alpha.c:3885 config/tc-mips.c:19937 ecoff.c:3171
msgid "bad .frame directive"
-msgstr "directiva .frame equivocada"
+msgstr "directiva .frame incorrecta"
#: config/tc-alpha.c:3919
msgid ".prologue directive without a preceding .ent directive"
@@ -2381,7 +2918,7 @@ msgstr "desconoce argumento para .usepv"
#: config/tc-alpha.c:4274
#, c-format
msgid "unknown section attribute %s"
-msgstr "atributo seccional %s desconocido"
+msgstr "atributo de sección %s desconocido"
#: config/tc-alpha.c:4369
msgid "previous .ent not closed by a .end"
@@ -2397,16 +2934,16 @@ msgstr "la directiva .handler no tiene nombre"
#: config/tc-alpha.c:4446
msgid "Bad .frame directive 1./2. param"
-msgstr "Parámetro 1./2. de directiva .frame equivocado"
+msgstr "Parámetro 1./2. de directiva .frame incorrecto"
#: config/tc-alpha.c:4456
#, c-format
msgid "Bad RA (%d) register for .frame"
-msgstr "RA equivocado (%d) registrador para marco .frame"
+msgstr "RA incorrecto (%d) registrador para marco .frame"
#: config/tc-alpha.c:4461
msgid "Bad .frame directive 3./4. param"
-msgstr "Parámetro 3./4. de directiva .frame equivocado"
+msgstr "Parámetro 3./4. de directiva .frame incorrecto"
#: config/tc-alpha.c:4497
msgid ".pdesc directive not in link (.link) section"
@@ -2418,7 +2955,7 @@ msgstr "la directiva .pdesc no tiene un símbolo de entrada"
#: config/tc-alpha.c:4515
msgid ".pdesc has a bad entry symbol"
-msgstr ".pdesc tiene un símbolo de entrada equivocado"
+msgstr ".pdesc tiene un símbolo de entrada incorrecto"
#: config/tc-alpha.c:4526
msgid ".pdesc doesn't match with last .ent"
@@ -2448,13 +2985,13 @@ msgstr "No hay un símbolo tras .linkage"
msgid "No symbol after .code_address"
msgstr "No hay un símbolo tras .code_address"
-#: config/tc-alpha.c:4771 config/tc-score.c:5604
+#: config/tc-alpha.c:4771 config/tc-score.c:5588
msgid "Bad .mask directive"
-msgstr "Directiva .mask equivocada"
+msgstr "Directiva .mask incorrecta"
#: config/tc-alpha.c:4789
msgid "Bad .fmask directive"
-msgstr "Directiva .fmask equivocada"
+msgstr "Directiva .fmask incorrecta"
#: config/tc-alpha.c:4946
#, c-format
@@ -2474,19 +3011,19 @@ msgstr "Intentó establecer .set al modo no reconocido «%s»"
#: config/tc-alpha.c:5017
#, c-format
msgid "Bad base register, using $%d."
-msgstr "Registro base equivocado, se usa $%d."
+msgstr "Registro base incorrecto, se usa $%d."
-#: config/tc-alpha.c:5038 config/tc-nios2.c:351 config/tc-nios2.c:476
+#: config/tc-alpha.c:5038
#, c-format
msgid "Alignment too large: %d. assumed"
msgstr "Alineación demasiado grande: %d asumido"
-#: config/tc-alpha.c:5042 config/tc-d30v.c:2057 config/tc-nios2.c:355
-#: config/tc-nios2.c:480 config/tc-pru.c:220 config/tc-pru.c:336
+#: config/tc-alpha.c:5042 config/tc-d30v.c:2034 config/tc-pru.c:220
+#: config/tc-pru.c:336
msgid "Alignment negative: 0 assumed"
msgstr "Alineación negativa: se asume 0"
-#: config/tc-alpha.c:5137 config/tc-alpha.c:5630
+#: config/tc-alpha.c:5137 config/tc-alpha.c:5628
#, c-format
msgid "Unknown CPU identifier `%s'"
msgstr "Desconoce identificador de CPU «%s»"
@@ -2498,26 +3035,35 @@ msgstr "Escoja el valor GP de %lx\n"
#: config/tc-alpha.c:5342
msgid "bad .section directive: want a,s,w,x,M,S,G,T in string"
-msgstr "directiva .section equivocada: se quiere a,s,w,x,M,S,G,T en la cadena"
-
-#: config/tc-alpha.c:5431
-#, c-format
-msgid "internal error: can't hash opcode `%s': %s"
-msgstr "error interno: no se puede dispersar el código operacional «%s»: %s"
-
-#: config/tc-alpha.c:5467
-#, c-format
-msgid "internal error: can't hash macro `%s': %s"
-msgstr "error interno: no se puede dispersar la macro «%s»: %s"
+msgstr "directiva .section incorrecta: se quiere a,s,w,x,M,S,G,T en la cadena"
+
+#: config/tc-alpha.c:5430 config/tc-alpha.c:5466 config/tc-arc.c:768
+#: config/tc-arc.c:2564 config/tc-arc.c:2596 config/tc-arc.c:2702
+#: config/tc-cr16.c:807 config/tc-cr16.c:826 config/tc-cris.c:1223
+#: config/tc-crx.c:510 config/tc-crx.c:532 config/tc-crx.c:543
+#: config/tc-dlx.c:289 config/tc-hppa.c:8252 config/tc-i386.c:3490
+#: config/tc-i386.c:3535 config/tc-ia64.c:5360 config/tc-ia64.c:7399
+#: config/tc-ia64.c:7458 config/tc-kvx.c:1478 config/tc-m68k.c:4556
+#: config/tc-m68k.c:4568 config/tc-mips.c:3709 config/tc-mips.c:3742
+#: config/tc-mips.c:3768 config/tc-nds32.c:3440 config/tc-ns32k.c:1906
+#: config/tc-ppc.c:1745 config/tc-ppc.c:1785 config/tc-pru.c:1576
+#: config/tc-pru.c:1580 config/tc-s390.c:611 config/tc-s390.c:649
+#: config/tc-sparc.c:961 config/tc-sparc.c:993 config/tc-tic30.c:121
+#: config/tc-tic30.c:131 config/tc-tic30.c:141 config/tc-tic30.c:151
+#: config/tc-tic4x.c:1219 config/tc-tilegx.c:316 config/tc-tilepro.c:252
+#: config/tc-vax.c:965 config/tc-vax.c:970 ecoff.c:1582
+#, fuzzy, c-format
+#| msgid "duplicated `%s'"
+msgid "duplicate %s"
+msgstr "duplicado «%s»"
-#: config/tc-alpha.c:5551 config/tc-arc.c:2459 config/tc-arc.c:2473
-#: config/tc-arm.c:7288 config/tc-arm.c:7300 config/tc-i960.c:706
-#: config/tc-xtensa.c:5432 config/tc-xtensa.c:5508 config/tc-xtensa.c:5625
-#: config/tc-z80.c:1935
+#: config/tc-alpha.c:5549 config/tc-arc.c:2532 config/tc-arc.c:2546
+#: config/tc-arm.c:888 config/tc-xtensa.c:5473 config/tc-xtensa.c:5549
+#: config/tc-xtensa.c:5666 config/tc-z80.c:3677
msgid "syntax error"
-msgstr "error sintáctico"
+msgstr "error de sintaxis"
-#: config/tc-alpha.c:5681
+#: config/tc-alpha.c:5679
msgid ""
"Alpha options:\n"
"-32addr\t\t\ttreat addresses as 32-bit values\n"
@@ -2535,7 +3081,7 @@ msgstr ""
"-m21064 | -m21066 | -m21164 | -m21164a | -m21164pc | -m21264 | -m21264a | -m21264b\n"
"\t\t\testas variantes incluyen códigos operacionales PALcode\n"
-#: config/tc-alpha.c:5691
+#: config/tc-alpha.c:5689
msgid ""
"VMS options:\n"
"-+\t\t\tencode (don't truncate) names longer than 64 characters\n"
@@ -2547,203 +3093,209 @@ msgstr ""
"-H\t\t\tmuestra el símbolo nuevo tras truncado por dispersión\n"
"-replace/-noreplace\tactiva o desactiva la optimización de llamadas a procedimiento\n"
-#: config/tc-alpha.c:5942 config/tc-arc.c:3086
+#: config/tc-alpha.c:5946 config/tc-arc.c:3145
#, c-format
msgid "unhandled relocation type %s"
msgstr "tipo reubicado %s sin manipular"
-#: config/tc-alpha.c:5955 config/tc-arc.c:3094
+#: config/tc-alpha.c:5959 config/tc-arc.c:3153
msgid "non-absolute expression in constant field"
msgstr "expresión no absoluta en campo constante"
-#: config/tc-alpha.c:5969
+#: config/tc-alpha.c:5973
#, c-format
msgid "type %d reloc done?\n"
msgstr "¿tipo %d de reubicación hecha?\n"
-#: config/tc-alpha.c:6016 config/tc-alpha.c:6023
+#: config/tc-alpha.c:6020 config/tc-alpha.c:6027
msgid "Used $at without \".set noat\""
msgstr "Se utilizó $at sin \".set noat\""
-#: config/tc-alpha.c:6192
+#: config/tc-alpha.c:6196
#, c-format
msgid "!samegp reloc against symbol without .prologue: %s"
msgstr "reubicación !samegp contra un símbolo sin .prologue: %s"
-#: config/tc-alpha.c:6236 config/tc-arc.c:3217 config/tc-tilegx.c:1751
-#: config/tc-tilepro.c:1531 config/tc-wasm32.c:813 config/tc-xtensa.c:6118
+#: config/tc-alpha.c:6240 config/tc-arc.c:3276 config/tc-csky.c:5668
+#: config/tc-tilegx.c:1745 config/tc-tilepro.c:1522 config/tc-wasm32.c:813
+#: config/tc-xtensa.c:6176
#, c-format
msgid "cannot represent `%s' relocation in object file"
msgstr "no se puede representar la reubicación «%s» en el fichero objeto"
-#: config/tc-alpha.c:6242 config/tc-arc.c:3223
+#: config/tc-alpha.c:6246 config/tc-arc.c:3282
#, c-format
msgid "internal error? cannot generate `%s' relocation"
msgstr "error interno? incapaz de generar «%s» reubicado"
-#: config/tc-alpha.c:6338
+#: config/tc-alpha.c:6342
#, c-format
msgid "frame reg expected, using $%d."
msgstr "se esperaba un registro de marco, se usa $%d."
-#: config/tc-arc.c:771
-#, c-format
-msgid "internal error: can't hash opcode '%s': %s"
-msgstr "error interno: no se puede dispersar el código operacional «%s»: %s"
-
-#: config/tc-arc.c:779 config/tc-arc.c:2556 config/tc-arc.c:2574
-#: config/tc-arc.c:2627 config/tc-arc.c:2651 config/tc-arc.c:4850
-#: config/tc-arc.c:4917 config/tc-cr16.c:805 config/tc-cr16.c:828
-#: config/tc-cris.c:1195 config/tc-crx.c:535 config/tc-crx.c:562
-#: config/tc-crx.c:580 config/tc-pdp11.c:193
-msgid "Virtual memory exhausted"
-msgstr "Memoria agotada"
-
-#: config/tc-arc.c:829
+#: config/tc-arc.c:831
#, c-format
msgid "invalid %s option for %s cpu"
msgstr "opción %s no válida para %s cpu"
-#: config/tc-arc.c:834
+#: config/tc-arc.c:836
msgid "conflicting ISA extension attributes."
msgstr "extensión ISA en conflicto de atributos."
-#: config/tc-arc.c:853
+#: config/tc-arc.c:856
msgid "Multiple .cpu directives found"
msgstr "Encontradas directivas .cpu múltiples"
-#: config/tc-arc.c:871
+#: config/tc-arc.c:874
msgid "Command-line value overrides \".cpu\" directive"
msgstr ""
-#: config/tc-arc.c:888
+#: config/tc-arc.c:890
#, c-format
msgid "unknown architecture: %s\n"
msgstr "desconoce arquitectura: %s\n"
-#: config/tc-arc.c:1187
+#: config/tc-arc.c:901 config/tc-ia64.c:7468 config/tc-tilegx.c:262
+msgid "Could not set architecture and machine"
+msgstr "No se pueden establecer la arquitectura y la máquina"
+
+#: config/tc-arc.c:1126
msgid "No valid label relocation operand"
msgstr "Operando etiquetado reubicado no válido"
-#: config/tc-arc.c:1209
+#: config/tc-arc.c:1150
#, c-format
msgid "Unknown relocation operand: @%s"
msgstr "Operando de reubicación desconocido: @%s"
-#: config/tc-arc.c:1222
+#: config/tc-arc.c:1163
#, c-format
msgid "Unable to parse TLS base: %s"
msgstr "Imposible interpretar base TLS: %s"
-#: config/tc-arc.c:1246
+#: config/tc-arc.c:1186
#, c-format
msgid "@%s is not a complex relocation."
msgstr "@%s no es una reubicación compleja."
-#: config/tc-arc.c:1252
+#: config/tc-arc.c:1193
#, c-format
msgid "Bad expression: @%s + %s."
-msgstr "Expresión equivocada: @%s + %s."
+msgstr "Expresión incorrecta: @%s + %s."
-#: config/tc-arc.c:1313
+#: config/tc-arc.c:1343
msgid "Brackets in operand field incorrect"
msgstr "Corchetes en campo operativo incorrecto"
-#: config/tc-arc.c:1315 config/tc-xtensa.c:2038
+#: config/tc-arc.c:1345 config/tc-xtensa.c:2072
msgid "extra comma"
msgstr "coma extra"
-#: config/tc-arc.c:1317 config/tc-pru.c:1443 config/tc-pru.c:1710
-#: config/tc-xtensa.c:2042
+#: config/tc-arc.c:1347 config/tc-pru.c:1457 config/tc-pru.c:1705
+#: config/tc-xtensa.c:2076
msgid "missing argument"
msgstr "ausente el argumento"
-#: config/tc-arc.c:1319 config/tc-xtensa.c:2044
+#: config/tc-arc.c:1349 config/tc-xtensa.c:2078
msgid "missing comma or colon"
msgstr "ausentea coma o punto y coma"
-#: config/tc-arc.c:1388
+#: config/tc-arc.c:1418
msgid "extra dot"
msgstr "punto adicional"
-#: config/tc-arc.c:1390
+#: config/tc-arc.c:1420
msgid "unrecognized flag"
msgstr "marca no reconocida"
-#: config/tc-arc.c:1392
+#: config/tc-arc.c:1422
msgid "failed to parse flags"
msgstr "fallaba interpretar marcas"
-#: config/tc-arc.c:1418
+#: config/tc-arc.c:1448
msgid "Unhandled reloc type"
msgstr "Tipo reubicado no manipulado"
-#: config/tc-arc.c:2427
+#: config/tc-arc.c:1967
+#, fuzzy
+#| msgid "immediate out of range"
+msgid "immediate is out of bounds"
+msgstr "inmediato fuera de rango"
+
+#: config/tc-arc.c:1975
+#, fuzzy
+#| msgid "immediate offset not 2-byte-aligned"
+msgid "immediate is not 32bit aligned"
+msgstr "el desplazamiento inmediato no está alineado a 2 bytes"
+
+#: config/tc-arc.c:1982
+#, fuzzy
+#| msgid "immediate offset not 2-byte-aligned"
+msgid "immediate is not 16bit aligned"
+msgstr "el desplazamiento inmediato no está alineado a 2 bytes"
+
+#: config/tc-arc.c:2063
+#, fuzzy
+#| msgid "operand is not an absolute constant"
+msgid "operand is not duplicate of the previous one"
+msgstr "operando no es una constante absoluta"
+
+#: config/tc-arc.c:2083
+#, fuzzy
+#| msgid "Operand mismatch"
+msgid "flag mismatch"
+msgstr "No coinciden los operandos"
+
+#: config/tc-arc.c:2095 config/tc-pru.c:1413 config/tc-pru.c:1438
+#: config/tc-xtensa.c:2142
+msgid "too many arguments"
+msgstr "demasiados argumentos"
+
+#: config/tc-arc.c:2500
#, c-format
msgid "%s for instruction '%s'"
msgstr "%s para instrucción «%s»"
-#: config/tc-arc.c:2429
+#: config/tc-arc.c:2502
#, c-format
msgid "inappropriate arguments for opcode '%s'"
msgstr "argumentos inapropiados para código operacional «%s»"
-#: config/tc-arc.c:2431
+#: config/tc-arc.c:2504
#, c-format
msgid "opcode '%s' not supported for target %s"
msgstr "no se admite el código operacional «%s» para el destino %s"
-#: config/tc-arc.c:2435 config/tc-tic6x.c:3195
+#: config/tc-arc.c:2508 config/tc-tic6x.c:3188
#, c-format
msgid "unknown opcode '%s'"
msgstr "desconoce código operacional «%s»"
-#: config/tc-arc.c:2493
-#, c-format
-msgid "Inserting \"%s\" into register table failed: %s"
-msgstr "Insertando «%s» dentro de tabla de registro fallada: %s"
-
-#: config/tc-arc.c:2529
-#, c-format
-msgid "Inserting \"%s\" into address type table failed: %s"
-msgstr "Insertando «%s» dentro de distribución de tipo direccional fallada: %s"
-
-#: config/tc-arc.c:2548 config/tc-arc.c:5015 config/tc-h8300.c:81
-#: config/tc-h8300.c:90 config/tc-h8300.c:100 config/tc-h8300.c:110
-#: config/tc-h8300.c:120 config/tc-h8300.c:131 config/tc-h8300.c:248
-#: config/tc-hppa.c:6821 config/tc-hppa.c:6827 config/tc-hppa.c:6833
-#: config/tc-hppa.c:6839 config/tc-hppa.c:8228 config/tc-lm32.c:197
-#: config/tc-mips.c:3588 config/tc-mips.c:4097 config/tc-mn10300.c:935
-#: config/tc-mn10300.c:940 config/tc-mn10300.c:2440 config/tc-xc16x.c:79
-#: config/tc-xc16x.c:86 config/tc-xc16x.c:93
+#: config/tc-arc.c:2614 config/tc-arc.c:5093 config/tc-h8300.c:78
+#: config/tc-h8300.c:87 config/tc-h8300.c:97 config/tc-h8300.c:107
+#: config/tc-h8300.c:117 config/tc-h8300.c:128 config/tc-h8300.c:243
+#: config/tc-hppa.c:6826 config/tc-hppa.c:6832 config/tc-hppa.c:6838
+#: config/tc-hppa.c:6844 config/tc-hppa.c:8231 config/tc-kvx.c:1438
+#: config/tc-lm32.c:197 config/tc-mips.c:3699 config/tc-mips.c:4193
+#: config/tc-mn10300.c:935 config/tc-mn10300.c:940 config/tc-mn10300.c:2438
+#: config/tc-riscv.c:1897 config/tc-riscv.c:5716
msgid "could not set architecture and machine"
msgstr "no se pueden establecer la arquitectura y la máquina"
-#: config/tc-arc.c:2644 config/tc-arc.c:4837
-#, c-format
-msgid "internal error: can't hash aux register '%s': %s"
-msgstr "error interno: no se puede dispersar registro aux «%s»: %s"
-
-#: config/tc-arc.c:2751
+#: config/tc-arc.c:2815
#, c-format
msgid "unhandled reloc %s in md_pcrel_from_section"
msgstr "compostura de reubicación %s en md_pcrel_from_section"
-#: config/tc-arc.c:2816
+#: config/tc-arc.c:2880
msgid "Unaligned operand. Needs to be 32bit aligned"
msgstr "Operando no alineado. Requiere ser alineado a 32bit"
-#: config/tc-arc.c:2821
+#: config/tc-arc.c:2885
msgid "Unaligned operand. Needs to be 16bit aligned"
msgstr "Operando no alineado. Requiere ser alineado a 16-bit"
-#: config/tc-arc.c:2898 config/tc-cr16.c:573 config/tc-crx.c:345
-#: config/tc-mn10200.c:766 write.c:1024
-#, c-format
-msgid "can't resolve `%s' {%s section} - `%s' {%s section}"
-msgstr "no se puede resolver «%s» {sección %s} - «%s» {sección %s}"
-
-#: config/tc-arc.c:2957
+#: config/tc-arc.c:3016
#, c-format
msgid "PC relative relocation not allowed for (internal) type %d"
msgstr "PC relativo reubicadado no asumido para tipo (interno) %d"
@@ -2752,44 +3304,44 @@ msgstr "PC relativo reubicadado no asumido para tipo (interno) %d"
#. the insn.
#. FIXME! Check for the conditionality of
#. the insn.
-#: config/tc-arc.c:3002 config/tc-arc.c:3980
+#: config/tc-arc.c:3061 config/tc-arc.c:4042
msgid "TLS_*_S9 relocs are not supported yet"
msgstr "TLS_*_S9 como reubicaciones no son aún admitidas"
#. I cannot fix an GOTPC relocation because I need to relax it
#. from ld rx,[pcl,@sym@gotpc] to add rx,pcl,@sym@gotpc.
-#: config/tc-arc.c:3038
+#: config/tc-arc.c:3097
msgid "Unsupported operation on reloc"
msgstr "Operación no soportado en reubicación"
-#: config/tc-arc.c:3114 config/tc-arc.c:3130
+#: config/tc-arc.c:3173 config/tc-arc.c:3189
msgid "unknown fixup size"
msgstr "desconoce tamaño arreglado"
-#: config/tc-arc.c:3264
+#: config/tc-arc.c:3323
msgid "no relaxation found for this instruction."
msgstr "ninguna relajación encontrada para esta instrucción."
-#: config/tc-arc.c:3514
+#: config/tc-arc.c:3576
#, c-format
msgid "ARC-specific assembler options:\n"
msgstr ""
"Opciones ensambladoras específicas ARC:\n"
"\n"
-#: config/tc-arc.c:3540
+#: config/tc-arc.c:3602
#, c-format
msgid " -mrelax enable relaxation\n"
msgstr " -mrelax activa relajación\n"
-#: config/tc-arc.c:3543
+#: config/tc-arc.c:3605
#, c-format
msgid ""
"The following ARC-specific assembler options are deprecated and are accepted\n"
"for compatibility only:\n"
msgstr ""
-#: config/tc-arc.c:3546
+#: config/tc-arc.c:3608
#, c-format
msgid ""
" -mEA\n"
@@ -2844,927 +3396,1180 @@ msgstr ""
" -muser-mode-only\n"
" -mxy\n"
-#: config/tc-arc.c:3636
+#: config/tc-arc.c:3698
#, c-format
msgid "Unable to find %s relocation for instruction %s"
msgstr "Incapaz encontrar %s reubicacion para instrucción %s"
-#: config/tc-arc.c:3931
+#: config/tc-arc.c:3993
#, c-format
msgid "Unable to use @plt relocation for insn %s"
msgstr "Incapaz de utilizar @plt para reubicación para insn %s"
-#: config/tc-arc.c:3950
+#: config/tc-arc.c:4012
#, c-format
msgid "Unable to use @pcl relocation for insn %s"
msgstr "Incapaz de emplear reubicación @pcl para insn %s"
-#: config/tc-arc.c:4006
+#: config/tc-arc.c:4068
#, c-format
msgid "invalid relocation %s for field"
msgstr "reubicación no válida %s para campo"
-#: config/tc-arc.c:4117
+#: config/tc-arc.c:4178
#, c-format
msgid "Insn %s has a jump/branch instruction %s in its delay slot."
msgstr "Insn %s tiene una instrucción omitida/rama %s dentro de su ranura de retardo."
-#: config/tc-arc.c:4122
+#: config/tc-arc.c:4183
#, c-format
msgid "Insn %s has an instruction %s with limm in its delay slot."
msgstr "Insn %s tiene una instrucción %s con limm en ranura de retardo."
-#: config/tc-arc.c:4232 config/tc-microblaze.c:2531 config/tc-mn10300.c:1069
-#: config/tc-sh.c:801 config/tc-z80.c:700 read.c:4600
+#: config/tc-arc.c:4293 config/tc-microblaze.c:2628 config/tc-mn10300.c:1069
+#: config/tc-sh.c:418 config/tc-z80.c:1120 read.c:4837
#, c-format
msgid "unsupported BFD relocation size %u"
msgstr "no se admite el tamaño de reubicación BFD %u"
-#: config/tc-arc.c:4252
+#: config/tc-arc.c:4313
#, c-format
msgid "Jump/Branch instruction detected at the end of the ZOL label @%s"
msgstr "Omisión/Rama de instrucción detectada al final de la etiqueta ZOL @%s"
-#: config/tc-arc.c:4259
+#: config/tc-arc.c:4320
#, c-format
msgid "Kernel instruction detected at the end of the ZOL label @%s"
msgstr "Instrucción núcleo detectada el final de la etiqueta ZOL @%s"
-#: config/tc-arc.c:4264
+#: config/tc-arc.c:4325
#, c-format
msgid "A jump instruction with long immediate detected at the end of the ZOL label @%s"
msgstr "Una instrucción omitida con longitud inmediata detectada al final de la etiqueta ZOL @%s"
-#: config/tc-arc.c:4270
+#: config/tc-arc.c:4331
#, c-format
msgid "An illegal use of delay slot detected at the end of the ZOL label @%s"
msgstr ""
-#: config/tc-arc.c:4375
+#: config/tc-arc.c:4440
msgid "expected comma after instruction name"
msgstr "esperaba coma después del nombre de instrucción"
-#: config/tc-arc.c:4387
+#: config/tc-arc.c:4452
msgid "expected comma after major opcode"
msgstr "esperaba coma tras operación de código mayor"
-#: config/tc-arc.c:4573
+#: config/tc-arc.c:4637
#, c-format
msgid "Pseudocode already used %s"
msgstr "Pseudocódigo ya utilizado %s"
-#: config/tc-arc.c:4581
+#: config/tc-arc.c:4645
#, c-format
msgid "major opcode not in range [0x%02x - 0x%02x]"
msgstr ""
-#: config/tc-arc.c:4585
+#: config/tc-arc.c:4649
msgid "minor opcode not in range [0x00 - 0x3f]"
msgstr "código operacional menor no dentro del rango [0x00 - 0x3f]"
-#: config/tc-arc.c:4591
+#: config/tc-arc.c:4655
msgid "Improper use of OP1_IMM_IMPLIED"
msgstr "Utilización impropia de OP1_IMM_IMPLIED"
-#: config/tc-arc.c:4597
+#: config/tc-arc.c:4661
msgid "Improper use of OP1_MUST_BE_IMM"
msgstr "Utilización impropia de OP1_MUST_BE_IMM"
-#: config/tc-arc.c:4609
+#: config/tc-arc.c:4673
msgid "Couldn't generate extension instruction opcodes"
msgstr "No pudo generar instrucciones extensas de códigos de operación"
-#: config/tc-arc.c:4645
+#: config/tc-arc.c:4708
msgid "expected comma after name"
msgstr "esperaba una coma tras el nombre"
-#: config/tc-arc.c:4656
+#: config/tc-arc.c:4719
#, c-format
msgid "%s second argument cannot be a negative number %d"
msgstr "segundo argumento %s no puede ser un número %d negativo"
-#: config/tc-arc.c:4671
+#: config/tc-arc.c:4734
msgid "expected comma after register number"
msgstr "esperaba coma tras número del registro"
-#: config/tc-arc.c:4692
+#: config/tc-arc.c:4755
msgid "invalid mode"
msgstr "modo inválido"
-#: config/tc-arc.c:4710
+#: config/tc-arc.c:4773
msgid "expected comma after register mode"
msgstr "esperaba coma tras modo registro"
-#: config/tc-arc.c:4725
+#: config/tc-arc.c:4788
msgid "shortcut designator invalid"
msgstr "designador de atajo inválido"
-#: config/tc-arc.c:4824
+#: config/tc-arc.c:4886
#, c-format
msgid "core register %s value (%d) too large"
msgstr "registro %s core con valor (%d) es demasiado grande"
-#: config/tc-arc.c:4843
+#: config/tc-arc.c:4898
+#, fuzzy, c-format
+#| msgid "duplicate macro %s"
+msgid "duplicate aux register %s"
+msgstr "macro duplicado %s"
+
+#: config/tc-arc.c:4903
#, c-format
msgid "condition code %s value (%d) too large"
msgstr "código %s condicional con valor (%d) es demasiado grande"
-#: config/tc-arc.c:4862
+#: config/tc-arc.c:4920
msgid "Unknown extension"
msgstr "Desconoce extensión"
-#: config/tc-arc.c:4967
+#: config/tc-arc.c:5027
msgid "Overwrite explicitly set Tag_ARC_CPU_base"
msgstr ""
-#: config/tc-arm.c:619
+#: config/tc-arc.c:5077
+msgid "Overwrite explicitly set Tag_ARC_ABI_rf16 to full register file"
+msgstr ""
+
+#: config/tc-arm.c:702
msgid "ARM register expected"
msgstr "ARM como registro esperado"
-#: config/tc-arm.c:620
+#: config/tc-arm.c:703
msgid "bad or missing co-processor number"
-msgstr "número de co-procesador equivocado o ausentente"
+msgstr "número de co-procesador incorrecto o ausentente"
-#: config/tc-arm.c:621
+#: config/tc-arm.c:704
msgid "co-processor register expected"
msgstr "se esperaba un registro de co-procesador"
-#: config/tc-arm.c:622
-msgid "FPA register expected"
-msgstr "FPA como registros esperado"
-
-#: config/tc-arm.c:623
+#: config/tc-arm.c:705
msgid "VFP single precision register expected"
msgstr "Se esperaba un registro de precisión simple VFP"
-#: config/tc-arm.c:624
+#: config/tc-arm.c:706
msgid "VFP/Neon double precision register expected"
msgstr "Se esperaba un registro de precisión doble VFP/Neon"
-#: config/tc-arm.c:625
+#: config/tc-arm.c:707
msgid "Neon quad precision register expected"
msgstr "Se esperaba un registro de precisión cuádruple Neon"
-#: config/tc-arm.c:626
+#: config/tc-arm.c:708
msgid "VFP single or double precision register expected"
msgstr "Se esperaba un registro de precisión simple o doble VFP"
-#: config/tc-arm.c:627
+#: config/tc-arm.c:709
msgid "Neon double or quad precision register expected"
msgstr "Se esperaba un registro de precisión doble o cuádruple Neon"
-#: config/tc-arm.c:628
+#: config/tc-arm.c:710
msgid "Neon single or double precision register expected"
msgstr "Se esperaba un registro de precisión simple o doble Neon"
-#: config/tc-arm.c:629
+#: config/tc-arm.c:711
msgid "VFP single, double or Neon quad precision register expected"
msgstr "Se esperaba un registro de precisión simple o doble VFP, o cuádruple Neon"
-#: config/tc-arm.c:631
+#: config/tc-arm.c:713
msgid "VFP system register expected"
msgstr "VFP como registro esperado"
-#: config/tc-arm.c:632
-msgid "Maverick MVF register expected"
-msgstr "Maverick MVF como registro esperado"
-
-#: config/tc-arm.c:633
-msgid "Maverick MVD register expected"
-msgstr "Maverick MVD como registro esperado"
-
-#: config/tc-arm.c:634
-msgid "Maverick MVFX register expected"
-msgstr "Maverick MVFX como registro esperado"
-
-#: config/tc-arm.c:635
-msgid "Maverick MVDX register expected"
-msgstr "Maverick MVDX como registro esperado"
-
-#: config/tc-arm.c:636
-msgid "Maverick MVAX register expected"
-msgstr "Maverick MVAX como registro esperado"
-
-#: config/tc-arm.c:637
-msgid "Maverick DSPSC register expected"
-msgstr "Maverick DSPSC como registro esperado"
-
-#: config/tc-arm.c:638
+#: config/tc-arm.c:714
msgid "iWMMXt data register expected"
msgstr "se esperaba un registro de datos iWMMXt"
-#: config/tc-arm.c:639 config/tc-arm.c:7061
+#: config/tc-arm.c:715 config/tc-arm.c:7745
msgid "iWMMXt control register expected"
msgstr "se esperaba un registro de control iWMMXt"
-#: config/tc-arm.c:640
+#: config/tc-arm.c:716
msgid "iWMMXt scalar register expected"
msgstr "se esperaba un registro escalar iWMMXt"
-#: config/tc-arm.c:641
+#: config/tc-arm.c:717
msgid "XScale accumulator register expected"
msgstr "XScale como registro acumulado esperado"
+#: config/tc-arm.c:718
+#, fuzzy
+#| msgid "SVE vector register expected"
+msgid "MVE vector register expected"
+msgstr "SVE como vector esperaba registro"
+
+#: config/tc-arm.c:720
+#, fuzzy
+#| msgid "ARM register expected"
+msgid "ZR register expected"
+msgstr "ARM como registro esperado"
+
+#: config/tc-arm.c:721
+#, fuzzy
+#| msgid "base register expected"
+msgid "Pseudo register expected"
+msgstr "se esperaba un registro base"
+
#. For score5u : div/mul will pop warning message, mmu/alw/asw will pop error message.
-#: config/tc-arm.c:803 config/tc-score.c:259
+#: config/tc-arm.c:889 config/tc-score.c:255
msgid "bad arguments to instruction"
-msgstr "argumentos equivocados para la instrucción"
+msgstr "argumentos incorrectos para la instrucción"
-#: config/tc-arm.c:804
+#: config/tc-arm.c:890
msgid "r13 not allowed here"
msgstr "no se permite r13 aquí"
-#: config/tc-arm.c:805
+#: config/tc-arm.c:891
msgid "r15 not allowed here"
msgstr "no se permite r15 aquí"
-#: config/tc-arm.c:806
+#: config/tc-arm.c:892
+#, fuzzy
+#| msgid "odd register cannot be used here"
+msgid "Odd register not allowed here"
+msgstr "no se puede usar aquí un registro impar"
+
+#: config/tc-arm.c:893
+#, fuzzy
+#| msgid "r13 not allowed here"
+msgid "Even register not allowed here"
+msgstr "no se permite r13 aquí"
+
+#: config/tc-arm.c:894
msgid "instruction cannot be conditional"
msgstr "la instrucción no puede ser condicional"
-#: config/tc-arm.c:807
+#: config/tc-arm.c:895
msgid "registers may not be the same"
msgstr "los registros quizá no son el mismo"
-#: config/tc-arm.c:808
+#: config/tc-arm.c:896
msgid "lo register required"
msgstr "se requiere el registro lo"
-#: config/tc-arm.c:809
+#: config/tc-arm.c:897
msgid "instruction not supported in Thumb16 mode"
msgstr "la instrucción no se admite en modo Thumb16"
-#: config/tc-arm.c:810
+#: config/tc-arm.c:898
msgid "instruction does not accept this addressing mode"
msgstr "la instrucción no acepta este modo de direccionamiento"
-#: config/tc-arm.c:811
+#: config/tc-arm.c:899
msgid "branch must be last instruction in IT block"
msgstr "branch debe ser la última instrucción en el bloque IT"
-#: config/tc-arm.c:812
+#: config/tc-arm.c:900
+#, fuzzy
+#| msgid "must branch to an address a multiple of 4"
+msgid "branch out of range or not a multiple of 2"
+msgstr "se debe ramificar a una dirección que sea múltiplo de 4"
+
+#: config/tc-arm.c:901
+#, fuzzy
+#| msgid "instruction not allowed in IT block"
+msgid "instruction not allowed in VPT block"
+msgstr "no se permite la instrucción en el bloque IT"
+
+#: config/tc-arm.c:902
msgid "instruction not allowed in IT block"
msgstr "no se permite la instrucción en el bloque IT"
-#: config/tc-arm.c:813
+#: config/tc-arm.c:903
+#, fuzzy
+#| msgid "No instruction or missing opcode."
+msgid "instruction missing MVE vector predication code"
+msgstr "No hay instrucción o ausente el código operacional."
+
+#: config/tc-arm.c:904
msgid "selected FPU does not support instruction"
msgstr "la FPU seleccionada no admite la instrucción"
-#: config/tc-arm.c:814
+#: config/tc-arm.c:905
msgid "thumb conditional instruction should be in IT block"
msgstr "instrucción condicional pulgar debería estar en el bloque IT"
-#: config/tc-arm.c:815
+#: config/tc-arm.c:907
+#, fuzzy
+#| msgid "thumb conditional instruction should be in IT block"
+msgid "vector predicated instruction should be in VPT/VPST block"
+msgstr "instrucción condicional pulgar debería estar en el bloque IT"
+
+#: config/tc-arm.c:908
msgid "incorrect condition in IT block"
msgstr "condición incorrecta en el bloque IT"
-#: config/tc-arm.c:816
+#: config/tc-arm.c:909
+#, fuzzy
+#| msgid "incorrect condition in IT block"
+msgid "incorrect condition in VPT/VPST block"
+msgstr "condición incorrecta en el bloque IT"
+
+#: config/tc-arm.c:910
msgid "IT falling in the range of a previous IT block"
msgstr "IT cayendo dentro de límite de un bloque IT anterior"
-#: config/tc-arm.c:817
+#: config/tc-arm.c:911
msgid "missing .fnstart before unwinding directive"
msgstr "ausente .fnstart antes de directiva unwinding"
-#: config/tc-arm.c:819
+#: config/tc-arm.c:913
msgid "cannot use register index with PC-relative addressing"
msgstr "no se puede usar el índice de registro con direccionamiento relativo al PC"
-#: config/tc-arm.c:821
+#: config/tc-arm.c:915
msgid "cannot use writeback with PC-relative addressing"
msgstr "no se puede usar retroescritura con el direccionamiento relativo al PC"
-#: config/tc-arm.c:823
+#: config/tc-arm.c:917
msgid "selected processor does not support fp16 instruction"
msgstr "procesador seleccionado no admite instrucción fp16"
-#: config/tc-arm.c:824
+#: config/tc-arm.c:918
+#, fuzzy
+#| msgid "selected processor does not support fp16 instruction"
+msgid "selected processor does not support bf16 instruction"
+msgstr "procesador seleccionado no admite instrucción fp16"
+
+#: config/tc-arm.c:919
+#, fuzzy
+#| msgid "selected processor does not support fp16 instruction"
+msgid "selected processor does not support cde instruction"
+msgstr "procesador seleccionado no admite instrucción fp16"
+
+#: config/tc-arm.c:920
+msgid "coprocessor for insn is not enabled for cde"
+msgstr ""
+
+#: config/tc-arm.c:921
msgid "using "
msgstr "empleando "
-#: config/tc-arm.c:825
+#: config/tc-arm.c:922
msgid "relocation valid in thumb1 code only"
msgstr "validación de reubicación en código thumb1 único"
-#: config/tc-arm.c:1032
+#: config/tc-arm.c:923
+msgid "Warning: instruction is UNPREDICTABLE in an IT block"
+msgstr ""
+
+#: config/tc-arm.c:925
+msgid "Warning: instruction is UNPREDICTABLE in a VPT block"
+msgstr ""
+
+#: config/tc-arm.c:927
+msgid "Warning: instruction is UNPREDICTABLE with PC operand"
+msgstr ""
+
+#: config/tc-arm.c:929
+msgid "Warning: instruction is UNPREDICTABLE with SP operand"
+msgstr ""
+
+#: config/tc-arm.c:931
+#, fuzzy
+#| msgid "bad type in Neon instruction"
+msgid "bad type in SIMD instruction"
+msgstr "equivocación de tipo en instrucción Neon"
+
+#: config/tc-arm.c:933
+msgid "GAS auto-detection mode and -march=all is deprecated for MVE, please use a valid -march or -mcpu option."
+msgstr ""
+
+#: config/tc-arm.c:935
+msgid "Warning: 32-bit element size and same destination and source operands makes instruction UNPREDICTABLE"
+msgstr ""
+
+#: config/tc-arm.c:937
+msgid "bad element type for instruction"
+msgstr "tipo elemental incorrecto para instrucción"
+
+#: config/tc-arm.c:938
+#, fuzzy
+#| msgid "SVE vector register expected"
+msgid "MVE vector register Q[0..7] expected"
+msgstr "SVE como vector esperaba registro"
+
+#: config/tc-arm.c:939
+#, fuzzy
+#| msgid "selected processor does not support DSP extension"
+msgid "selected processor does not support PACBTI extention"
+msgstr "procesador seleccionado no admite la extensión DSP"
+
+#: config/tc-arm.c:1159
msgid "immediate expression requires a # prefix"
msgstr "expresión inmediata requiere un # prefijado"
-#: config/tc-arm.c:1061 read.c:3816
+#: config/tc-arm.c:1188 read.c:4077
msgid "missing expression"
msgstr "ausentea expresión"
-#: config/tc-arm.c:1091 config/tc-arm.c:5260 config/tc-i960.c:1298
-#: config/tc-score.c:1210
+#: config/tc-arm.c:1202 config/tc-arm.c:5590 config/tc-score.c:1205
msgid "invalid constant"
msgstr "constante no válida"
-#: config/tc-arm.c:1223
+#: config/tc-arm.c:1337
msgid "expected #constant"
msgstr "se esperaba #constant"
-#: config/tc-arm.c:1387
+#: config/tc-arm.c:1509 config/tc-arm.c:1540
#, c-format
-msgid "unexpected character `%c' in type specifier"
-msgstr "carácter inesperado `%c' en el especificador de tipo"
+msgid "bad size %d in type specifier"
+msgstr "tamaño incorrecto %d en el especificador de tipo"
-#: config/tc-arm.c:1404
+#: config/tc-arm.c:1516
+#, fuzzy
+#| msgid "unexpected character `%c' in element size"
+msgid "unexpected type character `b' -- did you mean `bf'?"
+msgstr "carácter inesperado `%c' dentro del tamaño elemental"
+
+#: config/tc-arm.c:1523
#, c-format
-msgid "bad size %d in type specifier"
-msgstr "tamaño equivocado %d en el especificador de tipo"
+msgid "unexpected character `%c' in type specifier"
+msgstr "carácter inesperado `%c' en el especificador de tipo"
-#: config/tc-arm.c:1454
+#: config/tc-arm.c:1590
msgid "only one type should be specified for operand"
-msgstr "sólo se debe especificar un tipo para operando"
+msgstr "solo se debe especificar un tipo para operando"
-#: config/tc-arm.c:1460
+#: config/tc-arm.c:1596
msgid "vector type expected"
msgstr "se esperaba un tipo vector"
-#: config/tc-arm.c:1534
+#: config/tc-arm.c:1705
+#, fuzzy
+#| msgid "expected EP register"
+msgid "expected MVE register [q0..q7]"
+msgstr "se esperaba el registro EP"
+
+#: config/tc-arm.c:1725
msgid "can't redefine type for operand"
msgstr "no se puede redefinir el tipo para operando"
-#: config/tc-arm.c:1547
+#: config/tc-arm.c:1741
+#, fuzzy
+#| msgid "only D registers may be indexed"
+msgid "only D and Q registers may be indexed"
+msgstr "solo se pueden indizar los registros D"
+
+#: config/tc-arm.c:1743
msgid "only D registers may be indexed"
-msgstr "sólo se pueden indizar los registros D"
+msgstr "solo se pueden indizar los registros D"
-#: config/tc-arm.c:1553
+#: config/tc-arm.c:1749
msgid "can't change index for operand"
-msgstr "no se puede modificar el índice para operando"
+msgstr "no se puede modificar el índice para el operando"
-#: config/tc-arm.c:1616
+#: config/tc-arm.c:1812
msgid "register operand expected, but got scalar"
msgstr "se esperaba un operando de registro, pero se recibió un escalar"
-#: config/tc-arm.c:1653
+#: config/tc-arm.c:1863
msgid "scalar must have an index"
msgstr "el escalar debe tener un índice"
-#: config/tc-arm.c:1658 config/tc-arm.c:16583 config/tc-arm.c:16643
-#: config/tc-arm.c:17097
+#: config/tc-arm.c:1868 config/tc-arm.c:20038 config/tc-arm.c:20121
+#: config/tc-arm.c:20794
msgid "scalar index out of range"
-msgstr "índice escalar fuera de límite"
+msgstr "índice escalar fuera de rango"
-#: config/tc-arm.c:1708
+#: config/tc-arm.c:1947
+#, fuzzy
+#| msgid "'APSR', 'CPSR' or 'SPSR' expected"
+msgid "r0-r12, lr or APSR expected"
+msgstr "'APSR', 'CPSR' o 'SPSR' esperado"
+
+#: config/tc-arm.c:1974 config/tc-arm.c:4376
msgid "bad range in register list"
-msgstr "límite equivocado en la lista de registros"
+msgstr "límite incorrecto en la lista de registros"
-#: config/tc-arm.c:1716 config/tc-arm.c:1725 config/tc-arm.c:1766
+#: config/tc-arm.c:1982 config/tc-arm.c:1991 config/tc-arm.c:2032
+#: config/tc-arm.c:4360 config/tc-arm.c:4380
#, c-format
msgid "Warning: duplicated register (r%d) in register list"
msgstr "Aviso: registro duplicado (r%d) en la lista de registros"
-#: config/tc-arm.c:1728
+#: config/tc-arm.c:1994
msgid "Warning: register range not in ascending order"
msgstr "Aviso: el límite de registros no está en orden ascendente"
-#: config/tc-arm.c:1739
+#: config/tc-arm.c:2005
msgid "missing `}'"
msgstr "ausente `}'"
-#: config/tc-arm.c:1755
+#: config/tc-arm.c:2021
msgid "invalid register mask"
msgstr "máscara de registro no válida"
-#: config/tc-arm.c:1890 config/tc-arm.c:1934
+#: config/tc-arm.c:2098
+msgid "expecting {"
+msgstr "esperando {"
+
+#: config/tc-arm.c:2165 config/tc-arm.c:2273
+#, fuzzy
+#| msgid "expected }"
+msgid "VPR expected last"
+msgstr "se esperaba }"
+
+#: config/tc-arm.c:2171
+#, fuzzy
+#| msgid "VFP single precision register expected"
+msgid "VFP single precision register or VPR expected"
+msgstr "Se esperaba un registro de precisión simple VFP"
+
+#. regtype == REG_TYPE_VFD.
+#: config/tc-arm.c:2174
+#, fuzzy
+#| msgid "VFP/Neon double precision register expected"
+msgid "VFP/Neon double precision register or VPR expected"
+msgstr "Se esperaba un registro de precisión doble VFP/Neon"
+
+#: config/tc-arm.c:2191 config/tc-arm.c:2235
msgid "register out of range in list"
-msgstr "registro fuera de límite en la lista"
+msgstr "registro fuera de rango en la lista"
-#: config/tc-arm.c:1912 config/tc-arm.c:4197 config/tc-arm.c:4331
+#: config/tc-arm.c:2213 config/tc-arm.c:4526 config/tc-arm.c:4660
msgid "register list not in ascending order"
msgstr "la lista de registros no está en orden ascendente"
-#: config/tc-arm.c:1943
+#: config/tc-arm.c:2244
msgid "register range not in ascending order"
msgstr "el límite de registros no está en orden ascendente"
-#: config/tc-arm.c:1976
+#: config/tc-arm.c:2283
msgid "non-contiguous register range"
msgstr "el límite de registros no es contiguo"
-#: config/tc-arm.c:2035
+#: config/tc-arm.c:2343
+#, fuzzy
+#| msgid "register stride must be 1 or 2"
+msgid "register stride must be 1"
+msgstr "el registro estribo debe ser 1 o 2"
+
+#: config/tc-arm.c:2344
msgid "register stride must be 1 or 2"
msgstr "el registro estribo debe ser 1 o 2"
-#: config/tc-arm.c:2036
+#: config/tc-arm.c:2345
msgid "mismatched element/structure types in list"
msgstr "los tipos de elementos/estructura no coinciden en la lista"
-#: config/tc-arm.c:2104
+#: config/tc-arm.c:2415
msgid "don't use Rn-Rm syntax with non-unit stride"
msgstr "no use la sintaxis Rn-Rm sin un estribo que no sea unidad"
-#: config/tc-arm.c:2159
+#: config/tc-arm.c:2470
msgid "error parsing element/structure list"
msgstr "error al decodificar la lista de elementos/estructura"
-#: config/tc-arm.c:2165
+#: config/tc-arm.c:2476
msgid "expected }"
msgstr "se esperaba }"
-#: config/tc-arm.c:2256
+#: config/tc-arm.c:2566
msgid "attempt to redefine typed alias"
msgstr "se intentó redefinir el alias con tipo"
-#: config/tc-arm.c:2391
+#: config/tc-arm.c:2701
msgid "bad type for register"
-msgstr "tipo equivocado para el registro"
+msgstr "tipo incorrecto para el registro"
-#: config/tc-arm.c:2402 config/tc-nios2.c:1804
+#: config/tc-arm.c:2712
msgid "expression must be constant"
msgstr "la expresión debe ser constante"
-#: config/tc-arm.c:2419
+#: config/tc-arm.c:2729
msgid "can't redefine the type of a register alias"
msgstr "no se redefinir el tipo de un alias de registro"
-#: config/tc-arm.c:2426
+#: config/tc-arm.c:2736
msgid "you must specify a single type only"
-msgstr "sólo debe especificar un tipo único"
+msgstr "solo debe especificar un tipo único"
-#: config/tc-arm.c:2439
+#: config/tc-arm.c:2749
msgid "can't redefine the index of a scalar alias"
msgstr "no se puede redefinir el índice de un alias escalar"
-#: config/tc-arm.c:2447
+#: config/tc-arm.c:2757
msgid "scalar index must be constant"
msgstr "el índice escalar debe ser constante"
-#: config/tc-arm.c:2456
+#: config/tc-arm.c:2766
msgid "expecting ]"
msgstr "se esperaba ]"
-#: config/tc-arm.c:2508
+#: config/tc-arm.c:2818
msgid "invalid syntax for .dn directive"
msgstr "sintaxis no válida para la directiva .dn"
-#: config/tc-arm.c:2514
+#: config/tc-arm.c:2824
msgid "invalid syntax for .qn directive"
msgstr "sintaxis no válida para la directiva .qn"
-#: config/tc-arm.c:2549
+#: config/tc-arm.c:2854
#, c-format
msgid "ignoring attempt to use .unreq on fixed register name: '%s'"
msgstr "se descarta el intento de usar .unreq en un nombre de registro interno fijo: «%s»"
-#: config/tc-arm.c:2814
+#: config/tc-arm.c:3116
#, c-format
msgid "Failed to find real start of function: %s\n"
msgstr "Falló al buscar el inicio real de la función: %s\n"
-#: config/tc-arm.c:2831
+#: config/tc-arm.c:3133
msgid "selected processor does not support THUMB opcodes"
msgstr "procesador seleccionado no admite códigos operacionales THUMB"
-#: config/tc-arm.c:2844
+#: config/tc-arm.c:3146
msgid "selected processor does not support ARM opcodes"
msgstr "procesador seleccionado no admite códigos operacionales ARM"
-#: config/tc-arm.c:2856
+#: config/tc-arm.c:3158
#, c-format
msgid "invalid instruction size selected (%d)"
msgstr "tamaño de instrucción seleccionado inválido (%d)"
-#: config/tc-arm.c:2888
+#: config/tc-arm.c:3190
#, c-format
msgid "invalid operand to .code directive (%d) (expecting 16 or 32)"
msgstr "operando inválido para la directiva .code (%d) (se esperaba 16 o 32)"
-#: config/tc-arm.c:2943
+#: config/tc-arm.c:3246
#, c-format
msgid "expected comma after name \"%s\""
msgstr "se esperaba una coma tras nombre «%s»"
-#: config/tc-arm.c:2993 config/tc-m32r.c:584
+#: config/tc-arm.c:3296 config/tc-m32r.c:584
#, c-format
msgid "symbol `%s' already defined"
msgstr "el símbolo «%s» ya está definido"
-#: config/tc-arm.c:3026
+#: config/tc-arm.c:3329
#, c-format
msgid "unrecognized syntax mode \"%s\""
msgstr "no reconocido el modo de sintaxis «%s»"
-#: config/tc-arm.c:3069
+#: config/tc-arm.c:3359
msgid ".ref pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3110
+#: config/tc-arm.c:3400
msgid ".asmfunc repeated."
msgstr ".asmfunc repetido."
-#: config/tc-arm.c:3114
+#: config/tc-arm.c:3404
msgid ".asmfunc without function."
msgstr "símbolo .asmfunc función."
-#: config/tc-arm.c:3120
+#: config/tc-arm.c:3410
msgid ".asmfunc pseudo-op only available with -mccs flag."
msgstr ".asmfunc pseudo-op solo disponible con marca -mccs."
-#: config/tc-arm.c:3131
+#: config/tc-arm.c:3421
msgid ".endasmfunc without a .asmfunc."
msgstr ".endasmfunc sin un .asmfunc."
-#: config/tc-arm.c:3135
+#: config/tc-arm.c:3425
msgid ".endasmfunc without function."
msgstr ".endasmfunc sin función."
-#: config/tc-arm.c:3146
+#: config/tc-arm.c:3436
msgid ".endasmfunc pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3155
+#: config/tc-arm.c:3445
msgid ".def pseudo-op only available with -mccs flag."
msgstr ""
-#: config/tc-arm.c:3313
+#: config/tc-arm.c:3603
msgid "invalid type for literal pool"
msgstr "tipo inválido para de conjunto de literales"
-#: config/tc-arm.c:3393 config/tc-tic54x.c:5354
+#: config/tc-arm.c:3683 config/tc-tic54x.c:5379
#, c-format
msgid "Invalid label '%s'"
msgstr "Etiqueta no válida «%s»"
-#: config/tc-arm.c:3569
+#: config/tc-arm.c:3860
msgid "(plt) is only valid on branch targets"
-msgstr "(plt) sólo es válido en objetivos ramas"
+msgstr "(plt) solo es válido en objetivos ramas"
-#: config/tc-arm.c:3575 config/tc-s390.c:1209 config/tc-s390.c:1865
-#: config/tc-xtensa.c:1664
+#: config/tc-arm.c:3866 config/tc-csky.c:7672 config/tc-s390.c:1304
+#: config/tc-s390.c:2099 config/tc-xtensa.c:1698
#, c-format
msgid "%s relocations do not fit in %d byte"
msgid_plural "%s relocations do not fit in %d bytes"
msgstr[0] "%s reubicaciones no caben en %d byte"
msgstr[1] "%s reubicaciones no caben en %d bytes"
-#: config/tc-arm.c:3657
+#: config/tc-arm.c:3948
msgid ".inst.n operand too big. Use .inst.w instead"
msgstr "operando de .inst.n es demasiado grande. Use en su lugar .inst.w"
-#: config/tc-arm.c:3677
+#: config/tc-arm.c:3968
msgid "cannot determine Thumb instruction size. Use .inst.n/.inst.w instead"
msgstr "no se puede determinar el tamaño de la instrucción Thumb. Use en su lugar .inst.n/.inst.w"
-#: config/tc-arm.c:3707
+#: config/tc-arm.c:3998
msgid "width suffixes are invalid in ARM mode"
msgstr "los sufijos de anchura son inválidos en modo ARM"
-#: config/tc-arm.c:3749 dwarf2dbg.c:990
+#: config/tc-arm.c:4042 dwarf2dbg.c:1467
msgid "expected 0 or 1"
msgstr "se esperaba 0 ó 1"
-#: config/tc-arm.c:3753
+#: config/tc-arm.c:4046
msgid "missing comma"
msgstr "ausentea coma"
-#: config/tc-arm.c:3786
+#: config/tc-arm.c:4079
msgid "duplicate .fnstart directive"
msgstr "directiva .fnstart duplicada"
-#: config/tc-arm.c:3817 config/tc-tic6x.c:412
+#: config/tc-arm.c:4109 config/tc-tic6x.c:410
msgid "duplicate .handlerdata directive"
msgstr "directiva .handlerdata duplicada"
-#: config/tc-arm.c:3836
+#: config/tc-arm.c:4128
msgid ".fnend directive without .fnstart"
msgstr "directiva .fnend sin .fnstart"
-#: config/tc-arm.c:3903 config/tc-tic6x.c:393
+#: config/tc-arm.c:4195 config/tc-tic6x.c:391
msgid "personality routine specified for cantunwind frame"
msgstr "se especificó una rutina personality para el marco cantunwind"
-#: config/tc-arm.c:3920 config/tc-tic6x.c:454
+#: config/tc-arm.c:4212 config/tc-tic6x.c:452
msgid "duplicate .personalityindex directive"
msgstr "directiva .personalityindex duplicada"
-#: config/tc-arm.c:3927 config/tc-tic6x.c:461
+#: config/tc-arm.c:4219 config/tc-tic6x.c:459
msgid "bad personality routine number"
-msgstr "número de rutina personality equivocado"
+msgstr "número de rutina personality incorrecto"
-#: config/tc-arm.c:3949 config/tc-tic6x.c:478
+#: config/tc-arm.c:4241 config/tc-tic6x.c:476
msgid "duplicate .personality directive"
msgstr "directiva .personality duplicada"
-#: config/tc-arm.c:3973 config/tc-arm.c:4101 config/tc-arm.c:4149
-msgid "expected register list"
-msgstr "se esperaba una lista de registros"
+#: config/tc-arm.c:4267
+#, fuzzy, c-format
+#| msgid "Unknown register pair: `%d'"
+msgid "Unknown register no. encountered: %d\n"
+msgstr "Par de registro desconocido: '%d'"
-#: config/tc-arm.c:4055
-msgid "expected , <constant>"
-msgstr "se esperaba , <constante>"
+#: config/tc-arm.c:4363
+#, fuzzy
+#| msgid "Warning: register range not in ascending order"
+msgid "Warning: register list not in ascending order"
+msgstr "Aviso: el límite de registros no está en orden ascendente"
-#: config/tc-arm.c:4064
-msgid "number of registers must be in the range [1:4]"
-msgstr "el número de registros debe estar en el límite [1:4]"
+#: config/tc-arm.c:4370 config/tc-epiphany.c:382 config/tc-m68k.c:5866
+#: config/tc-m68k.c:5895
+msgid "bad register list"
+msgstr "lista de registros incorrecta"
-#: config/tc-arm.c:4211 config/tc-arm.c:4345
+#: config/tc-arm.c:4428 config/tc-arm.c:4478
+msgid "expected register list"
+msgstr "se esperaba una lista de registros"
+
+#: config/tc-arm.c:4540 config/tc-arm.c:4674
msgid "bad register range"
-msgstr "límite de registro equivocado"
+msgstr "límite de registro incorrecto"
-#: config/tc-arm.c:4411
-msgid "FPA .unwind_save does not take a register list"
-msgstr ".unwind_save de FPA no toma una lista de registros"
+#: config/tc-arm.c:4729
+msgid "register expected"
+msgstr "se esperaba un registro"
-#: config/tc-arm.c:4439
+#: config/tc-arm.c:4762
msgid ".unwind_save does not support this kind of register"
msgstr ".unwind_save no admite este tipo de registro"
-#: config/tc-arm.c:4478
+#: config/tc-arm.c:4801
msgid "SP and PC not permitted in .unwind_movsp directive"
msgstr "PS y PC no se permiten .unwind_movsp como directiva"
-#: config/tc-arm.c:4483
+#: config/tc-arm.c:4806
msgid "unexpected .unwind_movsp directive"
msgstr "directiva inesperada .unwind_movsp"
-#: config/tc-arm.c:4510
+#: config/tc-arm.c:4833
msgid "stack increment must be multiple of 4"
msgstr "operando de pila debe ser un múltiplo de 4"
-#: config/tc-arm.c:4542
+#: config/tc-arm.c:4881
msgid "expected <reg>, <reg>"
msgstr "se esperaba <reg>, <reg>"
-#: config/tc-arm.c:4560
+#: config/tc-arm.c:4899
msgid "register must be either sp or set by a previousunwind_movsp directive"
msgstr "el registro debe ser sp o establecido por una directiva previousunwind_movsp"
-#: config/tc-arm.c:4599
+#: config/tc-arm.c:4938
msgid "expected <offset>, <opcode>"
msgstr "se esperaba <desplazamiento>, <códigoop>"
-#: config/tc-arm.c:4611
+#: config/tc-arm.c:4950
msgid "unwind opcode too long"
msgstr "código operacional de desenredo demasiado largo"
-#: config/tc-arm.c:4616
+#: config/tc-arm.c:4955
msgid "invalid unwind opcode"
msgstr "código operacional de desenredo inválido"
-#: config/tc-arm.c:4804 config/tc-arm.c:5815 config/tc-arm.c:10659
-#: config/tc-arm.c:11192 config/tc-arm.c:13219 config/tc-arm.c:14801
-#: config/tc-arm.c:24170 config/tc-arm.c:24234 config/tc-arm.c:24242
-#: config/tc-metag.c:5176 config/tc-z8k.c:1151 config/tc-z8k.c:1161
+#: config/tc-arm.c:5070 config/tc-arm.c:31769
+#, fuzzy, c-format
+#| msgid "unrecognized option \"%s\""
+msgid "unrecognised float16 format \"%s\""
+msgstr "opción no reconocida «%s»"
+
+#: config/tc-arm.c:5081
+msgid "float16 format cannot be set more than once, ignoring."
+msgstr ""
+
+#: config/tc-arm.c:5094
+msgid "the floating-point format has not been set (or has been disabled)"
+msgstr ""
+
+#: config/tc-arm.c:5211 config/tc-arm.c:6201 config/tc-arm.c:11469
+#: config/tc-arm.c:12002 config/tc-arm.c:14133 config/tc-arm.c:16084
+#: config/tc-arm.c:16119 config/tc-arm.c:17047 config/tc-arm.c:18960
+#: config/tc-arm.c:18968 config/tc-arm.c:18975 config/tc-arm.c:20635
+#: config/tc-arm.c:28766 config/tc-arm.c:28830 config/tc-arm.c:28838
+#: config/tc-metag.c:5174 config/tc-z8k.c:1161 config/tc-z8k.c:1171
msgid "immediate value out of range"
-msgstr "valor inmediato fuera de límite"
+msgstr "valor inmediato fuera de rango"
-#: config/tc-arm.c:4974
-msgid "invalid FPA immediate expression"
-msgstr "expresión inmediata FPA no válida"
+#: config/tc-arm.c:5474
+#, fuzzy
+#| msgid "r13 not allowed here"
+msgid "'UXTW' not allowed here"
+msgstr "no se permite r13 aquí"
-#: config/tc-arm.c:5160
+#: config/tc-arm.c:5482
msgid "'LSL' or 'ASR' required"
msgstr "'LSL' o 'ASR' requerido"
-#: config/tc-arm.c:5168
+#: config/tc-arm.c:5490
msgid "'LSL' required"
msgstr "'LSL' requerido"
-#: config/tc-arm.c:5176
+#: config/tc-arm.c:5498
msgid "'ASR' required"
msgstr "'ASR' requerido"
-#: config/tc-arm.c:5255
+#: config/tc-arm.c:5505
+#, fuzzy
+#| msgid "')' required"
+msgid "'UXTW' required"
+msgstr "')' requerido"
+
+#: config/tc-arm.c:5584
msgid "invalid rotation"
msgstr "rotación no válida"
-#: config/tc-arm.c:5435 config/tc-arm.c:5604
+#: config/tc-arm.c:5766 config/tc-arm.c:5979
msgid "unknown group relocation"
msgstr "desconoce reubicación de grupo"
-#: config/tc-arm.c:5471
+#: config/tc-arm.c:5802
msgid "alignment must be constant"
msgstr "el alineamiento debe ser constante"
-#: config/tc-arm.c:5635
+#: config/tc-arm.c:6013
msgid "this group relocation is not allowed on this instruction"
msgstr "esta reubicación de grupo no se permite en esta instrucción"
-#: config/tc-arm.c:5691
+#: config/tc-arm.c:6069
msgid "'}' expected at end of 'option' field"
msgstr "'}' esperado al final 'option' del campo"
-#: config/tc-arm.c:5696
+#: config/tc-arm.c:6074
msgid "cannot combine index with option"
msgstr "no se puede combinar index con option"
-#: config/tc-arm.c:5953
+#: config/tc-arm.c:6339
msgid "unexpected bit specified after APSR"
msgstr "se especificó un bit inesperado tras APSR"
-#: config/tc-arm.c:5965
+#: config/tc-arm.c:6351
msgid "selected processor does not support DSP extension"
msgstr "procesador seleccionado no admite la extensión DSP"
-#: config/tc-arm.c:5977
+#: config/tc-arm.c:6363
msgid "bad bitmask specified after APSR"
-msgstr "se especificó una máscara de bit equivocada tras APSR"
+msgstr "se especificó una máscara de bit incorrecta tras APSR"
-#: config/tc-arm.c:6001
+#: config/tc-arm.c:6387
msgid "writing to APSR without specifying a bitmask is deprecated"
msgstr "escribir a APSR sin especificar una máscara de bit es obsoleto"
-#: config/tc-arm.c:6013 config/tc-arm.c:12353 config/tc-arm.c:12398
-#: config/tc-arm.c:12402
+#: config/tc-arm.c:6399 config/tc-arm.c:13236 config/tc-arm.c:13281
+#: config/tc-arm.c:13285
msgid "selected processor does not support requested special purpose register"
msgstr "procesador seleccionado no admite registro de propósito especial solicitado"
-#: config/tc-arm.c:6018
+#: config/tc-arm.c:6404
msgid "flag for {c}psr instruction expected"
msgstr "se esperaba una opción para la instrucción {c}psr"
-#: config/tc-arm.c:6043
+#: config/tc-arm.c:6468
msgid "unrecognized CPS flag"
msgstr "no se reconoce la opción CPS"
-#: config/tc-arm.c:6050
+#: config/tc-arm.c:6475
msgid "missing CPS flags"
msgstr "ausenten las casillas CPS"
-#: config/tc-arm.c:6073 config/tc-arm.c:6079
+#: config/tc-arm.c:6498 config/tc-arm.c:6504
msgid "valid endian specifiers are be or le"
msgstr "los especificadores endian válidos son be o le"
-#: config/tc-arm.c:6101
+#: config/tc-arm.c:6526
msgid "missing rotation field after comma"
msgstr "ausente el campo rotation tras la coma"
-#: config/tc-arm.c:6116
+#: config/tc-arm.c:6541
msgid "rotation can only be 0, 8, 16, or 24"
-msgstr "la rotación sólo puede ser 0, 8 , 16 o 24"
+msgstr "la rotación solo puede ser 0, 8 , 16 o 24"
-#: config/tc-arm.c:6145
+#: config/tc-arm.c:6570
msgid "condition required"
msgstr "se requiere una condición"
-#: config/tc-arm.c:6213 config/tc-arm.c:8943
+#: config/tc-arm.c:6612 config/tc-arm.c:9731
msgid "'[' expected"
msgstr "'[' esperado"
-#: config/tc-arm.c:6226
+#: config/tc-arm.c:6625
msgid "',' expected"
msgstr "',' esperada"
-#: config/tc-arm.c:6243
+#: config/tc-arm.c:6642
msgid "invalid shift"
msgstr "desplazamiento inválido"
-#: config/tc-arm.c:6316
+#: config/tc-arm.c:6722
+#, fuzzy
+#| msgid "expected EP register"
+msgid "expected ARM or MVE vector register"
+msgstr "se esperaba el registro EP"
+
+#: config/tc-arm.c:6771
msgid "can't use Neon quad register here"
msgstr "no se puede usar un registro Neon cuádruple aquí"
-#: config/tc-arm.c:6383
+#: config/tc-arm.c:6840
msgid "expected <Rm> or <Dm> or <Qm> operand"
msgstr "se esperaba un operando <Rm> o <Dm> o <Qm>"
-#: config/tc-arm.c:6463
+#: config/tc-arm.c:6940
+#, fuzzy
+#| msgid "VFP single or double precision register expected"
+msgid "VFP single, double or MVE vector register expected"
+msgstr "Se esperaba un registro de precisión simple o doble VFP"
+
+#: config/tc-arm.c:6960
msgid "parse error"
msgstr "error de decodificación"
+#: config/tc-arm.c:7256
+#, fuzzy
+#| msgid "immediate 1 or 2 expected"
+msgid "immediate value 48 or 64 expected"
+msgstr "se esperaba un inmediato 1 o 2"
+
#. ISB can only take SY as an option.
-#: config/tc-arm.c:6732
+#: config/tc-arm.c:7305
msgid "invalid barrier type"
-msgstr "tipo de barrera equivocado"
+msgstr "tipo de barrera incorrecto"
-#: config/tc-arm.c:6829
+#: config/tc-arm.c:7474
msgid "only floating point zero is allowed as immediate value"
msgstr "solo utiliza punto flotante cero permitido como valor inmediato"
-#: config/tc-arm.c:6899
+#: config/tc-arm.c:7569
msgid "immediate value is out of range"
-msgstr "el valor inmediato está fuera de límite"
+msgstr "el valor inmediato está fuera de rango"
-#: config/tc-arm.c:7046
+#: config/tc-arm.c:7730
msgid "iWMMXt data or control register expected"
msgstr "se esperaba un registro de datos o control iWMMXt"
-#: config/tc-arm.c:7086
+#: config/tc-arm.c:7771
msgid "Banked registers are not available with this architecture."
msgstr "Los registros en bancos no están disponibles para esta arquitectura."
-#: config/tc-arm.c:7314 config/tc-score.c:264
+#: config/tc-arm.c:8019
+#, fuzzy
+#| msgid "source operand must be 8 bit register"
+msgid "operand must be LR register"
+msgstr "operando de origen debe ser un registro de 8 bit"
+
+#: config/tc-arm.c:8024
+#, fuzzy
+#| msgid "source operand must be 8 bit register"
+msgid "operand must be SP register"
+msgstr "operando de origen debe ser un registro de 8 bit"
+
+#: config/tc-arm.c:8029
+#, fuzzy
+#| msgid "second operand must be 1"
+msgid "operand must be r12"
+msgstr "el segundo operando debe ser 1"
+
+#: config/tc-arm.c:8100 config/tc-score.c:260
msgid "garbage following instruction"
msgstr "basura a continuación de la instrucción"
#. If REG is R13 (the stack pointer), warn that its use is
#. deprecated.
-#: config/tc-arm.c:7364
+#: config/tc-arm.c:8150
msgid "use of r13 is deprecated"
msgstr "el uso de r13 es obsoleto"
-#: config/tc-arm.c:7382
-msgid "ARMv8.2 scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE"
-msgstr ""
+#: config/tc-arm.c:8168 config/tc-arm.c:20335
+#, fuzzy
+#| msgid "Dot Product instructions cannot be conditional, the behaviour is UNPREDICTABLE"
+msgid "scalar fp16 instruction cannot be conditional, the behaviour is UNPREDICTABLE"
+msgstr "Instrucciones Dot Product no puede ser condicional, el comportamiento es IMPREDECIBLE"
-#: config/tc-arm.c:7457
+#: config/tc-arm.c:8243
msgid "D register out of range for selected VFP version"
-msgstr "D como registro fuera de límite para versión VFP seleccionada"
+msgstr "D como registro fuera de rango para versión VFP seleccionada"
-#: config/tc-arm.c:7554 config/tc-arm.c:10378
+#: config/tc-arm.c:8340 config/tc-arm.c:11158
msgid "Instruction does not support =N addresses"
msgstr "La instrucción no admite las direcciones =N"
-#: config/tc-arm.c:7562
+#: config/tc-arm.c:8348
msgid "instruction does not accept preindexed addressing"
-msgstr "instrucción no acepta el direccionamiento preindizado"
+msgstr "instrucción no acepta el direccionamiento preindexado"
#. unindexed - only for coprocessor
-#: config/tc-arm.c:7578 config/tc-arm.c:10441
+#: config/tc-arm.c:8364 config/tc-arm.c:11221
msgid "instruction does not accept unindexed addressing"
msgstr "instrucción no acepta el direccionamiento sin indizar"
-#: config/tc-arm.c:7586
+#: config/tc-arm.c:8372
msgid "destination register same as write-back base"
msgstr "registro destino es el mismo que la base de retroescritura"
-#: config/tc-arm.c:7587
+#: config/tc-arm.c:8373
msgid "source register same as write-back base"
msgstr "registro origen es el mismo que la base de retroescritura"
-#: config/tc-arm.c:7637
+#: config/tc-arm.c:8423
msgid "use of PC in this instruction is deprecated"
msgstr "uso de PC en esta instrucción está obsoleto"
-#: config/tc-arm.c:7660
+#: config/tc-arm.c:8446
msgid "instruction does not accept scaled register index"
msgstr "instrucción no acepta el índice de registro escalado"
-#: config/tc-arm.c:7965
+#: config/tc-arm.c:8749
msgid "invalid pseudo operation"
msgstr "pseudo operación no válida"
-#: config/tc-arm.c:8203
+#. FIXME: The code that was here previously could not
+#. work. Firstly, it tried to convert a floating point
+#. number into an extended precision format, but only
+#. provided a buffer of 5 littlenums, which was too
+#. small. Secondly, it then didn't deal with the value
+#. converted correctly, just reading out the first 4
+#. littlenum fields and assuming that could be used
+#. directly.
+#.
+#. I think the code was intended to handle expressions
+#. such as:
+#.
+#. LDR r0, =1.0
+#. VLDR d0, =55.3
+#.
+#. but the parsers currently don't permit floating-point
+#. literal values to be written this way, so this code
+#. is probably unreachable. To be safe, we simply
+#. return an error here.
+#: config/tc-arm.c:8791
+#, fuzzy
+#| msgid "Complex expression not supported"
+msgid "constant expression not supported"
+msgstr "No se admiten las expresiones complejas"
+
+#: config/tc-arm.c:8995
msgid "invalid co-processor operand"
msgstr "operando co-procesador inválido"
-#: config/tc-arm.c:8219
+#: config/tc-arm.c:9011
msgid "instruction does not support unindexed addressing"
msgstr "instrucción no admite el direccionamiento sin indizar"
-#: config/tc-arm.c:8234
+#: config/tc-arm.c:9026
msgid "pc may not be used with write-back"
msgstr "quizá un pc no está siendo utilizado con retroescritura"
-#: config/tc-arm.c:8239
+#: config/tc-arm.c:9031
msgid "instruction does not support writeback"
msgstr "instrucción no admite retroescritura"
-#: config/tc-arm.c:8345
+#: config/tc-arm.c:9137
msgid "Rn must not overlap other operands"
msgstr "Rn no debe sobreescribir otros operandos"
-#: config/tc-arm.c:8350
+#: config/tc-arm.c:9142
msgid "swp{b} use is obsoleted for ARMv8 and later"
msgstr "utilización swp{b} es obsoleta para ARMv8 y posterior"
-#: config/tc-arm.c:8353
+#: config/tc-arm.c:9145
msgid "swp{b} use is deprecated for ARMv6 and ARMv7"
msgstr "utilización de swp{b} es obsoleto para ARMv6 y ARMv7"
-#: config/tc-arm.c:8470 config/tc-arm.c:8489 config/tc-arm.c:8502
-#: config/tc-arm.c:11029 config/tc-arm.c:11060 config/tc-arm.c:11082
+#: config/tc-arm.c:9257 config/tc-arm.c:9276 config/tc-arm.c:9289
+#: config/tc-arm.c:11839 config/tc-arm.c:11870 config/tc-arm.c:11892
msgid "bit-field extends past end of register"
msgstr "el campo de bits se extiende más allá del final del registro"
-#: config/tc-arm.c:8532
+#: config/tc-arm.c:9319
msgid "the only valid suffixes here are '(plt)' and '(tlscall)'"
msgstr "los únicos sufijos válidos aquí son '(plt)' y '(tlscall)'"
-#: config/tc-arm.c:8585
+#: config/tc-arm.c:9372
msgid "use of r15 in blx in ARM mode is not really useful"
msgstr "el uso de r15 en blx en modo ARM no es realmente útil"
-#: config/tc-arm.c:8607
+#: config/tc-arm.c:9394
msgid "use of r15 in bx in ARM mode is not really useful"
msgstr "el uso de r15 en bx en modo ARM no es realmente útil"
-#: config/tc-arm.c:8632
+#: config/tc-arm.c:9420
msgid "use of r15 in bxj is not really useful"
msgstr "el uso de r15 en bxj no es realmente útil"
-#: config/tc-arm.c:8680
+#: config/tc-arm.c:9468
msgid "This coprocessor register access is deprecated in ARMv8"
msgstr "Este acceso a registro del coprocesador es obsoleto en ARMv8"
-#: config/tc-arm.c:8888 config/tc-arm.c:8897
+#: config/tc-arm.c:9676 config/tc-arm.c:9685
msgid "writeback of base register is UNPREDICTABLE"
msgstr "retroescritura del registro base es IMPREDECIBLE"
-#: config/tc-arm.c:8891
+#: config/tc-arm.c:9679
msgid "writeback of base register when in register list is UNPREDICTABLE"
msgstr "retroescritura del registro base cuando está en la lista de registros es IMPREDECIBLE"
-#: config/tc-arm.c:8901
+#: config/tc-arm.c:9689
msgid "if writeback register is in list, it must be the lowest reg in the list"
msgstr "si el registro de retroescritura está en la lista, debe ser el registro más bajo en la lista"
-#: config/tc-arm.c:8938
+#: config/tc-arm.c:9726
msgid "first transfer register must be even"
msgstr "primer registro de transferencia debe ser par"
-#: config/tc-arm.c:8941
+#: config/tc-arm.c:9729
msgid "can only transfer two consecutive registers"
msgstr "solamente se pueden transferir dos registros consecutivos"
@@ -3772,1223 +4577,1531 @@ msgstr "solamente se pueden transferir dos registros consecutivos"
#. have been called in the first place.
#. If op 2 were present and equal to PC, this function wouldn't
#. have been called in the first place.
-#: config/tc-arm.c:8942 config/tc-arm.c:9012 config/tc-arm.c:9676
-#: config/tc-arm.c:11844
+#: config/tc-arm.c:9730 config/tc-arm.c:9800 config/tc-arm.c:10531
+#: config/tc-arm.c:12725
msgid "r14 not allowed here"
msgstr "no se permite r14 aquí"
-#: config/tc-arm.c:8954
+#: config/tc-arm.c:9742
msgid "base register written back, and overlaps second transfer register"
msgstr "registro base se escribió hacia atrás, y sobrescribe el segundo registro transferencial"
-#: config/tc-arm.c:8964
+#: config/tc-arm.c:9752
msgid "index register overlaps transfer register"
msgstr "registro índice sobrescribe el registro de transferencia"
-#: config/tc-arm.c:8993 config/tc-arm.c:9643
+#: config/tc-arm.c:9781 config/tc-arm.c:10498
msgid "offset must be zero in ARM encoding"
msgstr "desplazamiento debe ser cero en codificación ARM"
-#: config/tc-arm.c:9006 config/tc-arm.c:9670
+#: config/tc-arm.c:9794 config/tc-arm.c:10525
msgid "even register required"
msgstr "requerido registro par"
-#: config/tc-arm.c:9009
+#: config/tc-arm.c:9797
msgid "can only load two consecutive registers"
msgstr "solamente se pueden cargar dos registros consecutivos"
-#: config/tc-arm.c:9027
+#: config/tc-arm.c:9815
msgid "ldr to register 15 must be 4-byte aligned"
msgstr "ldr al registro 15 debe ser alineado a 4-bytes"
-#: config/tc-arm.c:9050 config/tc-arm.c:9082
+#: config/tc-arm.c:9838 config/tc-arm.c:9870
msgid "this instruction requires a post-indexed address"
msgstr "esta instrucción requiere una dirección post-indizada"
-#: config/tc-arm.c:9109
+#: config/tc-arm.c:9897
msgid "Rd and Rm should be different in mla"
msgstr "Rd y Rm deben ser diferentes en mla"
-#: config/tc-arm.c:9136 config/tc-arm.c:12217
+#: config/tc-arm.c:9924 config/tc-arm.c:13100
msgid ":lower16: not allowed in this instruction"
msgstr ":lower16: no permitido dentro de esta instrucción"
-#: config/tc-arm.c:9138 config/tc-arm.c:12222
+#: config/tc-arm.c:9926 config/tc-arm.c:13105
msgid ":upper16: not allowed in this instruction"
msgstr ":upper16: no permitido dentro de esta instrucción"
-#: config/tc-arm.c:9155
+#: config/tc-arm.c:9943
msgid "operand 1 must be FPSCR"
msgstr "operando 1 debe ser FPSCR"
-#: config/tc-arm.c:9247 config/tc-arm.c:12336
+#: config/tc-arm.c:9996 config/tc-arm.c:10005 config/tc-arm.c:10059
+#: config/tc-arm.c:10068
+#, fuzzy
+#| msgid "selected processor does not support fp16 instruction"
+msgid "selected processor does not support instruction"
+msgstr "procesador seleccionado no admite instrucción fp16"
+
+#: config/tc-arm.c:10008 config/tc-arm.c:10071
+#, fuzzy
+#| msgid "writeback of base register is UNPREDICTABLE"
+msgid "accessing MVE system register without MVE is UNPREDICTABLE"
+msgstr "retroescritura del registro base es IMPREDECIBLE"
+
+#: config/tc-arm.c:10099 config/tc-arm.c:13219
msgid "bad register for mrs"
-msgstr "registro equivocado para mrs"
+msgstr "registro incorrecto para mrs"
-#: config/tc-arm.c:9254 config/tc-arm.c:12360
+#: config/tc-arm.c:10106 config/tc-arm.c:13243
msgid "'APSR', 'CPSR' or 'SPSR' expected"
msgstr "'APSR', 'CPSR' o 'SPSR' esperado"
-#: config/tc-arm.c:9295
+#: config/tc-arm.c:10147
msgid "Rd and Rm should be different in mul"
msgstr "Rd y Rm deben ser diferentes en mul"
-#: config/tc-arm.c:9314 config/tc-arm.c:9588 config/tc-arm.c:12499
+#: config/tc-arm.c:10166 config/tc-arm.c:10443 config/tc-arm.c:13382
msgid "rdhi and rdlo must be different"
msgstr "rdhi y rdlo deben ser diferentes"
-#: config/tc-arm.c:9320
+#: config/tc-arm.c:10172
msgid "rdhi, rdlo and rm must all be different"
msgstr "rdhi, rdlo y rm deben ser todos diferentes"
-#: config/tc-arm.c:9386
+#: config/tc-arm.c:10238
msgid "'[' expected after PLD mnemonic"
msgstr "'[' esperado tras mnemónico PLD"
-#: config/tc-arm.c:9388 config/tc-arm.c:9403
+#: config/tc-arm.c:10240 config/tc-arm.c:10255
msgid "post-indexed expression used in preload instruction"
msgstr "se utilizó una expresión post-indizada en la instrucción de precarga"
-#: config/tc-arm.c:9390 config/tc-arm.c:9405
+#: config/tc-arm.c:10242 config/tc-arm.c:10257
msgid "writeback used in preload instruction"
msgstr "se utilicó retroescritura en la instrucción de precarga"
-#: config/tc-arm.c:9392 config/tc-arm.c:9407
+#: config/tc-arm.c:10244 config/tc-arm.c:10259
msgid "unindexed addressing used in preload instruction"
msgstr "se utilizó un direccionamiento sin indizar en la instrucción de precarga"
-#: config/tc-arm.c:9401
+#: config/tc-arm.c:10253
msgid "'[' expected after PLI mnemonic"
msgstr "'[' esperado tras mnemónico PLI"
-#: config/tc-arm.c:9416 config/tc-arm.c:12668
+#: config/tc-arm.c:10268 config/tc-arm.c:13551
msgid "push/pop do not support {reglist}^"
msgstr "push/pop no admiten {reglist}^"
-#: config/tc-arm.c:9494 config/tc-arm.c:12815
+#: config/tc-arm.c:10346 config/tc-arm.c:13728
msgid "setend use is deprecated for ARMv8"
msgstr "utilice setend está obsoleto para ARMv8"
-#: config/tc-arm.c:9515 config/tc-arm.c:12876 config/tc-arm.c:12908
-#: config/tc-arm.c:12951
+#: config/tc-arm.c:10367 config/tc-arm.c:13789 config/tc-arm.c:13821
+#: config/tc-arm.c:13864
msgid "extraneous shift as part of operand to shift insn"
msgstr "desplazamiento extraño como parte de operando para la insn desplazamiento"
-#: config/tc-arm.c:9546 config/tc-arm.c:9555
+#: config/tc-arm.c:10377 config/tc-arm.c:13927
+#, fuzzy
+#| msgid "5-bit immediate too large"
+msgid "immediate too large (bigger than 0xF)"
+msgstr "5-bit inmediato demasiado grande"
+
+#: config/tc-arm.c:10401 config/tc-arm.c:10410
msgid "selected processor does not support SETPAN instruction"
msgstr "procesador seleccionado no admite instrucción SETPAN"
-#: config/tc-arm.c:9614
+#: config/tc-arm.c:10469
msgid "SRS base register must be r13"
msgstr "SRS al registro base debe ser r13"
-#: config/tc-arm.c:9673
+#: config/tc-arm.c:10528
msgid "can only store two consecutive registers"
msgstr "solamente se pueden almacenar dos registros consecutivos"
-#: config/tc-arm.c:9787 config/tc-arm.c:9804
+#: config/tc-arm.c:10650 config/tc-arm.c:10671
msgid "only two consecutive VFP SP registers allowed here"
msgstr "solamente se permiten dos registros PS VFP consecutivos aquí"
-#: config/tc-arm.c:9832 config/tc-arm.c:9847
+#: config/tc-arm.c:10699 config/tc-arm.c:10714
msgid "this addressing mode requires base-register writeback"
msgstr "este modo de direccionamiento requiere retroescritura del registro-base"
#. If srcsize is 16, inst.operands[1].imm must be in the range 0-16.
#. i.e. immbits must be in range 0 - 16.
-#: config/tc-arm.c:9964
+#: config/tc-arm.c:10843
msgid "immediate value out of range, expected range [0, 16]"
-msgstr "valor inmediato fuera de límite, se esperaba el límite [0, 16]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [0, 16]"
#. If srcsize is 32, inst.operands[1].imm must be in the range 1-32.
#. i.e. immbits must be in range 0 - 31.
-#: config/tc-arm.c:9971
+#: config/tc-arm.c:10850
msgid "immediate value out of range, expected range [1, 32]"
-msgstr "valor inmediato fuera de límite, se esperaba el límite [1, 32]"
-
-#: config/tc-arm.c:10037
-msgid "this instruction does not support indexing"
-msgstr "esta instrucción no admite indizado"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [1, 32]"
-#: config/tc-arm.c:10060
+#: config/tc-arm.c:10891
msgid "only r15 allowed here"
-msgstr "sólo se permite r15 aquí"
+msgstr "solo se permite r15 aquí"
-#: config/tc-arm.c:10195
+#: config/tc-arm.c:11026
msgid "immediate operand requires iWMMXt2"
msgstr "operando inmediato requiere iWMMXt2"
-#: config/tc-arm.c:10339
+#: config/tc-arm.c:11119
msgid "shift by register not allowed in thumb mode"
msgstr "no se permite desplazar por registro en modo pulgar"
-#: config/tc-arm.c:10351 config/tc-arm.c:13059 config/tc-arm.c:23513
+#: config/tc-arm.c:11131 config/tc-arm.c:13973 config/tc-arm.c:28057
msgid "shift expression is too large"
msgstr "la expresión de desplazamiento es demasiado grande"
-#: config/tc-arm.c:10384
+#: config/tc-arm.c:11164
msgid "cannot use register index with this instruction"
-msgstr "no se puede utilizar registro indizado con esta instrucción"
+msgstr "no se puede utilizar registro indexado con esta instrucción"
-#: config/tc-arm.c:10386
+#: config/tc-arm.c:11166
msgid "Thumb does not support negative register indexing"
-msgstr "Thumb no admite el indizado negativo de registro"
+msgstr "Thumb no admite el indexado negativo de registro"
-#: config/tc-arm.c:10388
+#: config/tc-arm.c:11168
msgid "Thumb does not support register post-indexing"
-msgstr "Thumb no admite el post-indizado de registro"
+msgstr "Thumb no admite el post-indexado de registro"
-#: config/tc-arm.c:10390
+#: config/tc-arm.c:11170
msgid "Thumb does not support register indexing with writeback"
-msgstr "Thumb no admite el indizado de registro con retroescritura"
+msgstr "Thumb no admite el indexado de registro con retroescritura"
-#: config/tc-arm.c:10392
+#: config/tc-arm.c:11172
msgid "Thumb supports only LSL in shifted register indexing"
-msgstr "Thumb sólo admite LSL en el indizado desplazado de registro"
+msgstr "Thumb solo admite LSL en el indexado desplazado de registro"
-#: config/tc-arm.c:10401 config/tc-arm.c:16374
+#: config/tc-arm.c:11181 config/tc-arm.c:19703
msgid "shift out of range"
-msgstr "desplazamiento fuera de límite"
+msgstr "desplazamiento fuera de rango"
-#: config/tc-arm.c:10410
+#: config/tc-arm.c:11190
msgid "cannot use writeback with this instruction"
msgstr "no se puede usar retroescritura con esta instrucción"
-#: config/tc-arm.c:10431
+#: config/tc-arm.c:11211
msgid "cannot use post-indexing with PC-relative addressing"
-msgstr "no se puede usar post-indizado con el direccionamiento relativo al PC"
+msgstr "no se puede usar post-indexado con el direccionamiento relativo al PC"
-#: config/tc-arm.c:10432
+#: config/tc-arm.c:11212
msgid "cannot use post-indexing with this instruction"
-msgstr "no se puede usar post-indizado con esta instrucción"
+msgstr "no se puede usar post-indexado con esta instrucción"
+
+#: config/tc-arm.c:11450
+#, fuzzy
+#| msgid "cannot honor width suffix -- `%s'"
+msgid "cannot honor width suffix"
+msgstr "no se puede honrar el sufijo de anchura -- «%s»"
-#: config/tc-arm.c:10654
+#: config/tc-arm.c:11464
msgid "only SUBS PC, LR, #const allowed"
-msgstr "sólo se permiten SUBS PC, LR, #const"
+msgstr "solo se permiten SUBS PC, LR, #const"
-#: config/tc-arm.c:10737 config/tc-arm.c:10897 config/tc-arm.c:10994
-#: config/tc-arm.c:12297 config/tc-arm.c:12605
+#: config/tc-arm.c:11547 config/tc-arm.c:11707 config/tc-arm.c:11804
+#: config/tc-arm.c:13180 config/tc-arm.c:13488
msgid "shift must be constant"
msgstr "el desplazamiento debe ser constante"
-#: config/tc-arm.c:10742
+#: config/tc-arm.c:11552
msgid "shift value over 3 not allowed in thumb mode"
msgstr "no se permite el valor de desplazamiento sobre 3 en modo pulgar"
-#: config/tc-arm.c:10744
+#: config/tc-arm.c:11554
msgid "only LSL shift allowed in thumb mode"
msgstr "solamente se permite el desplazamiento LSL en modo pulgar"
-#: config/tc-arm.c:10768 config/tc-arm.c:10912 config/tc-arm.c:11009
-#: config/tc-arm.c:12310
+#: config/tc-arm.c:11578 config/tc-arm.c:11722 config/tc-arm.c:11819
+#: config/tc-arm.c:13193
msgid "unshifted register required"
msgstr "se requiere un registro sin desplazar"
-#: config/tc-arm.c:10783 config/tc-arm.c:11020 config/tc-arm.c:12460
+#: config/tc-arm.c:11593 config/tc-arm.c:11830 config/tc-arm.c:13343
msgid "dest must overlap one source register"
msgstr "dest debe sobreescribir un registro fuente"
-#: config/tc-arm.c:10915
+#: config/tc-arm.c:11725 config/tc-csky.c:6026
msgid "dest and source1 must be the same register"
msgstr "dest y source1 deben ser el mismo registro"
-#: config/tc-arm.c:11155
+#: config/tc-arm.c:11965
msgid "selected architecture does not support wide conditional branch instruction"
msgstr "arquitectura seleccionada no admite la rama de instrucción condicional instrucción ancha"
-#: config/tc-arm.c:11188
+#: config/tc-arm.c:11998
msgid "instruction is always unconditional"
msgstr "la instrucción es siempre incondicional"
-#: config/tc-arm.c:11309
+#: config/tc-arm.c:12173
msgid "selected processor does not support 'A' form of this instruction"
msgstr "procesador seleccionado no admite la forma 'A' de esta instrucción"
-#: config/tc-arm.c:11312
+#: config/tc-arm.c:12176
msgid "Thumb does not support the 2-argument form of this instruction"
msgstr "Thumb no admite la forma con 2 argumentos de esta instrucción"
-#: config/tc-arm.c:11433
+#: config/tc-arm.c:12301
msgid "SP not allowed in register list"
msgstr "PS no admitido dentro de listado de registro"
-#: config/tc-arm.c:11437 config/tc-arm.c:11543
+#: config/tc-arm.c:12305
msgid "having the base register in the register list when using write back is UNPREDICTABLE"
msgstr "teniendo el registro base en la lista de registros al usar retroescritura se vuelve IMPREDECIBLE"
-#: config/tc-arm.c:11445
+#: config/tc-arm.c:12313
msgid "LR and PC should not both be in register list"
msgstr "LR y PC no deberían estar ambos dentro de registros listados"
-#: config/tc-arm.c:11453
+#: config/tc-arm.c:12321
msgid "PC not allowed in register list"
msgstr "PC no admitido dentro del listado de registro"
-#: config/tc-arm.c:11495
+#: config/tc-arm.c:12366
msgid "Thumb load/store multiple does not support {reglist}^"
msgstr "Thumb carga/almacenaje múltiples no compatible {reglist}^"
-#: config/tc-arm.c:11520 config/tc-arm.c:11597
+#: config/tc-arm.c:12444 config/tc-arm.c:12478
#, c-format
msgid "value stored for r%d is UNKNOWN"
msgstr "valor almacenado para r%d es DESCONOCIDO"
-#: config/tc-arm.c:11590
+#: config/tc-arm.c:12471
msgid "Thumb-2 instruction only valid in unified syntax"
-msgstr "Thumb-2 como instrucción sólo válida en sintaxis unificada"
+msgstr "Thumb-2 como instrucción solo válida en sintaxis unificada"
-#: config/tc-arm.c:11594 config/tc-arm.c:11604
+#: config/tc-arm.c:12475 config/tc-arm.c:12485
msgid "this instruction will write back the base register"
msgstr "esta instrucción escribirá hacia atrás el registro base"
-#: config/tc-arm.c:11607
+#: config/tc-arm.c:12488
msgid "this instruction will not write back the base register"
msgstr "esta instrucción no escribirá hacia atrás el registro base"
-#: config/tc-arm.c:11638
+#: config/tc-arm.c:12519
msgid "r14 not allowed as first register when second register is omitted"
msgstr "no se permite r14 como primer registro cuando se omite el segundo registro"
-#: config/tc-arm.c:11738
+#: config/tc-arm.c:12619
msgid "This instruction may be unpredictable if executed on M-profile cores with interrupts enabled."
msgstr "Esta instrucción puede ser impredecible si se ejecuta en núcleos M-profile con interrupciones activadas."
-#: config/tc-arm.c:11767 config/tc-arm.c:11780 config/tc-arm.c:11816
+#: config/tc-arm.c:12648 config/tc-arm.c:12661 config/tc-arm.c:12697
msgid "Thumb does not support this addressing mode"
msgstr "Thumb no admite este modo de direccionamiento"
-#: config/tc-arm.c:11784
+#: config/tc-arm.c:12665
msgid "byte or halfword not valid for base register"
msgstr "byte o media palabra no válido para registro base"
-#: config/tc-arm.c:11787
+#: config/tc-arm.c:12668
msgid "r15 based store not allowed"
msgstr "no se permite el almacenamiento basado en r15"
-#: config/tc-arm.c:11789
+#: config/tc-arm.c:12670
msgid "invalid base register for register offset"
msgstr "registro base inválido para el desplazamiento del registro"
-#: config/tc-arm.c:11846
+#: config/tc-arm.c:12727
msgid "r12 not allowed here"
msgstr "r12 no permitido aquí"
-#: config/tc-arm.c:11852
+#: config/tc-arm.c:12733
msgid "base register written back, and overlaps one of transfer registers"
msgstr "registro base escrito atrás, y cubre uno de registros transferenciales"
-#: config/tc-arm.c:11980
+#: config/tc-arm.c:12861
#, c-format
msgid "Use of r%u as a source register is deprecated when r%u is the destination register."
msgstr "Utilización de r%u como registro origen es obsoleto cuando r%u es el registro destino."
-#: config/tc-arm.c:12173
+#: config/tc-arm.c:13056
msgid "shifts in CMP/MOV instructions are only supported in unified syntax"
-msgstr "los desplazamientos en las instrucciones CMP/MOV sólo se admiten en la sintaxis unificada"
+msgstr "los desplazamientos en las instrucciones CMP/MOV solo se admiten en la sintaxis unificada"
-#: config/tc-arm.c:12201
+#: config/tc-arm.c:13084
msgid "only lo regs allowed with immediate"
-msgstr "sólo se permiten registros lo con inmediatos"
+msgstr "solo se permiten registros lo con inmediatos"
-#: config/tc-arm.c:12378
+#: config/tc-arm.c:13261
msgid "Thumb encoding does not support an immediate here"
msgstr "Thumb como codificación no admite un inmediato aquí"
-#: config/tc-arm.c:12465
+#: config/tc-arm.c:13348
msgid "Thumb-2 MUL must not set flags"
msgstr "MUL de Thumb-2 no debe establecer casillas"
-#: config/tc-arm.c:12530
+#: config/tc-arm.c:13413
msgid "Thumb does not support NOP with hints"
msgstr "Thumb no admite NOP con pistas"
-#: config/tc-arm.c:12690
+#: config/tc-arm.c:13573 config/tc-arm.c:13585
msgid "invalid register list to push/pop instruction"
msgstr "lista de registros no válida para la instrucción push/pop"
-#: config/tc-arm.c:12935
+#: config/tc-arm.c:13848
msgid "source1 and dest must be same register"
msgstr "source1 y dest deben ser el mismo registro"
-#: config/tc-arm.c:12960
+#: config/tc-arm.c:13873
msgid "ror #imm not supported"
msgstr "no se admite ror #imm"
-#: config/tc-arm.c:13011
+#: config/tc-arm.c:13924
msgid "SMC is not permitted on this architecture"
msgstr "No se admite SMC en esta arquitectura"
-#: config/tc-arm.c:13176
+#: config/tc-arm.c:14090
msgid "Thumb encoding does not support rotation"
msgstr "Thumb como codificación no admite rotación"
-#: config/tc-arm.c:13196
+#: config/tc-arm.c:14110
msgid "instruction requires register index"
msgstr "la instrucción requiere un índice de registro"
-#: config/tc-arm.c:13206
+#: config/tc-arm.c:14120
msgid "instruction does not allow shifted index"
msgstr "la instrucción no permite un índice desplazado"
-#: config/tc-arm.c:13392
+#: config/tc-arm.c:14276 config/tc-arm.c:29201
+msgid "out of range label-relative fixup value"
+msgstr ""
+
+#: config/tc-arm.c:14600
msgid "invalid neon suffix for non neon instruction"
msgstr "sufijo neón inválido para la instrucción que no es neon"
-#: config/tc-arm.c:13754 config/tc-arm.c:14100 config/tc-arm.c:15717
-#: config/tc-arm.c:17342
+#: config/tc-arm.c:14995 config/tc-arm.c:15348 config/tc-arm.c:16833
+#: config/tc-arm.c:16913 config/tc-arm.c:16970 config/tc-arm.c:18851
+#: config/tc-arm.c:21039 config/tc-arm.c:21226
msgid "invalid instruction shape"
msgstr "instrucción shape no válida"
-#: config/tc-arm.c:13999
+#: config/tc-arm.c:15247
msgid "types specified in both the mnemonic and operands"
msgstr "tipo especificado en ambos mnemónico y operandos"
-#: config/tc-arm.c:14036
+#: config/tc-arm.c:15284
msgid "operand types can't be inferred"
msgstr "no se pueden inferir los tipos de operando"
-#: config/tc-arm.c:14042
+#: config/tc-arm.c:15290
msgid "type specifier has the wrong number of parts"
-msgstr "tipo especificador tiene el número equivocado de partes"
+msgstr "tipo especificador tiene el número incorrecto de partes"
-#: config/tc-arm.c:14128 config/tc-arm.c:15905 config/tc-arm.c:15912
+#: config/tc-arm.c:15376 config/tc-arm.c:19112 config/tc-arm.c:19119
msgid "operand size must match register width"
msgstr "el tamaño del operador debe coincidir con la anchura del registro"
-#: config/tc-arm.c:14139
-msgid "bad type in Neon instruction"
-msgstr "equivocación de tipo en instrucción Neon"
-
-#: config/tc-arm.c:14150
+#: config/tc-arm.c:15398
msgid "inconsistent types in Neon instruction"
msgstr "tipos inconsistentes en la instrucción Neon"
-#: config/tc-arm.c:14521 config/tc-arm.c:14536 config/tc-arm.c:16921
-msgid "register list must contain at least 1 and at most 16 registers"
-msgstr "la lista de registros debe contener por lo menos 1 y cuando mucho 16 registros"
+#: config/tc-arm.c:15819
+#, fuzzy
+#| msgid "zero flag is not valid for this instruction"
+msgid "Type is not allowed for this instruction"
+msgstr "marca cero no es válida para esta instrucción"
+
+#: config/tc-arm.c:15894
+#, fuzzy
+#| msgid "SVE vector register expected"
+msgid "MVE vector or ARM register expected"
+msgstr "SVE como vector esperaba registro"
+
+#: config/tc-arm.c:16011
+#, fuzzy
+#| msgid "immediate must be 1 or 2"
+msgid "immediate must be either 1, 2, 4 or 8"
+msgstr "el inmediato debe ser 1 o 2"
-#: config/tc-arm.c:14679 config/tc-arm.c:14715 config/tc-arm.c:15354
-#: config/tc-arm.c:16761
+#: config/tc-arm.c:16168
+#, fuzzy
+#| msgid "immediate value out of range, expected range [1, 32]"
+msgid "immediate operand expected in the range [1,8]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [1, 32]"
+
+#: config/tc-arm.c:16169
+#, fuzzy
+#| msgid "immediate value out of range, expected range [0, 16]"
+msgid "immediate operand expected in the range [1,16]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [0, 16]"
+
+#: config/tc-arm.c:16311
+#, fuzzy
+#| msgid "expected }"
+msgid "expected LR"
+msgstr "se esperaba }"
+
+#: config/tc-arm.c:16810 config/tc-arm.c:16890 config/tc-arm.c:18487
+#: config/tc-arm.c:20320
msgid "immediate out of range for shift"
-msgstr "inmediato fuera de límite para desplazamiento"
+msgstr "inmediato fuera de rango para desplazamiento"
-#: config/tc-arm.c:14835
+#: config/tc-arm.c:17104
msgid "first and second operands shall be the same register"
msgstr "el primer y segundo operandos deben ser el mismo registro"
-#: config/tc-arm.c:15120 config/tc-arm.c:16210
+#: config/tc-arm.c:17218 config/tc-arm.c:17280
+#, fuzzy
+#| msgid "destination register same as write-back base"
+msgid "destination register and offset register may not be the same"
+msgstr "registro destino es el mismo que la base de retroescritura"
+
+#: config/tc-arm.c:17230 config/tc-arm.c:17349
+#, fuzzy
+#| msgid "immediate value out of range, expected range [0, 16]"
+msgid "immediate must be a multiple of 4 in the range of +/-[0,508]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [0, 16]"
+
+#: config/tc-arm.c:17232
+#, fuzzy
+#| msgid "immediate value out of range, expected range [0, 16]"
+msgid "immediate must be a multiple of 8 in the range of +/-[0,1016]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [0, 16]"
+
+#: config/tc-arm.c:17253
+msgid "can not shift offsets when accessing less than half-word"
+msgstr ""
+
+#: config/tc-arm.c:17255
+msgid "shift immediate must be 1, 2 or 3 for half-word, word or double-word accesses respectively"
+msgstr ""
+
+#: config/tc-arm.c:17342
+#, fuzzy
+#| msgid "number of registers must be in the range [1:4]"
+msgid "immediate must be in the range of +/-[0,127]"
+msgstr "el número de registros debe estar en el límite [1:4]"
+
+#: config/tc-arm.c:17345
+#, fuzzy
+#| msgid "immediate value out of range, expected range [0, 16]"
+msgid "immediate must be a multiple of 2 in the range of +/-[0,254]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [0, 16]"
+
+#: config/tc-arm.c:17359 config/tc-arm.c:18185
+#, fuzzy
+#| msgid "SVE vector register expected"
+msgid "MVE vector register in the range [Q0..Q7] expected"
+msgstr "SVE como vector esperaba registro"
+
+#: config/tc-arm.c:17675 config/tc-arm.c:19542
msgid "scalar out of range for multiply instruction"
-msgstr "escalar fuera de límite para la instrucción multiply"
+msgstr "escalar fuera de rango para la instrucción multiply"
+
+#: config/tc-arm.c:17763
+#, fuzzy
+#| msgid "scalar index must be constant"
+msgid "index must be in the range 0 to 3"
+msgstr "el índice escalar debe ser constante"
+
+#: config/tc-arm.c:17766
+#, fuzzy
+#| msgid "first transfer register must be even"
+msgid "indexed register must be less than 8"
+msgstr "primer registro de transferencia debe ser par"
+
+#: config/tc-arm.c:17967 config/tc-arm.c:21290
+msgid "Warning: 32-bit element size and same first and third operand makes instruction UNPREDICTABLE"
+msgstr ""
-#: config/tc-arm.c:15244
+#: config/tc-arm.c:18326
msgid "instruction form not available on this architecture."
msgstr "relleno de instrucción no disponible en esta arquitectura."
-#: config/tc-arm.c:15247
+#: config/tc-arm.c:18329
msgid "this instruction implies use of ARMv8.1 AdvSIMD."
msgstr ""
-#: config/tc-arm.c:15330 config/tc-arm.c:15342
+#: config/tc-arm.c:18436 config/tc-arm.c:18461
msgid "immediate out of range for insert"
-msgstr "inmediato fuera de límite para insert"
+msgstr "inmediato fuera de rango para insert"
-#: config/tc-arm.c:15475
+#: config/tc-arm.c:18608
msgid "immediate out of range for narrowing operation"
-msgstr "inmediato fuera de límite para la operación de estrechamiento"
+msgstr "inmediato fuera de rango para la operación de estrechamiento"
-#: config/tc-arm.c:15621
+#: config/tc-arm.c:18755
msgid "operands 0 and 1 must be the same register"
msgstr "los operandos 0 y 1 debe ser el mismo registro"
-#: config/tc-arm.c:15727 config/tc-arm.c:17440
+#: config/tc-arm.c:18861 config/tc-arm.c:21138
msgid "invalid rounding mode"
msgstr "modo entorno inválido"
-#: config/tc-arm.c:16054
+#: config/tc-arm.c:19332
msgid "operand size must be specified for immediate VMOV"
msgstr "el tamaño de operando se debe especificar para el inmediato VMOV"
-#: config/tc-arm.c:16064
+#: config/tc-arm.c:19342
msgid "immediate has bits set outside the operand size"
msgstr "el inmediato tiene bits definidos fuera del tamaño de operando"
-#: config/tc-arm.c:16226
+#: config/tc-arm.c:19577
msgid "vfmal/vfmsl with FP16 type cannot be conditional, the behaviour is UNPREDICTABLE"
msgstr ""
-#: config/tc-arm.c:16356
+#: config/tc-arm.c:19685
msgid "Instruction form not available on this architecture."
msgstr "Relleno de instrucción no disponible en esta arquitectura."
-#: config/tc-arm.c:16400
+#: config/tc-arm.c:19739
+msgid "Warning: 64-bit element size and same destination and source operands makes instruction UNPREDICTABLE"
+msgstr ""
+
+#: config/tc-arm.c:19744
msgid "elements must be smaller than reversal region"
msgstr "los elementos deben ser menores que la región de reversa"
-#: config/tc-arm.c:16582 config/tc-arm.c:16642
+#: config/tc-arm.c:19836
+msgid "Index one must be [2,3] and index two must be two less than index one."
+msgstr ""
+
+#: config/tc-arm.c:19839
+#, fuzzy
+#| msgid "registers may not be the same"
+msgid "Destination registers may not be the same"
+msgstr "los registros quizá no son el mismo"
+
+#: config/tc-arm.c:20037 config/tc-arm.c:20120
msgid "bad type for scalar"
-msgstr "tipo equivocado para el escalar"
+msgstr "tipo incorrecto para el escalar"
+
+#: config/tc-arm.c:20176
+msgid "immediate constant is valid both as a bit-pattern and a floating point value (using the fp value)"
+msgstr ""
-#: config/tc-arm.c:16719 config/tc-arm.c:16727
+#: config/tc-arm.c:20228 config/tc-arm.c:20239
msgid "VFP registers must be adjacent"
msgstr "VFP como registros deben ser adyacentes"
-#: config/tc-arm.c:16770
+#: config/tc-arm.c:20329
msgid "invalid suffix"
msgstr "sufijo inválido"
-#: config/tc-arm.c:16888
+#: config/tc-arm.c:20483
msgid "bad list length for table lookup"
-msgstr "longitud de lista equivocada para la búsqueda de tabla"
+msgstr "longitud de lista incorrecta para la búsqueda de tabla"
-#: config/tc-arm.c:16918
+#: config/tc-arm.c:20516
msgid "writeback (!) must be used for VLDMDB and VSTMDB"
msgstr "se debe usar retroescritura (!) para VLDMDB y VSTMDB"
-#: config/tc-arm.c:16946
+#: config/tc-arm.c:20519 config/tc-arm.c:20545
+msgid "register list must contain at least 1 and at most 16 registers"
+msgstr "la lista de registros debe contener por lo menos 1 y cuando mucho 16 registros"
+
+#: config/tc-arm.c:20540
+#, fuzzy
+#| msgid "register list must contain at least 1 and at most 16 registers"
+msgid "register list must contain at least 1 and at most 32 registers"
+msgstr "la lista de registros debe contener por lo menos 1 y cuando mucho 16 registros"
+
+#: config/tc-arm.c:20593 config/tc-arm.c:20626
msgid "Use of PC here is UNPREDICTABLE"
msgstr "El uso de PC aquí es IMPREDECIBLE"
-#: config/tc-arm.c:16948
+#: config/tc-arm.c:20595
msgid "Use of PC here is deprecated"
msgstr "El uso de PC aquí es obsoleto"
-#: config/tc-arm.c:17015
+#: config/tc-arm.c:20629
+#, fuzzy
+#| msgid "instruction does not accept scaled register index"
+msgid "instruction does not accept register index"
+msgstr "instrucción no acepta el índice de registro escalado"
+
+#: config/tc-arm.c:20632
+#, fuzzy
+#| msgid "instruction does not accept preindexed addressing"
+msgid "instruction does not accept PC-relative addressing"
+msgstr "instrucción no acepta el direccionamiento preindexado"
+
+#: config/tc-arm.c:20654 config/tc-arm.c:20663
+#, fuzzy
+#| msgid "Instruction not supported by this architecture"
+msgid "Instruction not permitted on this architecture"
+msgstr "La instrucción no se admite en esta arquitectura"
+
+#: config/tc-arm.c:20712
msgid "bad alignment"
-msgstr "alineamiento equivocada"
+msgstr "alineamiento incorrecta"
-#: config/tc-arm.c:17032
+#: config/tc-arm.c:20729
msgid "bad list type for instruction"
-msgstr "tipo de lista equivocado para la instrucción"
+msgstr "tipo de lista incorrecto para la instrucción"
-#: config/tc-arm.c:17034
-msgid "bad element type for instruction"
-msgstr "tipo elemental equivocado para instrucción"
-
-#: config/tc-arm.c:17076
+#: config/tc-arm.c:20773
msgid "unsupported alignment for instruction"
msgstr "no se admite la alineamiento para la instrucción"
-#: config/tc-arm.c:17095 config/tc-arm.c:17189 config/tc-arm.c:17201
-#: config/tc-arm.c:17211 config/tc-arm.c:17225
+#: config/tc-arm.c:20792 config/tc-arm.c:20886 config/tc-arm.c:20898
+#: config/tc-arm.c:20908 config/tc-arm.c:20922
msgid "bad list length"
-msgstr "longitud de lista equivocada"
+msgstr "longitud de lista incorrecta"
-#: config/tc-arm.c:17100
+#: config/tc-arm.c:20797
msgid "stride of 2 unavailable when element size is 8"
msgstr "no está disponible el estribo de 2 cuando el tamaño del elemento es 8"
-#: config/tc-arm.c:17133 config/tc-arm.c:17209
+#: config/tc-arm.c:20830 config/tc-arm.c:20906
msgid "can't use alignment with this instruction"
msgstr "no se puede usar la alineamiento con esta instrucción"
-#: config/tc-arm.c:17281
+#: config/tc-arm.c:20978
msgid "post-index must be a register"
msgstr "el post-índice debe ser un registro"
-#: config/tc-arm.c:17283
+#: config/tc-arm.c:20980
msgid "bad register for post-index"
-msgstr "registro equivocado para el post-índice"
+msgstr "registro incorrecto para el post-índice"
-#: config/tc-arm.c:17504
+#: config/tc-arm.c:21202
msgid "scalar out of range"
-msgstr "escalar fuera de límite"
+msgstr "escalar fuera de rango"
-#: config/tc-arm.c:17577
+#: config/tc-arm.c:21335
msgid "Dot Product instructions cannot be conditional, the behaviour is UNPREDICTABLE"
msgstr "Instrucciones Dot Product no puede ser condicional, el comportamiento es IMPREDECIBLE"
-#: config/tc-arm.c:18150 config/tc-arm.c:18236
+#: config/tc-arm.c:21410 config/tc-arm.c:21438 config/tc-arm.c:22120
+#, fuzzy
+#| msgid "immediate must be 1 or 2"
+msgid "index must be 0 or 1"
+msgstr "el inmediato debe ser 1 o 2"
+
+#: config/tc-arm.c:21413 config/tc-arm.c:21441 config/tc-arm.c:22123
+#, fuzzy
+#| msgid "ending register must be r15"
+msgid "indexed register must be less than 16"
+msgstr "el registro final debe ser r15"
+
+#: config/tc-arm.c:21479
+msgid "Register must be r0-r14 except r13, or APSR_nzcv."
+msgstr ""
+
+#: config/tc-arm.c:21482
+#, fuzzy
+#| msgid "Register must be address register"
+msgid "Register must be an even register between r0-r10."
+msgstr "El registro debe ser un registro direccional"
+
+#: config/tc-arm.c:21507
+#, fuzzy
+#| msgid "co-processor offset out of range"
+msgid "CDE Coprocessor must be in range 0-7"
+msgstr "desplazamiento de coprocesador fuera de rango"
+
+#: config/tc-arm.c:21541
+#, fuzzy
+#| msgid "invalid destination register"
+msgid "cx1d requires consecutive destination registers."
+msgstr "invalida registro destino"
+
+#: config/tc-arm.c:21571
+#, fuzzy
+#| msgid "invalid destination register"
+msgid "cx2d requires consecutive destination registers."
+msgstr "invalida registro destino"
+
+#: config/tc-arm.c:21610
+#, fuzzy
+#| msgid "invalid destination register"
+msgid "cx3d requires consecutive destination registers."
+msgstr "invalida registro destino"
+
+#: config/tc-arm.c:21802
+#, fuzzy
+#| msgid "last register must be r7"
+msgid "'q' register must be in range 0-7"
+msgstr "el último registro debe ser r7"
+
+#: config/tc-arm.c:21805
+#, fuzzy
+#| msgid "ending register must be r15"
+msgid "'d' register must be in range 0-15"
+msgstr "el registro final debe ser r15"
+
+#: config/tc-arm.c:21807
+#, fuzzy
+#| msgid "number of registers must be in the range [1:4]"
+msgid "'s' register must be in range 0-31"
+msgstr "el número de registros debe estar en el límite [1:4]"
+
+#: config/tc-arm.c:21862
+#, fuzzy
+#| msgid "instruction requires register index"
+msgid "vcx instructions with Q registers require MVE"
+msgstr "la instrucción requiere un índice de registro"
+
+#: config/tc-arm.c:21867
+msgid "vcx instructions with S or D registers require either MVE or Armv8-M floating point extension."
+msgstr ""
+
+#: config/tc-arm.c:21883
+msgid "vcx1 with S or D registers takes immediate within 0-2047"
+msgstr ""
+
+#: config/tc-arm.c:21899
+msgid "vcx2 with S or D registers takes immediate within 0-63"
+msgstr ""
+
+#: config/tc-arm.c:21914
+msgid "vcx2 with S or D registers takes immediate within 0-7"
+msgstr ""
+
+#: config/tc-arm.c:22504 config/tc-arm.c:22625
msgid "conditional infixes are deprecated in unified syntax"
msgstr "los infijos condicionales son obsoletos en la sintaxis unificada"
-#: config/tc-arm.c:18387
+#: config/tc-arm.c:22836
msgid "Warning: conditional outside an IT block for Thumb."
msgstr "Aviso: condicional fuera de un bloque IT para Thumb."
-#: config/tc-arm.c:18539
+#: config/tc-arm.c:23164
msgid "Short branches, Undefined, SVC, LDM/STM"
msgstr ""
-#: config/tc-arm.c:18540
+#: config/tc-arm.c:23165
msgid "Miscellaneous 16-bit instructions"
msgstr "Instrucciones 16-bit miscelánea"
-#: config/tc-arm.c:18541
+#: config/tc-arm.c:23166
msgid "ADR"
msgstr "DIR"
-#: config/tc-arm.c:18542
+#: config/tc-arm.c:23167
msgid "Literal loads"
msgstr "Cargas literales"
-#: config/tc-arm.c:18543
+#: config/tc-arm.c:23168
msgid "Hi-register ADD, MOV, CMP, BX, BLX using pc"
msgstr "Registro-Superior ADD, MOV, CMP, BX, BLX utilizando pc"
-#: config/tc-arm.c:18544
+#: config/tc-arm.c:23169
msgid "Hi-register ADD, MOV, CMP using pc"
msgstr "Registro-Superior ADD, MOV, CMP utilizando pc"
#. NOTE: 0x00dd is not the real encoding, instead, it is the 'tvalue'
#. field in asm_opcode. 'tvalue' is used at the stage this check happen.
-#: config/tc-arm.c:18547
+#: config/tc-arm.c:23172
msgid "ADD/SUB sp, sp #imm"
msgstr "ADD/SUB sp, sp #imm"
-#: config/tc-arm.c:18566
-msgid "IT blocks containing 32-bit Thumb instructions are deprecated in ARMv8"
+#: config/tc-arm.c:23194
+msgid "IT blocks containing 32-bit Thumb instructions are performance deprecated in ARMv8-A and ARMv8-R"
msgstr ""
-#: config/tc-arm.c:18578
+#: config/tc-arm.c:23206
#, c-format
-msgid "IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: %s"
+msgid "IT blocks containing 16-bit Thumb instructions of the following class are performance deprecated in ARMv8-A and ARMv8-R: %s"
msgstr ""
-#: config/tc-arm.c:18591
-msgid "IT blocks containing more than one conditional instruction are deprecated in ARMv8"
+#: config/tc-arm.c:23220
+msgid "IT blocks containing more than one conditional instruction are performance deprecated in ARMv8-A and ARMv8-R"
msgstr ""
-#: config/tc-arm.c:18706
+#: config/tc-arm.c:23338
#, c-format
msgid "bad instruction `%s'"
-msgstr "instrucción equivocada «%s»"
+msgstr "instrucción incorrecta «%s»"
-#: config/tc-arm.c:18712
+#: config/tc-arm.c:23344
msgid "s suffix on comparison instruction is deprecated"
msgstr "sufijo s sobre comparación de instrucción es obsoleto"
-#: config/tc-arm.c:18732
+#: config/tc-arm.c:23364
msgid "SVC is not permitted on this architecture"
msgstr "No se admite SVC en esta arquitectura"
-#: config/tc-arm.c:18734
+#: config/tc-arm.c:23366
#, c-format
msgid "selected processor does not support `%s' in Thumb mode"
msgstr "procesador seleccionado no admite «%s» dentro de modo Thumb"
-#: config/tc-arm.c:18740
+#: config/tc-arm.c:23372
msgid "Thumb does not support conditional execution"
msgstr "Thumb no admite la ejecución condicional"
-#: config/tc-arm.c:18760
+#: config/tc-arm.c:23392
#, c-format
msgid "selected processor does not support 32bit wide variant of instruction `%s'"
msgstr "procesador seleccionado no admite variante de 32 bit de instrucción «%s»"
-#: config/tc-arm.c:18763
+#: config/tc-arm.c:23395
#, c-format
msgid "selected processor does not support `%s' in Thumb-2 mode"
msgstr "procesador seleccionado no admite «%s» modo Thumb-2"
-#: config/tc-arm.c:18788
+#: config/tc-arm.c:23420
#, c-format
msgid "cannot honor width suffix -- `%s'"
msgstr "no se puede honrar el sufijo de anchura -- «%s»"
-#: config/tc-arm.c:18830
+#: config/tc-arm.c:23462
#, c-format
msgid "selected processor does not support `%s' in ARM mode"
msgstr "procesador seleccionado no admite «%s» en modo ARM"
-#: config/tc-arm.c:18835
+#: config/tc-arm.c:23467
#, c-format
msgid "width suffixes are invalid in ARM mode -- `%s'"
msgstr "los sufijos de anchura son inválidos en modo ARM -- «%s»"
-#: config/tc-arm.c:18868
+#: config/tc-arm.c:23500
#, c-format
msgid "attempt to use an ARM instruction on a Thumb-only processor -- `%s'"
-msgstr "se intentó usar una instrucción ARM en un procesador que sólo es Thumb -- «%s»"
+msgstr "se intentó usar una instrucción ARM en un procesador que solo es Thumb -- «%s»"
-#: config/tc-arm.c:18885
+#: config/tc-arm.c:23518
#, c-format
msgid "section '%s' finished with an open IT block."
msgstr "la sección «%s» terminó con un bloque IT abierto."
-#: config/tc-arm.c:18890
+#: config/tc-arm.c:23521
+#, fuzzy, c-format
+#| msgid "section '%s' finished with an open IT block."
+msgid "section '%s' finished with an open VPT/VPST block."
+msgstr "la sección «%s» terminó con un bloque IT abierto."
+
+#: config/tc-arm.c:23528
msgid "file finished with an open IT block."
msgstr "el fichero terminó con un bloque IT abierto."
-#: config/tc-arm.c:22166
+#: config/tc-arm.c:23530
+#, fuzzy
+#| msgid "file finished with an open IT block."
+msgid "file finished with an open VPT/VPST block."
+msgstr "el fichero terminó con un bloque IT abierto."
+
+#: config/tc-arm.c:26696
#, c-format
msgid "alignments greater than %d bytes not supported in .text sections."
msgstr "no se admiten las alineaciones más grandes que %d bytes en las secciones .text."
-#: config/tc-arm.c:22433 config/tc-ia64.c:3594
+#: config/tc-arm.c:26962 config/tc-ia64.c:3588
#, c-format
msgid "Group section `%s' has no group signature"
msgstr "Sección de grupo «%s» no tiene firma de grupo"
-#: config/tc-arm.c:22479
+#: config/tc-arm.c:27008
msgid "handlerdata in cantunwind frame"
msgstr "handlerdata en un marco cantunwind"
-#: config/tc-arm.c:22496
+#: config/tc-arm.c:27026
msgid "too many unwind opcodes for personality routine 0"
msgstr "demasiados códigos operacionales de desenredo para la rutina personality 0"
-#: config/tc-arm.c:22527
+#: config/tc-arm.c:27059
msgid "attempt to recreate an unwind entry"
msgstr "trata recrear una entrada relajada"
-#: config/tc-arm.c:22537
+#: config/tc-arm.c:27070
msgid "too many unwind opcodes"
msgstr "demasiados códigos operacionales de desenredo"
-#: config/tc-arm.c:22830
+#: config/tc-arm.c:27374
#, c-format
msgid "[-mwarn-syms]: Assignment makes a symbol match an ARM instruction: %s"
msgstr ""
-#: config/tc-arm.c:23192 config/tc-arm.c:23260
+#: config/tc-arm.c:27736 config/tc-arm.c:27804
#, c-format
msgid "symbol %s is in a different section"
msgstr "el símbolo %s está en una sección diferente"
-#: config/tc-arm.c:23194 config/tc-arm.c:23262
+#: config/tc-arm.c:27738 config/tc-arm.c:27806
#, c-format
msgid "symbol %s is weak and may be overridden later"
msgstr "el símbolo %s es débil y se puede sobreescribir tras"
-#: config/tc-arm.c:23239 config/tc-arm.c:23609
+#: config/tc-arm.c:27783 config/tc-arm.c:28155
#, c-format
msgid "invalid constant (%lx) after fixup"
msgstr "constante no válida (%lx) tras la compostura"
-#: config/tc-arm.c:23295
+#: config/tc-arm.c:27839
#, c-format
msgid "unable to compute ADRL instructions for PC offset of 0x%lx"
msgstr "incapaz de calcular las instrucciones ADRL para el desplazamiento de PC de 0x%lx"
-#: config/tc-arm.c:23331 config/tc-arm.c:23361
+#: config/tc-arm.c:27875 config/tc-arm.c:27905
msgid "invalid literal constant: pool needs to be closer"
msgstr "constante literal no válida: el conjunto necesita estar más cerca"
-#: config/tc-arm.c:23334 config/tc-arm.c:23383
+#: config/tc-arm.c:27878 config/tc-arm.c:27927
#, c-format
msgid "bad immediate value for offset (%ld)"
-msgstr "valor inmediato equivocado para el desplazamiento (%ld)"
+msgstr "valor inmediato incorrecto para el desplazamiento (%ld)"
-#: config/tc-arm.c:23364
+#: config/tc-arm.c:27908
#, c-format
msgid "bad immediate value for 8-bit offset (%ld)"
-msgstr "valor inmediato equivocado para el desplazamiento de 8-bit (%ld)"
+msgstr "valor inmediato incorrecto para el desplazamiento de 8-bit (%ld)"
-#: config/tc-arm.c:23424
+#: config/tc-arm.c:27968
msgid "offset not a multiple of 4"
msgstr "desplazamiento no un múltiplo de 4"
-#: config/tc-arm.c:23625
+#: config/tc-arm.c:28171
msgid "invalid smc expression"
msgstr "expresión smc no válida"
-#: config/tc-arm.c:23634
+#: config/tc-arm.c:28181
msgid "invalid hvc expression"
msgstr "expresión hvc no válida"
-#: config/tc-arm.c:23645 config/tc-arm.c:23654
+#: config/tc-arm.c:28192 config/tc-arm.c:28201
msgid "invalid swi expression"
msgstr "expresión swi no válida"
-#: config/tc-arm.c:23664
+#: config/tc-arm.c:28211
msgid "invalid expression in load/store multiple"
msgstr "expresión no válida en load/store múltiples"
-#: config/tc-arm.c:23726
+#: config/tc-arm.c:28273
#, c-format
msgid "blx to '%s' an ARM ISA state function changed to bl"
msgstr "blx a «%s» cambió una función estatal ISA de ARM a bl"
-#: config/tc-arm.c:23745
+#: config/tc-arm.c:28292
msgid "misaligned branch destination"
msgstr "destinaciones ramificadas desalineadas"
-#: config/tc-arm.c:23865
+#: config/tc-arm.c:28413
#, c-format
msgid "blx to Thumb func '%s' from Thumb ISA state changed to bl"
msgstr "blx a la función Thumb «%s» cambió del estado ISA Thumb a bl"
-#: config/tc-arm.c:23915
+#: config/tc-arm.c:28462
msgid "Thumb2 branch out of range"
-msgstr "Thumb2 ramificado fuera de límite"
+msgstr "Thumb2 ramificado fuera de rango"
+
+#: config/tc-arm.c:28514 config/tc-arm.c:28547
+#, fuzzy
+#| msgid "%s not supported in MIPS16 mode"
+msgid "Relocation supported only in FDPIC mode"
+msgstr "%s no admitido dentro del modo MIPS16"
-#: config/tc-arm.c:23999
+#: config/tc-arm.c:28577
msgid "rel31 relocation overflow"
msgstr "desbordamiento de reubicación rel31"
-#: config/tc-arm.c:24020 config/tc-arm.c:24024 config/tc-arm.c:24063
+#: config/tc-arm.c:28599 config/tc-arm.c:28605 config/tc-arm.c:28609
+#: config/tc-arm.c:28656
msgid "co-processor offset out of range"
-msgstr "desplazamiento de coprocesador fuera de límite"
+msgstr "desplazamiento de coprocesador fuera de rango"
-#: config/tc-arm.c:24080
+#: config/tc-arm.c:28673
#, c-format
msgid "invalid offset, target not word aligned (0x%08lX)"
msgstr "desplazamiento inválido, el objetivo no está alineado a word (0x%08lX)"
-#: config/tc-arm.c:24087 config/tc-arm.c:24096 config/tc-arm.c:24104
-#: config/tc-arm.c:24112 config/tc-arm.c:24120
+#: config/tc-arm.c:28679
+msgid "section does not have enough alignment to ensure safe PC-relative loads"
+msgstr ""
+
+#: config/tc-arm.c:28683 config/tc-arm.c:28692 config/tc-arm.c:28700
+#: config/tc-arm.c:28708 config/tc-arm.c:28716
#, c-format
msgid "invalid offset, value too big (0x%08lX)"
msgstr "desplazamiento inválido, valor demasiado grande (0x%08lX)"
-#: config/tc-arm.c:24161
+#: config/tc-arm.c:28757
msgid "invalid Hi register with immediate"
msgstr "registro Hi inválido con el inmediato"
-#: config/tc-arm.c:24177
+#: config/tc-arm.c:28773
msgid "invalid immediate for stack address calculation"
msgstr "inmediato inválido para el cálculo de la dirección de la pila"
-#: config/tc-arm.c:24196
+#: config/tc-arm.c:28792
msgid "address calculation needs a strongly defined nearby symbol"
msgstr ""
-#: config/tc-arm.c:24212
+#: config/tc-arm.c:28808
msgid "symbol too far away"
msgstr "símbolo fuera muy lejos"
-#: config/tc-arm.c:24224
+#: config/tc-arm.c:28820
#, c-format
msgid "invalid immediate for address calculation (value = 0x%08lX)"
msgstr "inmediato inválido para el cálculo de la dirección (valor = 0x%08lX)"
-#: config/tc-arm.c:24254
+#: config/tc-arm.c:28850
#, c-format
msgid "invalid immediate: %ld is out of range"
-msgstr "inmediato inválido: %ld está fuera de límite"
+msgstr "inmediato inválido: %ld está fuera de rango"
-#: config/tc-arm.c:24266
+#: config/tc-arm.c:28862
#, c-format
msgid "invalid shift value: %ld"
msgstr "valor de desplazamiento inválido: %ld"
-#: config/tc-arm.c:24336 config/tc-arm.c:24407
+#: config/tc-arm.c:28932 config/tc-arm.c:29003
#, c-format
msgid "the offset 0x%08lX is not representable"
msgstr "el desplazamiento 0x%08lX no es representable"
-#: config/tc-arm.c:24368
+#: config/tc-arm.c:28964
#, c-format
msgid "Unable to process relocation for thumb opcode: %lx"
msgstr "Incapaz de procesar reubicación para código operacional pulgar: %lx"
-#: config/tc-arm.c:24447
+#: config/tc-arm.c:29043
#, c-format
msgid "bad offset 0x%08lX (only 12 bits available for the magnitude)"
-msgstr "desplazamiento equivocado 0x%08lX (sólo hay 12 bits disponibles para esta magnitud)"
+msgstr "desplazamiento incorrecto 0x%08lX (solo hay 12 bits disponibles para esta magnitud)"
-#: config/tc-arm.c:24486
+#: config/tc-arm.c:29082
#, c-format
msgid "bad offset 0x%08lX (only 8 bits available for the magnitude)"
-msgstr "desplazamiento equivocado 0x%08lX (sólo hay 8 bits disponibles para esta magnitud)"
+msgstr "desplazamiento incorrecto 0x%08lX (solo hay 8 bits disponibles para esta magnitud)"
-#: config/tc-arm.c:24526
+#: config/tc-arm.c:29122
#, c-format
msgid "bad offset 0x%08lX (must be word-aligned)"
-msgstr "desplazamiento equivocado 0x%08lX (debe ser alineado a word)"
+msgstr "desplazamiento incorrecto 0x%08lX (debe ser alineado a word)"
-#: config/tc-arm.c:24531
+#: config/tc-arm.c:29127
#, c-format
msgid "bad offset 0x%08lX (must be an 8-bit number of words)"
-msgstr "desplazamiento equivocado 0x%08lX (debe ser un número de 8-bit de words)"
+msgstr "desplazamiento incorrecto 0x%08lX (debe ser un número de 8-bit de words)"
-#: config/tc-arm.c:24562 config/tc-score.c:7391
+#: config/tc-arm.c:29348 config/tc-score.c:7302
#, c-format
msgid "bad relocation fixup type (%d)"
msgstr "tipo de compostura de reubicación inválido (%d)"
-#: config/tc-arm.c:24680
+#: config/tc-arm.c:29465
msgid "literal referenced across section boundary"
-msgstr "se referencía una literal a través de un límite seccional"
+msgstr "se referencía una literal a través de un límite de sección"
-#: config/tc-arm.c:24751
+#: config/tc-arm.c:29545
msgid "internal relocation (type: IMMEDIATE) not fixed up"
msgstr "reubicación interna (tipo: IMMEDIATE) no compuesta"
-#: config/tc-arm.c:24756
+#: config/tc-arm.c:29550
msgid "ADRL used for a symbol not defined in the same file"
msgstr "ADRL utilizado para un símbolo que no está definido en el mismo fichero"
-#: config/tc-arm.c:24771
+#: config/tc-arm.c:29557
+#, fuzzy, c-format
+#| msgid "ADRL used for a symbol not defined in the same file"
+msgid "%s used for a symbol not defined in the same file"
+msgstr "ADRL utilizado para un símbolo que no está definido en el mismo fichero"
+
+#: config/tc-arm.c:29573
#, c-format
msgid "undefined local label `%s'"
msgstr "etiqueta local indefinida «%s»"
-#: config/tc-arm.c:24777
+#: config/tc-arm.c:29579
msgid "internal_relocation (type: OFFSET_IMM) not fixed up"
msgstr "reubicación_interna (tipo OFFSET_IMM) no compuesta"
-#: config/tc-arm.c:24799 config/tc-cris.c:4006 config/tc-ft32.c:709
-#: config/tc-mcore.c:1928 config/tc-microblaze.c:1978 config/tc-mmix.c:2895
-#: config/tc-moxie.c:825 config/tc-ns32k.c:2248 config/tc-score.c:7478
+#: config/tc-arm.c:29601 config/tc-cris.c:3999 config/tc-csky.c:1152
+#: config/tc-ft32.c:707 config/tc-mcore.c:1932 config/tc-microblaze.c:2062
+#: config/tc-mmix.c:2898 config/tc-moxie.c:823 config/tc-ns32k.c:2245
+#: config/tc-score.c:7389
msgid "<unknown>"
msgstr "<desconocido>"
-#: config/tc-arm.c:25188
+#: config/tc-arm.c:30000
#, c-format
msgid "%s: unexpected function type: %d"
msgstr "%s: tipo de función inesperado: %d"
-#: config/tc-arm.c:25325
+#: config/tc-arm.c:30140
msgid "use of old and new-style options to set CPU type"
msgstr "se utilizan casillas de estilo antiguo y nuevo para establecer el tipo de CPU"
-#: config/tc-arm.c:25340
+#: config/tc-arm.c:30159
msgid "use of old and new-style options to set FPU type"
msgstr "se utilizan casillas de estilo antiguo y nuevo para establecer el tipo de FPU"
-#: config/tc-arm.c:25424
+#: config/tc-arm.c:30232
msgid "hard-float conflicts with specified fpu"
msgstr "hard-float tiene conflictos con la unidad de coma flotante (fpu) especificada"
-#: config/tc-arm.c:25612
+#: config/tc-arm.c:30415
msgid "generate PIC code"
msgstr "genera código PIC"
-#: config/tc-arm.c:25613
+#: config/tc-arm.c:30416
msgid "assemble Thumb code"
msgstr "ensambla código Thumb"
-#: config/tc-arm.c:25614
+#: config/tc-arm.c:30417
msgid "support ARM/Thumb interworking"
msgstr "admite la interoperación ARM/Thumb"
-#: config/tc-arm.c:25616
+#: config/tc-arm.c:30419
msgid "code uses 32-bit program counter"
msgstr "el código utiliza un contador de programa de 32-bit"
-#: config/tc-arm.c:25617
+#: config/tc-arm.c:30420
msgid "code uses 26-bit program counter"
msgstr "el código utiliza un contador de programa de 26-bit"
-#: config/tc-arm.c:25618
+#: config/tc-arm.c:30421
msgid "floating point args are in fp regs"
msgstr "los argumentos de coma flotante están en los registros de coma flotante"
-#: config/tc-arm.c:25620
+#: config/tc-arm.c:30423
msgid "re-entrant code"
msgstr "código reentrante"
-#: config/tc-arm.c:25621
+#: config/tc-arm.c:30424
msgid "code is ATPCS conformant"
msgstr "el código es conforme a ATPCS"
#. These are recognized by the assembler, but have no affect on code.
-#: config/tc-arm.c:25627
+#: config/tc-arm.c:30430
msgid "use frame pointer"
msgstr "usa puntero de marco"
-#: config/tc-arm.c:25628
+#: config/tc-arm.c:30431
msgid "use stack size checking"
msgstr "usa revisión del tamaño de la pila"
-#: config/tc-arm.c:25631
+#: config/tc-arm.c:30434
msgid "do not warn on use of deprecated feature"
msgstr "no avisa del uso de una opción obsoleta"
-#: config/tc-arm.c:25633
+#: config/tc-arm.c:30437
+msgid "warn about performance deprecated IT instructions in ARMv8-A and ARMv8-R"
+msgstr ""
+
+#: config/tc-arm.c:30441
msgid "warn about symbols that match instruction names [default]"
msgstr ""
-#: config/tc-arm.c:25634
+#: config/tc-arm.c:30442
msgid "disable warnings about symobls that match instructions"
msgstr ""
#. DON'T add any new processors to this list -- we want the whole list
#. to go away... Add them to the processors table instead.
-#: config/tc-arm.c:25650 config/tc-arm.c:25651
+#: config/tc-arm.c:30458 config/tc-arm.c:30459
msgid "use -mcpu=arm1"
msgstr "emplea -mcpu=arm1"
-#: config/tc-arm.c:25652 config/tc-arm.c:25653
+#: config/tc-arm.c:30460 config/tc-arm.c:30461
msgid "use -mcpu=arm2"
msgstr "emplea -mcpu=arm2"
-#: config/tc-arm.c:25654 config/tc-arm.c:25655
+#: config/tc-arm.c:30462 config/tc-arm.c:30463
msgid "use -mcpu=arm250"
msgstr "emplea -mcpu=arm250"
-#: config/tc-arm.c:25656 config/tc-arm.c:25657
+#: config/tc-arm.c:30464 config/tc-arm.c:30465
msgid "use -mcpu=arm3"
msgstr "emplea -mcpu=arm3"
-#: config/tc-arm.c:25658 config/tc-arm.c:25659
+#: config/tc-arm.c:30466 config/tc-arm.c:30467
msgid "use -mcpu=arm6"
msgstr "emplea -mcpu=arm6"
-#: config/tc-arm.c:25660 config/tc-arm.c:25661
+#: config/tc-arm.c:30468 config/tc-arm.c:30469
msgid "use -mcpu=arm600"
msgstr "emplea -mcpu=arm600"
-#: config/tc-arm.c:25662 config/tc-arm.c:25663
+#: config/tc-arm.c:30470 config/tc-arm.c:30471
msgid "use -mcpu=arm610"
msgstr "emplea -mcpu=arm610"
-#: config/tc-arm.c:25664 config/tc-arm.c:25665
+#: config/tc-arm.c:30472 config/tc-arm.c:30473
msgid "use -mcpu=arm620"
msgstr "emplea -mcpu=arm620"
-#: config/tc-arm.c:25666 config/tc-arm.c:25667
+#: config/tc-arm.c:30474 config/tc-arm.c:30475
msgid "use -mcpu=arm7"
msgstr "emplea -mcpu=arm7"
-#: config/tc-arm.c:25668 config/tc-arm.c:25669
+#: config/tc-arm.c:30476 config/tc-arm.c:30477
msgid "use -mcpu=arm70"
msgstr "emplea -mcpu=arm70"
-#: config/tc-arm.c:25670 config/tc-arm.c:25671
+#: config/tc-arm.c:30478 config/tc-arm.c:30479
msgid "use -mcpu=arm700"
msgstr "emplea -mcpu=arm700"
-#: config/tc-arm.c:25672 config/tc-arm.c:25673
+#: config/tc-arm.c:30480 config/tc-arm.c:30481
msgid "use -mcpu=arm700i"
msgstr "emplea -mcpu=arm700i"
-#: config/tc-arm.c:25674 config/tc-arm.c:25675
+#: config/tc-arm.c:30482 config/tc-arm.c:30483
msgid "use -mcpu=arm710"
msgstr "emplea -mcpu=arm710"
-#: config/tc-arm.c:25676 config/tc-arm.c:25677
+#: config/tc-arm.c:30484 config/tc-arm.c:30485
msgid "use -mcpu=arm710c"
msgstr "emplea -mcpu=arm710c"
-#: config/tc-arm.c:25678 config/tc-arm.c:25679
+#: config/tc-arm.c:30486 config/tc-arm.c:30487
msgid "use -mcpu=arm720"
msgstr "emplea -mcpu=arm720"
-#: config/tc-arm.c:25680 config/tc-arm.c:25681
+#: config/tc-arm.c:30488 config/tc-arm.c:30489
msgid "use -mcpu=arm7d"
msgstr "emplea -mcpu=arm7d"
-#: config/tc-arm.c:25682 config/tc-arm.c:25683
+#: config/tc-arm.c:30490 config/tc-arm.c:30491
msgid "use -mcpu=arm7di"
msgstr "emplea -mcpu=arm7di"
-#: config/tc-arm.c:25684 config/tc-arm.c:25685
+#: config/tc-arm.c:30492 config/tc-arm.c:30493
msgid "use -mcpu=arm7m"
msgstr "emplea -mcpu=arm7m"
-#: config/tc-arm.c:25686 config/tc-arm.c:25687
+#: config/tc-arm.c:30494 config/tc-arm.c:30495
msgid "use -mcpu=arm7dm"
msgstr "emplea -mcpu=arm7dm"
-#: config/tc-arm.c:25688 config/tc-arm.c:25689
+#: config/tc-arm.c:30496 config/tc-arm.c:30497
msgid "use -mcpu=arm7dmi"
msgstr "emplea -mcpu=arm7dmi"
-#: config/tc-arm.c:25690 config/tc-arm.c:25691
+#: config/tc-arm.c:30498 config/tc-arm.c:30499
msgid "use -mcpu=arm7100"
msgstr "emplea -mcpu=arm7100"
-#: config/tc-arm.c:25692 config/tc-arm.c:25693
+#: config/tc-arm.c:30500 config/tc-arm.c:30501
msgid "use -mcpu=arm7500"
msgstr "emplea -mcpu=arm7500"
-#: config/tc-arm.c:25694 config/tc-arm.c:25695
+#: config/tc-arm.c:30502 config/tc-arm.c:30503
msgid "use -mcpu=arm7500fe"
msgstr "emplea -mcpu=arm7500fe"
-#: config/tc-arm.c:25696 config/tc-arm.c:25697 config/tc-arm.c:25698
-#: config/tc-arm.c:25699
+#: config/tc-arm.c:30504 config/tc-arm.c:30505 config/tc-arm.c:30506
+#: config/tc-arm.c:30507
msgid "use -mcpu=arm7tdmi"
msgstr "emplea -mcpu=arm7tdmi"
-#: config/tc-arm.c:25700 config/tc-arm.c:25701
+#: config/tc-arm.c:30508 config/tc-arm.c:30509
msgid "use -mcpu=arm710t"
msgstr "emplea -mcpu=arm710t"
-#: config/tc-arm.c:25702 config/tc-arm.c:25703
+#: config/tc-arm.c:30510 config/tc-arm.c:30511
msgid "use -mcpu=arm720t"
msgstr "emplea -mcpu=arm720t"
-#: config/tc-arm.c:25704 config/tc-arm.c:25705
+#: config/tc-arm.c:30512 config/tc-arm.c:30513
msgid "use -mcpu=arm740t"
msgstr "emplea -mcpu=arm740t"
-#: config/tc-arm.c:25706 config/tc-arm.c:25707
+#: config/tc-arm.c:30514 config/tc-arm.c:30515
msgid "use -mcpu=arm8"
msgstr "emplea -mcpu=arm8"
-#: config/tc-arm.c:25708 config/tc-arm.c:25709
+#: config/tc-arm.c:30516 config/tc-arm.c:30517
msgid "use -mcpu=arm810"
msgstr "emplea -mcpu=arm810"
-#: config/tc-arm.c:25710 config/tc-arm.c:25711
+#: config/tc-arm.c:30518 config/tc-arm.c:30519
msgid "use -mcpu=arm9"
msgstr "emplea -mcpu=arm9"
-#: config/tc-arm.c:25712 config/tc-arm.c:25713
+#: config/tc-arm.c:30520 config/tc-arm.c:30521
msgid "use -mcpu=arm9tdmi"
msgstr "emplea -mcpu=arm9tdmi"
-#: config/tc-arm.c:25714 config/tc-arm.c:25715
+#: config/tc-arm.c:30522 config/tc-arm.c:30523
msgid "use -mcpu=arm920"
msgstr "emplea -mcpu=arm920"
-#: config/tc-arm.c:25716 config/tc-arm.c:25717
+#: config/tc-arm.c:30524 config/tc-arm.c:30525
msgid "use -mcpu=arm940"
msgstr "emplea -mcpu=arm940"
-#: config/tc-arm.c:25718
+#: config/tc-arm.c:30526
msgid "use -mcpu=strongarm"
msgstr "emplea -mcpu=strongarm"
-#: config/tc-arm.c:25720
+#: config/tc-arm.c:30528
msgid "use -mcpu=strongarm110"
msgstr "emplea -mcpu=strongarm110"
-#: config/tc-arm.c:25722
+#: config/tc-arm.c:30530
msgid "use -mcpu=strongarm1100"
msgstr "emplea -mcpu=strongarm1100"
-#: config/tc-arm.c:25724
+#: config/tc-arm.c:30532
msgid "use -mcpu=strongarm1110"
msgstr "emplea -mcpu=strongarm1110"
-#: config/tc-arm.c:25725
+#: config/tc-arm.c:30533
msgid "use -mcpu=xscale"
msgstr "emplea -mcpu=xscale"
-#: config/tc-arm.c:25726
+#: config/tc-arm.c:30534
msgid "use -mcpu=iwmmxt"
msgstr "emplea -mcpu=iwmmxt"
-#: config/tc-arm.c:25727
+#: config/tc-arm.c:30535
msgid "use -mcpu=all"
msgstr "emplea -mcpu=all"
#. Architecture variants -- don't add any more to this list either.
-#: config/tc-arm.c:25730 config/tc-arm.c:25731
+#: config/tc-arm.c:30538 config/tc-arm.c:30539
msgid "use -march=armv2"
msgstr "emplea -march=armv2"
-#: config/tc-arm.c:25732 config/tc-arm.c:25733
+#: config/tc-arm.c:30540 config/tc-arm.c:30541
msgid "use -march=armv2a"
msgstr "emplea -march=armv2a"
-#: config/tc-arm.c:25734 config/tc-arm.c:25735
+#: config/tc-arm.c:30542 config/tc-arm.c:30543
msgid "use -march=armv3"
msgstr "emplea -march=armv3"
-#: config/tc-arm.c:25736 config/tc-arm.c:25737
+#: config/tc-arm.c:30544 config/tc-arm.c:30545
msgid "use -march=armv3m"
msgstr "emplea -march=armv3m"
-#: config/tc-arm.c:25738 config/tc-arm.c:25739
+#: config/tc-arm.c:30546 config/tc-arm.c:30547
msgid "use -march=armv4"
msgstr "emplea -march=armv4"
-#: config/tc-arm.c:25740 config/tc-arm.c:25741
+#: config/tc-arm.c:30548 config/tc-arm.c:30549
msgid "use -march=armv4t"
msgstr "emplea -march=armv4t"
-#: config/tc-arm.c:25742 config/tc-arm.c:25743
+#: config/tc-arm.c:30550 config/tc-arm.c:30551
msgid "use -march=armv5"
msgstr "emplea -march=armv5"
-#: config/tc-arm.c:25744 config/tc-arm.c:25745
+#: config/tc-arm.c:30552 config/tc-arm.c:30553
msgid "use -march=armv5t"
msgstr "emplea -march=armv5t"
-#: config/tc-arm.c:25746 config/tc-arm.c:25747
+#: config/tc-arm.c:30554 config/tc-arm.c:30555
msgid "use -march=armv5te"
msgstr "emplea -march=armv5te"
-#. Floating point variants -- don't add any more to this list either.
-#: config/tc-arm.c:25750
-msgid "use -mfpu=fpe"
+#: config/tc-arm.c:30556
+#, fuzzy
+#| msgid "use -mfpu=fpe"
+msgid "use -mfpu=softvfp"
msgstr "emplea -mfpu=fpe"
-#: config/tc-arm.c:25751
-msgid "use -mfpu=fpa10"
-msgstr "emplea -mfpu=fpa10"
-
-#: config/tc-arm.c:25752
-msgid "use -mfpu=fpa11"
-msgstr "emplea -mfpu=fpa11"
-
-#: config/tc-arm.c:25754
-msgid "use either -mfpu=softfpa or -mfpu=softvfp"
-msgstr "emplea -mfpu=softfpa ó -mfpu=softvfp"
-
-#: config/tc-arm.c:26508
+#: config/tc-arm.c:31713
msgid "extension does not apply to the base architecture"
msgstr "extensión no se aplica a la arquitectura base"
-#: config/tc-arm.c:26538
+#: config/tc-arm.c:31742
msgid "architectural extensions must be specified in alphabetical order"
msgstr "extensiones de arquitectura deben ser especificadas en orden alfabético"
-#: config/tc-arm.c:26656 config/tc-arm.c:27541
+#: config/tc-arm.c:31881 config/tc-arm.c:32864
#, c-format
msgid "unknown floating point format `%s'\n"
msgstr "desconoce formato de coma flotante «%s»\n"
-#: config/tc-arm.c:26672
+#: config/tc-arm.c:31897 config/tc-csky.c:1264
#, c-format
msgid "unknown floating point abi `%s'\n"
msgstr "desconoce abi de coma flotante «%s» desconocida\n"
-#: config/tc-arm.c:26688
+#: config/tc-arm.c:31913
#, c-format
msgid "unknown EABI `%s'\n"
msgstr "desconoce EABI «%s»\n"
-#: config/tc-arm.c:26708
+#: config/tc-arm.c:31933
#, c-format
msgid "unknown implicit IT mode `%s', should be arm, thumb, always, or never."
msgstr "desconoce modo IT implícito «%s» , debe ser brazo, pulgar, siempre o nunca."
-#: config/tc-arm.c:26731 config/tc-metag.c:5913
+#: config/tc-arm.c:31956 config/tc-metag.c:5911
msgid "<fpu name>\t assemble for FPU architecture <fpu name>"
msgstr "<nombre fpu>\t ensambla para la arquitectura de Unidad de Coma Flotante <nombre fpu>"
-#: config/tc-arm.c:26733
+#: config/tc-arm.c:31958
msgid "<abi>\t assemble for floating point ABI <abi>"
msgstr "<abi>\t ensambla para la ABI de coma flotante <abi>"
-#: config/tc-arm.c:26736
+#: config/tc-arm.c:31961
msgid "<ver>\t\t assemble for eabi version <ver>"
msgstr "<ver>\t\t ensambla para la eabi versión <ver>"
-#: config/tc-arm.c:26739
+#: config/tc-arm.c:31964
msgid "<mode>\t controls implicit insertion of IT instructions"
msgstr "<modo>\t controla la inserción implícita de instrucciones IT"
-#: config/tc-arm.c:26741
+#: config/tc-arm.c:31966
msgid "\t\t\t TI CodeComposer Studio syntax compatibility mode"
msgstr "\t\t\t modo compatible de sintaxis TI CodeComposer Studio"
-#: config/tc-arm.c:26843
+#: config/tc-arm.c:31969
+msgid ""
+"[ieee|alternative]\n"
+" set the encoding for half precision floating point numbers to IEEE\n"
+" or Arm alternative format."
+msgstr ""
+
+#: config/tc-arm.c:32080
#, c-format
msgid " ARM-specific assembler options:\n"
msgstr " Opciones de ensamblador específicas de ARM:\n"
-#: config/tc-arm.c:26863
+#: config/tc-arm.c:32100
#, c-format
msgid " --fix-v4bx Allow BX in ARMv4 code\n"
msgstr " --fix-v4bx Permite BX en código ARMv4\n"
-#: config/tc-arm.c:27160
+#: config/tc-arm.c:32104
+#, fuzzy, c-format
+#| msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
+msgid " --fdpic generate an FDPIC object file\n"
+msgstr "--fdpic\t\t\tgenera un fichero objeto FDPIC\n"
+
+#: config/tc-arm.c:32425
msgid "no architecture contains all the instructions used\n"
msgstr "ninguna arquitectura contiene todas las instrucciones utilizadas\n"
-#: config/tc-arm.c:27479
+#: config/tc-arm.c:32617
+#, fuzzy
+#| msgid "missing cpu name `%s'"
+msgid ".cpu: missing cpu name"
+msgstr "ausente el nombre de cpu «%s»"
+
+#: config/tc-arm.c:32665
+#, fuzzy
+#| msgid "missing architecture name `%s'"
+msgid ".arch: missing architecture name"
+msgstr "ausente el nombre de arquitectura «%s»"
+
+#: config/tc-arm.c:32706
+#, fuzzy
+#| msgid "missing architecture name `%s'"
+msgid ".object_arch: missing architecture name"
+msgstr "ausente el nombre de arquitectura «%s»"
+
+#: config/tc-arm.c:32743
+#, fuzzy
+#| msgid "missing architectural extension"
+msgid ".arch_extension: missing architecture extension"
+msgstr "ausente la extensión de la arquitectura"
+
+#: config/tc-arm.c:32800
#, c-format
msgid "architectural extension `%s' is not allowed for the current base architecture"
msgstr "no se permite la extensión de arquitectura «%s» para la arquitectura base actual"
-#: config/tc-arm.c:27508
+#: config/tc-arm.c:32823
#, c-format
msgid "unknown architecture extension `%s'\n"
msgstr "desconoce extensión de arquitectura «%s»\n"
-#: config/tc-avr.c:594
+#: config/tc-arm.c:32844
+#, fuzzy
+#| msgid "missing fpu name `%s'"
+msgid ".fpu: missing fpu name"
+msgstr "ausente el nombre fpu «%s»"
+
+#: config/tc-avr.c:597
#, c-format
msgid "Known MCU names:"
msgstr "Nombres MCU conocidos:"
-#: config/tc-avr.c:659
+#: config/tc-avr.c:662
#, c-format
msgid ""
"AVR Assembler options:\n"
@@ -5036,8 +6149,18 @@ msgstr ""
" avrxmega7 - XMEGA, > 128K, ≤ 256K FLASH, > 64K RAM\n"
" avrtinyo Núcleo -AVR Tiny con registros 16 gp\n"
-#: config/tc-avr.c:682
-#, c-format
+#: config/tc-avr.c:685
+#, fuzzy, c-format
+#| msgid ""
+#| " -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n"
+#| " -mno-skip-bug disable warnings for skipping two-word instructions\n"
+#| " (default for avr4, avr5)\n"
+#| " -mno-wrap reject rjmp/rcall instructions with 8K wrap-around\n"
+#| " (default for avr3, avr5)\n"
+#| " -mrmw accept Read-Modify-Write instructions\n"
+#| " -mlink-relax generate relocations for linker relaxation (default)\n"
+#| " -mno-link-relax don't generate relocations for linker relaxation.\n"
+#| " -mgcc-isr accept the __gcc_isr pseudo-instruction.\n"
msgid ""
" -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n"
" -mno-skip-bug disable warnings for skipping two-word instructions\n"
@@ -5048,6 +6171,8 @@ msgid ""
" -mlink-relax generate relocations for linker relaxation (default)\n"
" -mno-link-relax don't generate relocations for linker relaxation.\n"
" -mgcc-isr accept the __gcc_isr pseudo-instruction.\n"
+" -mno-dollar-line-separator\n"
+" do not treat the $ character as a line separator.\n"
msgstr ""
" -mall-opcodes acepta todos los códigos operacionales AVR, aún si\n"
" no lo admite el MCU\n"
@@ -5060,507 +6185,560 @@ msgstr ""
" -mno-link-relax no genera reubicación para relajación de enlazador.\n"
" -mgcc-isr acepta la __gcc_isr pseudo-instrucción.\n"
-#: config/tc-avr.c:721
+#: config/tc-avr.c:726
#, c-format
msgid "unknown MCU: %s\n"
msgstr "desconoce MCU: %s\n"
-#: config/tc-avr.c:735
+#: config/tc-avr.c:740
#, c-format
msgid "redefinition of mcu type `%s' to `%s'"
msgstr "redefinición del tipo de mcu «%s» a «%s»"
-#: config/tc-avr.c:858
+#: config/tc-avr.c:869
msgid "constant value required"
msgstr "se requiere un valor constante"
-#: config/tc-avr.c:861
+#: config/tc-avr.c:872
#, c-format
msgid "number must be positive and less than %d"
msgstr "el número debe ser positivo y menor que %d"
-#: config/tc-avr.c:887 config/tc-avr.c:1024
+#: config/tc-avr.c:898 config/tc-avr.c:1035
#, c-format
msgid "constant out of 8-bit range: %d"
msgstr "constante fuera del límite de 8-bit: %d"
-#: config/tc-avr.c:955 config/tc-score.c:1199 read.c:3814
+#: config/tc-avr.c:966 config/tc-score.c:1194 read.c:4075
msgid "illegal expression"
msgstr "expresión ilegal"
-#: config/tc-avr.c:984 config/tc-avr.c:1994 config/tc-pru.c:1874
+#: config/tc-avr.c:995 config/tc-avr.c:2004 config/tc-pru.c:1870
msgid "`)' required"
msgstr "`)' requerido"
-#: config/tc-avr.c:1094
+#: config/tc-avr.c:1105
msgid "register name or number from 16 to 31 required"
msgstr "requerido nombre o número de registro desde 16 a 32"
-#: config/tc-avr.c:1100
+#: config/tc-avr.c:1111
msgid "register name or number from 0 to 31 required"
msgstr "requerido nombre o número de registro desde 0 a 31"
-#: config/tc-avr.c:1108
+#: config/tc-avr.c:1119
msgid "register r16-r23 required"
msgstr "se requiere los registros r16-r23"
-#: config/tc-avr.c:1114
+#: config/tc-avr.c:1125
msgid "register number above 15 required"
msgstr "se requiere un número de registro superior a 15"
-#: config/tc-avr.c:1120
+#: config/tc-avr.c:1131 config/tc-csky.c:6417 config/tc-csky.c:6446
msgid "even register number required"
msgstr "requerido número de registro par"
-#: config/tc-avr.c:1126
+#: config/tc-avr.c:1137
msgid "register r24, r26, r28 or r30 required"
msgstr "se requieren los registros r24, r26, r28 o r30"
-#: config/tc-avr.c:1147
+#: config/tc-avr.c:1158
msgid "pointer register (X, Y or Z) required"
msgstr "registro puntero (X, Y o Z) requerido"
-#: config/tc-avr.c:1154
+#: config/tc-avr.c:1165
msgid "cannot both predecrement and postincrement"
msgstr "no se puede predecrementar y postincrementar"
-#: config/tc-avr.c:1162
+#: config/tc-avr.c:1173
msgid "addressing mode not supported"
msgstr "no se admite el modo de direccionamiento"
-#: config/tc-avr.c:1168
+#: config/tc-avr.c:1179
msgid "can't predecrement"
msgstr "no se puede predecrementar"
-#: config/tc-avr.c:1171
+#: config/tc-avr.c:1182
msgid "pointer register Z required"
msgstr "se requiere el registro puntero Z"
-#: config/tc-avr.c:1190
+#: config/tc-avr.c:1201
msgid "postincrement not supported"
msgstr "no se admite el postincremento"
-#: config/tc-avr.c:1200
+#: config/tc-avr.c:1211
msgid "pointer register (Y or Z) required"
msgstr "se requiere un registro puntero (Y o Z)"
-#: config/tc-avr.c:1322 config/tc-xgate.c:1352
+#: config/tc-avr.c:1333 config/tc-xgate.c:1354
#, c-format
msgid "unknown constraint `%c'"
msgstr "desconoce constante `%c'"
-#: config/tc-avr.c:1385 config/tc-avr.c:2677
+#: config/tc-avr.c:1396 config/tc-avr.c:2686
msgid "`,' required"
msgstr "`,' requerido"
-#: config/tc-avr.c:1406
+#: config/tc-avr.c:1417
msgid "undefined combination of operands"
msgstr "combinación indefinida de operandos"
-#: config/tc-avr.c:1415
+#: config/tc-avr.c:1426
msgid "skipping two-word instruction"
msgstr "se omite la instrucción de dos word"
-#: config/tc-avr.c:1603 config/tc-avr.c:1619 config/tc-avr.c:1750
-#: config/tc-msp430.c:4125 config/tc-msp430.c:4144
+#: config/tc-avr.c:1614 config/tc-avr.c:1630 config/tc-avr.c:1761
+#: config/tc-msp430.c:4500 config/tc-msp430.c:4519
#, c-format
msgid "odd address operand: %ld"
msgstr "operando de direccón impar: %ld"
-#: config/tc-avr.c:1611 config/tc-avr.c:1630 config/tc-avr.c:1648
-#: config/tc-avr.c:1659 config/tc-avr.c:1675 config/tc-avr.c:1683
-#: config/tc-avr.c:1778 config/tc-avr.c:1785 config/tc-d10v.c:503
-#: config/tc-d30v.c:553 config/tc-msp430.c:4133 config/tc-msp430.c:4151
+#: config/tc-avr.c:1622 config/tc-avr.c:1641 config/tc-avr.c:1659
+#: config/tc-avr.c:1670 config/tc-avr.c:1686 config/tc-avr.c:1694
+#: config/tc-avr.c:1789 config/tc-avr.c:1796 config/tc-d10v.c:503
+#: config/tc-d30v.c:550 config/tc-msp430.c:4508 config/tc-msp430.c:4526
#, c-format
msgid "operand out of range: %ld"
-msgstr "operando fuera de límite: %ld"
+msgstr "operando fuera de rango: %ld"
-#: config/tc-avr.c:1666
+#: config/tc-avr.c:1677
#, c-format
msgid "operand out of range: 0x%lx"
-msgstr "operando fuera de límite: 0x%lx"
+msgstr "operando fuera de rango: 0x%lx"
-#: config/tc-avr.c:1771 config/tc-d10v.c:1590 config/tc-d30v.c:2034
-#: config/tc-msp430.c:4222
+#: config/tc-avr.c:1782 config/tc-d10v.c:1592 config/tc-d30v.c:2011
+#: config/tc-msp430.c:4597
#, c-format
msgid "line %d: unknown relocation type: 0x%x"
msgstr "línea %d: tipo reubicado desconocida: 0x%x"
-#: config/tc-avr.c:1799
+#: config/tc-avr.c:1810
msgid "only constant expression allowed"
-msgstr "sólo se permite una expresión constante"
+msgstr "solo se permite una expresión constante"
#. xgettext:c-format.
-#: config/tc-avr.c:1854 config/tc-bfin.c:825 config/tc-d10v.c:1462
-#: config/tc-d30v.c:1771 config/tc-metag.c:7022 config/tc-mn10200.c:779
-#: config/tc-mn10300.c:2177 config/tc-msp430.c:4270 config/tc-ppc.c:7251
-#: config/tc-spu.c:879 config/tc-spu.c:1090 config/tc-v850.c:3367
-#: config/tc-z80.c:2059
+#: config/tc-avr.c:1864 config/tc-bfin.c:813 config/tc-d10v.c:1461
+#: config/tc-d30v.c:1768 config/tc-metag.c:7016 config/tc-mn10200.c:775
+#: config/tc-mn10300.c:2178 config/tc-msp430.c:4645 config/tc-ppc.c:7770
+#: config/tc-spu.c:878 config/tc-spu.c:1089 config/tc-v850.c:3360
+#: config/tc-z80.c:3871
#, c-format
msgid "reloc %d not supported by object file format"
msgstr "el formato del fichero objeto no admite la reubicación %d"
-#: config/tc-avr.c:1876 config/tc-ft32.c:232 config/tc-h8300.c:1960
-#: config/tc-mcore.c:880 config/tc-microblaze.c:933 config/tc-moxie.c:182
-#: config/tc-pj.c:253 config/tc-sh.c:2591 config/tc-wasm32.c:747
-#: config/tc-z8k.c:1223
+#: config/tc-avr.c:1886 config/tc-ft32.c:232 config/tc-h8300.c:1928
+#: config/tc-mcore.c:881 config/tc-microblaze.c:913 config/tc-moxie.c:180
+#: config/tc-pj.c:253 config/tc-sh.c:2182 config/tc-wasm32.c:747
+#: config/tc-z8k.c:1233
msgid "can't find opcode "
msgstr "no se puede encontrar el código operacional "
-#: config/tc-avr.c:1895
+#: config/tc-avr.c:1905
#, c-format
msgid "illegal opcode %s for mcu %s"
msgstr "código operacional %s ilegal para el mcu %s"
-#: config/tc-avr.c:1911
+#: config/tc-avr.c:1921
#, c-format
msgid "pseudo instruction `%s' not supported"
msgstr "pseudo instrucción «%s» no admitida"
-#: config/tc-avr.c:1933
+#: config/tc-avr.c:1943
msgid "garbage at end of line"
msgstr "basura al final de la línea"
-#: config/tc-avr.c:2043 config/tc-pru.c:1906
+#: config/tc-avr.c:2053 config/tc-pru.c:1902
#, c-format
msgid "illegal %s relocation size: %d"
msgstr "reubicación de tamaño %s ilegal: %d"
-#: config/tc-avr.c:2156 config/tc-avr.c:2211
+#: config/tc-avr.c:2166 config/tc-avr.c:2221
#, c-format
msgid "unknown record type %d (in %s)"
msgstr "tipo de registro desconociodo %d (en %s)"
-#: config/tc-avr.c:2232
+#: config/tc-avr.c:2242
#, c-format
msgid "Failed to create property section `%s'\n"
msgstr "Fallado para crear secciones propietarias `%s'\n"
-#: config/tc-avr.c:2669
+#: config/tc-avr.c:2678
#, c-format
msgid "%s requires value 0-2 as operand 1"
msgstr ""
-#: config/tc-avr.c:2694
+#: config/tc-avr.c:2703
#, c-format
msgid "`%s %d' after `%s %d' from %s:%u"
msgstr "`%s %d' tras `%s %d' desde %s:%u"
-#: config/tc-avr.c:2697
+#: config/tc-avr.c:2706
#, c-format
msgid "`%s %d' but no chunk open yet"
msgstr "«%s %d» pero no recorta abierto aún"
-#: config/tc-avr.c:2785
+#: config/tc-avr.c:2794
#, c-format
msgid "dangling `__gcc_isr %d'"
msgstr "`__gcc_isr colgado %d'"
-#: config/tc-avr.c:2787
+#: config/tc-avr.c:2796
msgid "dangling `__gcc_isr'"
msgstr "colgado `__gcc_isr'"
-#: config/tc-bfin.c:94 config/tc-frv.c:1603 config/tc-frv.c:1613
+#: config/tc-bfin.c:93 config/tc-frv.c:1603 config/tc-frv.c:1613
msgid "missing ')'"
msgstr "ausente ')'"
-#: config/tc-bfin.c:440
+#: config/tc-bfin.c:428
#, c-format
msgid " Blackfin specific assembler options:\n"
msgstr " Opciones de ensamblador específicas de Blackfin:\n"
-#: config/tc-bfin.c:441
+#: config/tc-bfin.c:429
#, c-format
msgid " -mcpu=<cpu[-sirevision]> specify the name of the target CPU\n"
msgstr " -mcpu=<cpu[-sirevision]> especifica el nombre del CPU objetivo\n"
-#: config/tc-bfin.c:442
+#: config/tc-bfin.c:430
#, c-format
msgid " -mfdpic assemble for the FDPIC ABI\n"
msgstr " -mfdpic ensambla para la ABI de FDPIC\n"
-#: config/tc-bfin.c:443
+#: config/tc-bfin.c:431
#, c-format
msgid " -mno-fdpic/-mnopic disable -mfdpic\n"
msgstr " -mno-fdpic/-mnopic desactiva -mfdpic\n"
-#: config/tc-bfin.c:456
+#: config/tc-bfin.c:444
msgid "Could not set architecture and machine."
msgstr "No se pueden establecer la arquitectura y la máquina."
-#: config/tc-bfin.c:603
+#: config/tc-bfin.c:591
msgid "Parse failed."
msgstr "Falló la decodificación."
-#: config/tc-bfin.c:678
+#: config/tc-bfin.c:666
msgid "pcrel too far BFD_RELOC_BFIN_10"
msgstr "pcrel demasiado lejos de BFD_RELOC_BFIN_10"
-#: config/tc-bfin.c:694
+#: config/tc-bfin.c:682
msgid "pcrel too far BFD_RELOC_BFIN_12"
msgstr "pcrel demasiado lejos de BFD_RELOC_BFIN_12"
-#: config/tc-bfin.c:714
+#: config/tc-bfin.c:702
msgid "pcrel too far BFD_RELOC_BFIN_24"
msgstr "pcrel demasiado lejos de BFD_RELOC_BFIN_24"
-#: config/tc-bfin.c:729
+#: config/tc-bfin.c:717
msgid "pcrel too far BFD_RELOC_BFIN_5"
msgstr "pcrel demasiado lejos de BFD_RELOC_BFIN_5"
-#: config/tc-bfin.c:741
+#: config/tc-bfin.c:729
msgid "pcrel too far BFD_RELOC_BFIN_11_PCREL"
msgstr "pcrel demasiado lejos de BFD_RELOC_BFIN_11_PCREL"
-#: config/tc-bfin.c:751
+#: config/tc-bfin.c:739
msgid "rel too far BFD_RELOC_8"
msgstr "rel demasiado lejos de BFD_RELOC_8"
-#: config/tc-bfin.c:758
+#: config/tc-bfin.c:746
msgid "rel too far BFD_RELOC_16"
msgstr "rel demasiado lejos de BFD_RELOC_16"
-#: config/tc-cr16.c:164 read.c:4667
+#: config/tc-bpf.c:194
+#, c-format
+msgid "-mdialect=%s is not valid. Expected normal or pseudoc"
+msgstr ""
+
+#: config/tc-bpf.c:209
+#, c-format
+msgid "-misa-spec=%s is not valid. Expected v1, v2, v3, v4 o xbpf"
+msgstr ""
+
+#: config/tc-bpf.c:229
+#, fuzzy, c-format
+#| msgid "FT32 options:\n"
+msgid ""
+"\n"
+"BPF options:\n"
+msgstr "Opciones FT32:\n"
+
+#: config/tc-bpf.c:230
+#, c-format
+msgid ""
+"BPF options:\n"
+" -EL generate code for a little endian machine\n"
+" -EB generate code for a big endian machine\n"
+" -mdialect=DIALECT set the assembly dialect (normal, pseudoc)\n"
+" -misa-spec set the BPF ISA spec (v1, v2, v3, v4, xbpf)\n"
+" -mxbpf alias for -misa-spec=xbpf\n"
+msgstr ""
+
+#: config/tc-bpf.c:588
+msgid "signed instruction operand out of range, shall fit in 32 bits"
+msgstr ""
+
+#: config/tc-bpf.c:962
+#, fuzzy
+#| msgid "immediate out of range for insert"
+msgid "immediate out of range, shall fit in 32 bits"
+msgstr "inmediato fuera de rango para insert"
+
+#: config/tc-bpf.c:972
+#, fuzzy
+#| msgid "pc-relative load offset out of range"
+msgid "pc-relative offset out of range, shall fit in 32 bits"
+msgstr "el desplazamiento de carga pc-relativa fuera de rango"
+
+#: config/tc-bpf.c:982 config/tc-bpf.c:992
+#, fuzzy
+#| msgid "pc-relative load offset out of range"
+msgid "pc-relative offset out of range, shall fit in 16 bits"
+msgstr "el desplazamiento de carga pc-relativa fuera de rango"
+
+#: config/tc-bpf.c:1375
+#, fuzzy, c-format
+#| msgid "unexpected `\"' in expression"
+msgid "unexpected register name `%s' in expression"
+msgstr "`«' o `»' inesperada dentro de expresión"
+
+#: config/tc-bpf.c:1706
+#, fuzzy, c-format
+#| msgid "invalid condition code '%s'"
+msgid "invalid %%-tag in BPF opcode '%s'\n"
+msgstr "código condicional inválido «%s»"
+
+#: config/tc-bpf.c:1753
+#, fuzzy, c-format
+#| msgid "unrecognised instruction %s"
+msgid "unrecognized instruction `%s'"
+msgstr "instrucción %s no reconocida"
+
+#: config/tc-cr16.c:168
msgid "using a bit field width of zero"
msgstr "empleando una anchura de campo de bit de cero"
-#: config/tc-cr16.c:172 read.c:4675
+#: config/tc-cr16.c:176
#, c-format
msgid "field width \"%s\" too complex for a bitfield"
msgstr "anchura de campo «%s» es demasiado compleja para un campo de bits"
-#: config/tc-cr16.c:181 read.c:4683
+#: config/tc-cr16.c:186
#, c-format
msgid "field width %lu too big to fit in %d byte: truncated to %d bits"
msgid_plural "field width %lu too big to fit in %d bytes: truncated to %d bits"
msgstr[0] "anchura de campo %lu es muy grande para caber en %d byte: se truncó a %d bits"
msgstr[1] "anchura de campo %lu es muy grande para caber en %d bytes: se truncó a %d bits"
-#: config/tc-cr16.c:208 read.c:4709
+#: config/tc-cr16.c:212
#, c-format
msgid "field value \"%s\" too complex for a bitfield"
msgstr "valor del campo «%s» es demasiado complejo para un campo de bits"
-#: config/tc-cr16.c:389
+#: config/tc-cr16.c:394
#, c-format
msgid "Unknown register pair - index relative mode: `%d'"
-msgstr "Registros modo relativo par - indizado desconocido: '%d'"
+msgstr "Registros modo relativo par - indexado desconocido: '%d'"
-#: config/tc-cr16.c:603 config/tc-crx.c:361
+#: config/tc-cr16.c:601 config/tc-crx.c:331
#, c-format
msgid "internal error: reloc %d (`%s') not supported by object file format"
msgstr "error interno: reubicación %d («%s») no admitidó por formato del fichero objeto"
-#: config/tc-cr16.c:696 config/tc-i386.c:10718 config/tc-s390.c:2106
+#: config/tc-cr16.c:694 config/tc-i386.c:17857 config/tc-s390.c:2340
msgid "GOT already in symbol table"
msgstr "GOT ya está en la distribución simbólicos"
-#: config/tc-cr16.c:813 config/tc-m68k.c:4657 config/tc-tilegx.c:319
-#: config/tc-tilepro.c:256
-#, c-format
-msgid "Internal Error: Can't hash %s: %s"
-msgstr "Error Interno: No se puede dispersar %s: %s"
-
-#: config/tc-cr16.c:839 config/tc-cris.c:1229 config/tc-crx.c:545
-#, c-format
-msgid "Can't hash `%s': %s\n"
-msgstr "No se puede dispersar «%s»: %s\n"
-
-#: config/tc-cr16.c:840 config/tc-cris.c:1230 config/tc-crx.c:546
-msgid "(unknown reason)"
-msgstr "(razón desconocida)"
-
#. Missing or bad expr becomes absolute 0.
-#: config/tc-cr16.c:892 config/tc-crx.c:619
+#: config/tc-cr16.c:878 config/tc-crx.c:568
#, c-format
msgid "missing or invalid displacement expression `%s' taken as 0"
msgstr "la expresión de desubicación ausentente o no válida «%s» se toma como 0"
-#: config/tc-cr16.c:942
+#: config/tc-cr16.c:928
#, c-format
msgid "GOT bad expression with %s."
-msgstr "GOT como expresión equivocada con %s."
+msgstr "GOT como expresión incorrecta con %s."
-#: config/tc-cr16.c:1053
+#: config/tc-cr16.c:1039
#, c-format
msgid "operand %d: illegal use expression: `%s`"
msgstr "operando %d: expresión de uso ilegal: `%s`"
-#: config/tc-cr16.c:1118 config/tc-crx.c:1129
+#: config/tc-cr16.c:1104 config/tc-crx.c:1078
#, c-format
msgid "Unknown register: `%d'"
msgstr "Registro desconocido: '%d'"
#. Issue a error message when register is illegal.
-#: config/tc-cr16.c:1126
+#: config/tc-cr16.c:1112
#, c-format
msgid "Illegal register (`%s') in Instruction: `%s'"
msgstr "Registro ilegal («%s») en Instruction: «%s»"
-#: config/tc-cr16.c:1199 config/tc-cr16.c:1274
+#: config/tc-cr16.c:1186 config/tc-cr16.c:1261
#, c-format
msgid "Illegal register `%s' in Instruction `%s'"
msgstr "Registro ilegal «%s» en la Instruction «%s»"
-#: config/tc-cr16.c:1227 config/tc-cr16.c:1238
+#: config/tc-cr16.c:1214 config/tc-cr16.c:1225
#, c-format
msgid "Illegal register pair `%s' in Instruction `%s'"
msgstr "Par de registro ilegal «%s» en la Instrucción «%s»"
-#: config/tc-cr16.c:1263 config/tc-i960.c:833
+#: config/tc-cr16.c:1250
msgid "unmatched '['"
msgstr "desemparejado '['"
-#: config/tc-cr16.c:1269 config/tc-i960.c:840
+#: config/tc-cr16.c:1256
msgid "garbage after index spec ignored"
msgstr "se descarta la basura tras la especificación del índice"
-#: config/tc-cr16.c:1417 config/tc-crx.c:938
+#: config/tc-cr16.c:1404 config/tc-crx.c:887
#, c-format
msgid "Illegal operands (whitespace): `%s'"
msgstr "Operandos ilegales (espacios en blanco): «%s»"
-#: config/tc-cr16.c:1429 config/tc-cr16.c:1436 config/tc-cr16.c:1453
-#: config/tc-crx.c:950 config/tc-crx.c:957 config/tc-crx.c:974
-#: config/tc-crx.c:1767
+#: config/tc-cr16.c:1416 config/tc-cr16.c:1423 config/tc-cr16.c:1440
+#: config/tc-crx.c:899 config/tc-crx.c:906 config/tc-crx.c:923
+#: config/tc-crx.c:1714
#, c-format
msgid "Missing matching brackets : `%s'"
msgstr "Ausenten las llaves coincidentes : «%s»"
-#: config/tc-cr16.c:1485 config/tc-crx.c:1000
+#: config/tc-cr16.c:1472 config/tc-crx.c:949
#, c-format
msgid "Unknown exception: `%s'"
msgstr "Excepción desconocida: «%s»"
-#: config/tc-cr16.c:1570 config/tc-crx.c:1096
+#: config/tc-cr16.c:1554 config/tc-crx.c:1045
#, c-format
msgid "Illegal `cinv' parameter: `%c'"
msgstr "Parámetro `cinv' ilegal: `%c'"
-#: config/tc-cr16.c:1591 config/tc-cr16.c:1630
+#: config/tc-cr16.c:1575 config/tc-cr16.c:1614
#, c-format
msgid "Unknown register pair: `%d'"
msgstr "Par de registro desconocido: '%d'"
#. Issue a error message when register pair is illegal.
-#: config/tc-cr16.c:1599
+#: config/tc-cr16.c:1583
#, c-format
msgid "Illegal register pair (`%s') in Instruction: `%s'"
msgstr "Par de registro ilegal («%s») en la Instrucción: «%s»"
#. Issue a error message when register pair is illegal.
-#: config/tc-cr16.c:1638
+#: config/tc-cr16.c:1622
#, c-format
msgid "Illegal index register pair (`%s') in Instruction: `%s'"
msgstr "Par de registro de índice ilegal («%s») en la Instrucción: «%s»"
-#: config/tc-cr16.c:1677
+#: config/tc-cr16.c:1661
#, c-format
msgid "Unknown processor register : `%d'"
msgstr "Registro de procesador desconocido: '%d'"
#. Issue a error message when register pair is illegal.
-#: config/tc-cr16.c:1685
+#: config/tc-cr16.c:1669
#, c-format
msgid "Illegal processor register (`%s') in Instruction: `%s'"
msgstr "Registro de procesador ilegal («%s») en la Instrucción: «%s»"
-#: config/tc-cr16.c:1733
+#: config/tc-cr16.c:1717
#, c-format
msgid "Unknown processor register (32 bit) : `%d'"
msgstr "Registro de procesador desconocido (32 bit) : '%d'"
#. Issue a error message when register pair is illegal.
-#: config/tc-cr16.c:1741
+#: config/tc-cr16.c:1725
#, c-format
msgid "Illegal 32 bit - processor register (`%s') in Instruction: `%s'"
msgstr "Registro de procesador de 32 bit ilegal («%s») en la Instruction: «%s»"
-#: config/tc-cr16.c:2107 config/tc-crx.c:1665 config/tc-crx.c:1682
+#: config/tc-cr16.c:2070 config/tc-crx.c:1612 config/tc-crx.c:1629
#, c-format
msgid "Same src/dest register is used (`r%d'), result is undefined"
msgstr "Se usa el mismo registro fuente/destino (`r%d'), el resultado es indefinido"
-#: config/tc-cr16.c:2128
+#: config/tc-cr16.c:2092
msgid "RA register is saved twice."
msgstr "El registro RA se guarda dos veces."
-#: config/tc-cr16.c:2132
+#: config/tc-cr16.c:2096
#, c-format
msgid "`%s' Illegal use of registers."
msgstr "«%s» Uso inválido de registros."
-#: config/tc-cr16.c:2146
+#: config/tc-cr16.c:2110
#, c-format
msgid "`%s' Illegal count-register combination."
msgstr "«%s» Combinación de registros-cuenta ilegal."
-#: config/tc-cr16.c:2152
+#: config/tc-cr16.c:2116
#, c-format
msgid "`%s' Illegal use of register."
msgstr "«%s» Uso inválido de registro."
-#: config/tc-cr16.c:2161 config/tc-crx.c:1674
+#: config/tc-cr16.c:2125 config/tc-crx.c:1621
#, c-format
msgid "`%s' has undefined result"
msgstr "«%s» tiene un resultado indefinido"
-#: config/tc-cr16.c:2169
+#: config/tc-cr16.c:2133
#, c-format
msgid "Same src/dest register is used (`r%d'),result is undefined"
msgstr "Se usa el mismo registro fuente/destino (`r%d'), el resultado es indefinido"
-#: config/tc-cr16.c:2340 config/tc-crx.c:1579
+#: config/tc-cr16.c:2304 config/tc-crx.c:1527
msgid "Incorrect number of operands"
msgstr "Número incorrecto de operandos"
-#: config/tc-cr16.c:2342 config/tc-crx.c:1581
+#: config/tc-cr16.c:2306 config/tc-crx.c:1529
#, c-format
msgid "Illegal type of operand (arg %d)"
msgstr "Tipo de operando ilegal (arg %d)"
-#: config/tc-cr16.c:2348 config/tc-crx.c:1587
+#: config/tc-cr16.c:2312 config/tc-crx.c:1535
#, c-format
msgid "Operand out of range (arg %d)"
-msgstr "Operando fuera de límite (arg %d)"
+msgstr "Operando fuera de rango (arg %d)"
-#: config/tc-cr16.c:2351 config/tc-crx.c:1590
+#: config/tc-cr16.c:2315 config/tc-crx.c:1538
#, c-format
msgid "Operand has odd displacement (arg %d)"
msgstr "Operando tiene un desplazamiento impar (arg %d)"
-#: config/tc-cr16.c:2354 config/tc-cr16.c:2385 config/tc-crx.c:1603
-#: config/tc-crx.c:1634
+#: config/tc-cr16.c:2318 config/tc-cr16.c:2349 config/tc-crx.c:1553
+#: config/tc-crx.c:1581
#, c-format
msgid "Illegal operand (arg %d)"
msgstr "Operando ilegal (arg %d)"
#. Give an error if a frag containing code is not aligned to a 2-byte
#. boundary.
-#: config/tc-cr16.c:2487 config/tc-cr16.h:74 config/tc-crx.c:1956
-#: config/tc-crx.h:77 config/tc-ppc.c:3542 config/tc-ppc.c:6500
+#: config/tc-cr16.c:2451 config/tc-cr16.h:74 config/tc-crx.c:1903
+#: config/tc-crx.h:77
msgid "instruction address is not a multiple of 2"
msgstr "la instrucción direccional no es un múltiplo de 2"
-#: config/tc-cr16.c:2510 config/tc-cris.c:1556 config/tc-cris.c:1564
-#: config/tc-crx.c:1992 config/tc-dlx.c:692 config/tc-hppa.c:3212
-#: config/tc-hppa.c:3219 config/tc-i860.c:490 config/tc-i860.c:507
-#: config/tc-i860.c:987 config/tc-sparc.c:1813 config/tc-sparc.c:1821
+#: config/tc-cr16.c:2474 config/tc-cris.c:1550 config/tc-cris.c:1558
+#: config/tc-crx.c:1939 config/tc-dlx.c:681 config/tc-hppa.c:3206
+#: config/tc-hppa.c:3213 config/tc-sparc.c:1753 config/tc-sparc.c:1761
#, c-format
msgid "Unknown opcode: `%s'"
msgstr "Código operacional desconocido: «%s»"
-#: config/tc-cris.c:550 config/tc-m68hc11.c:3893
+#: config/tc-cris.c:550 config/tc-m68hc11.c:3894
#, c-format
msgid "internal inconsistency problem in %s: fr_symbol %lx"
msgstr "problema de inconsistencia interna en %s: fr_symbol %lx"
-#: config/tc-cris.c:554 config/tc-m68hc11.c:3897 config/tc-msp430.c:4620
+#: config/tc-cris.c:554 config/tc-m68hc11.c:3898 config/tc-msp430.c:4991
#, c-format
msgid "internal inconsistency problem in %s: resolved symbol"
msgstr "problema de inconsistencia interna en %s: símbolo resuelto"
-#: config/tc-cris.c:564 config/tc-m68hc11.c:3903
+#: config/tc-cris.c:564 config/tc-m68hc11.c:3904
#, c-format
msgid "internal inconsistency problem in %s: fr_subtype %d"
msgstr "problema de inconsistencia interna en %s: fr_subtype %d"
@@ -5601,211 +6779,211 @@ msgstr "ubicación de MULS/MULU peligrosa; déles una alineamiento superior"
#. $acr", "nop"; but doesn't seem worth it at the moment.)
#: config/tc-cris.c:1051
msgid "Out-of-range .word offset handling is not implemented for .arch common_v10_v32"
-msgstr "El manejo del desplazamiento .word fuera de límite no está implementado para .arch common_v10_v32"
+msgstr "El manejo del desplazamiento .word fuera de rango no está implementado para .arch common_v10_v32"
#: config/tc-cris.c:1096
msgid ".word case-table handling failed: table too large"
msgstr "Falló el manejo de la distribución de case .word: la distribución es demasiado grande"
-#: config/tc-cris.c:1234
+#: config/tc-cris.c:1228
#, c-format
msgid "Buggy opcode: `%s' \"%s\"\n"
msgstr "Código operacional defectuoso: «%s» «%s»\n"
-#: config/tc-cris.c:1662
+#: config/tc-cris.c:1656
#, c-format
msgid "Immediate value not in 5 bit unsigned range: %ld"
msgstr "El valor inmediato no está en el límite de 5 bit sin signo: %ld"
-#: config/tc-cris.c:1678
+#: config/tc-cris.c:1672
#, c-format
msgid "Immediate value not in 4 bit unsigned range: %ld"
msgstr "El valor inmediato no está en el límite de 4 bit sin signo: %ld"
-#: config/tc-cris.c:1730
+#: config/tc-cris.c:1724
#, c-format
msgid "Immediate value not in 6 bit range: %ld"
msgstr "El valor inmediato no está en el límite de 6 bit: %ld"
-#: config/tc-cris.c:1746
+#: config/tc-cris.c:1740
#, c-format
msgid "Immediate value not in 6 bit unsigned range: %ld"
msgstr "El valor inmediato no está en el límite de 6 bit sin signo: %ld"
#. Others have a generic warning.
-#: config/tc-cris.c:1855
+#: config/tc-cris.c:1849
#, c-format
msgid "Unimplemented register `%s' specified"
msgstr "Registro no implementado «%s» especificado"
#. We've come to the end of instructions with this
#. opcode, so it must be an error.
-#: config/tc-cris.c:2099
+#: config/tc-cris.c:2093
msgid "Illegal operands"
msgstr "Operandos ilegales"
-#: config/tc-cris.c:2140 config/tc-cris.c:2180
+#: config/tc-cris.c:2134 config/tc-cris.c:2174
#, c-format
msgid "Immediate value not in 8 bit range: %ld"
msgstr "El valor inmediato no está en el límite de 8 bit: %ld"
-#: config/tc-cris.c:2150 config/tc-cris.c:2201
+#: config/tc-cris.c:2144 config/tc-cris.c:2195
#, c-format
msgid "Immediate value not in 16 bit range: %ld"
msgstr "El valor inmediato no está en el límite de 16 bit: %ld"
-#: config/tc-cris.c:2185
+#: config/tc-cris.c:2179
#, c-format
msgid "Immediate value not in 8 bit signed range: %ld"
msgstr "El valor inmediato no está en el límite de 8 bit con signo: %ld"
-#: config/tc-cris.c:2190
+#: config/tc-cris.c:2184
#, c-format
msgid "Immediate value not in 8 bit unsigned range: %ld"
msgstr "El valor inmediato no está en el límite de 8 bit sin signo: %ld"
-#: config/tc-cris.c:2206
+#: config/tc-cris.c:2200
#, c-format
msgid "Immediate value not in 16 bit signed range: %ld"
msgstr "El valor inmediato no está en el límite de 16 bit con signo: %ld"
-#: config/tc-cris.c:2211
+#: config/tc-cris.c:2205
#, c-format
msgid "Immediate value not in 16 bit unsigned range: %ld"
msgstr "El valor inmediato no está en el límite de 16 bit sin signo: %ld"
-#: config/tc-cris.c:2237
+#: config/tc-cris.c:2231
msgid "TLS relocation size does not match operand size"
msgstr "TLS para tamaño de la reubicación no coincide con el tamaño de operando"
-#: config/tc-cris.c:2238
+#: config/tc-cris.c:2232
msgid "PIC relocation size does not match operand size"
msgstr "PIC como tamaño reubicado no coincide con el tamaño de operando"
-#: config/tc-cris.c:3385
+#: config/tc-cris.c:3379
msgid "Calling gen_cond_branch_32 for .arch common_v10_v32\n"
msgstr "Se llama a gen_cond_branch_32 para .arch common_v10_v32\n"
-#: config/tc-cris.c:3389
+#: config/tc-cris.c:3383
msgid "32-bit conditional branch generated"
msgstr "generada una ramificación condicional de 32-bit"
-#: config/tc-cris.c:3450
+#: config/tc-cris.c:3444
msgid "Complex expression not supported"
msgstr "No se admiten las expresiones complejas"
#. FIXME: Is this function mentioned in the internals.texi manual? If
#. not, add it.
-#: config/tc-cris.c:3600
+#: config/tc-cris.c:3594
msgid "Bad call to md_atof () - floating point formats are not supported"
-msgstr "Llamada equivocada a md_atof () - no se admiten los formatos de coma flotante"
+msgstr "Llamada incorrecta a md_atof () - no se admiten los formatos de coma flotante"
-#: config/tc-cris.c:3641
+#: config/tc-cris.c:3635
msgid "PC-relative relocation must be trivially resolved"
msgstr "Reubicación relativa al PC se debe resolver trivialmente"
-#: config/tc-cris.c:3713
+#: config/tc-cris.c:3707
#, c-format
msgid "Value not in 16 bit range: %ld"
msgstr "El valor no está en el límite de 16 bit: %ld"
-#: config/tc-cris.c:3721
+#: config/tc-cris.c:3715
#, c-format
msgid "Value not in 16 bit signed range: %ld"
msgstr "El valor no está en el límite de 16 bit con signo: %ld"
-#: config/tc-cris.c:3729
+#: config/tc-cris.c:3723
#, c-format
msgid "Value not in 8 bit range: %ld"
msgstr "El valor no está en el límite de 8 bit: %ld"
-#: config/tc-cris.c:3736
+#: config/tc-cris.c:3730
#, c-format
msgid "Value not in 8 bit signed range: %ld"
msgstr "El valor no está en el límite de 8 bit con signo: %ld"
-#: config/tc-cris.c:3746
+#: config/tc-cris.c:3740
#, c-format
msgid "Value not in 4 bit unsigned range: %ld"
msgstr "El valor no está en el límite de 4 bit sin signo: %ld"
-#: config/tc-cris.c:3753
+#: config/tc-cris.c:3747
#, c-format
msgid "Value not in 5 bit unsigned range: %ld"
msgstr "El valor no está en el límite de 5 bit sin signo: %ld"
-#: config/tc-cris.c:3760
+#: config/tc-cris.c:3754
#, c-format
msgid "Value not in 6 bit range: %ld"
msgstr "El valor no está en el límite de 6 bit: %ld"
-#: config/tc-cris.c:3767
+#: config/tc-cris.c:3761
#, c-format
msgid "Value not in 6 bit unsigned range: %ld"
msgstr "El valor no está en el límite de 6 bit sin signo: %ld"
-#: config/tc-cris.c:3811
+#: config/tc-cris.c:3805
#, c-format
msgid "Please use --help to see usage and options for this assembler.\n"
msgstr "Por favor utilice --help para ver el modo de empleo y casillas para este ensamblador.\n"
-#: config/tc-cris.c:3823
+#: config/tc-cris.c:3817
msgid "--no-underscore is invalid with a.out format"
msgstr "--no-underscore es inválido con el formato a.out"
-#: config/tc-cris.c:3835
+#: config/tc-cris.c:3829
msgid "--pic is invalid for this object format"
msgstr "--pic es inválido en este formato de objeto"
-#: config/tc-cris.c:3849
+#: config/tc-cris.c:3843
#, c-format
msgid "invalid <arch> in --march=<arch>: %s"
msgstr "arquitectura <arq> en --march=<arq> no válida: %s"
-#: config/tc-cris.c:3958 config/tc-ft32.c:689 config/tc-moxie.c:778
+#: config/tc-cris.c:3952 config/tc-ft32.c:688 config/tc-moxie.c:776
msgid "Semantics error. This type of operand can not be relocated, it must be an assembly-time constant"
msgstr "Error semántico. Este tipo de operando no se puede reubicar, debe ser una constante en el momento de ensamblado"
-#: config/tc-cris.c:4007 config/tc-ft32.c:710 config/tc-moxie.c:826
+#: config/tc-cris.c:4000 config/tc-ft32.c:708 config/tc-moxie.c:824
#, c-format
msgid "Cannot generate relocation type for symbol %s, code %s"
msgstr "No se puede generar el tipo reubicado para el símbolo %s, código %s"
#. The messages are formatted to line up with the generic options.
-#: config/tc-cris.c:4020
+#: config/tc-cris.c:4013
#, c-format
msgid "CRIS-specific options:\n"
msgstr "Opciones específicas de CRIS:\n"
-#: config/tc-cris.c:4022
+#: config/tc-cris.c:4015
msgid " -h, -H Don't execute, print this help text. Deprecated.\n"
msgstr " -h, -H No ejecutar, escribir este texto de ayuda. Obsoleto.\n"
-#: config/tc-cris.c:4024
+#: config/tc-cris.c:4017
msgid " -N Warn when branches are expanded to jumps.\n"
msgstr " -N Avisa cuando las ramificaciones se expanden a saltos.\n"
-#: config/tc-cris.c:4026
+#: config/tc-cris.c:4019
msgid " --underscore User symbols are normally prepended with underscore.\n"
msgstr " --underscore Los símbolos de usuario generalmente se preceden con subrayado.\n"
-#: config/tc-cris.c:4028
+#: config/tc-cris.c:4021
msgid " Registers will not need any prefix.\n"
msgstr " Los registros no necesitarán ningún prefijo.\n"
-#: config/tc-cris.c:4030
+#: config/tc-cris.c:4023
msgid " --no-underscore User symbols do not have any prefix.\n"
msgstr " --no-underscore Usuarios de símbolos no tienen ningún prefijo.\n"
-#: config/tc-cris.c:4032
+#: config/tc-cris.c:4025
msgid " Registers will require a `$'-prefix.\n"
msgstr " Los registros requerirán un prefijo `$'.\n"
-#: config/tc-cris.c:4035
+#: config/tc-cris.c:4028
msgid " --pic\t\t\tEnable generation of position-independent code.\n"
msgstr " --pic\t\t\tActiva la generación de código independiente de posición.\n"
-#: config/tc-cris.c:4038
+#: config/tc-cris.c:4031
msgid ""
" --march=<arch>\t\tGenerate code for <arch>. Valid choices for <arch>\n"
"\t\t\t\tare v0_v10, v10, v32 and common_v10_v32.\n"
@@ -5813,148 +6991,416 @@ msgstr ""
" --march=<arq>\t\tGenera código para <arq>. Las casillas válidas para <arq>\n"
"\t\t\t\tson v0_v10, v10, v32 y common_v10_v32.\n"
-#: config/tc-cris.c:4059
-msgid "Invalid relocation"
-msgstr "Reubicación no válida"
-
-#: config/tc-cris.c:4096
+#: config/tc-cris.c:4080
msgid "Invalid pc-relative relocation"
msgstr "Reubicación relativa a pc no válida"
-#: config/tc-cris.c:4141
+#: config/tc-cris.c:4125
#, c-format
msgid "Adjusted signed .word (%ld) overflows: `switch'-statement too large."
msgstr "Signo ajustado .word (%ld) desborda: sentencia `switch' demasiado grande."
-#: config/tc-cris.c:4171
+#: config/tc-cris.c:4155
#, c-format
msgid ".syntax %s requires command-line option `--underscore'"
msgstr ".syntax %s requiere de la opción de línea de mandatos `--underscore'"
-#: config/tc-cris.c:4180
+#: config/tc-cris.c:4164
#, c-format
msgid ".syntax %s requires command-line option `--no-underscore'"
msgstr ".syntax %s requiere de la opción de línea de mandatos `--no-underscore'"
-#: config/tc-cris.c:4217
+#: config/tc-cris.c:4201
msgid "Unknown .syntax operand"
msgstr "Desconoce operando .syntax"
-#: config/tc-cris.c:4227
+#: config/tc-cris.c:4211
msgid "Pseudodirective .file is only valid when generating ELF"
msgstr "La pseudodirectiva .file es válida solamente cuando se genera ELF"
-#: config/tc-cris.c:4239
+#: config/tc-cris.c:4223
msgid "Pseudodirective .loc is only valid when generating ELF"
msgstr "La pseudodirectiva .loc es válida solamente cuando se genera ELF"
-#: config/tc-cris.c:4254
+#: config/tc-cris.c:4238
#, c-format
msgid "internal inconsistency problem: %s called for %d bytes"
msgstr "problema de inconsistencia interna: se llamó %s por %d bytes"
-#: config/tc-cris.c:4406
+#: config/tc-cris.c:4390
msgid "unknown operand to .arch"
msgstr "operando desconocido para .arch"
-#: config/tc-cris.c:4415
+#: config/tc-cris.c:4399
msgid ".arch <arch> requires a matching --march=... option"
msgstr ".arch <arq> requiere una coincidencia --march=... opcional"
-#: config/tc-crx.c:572 config/tc-crx.c:591
-#, c-format
-msgid "Internal error: Can't hash %s: %s"
-msgstr "Error interno: No se puede dispersar %s: %s"
-
-#: config/tc-crx.c:759 config/tc-crx.c:779 config/tc-crx.c:794
+#: config/tc-crx.c:708 config/tc-crx.c:728 config/tc-crx.c:743
#, c-format
msgid "Illegal register `%s' in instruction `%s'"
msgstr "Registro ilegítimo «%s» en instrucción «%s»"
-#: config/tc-crx.c:822
+#: config/tc-crx.c:771
#, c-format
msgid "Illegal Scale - `%d'"
msgstr "Escala ilegal - '%d'"
#. Issue a error message when register is illegal.
-#: config/tc-crx.c:1137
+#: config/tc-crx.c:1086
#, c-format
msgid "Illegal register (`%s') in instruction: `%s'"
msgstr "Registro ilegítimo («%s») en instrucción: «%s»"
-#: config/tc-crx.c:1264
+#: config/tc-crx.c:1215
#, c-format
msgid "Illegal co-processor register in instruction `%s'"
msgstr "Registro co-procesador ilegal en Instrucción `%s'"
-#: config/tc-crx.c:1271
+#: config/tc-crx.c:1222
#, c-format
msgid "Illegal co-processor special register in instruction `%s'"
msgstr "Registro especial de co-procesador ilegal en la Instrucción «%s»"
-#: config/tc-crx.c:1593
+#: config/tc-crx.c:1542
#, c-format
msgid "Invalid DISPU4 operand value (arg %d)"
msgstr "Valor de operando DISPU4 inválido (arg %d)"
-#: config/tc-crx.c:1596
+#: config/tc-crx.c:1546
#, c-format
msgid "Invalid CST4 operand value (arg %d)"
msgstr "Valor de operando CST4 inválido (arg %d)"
-#: config/tc-crx.c:1599
+#: config/tc-crx.c:1549
#, c-format
msgid "Operand value is not within upper 64 KB (arg %d)"
msgstr "El valor de operando no está en los 64 KB superiores (arg %d)"
-#: config/tc-crx.c:1736
+#: config/tc-crx.c:1683
msgid "Invalid register in register list"
msgstr "Registrador inválido en listado de registro"
-#: config/tc-crx.c:1790
+#: config/tc-crx.c:1737
#, c-format
msgid "Illegal register `%s' in cop-register list"
msgstr "Registro ilegal «%s» en la lista de registros de coprocesador"
-#: config/tc-crx.c:1798
+#: config/tc-crx.c:1745
#, c-format
msgid "Illegal register `%s' in cop-special-register list"
msgstr "Registro ilegal «%s» en la lista especial de registros de coprocesador"
-#: config/tc-crx.c:1817
+#: config/tc-crx.c:1764
#, c-format
msgid "Illegal register `%s' in user register list"
msgstr "Registro ilegal «%s» en la lista de registros de usuario"
-#: config/tc-crx.c:1836
+#: config/tc-crx.c:1783
#, c-format
msgid "Illegal register `%s' in register list"
msgstr "Registro ilegal «%s» en la lista de registros"
-#: config/tc-crx.c:1842
+#: config/tc-crx.c:1789
#, c-format
msgid "Maximum %d bits may be set in `mask16' operand"
msgstr "Se pueden establecer %d bits `mask16' como máximo en operando"
-#: config/tc-crx.c:1851
+#: config/tc-crx.c:1798
#, c-format
msgid "rest of line ignored; first ignored character is `%c'"
msgstr "se descarta el resto de la línea; el primer carácter descartado es `%c'"
-#: config/tc-crx.c:1859
+#: config/tc-crx.c:1806
#, c-format
msgid "Illegal `mask16' operand, operation is undefined - `%s'"
msgstr "Operando `mask16' ilegal, la operación está indefinida - «%s»"
#. HI can't be specified without LO (and vise-versa).
-#: config/tc-crx.c:1865
+#: config/tc-crx.c:1812
msgid "HI/LO registers should be specified together"
msgstr "Los registros HI/LO se deben especificar juntos"
-#: config/tc-crx.c:1871
+#: config/tc-crx.c:1818
msgid "HI/LO registers should be specified without additional registers"
msgstr "Los registros HI/LO se deben especificar sin registros adicionales"
+#. Variable not in small data read only segment accessed
+#. using small data read only anchor.
+#: config/tc-csky.c:1149 config/tc-mcore.c:1927 config/tc-microblaze.c:2054
+#: config/tc-microblaze.c:2358 config/tc-microblaze.c:2381
+msgid "unknown"
+msgstr "desconocido"
+
+#: config/tc-csky.c:1151
+#, fuzzy, c-format
+#| msgid "pcrel for branch to %s too far (0x%lx)"
+msgid "pcrel offset for branch to %s too far (0x%lx)"
+msgstr "el pcrel para ramificar a %s muy lejos (0x%lx)"
+
+#: config/tc-csky.c:1235
+#, fuzzy, c-format
+#| msgid "unknown architecture `%s'\n"
+msgid "unknown architecture `%s'"
+msgstr "desconoce arquitectura «%s» \n"
+
+#: config/tc-csky.c:1408
+#, fuzzy, c-format
+#| msgid "wasm32 assembler options:\n"
+msgid "C-SKY assembler options:\n"
+msgstr "opciones ensamblador wasm32:\n"
+
+#: config/tc-csky.c:1410
+#, fuzzy, c-format
+#| msgid " -march=ARCH enable instructions from architecture ARCH\n"
+msgid " -march=ARCH\t\t\tselect architecture ARCH:"
+msgstr " -march=ARQ permite instrucciones para la arquitectura ARQ\n"
+
+#: config/tc-csky.c:1429
+#, c-format
+msgid " -mcpu=CPU\t\t\tselect processor CPU:"
+msgstr ""
+
+#: config/tc-csky.c:1456
+#, c-format
+msgid " -mfloat-abi=ABI\t\tselect float ABI:"
+msgstr ""
+
+#: config/tc-csky.c:1475
+#, fuzzy, c-format
+#| msgid " -mlittle-endian generate little-endian code\n"
+msgid " -EL -mlittle-endian\t\tgenerate little-endian output\n"
+msgstr " -mlittle-endian genera código little-endian\n"
+
+#: config/tc-csky.c:1477
+#, fuzzy, c-format
+#| msgid " -mbig-endian generate big-endian code\n"
+msgid " -EB -mbig-endian\t\tgenerate big-endian output\n"
+msgstr " -mbig-endian genera código big-endian\n"
+
+#: config/tc-csky.c:1479
+#, fuzzy, c-format
+#| msgid " --pic\t\t\tEnable generation of position-independent code.\n"
+msgid " -fpic -pic\t\t\tgenerate position-independent code\n"
+msgstr " --pic\t\t\tActiva la generación de código independiente de posición.\n"
+
+#: config/tc-csky.c:1482
+#, c-format
+msgid " -mljump\t\t\ttransform jbf, jbt, jbr to jmpi (CK800 only)\n"
+msgstr ""
+
+#: config/tc-csky.c:1484
+#, c-format
+msgid " -mno-ljump\n"
+msgstr ""
+
+#: config/tc-csky.c:1488
+#, c-format
+msgid " -mbranch-stub\t\t\tenable branch stubs for PC-relative calls\n"
+msgstr ""
+
+#: config/tc-csky.c:1490
+#, c-format
+msgid " -mno-branch-stub\n"
+msgstr ""
+
+#: config/tc-csky.c:1494
+#, c-format
+msgid " -force2bsr -mforce2bsr\ttransform jbsr to bsr\n"
+msgstr ""
+
+#: config/tc-csky.c:1496
+#, c-format
+msgid " -no-force2bsr -mno-force2bsr\n"
+msgstr ""
+
+#: config/tc-csky.c:1498
+#, c-format
+msgid " -jsri2bsr -mjsri2bsr\t\ttransform jsri to bsr\n"
+msgstr ""
+
+#: config/tc-csky.c:1500
+#, c-format
+msgid " -no-jsri2bsr -mno-jsri2bsr\n"
+msgstr ""
+
+#: config/tc-csky.c:1503
+#, c-format
+msgid " -mnolrw -mno-lrw\t\timplement lrw as movih + ori\n"
+msgstr ""
+
+#: config/tc-csky.c:1505
+#, c-format
+msgid " -melrw\t\t\tenable extended lrw (CK800 only)\n"
+msgstr ""
+
+#: config/tc-csky.c:1507
+#, c-format
+msgid " -mno-elrw\n"
+msgstr ""
+
+#: config/tc-csky.c:1510
+#, c-format
+msgid " -mlaf -mliterals-after-func\temit literals after each function\n"
+msgstr ""
+
+#: config/tc-csky.c:1512
+#, c-format
+msgid " -mno-laf -mno-literals-after-func\n"
+msgstr ""
+
+#: config/tc-csky.c:1514
+#, c-format
+msgid " -mlabr -mliterals-after-br\temit literals after branch instructions\n"
+msgstr ""
+
+#: config/tc-csky.c:1516
+#, c-format
+msgid " -mno-labr -mnoliterals-after-br\n"
+msgstr ""
+
+#: config/tc-csky.c:1519
+#, c-format
+msgid " -mistack\t\t\tenable interrupt stack instructions\n"
+msgstr ""
+
+#: config/tc-csky.c:1521
+#, c-format
+msgid " -mno-istack\n"
+msgstr ""
+
+#: config/tc-csky.c:1524
+#, fuzzy, c-format
+#| msgid " -mno-stld23\t\t disable st/ld offset23 instruction\n"
+msgid " -mhard-float\t\t\tenable hard float instructions\n"
+msgstr " -mno-stld23\t\t desactiva la instrucción desplazamiento st/ld offset23\n"
+
+#: config/tc-csky.c:1526
+#, c-format
+msgid " -mmp\t\t\t\tenable multiprocessor instructions\n"
+msgstr ""
+
+#: config/tc-csky.c:1528
+#, fuzzy, c-format
+#| msgid "Illegal co-processor register in instruction `%s'"
+msgid " -mcp\t\t\t\tenable coprocessor instructions\n"
+msgstr "Registro co-procesador ilegal en Instrucción `%s'"
+
+#: config/tc-csky.c:1530
+#, c-format
+msgid " -mcache\t\t\tenable cache prefetch instruction\n"
+msgstr ""
+
+#: config/tc-csky.c:1532
+#, fuzzy, c-format
+#| msgid " -mno-stld23\t\t disable st/ld offset23 instruction\n"
+msgid " -msecurity\t\t\tenable security instructions\n"
+msgstr " -mno-stld23\t\t desactiva la instrucción desplazamiento st/ld offset23\n"
+
+#: config/tc-csky.c:1534
+#, fuzzy, c-format
+#| msgid " -mno-stld23\t\t disable st/ld offset23 instruction\n"
+msgid " -mtrust\t\t\tenable trust instructions\n"
+msgstr " -mno-stld23\t\t desactiva la instrucción desplazamiento st/ld offset23\n"
+
+#: config/tc-csky.c:1536
+#, c-format
+msgid " -mdsp\t\t\t\tenable DSP instructions\n"
+msgstr ""
+
+#: config/tc-csky.c:1538
+#, c-format
+msgid " -medsp\t\t\tenable enhanced DSP instructions\n"
+msgstr ""
+
+#: config/tc-csky.c:1540
+#, fuzzy, c-format
+#| msgid "unable to widen instruction"
+msgid " -mvdsp\t\t\tenable vector DSP instructions\n"
+msgstr "incapaz de extender instrucción"
+
+#: config/tc-csky.c:1773
+msgid "C-SKY ABI v1 (ck510/ck610) does not support -mbranch-stub"
+msgstr ""
+
+#: config/tc-csky.c:1778
+msgid "-mno-force2bsr is ignored with -mbranch-stub"
+msgstr ""
+
+#: config/tc-csky.c:1786
+msgid "-mno-force2bsr is ignored for ck801/ck802"
+msgstr ""
+
+#: config/tc-csky.c:1813
+msgid "-mljump is ignored for ck801/ck802"
+msgstr ""
+
+#: config/tc-csky.c:2095 config/tc-mcore.c:689
+msgid "more than 65K literal pools"
+msgstr "más de 65K de conjuntos literales"
+
+#: config/tc-csky.c:2342 read.c:3786
+#, c-format
+msgid "bad floating literal: %s"
+msgstr "literal de coma flotante incorrecta: %s"
+
+#: config/tc-csky.c:2490 config/tc-mcore.c:743
+msgid "missing ']'"
+msgstr "ausente ']'"
+
+#: config/tc-csky.c:2518 config/tc-mips.c:14358 config/tc-mips.c:14422
+#: config/tc-mips.c:14433 config/tc-score.c:2688 config/tc-score.c:2735
+msgid "unrecognized opcode"
+msgstr "no reconocido código operacional"
+
+#: config/tc-csky.c:3653 config/tc-mcore.c:1164
+msgid "translating mgeni to movi"
+msgstr "se traslada ‘mgeni’ a ‘movi’"
+
+#: config/tc-csky.c:5301 config/tc-tilegx.c:1451 config/tc-tilepro.c:1310
+#, c-format
+msgid "unsupported BFD relocation size %d"
+msgstr "no se admite el tamaño de reubicación BFD %d"
+
+#: config/tc-csky.c:5924
+#, fuzzy
+#| msgid "second operand must be 1"
+msgid "second operand must be 4"
+msgstr "el segundo operando debe ser 1"
+
+#: config/tc-csky.c:5948 config/tc-mcore.c:1527
+msgid "second operand must be 1"
+msgstr "el segundo operando debe ser 1"
+
+#: config/tc-csky.c:6021 config/tc-xtensa.c:1988
+msgid "register number out of range"
+msgstr "número de registro fuera de rango"
+
+#: config/tc-csky.c:6031
+#, fuzzy
+#| msgid "first transfer register must be even"
+msgid "64-bit operator src/dst register must be less than 15"
+msgstr "primer registro de transferencia debe ser par"
+
+#: config/tc-csky.c:7858
+#, fuzzy
+#| msgid "the first operand of `%s' must be `%s%s'"
+msgid "the first operand must be a symbol"
+msgstr "el primer operando de `%s' debe ser `%s%s'"
+
+#: config/tc-csky.c:7867
+#, fuzzy
+#| msgid "missing size"
+msgid "missing stack size"
+msgstr "ausente el tamaño"
+
+#: config/tc-csky.c:7880 config/tc-score.c:4240
+msgid "value not in range [0, 0xffffffff]"
+msgstr "el valor no está en el límite [0, 0xffffffff]"
+
+#: config/tc-csky.c:7890 config/tc-mcore.c:782
+msgid "operand must be a constant"
+msgstr "operando debe ser una constante"
+
#: config/tc-d10v.c:216
#, c-format
msgid ""
@@ -5976,134 +7422,135 @@ msgstr ""
msgid "operand is not an immediate"
msgstr "operando no es un inmediato"
-#: config/tc-d10v.c:591
+#: config/tc-d10v.c:590
#, c-format
msgid "operand out of range: %lu"
-msgstr "operando fuera de límite: %lu"
+msgstr "operando fuera de rango: %lu"
-#: config/tc-d10v.c:651
+#: config/tc-d10v.c:650
msgid "Instruction must be executed in parallel with another instruction."
msgstr "La instrucción se debe ejecutar en paralelo con otra instrucción."
-#: config/tc-d10v.c:705 config/tc-d10v.c:713
+#: config/tc-d10v.c:704 config/tc-d10v.c:712
#, c-format
msgid "packing conflict: %s must dispatch sequentially"
msgstr "conflicto de empaquetado: %s debe despachar secuencialmente"
-#: config/tc-d10v.c:812
+#: config/tc-d10v.c:811
#, c-format
msgid "resource conflict (R%d)"
msgstr "conflicto de recurso (R%d)"
-#: config/tc-d10v.c:815
+#: config/tc-d10v.c:814
#, c-format
msgid "resource conflict (A%d)"
msgstr "conflicto de recurso (A%d)"
-#: config/tc-d10v.c:817
+#: config/tc-d10v.c:816
msgid "resource conflict (PSW)"
msgstr "conflicto de recurso (PSW)"
-#: config/tc-d10v.c:819
+#: config/tc-d10v.c:818
msgid "resource conflict (C flag)"
msgstr "conflicto de recurso (opción C)"
-#: config/tc-d10v.c:821
+#: config/tc-d10v.c:820
msgid "resource conflict (F flag)"
msgstr "conflicto de recurso (opción F)"
-#: config/tc-d10v.c:971
+#: config/tc-d10v.c:970
msgid "Instruction must be executed in parallel"
msgstr "La instrucción se debe ejecutar en paralelo"
-#: config/tc-d10v.c:974
+#: config/tc-d10v.c:973
msgid "Long instructions may not be combined."
msgstr "Las instrucciones long no se pueden combinar."
-#: config/tc-d10v.c:1007
+#: config/tc-d10v.c:1006
msgid "One of these instructions may not be executed in parallel."
msgstr "Una de estas instrucciones no se puede ejecutar en paralelo."
-#: config/tc-d10v.c:1011 config/tc-d30v.c:1037
+#: config/tc-d10v.c:1010 config/tc-d30v.c:1034
msgid "Two IU instructions may not be executed in parallel"
msgstr "Dos instrucciones IU no se pueden ejecutar en paralelo"
-#: config/tc-d10v.c:1013 config/tc-d10v.c:1021 config/tc-d10v.c:1035
-#: config/tc-d10v.c:1050 config/tc-d30v.c:1038 config/tc-d30v.c:1047
+#: config/tc-d10v.c:1012 config/tc-d10v.c:1020 config/tc-d10v.c:1034
+#: config/tc-d10v.c:1049 config/tc-d30v.c:1035 config/tc-d30v.c:1044
msgid "Swapping instruction order"
msgstr "Se intercambia el orden de la instrucción"
-#: config/tc-d10v.c:1019 config/tc-d30v.c:1044
+#: config/tc-d10v.c:1018 config/tc-d30v.c:1041
msgid "Two MU instructions may not be executed in parallel"
msgstr "Dos instrucciones MU no se pueden ejecutar en paralelo"
-#: config/tc-d10v.c:1039 config/tc-d30v.c:1064
+#: config/tc-d10v.c:1038 config/tc-d30v.c:1061
msgid "IU instruction may not be in the left container"
msgstr "Una instrucción IU no puede estar en el contenedor izquierdo"
# Parece que R es 'right' y L es 'left'. Revisar el código para comprobar
# y mejorar esta traducción. cfuga
-#: config/tc-d10v.c:1041 config/tc-d10v.c:1056
+#: config/tc-d10v.c:1040 config/tc-d10v.c:1055
msgid "Instruction in R container is squashed by flow control instruction in L container."
msgstr "La instrucción en el contenedor R es aplastada por la instrucción de control de flujo en el contenedor L."
-#: config/tc-d10v.c:1054 config/tc-d30v.c:1075
+#: config/tc-d10v.c:1053 config/tc-d30v.c:1072
msgid "MU instruction may not be in the right container"
msgstr "Una instrucción MU no puede estar en el contenedor derecho"
-#: config/tc-d10v.c:1060 config/tc-d30v.c:1087
+#: config/tc-d10v.c:1059 config/tc-d30v.c:1084
msgid "unknown execution type passed to write_2_short()"
msgstr "se pasó un tipo de ejecución desconocido a write_2_short()"
-#: config/tc-d10v.c:1189 config/tc-d10v.c:1362
+#: config/tc-d10v.c:1188 config/tc-d10v.c:1361
msgid "bad opcode or operands"
-msgstr "código operacional u operandos equivocados"
+msgstr "código operacional u operandos incorrectos"
-#: config/tc-d10v.c:1264
+#: config/tc-d10v.c:1263
msgid "value out of range"
-msgstr "valor fuera de límite"
+msgstr "valor fuera de rango"
-#: config/tc-d10v.c:1338
+#: config/tc-d10v.c:1337
msgid "illegal operand - register name found where none expected"
msgstr "operando ilegal - se encontró un nombre de registro donde no se esperaba ninguno"
-#: config/tc-d10v.c:1373
+#: config/tc-d10v.c:1372
msgid "Register number must be EVEN"
msgstr "El número de registro debe ser PAR"
-#: config/tc-d10v.c:1376
+#: config/tc-d10v.c:1375
msgid "Unsupported use of sp"
msgstr "No se admite el uso de sp"
-#: config/tc-d10v.c:1395
-#, c-format
-msgid "cr%ld is a reserved control register"
+#: config/tc-d10v.c:1394
+#, fuzzy, c-format
+#| msgid "cr%ld is a reserved control register"
+msgid "cr%d is a reserved control register"
msgstr "cr%ld es un registro de control reservado"
-#: config/tc-d10v.c:1570
+#: config/tc-d10v.c:1569
#, c-format
msgid "line %d: rep or repi must include at least 4 instructions"
msgstr "línea %d: rep o repi debe incluir por lo menos 4 instrucciones"
-#: config/tc-d10v.c:1759
+#: config/tc-d10v.c:1761
msgid "can't find previous opcode "
msgstr "no se puede encontrar el código operacional previo "
-#: config/tc-d10v.c:1771
+#: config/tc-d10v.c:1773
#, c-format
msgid "could not assemble: %s"
msgstr "no se puede ensamblar: %s"
-#: config/tc-d10v.c:1786 config/tc-d10v.c:1808 config/tc-d30v.c:1744
+#: config/tc-d10v.c:1788 config/tc-d10v.c:1810 config/tc-d30v.c:1741
msgid "Unable to mix instructions as specified"
msgstr "No se pueden mezclar las instrucciones como se especificó"
-#: config/tc-d30v.c:149
+#: config/tc-d30v.c:146
#, c-format
msgid "Register name %s conflicts with symbol of the same name"
msgstr "El nombre de registro %s tiene conflictos con el símbolo del mismo nombre"
-#: config/tc-d30v.c:239
+#: config/tc-d30v.c:236
#, c-format
msgid ""
"\n"
@@ -6122,131 +7569,106 @@ msgstr ""
"-c Avisa sobre los símbolos cuyos nombres coincidan con nombres de registros.\n"
"-C Lo opuesto de -C. -c es por defecto.\n"
-#: config/tc-d30v.c:367
+#: config/tc-d30v.c:364
msgid "unexpected 12-bit reloc type"
msgstr "tipo reubicado de 12-bit inesperado"
-#: config/tc-d30v.c:374
+#: config/tc-d30v.c:371
msgid "unexpected 18-bit reloc type"
msgstr "tipo reubicado de 18-bit inesperado"
-#: config/tc-d30v.c:625
+#: config/tc-d30v.c:622
#, c-format
msgid "%s NOP inserted"
msgstr "%s NOP insertados"
-#: config/tc-d30v.c:626
+#: config/tc-d30v.c:623
msgid "sequential"
msgstr "secuencial"
-#: config/tc-d30v.c:626
+#: config/tc-d30v.c:623
msgid "parallel"
msgstr "paralelo"
-#: config/tc-d30v.c:1033
+#: config/tc-d30v.c:1030
msgid "Instructions may not be executed in parallel"
msgstr "Las instrucciones no se pueden ejecutar en paralelo"
-#: config/tc-d30v.c:1046
+#: config/tc-d30v.c:1043
#, c-format
msgid "Executing %s in IU may not work"
msgstr "Ejecutar %s en IU podría no funcionar"
-#: config/tc-d30v.c:1053
+#: config/tc-d30v.c:1050
#, c-format
msgid "Executing %s in IU may not work in parallel execution"
msgstr "Ejecutar %s en IU podría no funcionar en ejecución paralela"
-#: config/tc-d30v.c:1066
+#: config/tc-d30v.c:1063
#, c-format
msgid "special left instruction `%s' kills instruction `%s' in right container"
msgstr "la instrucción especial izquierda «%s» mata a la instrucción «%s» en el contenedor derecho"
-#: config/tc-d30v.c:1077
+#: config/tc-d30v.c:1074
#, c-format
msgid "Executing %s in reverse serial with %s may not work"
msgstr "Ejecutar %s en serie reversa con %s podría no funcionar"
-#: config/tc-d30v.c:1080
+#: config/tc-d30v.c:1077
#, c-format
msgid "Executing %s in IU in reverse serial may not work"
msgstr "Ejecutar %s en IU en serie reversa podría no funcionar"
-#: config/tc-d30v.c:1268
+#: config/tc-d30v.c:1265
msgid "Odd numbered register used as target of multi-register instruction"
msgstr "Se usan registros numerados impares como objetivo para una instrucción multi-registro"
-#: config/tc-d30v.c:1332 config/tc-d30v.c:1368
+#: config/tc-d30v.c:1329 config/tc-d30v.c:1365
#, c-format
msgid "unknown condition code: %s"
msgstr "desconoce código condicional: %s"
-#: config/tc-d30v.c:1361
+#: config/tc-d30v.c:1358
#, c-format
msgid "cmpu doesn't support condition code %s"
msgstr "cmpu no admite el código de condición %s"
-#: config/tc-d30v.c:1396
+#: config/tc-d30v.c:1393
#, c-format
msgid "unknown opcode: %s"
msgstr "desconoce código operacional: %s"
-#: config/tc-d30v.c:1407
+#: config/tc-d30v.c:1404
#, c-format
msgid "operands for opcode `%s' do not match any valid format"
msgstr "los operandos para el código operacional «%s» no coincide con ningún formato válido"
-#: config/tc-d30v.c:1622 config/tc-d30v.c:1639
+#: config/tc-d30v.c:1619 config/tc-d30v.c:1636
msgid "Cannot assemble instruction"
msgstr "No se puede ensamblar la instrucción"
-#: config/tc-d30v.c:1624
+#: config/tc-d30v.c:1621
msgid "First opcode is long. Unable to mix instructions as specified."
msgstr "El primer código operacional es long. No se pueden mezclar las instrucciones como se especificó."
-#: config/tc-d30v.c:1694
+#: config/tc-d30v.c:1691
msgid "word of NOPs added between word multiply and load"
msgstr "word de NOPs agregados entre multiply de word y load"
-#: config/tc-d30v.c:1696
+#: config/tc-d30v.c:1693
msgid "word of NOPs added between word multiply and 16-bit multiply"
msgstr "word de NOPs agregados entre multiply de word y multiply de 16-bit"
-#: config/tc-d30v.c:1728
+#: config/tc-d30v.c:1725
msgid "Instruction uses long version, so it cannot be mixed as specified"
msgstr "La instrucción usa una versión long, así que no se puede mezclar como se especificó"
-#: config/tc-d30v.c:1855
+#: config/tc-d30v.c:1852
#, c-format
msgid "value too large to fit in %d bits"
msgstr "valor demasiado grande para caber en %d bits"
-#: config/tc-d30v.c:1923
-#, c-format
-msgid "line %d: unable to place address of symbol '%s' into a byte"
-msgstr "línea %d: no se puede colocar la dirección del símbolo «%s» en un byte"
-
-#: config/tc-d30v.c:1926
-#, c-format
-msgid "line %d: unable to place value %lx into a byte"
-msgstr "línea %d: no se puede colocar el valor %lx en un byte"
-
-#: config/tc-d30v.c:1934
-#, c-format
-msgid "line %d: unable to place address of symbol '%s' into a short"
-msgstr "línea %d: no se puede colocar la dirección del símbolo «%s» en un short"
-
-#: config/tc-d30v.c:1937
-#, c-format
-msgid "line %d: unable to place value %lx into a short"
-msgstr "línea %d: no se puede colocar el valor %lx en un short"
-
-#: config/tc-d30v.c:1945
-#, c-format
-msgid "line %d: unable to place address of symbol '%s' into a quad"
-msgstr "línea %d: no se puede colocar la dirección del símbolo «%s» en un quad"
-
-#: config/tc-d30v.c:2053 config/tc-pru.c:216 config/tc-pru.c:332
+#: config/tc-d30v.c:2030 config/tc-pru.c:216 config/tc-pru.c:332
#, c-format
msgid "Alignment too large: %d assumed"
msgstr "Alineación demasiado grande: se asume %d"
@@ -6259,89 +7681,74 @@ msgstr "ausente .proc"
msgid ".endfunc missing for previous .proc"
msgstr "ausente .endfunc para el .proc previo"
-#: config/tc-dlx.c:295 config/tc-i860.c:226 config/tc-mips.c:3600
-#: config/tc-nios2.c:3639 config/tc-nios2.c:3653 config/tc-nios2.c:3668
-#: config/tc-pru.c:1565 config/tc-pru.c:1579 config/tc-riscv.c:621
-#, c-format
-msgid "internal error: can't hash `%s': %s\n"
-msgstr "error interno: no se puede dispersar «%s»: %s\n"
-
-#. Probably a memory allocation problem? Give up now.
-#: config/tc-dlx.c:302 config/tc-hppa.c:8270 config/tc-nios2.c:1440
-#: config/tc-nios2.c:3642 config/tc-nios2.c:3656 config/tc-nios2.c:3671
-#: config/tc-pru.c:1568 config/tc-pru.c:1582 config/tc-riscv.c:624
-#: config/tc-riscv.c:632 config/tc-sparc.c:1064
-msgid "Broken assembler. No assembly attempted."
-msgstr "Ensamblador descompuesto. No se intentó ensamblar."
-
-#: config/tc-dlx.c:332
+#: config/tc-dlx.c:320
#, c-format
msgid "Bad operand for a load instruction: <%s>"
-msgstr "Operando equivocado para una instrucción load <%s>"
+msgstr "Operando incorrecto para una instrucción load <%s>"
-#: config/tc-dlx.c:446
+#: config/tc-dlx.c:434
#, c-format
msgid "Bad operand for a store instruction: <%s>"
-msgstr "Operando equivocado para una instrucción store <%s>"
+msgstr "Operando incorrecto para una instrucción store <%s>"
-#: config/tc-dlx.c:626
+#: config/tc-dlx.c:614
#, c-format
msgid "Expression Error for operand modifier %%hi/%%lo\n"
msgstr "Error de Expresión para el modificador de operando %%hi/%%lo\n"
-#: config/tc-dlx.c:639
+#: config/tc-dlx.c:627
#, c-format
msgid "Invalid expression after %%%%\n"
msgstr "Expresión no válida tras %%%%\n"
-#: config/tc-dlx.c:703 config/tc-tic4x.c:2473
+#: config/tc-dlx.c:692 config/tc-tic4x.c:2456
#, c-format
msgid "Unknown opcode `%s'."
msgstr "Desconoce código operacional «%s»."
-#: config/tc-dlx.c:712
+#: config/tc-dlx.c:701
msgid "Can not set dlx_skip_hi16_flag"
msgstr "No se puede establecer dlx_skip_hi16_flag"
-#: config/tc-dlx.c:726
+#: config/tc-dlx.c:715
#, c-format
msgid "Missing arguments for opcode <%s>."
msgstr "Ausentes argumentos para el código operacional <%s>."
-#: config/tc-dlx.c:760
+#: config/tc-dlx.c:749
#, c-format
msgid "Too many operands: %s"
msgstr "Demasiados operandos: %s"
-#: config/tc-dlx.c:798
+#: config/tc-dlx.c:787
#, c-format
msgid "Both the_insn.HI and the_insn.LO are set : %s"
msgstr "Tanto the_insn.HI como the_insn.LO están activados: %s"
-#: config/tc-dlx.c:868
+#: config/tc-dlx.c:857
msgid "failed regnum sanity check."
-msgstr "falló la prueba de sanidad regnum."
+msgstr "inspección sanitaria de regnum ha fallado."
-#: config/tc-dlx.c:881
+#: config/tc-dlx.c:870
msgid "failed general register sanity check."
-msgstr "falló la prueba de sanidad de registro general."
+msgstr "la inspección sanitara de registros generales ha fallado."
#. Types or values of args don't match.
-#: config/tc-dlx.c:889
+#: config/tc-dlx.c:878
msgid "Invalid operands"
msgstr "Operandos inválidos"
-#: config/tc-dlx.c:1118
+#: config/tc-dlx.c:1097
#, c-format
msgid "label \"$%d\" redefined"
msgstr "etiqueta \"$%d\" redefinida"
-#: config/tc-dlx.c:1156
+#: config/tc-dlx.c:1135
msgid "Invalid expression after # number\n"
msgstr "Expresión no válida tras # número\n"
-#: config/tc-dlx.c:1199 config/tc-i960.c:2637 config/tc-m32r.c:2276
-#: config/tc-nds32.c:6639 config/tc-sparc.c:4124
+#: config/tc-dlx.c:1180 config/tc-m32r.c:2273 config/tc-nds32.c:7840
+#: config/tc-sparc.c:4015
#, c-format
msgid "internal error: can't export reloc type %d (`%s')"
msgstr "error interno: no se puede exportar el tipo reubicado %d («%s»)"
@@ -6351,32 +7758,28 @@ msgstr "error interno: no se puede exportar el tipo reubicado %d («%s»)"
msgid "EPIPHANY specific command line options:\n"
msgstr "Opciones de la línea de mandatos específicas de EPIPHANY:\n"
-#: config/tc-epiphany.c:365
+#: config/tc-epiphany.c:367
msgid "register number too large for push/pop"
msgstr "número de registro demasiado grande para push/pop"
-#: config/tc-epiphany.c:369
+#: config/tc-epiphany.c:371
msgid "register is out of order"
msgstr "el registro está fuera de orden"
-#: config/tc-epiphany.c:380 config/tc-m68k.c:6033 config/tc-m68k.c:6062
-msgid "bad register list"
-msgstr "lista de registros equivocada"
-
-#: config/tc-epiphany.c:383
+#: config/tc-epiphany.c:385
msgid "malformed reglist in push/pop"
msgstr "lista de registros malformada en push/pop"
#. Checks for behavioral restrictions on LD/ST instructions.
-#: config/tc-epiphany.c:429
+#: config/tc-epiphany.c:431
msgid "destination register modified by displacement-post-modified address"
msgstr "el registro de destino se modificó por la dirección de desplazamiento-post-modificada"
-#: config/tc-epiphany.c:430
+#: config/tc-epiphany.c:432
msgid "ldrd/strd requires even:odd register pair"
msgstr "ldrd/strd requiere un par de registros par:impar"
-#: config/tc-epiphany.c:813 config/tc-m32r.c:1784
+#: config/tc-epiphany.c:820 config/tc-m32r.c:1785
msgid "Addend to unresolved symbol not on word boundary."
msgstr "La adición para un símbolo sin resolver no está en un límite de word."
@@ -6408,7 +7811,7 @@ msgstr "-G n Coloca datos ≤ n bytes en el área de datos small\n"
#: config/tc-frv.c:458
#, c-format
msgid "-mgpr-32 Mark generated file as only using 32 GPRs\n"
-msgstr "-mgpr-32 Marca el fichero generado para sólo usar 32 GPRs\n"
+msgstr "-mgpr-32 Marca el fichero generado para solo usar 32 GPRs\n"
#: config/tc-frv.c:459
#, c-format
@@ -6418,7 +7821,7 @@ msgstr "-mgpr-64 Marca el fichero generado para usar todos los 64 GPRs\n"
#: config/tc-frv.c:460
#, c-format
msgid "-mfpr-32 Mark generated file as only using 32 FPRs\n"
-msgstr "-mfpr-32 Marca el fichero generado para sólo usar 32 FPRs\n"
+msgstr "-mfpr-32 Marca el fichero generado para solo usar 32 FPRs\n"
#: config/tc-frv.c:461
#, c-format
@@ -6527,16 +7930,16 @@ msgstr "Violación de restricción de empaquetado VLIW"
msgid "Relocation %s is not safe for %s"
msgstr "La reubicación %s no es segura para %s"
-#: config/tc-ft32.c:146 config/tc-moxie.c:104
+#: config/tc-ft32.c:146 config/tc-moxie.c:102
msgid "expecting register"
msgstr "se espera un registro"
-#: config/tc-ft32.c:167 config/tc-ft32.c:183 config/tc-moxie.c:123
-#: config/tc-moxie.c:139
+#: config/tc-ft32.c:167 config/tc-ft32.c:183 config/tc-moxie.c:121
+#: config/tc-moxie.c:137
msgid "illegal register number"
msgstr "número de registro ilegal"
-#: config/tc-ft32.c:239 config/tc-moxie.c:188 config/tc-pj.c:260
+#: config/tc-ft32.c:239 config/tc-moxie.c:186 config/tc-pj.c:260
#, c-format
msgid "unknown opcode %s"
msgstr "desconoce código operacional %s"
@@ -6554,18 +7957,17 @@ msgstr "error interno en interpretación argumental"
msgid "expected comma separator"
msgstr "esperaba separador de coma"
-#: config/tc-ft32.c:412 config/tc-moxie.c:232 config/tc-moxie.c:292
-#: config/tc-moxie.c:304 config/tc-moxie.c:337 config/tc-moxie.c:369
-#: config/tc-moxie.c:402 config/tc-moxie.c:456 config/tc-moxie.c:510
-#: config/tc-moxie.c:520 config/tc-moxie.c:543 config/tc-moxie.c:556
+#: config/tc-ft32.c:412 config/tc-moxie.c:230 config/tc-moxie.c:290
+#: config/tc-moxie.c:302 config/tc-moxie.c:335 config/tc-moxie.c:367
+#: config/tc-moxie.c:400 config/tc-moxie.c:454 config/tc-moxie.c:508
+#: config/tc-moxie.c:518 config/tc-moxie.c:541 config/tc-moxie.c:554
#: config/tc-pj.c:308
msgid "extra stuff on line ignored"
msgstr "se descarta los elementos extra en la línea"
-#: config/tc-ft32.c:472 config/tc-lm32.c:236 config/tc-moxie.c:587
-#: config/tc-nios2.c:284
+#: config/tc-ft32.c:472 config/tc-lm32.c:236 config/tc-moxie.c:585
msgid "bad call to md_atof"
-msgstr "llamada equivocada a md_atof"
+msgstr "llamada incorrecta a md_atof"
#: config/tc-ft32.c:522
#, c-format
@@ -6593,166 +7995,165 @@ msgstr "tamaño estimado\n"
msgid "convert_frag\n"
msgstr "convert_frag\n"
-#: config/tc-h8300.c:178
+#: config/tc-h8300.c:176
#, c-format
msgid "new section '%s' defined without attributes - this might cause problems"
msgstr "se definió la sección nueva «%s» sin atributos - esto podría causar problemas"
-#: config/tc-h8300.c:448 config/tc-h8300.c:456
+#: config/tc-h8300.c:441 config/tc-h8300.c:449
msgid "Reg not valid for H8/300"
msgstr "El registro no es válido para H8/300"
-#: config/tc-h8300.c:537
+#: config/tc-h8300.c:530
msgid "invalid operand size requested"
msgstr "se solicitó un tamaño de operando inválido"
-#: config/tc-h8300.c:642
+#: config/tc-h8300.c:635
msgid "Invalid register list for ldm/stm\n"
msgstr "Lista de registros no válida para ldm/stm\n"
-#: config/tc-h8300.c:668 config/tc-h8300.c:673 config/tc-h8300.c:680
+#: config/tc-h8300.c:661 config/tc-h8300.c:666 config/tc-h8300.c:673
msgid "mismatch between register and suffix"
msgstr "no hay coincidencia entre el registro y el sufijo"
-#: config/tc-h8300.c:685
+#: config/tc-h8300.c:678
msgid "invalid suffix after register."
msgstr "sufijo inválido tras registro."
-#: config/tc-h8300.c:707
+#: config/tc-h8300.c:700
msgid "address too high for vector table jmp/jsr"
-msgstr "dirección demasiado alta para distribuciones vectoriales jmp/jsr"
+msgstr "dirección demasiado alta para distribuciones de vectores jmp/jsr"
-#: config/tc-h8300.c:734 config/tc-h8300.c:846 config/tc-h8300.c:856
+#: config/tc-h8300.c:727 config/tc-h8300.c:839 config/tc-h8300.c:849
msgid "Wrong size pointer register for architecture."
-msgstr "Tamaño de registro puntero equivocado para la arquitectura."
+msgstr "Tamaño de registro puntero incorrecto para la arquitectura."
-#: config/tc-h8300.c:793 config/tc-h8300.c:801 config/tc-h8300.c:830
+#: config/tc-h8300.c:786 config/tc-h8300.c:794 config/tc-h8300.c:823
msgid "expected @(exp, reg16)"
msgstr "se esperaba @(exp, reg16)"
-#: config/tc-h8300.c:819
+#: config/tc-h8300.c:812
msgid "expected .L, .W or .B for register in indexed addressing mode"
-msgstr "se esperaba .L, .W ó .B para el registro en modo de direccionamiento indizado"
+msgstr "se esperaba .L, .W ó .B para el registro en modo de direccionamiento indexado"
-#: config/tc-h8300.c:1013
+#: config/tc-h8300.c:1006
msgid "expected valid addressing mode for mova: \"@(disp, ea.sz),ERn\""
msgstr "se esperaba un modo de direccionamiento válido para mova: \"@(disp, ea.sz),ERn\""
-#: config/tc-h8300.c:1031 config/tc-h8300.c:1040
+#: config/tc-h8300.c:1024 config/tc-h8300.c:1033
msgid "expected register"
msgstr "se esperaba un registro"
-#: config/tc-h8300.c:1056
+#: config/tc-h8300.c:1049
msgid "expected closing paren"
msgstr "se esperaba un paréntesis que cierra"
-#: config/tc-h8300.c:1115
+#: config/tc-h8300.c:1108
#, c-format
msgid "can't use high part of register in operand %d"
msgstr "no se puede usar la parte alta del registro en operando %d"
-#: config/tc-h8300.c:1272
+#: config/tc-h8300.c:1265
#, c-format
msgid "Opcode `%s' with these operand types not available in %s mode"
msgstr "El código operacional «%s» con esos tipos de operando no está disponible en el modo %s"
-#: config/tc-h8300.c:1281
+#: config/tc-h8300.c:1274
msgid "mismatch between opcode size and operand size"
msgstr "no hay coincidencia entre el tamaño del código operacional y el tamaño de operando"
-#: config/tc-h8300.c:1317
+#: config/tc-h8300.c:1310
#, c-format
msgid "operand %s0x%lx out of range."
-msgstr "operando %s0x%lx fuera de límite."
+msgstr "operando %s0x%lx fuera de rango."
-#: config/tc-h8300.c:1434
+#: config/tc-h8300.c:1420
msgid "Can't work out size of operand.\n"
msgstr "No se puede obtener el tamaño de operando.\n"
-#: config/tc-h8300.c:1484
+#: config/tc-h8300.c:1470
#, c-format
msgid "Opcode `%s' with these operand types not available in H8/300 mode"
msgstr "El código operacional «%s» con esos tipos de operando no están disponibles en el modo H8/300"
-#: config/tc-h8300.c:1489
+#: config/tc-h8300.c:1475
#, c-format
msgid "Opcode `%s' with these operand types not available in H8/300H mode"
msgstr "El código operacional «%s» con esos tipos de operando no está disponible en el modo H8/300H"
-#: config/tc-h8300.c:1495
+#: config/tc-h8300.c:1481
#, c-format
msgid "Opcode `%s' with these operand types not available in H8/300S mode"
msgstr "El código operacional «%s» con esos tipos de operando no está disponible en el modo H8/300S"
-#: config/tc-h8300.c:1556 config/tc-h8300.c:1576
+#: config/tc-h8300.c:1542 config/tc-h8300.c:1562
msgid "Need #1 or #2 here"
msgstr "Necesita Nº1 o Nº2 aquí"
-#: config/tc-h8300.c:1571
+#: config/tc-h8300.c:1557
msgid "#4 not valid on H8/300."
msgstr "Nº4 no valida en H8/300."
-#: config/tc-h8300.c:1686 config/tc-h8300.c:1768
+#: config/tc-h8300.c:1664 config/tc-h8300.c:1736
#, c-format
msgid "branch operand has odd offset (%lx)\n"
msgstr "operando de ramificación tiene un desplazamiento impar (%lx)\n"
-#: config/tc-h8300.c:1806
+#: config/tc-h8300.c:1774
msgid "destination operand must be 16 bit register"
msgstr "operando de destino debe ser un registro de 16 bit"
-#: config/tc-h8300.c:1815
+#: config/tc-h8300.c:1783
msgid "source operand must be 8 bit register"
msgstr "operando de origen debe ser un registro de 8 bit"
-#: config/tc-h8300.c:1823
+#: config/tc-h8300.c:1791
msgid "destination operand must be 16bit absolute address"
msgstr "operando de destino debe ser una dirección absoluta de 16bit"
-#: config/tc-h8300.c:1830
+#: config/tc-h8300.c:1798
msgid "destination operand must be 8 bit register"
msgstr "operando de destino debe ser un registro de 8 bit"
-#: config/tc-h8300.c:1838
+#: config/tc-h8300.c:1806
msgid "source operand must be 16bit absolute address"
msgstr "operando de origen debe ser una dirección absoluta de 16bit"
#. This seems more sane than saying "too many operands". We'll
#. get here only if the trailing trash starts with a comma.
-#: config/tc-h8300.c:1846 config/tc-mips.c:14027 config/tc-mips.c:14095
-#: config/tc-mmix.c:479 config/tc-mmix.c:491 config/tc-mmix.c:2533
-#: config/tc-mmix.c:2557 config/tc-mmix.c:2830
+#: config/tc-h8300.c:1814 config/tc-mips.c:14374 config/tc-mips.c:14442
+#: config/tc-mmix.c:469 config/tc-mmix.c:481 config/tc-mmix.c:2537
+#: config/tc-mmix.c:2561 config/tc-mmix.c:2834
msgid "invalid operands"
msgstr "operandos inválidos"
-#: config/tc-h8300.c:1877
+#: config/tc-h8300.c:1845
msgid "operand/size mis-match"
msgstr "no coinciden los operandos/tamaños"
-#: config/tc-h8300.c:1977 config/tc-sh.c:2972 config/tc-sh64.c:2796
-#: config/tc-z8k.c:1233
+#: config/tc-h8300.c:1945 config/tc-sh.c:2537 config/tc-z8k.c:1243
msgid "unknown opcode"
msgstr "desconoce código operacional"
-#: config/tc-h8300.c:2010
+#: config/tc-h8300.c:1978
msgid "invalid operand in ldm"
msgstr "operando inválido en ldm"
-#: config/tc-h8300.c:2019
+#: config/tc-h8300.c:1987
msgid "invalid operand in stm"
msgstr "operando inválido en stm"
-#: config/tc-h8300.c:2218
+#: config/tc-h8300.c:2186
#, c-format
msgid "Invalid argument to --mach option: %s"
msgstr "Argumento inválido para opción --mach: %s"
-#: config/tc-h8300.c:2229
+#: config/tc-h8300.c:2197
#, c-format
msgid " H8300-specific assembler options:\n"
msgstr " Opciones de ensamblador específicas de H8300:\n"
-#: config/tc-h8300.c:2230
+#: config/tc-h8300.c:2198
#, c-format
msgid ""
" -mach=<name> Set the H8300 machine type to one of:\n"
@@ -6761,37 +8162,32 @@ msgstr ""
" -mach=<name> Establece el tipo de máquina H8300 a una de:\n"
" h8300h, h8300hn, h8300s, h8300sn, h8300sx, h8300sxn\n"
-#: config/tc-h8300.c:2233
+#: config/tc-h8300.c:2201
#, c-format
msgid " -h-tick-hex Support H'00 style hex constants\n"
msgstr " -h-tick-hex admite contantes hex estilo H'00\n"
-#: config/tc-h8300.c:2242
+#: config/tc-h8300.c:2210
#, c-format
msgid "call to tc_aout_fix_to_chars \n"
msgstr "llamada a tc_aout_fix_to_chars \n"
-#: config/tc-h8300.c:2251 config/tc-xc16x.c:347
+#: config/tc-h8300.c:2219
#, c-format
msgid "call to md_convert_frag \n"
msgstr "llamada a md_convert_frag \n"
-#: config/tc-h8300.c:2302 config/tc-xc16x.c:251
+#: config/tc-h8300.c:2270
#, c-format
msgid "call to md_estimate_size_before_relax \n"
msgstr "llamada a md_estimate_size_before_relax \n"
-#: config/tc-h8300.c:2317
+#: config/tc-h8300.c:2285
msgid "Unexpected reference to a symbol in a non-code section"
msgstr "Referencia inesperada a un símbolo en una sección que no es de código"
-#: config/tc-h8300.c:2333 config/tc-xc16x.c:292
-msgid "Difference of symbols in different sections is not supported"
-msgstr "Diferencias simbólicas en secciones diferentes no es compatible"
-
-#: config/tc-h8300.c:2355 config/tc-mcore.c:2204 config/tc-microblaze.c:2458
-#: config/tc-pj.c:491 config/tc-sh.c:4480 config/tc-tic6x.c:4520
-#: config/tc-xc16x.c:315
+#: config/tc-h8300.c:2322 config/tc-mcore.c:2208 config/tc-microblaze.c:2552
+#: config/tc-pj.c:488 config/tc-sh.c:3886 config/tc-tic6x.c:4515
#, c-format
msgid "Cannot represent relocation type %s"
msgstr "No se puede representar el tipo reubicado %s"
@@ -6803,7 +8199,7 @@ msgstr "No se puede representar el tipo reubicado %s"
#: config/tc-hppa.c:1027 config/tc-hppa.c:1041
#, c-format
msgid "Field out of range [%d..%d] (%d)."
-msgstr "Campo fuera de límite [%d..%d] (%d)."
+msgstr "Campo fuera de rango [%d..%d] (%d)."
#. Simple alignment checking for FIELD against ALIGN (a power of two).
#. IGNORE is used to suppress the error message.
@@ -6827,1262 +8223,1685 @@ msgstr "Selector de campo inválido. Asumiendo F%%."
#: config/tc-hppa.c:1288
msgid "Bad segment in expression."
-msgstr "Segmento equivocado dentro de expresión."
+msgstr "Segmento incorrecto dentro de expresión."
#: config/tc-hppa.c:1313
#, c-format
msgid "Invalid Nullification: (%c)"
msgstr "Nulificación Inválida: (%c)"
-#: config/tc-hppa.c:1384
+#: config/tc-hppa.c:1379
msgid "Cannot handle fixup"
msgstr "No se puede manipular la compostura"
-#: config/tc-hppa.c:1682
+#: config/tc-hppa.c:1663
#, c-format
msgid " -Q ignored\n"
msgstr " -Q se descarta\n"
-#: config/tc-hppa.c:1686
+#: config/tc-hppa.c:1667
#, c-format
msgid " -c print a warning if a comment is found\n"
msgstr " -c escribe un aviso si se encuentra un comentario\n"
-#: config/tc-hppa.c:1752
+#: config/tc-hppa.c:1733
#, c-format
msgid "no hppa_fixup entry for fixup type 0x%x"
msgstr "no hay una entrada hppa_fixup para el tipo de compostura 0x%x"
-#: config/tc-hppa.c:1931
+#: config/tc-hppa.c:1912
msgid "Unknown relocation encountered in md_apply_fix."
msgstr "Se encontró una reubicación desconocida en md_apply_fix."
-#: config/tc-hppa.c:2119 config/tc-hppa.c:2144
+#: config/tc-hppa.c:2100 config/tc-hppa.c:2125
#, c-format
msgid "Undefined register: '%s'."
msgstr "Registro indefinido: «%s»."
-#: config/tc-hppa.c:2178
+#: config/tc-hppa.c:2159
#, c-format
msgid "Non-absolute symbol: '%s'."
msgstr "Símbolo no absoluto: «%s»."
-#: config/tc-hppa.c:2193
+#: config/tc-hppa.c:2174
#, c-format
msgid "Undefined absolute constant: '%s'."
msgstr "Constante absoluta sin definir: «%s»."
-#: config/tc-hppa.c:2224 config/tc-hppa.c:5692
+#: config/tc-hppa.c:2205 config/tc-hppa.c:5686
msgid "could not update architecture and machine"
msgstr "no se pueden actualizar la arquitectura y la máquina"
-#: config/tc-hppa.c:2262
+#: config/tc-hppa.c:2243
#, c-format
msgid "Invalid FP Compare Condition: %s"
msgstr "Condición de Comparación de FP Inválida: %s"
-#: config/tc-hppa.c:2317
+#: config/tc-hppa.c:2298
#, c-format
msgid "Invalid FTEST completer: %s"
msgstr "Completador FTEST inválido: %s"
-#: config/tc-hppa.c:2383 config/tc-hppa.c:2420
+#: config/tc-hppa.c:2364 config/tc-hppa.c:2401
#, c-format
msgid "Invalid FP Operand Format: %3s"
msgstr "Formato de Operando FP Inválido: %3s"
-#: config/tc-hppa.c:2525
+#: config/tc-hppa.c:2519
msgid "Bad segment (should be absolute)."
-msgstr "Segmento equivocado (debe ser absoluto)."
+msgstr "Segmento incorrecto (debe ser absoluto)."
-#: config/tc-hppa.c:2585
+#: config/tc-hppa.c:2579
#, c-format
msgid "Invalid argument location: %s\n"
msgstr "Ubicación de argumento no válida: %s\n"
-#: config/tc-hppa.c:2614
+#: config/tc-hppa.c:2608
#, c-format
msgid "Invalid argument description: %d"
msgstr "Descripción de argumento no válida: %d"
-#: config/tc-hppa.c:3443
+#: config/tc-hppa.c:3437
msgid "Invalid Indexed Load Completer."
msgstr "Completador de Carga Indizado Inválido."
-#: config/tc-hppa.c:3448
+#: config/tc-hppa.c:3442
msgid "Invalid Indexed Load Completer Syntax."
msgstr "Sintaxis de Completador de Carga Indizado Inválido."
-#: config/tc-hppa.c:3482
+#: config/tc-hppa.c:3476
msgid "Invalid Short Load/Store Completer."
msgstr "Completador Short de Load/Store Inválido."
-#: config/tc-hppa.c:3543 config/tc-hppa.c:3548
+#: config/tc-hppa.c:3537 config/tc-hppa.c:3542
msgid "Invalid Store Bytes Short Completer"
msgstr "Completador Almacenaje de Bytes Cortos Inválido"
-#: config/tc-hppa.c:3863 config/tc-hppa.c:3869
+#: config/tc-hppa.c:3857 config/tc-hppa.c:3863
msgid "Invalid left/right combination completer"
msgstr "Completador de combinación derecha/izquierda inválido"
-#: config/tc-hppa.c:3918 config/tc-hppa.c:3925
+#: config/tc-hppa.c:3912 config/tc-hppa.c:3919
msgid "Invalid permutation completer"
msgstr "Completador de permutación inválido"
-#: config/tc-hppa.c:4025
+#: config/tc-hppa.c:4019
#, c-format
msgid "Invalid Add Condition: %s"
msgstr "Condición de Adición Inválida: %s"
-#: config/tc-hppa.c:4041 config/tc-hppa.c:4051
+#: config/tc-hppa.c:4035 config/tc-hppa.c:4045
msgid "Invalid Add and Branch Condition"
msgstr "Condición de Adición y Ramificación Inválida"
-#: config/tc-hppa.c:4072 config/tc-hppa.c:4217
+#: config/tc-hppa.c:4066 config/tc-hppa.c:4211
msgid "Invalid Compare/Subtract Condition"
msgstr "Condición de Comparación/Sustracción Inválida"
-#: config/tc-hppa.c:4112
+#: config/tc-hppa.c:4106
#, c-format
msgid "Invalid Branch On Bit Condition: %c"
msgstr "Condición de Ramificación en Bit Inválida: %c"
-#: config/tc-hppa.c:4115
+#: config/tc-hppa.c:4109
msgid "Missing Branch On Bit Condition"
msgstr "Ausentea Condición de Ramificación de Bit"
-#: config/tc-hppa.c:4200
+#: config/tc-hppa.c:4194
#, c-format
msgid "Invalid Compare/Subtract Condition: %s"
msgstr "Condición de Comparación/Sustracción Inválida: %s"
-#: config/tc-hppa.c:4232
+#: config/tc-hppa.c:4226
msgid "Invalid Compare and Branch Condition"
msgstr "Condición de Comparación y Ramificación Inválida"
-#: config/tc-hppa.c:4328
+#: config/tc-hppa.c:4322
msgid "Invalid Logical Instruction Condition."
msgstr "Condición de Instrucción Lógica Inválida."
-#: config/tc-hppa.c:4390
+#: config/tc-hppa.c:4384
msgid "Invalid Shift/Extract/Deposit Condition."
msgstr "Condición Desplazar/Extraer/Depositar Inválida."
-#: config/tc-hppa.c:4507
+#: config/tc-hppa.c:4501
msgid "Invalid Unit Instruction Condition."
msgstr "Condición de Instrucción Unit Inválida."
-#: config/tc-hppa.c:4986 config/tc-hppa.c:5018 config/tc-hppa.c:5049
-#: config/tc-hppa.c:5079
+#: config/tc-hppa.c:4980 config/tc-hppa.c:5012 config/tc-hppa.c:5043
+#: config/tc-hppa.c:5073
msgid "Branch to unaligned address"
msgstr "Ramificación a dirección sin alinear"
-#: config/tc-hppa.c:5261
+#: config/tc-hppa.c:5255
msgid "Invalid SFU identifier"
msgstr "Identificador SFU inválido"
-#: config/tc-hppa.c:5311
+#: config/tc-hppa.c:5305
msgid "Invalid COPR identifier"
msgstr "Identificador COPR inválido"
-#: config/tc-hppa.c:5441
+#: config/tc-hppa.c:5435
msgid "Invalid Floating Point Operand Format."
msgstr "Formato de Operando de Coma Flotante Inválido."
-#: config/tc-hppa.c:5561 config/tc-hppa.c:5581 config/tc-hppa.c:5601
-#: config/tc-hppa.c:5621 config/tc-hppa.c:5641
+#: config/tc-hppa.c:5555 config/tc-hppa.c:5575 config/tc-hppa.c:5595
+#: config/tc-hppa.c:5615 config/tc-hppa.c:5635
msgid "Invalid register for single precision fmpyadd or fmpysub"
msgstr "Registro inválido para fmpyadd ó fmpysub de precisión simple"
-#: config/tc-hppa.c:5709
+#: config/tc-hppa.c:5703
#, c-format
msgid "Invalid operands %s"
msgstr "Operandos inválidos %s"
-#: config/tc-hppa.c:5719
+#: config/tc-hppa.c:5713
#, c-format
msgid "Immediates %d and %d will give undefined behavior."
msgstr "Los inmediatos %d y %d darán una conducta sin definir."
-#: config/tc-hppa.c:5771 config/tc-hppa.c:6954 config/tc-hppa.c:7009
+#: config/tc-hppa.c:5765 config/tc-hppa.c:6959 config/tc-hppa.c:7014
msgid "Missing function name for .PROC (corrupted label chain)"
msgstr "Ausente el nombre de función para .PROC (cadena de etiquetas corrupta)"
-#: config/tc-hppa.c:5774 config/tc-hppa.c:7012
+#: config/tc-hppa.c:5768 config/tc-hppa.c:7017
msgid "Missing function name for .PROC"
msgstr "Ausente el nombre de función para .PROC"
-#: config/tc-hppa.c:5833
+#: config/tc-hppa.c:5827
msgid "Argument to .BLOCK/.BLOCKZ must be between 0 and 0x3fffffff"
msgstr "El argumento para .BLOCK/.BLOCKZ debe estar entre 0 y 0x3fffffff"
-#: config/tc-hppa.c:5924
+#: config/tc-hppa.c:5918
#, c-format
msgid "Invalid .CALL argument: %s"
msgstr "Argumento de .CALL inválido: %s"
-#: config/tc-hppa.c:6069
+#: config/tc-hppa.c:6063
msgid ".callinfo is not within a procedure definition"
msgstr "directiva .callinfo no está dentro de una definición de procedimiento"
-#: config/tc-hppa.c:6087
+#: config/tc-hppa.c:6081
#, c-format
msgid "FRAME parameter must be a multiple of 8: %d\n"
msgstr "El parámetro FRAM debe ser un múltiplo de 8: %d\n"
-#: config/tc-hppa.c:6104
+#: config/tc-hppa.c:6098
msgid "Value for ENTRY_GR must be in the range 3..18\n"
msgstr "Valorar para ENTRY_GR debe estar en el límite 3..18\n"
-#: config/tc-hppa.c:6115
+#: config/tc-hppa.c:6109
msgid "Value for ENTRY_FR must be in the range 12..21\n"
msgstr "Valorar para ENTRY_FR debe estar en el límite 12..21\n"
-#: config/tc-hppa.c:6124
+#: config/tc-hppa.c:6118
msgid "Value for ENTRY_SR must be 3\n"
msgstr "Valorar para ENTRY_SR debe ser 3\n"
-#: config/tc-hppa.c:6173
+#: config/tc-hppa.c:6167
#, c-format
msgid "Invalid .CALLINFO argument: %s"
msgstr "Argumento de .CALLINFO inválido: %s"
-#: config/tc-hppa.c:6284
+#: config/tc-hppa.c:6289
msgid "The .ENTER pseudo-op is not supported"
msgstr "No se admite el pseudo-operador .ENTER"
-#: config/tc-hppa.c:6300
+#: config/tc-hppa.c:6305
msgid "Misplaced .entry. Ignored."
msgstr ".entry mal ubicado. Se descarta."
-#: config/tc-hppa.c:6304
+#: config/tc-hppa.c:6309
msgid "Missing .callinfo."
msgstr "Ausente .callinfo."
-#: config/tc-hppa.c:6368
+#: config/tc-hppa.c:6374
msgid ".REG expression must be a register"
msgstr "la expresión .REG debe ser un registro"
-#: config/tc-hppa.c:6384
+#: config/tc-hppa.c:6390
msgid "bad or irreducible absolute expression; zero assumed"
-msgstr "expresión absoluta equivocada o irreducible; se asume cero"
+msgstr "expresión absoluta incorrecta o irreducible; se asume cero"
-#: config/tc-hppa.c:6395
+#: config/tc-hppa.c:6401
msgid ".REG must use a label"
msgstr ".REG debe usar una etiqueta"
-#: config/tc-hppa.c:6397
+#: config/tc-hppa.c:6403
msgid ".EQU must use a label"
msgstr ".EQU debe usar una etiqueta"
-#: config/tc-hppa.c:6453
+#: config/tc-hppa.c:6458
#, c-format
msgid "Symbol '%s' could not be created."
msgstr "No se puede crear el símbolo «%s»."
-#: config/tc-hppa.c:6503
+#: config/tc-hppa.c:6508
msgid ".EXIT must appear within a procedure"
msgstr ".EXIT debe aparecer dentro de un procedimiento"
-#: config/tc-hppa.c:6507
+#: config/tc-hppa.c:6512
msgid "Missing .callinfo"
msgstr "Ausente .callinfo"
-#: config/tc-hppa.c:6511
+#: config/tc-hppa.c:6516
msgid "No .ENTRY for this .EXIT"
msgstr "No hay .ENTRY para este .EXIT"
-#: config/tc-hppa.c:6551
+#: config/tc-hppa.c:6556
#, c-format
msgid "Using ENTRY rather than CODE in export directive for %s"
msgstr "Utilizando ENTRY en lugar de CODE en la directiva export para %s"
-#: config/tc-hppa.c:6670
+#: config/tc-hppa.c:6675
#, c-format
msgid "Undefined .EXPORT/.IMPORT argument (ignored): %s"
msgstr "Argumento indefinido .EXPORT/.IMPORT (descartado): %s"
-#: config/tc-hppa.c:6693
+#: config/tc-hppa.c:6698
#, c-format
msgid "Cannot define export symbol: %s\n"
msgstr "No se puede definir el símbolo de exportación: %s\n"
-#: config/tc-hppa.c:6784
+#: config/tc-hppa.c:6789
msgid "Missing label name on .LABEL"
msgstr "Ausente el nombre de etiqueta en .LABEL"
-#: config/tc-hppa.c:6789
+#: config/tc-hppa.c:6794
msgid "extra .LABEL arguments ignored."
msgstr "se descartan los argumentos extra de .LABEL."
-#: config/tc-hppa.c:6805
+#: config/tc-hppa.c:6810
msgid "The .LEAVE pseudo-op is not supported"
msgstr "No se admite el pseudo-operador .LEAVE"
-#: config/tc-hppa.c:6843
+#: config/tc-hppa.c:6848
msgid "Unrecognized .LEVEL argument\n"
msgstr "No reconocido el argumento de .LEVEL\n"
-#: config/tc-hppa.c:6876
+#: config/tc-hppa.c:6881
#, c-format
msgid "Cannot define static symbol: %s\n"
msgstr "No se puede definir el símbolo estático: %s\n"
-#: config/tc-hppa.c:6908
+#: config/tc-hppa.c:6913
msgid "Nested procedures"
msgstr "Procedimientos anidados"
-#: config/tc-hppa.c:6918
+#: config/tc-hppa.c:6923
msgid "Cannot allocate unwind descriptor\n"
msgstr "No se puede asignar un descriptor de desenredo\n"
-#: config/tc-hppa.c:7016
+#: config/tc-hppa.c:7021
msgid "misplaced .procend"
msgstr ".procend mal ubicado"
-#: config/tc-hppa.c:7019
+#: config/tc-hppa.c:7024
msgid "Missing .callinfo for this procedure"
msgstr "Ausente .callinfo para este procedimiento"
-#: config/tc-hppa.c:7022
+#: config/tc-hppa.c:7027
msgid "Missing .EXIT for a .ENTRY"
msgstr "Ausente .EXIT para un .ENTRY"
-#: config/tc-hppa.c:7059
+#: config/tc-hppa.c:7064
msgid "Not in a space.\n"
msgstr "No está en un espacio.\n"
-#: config/tc-hppa.c:7062
+#: config/tc-hppa.c:7067
msgid "Not in a subspace.\n"
msgstr "No está en un subespacio.\n"
-#: config/tc-hppa.c:7150
+#: config/tc-hppa.c:7155
msgid "Invalid .SPACE argument"
msgstr "Argumento de .SPACE inválido"
-#: config/tc-hppa.c:7196
+#: config/tc-hppa.c:7201
msgid "Can't change spaces within a procedure definition. Ignored"
msgstr "No se pueden modificar espacios dentro de una definición de procedimiento. Se descarta"
-#: config/tc-hppa.c:7321
+#: config/tc-hppa.c:7326
#, c-format
msgid "Undefined space: '%s' Assuming space number = 0."
msgstr "Espacio indefinido: «%s» Se asume que el número de espacio = 0."
-#: config/tc-hppa.c:7344
+#: config/tc-hppa.c:7349
msgid "Must be in a space before changing or declaring subspaces.\n"
msgstr "Debe estar en un espacio antes de modificar o declarar subespacios.\n"
-#: config/tc-hppa.c:7348
+#: config/tc-hppa.c:7353
msgid "Can't change subspaces within a procedure definition. Ignored"
msgstr "No se pueden modificar subespacios dentro de una definición de procedimiento. Se descarta"
-#: config/tc-hppa.c:7382
+#: config/tc-hppa.c:7387
msgid "Parameters of an existing subspace can't be modified"
msgstr "No se pueden modificar los parámetros de un subespacio existente"
-#: config/tc-hppa.c:7433
+#: config/tc-hppa.c:7438
msgid "Alignment must be a power of 2"
msgstr "Alineación debe ser una potencia de 2"
-#: config/tc-hppa.c:7480
+#: config/tc-hppa.c:7485
msgid "FIRST not supported as a .SUBSPACE argument"
msgstr "No se admite FIRST como un argumento de .SUBSPACE"
-#: config/tc-hppa.c:7482
+#: config/tc-hppa.c:7487
msgid "Invalid .SUBSPACE argument"
msgstr "Argumento de .SUBSPACE inválido"
-#: config/tc-hppa.c:7672
+#: config/tc-hppa.c:7676
#, c-format
msgid "Internal error: Unable to find containing space for %s."
msgstr "Error interno: No se puede encontrar el espacio contenedor para %s."
-#: config/tc-hppa.c:8234
+#: config/tc-hppa.c:8237
msgid "-R option not supported on this target."
msgstr "No se admite la opción -R en este objetivo."
-#: config/tc-hppa.c:8251 config/tc-sparc.c:1019 config/tc-sparc.c:1056
-#, c-format
-msgid "Internal error: can't hash `%s': %s\n"
-msgstr "Error interno: no se puede dispersar «%s»: %s\n"
-
-#: config/tc-hppa.c:8260 config/tc-i860.c:235
+#: config/tc-hppa.c:8259
#, c-format
msgid "internal error: losing opcode: `%s' \"%s\"\n"
msgstr "error interno: se pierde el código operacional: «%s» «%s»\n"
-#: config/tc-i370.c:418 config/tc-ppc.c:1278 config/tc-s390.c:432
-#: config/tc-s390.c:439
-#, c-format
-msgid "invalid switch -m%s"
-msgstr "interruptor -m%s inválido"
-
-#: config/tc-i370.c:515 config/tc-s390.c:538
-#, c-format
-msgid "Internal assembler error for instruction %s"
-msgstr "Error interno del ensamblador para la instrucción %s"
-
-#: config/tc-i370.c:534
-#, c-format
-msgid "Internal assembler error for macro %s"
-msgstr "Error interno del ensamblador para la macro %s"
-
-#: config/tc-i370.c:629 config/tc-ppc.c:2129
-msgid "identifier+constant@got means identifier@got+constant"
-msgstr "identificador+constante@got significa identificador@got+constante"
-
-#: config/tc-i370.c:683 config/tc-m68k.c:8071 read.c:4572
-#, c-format
-msgid "%s relocations do not fit in %u byte"
-msgid_plural "%s relocations do not fit in %u bytes"
-msgstr[0] "%s reubicaciones no caben en %u byte"
-msgstr[1] "%s reubicaciones no caben en %u bytes"
-
-#: config/tc-i370.c:927 config/tc-i370.c:968
-msgid "unsupported DC type"
-msgstr "no se admite el tipo DC"
-
-#: config/tc-i370.c:939 config/tc-i370.c:949 config/tc-i370.c:1531
-#: config/tc-i370.c:1542
-msgid "missing end-quote"
-msgstr "ausentea comilla final"
-
-#: config/tc-i370.c:998
-msgid "unsupported alignment"
-msgstr "no se admite la alineamiento"
-
-#: config/tc-i370.c:1005
-msgid "this DS form not yet supported"
-msgstr "aún no se admite esta forma DS"
-
-#: config/tc-i370.c:1047 config/tc-m32r.c:1488 config/tc-microblaze.c:192
-msgid "Expected comma after symbol-name: rest of line ignored."
-msgstr "Se esperaba coma tras nombre del símbolo: se descarta el resto de la línea."
-
-#: config/tc-i370.c:1070 config/tc-m32r.c:1512 config/tc-microblaze.c:214
-#: config/tc-ppc.c:2289 config/tc-ppc.c:3808 config/tc-ppc.c:3850
-#: config/tc-ppc.c:5410
-msgid "ignoring bad alignment"
-msgstr "se descarta la alineamiento equivocada"
-
-#: config/tc-i370.c:1081 config/tc-m32r.c:1539 config/tc-microblaze.c:225
-#, c-format
-msgid "Ignoring attempt to re-define symbol `%s'."
-msgstr "Se descarta el intento de redefinir el símbolo «%s»."
-
-#: config/tc-i370.c:1089 config/tc-microblaze.c:233
-#, c-format
-msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld."
-msgstr "La longitud de .lcomm «%s» ya es %ld. No se cambió a %ld."
-
-#: config/tc-i370.c:1108 config/tc-m32r.c:1524 config/tc-microblaze.c:249
-#: config/tc-v850.c:383
-msgid "Common alignment not a power of 2"
-msgstr "La alineamiento común no es una potencia de 2"
-
-#: config/tc-i370.c:1246
-msgid "Missing or bad .using directive"
-msgstr "Ausentea directiva .using o es equivocada"
-
-#: config/tc-i370.c:1291
-msgid "Literal Pool Overflow"
-msgstr "Desbordamiento de Conjunto Literal"
-
-#: config/tc-i370.c:1589
-msgid "expression not a constant"
-msgstr "la expresión no es una constante"
-
-#: config/tc-i370.c:1596
-msgid "Unknown/unsupported address literal type"
-msgstr "Tipo direccional literal desconocida/incompatible"
-
-#: config/tc-i370.c:1619
-#, c-format
-msgid ".ltorg without prior .using in section %s"
-msgstr ".ltorg sin .using previo en la sección %s"
-
-#: config/tc-i370.c:1623
-#, c-format
-msgid ".ltorg in section %s paired to .using in section %s"
-msgstr ".ltorg en la sección %s emparejado con .using en la sección %s"
-
-#: config/tc-i370.c:1646
-#, c-format
-msgid "bad alignment of %d bytes in literal pool"
-msgstr "alineamiento equivocada de %d bytes en el conjunto de literales"
-
-#: config/tc-i370.c:1670
-msgid "bad literal size\n"
-msgstr "tamaño de literal equivocado\n"
-
-#: config/tc-i370.c:1744
-msgid ".using: base address expression illegal or too complex"
-msgstr ".using: la expresión direccional base es ilegal o demasiado compleja"
+#: config/tc-hppa.c:8269 config/tc-sparc.c:999
+msgid "Broken assembler. No assembly attempted."
+msgstr "Ensamblador descompuesto. No se intentó ensamblar."
-#: config/tc-i370.c:1779 config/tc-i370.c:1788
+#: config/tc-i386.c:1558
#, c-format
-msgid "dropping register %d in section %s does not match using register %d"
-msgstr "soltando registro %d dentro de sección %s no coincide utilizando registro %d"
+msgid "i386_output_nops called to generate nops of at most %d bytes!"
+msgstr ""
-#: config/tc-i370.c:1792
+#: config/tc-i386.c:1738
#, c-format
-msgid "dropping register %d in section %s previously used in section %s"
-msgstr "soltando el registro %d dentro de la sección %s previamente utilizada dentro de la sección %s"
-
-#: config/tc-i370.c:1848 config/tc-ppc.c:3630
-msgid "wrong number of operands"
-msgstr "número equivocado de operandos"
+msgid "invalid single nop size: %d (expect within [0, %d])"
+msgstr ""
-#: config/tc-i370.c:1930 config/tc-mn10200.c:896 config/tc-mn10300.c:1253
-#: config/tc-s390.c:1684 config/tc-v850.c:2328
-#, c-format
-msgid "Unrecognized opcode: `%s'"
-msgstr "No reconocido el código operacional: «%s»"
+#: config/tc-i386.c:1787
+#, fuzzy
+#| msgid "jump target out of range"
+msgid "jump over nop padding out of range"
+msgstr "omite objetivo fuera de rango"
-#: config/tc-i370.c:2073
-msgid "not using any base register"
-msgstr "no se usa ningún registro base"
+#: config/tc-i386.c:2103
+#, fuzzy
+#| msgid "same type of prefix used twice"
+msgid "same oszc flag used twice"
+msgstr "se utilizó dos veces el mismo tipo de prefijo"
-#: config/tc-i370.c:2103
-#, c-format
-msgid "expecting a register for operand %d"
-msgstr "se espera un registro para operando %d"
+#: config/tc-i386.c:2135 config/tc-i386.c:2146
+#, fuzzy
+#| msgid "unrecognized symbol suffix"
+msgid "unrecognized pseudo-suffix"
+msgstr "símbolo sufijo no reconocido"
-#. xgettext:c-format.
-#: config/tc-i370.c:2209 config/tc-mn10200.c:1139 config/tc-mn10300.c:1821
-#: config/tc-ppc.c:3486 config/tc-s390.c:1597 config/tc-v850.c:3043
-#, c-format
-msgid "junk at end of line: `%s'"
-msgstr "basura al final de la línea: «%s»"
+#: config/tc-i386.c:2182
+msgid "unrecognized oszc flags or illegal `,' in pseudo-suffix"
+msgstr ""
-#. Not used --- don't have any 8 byte instructions.
-#: config/tc-i370.c:2224
-msgid "Internal Error: bad instruction length"
-msgstr "Error interno: longitud equivocada de instrucción"
+#: config/tc-i386.c:2199
+msgid "missing `}' or `,' in pseudo-suffix"
+msgstr ""
-#: config/tc-i386.c:2201
-#, c-format
-msgid "%s shortened to %s"
-msgstr "%s reducido a %s"
+#: config/tc-i386.c:2867
+#, fuzzy, c-format
+#| msgid "value 0x%I64x truncated to 0x%I64x"
+msgid "0x%<PRIx64> shortened to 0x%<PRIx64>"
+msgstr "valora 0x%I64x truncado a 0x%I64x"
-#: config/tc-i386.c:2291
+#: config/tc-i386.c:2964 config/tc-i386.c:4580 config/tc-i386.c:4591
+#: config/tc-i386.c:10628
msgid "same type of prefix used twice"
msgstr "se utilizó dos veces el mismo tipo de prefijo"
-#: config/tc-i386.c:2318
+#: config/tc-i386.c:2976 config/tc-i386.c:3304
#, c-format
msgid "64bit mode not supported on `%s'."
msgstr "no se admite el modo de 64bit en «%s»."
-#: config/tc-i386.c:2327
+#: config/tc-i386.c:2983 config/tc-i386.c:3311
#, c-format
msgid "32bit mode not supported on `%s'."
msgstr "no se admite el modo de 32bit en «%s»."
-#: config/tc-i386.c:2367
+#: config/tc-i386.c:3035
msgid "bad argument to syntax directive."
-msgstr "argumento equivocado para la directiva syntax."
+msgstr "argumento incorrecto para la directiva syntax."
-#: config/tc-i386.c:2430
+#: config/tc-i386.c:3092
#, c-format
msgid "bad argument to %s_check directive."
-msgstr "argumento equivocado para `%s_check' de directiva."
+msgstr "argumento incorrecto para `%s_check' de directiva."
-#: config/tc-i386.c:2434
+#: config/tc-i386.c:3096
#, c-format
msgid "missing argument for %s_check directive"
msgstr "argumento ausente para %s_check de directiva"
-#: config/tc-i386.c:2474
+#: config/tc-i386.c:3123
#, c-format
msgid "`%s' is not supported on `%s'"
msgstr "«%s» no se admite en «%s»"
-#: config/tc-i386.c:2576
+#: config/tc-i386.c:3191
+msgid "missing cpu architecture"
+msgstr "ausente la arquitectura de cpu"
+
+#: config/tc-i386.c:3230
+msgid ".arch stack is empty"
+msgstr ""
+
+#: config/tc-i386.c:3246
+#, c-format
+msgid "this `.arch pop' requires `.code%u%s' to be in effect"
+msgstr ""
+
+#: config/tc-i386.c:3357
+#, fuzzy
+#| msgid "Unrecognized dependency specifier %d\n"
+msgid "Unrecognized vector size specifier"
+msgstr "No reconocido el especificador de dependencia %d\n"
+
+#: config/tc-i386.c:3394
#, c-format
msgid "no such architecture: `%s'"
msgstr "no hay tal arquitectura: «%s»"
-#: config/tc-i386.c:2581
-msgid "missing cpu architecture"
-msgstr "ausente la arquitectura de cpu"
-
-#: config/tc-i386.c:2598
+#: config/tc-i386.c:3410
#, c-format
msgid "no such architecture modifier: `%s'"
msgstr "no hay tal modificador de arquitectura: «%s»"
-#: config/tc-i386.c:2613 config/tc-i386.c:2643
-msgid "Intel L1OM is 64bit ELF only"
-msgstr "Intel L1OM es solamente 64bit ELF"
-
-#: config/tc-i386.c:2620 config/tc-i386.c:2650
-msgid "Intel K1OM is 64bit ELF only"
-msgstr "Intel K1OM es solamente 64bit ELF"
-
-#: config/tc-i386.c:2627 config/tc-i386.c:2664
+#: config/tc-i386.c:3426 config/tc-i386.c:3449
msgid "Intel MCU is 32bit ELF only"
msgstr "Intel MCU es solo 32bit ELF"
-#: config/tc-i386.c:2671 config/tc-i386.c:10616
+#: config/tc-i386.c:3456 config/tc-i386.c:17765
msgid "unknown architecture"
msgstr "desconoce arquitectura"
-#: config/tc-i386.c:2708 config/tc-i386.c:2730
-#, c-format
-msgid "can't hash %s: %s"
-msgstr "no puede dispersar %s: %s"
-
-#: config/tc-i386.c:3023
+#: config/tc-i386.c:3831
msgid "there are no pc-relative size relocations"
msgstr "no hay reubicaciones de tamaño pc-relativo"
-#: config/tc-i386.c:3035
+#: config/tc-i386.c:3843
#, c-format
msgid "unknown relocation (%u)"
msgstr "reubicación desconocida (%u)"
-#: config/tc-i386.c:3037
+#: config/tc-i386.c:3845
#, c-format
msgid "%u-byte relocation cannot be applied to %u-byte field"
msgstr "la reubicación de %u-bytes no se puede aplicar al campo %u-bytes"
-#: config/tc-i386.c:3041
+#: config/tc-i386.c:3849
msgid "non-pc-relative relocation for pc-relative field"
msgstr "reubicación no relativa a pc para el campo relativo a pc"
-#: config/tc-i386.c:3046
+#: config/tc-i386.c:3854
msgid "relocated field and relocation type differ in signedness"
msgstr "el campo reubicado y el tipo reubicado difieren en signo"
-#: config/tc-i386.c:3055
+#: config/tc-i386.c:3863
msgid "there are no unsigned pc-relative relocations"
msgstr "no hay reubicaciones relativas a pc sin signo"
-#: config/tc-i386.c:3063
+#: config/tc-i386.c:3871
#, c-format
msgid "cannot do %u byte pc-relative relocation"
msgstr "no se puede hacer la reubicación relativa a pc de %u bytes"
-#: config/tc-i386.c:3080
+#: config/tc-i386.c:3888
#, c-format
msgid "cannot do %s %u byte relocation"
msgstr "no se puede hacer la reubicación %s de %u bytes"
-#: config/tc-i386.c:3549 config/tc-i386.c:3576
+#: config/tc-i386.c:4352
#, c-format
-msgid "can't use register '%s%s' as operand %d in '%s'."
-msgstr "no se puede utilizar el registro '%s%s' como operando %d en «%s»."
+msgid "ambiguous broadcast for `%s', using %u-bit form"
+msgstr ""
-#: config/tc-i386.c:3616 config/tc-i386.c:3756
+#: config/tc-i386.c:4581
+msgid "conflicting use of `data16' prefix"
+msgstr ""
+
+#: config/tc-i386.c:4668
+#, fuzzy, c-format
+#| msgid "can't encode register '%s%s' in an instruction requiring REX prefix."
+msgid "can't encode register '%s%s' in an instruction requiring %s prefix"
+msgstr "no se puede codificar el registro '%s%s' en una instrucción que requiere el prefijo REX."
+
+#: config/tc-i386.c:4710
+#, fuzzy, c-format
+#| msgid "`%s%s' not allowed with `%s%c'"
+msgid "size override not allowed with `%s'"
+msgstr "no se permite `%s%s' con `%s%c'"
+
+#: config/tc-i386.c:4717
+#, fuzzy, c-format
+#| msgid "`%s%s' not allowed with `%s%c'"
+msgid "address override not allowed with `%s'"
+msgstr "no se permite `%s%s' con `%s%c'"
+
+#: config/tc-i386.c:4771 config/tc-i386.c:7240
#, c-format
msgid "invalid instruction `%s' after `%s'"
msgstr "instrucción «%s» no válida tras «%s»"
-#: config/tc-i386.c:3622
+#: config/tc-i386.c:4777
#, c-format
msgid "missing `lock' with `%s'"
msgstr "ausente `lock' con «%s»"
-#: config/tc-i386.c:3629
+#: config/tc-i386.c:4784
#, c-format
msgid "instruction `%s' after `xacquire' not allowed"
msgstr "instrucción «%s» tras «xacquire» no permitido"
-#: config/tc-i386.c:3636
+#: config/tc-i386.c:4790
#, c-format
msgid "memory destination needed for instruction `%s' after `xrelease'"
msgstr "destino de memoria requerido para instrucción `%s' tras `xrelease'"
-#: config/tc-i386.c:3730
-#, c-format
-msgid "SSE instruction `%s' is used"
-msgstr "SSE como instrucción «%s» está utilizada"
+#: config/tc-i386.c:6224
+#, fuzzy
+#| msgid "extra .LABEL arguments ignored."
+msgid "`.noopt' arguments ignored"
+msgstr "se descartan los argumentos extra de .LABEL."
-#: config/tc-i386.c:3744 config/tc-i386.c:5581
+#: config/tc-i386.c:6410
#, c-format
-msgid "ambiguous operand size for `%s'"
-msgstr "tamaño de operando ambiguo para «%s»"
-
-#: config/tc-i386.c:3769
-msgid "expecting lockable instruction after `lock'"
-msgstr "se espera una instrucción bloqueable tras `lock'"
-
-#: config/tc-i386.c:3779
-msgid "expecting valid branch instruction after `bnd'"
-msgstr "esperando rama instruccional válida tras «bnd»"
-
-#: config/tc-i386.c:3783
-msgid "expecting indirect branch instruction after `notrack'"
-msgstr "esperando rama instruccional indirecta tras «notrack»"
-
-#: config/tc-i386.c:3788
-msgid "32-bit address isn't allowed in 64-bit MPX instructions."
-msgstr "dirección 32-bit no está permitido en instrucciones MPX de 64-bit."
-
-#: config/tc-i386.c:3792
-msgid "16-bit address isn't allowed in MPX instructions"
-msgstr "dirección de 16-bit no está permitida dentro de instrucciones MPX"
+msgid "`%s` changes flags which would affect control flow behavior"
+msgstr ""
-#. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc.
-#: config/tc-i386.c:3847
+#: config/tc-i386.c:6452
#, c-format
-msgid "translating to `%sp'"
-msgstr "se traslada a `%sp'"
+msgid "indirect `%s` with memory operand should be avoided"
+msgstr ""
-#: config/tc-i386.c:3854
+#: config/tc-i386.c:6462
#, c-format
-msgid "instruction `%s' isn't supported in 16-bit mode."
-msgstr "instrucción «%s» no admitido en modo 16-bit."
+msgid "`%s` skips -mlfence-before-indirect-branch on `%s`"
+msgstr ""
-#: config/tc-i386.c:3914
+#: config/tc-i386.c:6481
#, c-format
-msgid "can't encode register '%s%s' in an instruction requiring REX prefix."
-msgstr "no se puede codificar el registro '%s%s' en una instrucción que requiere el prefijo REX."
+msgid "`%s` skips -mlfence-before-ret on `%s`"
+msgstr ""
-#: config/tc-i386.c:3954 config/tc-i386.c:4140
+#: config/tc-i386.c:6831
+#, fuzzy, c-format
+#| msgid "`%s' cannot be used with `%s'"
+msgid "@%s operator cannot be used with `%s'"
+msgstr "«%s» no puede ser utilizado con «%s»"
+
+#: config/tc-i386.c:6836
#, c-format
-msgid "no such instruction: `%s'"
-msgstr "no hay tal instrucción: «%s»"
+msgid "@%s operator can be used with `%s', but format is wrong"
+msgstr ""
-#: config/tc-i386.c:3965 config/tc-i386.c:4173
+#: config/tc-i386.c:6841
#, c-format
-msgid "invalid character %s in mnemonic"
-msgstr "carácter inválido %s en el mnemónico"
+msgid "@%s operator requires no SIB"
+msgstr ""
-#: config/tc-i386.c:3972
-msgid "expecting prefix; got nothing"
-msgstr "se esperaba un prefijo; se obtuvo nada"
+#: config/tc-i386.c:6845
+#, fuzzy, c-format
+#| msgid "instruction requires register index"
+msgid "@%s operator requires base register"
+msgstr "la instrucción requiere un índice de registro"
-#: config/tc-i386.c:3974
-msgid "expecting mnemonic; got nothing"
-msgstr "se esperaba un mnemónico; se obtuvo nada"
+#: config/tc-i386.c:6849
+#, fuzzy, c-format
+#| msgid "First operand to .%s not a valid register"
+msgid "@%s operator requires no base/index register"
+msgstr "El primer operando de .%s no es un registro válido"
-#: config/tc-i386.c:3989 config/tc-i386.c:4191
-#, c-format
-msgid "`%s' is only supported in 64-bit mode"
-msgstr "«%s» sólo se admite en modo de 64-bit"
+#: config/tc-i386.c:6854
+#, fuzzy, c-format
+#| msgid "First operand to .%s not a register"
+msgid "@%s operator requires no base register"
+msgstr "El primer operando de .%s no es un registro"
-#: config/tc-i386.c:3990 config/tc-i386.c:4190
-#, c-format
-msgid "`%s' is not supported in 64-bit mode"
-msgstr "«%s» no se admite en modo de 64-bit"
+#: config/tc-i386.c:6858
+#, fuzzy, c-format
+#| msgid "First operand to .vframe must be a general register"
+msgid "@%s operator requires `%sebx' as index register"
+msgstr "El primer operando de .vfram debe ser un registro general"
-#: config/tc-i386.c:4002
+#: config/tc-i386.c:6863
#, c-format
-msgid "redundant %s prefix"
-msgstr "prefijo %s redundante"
+msgid "@%s operator requires `%seax' as base register"
+msgstr ""
-#: config/tc-i386.c:4197
+#: config/tc-i386.c:6868
#, c-format
-msgid "`%s' is not supported on `%s%s'"
-msgstr "«%s» no se admite en `%s%s'"
-
-#: config/tc-i386.c:4208
-msgid "use .code16 to ensure correct addressing mode"
-msgstr "use .code16 para asegurar el modo de direccionamiento correcto"
+msgid "@%s operator requires `%seax/%srax' as base register"
+msgstr ""
-#: config/tc-i386.c:4232
+#: config/tc-i386.c:6873
#, c-format
-msgid "invalid character %s before operand %d"
-msgstr "caracter inválido %s antes de operando %d"
+msgid "@%s operator requires `%sebx' as base register"
+msgstr ""
-#: config/tc-i386.c:4246
-#, c-format
-msgid "unbalanced parenthesis in operand %d."
-msgstr "paréntesis sin balancear en operando %d."
+#: config/tc-i386.c:6878
+#, fuzzy, c-format
+#| msgid "syntax error; missing ')' after base register"
+msgid "@%s operator requires `%srip' as base register"
+msgstr "error de sintaxis; ausente ')' tras registro base"
-#: config/tc-i386.c:4249
-#, c-format
-msgid "unbalanced brackets in operand %d."
-msgstr "llaves sin balancear en operando %d."
+#: config/tc-i386.c:6883
+#, fuzzy, c-format
+#| msgid "setx: temporary register same as destination register"
+msgid "@%s operator requires `%seax' as dest register"
+msgstr "setx: el registro temporal es el mismo que el registro destino"
-#: config/tc-i386.c:4258
-#, c-format
-msgid "invalid character %s in operand %d"
-msgstr "carácter inválido %s en operando %d"
+#: config/tc-i386.c:6888
+#, fuzzy, c-format
+#| msgid "setx: temporary register same as destination register"
+msgid "@%s operator requires `%srdi' as dest register"
+msgstr "setx: el registro temporal es el mismo que el registro destino"
-#: config/tc-i386.c:4285
+#: config/tc-i386.c:6893
#, c-format
-msgid "spurious operands; (%d operands/instruction max)"
-msgstr "operandos espurios; (%d operandos/instrucción máximo)"
+msgid "@%s operator requires scale factor of 1"
+msgstr ""
-#: config/tc-i386.c:4309
-msgid "expecting operand after ','; got nothing"
-msgstr "se esperaba un operando tras ','; se obtuvo nada"
+#: config/tc-i386.c:6898
+#, fuzzy, c-format
+#| msgid "First operand to .%s not a register"
+msgid "@%s operator requires 32-bit base register"
+msgstr "El primer operando de .%s no es un registro"
-#: config/tc-i386.c:4314
-msgid "expecting operand before ','; got nothing"
-msgstr "se esperaba un operando antes de ','; se obtuvo nada"
+#: config/tc-i386.c:6903
+#, c-format
+msgid "@%s operator requires 32-bit dest register"
+msgstr ""
-#: config/tc-i386.c:4693
-msgid "mask, index, and destination registers should be distinct"
-msgstr "registros de máscaras, indizado, destino deberían ser distintos"
+#: config/tc-i386.c:6908
+#, fuzzy, c-format
+#| msgid "%s isa does not support 64-bit registers"
+msgid "@%s operator requires 64-bit dest register"
+msgstr "isa %s no admite registros de 64-bit"
-#: config/tc-i386.c:4710
-msgid "index and destination registers should be distinct"
-msgstr "registros indizados y destino deberían ser distintos"
+#: config/tc-i386.c:6913
+#, fuzzy, c-format
+#| msgid "%s isa does not support 64-bit registers"
+msgid "@%s operator requires 32-bit or 64-bit dest register"
+msgstr "isa %s no admite registros de 64-bit"
-#: config/tc-i386.c:5239
+#: config/tc-i386.c:7081
msgid "operand size mismatch"
msgstr "no coincide tamaño de operando"
-#: config/tc-i386.c:5242
+#: config/tc-i386.c:7084
msgid "operand type mismatch"
msgstr "no coincide el tipo de operando"
-#: config/tc-i386.c:5245
+#: config/tc-i386.c:7087
msgid "register type mismatch"
msgstr "no coincide el tipo de registro"
-#: config/tc-i386.c:5248
+#: config/tc-i386.c:7090
msgid "number of operands mismatch"
msgstr "no coincide el número de operandos"
-#: config/tc-i386.c:5251
+#: config/tc-i386.c:7093
msgid "invalid instruction suffix"
msgstr "invalida sufijo de instrucción"
-#: config/tc-i386.c:5254
+#: config/tc-i386.c:7096
msgid "constant doesn't fit in 4 bits"
msgstr "constante no cabe en 4 bits"
-#: config/tc-i386.c:5257
-msgid "only supported with old gcc"
-msgstr "admitido solo con gcc antiguo"
-
-#: config/tc-i386.c:5260
+#: config/tc-i386.c:7099
msgid "unsupported with Intel mnemonic"
msgstr "no se admite con mnemónico Intel"
-#: config/tc-i386.c:5263
+#: config/tc-i386.c:7102
msgid "unsupported syntax"
msgstr "no se admite la sintaxis"
-#: config/tc-i386.c:5266
+#: config/tc-i386.c:7105
+#, fuzzy
+#| msgid "register r0 cannot be used here"
+msgid "extended GPR cannot be used as base/index"
+msgstr "el registro r0 no se puede usar aquí"
+
+#: config/tc-i386.c:7108
+#, fuzzy
+#| msgid "unsupported"
+msgid "{nf} unsupported"
+msgstr "no se admite"
+
+#: config/tc-i386.c:7111
#, c-format
msgid "unsupported instruction `%s'"
msgstr "no admitió instrucción «%s»"
-#: config/tc-i386.c:5270
+#: config/tc-i386.c:7115 config/tc-i386.c:7633
+#, c-format
+msgid "`%s' is not supported on `%s%s'"
+msgstr "«%s» no se admite en `%s%s'"
+
+#: config/tc-i386.c:7124
+#, fuzzy, c-format
+#| msgid "`%s' is not supported in 64-bit mode"
+msgid "`%s%c' is not supported in 64-bit mode"
+msgstr "«%s» no se admite en modo de 64-bit"
+
+#: config/tc-i386.c:7128
+#, fuzzy, c-format
+#| msgid "`%s' is only supported in 64-bit mode"
+msgid "`%s%c' is only supported in 64-bit mode"
+msgstr "«%s» solo se admite en modo de 64-bit"
+
+#: config/tc-i386.c:7135 config/tc-i386.c:7627
+#, c-format
+msgid "`%s' is not supported in 64-bit mode"
+msgstr "«%s» no se admite en modo de 64-bit"
+
+#: config/tc-i386.c:7138 config/tc-i386.c:7626
+#, c-format
+msgid "`%s' is only supported in 64-bit mode"
+msgstr "«%s» solo se admite en modo de 64-bit"
+
+#: config/tc-i386.c:7143
+msgid "no VEX/XOP encoding"
+msgstr ""
+
+#: config/tc-i386.c:7146
+msgid "no EVEX encoding"
+msgstr ""
+
+#: config/tc-i386.c:7149
+#, fuzzy
+#| msgid "invalid VSIB address"
+msgid "invalid SIB address"
+msgstr "dirección VSIB no válida"
+
+#: config/tc-i386.c:7152
msgid "invalid VSIB address"
msgstr "dirección VSIB no válida"
-#: config/tc-i386.c:5273
+#: config/tc-i386.c:7155
msgid "mask, index, and destination registers must be distinct"
msgstr "máscara, índice, y registro de destino debe ser distinto"
-#: config/tc-i386.c:5276
+#: config/tc-i386.c:7158
+#, fuzzy
+#| msgid "last register must be r7"
+msgid "all tmm registers must be distinct"
+msgstr "el último registro debe ser r7"
+
+#: config/tc-i386.c:7161
+#, fuzzy
+#| msgid "mask, index, and destination registers must be distinct"
+msgid "destination and source registers must be distinct"
+msgstr "máscara, índice, y registro de destino debe ser distinto"
+
+#: config/tc-i386.c:7164
+#, fuzzy
+#| msgid "mask, index, and destination registers must be distinct"
+msgid "two dest registers must be distinct"
+msgstr "máscara, índice, y registro de destino debe ser distinto"
+
+#: config/tc-i386.c:7167
+#, fuzzy
+#| msgid "register r0 cannot be used here"
+msgid "rex2 pseudo prefix cannot be used"
+msgstr "el registro r0 no se puede usar aquí"
+
+#: config/tc-i386.c:7170
msgid "unsupported vector index register"
msgstr "no se admite el registro de índice de vector"
-#: config/tc-i386.c:5279
+#: config/tc-i386.c:7173
msgid "unsupported broadcast"
msgstr "emisión no admitida"
-#: config/tc-i386.c:5282
-msgid "broadcast not on source memory operand"
-msgstr "emisión no en operando de memoria origen"
-
-#: config/tc-i386.c:5285
+#: config/tc-i386.c:7176
msgid "broadcast is needed for operand of such type"
msgstr "emisión es necesaria para operando de tal tipo"
-#: config/tc-i386.c:5288
+#: config/tc-i386.c:7179
msgid "unsupported masking"
msgstr "máscara no soportada"
-#: config/tc-i386.c:5291
+#: config/tc-i386.c:7182
msgid "mask not on destination operand"
msgstr "máscara no sobre operando destino"
-#: config/tc-i386.c:5294
+#: config/tc-i386.c:7185
msgid "default mask isn't allowed"
msgstr ""
-#: config/tc-i386.c:5297
+#: config/tc-i386.c:7188
msgid "unsupported static rounding/sae"
msgstr "no admitida reubicación/sae estática"
-#: config/tc-i386.c:5301
-msgid "RC/SAE operand must precede immediate operands"
-msgstr "Operando RC/SAE debe preceder inmediatamente operandos"
+#: config/tc-i386.c:7191
+#, c-format
+msgid "vector size above %u required for `%s'"
+msgstr ""
-#: config/tc-i386.c:5303
-msgid "RC/SAE operand must follow immediate operands"
-msgstr "Operando RC/SAE debe seguir inmediatamente operandos"
+#: config/tc-i386.c:7195
+#, fuzzy
+#| msgid "odd register cannot be used here"
+msgid "'rsp' register cannot be used"
+msgstr "no se puede usar aquí un registro impar"
-#: config/tc-i386.c:5306 config/tc-metag.c:4789 config/tc-metag.c:5530
-#: config/tc-metag.c:5552
-msgid "invalid register operand"
-msgstr "invalida registro operando"
+#: config/tc-i386.c:7198
+#, fuzzy
+#| msgid "MIPS internal Error"
+msgid "internal error"
+msgstr "Error interno de MIPS"
-#: config/tc-i386.c:5309
+#: config/tc-i386.c:7201
#, c-format
msgid "%s for `%s'"
msgstr "%s para «%s»"
-#: config/tc-i386.c:5320
+#: config/tc-i386.c:7230
+#, c-format
+msgid "SSE instruction `%s' is used"
+msgstr "SSE como instrucción «%s» está utilizada"
+
+#: config/tc-i386.c:7254
+msgid "expecting lockable instruction after `lock'"
+msgstr "se espera una instrucción bloqueable tras `lock'"
+
+#: config/tc-i386.c:7287
+#, fuzzy, c-format
+#| msgid "width suffixes are invalid in ARM mode -- `%s'"
+msgid "data size prefix invalid with `%s'"
+msgstr "los sufijos de anchura son inválidos en modo ARM -- «%s»"
+
+#: config/tc-i386.c:7298
+msgid "expecting valid branch instruction after `bnd'"
+msgstr "esperando rama instruccional válida tras «bnd»"
+
+#: config/tc-i386.c:7302
+msgid "expecting indirect branch instruction after `notrack'"
+msgstr "esperando rama instruccional indirecta tras «notrack»"
+
+#: config/tc-i386.c:7307
+msgid "32-bit address isn't allowed in 64-bit MPX instructions."
+msgstr "dirección 32-bit no está permitido en instrucciones MPX de 64-bit."
+
+#: config/tc-i386.c:7311
+msgid "16-bit address isn't allowed in MPX instructions"
+msgstr "dirección de 16-bit no está permitida dentro de instrucciones MPX"
+
+#: config/tc-i386.c:7321
+msgid "replacing `rep'/`repe' prefix by `bnd'"
+msgstr ""
+
+#: config/tc-i386.c:7341
+#, c-format
+msgid "input/output port address isn't allowed with `%s'"
+msgstr ""
+
+#: config/tc-i386.c:7374
+#, fuzzy, c-format
+#| msgid "invalid pc-relative address"
+msgid "'%s' only supports RIP-relative address"
+msgstr "dirección relativa a pc no válida"
+
+#. UnixWare fsub no args is alias for fsubp, fadd -> faddp, etc.
+#: config/tc-i386.c:7423
+#, c-format
+msgid "translating to `%sp'"
+msgstr "se traslada a `%sp'"
+
+#: config/tc-i386.c:7430
+#, fuzzy, c-format
+#| msgid "instruction `%s' isn't supported in 16-bit mode."
+msgid "instruction `%s' isn't supported outside of protected mode."
+msgstr "instrucción «%s» no admitido en modo 16-bit."
+
+#: config/tc-i386.c:7443
+#, fuzzy, c-format
+#| msgid "invalid switch -m%s"
+msgid "REX prefix invalid with `%s'"
+msgstr "interruptor -m%s inválido"
+
+#: config/tc-i386.c:7450
+#, fuzzy, c-format
+#| msgid "invalid switch -m%s"
+msgid "{rex2} prefix invalid with `%s'"
+msgstr "interruptor -m%s inválido"
+
+#: config/tc-i386.c:7576 config/tc-i386.c:7890
+#, c-format
+msgid "no such instruction: `%s'"
+msgstr "no hay tal instrucción: «%s»"
+
+#: config/tc-i386.c:7602 config/tc-i386.c:7941
+#, c-format
+msgid "invalid character %s in mnemonic"
+msgstr "carácter inválido %s en el mnemónico"
+
+#: config/tc-i386.c:7609
+msgid "expecting prefix; got nothing"
+msgstr "se esperaba un prefijo; se obtuvo nada"
+
+#: config/tc-i386.c:7611
+msgid "expecting mnemonic; got nothing"
+msgstr "se esperaba un mnemónico; se obtuvo nada"
+
+#: config/tc-i386.c:7647
+#, c-format
+msgid "redundant %s prefix"
+msgstr "prefijo %s redundante"
+
+#: config/tc-i386.c:7712
+#, fuzzy
+#| msgid "insn cannot be combined with pmuls"
+msgid "{nf} cannot be combined with {vex}/{vex3}"
+msgstr "la insn no se pueden combinar con pmuls"
+
+#: config/tc-i386.c:7762
+#, c-format
+msgid "ignoring `.s' suffix due to earlier `{%s}'"
+msgstr ""
+
+#: config/tc-i386.c:7772
+msgid "ignoring `.d8' suffix due to earlier `{disp<N>}'"
+msgstr ""
+
+#: config/tc-i386.c:7782
+msgid "ignoring `.d32' suffix due to earlier `{disp<N>}'"
+msgstr ""
+
+#: config/tc-i386.c:7873
+#, c-format
+msgid "found `%sd'; assuming `%sl' was meant"
+msgstr ""
+
+#: config/tc-i386.c:7990
+#, c-format
+msgid "invalid character %s before operand %d"
+msgstr "caracter inválido %s antes de operando %d"
+
+#: config/tc-i386.c:8002
+#, fuzzy, c-format
+#| msgid "unbalanced brackets in operand %d."
+msgid "unbalanced double quotes in operand %d."
+msgstr "llaves sin balancear en operando %d."
+
+#: config/tc-i386.c:8009
+#, c-format
+msgid "unbalanced parenthesis in operand %d."
+msgstr "paréntesis sin balancear en operando %d."
+
+#: config/tc-i386.c:8022
+#, c-format
+msgid "invalid character %s in operand %d"
+msgstr "carácter inválido %s en operando %d"
+
+#: config/tc-i386.c:8042
+#, c-format
+msgid "spurious operands; (%d operands/instruction max)"
+msgstr "operandos espurios; (%d operandos/instrucción máximo)"
+
+#: config/tc-i386.c:8052 config/tc-i386.c:13607
+#, c-format
+msgid "too many memory references for `%s'"
+msgstr "demasiadas referencias a memoria para «%s»"
+
+#: config/tc-i386.c:8073 config/tc-i386.c:13601
+msgid "expecting operand after ','; got nothing"
+msgstr "se esperaba un operando tras ','; se obtuvo nada"
+
+#: config/tc-i386.c:8078
+msgid "expecting operand before ','; got nothing"
+msgstr "se esperaba un operando antes de ','; se obtuvo nada"
+
+#: config/tc-i386.c:8368
+#, fuzzy, c-format
+#| msgid "0x%lx out range of signed 32bit displacement"
+msgid "0x%<PRIx64> out of range of signed 32bit displacement"
+msgstr "0x%lx fuera de rango del desplazamiento de 32 bit con signo"
+
+#: config/tc-i386.c:8572
+msgid "mask, index, and destination registers should be distinct"
+msgstr "registros de máscaras, indexado, destino deberían ser distintos"
+
+#: config/tc-i386.c:8589
+msgid "index and destination registers should be distinct"
+msgstr "registros indexados y destino deberían ser distintos"
+
+#: config/tc-i386.c:9718
#, c-format
msgid "indirect %s without `*'"
msgstr "%s indirecto sin `*'"
#. Warn them that a data or address size prefix doesn't
#. affect assembly of the next line of code.
-#: config/tc-i386.c:5328
+#: config/tc-i386.c:9725
#, c-format
msgid "stand-alone `%s' prefix"
msgstr "prefijo «%s» por sí solo"
-#: config/tc-i386.c:5362 config/tc-i386.c:5378
-#, c-format
-msgid "`%s' operand %d must use `%ses' segment"
+#: config/tc-i386.c:9732
+#, fuzzy, c-format
+#| msgid "`%s' cannot be used with `%s'"
+msgid "mnemonic suffix used with `%s'"
+msgstr "«%s» no puede ser utilizado con «%s»"
+
+#: config/tc-i386.c:9737
+msgid "NOTE: Such forms are deprecated and will be rejected by a future version of the assembler"
+msgstr ""
+
+#: config/tc-i386.c:9822
+#, fuzzy, c-format
+#| msgid "`%s' operand %d must use `%ses' segment"
+msgid "`%s' operand %u must use `%ses' segment"
msgstr "«%s» operando %d debe utilizar `%ses' como segmento"
-#. We have to know the operand size for crc32.
-#: config/tc-i386.c:5432
+#: config/tc-i386.c:9952
+msgid "generating 16-bit `iret' for .code16gcc directive"
+msgstr ""
+
+#: config/tc-i386.c:9956
+#, c-format
+msgid "generating 32-bit `%s', unlike earlier gas versions"
+msgstr ""
+
+#: config/tc-i386.c:10120
#, c-format
-msgid "ambiguous memory operand size for `%s`"
-msgstr "tamaño de operando de memoria ambigua para `%s`"
+msgid "ambiguous operand size for `%s'"
+msgstr "tamaño de operando ambiguo para «%s»"
+
+#: config/tc-i386.c:10125
+#, fuzzy, c-format
+#| msgid "no instruction mnemonic suffix given and no register operands; can't size instruction"
+msgid "no instruction mnemonic suffix given and no register operands; can't size `%s'"
+msgstr "no se dio un sufijo mnemónico de instrucción y ningún operando de registro; no se puede determinar el tamaño de la instrucción"
+
+#: config/tc-i386.c:10130
+#, fuzzy, c-format
+#| msgid "unrecognized default cpu `%s'"
+msgid "%s; using default for `%s'"
+msgstr "no reconocido el cpu por defecto «%s»"
-#: config/tc-i386.c:5554
-msgid "no instruction mnemonic suffix given and no register operands; can't size instruction"
+#: config/tc-i386.c:10132
+#, fuzzy
+#| msgid "ambiguous operand size for `%s'"
+msgid "ambiguous operand size"
+msgstr "tamaño de operando ambiguo para «%s»"
+
+#: config/tc-i386.c:10133
+#, fuzzy
+#| msgid "no instruction mnemonic suffix given and no register operands; can't size instruction"
+msgid "no instruction mnemonic suffix given and no register operands"
msgstr "no se dio un sufijo mnemónico de instrucción y ningún operando de registro; no se puede determinar el tamaño de la instrucción"
-#: config/tc-i386.c:5700 config/tc-i386.c:5773 config/tc-i386.c:5895
+#: config/tc-i386.c:10282
#, c-format
-msgid "using `%s%s' instead of `%s%s' due to `%c' suffix"
-msgstr "empleando `%s%s' en lugar de `%s%s' debido `%c' como sufijo"
+msgid "16-bit addressing unavailable for `%s'"
+msgstr ""
+
+#: config/tc-i386.c:10350
+#, fuzzy, c-format
+#| msgid "invalid register operand: %s"
+msgid "invalid register operand size for `%s'"
+msgstr "operando registrado inválido: %s"
-#: config/tc-i386.c:5721 config/tc-i386.c:5749 config/tc-i386.c:5820
-#: config/tc-i386.c:5870
+#. Any other register is bad.
+#: config/tc-i386.c:10389 config/tc-i386.c:10413 config/tc-i386.c:10453
+#: config/tc-i386.c:10490
#, c-format
msgid "`%s%s' not allowed with `%s%c'"
msgstr "no se permite `%s%s' con `%s%c'"
-#: config/tc-i386.c:5767 config/tc-i386.c:5794 config/tc-i386.c:5845
-#: config/tc-i386.c:5889
+#: config/tc-i386.c:10426 config/tc-i386.c:10465 config/tc-i386.c:10502
#, c-format
msgid "incorrect register `%s%s' used with `%c' suffix"
msgstr "registro incorrecto `%s%s' utilizado con `%c' como sufijo"
-#: config/tc-i386.c:5958
+#: config/tc-i386.c:10592
msgid "no instruction mnemonic suffix given; can't determine immediate size"
msgstr "no se dio un sufijo mnemónico de instrucción; no se puede determinar el tamaño inmediato"
-#: config/tc-i386.c:6102
+#: config/tc-i386.c:10799
#, c-format
-msgid "the second source register `%s%s' implicitly denotes `%s%.3s%d' to `%s%.3s%d' source group in `%s'"
+msgid "operand %u `%s%s' implicitly denotes `%s%s' to `%s%s' group in `%s'"
msgstr ""
-#: config/tc-i386.c:6139
-#, c-format
-msgid "you can't `pop %scs'"
-msgstr "no se puede hacer `pop %scs'"
-
-#. Reversed arguments on faddp, fsubp, etc.
-#: config/tc-i386.c:6168
+#. Reversed arguments on faddp or fmulp.
+#: config/tc-i386.c:10846
#, c-format
msgid "translating to `%s %s%s,%s%s'"
msgstr "se traslada a `%s %s%s,%s%s'"
#. Extraneous `l' suffix on fp insn.
-#: config/tc-i386.c:6175
+#: config/tc-i386.c:10853
#, c-format
msgid "translating to `%s %s%s'"
msgstr "se traslada a `%s %s%s'"
-#: config/tc-i386.c:6203
+#: config/tc-i386.c:10866
+#, fuzzy, c-format
+#| msgid "you can't `pop %scs'"
+msgid "you can't `%s %s%s'"
+msgstr "no se puede hacer `pop %scs'"
+
+#: config/tc-i386.c:10923
#, c-format
msgid "segment override on `%s' is ineffectual"
msgstr "segmento invalidado en «%s» no tiene efecto"
-#: config/tc-i386.c:6975 config/tc-i386.c:7076 config/tc-i386.c:7131
-msgid "skipping prefixes on this instruction"
+#: config/tc-i386.c:11381 config/tc-loongarch.c:1245 config/tc-riscv.c:1979
+#, fuzzy
+#| msgid "only constant offsets supported in absolute section"
+msgid "relaxable branches not supported in absolute section"
+msgstr "solo se admiten los desplazamientos constantes en la sección absoluta"
+
+#: config/tc-i386.c:11416 config/tc-i386.c:11559 config/tc-i386.c:11641
+#, fuzzy, c-format
+#| msgid "skipping prefixes on this instruction"
+msgid "skipping prefixes on `%s'"
msgstr "omitiendo prefijos sobre esta instrucción"
-#: config/tc-i386.c:7151
+#: config/tc-i386.c:11667
msgid "16-bit jump out of range"
-msgstr "16-bit omitido fuera de límite"
-
-#: config/tc-i386.c:7160
-#, c-format
-msgid "can't handle non absolute segment in `%s'"
-msgstr "no se puede manipular un segmento no absoluto en «%s»"
+msgstr "16-bit omitido fuera de rango"
-#: config/tc-i386.c:7255
+#: config/tc-i386.c:11694 config/tc-i386.c:12436
msgid "pseudo prefix without instruction"
msgstr "pseudo prefijo sin instrucción"
-#: config/tc-i386.c:7847 config/tc-i386.c:7949
+#: config/tc-i386.c:11706
+#, fuzzy
+#| msgid "pseudo prefix without instruction"
+msgid "pseudo prefix ahead of label; ignoring"
+msgstr "pseudo prefijo sin instrucción"
+
+#: config/tc-i386.c:12025 config/tc-i386.c:12058 config/tc-i386.c:12147
+#, c-format
+msgid "`%s` skips -malign-branch-boundary on `%s`"
+msgstr ""
+
+#: config/tc-i386.c:12316
+msgid "use .code16 to ensure correct addressing mode"
+msgstr "use .code16 para asegurar el modo de direccionamiento correcto"
+
+#: config/tc-i386.c:12344
+#, fuzzy, c-format
+#| msgid "instruction `%s' isn't supported in 16-bit mode."
+msgid "Cannot convert `%s' in 16-bit mode"
+msgstr "instrucción «%s» no admitido en modo 16-bit."
+
+#: config/tc-i386.c:12346
+#, c-format
+msgid "Cannot convert `%s' with `-momit-lock-prefix=yes' in effect"
+msgstr ""
+
+#: config/tc-i386.c:12591 config/tc-i386.c:12594
+#, c-format
+msgid "instruction length of %u bytes exceeds the limit of 15"
+msgstr ""
+
+#: config/tc-i386.c:13145
#, c-format
msgid "@%s reloc is not supported with %d-bit output format"
msgstr "no se admiten las reubicaciones @%s con el formato de salida de %d bits"
-#: config/tc-i386.c:8000
+#: config/tc-i386.c:13203
#, c-format
msgid "missing or invalid expression `%s'"
msgstr "expresión ausentente o no válida «%s»"
-#: config/tc-i386.c:8086
+#: config/tc-i386.c:13212
+#, fuzzy, c-format
+#| msgid "invalid LOC expression"
+msgid "invalid PLT expression `%s'"
+msgstr "expresión LOC no válida"
+
+#: config/tc-i386.c:13311
+#, fuzzy
+#| msgid "hard-float conflicts with specified fpu"
+msgid "pseudo-prefix conflicts with encoding specifier"
+msgstr "hard-float tiene conflictos con la unidad de coma flotante (fpu) especificada"
+
+#: config/tc-i386.c:13335
+msgid "illegal prefix used with VEX/XOP/EVEX"
+msgstr ""
+
+#: config/tc-i386.c:13646
+#, c-format
+msgid "opcode residual (%#<PRIx64>) too wide"
+msgstr ""
+
+#: config/tc-i386.c:13662
+msgid "eGPR use conflicts with encoding specifier"
+msgstr ""
+
+#: config/tc-i386.c:13683 config/tc-i386.c:13727
+#, fuzzy
+#| msgid "Too many registers popped"
+msgid "too many register/memory operands"
+msgstr "Demasiados registros aparecidos"
+
+#: config/tc-i386.c:13694 config/tc-i386.c:13701
+#, fuzzy
+#| msgid "too few operands"
+msgid "too few register/memory operands"
+msgstr "muy pocos operandos"
+
+#: config/tc-i386.c:13714
+#, fuzzy, c-format
+#| msgid "constant doesn't fit in 4 bits"
+msgid "constant doesn't fit in %d bits"
+msgstr "constante no cabe en 4 bits"
+
+#: config/tc-i386.c:13778
+msgid "VSIB unavailable with legacy encoding"
+msgstr ""
+
+#. We could allow two register operands, encoding the 2nd one in
+#. an 8-bit immediate like for 4-register-operand insns, but that
+#. would require ugly fiddling with process_operands() and/or
+#. build_modrm_byte().
+#: config/tc-i386.c:13789
+#, fuzzy
+#| msgid "Too many registers popped"
+msgid "too many register operands with VSIB"
+msgstr "Demasiados registros aparecidos"
+
+#: config/tc-i386.c:13808
+#, c-format
+msgid "can't encode register '%s%s' with VEX/XOP/EVEX"
+msgstr ""
+
+#: config/tc-i386.c:14013
+#, fuzzy
+#| msgid "Conflicting operand modifiers"
+msgid "conflicting .insn operands"
+msgstr "Modificadores de operando en conflicto"
+
+#: config/tc-i386.c:14046 read.c:4318
+#, fuzzy
+#| msgid "pseudo instruction `%s' not supported"
+msgid "SCFI: hand-crafting instructions not supported"
+msgstr "pseudo instrucción «%s» no admitida"
+
+#: config/tc-i386.c:14115
+#, fuzzy, c-format
+#| msgid "duplicated `%s'"
+msgid "duplicated `{%s}'"
+msgstr "duplicado «%s»"
+
+#: config/tc-i386.c:14188
#, c-format
msgid "Unsupported broadcast: `%s'"
msgstr "No admitió emisión: «%s»"
-#: config/tc-i386.c:8101
+#: config/tc-i386.c:14263
#, c-format
msgid "`%s%s' can't be used for write mask"
msgstr "`%s%s' no se puede ser empleado para máscara de escritura"
-#: config/tc-i386.c:8124
+#: config/tc-i386.c:14283
#, c-format
msgid "invalid write mask `%s'"
msgstr "marca de escritura no válida «%s»"
-#: config/tc-i386.c:8146 config/tc-i386.c:8809
+#: config/tc-i386.c:14304
#, c-format
msgid "duplicated `%s'"
msgstr "duplicado «%s»"
-#: config/tc-i386.c:8156
+#: config/tc-i386.c:14314
#, c-format
msgid "invalid zeroing-masking `%s'"
msgstr "invalida mascarada a cero `%s'"
-#: config/tc-i386.c:8169
+#: config/tc-i386.c:14332
#, c-format
msgid "missing `}' in `%s'"
msgstr "ausente `}' en «%s»"
#. We don't know this one.
-#: config/tc-i386.c:8177
+#: config/tc-i386.c:14344
#, c-format
msgid "unknown vector operation: `%s'"
-msgstr "operación vectorial desconocida: «%s»"
+msgstr "operación de vector desconocida: «%s»"
-#: config/tc-i386.c:8183
+#: config/tc-i386.c:14350
msgid "zeroing-masking only allowed with write mask"
msgstr ""
-#: config/tc-i386.c:8203
+#: config/tc-i386.c:14370
#, c-format
msgid "at most %d immediate operands are allowed"
-msgstr "sólo se permiten cuando mucho %d operandos inmediatos"
+msgstr "solo se permiten cuando mucho %d operandos inmediatos"
-#: config/tc-i386.c:8235 config/tc-i386.c:8482
+#: config/tc-i386.c:14409 config/tc-i386.c:14668
#, c-format
msgid "junk `%s' after expression"
msgstr "«%s» basura tras la expresión"
-#: config/tc-i386.c:8256
+#: config/tc-i386.c:14422
+#, c-format
+msgid "illegal immediate register operand %s"
+msgstr "operando de registro inmediato ilegal %s"
+
+#: config/tc-i386.c:14436
#, c-format
msgid "missing or invalid immediate expression `%s'"
msgstr "expresión inmediata ausentente o no válida «%s»"
-#: config/tc-i386.c:8279 config/tc-i386.c:8572
+#: config/tc-i386.c:14459 config/tc-i386.c:14747
#, c-format
msgid "unimplemented segment %s in operand"
msgstr "segmento %s sin implementar en operando"
-#: config/tc-i386.c:8286
-#, c-format
-msgid "illegal immediate register operand %s"
-msgstr "operando de registro inmediato ilegal %s"
-
-#: config/tc-i386.c:8334
+#: config/tc-i386.c:14508
#, c-format
msgid "expecting scale factor of 1, 2, 4, or 8: got `%s'"
msgstr "se esperaba un factor de escala de 1, 2, 4, u 8: se obtuvo «%s»"
-#: config/tc-i386.c:8343
+#: config/tc-i386.c:14517
#, c-format
msgid "scale factor of %d without an index register"
msgstr "factor de escala de %d sin un registro índice"
-#: config/tc-i386.c:8365
+#: config/tc-i386.c:14539
#, c-format
msgid "at most %d displacement operands are allowed"
-msgstr "sólo se permiten hasta %d operandos de desubicación"
+msgstr "solo se permiten hasta %d operandos de desubicación"
-#: config/tc-i386.c:8538
+#: config/tc-i386.c:14723
#, c-format
msgid "missing or invalid displacement expression `%s'"
msgstr "expresión de desubicación ausentente o no válida «%s»"
-#: config/tc-i386.c:8555
-#, c-format
-msgid "0x%lx out range of signed 32bit displacement"
-msgstr "0x%lx fuera de límite del desplazamiento de 32 bit con signo"
-
-#: config/tc-i386.c:8707
+#: config/tc-i386.c:14898
#, c-format
msgid "`%s' is not valid here (expected `%c%s%s%c')"
msgstr "«%s» no es válido aquí (se esperaba `%c%s%s%c')"
-#: config/tc-i386.c:8719
+#: config/tc-i386.c:14910
#, c-format
msgid "`%s' is not a valid %s expression"
msgstr "«%s» no es una expresión %s válida"
-#: config/tc-i386.c:8754
+#: config/tc-i386.c:14924
+#, fuzzy, c-format
+#| msgid "invalid suffix"
+msgid "invalid `%s' prefix"
+msgstr "sufijo inválido"
+
+#: config/tc-i386.c:14954
#, c-format
msgid "`%s' cannot be used here"
msgstr "`%s' no puede ser empleado aquí"
-#: config/tc-i386.c:8761
+#: config/tc-i386.c:14961
msgid "register scaling is being ignored here"
msgstr "registro escalado está siendo descartado aquí"
-#: config/tc-i386.c:8822
+#: config/tc-i386.c:15009
#, c-format
msgid "Missing '}': '%s'"
msgstr "Ausente '}': «%s»"
-#: config/tc-i386.c:8828
+#: config/tc-i386.c:15015
#, c-format
msgid "Junk after '}': '%s'"
msgstr "Basura tras '}': «%s»"
-#: config/tc-i386.c:8956
+#: config/tc-i386.c:15090
#, c-format
msgid "bad memory operand `%s'"
-msgstr "operando de memoria equivocado «%s»"
+msgstr "operando de memoria incorrecto «%s»"
-#: config/tc-i386.c:8980
+#: config/tc-i386.c:15106
#, c-format
msgid "junk `%s' after register"
msgstr "«%s» basura tras registro"
-#: config/tc-i386.c:8993 config/tc-i386.c:9130 config/tc-i386.c:9174
+#: config/tc-i386.c:15113
+#, fuzzy, c-format
+#| msgid "`%s' cannot be used here"
+msgid "`%s%s' cannot be used here"
+msgstr "`%s' no puede ser empleado aquí"
+
+#: config/tc-i386.c:15136
+#, fuzzy, c-format
+#| msgid "`%s' is deprecated, use `%s'"
+msgid "`%s': misplaced `{%s}'"
+msgstr "«%s» es obsoleta, emplee «%s»"
+
+#: config/tc-i386.c:15143 config/tc-i386.c:15317 config/tc-i386.c:15361
#, c-format
msgid "bad register name `%s'"
-msgstr "nombre de registro equivocado «%s»"
+msgstr "nombre de registro incorrecto «%s»"
-#: config/tc-i386.c:9001
+#: config/tc-i386.c:15151
msgid "immediate operand illegal with absolute jump"
msgstr "operando inmediato ilegal con salto absoluto"
-#: config/tc-i386.c:9032
-#, c-format
-msgid "too many memory references for `%s'"
-msgstr "demasiadas referencias a memoria para «%s»"
+#: config/tc-i386.c:15158
+#, fuzzy, c-format
+#| msgid "RC/SAE operand must follow immediate operands"
+msgid "`%s': RC/SAE operand must follow immediate operands"
+msgstr "Operando RC/SAE debe seguir inmediatamente operandos"
+
+#: config/tc-i386.c:15171
+#, fuzzy, c-format
+#| msgid "`%s' is deprecated, use `%s'"
+msgid "`%s': misplaced `%s'"
+msgstr "«%s» es obsoleta, emplee «%s»"
+
+#: config/tc-i386.c:15222
+msgid "unbalanced figure braces"
+msgstr ""
-#: config/tc-i386.c:9119
+#: config/tc-i386.c:15306
#, c-format
msgid "expecting `,' or `)' after index register in `%s'"
msgstr "se esperaba `,' ó `)' tras registro índice en «%s»"
-#: config/tc-i386.c:9147
+#: config/tc-i386.c:15334
#, c-format
msgid "expecting `)' after scale factor in `%s'"
msgstr "se esperaba `)' tras factor de escala en «%s»"
-#: config/tc-i386.c:9155
+#: config/tc-i386.c:15342
#, c-format
msgid "expecting index register or scale factor after `,'; got '%c'"
msgstr "se esperaba un registro índice o un factor de escala tras `,'; se obtuvo '%c'"
-#: config/tc-i386.c:9163
+#: config/tc-i386.c:15350
#, c-format
msgid "expecting `,' or `)' after base register in `%s'"
msgstr "se esperaba `,' ó `)' tras registro base en «%s»"
#. It's not a memory operand; argh!
-#: config/tc-i386.c:9212
+#: config/tc-i386.c:15400
#, c-format
msgid "invalid char %s beginning operand %d `%s'"
msgstr "carácter inválido %s al inicio de operando %d «%s»"
-#: config/tc-i386.c:9434
+#: config/tc-i386.c:16059
+#, c-format
+msgid "%s:%u: add %d%s at 0x%llx to align %s within %d-byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:16062
+#, c-format
+msgid "%s:%u: add additional %d%s at 0x%llx to align %s within %d-byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:16068
+#, c-format
+msgid "%s:%u: add %d%s-byte nop at 0x%llx to align %s within %d-byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:16135
msgid "long jump required"
msgstr "se requiere un salto largo"
-#: config/tc-i386.c:9489
+#: config/tc-i386.c:16190
msgid "jump target out of range"
-msgstr "omite objetivo fuera de límite"
+msgstr "omite objetivo fuera de rango"
+
+#: config/tc-i386.c:16668
+#, fuzzy, c-format
+#| msgid "register r0 cannot be used here"
+msgid "register '%s%s' cannot be used here"
+msgstr "el registro r0 no se puede usar aquí"
+
+#: config/tc-i386.c:16934
+#, fuzzy, c-format
+#| msgid "invalid -mtune= option: `%s'"
+msgid "invalid -mx86-used-note= option: `%s'"
+msgstr "opción -mtune= no válida: «%s»"
-#: config/tc-i386.c:10064
+#: config/tc-i386.c:16957
msgid "no compiled in support for x86_64"
msgstr "no se compiló el soporte para x86_64"
-#: config/tc-i386.c:10084
+#: config/tc-i386.c:16976
msgid "no compiled in support for 32bit x86_64"
msgstr "no se compiló el soporte para x86_64 de 32bit"
-#: config/tc-i386.c:10088
-msgid "32bit x86_64 is only supported for ELF"
-msgstr "x86_64 de 32bit sólo se admite para ELF"
+#: config/tc-i386.c:16997
+#, fuzzy
+#| msgid "no compiled in support for x86_64"
+msgid "no compiled in support for ix86"
+msgstr "no se compiló el soporte para x86_64"
-#: config/tc-i386.c:10122 config/tc-i386.c:10206
+#: config/tc-i386.c:17030 config/tc-i386.c:17116
#, c-format
msgid "invalid -march= option: `%s'"
msgstr "opción -march= no válida: «%s»"
-#: config/tc-i386.c:10216 config/tc-i386.c:10228
+#: config/tc-i386.c:17086
+#, fuzzy
+#| msgid "Unrecognized dependency specifier %d\n"
+msgid "Unrecognized vector size specifier ignored"
+msgstr "No reconocido el especificador de dependencia %d\n"
+
+#: config/tc-i386.c:17126 config/tc-i386.c:17138
#, c-format
msgid "invalid -mtune= option: `%s'"
msgstr "opción -mtune= no válida: «%s»"
-#: config/tc-i386.c:10237
+#: config/tc-i386.c:17147
#, c-format
msgid "invalid -mmnemonic= option: `%s'"
msgstr "opción -mmnemonic= no válida: «%s»"
-#: config/tc-i386.c:10246
+#: config/tc-i386.c:17156
#, c-format
msgid "invalid -msyntax= option: `%s'"
msgstr "opción -msyntax= no válida: «%s»"
-#: config/tc-i386.c:10273
+#: config/tc-i386.c:17184
#, c-format
msgid "invalid -msse-check= option: `%s'"
msgstr "opción -msse-check= no válida: «%s»"
-#: config/tc-i386.c:10284
+#: config/tc-i386.c:17195
#, c-format
msgid "invalid -moperand-check= option: `%s'"
msgstr "opción -moperand-check= no válida: «%s»"
-#: config/tc-i386.c:10293
+#: config/tc-i386.c:17204
#, c-format
msgid "invalid -mavxscalar= option: `%s'"
msgstr "opción -mavxscalar= no válida: «%s»"
-#: config/tc-i386.c:10308
+#: config/tc-i386.c:17213
+#, fuzzy, c-format
+#| msgid "invalid -mevexwig= option: `%s'"
+msgid "invalid -mvexwig= option: `%s'"
+msgstr "opción -mevexwig= no válida: «%s»"
+
+#: config/tc-i386.c:17228
#, c-format
msgid "invalid -mevexlig= option: `%s'"
msgstr "opción -mevexlig= inválido: «%s»"
-#: config/tc-i386.c:10321
+#: config/tc-i386.c:17241
#, c-format
msgid "invalid -mevexrcig= option: `%s'"
msgstr "invalida opción -mevexrcig=: «%s»"
-#: config/tc-i386.c:10330
+#: config/tc-i386.c:17250
#, c-format
msgid "invalid -mevexwig= option: `%s'"
msgstr "opción -mevexwig= no válida: «%s»"
-#: config/tc-i386.c:10345
+#: config/tc-i386.c:17265
#, c-format
msgid "invalid -momit-lock-prefix= option: `%s'"
msgstr "opción -momit-lock-prefix= no válida: «%s»"
-#: config/tc-i386.c:10354
+#: config/tc-i386.c:17274
#, c-format
msgid "invalid -mfence-as-lock-add= option: `%s'"
msgstr "opción -mfence-as-lock-add= no válida: «%s»"
-#: config/tc-i386.c:10363
+#: config/tc-i386.c:17283
+#, fuzzy, c-format
+#| msgid "invalid -mfence-as-lock-add= option: `%s'"
+msgid "invalid -mlfence-after-load= option: `%s'"
+msgstr "opción -mfence-as-lock-add= no válida: «%s»"
+
+#: config/tc-i386.c:17300
+#, fuzzy, c-format
+#| msgid "invalid -mfence-as-lock-add= option: `%s'"
+msgid "invalid -mlfence-before-indirect-branch= option: `%s'"
+msgstr "opción -mfence-as-lock-add= no válida: «%s»"
+
+#: config/tc-i386.c:17314
+#, fuzzy, c-format
+#| msgid "invalid -mfence-as-lock-add= option: `%s'"
+msgid "invalid -mlfence-before-ret= option: `%s'"
+msgstr "opción -mfence-as-lock-add= no válida: «%s»"
+
+#: config/tc-i386.c:17324
#, c-format
msgid "invalid -mrelax-relocations= option: `%s'"
msgstr "opción no válida -mrelax-relocations=: «%s»"
-#: config/tc-i386.c:10486
+#: config/tc-i386.c:17353
#, c-format
+msgid "invalid -malign-branch-boundary= value: %s"
+msgstr ""
+
+#: config/tc-i386.c:17367
+#, fuzzy, c-format
+#| msgid "invalid -momit-lock-prefix= option: `%s'"
+msgid "invalid -malign-branch-prefix-size= value: %s"
+msgstr "opción -momit-lock-prefix= no válida: «%s»"
+
+#: config/tc-i386.c:17394
+#, fuzzy, c-format
+#| msgid "invalid -march= option: `%s'"
+msgid "invalid -malign-branch= option: `%s'"
+msgstr "opción -march= no válida: «%s»"
+
+#: config/tc-i386.c:17443
+#, fuzzy, c-format
+#| msgid "invalid -msse-check= option: `%s'"
+msgid "invalid -mtls-check= option: `%s'"
+msgstr "opción -msse-check= no válida: «%s»"
+
+#: config/tc-i386.c:17569
+#, fuzzy, c-format
+#| msgid ""
+#| " -Q ignored\n"
+#| " -V print assembler version number\n"
+#| " -k ignored\n"
msgid ""
-" -Q ignored\n"
+" -Qy, -Qn ignored\n"
" -V print assembler version number\n"
" -k ignored\n"
msgstr ""
@@ -8090,36 +9909,47 @@ msgstr ""
" -V escribe el número de versión del ensamblador\n"
" -k descartado\n"
-#: config/tc-i386.c:10491
-#, c-format
+#: config/tc-i386.c:17574
+#, fuzzy, c-format
+#| msgid ""
+#| " -n Do not optimize code alignment\n"
+#| " -q quieten some warnings\n"
msgid ""
-" -n Do not optimize code alignment\n"
+" -n do not optimize code alignment\n"
+" -O{012s} attempt some code optimizations\n"
" -q quieten some warnings\n"
msgstr ""
" -n No optimiza la alineamiento de código\n"
" -q omite algunos avisos\n"
-#: config/tc-i386.c:10495
+#: config/tc-i386.c:17579
#, c-format
msgid " -s ignored\n"
msgstr " -s se descarta\n"
-#: config/tc-i386.c:10500
-#, c-format
-msgid " --32/--64/--x32 generate 32bit/64bit/x32 code\n"
+#: config/tc-i386.c:17584
+#, fuzzy, c-format
+#| msgid " --32/--64/--x32 generate 32bit/64bit/x32 code\n"
+msgid " --32/--64/--x32 generate 32bit/64bit/x32 object\n"
msgstr " --32/--64/--x32 genera código 32bit/64bit/x32\n"
-#: config/tc-i386.c:10504
+#: config/tc-i386.c:17587
+#, fuzzy, c-format
+#| msgid " --32/--64/--x32 generate 32bit/64bit/x32 code\n"
+msgid " --32/--64 generate 32bit/64bit object\n"
+msgstr " --32/--64/--x32 genera código 32bit/64bit/x32\n"
+
+#: config/tc-i386.c:17592
#, c-format
msgid " --divide do not treat `/' as a comment character\n"
msgstr " --divide no trata `/' como un carácter de comentario\n"
-#: config/tc-i386.c:10507
+#: config/tc-i386.c:17595
#, c-format
msgid " --divide ignored\n"
msgstr " --divide se descarta\n"
-#: config/tc-i386.c:10510
+#: config/tc-i386.c:17598
#, c-format
msgid ""
" -march=CPU[,+EXTENSION...]\n"
@@ -8128,70 +9958,113 @@ msgstr ""
" -march=CPU[,+EXTENSIÓN...]\n"
" genera código para el CPU y la EXTENSIÓN. CPU es uno de:\n"
-#: config/tc-i386.c:10514
-#, c-format
-msgid " EXTENSION is combination of:\n"
+#: config/tc-i386.c:17602
+#, fuzzy, c-format
+#| msgid " EXTENSION is combination of:\n"
+msgid " EXTENSION is combination of (possibly \"no\"-prefixed):\n"
msgstr " EXTENSIÓN es una combinación de:\n"
-#: config/tc-i386.c:10517
+#: config/tc-i386.c:17605
#, c-format
msgid " -mtune=CPU optimize for CPU, CPU is one of:\n"
msgstr " -mtune=CPU optimiza para el CPU, donde CPU es uno de:\n"
-#: config/tc-i386.c:10520
+#: config/tc-i386.c:17608
#, c-format
msgid " -msse2avx encode SSE instructions with VEX prefix\n"
msgstr " -msse2avx codifica instrucciones SSE con prefijo VEX\n"
-#: config/tc-i386.c:10522
+#: config/tc-i386.c:17610
#, c-format
msgid ""
-" -msse-check=[none|error|warning]\n"
+" -muse-unaligned-vector-move\n"
+" encode aligned vector move as unaligned vector move\n"
+msgstr ""
+
+#: config/tc-i386.c:17613
+#, fuzzy, c-format
+#| msgid ""
+#| " -msse-check=[none|error|warning]\n"
+#| " check SSE instructions\n"
+msgid ""
+" -msse-check=[none|error|warning] (default: none)\n"
" check SSE instructions\n"
msgstr ""
" -msse-check=[none|error|warning]\n"
" revisa las instrucciones SSE\n"
-#: config/tc-i386.c:10525
-#, c-format
+#: config/tc-i386.c:17616
+#, fuzzy, c-format
+#| msgid ""
+#| " -moperand-check=[none|error|warning]\n"
+#| " check operand combinations for validity\n"
msgid ""
-" -moperand-check=[none|error|warning]\n"
+" -moperand-check=[none|error|warning] (default: warning)\n"
" check operand combinations for validity\n"
msgstr ""
" -moperand-check=[none|error|warning]\n"
" marca combinaciones operantes para validación\n"
-#: config/tc-i386.c:10528
-#, c-format
+#: config/tc-i386.c:17619
+#, fuzzy, c-format
+#| msgid ""
+#| " -mavxscalar=[128|256] encode scalar AVX instructions with specific vector\n"
+#| " length\n"
msgid ""
-" -mavxscalar=[128|256] encode scalar AVX instructions with specific vector\n"
+" -mavxscalar=[128|256] (default: 128)\n"
+" encode scalar AVX instructions with specific vector\n"
" length\n"
msgstr ""
" -mavxscalar=[128|256] codifica instrucciones AVX escalares con\n"
-" una longitud vectorial específica\n"
+" una longitud de vector específica\n"
-#: config/tc-i386.c:10531
-#, c-format
+#: config/tc-i386.c:17623
+#, fuzzy, c-format
+#| msgid ""
+#| " -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W value\n"
+#| " for EVEX.W bit ignored instructions\n"
+msgid ""
+" -mvexwig=[0|1] (default: 0)\n"
+" encode VEX instructions with specific VEX.W value\n"
+" for VEX.W bit ignored instructions\n"
+msgstr ""
+" -mevexwig=[0|1] codifica instrucciones EVEX con valor EVEX.W específico\n"
+" para instrucciones bit EVEX.W ignoradas\n"
+
+#: config/tc-i386.c:17627
+#, fuzzy, c-format
+#| msgid ""
+#| " -mevexlig=[128|256|512] encode scalar EVEX instructions with specific vector\n"
+#| " length\n"
msgid ""
-" -mevexlig=[128|256|512] encode scalar EVEX instructions with specific vector\n"
+" -mevexlig=[128|256|512] (default: 128)\n"
+" encode scalar EVEX instructions with specific vector\n"
" length\n"
msgstr ""
" -mevexlig=[128|256|512] codifica instrucciones EVEX escalares con\n"
-" longitud vectorial específica\n"
+" longitud de vector específica\n"
-#: config/tc-i386.c:10534
-#, c-format
+#: config/tc-i386.c:17631
+#, fuzzy, c-format
+#| msgid ""
+#| " -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W value\n"
+#| " for EVEX.W bit ignored instructions\n"
msgid ""
-" -mevexwig=[0|1] encode EVEX instructions with specific EVEX.W value\n"
+" -mevexwig=[0|1] (default: 0)\n"
+" encode EVEX instructions with specific EVEX.W value\n"
" for EVEX.W bit ignored instructions\n"
msgstr ""
" -mevexwig=[0|1] codifica instrucciones EVEX con valor EVEX.W específico\n"
" para instrucciones bit EVEX.W ignoradas\n"
-#: config/tc-i386.c:10537
-#, c-format
+#: config/tc-i386.c:17635
+#, fuzzy, c-format
+#| msgid ""
+#| " -mevexrcig=[rne|rd|ru|rz]\n"
+#| " encode EVEX instructions with specific EVEX.RC value\n"
+#| " for SAE-only ignored instructions\n"
msgid ""
-" -mevexrcig=[rne|rd|ru|rz]\n"
+" -mevexrcig=[rne|rd|ru|rz] (default: rne)\n"
" encode EVEX instructions with specific EVEX.RC value\n"
" for SAE-only ignored instructions\n"
msgstr ""
@@ -8199,57 +10072,92 @@ msgstr ""
" codifica instrucciones EVEX con valor EVEX.RC específico\n"
" para instrucciones ignoradas SAE-único\n"
-#: config/tc-i386.c:10541
-#, c-format
-msgid " -mmnemonic=[att|intel] use AT&T/Intel mnemonic\n"
+#: config/tc-i386.c:17639
+#, fuzzy, c-format
+#| msgid " -mmnemonic=[att|intel] use AT&T/Intel mnemonic\n"
+msgid " -mmnemonic=[att|intel] "
msgstr " -mmnemonic=[att|intel] usa mnemónicos AT&T/Intel\n"
-#: config/tc-i386.c:10543
+#: config/tc-i386.c:17642
+#, c-format
+msgid "(default: att)\n"
+msgstr ""
+
+#: config/tc-i386.c:17644
#, c-format
-msgid " -msyntax=[att|intel] use AT&T/Intel syntax\n"
+msgid "(default: intel)\n"
+msgstr ""
+
+#: config/tc-i386.c:17645
+#, fuzzy, c-format
+#| msgid " emulate output (default %s)\n"
+msgid " use AT&T/Intel mnemonic (AT&T syntax only)\n"
+msgstr " emula la salida (por defecto %s)\n"
+
+#: config/tc-i386.c:17647
+#, fuzzy, c-format
+#| msgid " -msyntax=[att|intel] use AT&T/Intel syntax\n"
+msgid ""
+" -msyntax=[att|intel] (default: att)\n"
+" use AT&T/Intel syntax\n"
msgstr " -msyntax=[att|intel] usa sintaxis AT&T/Intel\n"
-#: config/tc-i386.c:10545
+#: config/tc-i386.c:17650
#, c-format
msgid " -mindex-reg support pseudo index registers\n"
msgstr " -mindex-reg admite registros de pseudo índice\n"
-#: config/tc-i386.c:10547
+#: config/tc-i386.c:17652
#, c-format
msgid " -mnaked-reg don't require `%%' prefix for registers\n"
msgstr " -mnaked-reg no requiere el prefijo `%%' para registros\n"
-#: config/tc-i386.c:10549
-#, c-format
-msgid " -mold-gcc support old (<= 2.8.1) versions of gcc\n"
-msgstr " -mold-gcc admite versiones antiguas de gcc (≤ 2.8.1)\n"
-
-#: config/tc-i386.c:10551
+#: config/tc-i386.c:17654
#, c-format
msgid " -madd-bnd-prefix add BND prefix for all valid branches\n"
msgstr ""
-#: config/tc-i386.c:10553
+#: config/tc-i386.c:17657
#, c-format
msgid " -mshared disable branch optimization for shared code\n"
msgstr " -mshared desactiva rama optimizada para código compartido\n"
-#: config/tc-i386.c:10556
+#: config/tc-i386.c:17659
+#, c-format
+msgid " -mx86-used-note=[no|yes] "
+msgstr ""
+
+#: config/tc-i386.c:17665
+#, fuzzy, c-format
+#| msgid " -Z generate object file even after errors\n"
+msgid " generate x86 used ISA and feature properties\n"
+msgstr " -Z generar fichero objeto par tras errores\n"
+
+#: config/tc-i386.c:17669
#, c-format
msgid " -mbig-obj generate big object files\n"
msgstr " -mbig-obj genera ficheros objetos grandes\n"
-#: config/tc-i386.c:10559
-#, c-format
+#: config/tc-i386.c:17672
+#, fuzzy, c-format
+#| msgid ""
+#| " -mrelax-relocations=[no|yes]\n"
+#| " generate relax relocations\n"
msgid ""
-" -momit-lock-prefix=[no|yes]\n"
+" -momit-lock-prefix=[no|yes] (default: no)\n"
" strip all lock prefixes\n"
msgstr ""
+" -mrelax-relocations=[no|sí]\n"
+" genera reubicaciones relajadas\n"
-#: config/tc-i386.c:10562
-#, c-format
+#: config/tc-i386.c:17675
+#, fuzzy, c-format
+#| msgid ""
+#| " -mfence-as-lock-add=[no|yes]\n"
+#| " encode lfence, mfence and sfence as\n"
+#| " lock addl $0x0, (%%{re}sp)\n"
msgid ""
-" -mfence-as-lock-add=[no|yes]\n"
+" -mfence-as-lock-add=[no|yes] (default: no)\n"
" encode lfence, mfence and sfence as\n"
" lock addl $0x0, (%%{re}sp)\n"
msgstr ""
@@ -8257,961 +10165,763 @@ msgstr ""
" codifica lfence, mfence y sfence como\n"
" bloqueo addl $0x0, (%%{re}sp\n"
-#: config/tc-i386.c:10566
+#: config/tc-i386.c:17679
+#, fuzzy, c-format
+#| msgid "invalid -mrelax-relocations= option: `%s'"
+msgid " -mrelax-relocations=[no|yes] "
+msgstr "opción no válida -mrelax-relocations=: «%s»"
+
+#: config/tc-i386.c:17685
+#, fuzzy, c-format
+#| msgid ""
+#| " -mrelax-relocations=[no|yes]\n"
+#| " generate relax relocations\n"
+msgid " generate relax relocations\n"
+msgstr ""
+" -mrelax-relocations=[no|sí]\n"
+" genera reubicaciones relajadas\n"
+
+#: config/tc-i386.c:17688
+#, c-format
+msgid " -mtls-check=[no|yes] "
+msgstr ""
+
+#: config/tc-i386.c:17694
+#, fuzzy, c-format
+#| msgid " EXTENSION is combination of:\n"
+msgid " check TLS relocation\n"
+msgstr " EXTENSIÓN es una combinación de:\n"
+
+#: config/tc-i386.c:17697
#, c-format
msgid ""
-" -mrelax-relocations=[no|yes]\n"
-" generate relax relocations\n"
+" -malign-branch-boundary=NUM (default: 0)\n"
+" align branches within NUM byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:17700
+#, c-format
+msgid ""
+" -malign-branch=TYPE[+TYPE...] (default: jcc+fused+jmp)\n"
+" TYPE is combination of jcc, fused, jmp, call, ret,\n"
+" indirect\n"
+" specify types of branches to align\n"
+msgstr ""
+
+#: config/tc-i386.c:17705
+#, c-format
+msgid ""
+" -malign-branch-prefix-size=NUM (default: 5)\n"
+" align branches with NUM prefixes per instruction\n"
+msgstr ""
+
+#: config/tc-i386.c:17708
+#, c-format
+msgid ""
+" -mbranches-within-32B-boundaries\n"
+" align branches within 32 byte boundary\n"
+msgstr ""
+
+#: config/tc-i386.c:17711
+#, fuzzy, c-format
+#| msgid ""
+#| " -mrelax-relocations=[no|yes]\n"
+#| " generate relax relocations\n"
+msgid ""
+" -mlfence-after-load=[no|yes] (default: no)\n"
+" generate lfence after load\n"
msgstr ""
" -mrelax-relocations=[no|sí]\n"
" genera reubicaciones relajadas\n"
-#: config/tc-i386.c:10569
+#: config/tc-i386.c:17714
#, c-format
-msgid " -mamd64 accept only AMD64 ISA\n"
+msgid ""
+" -mlfence-before-indirect-branch=[none|all|register|memory] (default: none)\n"
+" generate lfence before indirect near branch\n"
+msgstr ""
+
+#: config/tc-i386.c:17717
+#, fuzzy, c-format
+#| msgid ""
+#| " -mrelax-relocations=[no|yes]\n"
+#| " generate relax relocations\n"
+msgid ""
+" -mlfence-before-ret=[none|or|not|shl|yes] (default: none)\n"
+" generate lfence before ret\n"
+msgstr ""
+" -mrelax-relocations=[no|sí]\n"
+" genera reubicaciones relajadas\n"
+
+#: config/tc-i386.c:17720
+#, fuzzy, c-format
+#| msgid " -mamd64 accept only AMD64 ISA\n"
+msgid " -mamd64 accept only AMD64 ISA [default]\n"
msgstr ""
" -mamd64 acepta solo ISA AMD64\n"
"\n"
-#: config/tc-i386.c:10571
+#: config/tc-i386.c:17722
#, c-format
msgid " -mintel64 accept only Intel64 ISA\n"
msgstr " -mintel64 acepta solo ISA Intel64\n"
-#: config/tc-i386.c:10612
+#: config/tc-i386.c:17761
#, c-format
msgid "Intel MCU doesn't support `%s' architecture"
msgstr "Intel MCU no admite «%s» como arquitectura"
-#: config/tc-i386.c:10669
-msgid "Intel L1OM is 64bit only"
-msgstr "Intel L1OM es solo 64bit"
-
-#: config/tc-i386.c:10675
-msgid "Intel K1OM is 64bit only"
-msgstr "Intel K1OM es solo 64bit"
+#: config/tc-i386.c:17769
+#, fuzzy
+#| msgid "CFI is not supported for this target"
+msgid "SCFI is not supported for this ABI"
+msgstr "CFI no admitido en este objetivo"
-#: config/tc-i386.c:10681
+#: config/tc-i386.c:17820
msgid "Intel MCU is 32bit only"
msgstr "Intel MCU es solo 32bit"
-#: config/tc-i386.c:10838
+#: config/tc-i386.c:17932
+#, fuzzy, c-format
+#| msgid "invalid destination register"
+msgid "invalid %s relocation against register"
+msgstr "invalida registro destino"
+
+#: config/tc-i386.c:18069
msgid "symbol size computation overflow"
msgstr "desbordamiento de tamaño simbólico computacional"
-#: config/tc-i386.c:10906 config/tc-sparc.c:3959
+#: config/tc-i386.c:18148 config/tc-sparc.c:3856
#, c-format
msgid "can not do %d byte pc-relative relocation"
msgstr "no se puede hacer la reubicación relativa a pc de %d bytes"
-#: config/tc-i386.c:10924
+#: config/tc-i386.c:18166
#, c-format
msgid "can not do %d byte relocation"
msgstr "no se puede hacer la reubicación de %d bytes"
-#: config/tc-i386.c:10992
+#: config/tc-i386.c:18234
#, c-format
msgid "cannot represent relocation type %s in x32 mode"
msgstr "no se puede representar el tipo reubicado %s en modo x32"
-#: config/tc-i386.c:11029 config/tc-s390.c:2598
+#: config/tc-i386.c:18275 config/tc-s390.c:2835
#, c-format
msgid "cannot represent relocation type %s"
msgstr "no se puede representar el tipo reubicado %s"
-#: config/tc-i386.c:11146
+#: config/tc-i386.c:18410
msgid "bad .section directive: want a,l,w,x,M,S,G,T in string"
-msgstr "directiva .section equivocada: se quiere a,l,w,x,M,S,G,T en la cadena"
+msgstr "directiva .section incorrecta: se quiere a,l,w,x,M,S,G,T en la cadena"
-#: config/tc-i386.c:11149
+#: config/tc-i386.c:18413
msgid "bad .section directive: want a,w,x,M,S,G,T in string"
-msgstr "directiva .section equivocada: se quiere a,w,x,M,S,G,T en la cadena"
+msgstr "directiva .section incorrecta: se quiere a,w,x,M,S,G,T en la cadena"
-#: config/tc-i386.c:11168
+#: config/tc-i386.c:18423
msgid ".largecomm supported only in 64bit mode, producing .comm"
-msgstr ".largecomm sólo se admite en modo de 64bit, se produce .comm"
-
-#: config/tc-i860.c:121
-msgid "Directive .dual available only with -mintel-syntax option"
-msgstr "La directiva .dual sólo está disponible con la opción -mintel-syntax"
-
-#: config/tc-i860.c:131
-msgid "Directive .enddual available only with -mintel-syntax option"
-msgstr "La directiva .enddual sólo es disponible con la opción -mintel-syntax"
+msgstr ".largecomm solo se admite en modo de 64bit, se produce .comm"
-#: config/tc-i860.c:144
-msgid "Directive .atmp available only with -mintel-syntax option"
-msgstr "La directiva .atmp sólo es disponible con la opción -mintel-syntax"
-
-#: config/tc-i860.c:166 config/tc-i860.c:170
-msgid "Unknown temporary pseudo register"
-msgstr "Pseudo registro temporal desconocido"
-
-#: config/tc-i860.c:246
-msgid "Defective assembler. No assembly attempted."
-msgstr "Ensamblador defectuoso. No se intentó ensamblar."
-
-#: config/tc-i860.c:392 config/tc-i860.c:938 config/tc-m68k.c:3917
-#: config/tc-m68k.c:3949 config/tc-sparc.c:3199
-msgid "failed sanity check."
-msgstr "falló la prueba de sanidad."
-
-#: config/tc-i860.c:399
-#, c-format
-msgid "Expanded opcode after delayed branch: `%s'"
-msgstr "Código operacional expandido tras la ramificación retardada: «%s»"
-
-#: config/tc-i860.c:403
-#, c-format
-msgid "Expanded opcode in dual mode: `%s'"
-msgstr "Código operacional expandido en modo dual: «%s»"
-
-#: config/tc-i860.c:407
-#, c-format
-msgid "An instruction was expanded (%s)"
-msgstr "Se expandió una instrucción (%s)"
-
-# ¿pipeline tiene traducción al español? cfuga
-#: config/tc-i860.c:674
-msgid "Pipelined instruction: fsrc1 = fdest"
-msgstr "Instrucción en `pipeline': fsrc1 = fdest"
-
-#: config/tc-i860.c:877 config/tc-i860.c:884 config/tc-i860.c:891
-msgid "Assembler does not yet support PIC"
-msgstr "El ensamblador aún no admite PIC"
-
-#: config/tc-i860.c:955
-#, c-format
-msgid "Illegal operands for %s"
-msgstr "Operandos ilegales para %s"
-
-#: config/tc-i860.c:972
-#, c-format
-msgid "'d.%s' must be 8-byte aligned"
-msgstr "'d.%s' se debe alinear a 8-bytes"
-
-#: config/tc-i860.c:980
-#, c-format
-msgid "Prefix 'd.' invalid for instruction `%s'"
-msgstr "Prefijo 'd.' inválido para la instrucción «%s»"
-
-#: config/tc-i860.c:1034 config/tc-ip2k.c:230
-msgid "relaxation not supported\n"
-msgstr "no se admite la relajación\n"
-
-#: config/tc-i860.c:1133
-#, c-format
-msgid ""
-" -EL\t\t\t generate code for little endian mode (default)\n"
-" -EB\t\t\t generate code for big endian mode\n"
-" -mwarn-expand\t\t warn if pseudo operations are expanded\n"
-" -mxp\t\t\t enable i860XP support (disabled by default)\n"
-" -mintel-syntax\t enable Intel syntax (default to AT&T/SVR4)\n"
-msgstr ""
-" -EL\t\t\t genera código para el modo little endian (por defecto)\n"
-" -EB\t\t\t genera código para el modo big endian\n"
-" -mwarn-expand\t\t avisa si se expanden las pseudo operaciones\n"
-" -mxp\t\t\t activa el soporte para i860XP (desactivado por defecto)\n"
-" -mintel-syntax\t activa la sintaxis Intel (AT&T/SVR4 por defecto)\n"
-
-#. SVR4 compatibility flags.
-#: config/tc-i860.c:1141
-#, c-format
-msgid ""
-" -V\t\t\t print assembler version number\n"
-" -Qy, -Qn\t\t ignored\n"
-msgstr ""
-" -V\t\t\t escrive el número de versión del ensamblador\n"
-" -Qy, -Qn\t\t se descarta\n"
-
-#: config/tc-i860.c:1204
-msgid "This immediate requires 0 MOD 2 alignment"
-msgstr "Este inmediato requiere alineamiento 0 MOD 2"
-
-#: config/tc-i860.c:1207
-msgid "This immediate requires 0 MOD 4 alignment"
-msgstr "Este inmediato requiere alineamiento 0 MOD 4"
-
-#: config/tc-i860.c:1210
-msgid "This immediate requires 0 MOD 8 alignment"
-msgstr "Este inmediato requiere alineamiento 0 MOD 8"
-
-#: config/tc-i860.c:1213
-msgid "This immediate requires 0 MOD 16 alignment"
-msgstr "Este inmediato requiere alineamiento 0 MOD 16"
-
-#: config/tc-i860.c:1308
-msgid "5-bit immediate too large"
-msgstr "5-bit inmediato demasiado grande"
-
-#: config/tc-i860.c:1311
-msgid "5-bit field must be absolute"
-msgstr "5-bit de campo debe ser absoluto"
-
-#: config/tc-i860.c:1356 config/tc-i860.c:1379
-msgid "A branch offset requires 0 MOD 4 alignment"
-msgstr "Un desplazamiento de ramificación requiere alineamiento 0 MOD 4"
-
-#: config/tc-i860.c:1400
-#, c-format
-msgid "Unrecognized fix-up (0x%08lx)"
-msgstr "No reconocida la compostura (0x%08lx)"
-
-#: config/tc-i960.c:483
-#, c-format
-msgid "Hashing returned \"%s\"."
-msgstr "Dispersión devolvió «%s»."
-
-#: config/tc-i960.c:579 config/tc-i960.c:1110
-msgid "expression syntax error"
-msgstr "error sintáctico en la expresión"
-
-#: config/tc-i960.c:616
-msgid "attempt to branch into different segment"
-msgstr "se intentó ramificar en un segmento diferente"
-
-#: config/tc-i960.c:620
-#, c-format
-msgid "target of %s instruction must be a label"
-msgstr "el objetivo de la instrucción %s debe ser una etiqueta"
-
-#: config/tc-i960.c:730
-msgid "unaligned register"
-msgstr "registro desalineado"
-
-#: config/tc-i960.c:752
-msgid "no such sfr in this architecture"
-msgstr "no hay un sfr en esta arquitectura"
-
-#: config/tc-i960.c:790
-msgid "illegal literal"
-msgstr "literal ilegal"
-
-#: config/tc-i960.c:940
-msgid "invalid index register"
-msgstr "registro índice inválido"
-
-#: config/tc-i960.c:963
-msgid "invalid scale factor"
-msgstr "factor de escala inválido"
-
-#: config/tc-i960.c:1187
-msgid "architecture of opcode conflicts with that of earlier instruction(s)"
-msgstr "la arquitectura del código operacional tiene conflictos con alguno de una(s) instrucción(es) anterior(es)"
-
-#: config/tc-i960.c:1421 config/tc-xtensa.c:12784
-msgid "too many operands"
-msgstr "demasiados operandos"
-
-#. We never moved: there was no opcode either!
-#: config/tc-i960.c:1469
-msgid "missing opcode"
-msgstr "código operacional ausente"
-
-#: config/tc-i960.c:1609
-msgid "branch prediction invalid on this opcode"
-msgstr "predicción de ramificación no válida en este código operacional"
-
-#: config/tc-i960.c:1647
-#, c-format
-msgid "invalid opcode, \"%s\"."
-msgstr "código operacional inválido, «%s»."
-
-#: config/tc-i960.c:1649
-#, c-format
-msgid "improper number of operands. Expecting %d, got %d"
-msgstr "número impropio de operandos. Esperando %d, obtuvo %d"
-
-#: config/tc-i960.c:1750
-#, c-format
-msgid "Fixup of %ld too large for field width of %d"
-msgstr "La compostura de %ld es demasiado grande para el campo de anchura %d"
-
-#: config/tc-i960.c:1860
-#, c-format
-msgid "invalid architecture %s"
-msgstr "arquitectura %s no válida"
-
-#: config/tc-i960.c:1880
-#, c-format
-msgid "I960 options:\n"
-msgstr "I960 con opciones:\n"
-
-#: config/tc-i960.c:1883
-#, c-format
-msgid ""
-"\n"
-"\t\t\tspecify variant of 960 architecture\n"
-"-b\t\t\tadd code to collect statistics about branches taken\n"
-"-link-relax\t\tpreserve individual alignment directives so linker\n"
-"\t\t\tcan do relaxing (b.out format only)\n"
-"-no-relax\t\tdon't alter compare-and-branch instructions for\n"
-"\t\t\tlong displacements\n"
-msgstr ""
-"\n"
-"\t\t\t especifica la variante de la arquitectura 960\n"
-"-b\t\t\t añade código para recolectar estadísticas sobre las ramificaciones tomadas\n"
-"-link-relax\t\t preserva las directivas de alineamiento individuales del enlazador so\n"
-"\t\t\t se puede relajar (sólo en el formato b.out)\n"
-"-no-relax\t\t no altera las instrucciones comparar-y-ramificar para\n"
-"\t\t\t desubicaciones largas\n"
-
-#: config/tc-i960.c:2145
-msgid "should have 1 or 2 operands"
-msgstr "debe tener 1 o 2 operandos"
-
-#: config/tc-i960.c:2153 config/tc-i960.c:2168
-#, c-format
-msgid "Redefining leafproc %s"
-msgstr "Redefiniendo el proceso hoja %s"
-
-#: config/tc-i960.c:2198
-msgid "should have two operands"
-msgstr "debe tener dos operandos"
-
-#: config/tc-i960.c:2208
-msgid "'entry_num' must be absolute number in [0,31]"
-msgstr "'entry_num' debe ser un número absoluto en [0,31]"
-
-#: config/tc-i960.c:2216
-#, c-format
-msgid "Redefining entrynum for sysproc %s"
-msgstr "Redefiniendo el número de entrada para el proceso del sistema %s"
-
-#. Should not happen: see block comment above.
-#: config/tc-i960.c:2316
-#, c-format
-msgid "Trying to 'bal' to %s"
-msgstr "Tratando hacer 'bal' a %s"
-
-#: config/tc-i960.c:2326
-msgid "Looks like a proc, but can't tell what kind.\n"
-msgstr "Se ve como un proc, no se puede saber de qué tipo.\n"
-
-#: config/tc-i960.c:2344
-msgid "big endian mode is not supported"
-msgstr "no se admite el modo big endian"
-
-#: config/tc-i960.c:2346
-#, c-format
-msgid "ignoring unrecognized .endian type `%s'"
-msgstr "ignorando tipo no reconocido .endian «%s»"
-
-#: config/tc-i960.c:2391
-msgid "can't use COBR format with external label"
-msgstr "no se puede utilizar el formato COBR con una etiqueta externa"
-
-#: config/tc-i960.c:2566
-msgid "option --link-relax is only supported in b.out format"
-msgstr "opción --link-relax está admitido únicamente en formato b.out"
-
-#: config/tc-i960.c:2593
-#, c-format
-msgid "No 'bal' entry point for leafproc %s"
-msgstr "No hay un punto de entrada 'bal' para el proceso hoja %s"
-
-#: config/tc-ia64.c:872
+#: config/tc-ia64.c:869
msgid "bad .section directive: want a,o,s,w,x,M,S,G,T in string"
-msgstr "directiva .section equivocada: se quiere a,o,s,w,x,M,S,G,T en la cadena"
+msgstr "directiva .section incorrecta: se quiere a,o,s,w,x,M,S,G,T en la cadena"
-#: config/tc-ia64.c:924
+#: config/tc-ia64.c:921
msgid "Size of frame exceeds maximum of 96 registers"
msgstr "El tamaño del marco excede el máximo de 96 registros"
-#: config/tc-ia64.c:929
+#: config/tc-ia64.c:926
msgid "Size of rotating registers exceeds frame size"
msgstr "El tamaño de los registros rotantes excede el tamaño del marco"
-#: config/tc-ia64.c:1016
+#: config/tc-ia64.c:1013
msgid "Unwind directive not followed by an instruction."
msgstr "La directiva de desenredo no está seguida por una instrucción."
-#: config/tc-ia64.c:1025 config/tc-ia64.c:7610
+#: config/tc-ia64.c:1022 config/tc-ia64.c:7585
msgid "qualifying predicate not followed by instruction"
msgstr "el predicado calificador no está seguido por una instrucción"
-#: config/tc-ia64.c:1073
+#: config/tc-ia64.c:1070
msgid "expected ',' after section name"
msgstr "esperaba ',' tras nombre de sección"
-#: config/tc-ia64.c:1108
+#: config/tc-ia64.c:1105
msgid "expected ',' after symbol name"
-msgstr "esperado ',' tras nombre simbólico"
+msgstr "se esperaba ',' tras nombre de símbolo"
-#: config/tc-ia64.c:1132
+#: config/tc-ia64.c:1129
msgid "expected ',' after symbol size"
-msgstr "esperado ',' tras tamaño simbólico"
+msgstr "se esperaba ',' tras tamaño de símbolo"
-#: config/tc-ia64.c:1215 config/tc-ia64.c:1249
+#: config/tc-ia64.c:1212 config/tc-ia64.c:1246
msgid "record type is not valid"
msgstr "el tipo de registro no es válido"
-#: config/tc-ia64.c:1318
+#: config/tc-ia64.c:1315
msgid "Invalid record type for P3 format."
msgstr "Tipo de registro inválido para el formato P3."
-#: config/tc-ia64.c:1354
+#: config/tc-ia64.c:1351
msgid "Invalid record type for format P6"
msgstr "Tipo de registro inválido para el formato P6"
-#: config/tc-ia64.c:1534 config/tc-ia64.c:1586
+#: config/tc-ia64.c:1531 config/tc-ia64.c:1583
msgid "Invalid record type for format B1"
msgstr "Tipo de registro inválido para el formato B1"
-#: config/tc-ia64.c:1619
+#: config/tc-ia64.c:1616
msgid "Invalid record type for format X1"
msgstr "Tipo de registro inválido para el formato X1"
-#: config/tc-ia64.c:1661
+#: config/tc-ia64.c:1658
msgid "Invalid record type for format X3"
msgstr "Tipo de registro inválido para el formato X3"
-#: config/tc-ia64.c:1699
+#: config/tc-ia64.c:1696
msgid "Previous .save incomplete"
msgstr ".save previo está incompleto"
-#: config/tc-ia64.c:2524
+#: config/tc-ia64.c:2519
msgid "spill_mask record unimplemented."
msgstr "no se admite el registro spill_mask."
-#: config/tc-ia64.c:2581
+#: config/tc-ia64.c:2576
msgid "record_type_not_valid"
msgstr "tipo_de_registro_no_valido"
-#: config/tc-ia64.c:2665
+#: config/tc-ia64.c:2660
msgid "Ignoring attempt to spill beyond end of region"
msgstr "Se descarta el intento de derramar más allá del fin de la región"
-#: config/tc-ia64.c:2724
+#: config/tc-ia64.c:2719
msgid "Only constant space allocation is supported"
msgstr "Sólo se admite el alojamiento de espacio constante"
-#: config/tc-ia64.c:2738
+#: config/tc-ia64.c:2733
msgid "Only constant offsets are supported"
msgstr "Sólo se admiten los desplazamientos constantes"
-#: config/tc-ia64.c:2762
+#: config/tc-ia64.c:2757
msgid "Section switching in code is not supported."
-msgstr "No se admite el cambio seccional en código."
+msgstr "No se admite el cambio de sección en código."
-#: config/tc-ia64.c:2804
+#: config/tc-ia64.c:2799
msgid "Insn slot not set in unwind record."
msgstr "Ranura insn no especifica un registro desenredado."
-#: config/tc-ia64.c:2878
+#: config/tc-ia64.c:2873
msgid "frgr_mem record before region record!"
msgstr "¡Registro frgr_mem antes del registro de región!"
-#: config/tc-ia64.c:2889
+#: config/tc-ia64.c:2884
msgid "fr_mem record before region record!"
msgstr "¡Registro fr_mem antes del registro de región!"
-#: config/tc-ia64.c:2898
+#: config/tc-ia64.c:2893
msgid "gr_mem record before region record!"
msgstr "¡Registro gr_mem antes del registro de región!"
-#: config/tc-ia64.c:2907
+#: config/tc-ia64.c:2902
msgid "br_mem record before region record!"
msgstr "¡Registro br_mem antes del registro de región!"
-#: config/tc-ia64.c:2917
+#: config/tc-ia64.c:2912
msgid "gr_gr record before region record!"
msgstr "¡Registro gr_gr antes del registro de región!"
-#: config/tc-ia64.c:2925
+#: config/tc-ia64.c:2920
msgid "br_gr record before region record!"
msgstr "¡Registro br_gr antes del registro de región!"
-#: config/tc-ia64.c:3043
+#: config/tc-ia64.c:3038
#, c-format
msgid "First operand to .%s must be a predicate"
msgstr "El primer operando de .%s debe ser un predicado"
-#: config/tc-ia64.c:3047
+#: config/tc-ia64.c:3042
#, c-format
msgid "Pointless use of p0 as first operand to .%s"
msgstr "Uso sin sentido de p0 como el primer operando de .%s"
-#: config/tc-ia64.c:3103
+#: config/tc-ia64.c:3098
#, c-format
msgid "Operand %d to .%s must be a preserved register"
msgstr "Operando %d de .%s debe ser un registro preservado"
-#: config/tc-ia64.c:3139
+#: config/tc-ia64.c:3134
#, c-format
msgid "Operand %d to .%s must be a writable register"
msgstr "Operandos %d de .%s debe ser un registro modificable"
-#: config/tc-ia64.c:3163
+#: config/tc-ia64.c:3158
#, c-format
msgid "Radix `%s' unsupported or invalid"
msgstr "No se admite el radical «%s» o es inválido"
-#: config/tc-ia64.c:3193 config/tc-ia64.c:3198
+#: config/tc-ia64.c:3188 config/tc-ia64.c:3193
#, c-format
msgid ".%s outside of %s"
msgstr ".%s externo de %s"
-#: config/tc-ia64.c:3284
+#: config/tc-ia64.c:3279
msgid "Tags on unwind pseudo-ops aren't supported, yet"
msgstr "Aún no se admiten etiquetas en los pseudo-operadores de desenredo"
-#: config/tc-ia64.c:3306
+#: config/tc-ia64.c:3301
msgid "First operand to .fframe must be a constant"
msgstr "El primer operando de .fframe debe ser una constante"
-#: config/tc-ia64.c:3326
+#: config/tc-ia64.c:3321
msgid "First operand to .vframe must be a general register"
msgstr "El primer operando de .vfram debe ser un registro general"
-#: config/tc-ia64.c:3334
+#: config/tc-ia64.c:3329
msgid "Operand of .vframe contradicts .prologue"
msgstr "Operando de .vframe contradice a .prologue"
-#: config/tc-ia64.c:3344
+#: config/tc-ia64.c:3339
msgid ".vframepsp is meaningless, assuming .vframesp was meant"
msgstr ".vframepsp no tiene significado, se asume que se quería .vframesp"
-#: config/tc-ia64.c:3352
+#: config/tc-ia64.c:3347
msgid "Operand to .vframesp must be a constant (sp-relative offset)"
msgstr "Operando de .vframesp debe ser una constante (desplazamiento relativo al sp)"
-#: config/tc-ia64.c:3379
+#: config/tc-ia64.c:3374
msgid "First operand to .save not a register"
msgstr "El primer operando de .save no debe ser un registro"
-#: config/tc-ia64.c:3385
+#: config/tc-ia64.c:3380
msgid "Second operand to .save not a valid register"
msgstr "El segundo operando de .save no es un registro válido"
-#: config/tc-ia64.c:3416 config/tc-ia64.c:3427 config/tc-ia64.c:3435
+#: config/tc-ia64.c:3411 config/tc-ia64.c:3422 config/tc-ia64.c:3430
msgid "Second operand of .save contradicts .prologue"
msgstr "El segundo operando de .save contradice a .prologue"
-#: config/tc-ia64.c:3442
+#: config/tc-ia64.c:3437
msgid "First operand to .save not a valid register"
msgstr "El primer operando de .save no es un registro válido"
-#: config/tc-ia64.c:3460
+#: config/tc-ia64.c:3455
msgid "First operand to .restore must be stack pointer (sp)"
msgstr "El primer operando de .restore debe ser un puntero de pila (sp)"
-#: config/tc-ia64.c:3469
+#: config/tc-ia64.c:3464
msgid "Second operand to .restore must be a constant >= 0"
msgstr "El segundo operando de .restore debe ser una constante >= 0"
-#: config/tc-ia64.c:3479
+#: config/tc-ia64.c:3474
#, c-format
msgid "Epilogue count of %lu exceeds number of nested prologues (%u)"
msgstr "La cuenta de epílogo de %lu excede el número de prólogos anidados (%u)"
-#: config/tc-ia64.c:3565
+#: config/tc-ia64.c:3560
#, c-format
msgid "Illegal section name `%s' (causes unwind section name clash)"
-msgstr "Nombre seccional «%s» ilegal (causa una colisión con el nombre seccional de desenredo)"
+msgstr "Nombre de sección «%s» ilegal (causa una colisión con el nombre de sección de desenredo)"
-#: config/tc-ia64.c:3742
+#: config/tc-ia64.c:3735
msgid "First operand to .altrp not a valid branch register"
msgstr "El primer operando de .altrp no es un registro de ramificación válido"
-#: config/tc-ia64.c:3771
+#: config/tc-ia64.c:3764
#, c-format
msgid "First operand to .%s not a register"
msgstr "El primer operando de .%s no es un registro"
-#: config/tc-ia64.c:3776
+#: config/tc-ia64.c:3769
#, c-format
msgid "Second operand to .%s not a constant"
msgstr "El segundo operando de .%s no es una constante"
-#: config/tc-ia64.c:3843
+#: config/tc-ia64.c:3836
#, c-format
msgid "First operand to .%s not a valid register"
msgstr "El primer operando de .%s no es un registro válido"
-#: config/tc-ia64.c:3866
+#: config/tc-ia64.c:3859
msgid "First operand to .save.g must be a positive 4-bit constant"
msgstr "El primer operando de .save.g debe ser una constante positiva de 4-bits"
-#: config/tc-ia64.c:3879
+#: config/tc-ia64.c:3872
msgid "Second operand to .save.g must be a general register"
msgstr "El segundo operando de .save.g debe ser un registro general"
-#: config/tc-ia64.c:3884
+#: config/tc-ia64.c:3877
#, c-format
msgid "Second operand to .save.g must be the first of %d general registers"
msgstr "El segundo operando de .save.g debe ser el primero de %d registros generales"
-#: config/tc-ia64.c:3907
+#: config/tc-ia64.c:3900
msgid "Operand to .save.f must be a positive 20-bit constant"
msgstr "Operando de .save.f debe ser una constante positiva de 20-bits"
-#: config/tc-ia64.c:3930
+#: config/tc-ia64.c:3923
msgid "First operand to .save.b must be a positive 5-bit constant"
msgstr "El primer operando de .save.b debe ser una constante positiva de 5-bits"
-#: config/tc-ia64.c:3943
+#: config/tc-ia64.c:3936
msgid "Second operand to .save.b must be a general register"
msgstr "El segundo operando de .save.b debe ser un registro general"
-#: config/tc-ia64.c:3948
+#: config/tc-ia64.c:3941
#, c-format
msgid "Second operand to .save.b must be the first of %d general registers"
msgstr "El segundo operando de .save.b debe ser el primero de %d registros generales"
-#: config/tc-ia64.c:3974
+#: config/tc-ia64.c:3967
msgid "First operand to .save.gf must be a non-negative 4-bit constant"
msgstr "El primer operando de .save.gf debe ser una constante de 4-bits que no sea negativa"
-#: config/tc-ia64.c:3982
+#: config/tc-ia64.c:3975
msgid "Second operand to .save.gf must be a non-negative 20-bit constant"
msgstr "El segundo operando de .save.gf debe ser una constante de 20-bits que no sea negativa"
-#: config/tc-ia64.c:3990
+#: config/tc-ia64.c:3983
msgid "Operands to .save.gf may not be both zero"
msgstr "Ambos operandos de .save.gf no pueden ser cero al mismo tiempo"
-#: config/tc-ia64.c:4007
+#: config/tc-ia64.c:4000
msgid "Operand to .spill must be a constant"
msgstr "Operando de .spill debe ser una constante"
-#: config/tc-ia64.c:4076
+#: config/tc-ia64.c:4069
#, c-format
msgid "Operand %d to .%s must be a constant"
msgstr "Operando %d de .%s debe ser una constante"
-#: config/tc-ia64.c:4097
+#: config/tc-ia64.c:4090
#, c-format
msgid "Missing .label_state %ld"
msgstr "Ausente .label_state %ld"
-#: config/tc-ia64.c:4151
+#: config/tc-ia64.c:4144
msgid "Operand to .label_state must be a constant"
msgstr "Operando de .label_state debe ser una constante"
-#: config/tc-ia64.c:4170
+#: config/tc-ia64.c:4163
msgid "Operand to .copy_state must be a constant"
msgstr "Operando de .copy_state debe ser una constante"
-#: config/tc-ia64.c:4193
+#: config/tc-ia64.c:4186
msgid "First operand to .unwabi must be a constant"
msgstr "El primer operando de .unwabi debe ser una constante"
-#: config/tc-ia64.c:4199
+#: config/tc-ia64.c:4192
msgid "Second operand to .unwabi must be a constant"
msgstr "El segundo operando de .unwabi debe ser una constante"
-#: config/tc-ia64.c:4234
+#: config/tc-ia64.c:4226
msgid "Missing .endp after previous .proc"
msgstr "Ausente .endp tras .proc previo"
-#: config/tc-ia64.c:4252
+#: config/tc-ia64.c:4243
msgid "Empty argument of .proc"
msgstr "Argumento vacío de .proc"
-#: config/tc-ia64.c:4257
+#: config/tc-ia64.c:4248
#, c-format
msgid "`%s' was already defined"
msgstr "«%s» ya está definida"
-#: config/tc-ia64.c:4300
+#: config/tc-ia64.c:4291
msgid "Initial .body should precede any instructions"
msgstr "El .body inicial debe preceder a cualquier instrucción"
-#: config/tc-ia64.c:4319
+#: config/tc-ia64.c:4310
msgid ".prologue within prologue"
msgstr ".prologue dentro del prólogo"
-#: config/tc-ia64.c:4324
+#: config/tc-ia64.c:4315
msgid "Initial .prologue should precede any instructions"
msgstr "El .prologue inicial debe preceder a cualquier instrucción"
-#: config/tc-ia64.c:4334
+#: config/tc-ia64.c:4325
msgid "First operand to .prologue must be a positive 4-bit constant"
msgstr "El primer operando de .prologue debe ser una constante positiva de 4-bits"
-#: config/tc-ia64.c:4336
+#: config/tc-ia64.c:4327
msgid "Pointless use of zero first operand to .prologue"
msgstr "Uso sin sentido del primer operando en cero de .prologue"
-#: config/tc-ia64.c:4352
+#: config/tc-ia64.c:4343
msgid "Using a constant as second operand to .prologue is deprecated"
msgstr "Utilizando una constante como el segundo operando de .prologue es obsoleto"
-#: config/tc-ia64.c:4358
+#: config/tc-ia64.c:4349
msgid "Second operand to .prologue must be a general register"
msgstr "El segundo operando de .prologue debe ser un registro general"
-#: config/tc-ia64.c:4363
+#: config/tc-ia64.c:4354
#, c-format
msgid "Second operand to .prologue must be the first of %d general registers"
msgstr "El segundo operando de .prologue debe ser el primero de %d registros generales"
-#: config/tc-ia64.c:4475
+#: config/tc-ia64.c:4467
#, c-format
msgid "`%s' was not defined within procedure"
msgstr "«%s» no se definió dentro del procedimiento"
-#: config/tc-ia64.c:4511
+#: config/tc-ia64.c:4502
msgid "Empty argument of .endp"
msgstr "Argumento vacío para .endp"
-#: config/tc-ia64.c:4525
+#: config/tc-ia64.c:4516
#, c-format
msgid "`%s' was not specified with previous .proc"
msgstr "«%s» no se especificó con el .proc previo"
-#: config/tc-ia64.c:4540
+#: config/tc-ia64.c:4531
#, c-format
msgid "`%s' should be an operand to this .endp"
msgstr "«%s» debe ser un operando para este .endp"
-#: config/tc-ia64.c:4581 config/tc-ia64.c:4902 config/tc-ia64.c:5211
+#: config/tc-ia64.c:4572 config/tc-ia64.c:4879 config/tc-ia64.c:5185
msgid "Comma expected"
msgstr "Se esperaba una coma"
-#: config/tc-ia64.c:4621
+#: config/tc-ia64.c:4612
msgid "Expected '['"
msgstr "Se esperaba '['"
-#: config/tc-ia64.c:4630 config/tc-ia64.c:7744
+#: config/tc-ia64.c:4621 config/tc-ia64.c:7719
msgid "Expected ']'"
msgstr "Se esperaba ']'"
-#: config/tc-ia64.c:4635
+#: config/tc-ia64.c:4626
msgid "Number of elements must be positive"
msgstr "El número de elementos debe ser positivos"
-#: config/tc-ia64.c:4646
+#: config/tc-ia64.c:4637
#, c-format
msgid "Used more than the declared %d rotating registers"
msgstr "Se usaron más registros rotantes que los %d declarados"
-#: config/tc-ia64.c:4654
+#: config/tc-ia64.c:4645
msgid "Used more than the available 96 rotating registers"
msgstr "Se usaron más registros rotantes que los 96 disponibles"
-#: config/tc-ia64.c:4661
+#: config/tc-ia64.c:4652
msgid "Used more than the available 48 rotating registers"
msgstr "Se usaron más registros rotantes que los 48 disponibles"
-#: config/tc-ia64.c:4689
+#: config/tc-ia64.c:4675
#, c-format
msgid "Attempt to redefine register set `%s'"
msgstr "Se intenta redefinir el conjunto de registros «%s»"
-#: config/tc-ia64.c:4754
+#: config/tc-ia64.c:4739
#, c-format
msgid "Unknown psr option `%s'"
msgstr "Opción ‘psr’ desconocida «%s»"
-#: config/tc-ia64.c:4788
-msgid "Missing section name"
-msgstr "Ausente el nombre seccional"
-
-#: config/tc-ia64.c:4797
+#: config/tc-ia64.c:4774
msgid "Comma expected after section name"
-msgstr "Se esperaba una coma tras nombre seccional"
+msgstr "Se esperaba una coma tras nombre de sección"
-#: config/tc-ia64.c:4808
+#: config/tc-ia64.c:4785
msgid "Creating sections with .xdataN/.xrealN/.xstringZ is deprecated."
msgstr "Crear secciones con .xdataN/.xrealN/.xstringZ es obsoleto."
-#: config/tc-ia64.c:4897
+#: config/tc-ia64.c:4874
msgid "Register name expected"
msgstr "Se esperaba un nombre de registro"
-#: config/tc-ia64.c:4910
+#: config/tc-ia64.c:4887
msgid "Register value annotation ignored"
msgstr "Se descarta la anotación del valor del registro"
-#: config/tc-ia64.c:4949
+#: config/tc-ia64.c:4926
msgid "Directive invalid within a bundle"
msgstr "Directiva no válida dentro de una agrupación"
-#: config/tc-ia64.c:5043
+#: config/tc-ia64.c:5020
msgid "Missing predicate relation type"
msgstr "Ausente el tipo de relación del predicado"
-#: config/tc-ia64.c:5049
+#: config/tc-ia64.c:5026
msgid "Unrecognized predicate relation type"
msgstr "No reconocido el tipo de relación de predicado"
-#: config/tc-ia64.c:5095
+#: config/tc-ia64.c:5072
msgid "Bad register range"
-msgstr "Rango de registro equivocado"
+msgstr "Rango de registro incorrecto"
-#: config/tc-ia64.c:5104 config/tc-ia64.c:7690
+#: config/tc-ia64.c:5081 config/tc-ia64.c:7665
msgid "Predicate register expected"
msgstr "Se esperaba un registro de predicado"
-#: config/tc-ia64.c:5109
+#: config/tc-ia64.c:5086
msgid "Duplicate predicate register ignored"
msgstr "Se descarta el registro de predicado duplicado"
-#: config/tc-ia64.c:5125
+#: config/tc-ia64.c:5102
msgid "Predicate source and target required"
msgstr "Se requieren el predicado fuente y destino"
-#: config/tc-ia64.c:5127 config/tc-ia64.c:5139
+#: config/tc-ia64.c:5104 config/tc-ia64.c:5116
msgid "Use of p0 is not valid in this context"
msgstr "El uso de p0 no es válido en este contexto"
-#: config/tc-ia64.c:5134
+#: config/tc-ia64.c:5111
msgid "At least two PR arguments expected"
msgstr "Se esperaban al menos dos argumentos PR"
-#: config/tc-ia64.c:5148
+#: config/tc-ia64.c:5125
msgid "At least one PR argument expected"
msgstr "Se esperaba al menos un argumento PR"
-#: config/tc-ia64.c:5182
-#, c-format
-msgid "Inserting \"%s\" into entry hint table failed: %s"
-msgstr "Falló la inserción de «%s» en la distribución de entrada de pistas: %s"
+#: config/tc-ia64.c:5157
+#, fuzzy, c-format
+#| msgid "duplicate instruction %s"
+msgid "duplicate entry hint %s"
+msgstr "instrucción duplicada %s"
#. FIXME -- need 62-bit relocation type
-#: config/tc-ia64.c:5662
+#: config/tc-ia64.c:5632
msgid "62-bit relocation not yet implemented"
msgstr "la reubicación de 62-bits aún no está implementada"
#. XXX technically, this is wrong: we should not be issuing warning
#. messages until we're sure this instruction pattern is going to
#. be used!
-#: config/tc-ia64.c:5748
+#: config/tc-ia64.c:5718
msgid "lower 16 bits of mask ignored"
msgstr "16 bit por debajo de máscara descartados"
-#: config/tc-ia64.c:5979
+#: config/tc-ia64.c:5947
msgid "stride must be a multiple of 64; lower 6 bits ignored"
msgstr "zancada debe ser un múltiplo de 64, menor que 6 bits descartados"
-#: config/tc-ia64.c:6097
+#: config/tc-ia64.c:6066
msgid "Expected separator `='"
msgstr "Se esperaba el separador `='"
-#: config/tc-ia64.c:6131
+#: config/tc-ia64.c:6102
msgid "Duplicate equal sign (=) in instruction"
msgstr "Signo igual (=) duplicado en la instrucción"
-#: config/tc-ia64.c:6138
+#: config/tc-ia64.c:6109
#, c-format
msgid "Illegal operand separator `%c'"
msgstr "Separador ilegal de operando `%c'"
-#: config/tc-ia64.c:6253
+#: config/tc-ia64.c:6224
#, c-format
msgid "Operand %u of `%s' should be %s"
msgstr "Operando %u de «%s» debería ser %s"
-#: config/tc-ia64.c:6257
+#: config/tc-ia64.c:6228
msgid "Wrong number of output operands"
-msgstr "Número equivocado de operandos de salida"
+msgstr "Número incorrecto de operandos de salida"
-#: config/tc-ia64.c:6259
+#: config/tc-ia64.c:6230
msgid "Wrong number of input operands"
-msgstr "Número equivocado de operandos de entrada"
+msgstr "Número incorrecto de operandos de entrada"
-#: config/tc-ia64.c:6261
+#: config/tc-ia64.c:6232
msgid "Operand mismatch"
msgstr "No coinciden los operandos"
-#: config/tc-ia64.c:6343
+#: config/tc-ia64.c:6314
#, c-format
msgid "Invalid use of `%c%d' as output operand"
msgstr "Uso inválido de `%c%d' como operando de salida"
-#: config/tc-ia64.c:6346
+#: config/tc-ia64.c:6317
#, c-format
msgid "Invalid use of `r%d' as base update address operand"
msgstr "Uso inválido de `r%d' como operando direccional de actualización base"
-#: config/tc-ia64.c:6370
+#: config/tc-ia64.c:6341
#, c-format
msgid "Invalid duplicate use of `%c%d'"
msgstr "Uso duplicado inválido de `%c%d'"
-#: config/tc-ia64.c:6377
+#: config/tc-ia64.c:6348
#, c-format
msgid "Invalid simultaneous use of `f%d' and `f%d'"
msgstr "Uso simultáneo inválido de `f%d' y `f%d'"
-#: config/tc-ia64.c:6383
+#: config/tc-ia64.c:6354
#, c-format
msgid "Dangerous simultaneous use of `f%d' and `f%d'"
msgstr "Uso simultáneo peligroso de `f%d' y `f%d'"
-#: config/tc-ia64.c:6427
+#: config/tc-ia64.c:6398
msgid "Value truncated to 62 bits"
msgstr "Valor truncado a 62 bits"
-#: config/tc-ia64.c:6495
+#: config/tc-ia64.c:6466
#, c-format
msgid "Bad operand value: %s"
-msgstr "Valor de operando equivocado: %s"
+msgstr "Valor de operando incorrecto: %s"
#. Give an error if a frag containing code is not aligned to a 16 byte
#. boundary.
-#: config/tc-ia64.c:6570 config/tc-ia64.h:177
+#: config/tc-ia64.c:6541 config/tc-ia64.h:177
msgid "instruction address is not a multiple of 16"
msgstr "la instrucción direccional no es un múltiplo de 16"
-#: config/tc-ia64.c:6638
+#: config/tc-ia64.c:6609
#, c-format
msgid "`%s' must be last in bundle"
msgstr "«%s» debe ser el último en el grupo"
-#: config/tc-ia64.c:6670
+#: config/tc-ia64.c:6641
#, c-format
msgid "Internal error: don't know how to force %s to end of instruction group"
msgstr "Error interno: no se sabe como forzar a %s al fin del grupo de instrucciones"
-#: config/tc-ia64.c:6683
+#: config/tc-ia64.c:6654
#, c-format
msgid "`%s' must be last in instruction group"
msgstr "«%s» debe ser el último en el grupo de instrucciones"
-#: config/tc-ia64.c:6713
+#: config/tc-ia64.c:6684
msgid "Label must be first in a bundle"
msgstr "La etiqueta debe estar al inicio de un grupo"
-#: config/tc-ia64.c:6790
+#: config/tc-ia64.c:6761
msgid "hint in B unit may be treated as nop"
msgstr "la pista en la unidad B se puede tratar como nop"
-#: config/tc-ia64.c:6801
+#: config/tc-ia64.c:6772
msgid "hint in B unit can't be used"
msgstr "no se puede usar la pista en la unidad B"
-#: config/tc-ia64.c:6815
+#: config/tc-ia64.c:6786
msgid "emit_one_bundle: unexpected dynamic op"
msgstr "emit_one_bundle: operador dinámico inesperado"
-#: config/tc-ia64.c:6940
+#: config/tc-ia64.c:6926
#, c-format
msgid "`%s' does not fit into %s template"
msgstr "«%s» no cabe en la plantilla %s"
-#: config/tc-ia64.c:6955
+#: config/tc-ia64.c:6941
#, c-format
msgid "`%s' does not fit into bundle"
msgstr "«%s» no cabe en el grupo"
-#: config/tc-ia64.c:6967
+#: config/tc-ia64.c:6953
#, c-format
msgid "`%s' can't go in %s of %s template"
msgstr "«%s» no puede ir en %s de la plantilla %s"
-#: config/tc-ia64.c:6973
+#: config/tc-ia64.c:6959
msgid "Missing '}' at end of file"
msgstr "Ausente '}' al final del fichero"
-#: config/tc-ia64.c:7120
+#: config/tc-ia64.c:7106
#, c-format
msgid "Unrecognized option '-x%s'"
msgstr "No reconocida la opción '-x%s'"
-#: config/tc-ia64.c:7147
+#: config/tc-ia64.c:7133
msgid ""
"IA-64 options:\n"
" --mconstant-gp\t mark output file as using the constant-GP model\n"
@@ -9253,7 +10963,7 @@ msgstr ""
" \t (por defecto)\n"
#. Note for translators: "automagically" can be translated as "automatically" here.
-#: config/tc-ia64.c:7164
+#: config/tc-ia64.c:7150
msgid ""
" -xauto\t\t automagically remove dependency violations (default)\n"
" -xnone\t\t turn off dependency violation checking\n"
@@ -9272,234 +10982,210 @@ msgstr ""
" -xdebugx\t\t depura el revisor de violación de dependencias y\n"
"\t\t\t activa la revisión de violación de dependencias\n"
-#: config/tc-ia64.c:7179
+#: config/tc-ia64.c:7165
msgid "--gstabs is not supported for ia64"
msgstr "no se admite --gstabs para ia64"
-#: config/tc-ia64.c:7417
-#, c-format
-msgid "ia64.md_begin: can't hash `%s': %s"
-msgstr "ia64.md_begin: no se puede dispersar «%s»: %s"
-
-#: config/tc-ia64.c:7481
-#, c-format
-msgid "Inserting \"%s\" into constant hash table failed: %s"
-msgstr "Falló la inserción de «%s» en la distribución de dispersión de constantes: %s"
-
-#: config/tc-ia64.c:7493 config/tc-riscv.c:609 config/tc-tilegx.c:263
-msgid "Could not set architecture and machine"
-msgstr "No se pueden establecer la arquitectura y la máquina"
-
-#: config/tc-ia64.c:7625
+#: config/tc-ia64.c:7600
msgid "Explicit stops are ignored in auto mode"
msgstr "Se descartan las paradas explícitas en modo automático"
-#: config/tc-ia64.c:7634
+#: config/tc-ia64.c:7609
msgid "Found '{' when manual bundling is already turned on"
msgstr "Se encontró '{' cuando la agrupación manual ya está activada"
-#: config/tc-ia64.c:7647
+#: config/tc-ia64.c:7622
msgid "Found '{' after explicit switch to automatic mode"
msgstr "Se encontró '{' tras cambio explícito al modo automático"
-#: config/tc-ia64.c:7653
+#: config/tc-ia64.c:7628
msgid "Found '}' when manual bundling is off"
msgstr "Se encontró '}' cuando la agrupación manual está desactivada"
-#: config/tc-ia64.c:7680
+#: config/tc-ia64.c:7655
msgid "Expected ')'"
msgstr "Se esperaba ')'"
-#: config/tc-ia64.c:7685
+#: config/tc-ia64.c:7660
msgid "Qualifying predicate expected"
msgstr "Se esperaba un predicado calificador"
-#: config/tc-ia64.c:7704
+#: config/tc-ia64.c:7679
msgid "Tag must come before qualifying predicate."
msgstr "La etiqueta debe venir antes del predicado calificador."
-#: config/tc-ia64.c:7733
+#: config/tc-ia64.c:7708
msgid "Expected ':'"
msgstr "Se esperaba ':'"
-#: config/tc-ia64.c:7749
+#: config/tc-ia64.c:7724
msgid "Tag name expected"
msgstr "Se esperaba un nombre de etiqueta"
-#: config/tc-ia64.c:7850
+#: config/tc-ia64.c:7826
msgid "Rotating register index must be a non-negative constant"
msgstr "El índice de registros rotantes debe ser una constante que no sea negativa"
-#: config/tc-ia64.c:7855
+#: config/tc-ia64.c:7831
#, c-format
msgid "Index out of range 0..%u"
-msgstr "Índice fuera de límite 0..%u"
+msgstr "Índice fuera de rango 0..%u"
-#: config/tc-ia64.c:7867
+#: config/tc-ia64.c:7843
msgid "Indirect register index must be a general register"
msgstr "El índice de registros indirectos debe ser un registro general"
-#: config/tc-ia64.c:7876
+#: config/tc-ia64.c:7852
msgid "Index can only be applied to rotating or indirect registers"
-msgstr "El índice sólo se puede aplicar a registros rotantes o indirectos"
+msgstr "El índice solo se puede aplicar a registros rotantes o indirectos"
-#: config/tc-ia64.c:7912 config/tc-xstormy16.c:145
+#: config/tc-ia64.c:7888 config/tc-xstormy16.c:145
msgid "Expected '('"
msgstr "Se esperaba '('"
-#: config/tc-ia64.c:7920 config/tc-pdp11.c:445 config/tc-pdp11.c:509
-#: config/tc-pdp11.c:543 config/tc-tilegx.c:1047 config/tc-tilepro.c:938
+#: config/tc-ia64.c:7896 config/tc-pdp11.c:466 config/tc-pdp11.c:530
+#: config/tc-pdp11.c:564 config/tc-tilegx.c:1044 config/tc-tilepro.c:932
#: config/tc-xstormy16.c:154
msgid "Missing ')'"
msgstr "Ausente ')'"
-#: config/tc-ia64.c:7938 config/tc-xstormy16.c:161
+#: config/tc-ia64.c:7914 config/tc-xstormy16.c:161
msgid "Not a symbolic expression"
msgstr "No es una expresión simbólica"
-#: config/tc-ia64.c:7943 config/tc-ia64.c:7957
+#: config/tc-ia64.c:7919 config/tc-ia64.c:7933
msgid "Illegal combination of relocation functions"
msgstr "Combinación ilegal de funciones de reubicación"
-#: config/tc-ia64.c:8046
+#: config/tc-ia64.c:8022
msgid "No current frame"
msgstr "Sin marco actual"
-#: config/tc-ia64.c:8048
+#: config/tc-ia64.c:8024
#, c-format
msgid "Register number out of range 0..%u"
-msgstr "Número de registro fuera de límite 0..%u"
+msgstr "Número de registro fuera de rango 0..%u"
-#: config/tc-ia64.c:8087
+#: config/tc-ia64.c:8063
msgid "Standalone `#' is illegal"
msgstr "Un `#' solo es ilegal"
-#: config/tc-ia64.c:8090
+#: config/tc-ia64.c:8066
msgid "Redundant `#' suffix operators"
msgstr "Operadores de sufijo `#' redundantes"
-#: config/tc-ia64.c:8248
+#: config/tc-ia64.c:8224
#, c-format
msgid "Unhandled dependency %s for %s (%s), note %d"
msgstr "Dependencia %s sin manipular para %s (%s), nota %d"
-#: config/tc-ia64.c:9561
+#: config/tc-ia64.c:9537
#, c-format
msgid "Unrecognized dependency specifier %d\n"
msgstr "No reconocido el especificador de dependencia %d\n"
-#: config/tc-ia64.c:10431
+#: config/tc-ia64.c:10398
msgid "Only the first path encountering the conflict is reported"
msgstr "Solamente se reporta la primera ruta donde se encuentra el conflicto"
-#: config/tc-ia64.c:10433
+#: config/tc-ia64.c:10400
msgid "This is the location of the conflicting usage"
msgstr "Esta es la ubicación del uso conflictivo"
-#: config/tc-ia64.c:10695
+#: config/tc-ia64.c:10662
#, c-format
msgid "Unknown opcode `%s'"
msgstr "Código operativo desconocido «%s»"
-#: config/tc-ia64.c:10773
+#: config/tc-ia64.c:10740
#, c-format
msgid "AR %d can only be accessed by %c-unit"
-msgstr "AR %d sólo se puede acceder por %c-unit"
+msgstr "AR %d solo se puede acceder por %c-unit"
-#: config/tc-ia64.c:10785
+#: config/tc-ia64.c:10752
msgid "hint.b may be treated as nop"
msgstr "hint.b quizá es tratado como nop"
-#: config/tc-ia64.c:10788
+#: config/tc-ia64.c:10755
msgid "hint.b shouldn't be used"
msgstr "no se debe usar hint.b"
-#: config/tc-ia64.c:10827
+#: config/tc-ia64.c:10794
#, c-format
msgid "`%s' cannot be predicated"
msgstr "«%s» no puede ser predicado"
-#: config/tc-ia64.c:10899
+#: config/tc-ia64.c:10867
msgid "Closing bracket missing"
msgstr "Ausentea llave que cierra"
-#: config/tc-ia64.c:10908
+#: config/tc-ia64.c:10876
msgid "Index must be a general register"
msgstr "El índice debe ser un registro general"
-#: config/tc-ia64.c:11073
+#: config/tc-ia64.c:11041
#, c-format
msgid "Unsupported fixup size %d"
msgstr "No se admite el tamaño de compostura %d"
#. This should be an error, but since previously there wasn't any
#. diagnostic here, don't make it fail because of this for now.
-#: config/tc-ia64.c:11345
+#: config/tc-ia64.c:11313
#, c-format
msgid "Cannot express %s%d%s relocation"
msgstr "No se puede expresar la reubicación %s%d%s"
-#: config/tc-ia64.c:11364
+#: config/tc-ia64.c:11332
msgid "No addend allowed in @fptr() relocation"
msgstr "No se permite addend en la reubicación @fptr()"
-#: config/tc-ia64.c:11403
+#: config/tc-ia64.c:11371
msgid "integer operand out of range"
-msgstr "operando entero fuera de límite"
+msgstr "operando entero fuera de rango"
-#: config/tc-ia64.c:11470
+#: config/tc-ia64.c:11438
#, c-format
msgid "%s must have a constant value"
msgstr "%s debe tener un valor constante"
-#: config/tc-ia64.c:11490
+#: config/tc-ia64.c:11458
msgid "cannot resolve @slotcount parameter"
msgstr "no se puede resolver el parámetro @slotcount"
-#: config/tc-ia64.c:11523
+#: config/tc-ia64.c:11491
msgid "invalid @slotcount value"
msgstr "valor de @slotcount inválido"
-#: config/tc-ia64.c:11560 config/tc-z8k.c:1378
+#: config/tc-ia64.c:11528 config/tc-z8k.c:1388
#, c-format
msgid "Cannot represent %s relocation in object file"
msgstr "No se puede representar la reubicación %s en el fichero objeto"
-#: config/tc-ia64.c:11671
+#: config/tc-ia64.c:11636
msgid "Can't add stop bit to mark end of instruction group"
msgstr "No se puede agregar el bit de parada para marcar el fin del grupo de instrucciones"
-#: config/tc-ia64.c:11780 read.c:2599 read.c:3308 read.c:3660 stabs.c:464
+#: config/tc-ia64.c:11744 read.c:2690 read.c:3349 read.c:3917 stabs.c:461
#, c-format
msgid "expected comma after \"%s\""
msgstr "se esperaba una coma tras «%s»"
-#: config/tc-ia64.c:11822
+#: config/tc-ia64.c:11785
#, c-format
msgid "`%s' is already the alias of %s `%s'"
msgstr "el símbolo «%s» ya es el alias de %s «%s»"
-#: config/tc-ia64.c:11832
+#: config/tc-ia64.c:11796
#, c-format
msgid "%s `%s' already has an alias `%s'"
msgstr "%s «%s» ya tiene un alias «%s»"
-#: config/tc-ia64.c:11843
-#, c-format
-msgid "inserting \"%s\" into %s alias hash table failed: %s"
-msgstr "falló la inserción de «%s» en la distribución de dispersión de alias %s: %s"
-
-#: config/tc-ia64.c:11851
-#, c-format
-msgid "inserting \"%s\" into %s name hash table failed: %s"
-msgstr "falló la inserción de «%s» en la distribución de dispersión de nombres %s: %s"
-
-#: config/tc-ia64.c:11877
+#: config/tc-ia64.c:11829
#, c-format
msgid "symbol `%s' aliased to `%s' is not used"
msgstr "el símbolo «%s» que tiene como alias a «%s» no se utiliza"
-#: config/tc-ia64.c:11900
+#: config/tc-ia64.c:11855
#, c-format
msgid "section `%s' aliased to `%s' is not used"
msgstr "la sección «%s» que tiene como alias a «%s» no se utiliza"
@@ -9519,68 +11205,270 @@ msgstr " -mip2022 restringe a insns de IP2022 \n"
msgid " -mip2022ext permit extended IP2022 insn\n"
msgstr " -mip2022ext permite insns extendidas de IP2022\n"
-#: config/tc-iq2000.c:362
+#: config/tc-ip2k.c:232
+msgid "relaxation not supported\n"
+msgstr "no se admite la relajación\n"
+
+#: config/tc-iq2000.c:356
#, c-format
msgid "the yielding instruction %s may not be in a delay slot."
msgstr "la instrucción que produce %s no puede estar en una ranura de retardo."
-#: config/tc-iq2000.c:370
+#: config/tc-iq2000.c:364
#, c-format
msgid "Register number (R%ld) for double word access must be even."
msgstr "El número de registro (R%ld) para el acceso de double word debe ser par."
-#: config/tc-iq2000.c:379 config/tc-iq2000.c:384 config/tc-iq2000.c:389
-#: config/tc-iq2000.c:406 config/tc-mt.c:244 config/tc-mt.c:249
+#: config/tc-iq2000.c:373 config/tc-iq2000.c:378 config/tc-iq2000.c:383
+#: config/tc-iq2000.c:400 config/tc-mt.c:246 config/tc-mt.c:251
#, c-format
msgid "operand references R%ld of previous load."
msgstr "operando se refiere a R%ld de la carga previa."
-#: config/tc-iq2000.c:394
+#: config/tc-iq2000.c:388
msgid "instruction implicitly accesses R31 of previous load."
msgstr "instrucción accede implícitamente a R31 de carga anterior."
-#: config/tc-iq2000.c:649 config/tc-mep.c:2008
+#: config/tc-iq2000.c:643 config/tc-mep.c:2008
msgid "Unmatched high relocation"
msgstr "Reubicación high sin coincidencia"
-#: config/tc-iq2000.c:826 config/tc-mips.c:19372 config/tc-score.c:5814
+#: config/tc-iq2000.c:820 config/tc-mips.c:19791 config/tc-score.c:5784
msgid ".end not in text section"
msgstr ".end no está en la sección text"
-#: config/tc-iq2000.c:830 config/tc-score.c:5817
+#: config/tc-iq2000.c:824 config/tc-score.c:5787
msgid ".end directive without a preceding .ent directive."
msgstr "directiva .end sin una directiva .ent precedente."
-#: config/tc-iq2000.c:839 config/tc-score.c:5825
+#: config/tc-iq2000.c:833 config/tc-score.c:5795
msgid ".end symbol does not match .ent symbol."
msgstr ".end simbólico no coincide con el símbolo .ent."
-#: config/tc-iq2000.c:842 config/tc-mips.c:19392 config/tc-score.c:5830
+#: config/tc-iq2000.c:836 config/tc-mips.c:19811 config/tc-score.c:5800
msgid ".end directive missing or unknown symbol"
msgstr "ausente la directiva .end o hay un símbolo desconocido"
-#: config/tc-iq2000.c:860
+#: config/tc-iq2000.c:854
msgid "Expected simple number."
msgstr "Se esperaba un número simple."
-#: config/tc-iq2000.c:889 config/tc-mips.c:19297 config/tc-score.c:5666
+#: config/tc-iq2000.c:883 config/tc-mips.c:19716 config/tc-score.c:5650
#, c-format
msgid " *input_line_pointer == '%c' 0x%02x\n"
msgstr " *input_line_pointer == '%c' 0x%02x\n"
-#: config/tc-iq2000.c:891
+#: config/tc-iq2000.c:885
msgid "Invalid number"
msgstr "Número inválido"
-#: config/tc-iq2000.c:925 config/tc-score.c:5704
+#: config/tc-iq2000.c:919 config/tc-score.c:5681
msgid ".ent or .aent not in text section."
msgstr ".ent o .aent no están en la sección text."
-#: config/tc-iq2000.c:928
+#: config/tc-iq2000.c:922
msgid "missing `.end'"
msgstr "ausente `.end'"
-#: config/tc-m32c.c:142
+#: config/tc-kvx.c:1737
+#, fuzzy
+#| msgid "signed value out of range"
+msgid "signed16 PCREL value out of range"
+msgstr "valor firmado fuera de rango"
+
+#: config/tc-kvx.c:1745
+#, fuzzy
+#| msgid "signed value out of range"
+msgid "signed43 PCREL value out of range"
+msgstr "valor firmado fuera de rango"
+
+#: config/tc-kvx.c:1752
+#, fuzzy
+#| msgid "signed value out of range"
+msgid "signed37 PCREL value out of range"
+msgstr "valor firmado fuera de rango"
+
+#: config/tc-loongarch.c:521
+#, c-format
+msgid "insn name: %s\tformat: %s\tsyntax error"
+msgstr ""
+
+#: config/tc-loongarch.c:524
+#, c-format
+msgid ""
+"insn name: %s\n"
+"format: %s\n"
+"we want macro but macro is NULL"
+msgstr ""
+
+#: config/tc-loongarch.c:529
+#, c-format
+msgid ""
+"insn name: %s\n"
+"format: %s\n"
+"macro: %s\tsyntax error"
+msgstr ""
+
+#: config/tc-loongarch.c:570
+#, c-format
+msgid "Unsupported use of %s"
+msgstr "No se admite el uso de %s"
+
+#: config/tc-loongarch.c:627 config/tc-riscv.c:4994
+msgid ".option pop with no .option push"
+msgstr "opción .option pop sin opción .option push"
+
+#: config/tc-loongarch.c:637 config/tc-riscv.c:5007
+#, fuzzy, c-format
+#| msgid "Unrecognized .option directive: %s\n"
+msgid "unrecognized .option directive: %s"
+msgstr "No reconoció directiva .option: %s\n"
+
+#: config/tc-loongarch.c:700
+#, fuzzy
+#| msgid "Internal Error: bad instruction length"
+msgid "internal error: we have no internal label yet"
+msgstr "Error interno: longitud incorrecta de instrucción"
+
+#: config/tc-loongarch.c:805
+#, fuzzy
+#| msgid "hint.b shouldn't be used"
+msgid "This label shouldn't be with addend."
+msgstr "no se debe usar hint.b"
+
+#: config/tc-loongarch.c:851
+#, fuzzy
+#| msgid "Number too large"
+msgid "expr too huge"
+msgstr "Número demasiado grande"
+
+#: config/tc-loongarch.c:878
+#, c-format
+msgid ""
+"not support reloc bit-field\n"
+"fmt: %c%c %s\n"
+"args: %s"
+msgstr ""
+
+#: config/tc-loongarch.c:949 config/tc-loongarch.c:974
+#, fuzzy, c-format
+#| msgid ".begin literal is deprecated; use .literal instead"
+msgid "register alias %s is deprecated, use %s instead"
+msgstr "El uso de .begin literal es obsoleto. Utilice en su lugar .literal"
+
+#: config/tc-loongarch.c:1007
+#, fuzzy
+#| msgid "unknown opcode"
+msgid "unknown escape"
+msgstr "desconoce código operacional"
+
+#: config/tc-loongarch.c:1034
+#, c-format
+msgid "require imm low %d bit is 0."
+msgstr ""
+
+#. How to do after we detect overflow.
+#: config/tc-loongarch.c:1046
+#, c-format
+msgid ""
+"Immediate overflow.\n"
+"format: %c%c%s\n"
+"arg: %s"
+msgstr ""
+
+#: config/tc-loongarch.c:1129
+msgid "atomic memory operations insns require rd != rj && rd != rk when rd isn't r0"
+msgstr ""
+
+#: config/tc-loongarch.c:1143
+msgid "bstr(ins|pick).[wd] require msbd >= lsbd"
+msgstr ""
+
+#: config/tc-loongarch.c:1153
+msgid "g?csrxchg require rj != r0 && rj != r1"
+msgstr ""
+
+#: config/tc-loongarch.c:1259
+#, fuzzy, c-format
+#| msgid "Unsupported RISC-V relocation number %d"
+msgid "no HOWTO loong relocation number %d"
+msgstr "No admitido número de reubicación RISC-V %d"
+
+#: config/tc-loongarch.c:1272
+#, fuzzy
+#| msgid "Internal error: Can't hash %s: %s"
+msgid "Internal error: not support relax now"
+msgstr "Error interno: No se puede dispersar %s: %s"
+
+#: config/tc-loongarch.c:1334
+#, c-format
+msgid "li overflow: hi32:0x%x lo32:0x%x"
+msgstr ""
+
+#: config/tc-loongarch.c:1339
+msgid "we can't li.d on 32bit-arch"
+msgstr ""
+
+#: config/tc-loongarch.c:1438
+#, fuzzy, c-format
+#| msgid "no such instruction: `%s'"
+msgid "no match insn: %s\t%s"
+msgstr "no hay tal instrucción: «%s»"
+
+#: config/tc-loongarch.c:1586 config/tc-loongarch.c:1593
+#, fuzzy
+#| msgid "TLS relocation against a constant"
+msgid "Relocation against a constant"
+msgstr "TLS reubicado contra una constante"
+
+#: config/tc-loongarch.c:1801 config/tc-riscv.c:4723
+#, fuzzy, c-format
+#| msgid "internal error: bad CFA value #%d"
+msgid "internal: bad CFA value #%d"
+msgstr "error interno: valor CFA incorrecto nº%d"
+
+#: config/tc-loongarch.c:1813
+#, fuzzy
+#| msgid "TLS relocation against a constant"
+msgid "Relocation against a constant."
+msgstr "TLS reubicado contra una constante"
+
+#: config/tc-loongarch.c:1894 config/tc-riscv.c:5228
+#, c-format
+msgid "cannot represent %s relocation in object file"
+msgstr "no puede representar reubicación %s en fichero objeto"
+
+#: config/tc-loongarch.c:1923
+#, fuzzy, c-format
+#| msgid "unknown register `%s'"
+msgid "unknown register `%s`"
+msgstr "registro desconocido «%s»"
+
+#: config/tc-loongarch.c:1997
+#, fuzzy, c-format
+#| msgid "SPARC options:\n"
+msgid "LARCH options:\n"
+msgstr "Opciones SPARC:\n"
+
+#. FIXME
+#: config/tc-loongarch.c:1999
+#, c-format
+msgid ""
+" -mthin-add-sub\t Convert a pair of R_LARCH_ADD32/64 and R_LARCH_SUB32/64 to\n"
+"\t\t\t R_LARCH_32/64_PCREL as much as possible\n"
+"\t\t\t The option does not affect the generation of R_LARCH_32_PCREL\n"
+"\t\t\t relocations in .eh_frame\n"
+" -mignore-start-align\t Ignore .align if it is at the start of a section. This option\n"
+"\t\t\t can't be used when partial linking (ld -r).\n"
+msgstr ""
+
+#: config/tc-loongarch.c:2052
+#, fuzzy
+#| msgid "internal error: invalid macro"
+msgid "internal error: cannot get align symbol"
+msgstr "error interno: macro inválido"
+
+#: config/tc-m32c.c:139
#, c-format
msgid " M32C specific command line options:\n"
msgstr " Opciones de la línea de mandatos específicas de M32C:\n"
@@ -9590,7 +11478,7 @@ msgstr " Opciones de la línea de mandatos específicas de M32C:\n"
msgid "Unrecognised option: -hidden"
msgstr "No reconocida la opción: -hidden"
-#: config/tc-m32r.c:357 config/tc-sparc.c:651
+#: config/tc-m32r.c:357 config/tc-sparc.c:602
msgid "Unrecognized option following -K"
msgstr "No reconoce opción seguida de -K"
@@ -9729,78 +11617,96 @@ msgstr " -Wnuh sinónimo para -no-warn-unmatched-high\n"
msgid " -KPIC generate PIC\n"
msgstr " -KPIC genera PIC\n"
-#: config/tc-m32r.c:846
+#: config/tc-m32r.c:847
msgid "instructions write to the same destination register."
msgstr "las instrucciones escriben al mismo registro de destino."
-#: config/tc-m32r.c:854
+#: config/tc-m32r.c:855
msgid "Instructions do not use parallel execution pipelines."
msgstr "Las instrucciones no usan tuberías de ejecución paralela."
-#: config/tc-m32r.c:862
+#: config/tc-m32r.c:863
msgid "Instructions share the same execution pipeline"
msgstr "Las instrucciones comparten la misma tubería de ejecución"
-#: config/tc-m32r.c:927 config/tc-m32r.c:1041
+#: config/tc-m32r.c:928 config/tc-m32r.c:1042
#, c-format
msgid "not a 16 bit instruction '%s'"
msgstr "no hay una instrucción 16 bit «%s»"
-#: config/tc-m32r.c:939 config/tc-m32r.c:1053 config/tc-m32r.c:1237
+#: config/tc-m32r.c:940 config/tc-m32r.c:1054 config/tc-m32r.c:1238
#, c-format
msgid "instruction '%s' is for the M32R2 only"
-msgstr "la instrucción «%s» sólo es para el M32R2"
+msgstr "la instrucción «%s» solo es para el M32R2"
-#: config/tc-m32r.c:952 config/tc-m32r.c:1066 config/tc-m32r.c:1250
+#: config/tc-m32r.c:953 config/tc-m32r.c:1067 config/tc-m32r.c:1251
#, c-format
msgid "unknown instruction '%s'"
msgstr "desconoce instrucción «%s»"
-#: config/tc-m32r.c:961 config/tc-m32r.c:1073 config/tc-m32r.c:1257
+#: config/tc-m32r.c:962 config/tc-m32r.c:1074 config/tc-m32r.c:1258
#, c-format
msgid "instruction '%s' is for the M32RX only"
-msgstr "la instrucción «%s» sólo es para el M32RX"
+msgstr "la instrucción «%s» solo es para el M32RX"
-#: config/tc-m32r.c:970 config/tc-m32r.c:1082
+#: config/tc-m32r.c:971 config/tc-m32r.c:1083
#, c-format
msgid "instruction '%s' cannot be executed in parallel."
msgstr "la instrucción «%s» no se puede ejecutar en paralelo."
-#: config/tc-m32r.c:1025 config/tc-m32r.c:1107 config/tc-m32r.c:1314
+#: config/tc-m32r.c:1026 config/tc-m32r.c:1108 config/tc-m32r.c:1315
msgid "internal error: lookup/get operands failed"
msgstr "error interno: fallaron los operandos lookup/get"
-#: config/tc-m32r.c:1092
+#: config/tc-m32r.c:1093
#, c-format
msgid "'%s': only the NOP instruction can be issued in parallel on the m32r"
msgstr "«%s»: solamente las instrucciones NOP se puede ejecutar en paralelo en el m32r"
-#: config/tc-m32r.c:1121
+#: config/tc-m32r.c:1122
#, c-format
msgid "%s: output of 1st instruction is the same as an input to 2nd instruction - is this intentional ?"
msgstr "%s: la salida de la 1a instrucción es la misma que una entrada a la 2a instrucción - ¿Esto es intencional?"
-#: config/tc-m32r.c:1125
+#: config/tc-m32r.c:1126
#, c-format
msgid "%s: output of 2nd instruction is the same as an input to 1st instruction - is this intentional ?"
msgstr "%s: la salida de la 2a instrucción es la misma que una entrada a la 1a instrucción - ¿Esto es intencional?"
-#: config/tc-m32r.c:1498
+#: config/tc-m32r.c:1489 config/tc-microblaze.c:175
+msgid "Expected comma after symbol-name: rest of line ignored."
+msgstr "Se esperaba coma tras nombre del símbolo: se descarta el resto de la línea."
+
+#: config/tc-m32r.c:1499
#, c-format
msgid ".SCOMMon length (%ld.) <0! Ignored."
msgstr "¡Longitud SCOMMon (%ld.) <0! Se descarta."
-#: config/tc-m32r.c:1548
+#: config/tc-m32r.c:1513 config/tc-microblaze.c:197 config/tc-ppc.c:2421
+#: config/tc-ppc.c:4355 config/tc-ppc.c:4410
+msgid "ignoring bad alignment"
+msgstr "se descarta la alineamiento incorrecta"
+
+#: config/tc-m32r.c:1525 config/tc-microblaze.c:232 config/tc-v850.c:380
+msgid "Common alignment not a power of 2"
+msgstr "La alineamiento común no es una potencia de 2"
+
+#: config/tc-m32r.c:1540 config/tc-microblaze.c:208
+#, c-format
+msgid "Ignoring attempt to re-define symbol `%s'."
+msgstr "Se descarta el intento de redefinir el símbolo «%s»."
+
+#: config/tc-m32r.c:1549
#, c-format
msgid "Length of .scomm \"%s\" is already %ld. Not changed to %ld."
msgstr "La longitud de .scomm «%s» ya es %ld. No se cambió a %ld."
-#: config/tc-m32r.c:1925 config/tc-m32r.c:1978 config/tc-nds32.c:4185
-#: config/tc-nds32.c:4221 config/tc-sh.c:774 config/tc-sh.c:2457
+#: config/tc-m32r.c:1926 config/tc-m32r.c:1979 config/tc-nds32.c:4786
+#: config/tc-nds32.c:4830 config/tc-sh.c:391 config/tc-sh.c:2047
msgid "Invalid PIC expression."
msgstr "Expresión PIC no válida."
-#: config/tc-m32r.c:2069
+#: config/tc-m32r.c:2070
msgid "Unmatched high/shigh reloc"
msgstr "Reubicación high/shigh sin coincidencia"
@@ -9837,7 +11743,7 @@ msgstr ""
" --force-long-branchs siempre convierte las ramificaciones relativas en\n"
" absolutas\n"
" -S,--short-branchs no convierte las ramificaciones relativas en\n"
-" absolutas cuando el desplazamiento está fuera de límite\n"
+" absolutas cuando el desplazamiento está fuera de rango\n"
" --strict-direct-mode no convierte el modo directo en modo extendido\n"
" cuando la instrucción no admite modo directo\n"
" --print-insn-syntax escribe la sintaxis de la instrucción en caso de\n"
@@ -9862,60 +11768,60 @@ msgstr "Nombre # Modos Min ops Max ops Masc. modos # Usado\n"
msgid "Option `%s' is not recognized."
msgstr "No reconocida la opción «%s»."
-#: config/tc-m68hc11.c:748
+#: config/tc-m68hc11.c:746
msgid "imm3"
msgstr "imm3"
-#: config/tc-m68hc11.c:756
+#: config/tc-m68hc11.c:754
msgid "RD"
msgstr "RD"
-#: config/tc-m68hc11.c:764
+#: config/tc-m68hc11.c:762
msgid "RD,RS"
msgstr "RD,RS"
-#: config/tc-m68hc11.c:772
+#: config/tc-m68hc11.c:770
msgid "RI, #imm4"
msgstr "RI, #imm4"
-#: config/tc-m68hc11.c:804
+#: config/tc-m68hc11.c:802
msgid "RD, (RI,#offs5)"
msgstr "RD, (RI,#offs5)"
-#: config/tc-m68hc11.c:856
+#: config/tc-m68hc11.c:854
msgid "#<imm8>"
msgstr "#<imm8>"
-#: config/tc-m68hc11.c:865
+#: config/tc-m68hc11.c:863
msgid "#<imm16>"
msgstr "#<imm16>"
-#: config/tc-m68hc11.c:874 config/tc-m68hc11.c:883
+#: config/tc-m68hc11.c:872 config/tc-m68hc11.c:881
msgid "<imm8>,X"
msgstr "<imm8>,X"
-#: config/tc-m68hc11.c:910
+#: config/tc-m68hc11.c:908
msgid "*<abs8>"
msgstr "*<abs8>"
-#: config/tc-m68hc11.c:922
+#: config/tc-m68hc11.c:920
msgid "#<mask>"
msgstr "#<máscara>"
-#: config/tc-m68hc11.c:932
+#: config/tc-m68hc11.c:930
#, c-format
msgid "symbol%d"
msgstr "símbolo%d"
-#: config/tc-m68hc11.c:934
+#: config/tc-m68hc11.c:932
msgid "<abs>"
msgstr "<abs>"
-#: config/tc-m68hc11.c:953
+#: config/tc-m68hc11.c:951
msgid "<label>"
msgstr "<etiqueta>"
-#: config/tc-m68hc11.c:969
+#: config/tc-m68hc11.c:967
#, c-format
msgid ""
"# Example of `%s' instructions\n"
@@ -9926,103 +11832,106 @@ msgstr ""
"\t.sect .text\n"
"_start:\n"
-#: config/tc-m68hc11.c:1016
+#: config/tc-m68hc11.c:1014
#, c-format
msgid "Instruction `%s' is not recognized."
msgstr "No reconocida la instrucción «%s»."
-#: config/tc-m68hc11.c:1021
+#: config/tc-m68hc11.c:1019
#, c-format
msgid "Instruction formats for `%s':"
msgstr "Formatos de instrucción para «%s»:"
-#: config/tc-m68hc11.c:1173
+#: config/tc-m68hc11.c:1171
#, c-format
msgid "Immediate operand is not allowed for operand %d."
-msgstr "No se permite un operando inmediato para operando %d."
+msgstr "No se permite un operando inmediato para el operando %d."
-#: config/tc-m68hc11.c:1217
+#: config/tc-m68hc11.c:1215
msgid "Indirect indexed addressing is not valid for 68HC11."
-msgstr "El direccionamiento indizado indirecto no es válido para 68HC11."
+msgstr "El direccionamiento indexado indirecto no es válido para 68HC11."
-#: config/tc-m68hc11.c:1237
+#: config/tc-m68hc11.c:1235
msgid "Spurious `,' or bad indirect register addressing mode."
-msgstr "`,' sobrante o modo de direccionamiento de registro indirecto equivocado."
+msgstr "`,' sobrante o modo de direccionamiento de registro indirecto incorrecto."
-#: config/tc-m68hc11.c:1259
+#: config/tc-m68hc11.c:1257
msgid "Missing second register or offset for indexed-indirect mode."
-msgstr "Ausenten el segundo registro o el desplazamiento para el modo indizado indirecto."
+msgstr "Ausenten el segundo registro o el desplazamiento para el modo indexado indirecto."
-#: config/tc-m68hc11.c:1269
+#: config/tc-m68hc11.c:1267
msgid "Missing second register for indexed-indirect mode."
-msgstr "Ausente el segundo registro para el modo indizado indirecto."
+msgstr "Ausente el segundo registro para el modo indexado indirecto."
-#: config/tc-m68hc11.c:1285
+#: config/tc-m68hc11.c:1283
msgid "Missing `]' to close indexed-indirect mode."
-msgstr "Ausente `]' para cerrar el modo indizado directo."
+msgstr "Ausente `]' para cerrar el modo indexado directo."
-#: config/tc-m68hc11.c:1330 config/tc-m68hc11.c:2961 config/tc-m68hc11.c:3073
+#: config/tc-m68hc11.c:1328 config/tc-m68hc11.c:2961 config/tc-m68hc11.c:3073
#: config/tc-m68hc11.c:3147 config/tc-m68hc11.c:3331 config/tc-m68hc11.c:3402
msgid "Illegal operand."
msgstr "Operando ilegal."
#. Looks like OP_R_R.
-#: config/tc-m68hc11.c:1335 config/tc-m68hc11.c:2966 config/tc-m68hc11.c:3078
+#: config/tc-m68hc11.c:1333 config/tc-m68hc11.c:2966 config/tc-m68hc11.c:3078
#: config/tc-m68hc11.c:3152 config/tc-m68hc11.c:3258 config/tc-m68hc11.c:3310
#: config/tc-m68hc11.c:3318 config/tc-m68hc11.c:3336
msgid "Missing operand."
msgstr "Ausente operando."
-#: config/tc-m68hc11.c:1388
+#: config/tc-m68hc11.c:1386
msgid "Pre-increment mode is not valid for 68HC11"
msgstr "El modo de pre-incremento no es válido para 68HC11"
-#: config/tc-m68hc11.c:1401
+#: config/tc-m68hc11.c:1399
msgid "Wrong register in register indirect mode."
-msgstr "Registro equivocado en el modo indirecto de registro."
+msgstr "Registro incorrecto en el modo indirecto de registro."
-#: config/tc-m68hc11.c:1409
+#: config/tc-m68hc11.c:1407
msgid "Missing `]' to close register indirect operand."
msgstr "Ausente `]' para cerrar operando indirecto de registro."
-#: config/tc-m68hc11.c:1429
+#: config/tc-m68hc11.c:1427
msgid "Post-decrement mode is not valid for 68HC11."
msgstr "El modo de post-decremento no es válido para 68HC11."
-#: config/tc-m68hc11.c:1437
+#: config/tc-m68hc11.c:1435
msgid "Post-increment mode is not valid for 68HC11."
msgstr "El modo de post-incremento no es válido para 68HC11."
-#: config/tc-m68hc11.c:1455
+#: config/tc-m68hc11.c:1453
msgid "Invalid indexed indirect mode."
-msgstr "Modo indizado indirecto inválido."
+msgstr "Modo indexado indirecto inválido."
-#: config/tc-m68hc11.c:1579
-#, c-format
-msgid "Trap id `%ld' is out of range."
-msgstr "El id de captura `%ld' está fuera de límite."
+#: config/tc-m68hc11.c:1577
+#, fuzzy, c-format
+#| msgid "Trap id `%ld' is out of range."
+msgid "Trap id `%<PRId64>' is out of range."
+msgstr "El id de captura `%ld' está fuera de rango."
-#: config/tc-m68hc11.c:1583
+#: config/tc-m68hc11.c:1582
msgid "Trap id must be within [0x30..0x39] or [0x40..0xff]."
msgstr "El id de captura debe estar dentro de [0x30..0x39] o [0x40..0xff]"
-#: config/tc-m68hc11.c:1590 config/tc-m68hc11.c:1741
-#, c-format
-msgid "Operand out of 8-bit range: `%ld'."
+#: config/tc-m68hc11.c:1589 config/tc-m68hc11.c:1741
+#, fuzzy, c-format
+#| msgid "Operand out of 8-bit range: `%ld'."
+msgid "Operand out of 8-bit range: `%<PRId64>'."
msgstr "Operando fuera del límite de 8-bit: `%ld'."
#: config/tc-m68hc11.c:1597
msgid "The trap id must be a constant."
msgstr "El id de captura debe ser una constante."
-#: config/tc-m68hc11.c:1629 config/tc-m68hc11.c:1784 config/tc-xgate.c:1345
+#: config/tc-m68hc11.c:1629 config/tc-m68hc11.c:1784 config/tc-xgate.c:1347
#, c-format
msgid "Operand `%x' not recognized in fixup8."
msgstr "No reconoce operando `%x' en fixup8."
#: config/tc-m68hc11.c:1646 config/tc-m68hc11.c:1694
-#, c-format
-msgid "Operand out of 16-bit range: `%ld'."
+#, fuzzy, c-format
+#| msgid "Operand out of 16-bit range: `%ld'."
+msgid "Operand out of 16-bit range: `%<PRId64>'."
msgstr "Operando fuera del límite de 16-bit: `%ld'."
#: config/tc-m68hc11.c:1677 config/tc-m68hc11.c:1708
@@ -10038,7 +11947,7 @@ msgstr "Conversión de ramificación inesperada con `%x'"
#: config/tc-m68hc11.c:1887 config/tc-m68hc11.c:2019
#, c-format
msgid "Operand out of range for a relative branch: `%ld'"
-msgstr "Operando fuera de límite para una ramificación relativa: `%ld'"
+msgstr "Operando fuera de rango para una ramificación relativa: `%ld'"
#: config/tc-m68hc11.c:1987
msgid "Invalid register for dbcc/tbcc instruction."
@@ -10047,7 +11956,7 @@ msgstr "Registro inválido para la instrucción dbcc/tbcc."
#: config/tc-m68hc11.c:2075
#, c-format
msgid "Increment/decrement value is out of range: `%ld'."
-msgstr "El valor de incremento/decremento está fuera de límite: `%ld'."
+msgstr "El valor de incremento/decremento está fuera de rango: `%ld'."
#: config/tc-m68hc11.c:2087
msgid "Expecting a register."
@@ -10073,11 +11982,11 @@ msgstr "Desplazamiento fuera del límite de 5-bit para insn movw/movb: %ld."
#: config/tc-m68hc11.c:2270
msgid "Expecting register D for indexed indirect mode."
-msgstr "Se espera el registro D para el modo indizado indirecto."
+msgstr "Se espera el registro D para el modo indexado indirecto."
#: config/tc-m68hc11.c:2272
msgid "Indexed indirect mode is not allowed for movb/movw."
-msgstr "No se permite el modo indizado directo para movb/movw."
+msgstr "No se permite el modo indexado directo para movb/movw."
#: config/tc-m68hc11.c:2289
msgid "Invalid accumulator register."
@@ -10085,7 +11994,7 @@ msgstr "Registro acumulador inválido."
#: config/tc-m68hc11.c:2315
msgid "Invalid indexed register."
-msgstr "Registro indizado inválido."
+msgstr "Registro indexado inválido."
#: config/tc-m68hc11.c:2325
msgid "Addressing mode not implemented yet."
@@ -10109,22 +12018,22 @@ msgstr "Registro destino inválido."
#: config/tc-m68hc11.c:2523
msgid "Invalid indexed register, expecting register X."
-msgstr "Registro indizado inválido, se esperaba el registro X."
+msgstr "Registro indexado inválido, se esperaba el registro X."
#: config/tc-m68hc11.c:2525
msgid "Invalid indexed register, expecting register Y."
-msgstr "Registro indizado inválido, se esperaba el registro Y."
+msgstr "Registro indexado inválido, se esperaba el registro Y."
-#: config/tc-m68hc11.c:2844
+#: config/tc-m68hc11.c:2844 config/tc-s12z.c:3804
msgid "No instruction or missing opcode."
msgstr "No hay instrucción o ausente el código operacional."
-#: config/tc-m68hc11.c:2854 config/tc-m68hc11.c:3532
+#: config/tc-m68hc11.c:2854 config/tc-m68hc11.c:3533
#, c-format
msgid "Opcode `%s' is not recognized."
msgstr "No reconocido el código operacional «%s»."
-#: config/tc-m68hc11.c:2903 config/tc-m68hc11.c:3452 config/tc-m68hc11.c:3554
+#: config/tc-m68hc11.c:2903 config/tc-m68hc11.c:3452 config/tc-m68hc11.c:3555
#, c-format
msgid "Garbage at end of instruction: `%s'."
msgstr "Basura al final de la instrucción: «%s»."
@@ -10134,457 +12043,453 @@ msgstr "Basura al final de la instrucción: «%s»."
msgid "Failed to find a valid mode for `%s'."
msgstr "Fallaba al encontrar un modo válido para «%s»."
-#: config/tc-m68hc11.c:3464 config/tc-m68hc11.c:3682 config/tc-m68hc11.c:3688
+#: config/tc-m68hc11.c:3464 config/tc-m68hc11.c:3683 config/tc-m68hc11.c:3689
#, c-format
msgid "Invalid operand for `%s'"
msgstr "Operando inválido para «%s»"
-#: config/tc-m68hc11.c:3740
+#: config/tc-m68hc11.c:3741
#, c-format
msgid "Invalid mode: %s\n"
msgstr "Modo inválido: %s\n"
-#: config/tc-m68hc11.c:3799
+#: config/tc-m68hc11.c:3800
msgid "bad .relax format"
-msgstr "formato de .relax equivocado"
+msgstr "formato de .relax incorrecto"
-#: config/tc-m68hc11.c:3843 config/tc-xgate.c:630
+#: config/tc-m68hc11.c:3844 config/tc-s12z.c:3897 config/tc-xgate.c:630
#, c-format
msgid "Relocation %d is not supported by object file format."
msgstr "El formato del fichero objeto no admite la reubicación %d."
-#: config/tc-m68hc11.c:4120
+#: config/tc-m68hc11.c:4121
msgid "bra or bsr with undefined symbol."
msgstr "bra o bsr con símbolo indefinido."
-#: config/tc-m68hc11.c:4221 config/tc-m68hc11.c:4278
+#: config/tc-m68hc11.c:4222 config/tc-m68hc11.c:4279
#, c-format
msgid "Subtype %d is not recognized."
msgstr "No reconocido el subtipo %d."
-#: config/tc-m68hc11.c:4336 config/tc-xgate.c:663
-msgid "Expression too complex."
-msgstr "Expresión demasiado compleja."
-
-#: config/tc-m68hc11.c:4367 config/tc-xgate.c:708 config/tc-xgate.c:717
+#: config/tc-m68hc11.c:4368 config/tc-s12z.c:3978 config/tc-xgate.c:708
+#: config/tc-xgate.c:717
msgid "Value out of 16-bit range."
msgstr "Valor fuera del límite de 16-bit."
-#: config/tc-m68hc11.c:4389
+#: config/tc-m68hc11.c:4390
#, c-format
msgid "Value %ld too large for 8-bit PC-relative branch."
msgstr "Valora %ld demasiado grande para la ramificación de 8-bit relativa al PC."
-#: config/tc-m68hc11.c:4399 config/tc-xgate.c:674
+#: config/tc-m68hc11.c:4400 config/tc-xgate.c:674
#, c-format
msgid "Value %ld too large for 9-bit PC-relative branch."
msgstr "Valor %ld demasiado largo para ramificación PC-relativa de 9-bit."
-#: config/tc-m68hc11.c:4408 config/tc-xgate.c:691
+#: config/tc-m68hc11.c:4409 config/tc-xgate.c:691
#, c-format
msgid "Value %ld too large for 10-bit PC-relative branch."
msgstr "Valor %ld demasiado largo para ramificación PC-relativa de 10-bit."
-#: config/tc-m68hc11.c:4416
+#: config/tc-m68hc11.c:4417
#, c-format
msgid "Auto increment/decrement offset '%ld' is out of range."
-msgstr "El auto incremento/decremento del desplazamiento '%ld' está fuera de límite."
+msgstr "El auto incremento/decremento del desplazamiento '%ld' está fuera de rango."
-#: config/tc-m68hc11.c:4429
+#: config/tc-m68hc11.c:4430
#, c-format
msgid "Offset out of 5-bit range for movw/movb insn: %ld"
msgstr "Desplazamiento fuera del límite de 5-bit para insn movw/movb: %ld"
-#: config/tc-m68hc11.c:4440
+#: config/tc-m68hc11.c:4441
#, c-format
msgid "Offset out of 9-bit range for movw/movb insn: %ld"
msgstr "Desplazamiento fuera del rango de 5-bit para insn movw/movb: %ld"
-#: config/tc-m68hc11.c:4452
+#: config/tc-m68hc11.c:4453
#, c-format
msgid "Offset out of 16-bit range for movw/movb insn: %ld"
msgstr "Desplazamiento fuera del límite de 16-bit para insn movw/movb: %ld"
-#: config/tc-m68hc11.c:4469 config/tc-xgate.c:752
+#: config/tc-m68hc11.c:4470 config/tc-s12z.c:3984 config/tc-xgate.c:752
#, c-format
msgid "Line %d: unknown relocation type: 0x%x."
msgstr "Línea %d: tipo reubicado desconocido: 0x%x."
-#: config/tc-m68hc11.c:4494
+#: config/tc-m68hc11.c:4495 config/tc-z80.c:3452 config/tc-z80.c:3472
msgid "Invalid directive"
msgstr "Directiva no válida"
-#: config/tc-m68k.c:1165
+#: config/tc-m68k.c:1123
#, c-format
msgid "Can not do %d byte pc-relative relocation"
msgstr "No se puede hacer la reubicación relativa a pc de %d bytes"
-#: config/tc-m68k.c:1167
+#: config/tc-m68k.c:1125
#, c-format
msgid "Can not do %d byte pc-relative pic relocation"
msgstr "No se puede hacer la reubicación pic relativa a pc de %d bytes"
-#: config/tc-m68k.c:1172
+#: config/tc-m68k.c:1130
#, c-format
msgid "Can not do %d byte relocation"
msgstr "No se puede hacer la reubicación de %d bytes"
-#: config/tc-m68k.c:1174
+#: config/tc-m68k.c:1132
#, c-format
msgid "Can not do %d byte pic relocation"
msgstr "No se puede hacer la reubicación pic de %d bytes"
-#: config/tc-m68k.c:1254
+#: config/tc-m68k.c:1202
#, c-format
msgid "Unable to produce reloc against symbol '%s'"
msgstr "Incapaz producir reubicación contra símbolo «%s»"
-#: config/tc-m68k.c:1313 config/tc-vax.c:2369
+#: config/tc-m68k.c:1261 config/tc-vax.c:2324
#, c-format
msgid "Cannot make %s relocation PC relative"
msgstr "No se puede hacer la reubicación relativa a PC %s"
-#: config/tc-m68k.c:1429 config/tc-vax.c:1879
+#: config/tc-m68k.c:1343 config/tc-vax.c:1874
msgid "No operator"
msgstr "No hay operador"
-#: config/tc-m68k.c:1459 config/tc-vax.c:1895
+#: config/tc-m68k.c:1373 config/tc-vax.c:1890
msgid "Unknown operator"
msgstr "Operador desconocido"
-#: config/tc-m68k.c:2362
+#: config/tc-m68k.c:2276
msgid "invalid instruction for this architecture; needs "
msgstr "instrucción no válida para esta arquitectura; necesita "
-#: config/tc-m68k.c:2370
+#: config/tc-m68k.c:2284
msgid "hardware divide"
msgstr "divide por hardware"
-#: config/tc-m68k.c:2392 config/tc-m68k.c:2396 config/tc-m68k.c:2400
+#: config/tc-m68k.c:2306 config/tc-m68k.c:2310 config/tc-m68k.c:2314
msgid "or higher"
msgstr "o superior"
-#: config/tc-m68k.c:2453
+#: config/tc-m68k.c:2367
msgid "operands mismatch"
msgstr "no coinciden los operandos"
-#: config/tc-m68k.c:2517 config/tc-m68k.c:2523 config/tc-m68k.c:2529
-#: config/tc-mmix.c:2495 config/tc-mmix.c:2519
+#: config/tc-m68k.c:2431 config/tc-m68k.c:2437 config/tc-m68k.c:2443
+#: config/tc-mmix.c:2499 config/tc-mmix.c:2523
msgid "operand out of range"
-msgstr "operando fuera de límite"
+msgstr "operando fuera de rango"
-#: config/tc-m68k.c:2586
+#: config/tc-m68k.c:2500
#, c-format
msgid "Bignum too big for %c format; truncated"
msgstr "Número grande demasiado grande para el formato %c; se trunca"
-#: config/tc-m68k.c:2663
+#: config/tc-m68k.c:2577
msgid "displacement too large for this architecture; needs 68020 or higher"
msgstr "desubicación demasiado grande para esta arquitectura; necesita 68020 o superior"
-#: config/tc-m68k.c:2774
+#: config/tc-m68k.c:2685
msgid "scale factor invalid on this architecture; needs cpu32 or 68020 or higher"
msgstr "factor de escala inválido en esta arquitectura; necesita cpu32 o 68020 o superior"
-#: config/tc-m68k.c:2779
+#: config/tc-m68k.c:2690
msgid "invalid index size for coldfire"
msgstr "tamaño de índice inválido para coldfire"
-#: config/tc-m68k.c:2832
+#: config/tc-m68k.c:2743
msgid "Forcing byte displacement"
msgstr "Se fuerza la desubicación de byte"
-#: config/tc-m68k.c:2834
+#: config/tc-m68k.c:2745
msgid "byte displacement out of range"
-msgstr "desplazamiento byte fuera de límite"
+msgstr "desplazamiento byte fuera de rango"
-#: config/tc-m68k.c:2882 config/tc-m68k.c:2920
+#: config/tc-m68k.c:2790 config/tc-m68k.c:2828
msgid "invalid operand mode for this architecture; needs 68020 or higher"
msgstr "modo de operando inválido para esta arquitectura; necesita 68020 o superior"
-#: config/tc-m68k.c:2906 config/tc-m68k.c:2940
+#: config/tc-m68k.c:2814 config/tc-m68k.c:2848
msgid ":b not permitted; defaulting to :w"
msgstr "no se permite :b; se cambia por defecto a :w"
-#: config/tc-m68k.c:3017
+#: config/tc-m68k.c:2923
msgid "unsupported byte value; use a different suffix"
msgstr "no se admite el valor de byte; utilice un sufijo diferente"
-#: config/tc-m68k.c:3032
+#: config/tc-m68k.c:2938
msgid "unknown/incorrect operand"
msgstr "operando desconocido/incorrecto"
-#: config/tc-m68k.c:3075 config/tc-m68k.c:3083 config/tc-m68k.c:3090
-#: config/tc-m68k.c:3097
+#: config/tc-m68k.c:2981 config/tc-m68k.c:2989 config/tc-m68k.c:2996
+#: config/tc-m68k.c:3003
msgid "out of range"
-msgstr "fuera de límite"
+msgstr "fuera de rango"
-#: config/tc-m68k.c:3171
+#: config/tc-m68k.c:3074
msgid "Can't use long branches on this architecture"
msgstr "No se pueden usar ramificaciones long en esta arquitectura"
-#: config/tc-m68k.c:3277
+#: config/tc-m68k.c:3180
msgid "Expression out of range, using 0"
-msgstr "Expresión fuera de límite, utilizando 0"
+msgstr "Expresión fuera de rango, utilizando 0"
-#: config/tc-m68k.c:3478 config/tc-m68k.c:3494
+#: config/tc-m68k.c:3381 config/tc-m68k.c:3397
msgid "Floating point register in register list"
msgstr "Registro de coma flotante en la lista de registros"
-#: config/tc-m68k.c:3484
+#: config/tc-m68k.c:3387
msgid "Wrong register in floating-point reglist"
-msgstr "Registro equivocado en la lista de registros de coma flotante"
+msgstr "Registro incorrecto en la lista de registros de coma flotante"
-#: config/tc-m68k.c:3500
+#: config/tc-m68k.c:3403
msgid "incorrect register in reglist"
msgstr "registro incorrecto en la lista de registros"
-#: config/tc-m68k.c:3506
+#: config/tc-m68k.c:3409
msgid "wrong register in floating-point reglist"
-msgstr "registro equivocado en la lista de registros de coma flotante"
+msgstr "registro incorrecto en la lista de registros de coma flotante"
+
+#: config/tc-m68k.c:3820 config/tc-m68k.c:3852 config/tc-sparc.c:3140
+msgid "failed sanity check."
+msgstr "la inspección sanitaria ha fallado."
#. ERROR.
-#: config/tc-m68k.c:3979
+#: config/tc-m68k.c:3882
msgid "Extra )"
msgstr "Adicional )"
#. ERROR.
-#: config/tc-m68k.c:3990
+#: config/tc-m68k.c:3893
msgid "Missing )"
msgstr "Ausente )"
-#: config/tc-m68k.c:4007
+#: config/tc-m68k.c:3910
msgid "Missing operand"
msgstr "Ausente operando"
-#: config/tc-m68k.c:4332
+#: config/tc-m68k.c:4235
#, c-format
msgid "unrecognized default cpu `%s'"
msgstr "no reconocido el cpu por defecto «%s»"
-#: config/tc-m68k.c:4386
+#: config/tc-m68k.c:4289
#, c-format
msgid "%s -- statement `%s' ignored"
msgstr "%s -- declaración «%s» descartada"
-#: config/tc-m68k.c:4435
+#: config/tc-m68k.c:4336
#, fuzzy, c-format
#| msgid "Don't know how to figure width of %c in md_assemble()"
msgid "Don't know how to figure out width of %c in md_assemble()"
msgstr "No se sabe comó reconocer la anchura de %c en md_assemble()"
-#: config/tc-m68k.c:4667 config/tc-m68k.c:4706
+#: config/tc-m68k.c:4566 config/tc-m68k.c:4604
#, c-format
msgid "Internal Error: Can't find %s in hash table"
msgstr "Error Interno: No se puede encontrar %s en la distribución de dispersión"
-#: config/tc-m68k.c:4670 config/tc-m68k.c:4709
-#, c-format
-msgid "Internal Error: Can't hash %s: %s"
-msgstr "Error Interno: No se puede dispersar %s: %s"
-
-#: config/tc-m68k.c:4834
+#: config/tc-m68k.c:4720
#, c-format
msgid "text label `%s' aligned to odd boundary"
msgstr "la etiqueta de texto «%s» está alineada a un límite impar"
-#: config/tc-m68k.c:5006
+#: config/tc-m68k.c:4879
#, c-format
msgid "value %ld out of range"
-msgstr "valora %ld fuera de límite"
+msgstr "valora %ld fuera de rango"
-#: config/tc-m68k.c:5020
+#: config/tc-m68k.c:4893
msgid "invalid byte branch offset"
msgstr "desplazamiento de ramificación byte inválido"
-#: config/tc-m68k.c:5057
+#: config/tc-m68k.c:4930
msgid "short branch with zero offset: use :w"
msgstr "ramificación corta con desplazamiento cero: utilice :w"
-#: config/tc-m68k.c:5101
+#: config/tc-m68k.c:4974
msgid "Conversion of PC relative BSR to absolute JSR"
msgstr "Conversión de un BSR relativo a PC a un JSR absoluto"
-#: config/tc-m68k.c:5112
+#: config/tc-m68k.c:4985
msgid "Conversion of PC relative branch to absolute jump"
msgstr "Conversión de una ramificación relativa a PC a un salto absoluto"
-#: config/tc-m68k.c:5129 config/tc-m68k.c:5186
+#: config/tc-m68k.c:5002 config/tc-m68k.c:5059
msgid "Conversion of PC relative conditional branch to absolute jump"
msgstr "Conversión de una ramificación condicional relativa a PC a un salto absoluto"
-#: config/tc-m68k.c:5251
+#: config/tc-m68k.c:5124
msgid "Conversion of PC relative displacement to absolute"
msgstr "Conversión de un desplazamiento relativo a PC a absoluto"
-#: config/tc-m68k.c:5464
+#: config/tc-m68k.c:5307
msgid "Tried to convert PC relative branch to absolute jump"
msgstr "Se trató de convertir una ramificación relativa a PC a un salto absoluto"
-#: config/tc-m68k.c:5509 config/tc-m68k.c:5520 config/tc-m68k.c:5564
+#: config/tc-m68k.c:5352 config/tc-m68k.c:5363 config/tc-m68k.c:5407
msgid "expression out of range: defaulting to 1"
-msgstr "expresión fuera de límite: se cambia por defecto a 1"
+msgstr "expresión fuera de rango: se cambia por defecto a 1"
-#: config/tc-m68k.c:5556
+#: config/tc-m68k.c:5399
msgid "expression out of range: defaulting to 0"
-msgstr "expresión fuera de límite: se cambia por defecto a 0"
+msgstr "expresión fuera de rango: se cambia por defecto a 0"
-#: config/tc-m68k.c:5597 config/tc-m68k.c:5609
+#: config/tc-m68k.c:5440 config/tc-m68k.c:5452
#, c-format
msgid "Can't deal with expression; defaulting to %ld"
msgstr "No se puede lidiar con la expresión; se cambia por defecto a %ld"
-#: config/tc-m68k.c:5623
+#: config/tc-m68k.c:5466
msgid "expression doesn't fit in BYTE"
msgstr "expresión no cabe en BYTE"
-#: config/tc-m68k.c:5627
+#: config/tc-m68k.c:5470
msgid "expression doesn't fit in WORD"
msgstr "expresión no cabe en WORD"
-#: config/tc-m68k.c:5714
+#: config/tc-m68k.c:5547
#, c-format
msgid "%s: unrecognized processor name"
msgstr "%s: no reconocido el nombre de procesador"
-#: config/tc-m68k.c:5775
+#: config/tc-m68k.c:5608
msgid "bad coprocessor id"
-msgstr "id de coprocesador equivocado"
+msgstr "id de coprocesador incorrecto"
-#: config/tc-m68k.c:5781
+#: config/tc-m68k.c:5614
msgid "unrecognized fopt option"
msgstr "no se reconoce la opción fopt"
-#: config/tc-m68k.c:5913
+#: config/tc-m68k.c:5746
#, c-format
msgid "option `%s' may not be negated"
msgstr "la opción «%s» podría no estar negada"
-#: config/tc-m68k.c:5924
+#: config/tc-m68k.c:5757
#, c-format
msgid "option `%s' not recognized"
msgstr "opción «%s» no reconocida"
-#: config/tc-m68k.c:5953
+#: config/tc-m68k.c:5786
msgid "bad format of OPT NEST=depth"
-msgstr "formato equivocado de OPT NEST=profundidad"
+msgstr "formato incorrecto de OPT NEST=profundidad"
-#: config/tc-m68k.c:6009
+#: config/tc-m68k.c:5842
msgid "missing label"
msgstr "ausencia etiquetado"
-#: config/tc-m68k.c:6035
+#: config/tc-m68k.c:5868
#, c-format
msgid "bad register list: %s"
-msgstr "lista de registros equivocada: %s"
+msgstr "lista de registros incorrecta: %s"
-#: config/tc-m68k.c:6133
+#: config/tc-m68k.c:5966
msgid "restore without save"
msgstr "restaurar sin guardar"
-#: config/tc-m68k.c:6287 config/tc-m68k.c:6657
+#: config/tc-m68k.c:6119 config/tc-m68k.c:6489
msgid "syntax error in structured control directive"
-msgstr "error sintáctico en directiva de control estructurada"
+msgstr "error de sintaxis en directiva de control estructurada"
-#: config/tc-m68k.c:6332
+#: config/tc-m68k.c:6164
msgid "missing condition code in structured control directive"
msgstr "ausente el código de condición en la directiva de control estructurada"
-#: config/tc-m68k.c:6403
+#: config/tc-m68k.c:6235
#, c-format
msgid "Condition <%c%c> in structured control directive can not be encoded correctly"
msgstr "La condición <%c%c> en la directiva de control estructurada no se puede codificar correctamente"
-#: config/tc-m68k.c:6699
+#: config/tc-m68k.c:6531
msgid "missing then"
msgstr "ausente then"
-#: config/tc-m68k.c:6780
+#: config/tc-m68k.c:6612
msgid "else without matching if"
msgstr "else sin if coincidente"
-#: config/tc-m68k.c:6813
+#: config/tc-m68k.c:6645
msgid "endi without matching if"
msgstr "endi sin if coincidente"
-#: config/tc-m68k.c:6853
+#: config/tc-m68k.c:6685
msgid "break outside of structured loop"
msgstr "break externo al bucle estructurado"
-#: config/tc-m68k.c:6891
+#: config/tc-m68k.c:6723
msgid "next outside of structured loop"
msgstr "next externo al bucle estructurado"
-#: config/tc-m68k.c:6942
+#: config/tc-m68k.c:6774
msgid "missing ="
msgstr "ausente ="
-#: config/tc-m68k.c:6980
+#: config/tc-m68k.c:6812
msgid "missing to or downto"
msgstr "ausente to o downto"
-#: config/tc-m68k.c:7016 config/tc-m68k.c:7050 config/tc-m68k.c:7264
+#: config/tc-m68k.c:6848 config/tc-m68k.c:6882 config/tc-m68k.c:7096
msgid "missing do"
msgstr "ausente do"
-#: config/tc-m68k.c:7151
+#: config/tc-m68k.c:6983
msgid "endf without for"
msgstr "endf sin for"
-#: config/tc-m68k.c:7205
+#: config/tc-m68k.c:7037
msgid "until without repeat"
msgstr "until sin repeat"
-#: config/tc-m68k.c:7299
+#: config/tc-m68k.c:7131
msgid "endw without while"
msgstr "endw sin while"
-#: config/tc-m68k.c:7332 config/tc-m68k.c:7360
+#: config/tc-m68k.c:7164 config/tc-m68k.c:7192
msgid "already assembled instructions"
msgstr "las instrucciones ya están ensambladas"
-#: config/tc-m68k.c:7437
+#: config/tc-m68k.c:7269
#, c-format
msgid "`%s' is deprecated, use `%s'"
msgstr "«%s» es obsoleta, emplee «%s»"
-#: config/tc-m68k.c:7456
+#: config/tc-m68k.c:7288
#, c-format
msgid "cpu `%s' unrecognized"
msgstr "cpu «%s» no reconocida"
-#: config/tc-m68k.c:7475
+#: config/tc-m68k.c:7307
#, c-format
msgid "architecture `%s' unrecognized"
msgstr "arquitectura «%s» no reconocida"
-#: config/tc-m68k.c:7496
+#: config/tc-m68k.c:7328
#, c-format
msgid "extension `%s' unrecognized"
msgstr "extensión «%s» no reconocida"
-#: config/tc-m68k.c:7615
+#: config/tc-m68k.c:7443
#, c-format
msgid "option `-A%s' is deprecated: use `-%s'"
msgstr "la opción `-A%s' es obsoleta: use `-%s'"
-#: config/tc-m68k.c:7648
+#: config/tc-m68k.c:7476
msgid "architecture features both enabled and disabled"
msgstr "las características de la arquitectura están activadas y desactivadas al mismo tiempo"
-#: config/tc-m68k.c:7675
+#: config/tc-m68k.c:7503
msgid "selected processor does not have all features of selected architecture"
msgstr "procesador seleccionado no tiene todas las características de la arquitectura seleccionada"
-#: config/tc-m68k.c:7684
+#: config/tc-m68k.c:7512
msgid "m68k and cf features both selected"
msgstr "se seleccionaron características tanto de m68k como de cf"
-#: config/tc-m68k.c:7696
+#: config/tc-m68k.c:7524
msgid "68040 and 68851 specified; mmu instructions may assemble incorrectly"
msgstr "se especificaron 68040 y 68851; las instrucciones mmu podrían ensamblar incorrectamente"
-#: config/tc-m68k.c:7728
+#: config/tc-m68k.c:7556
#, c-format
msgid ""
"-march=<arch>\t\tset architecture\n"
@@ -10593,12 +12498,12 @@ msgstr ""
"-march=<arqu>\t\tdefine la arquitectura\n"
"-mcpu=<cpu>\t\tdefine el cpu [por defecto %s]\n"
-#: config/tc-m68k.c:7733
+#: config/tc-m68k.c:7561
#, c-format
msgid "-m[no-]%-16s enable/disable %s architecture extension\n"
msgstr "-m[no-]%-16s activa/desactiva extensión arquitectural %s\n"
-#: config/tc-m68k.c:7739
+#: config/tc-m68k.c:7567
#, c-format
msgid ""
"-l\t\t\tuse 1 word for refs to undefined symbols [default 2]\n"
@@ -10625,196 +12530,190 @@ msgstr ""
"--disp-size-default-16\tdesplazamiento con tamaño desconocido es 16 bits\n"
"--disp-size-default-32\tdesplazamiento con tamaño desconocido es 32 bits (por defecto)\n"
-#: config/tc-m68k.c:7753
+#: config/tc-m68k.c:7581
#, c-format
msgid "Architecture variants are: "
msgstr "Las variantes de arquitectura son: "
-#: config/tc-m68k.c:7762
+#: config/tc-m68k.c:7590
#, c-format
msgid "Processor variants are: "
msgstr "Las variantes de procesador son: "
-#: config/tc-m68k.c:7769 config/tc-xtensa.c:6356
+#: config/tc-m68k.c:7597 config/tc-xtensa.c:6412
#, c-format
msgid "\n"
msgstr "\n"
-#: config/tc-m68k.c:7800
+#: config/tc-m68k.c:7628
#, c-format
msgid "Error %s in %s\n"
msgstr "Error %s en %s\n"
-#: config/tc-m68k.c:7804
+#: config/tc-m68k.c:7632
#, c-format
msgid "Opcode(%d.%s): "
msgstr "Código operacional(%d.%s): "
-#: config/tc-m68k.c:7962
+#: config/tc-m68k.c:7777
msgid "Not a defined coldfire architecture"
msgstr "No es una arquitectura coldfire definida"
-#: config/tc-m68k.c:8140
+#: config/tc-m68k.c:7886 read.c:4809
+#, c-format
+msgid "%s relocations do not fit in %u byte"
+msgid_plural "%s relocations do not fit in %u bytes"
+msgstr[0] "%s reubicaciones no caben en %u byte"
+msgstr[1] "%s reubicaciones no caben en %u bytes"
+
+#: config/tc-m68k.c:7928 config/tc-ppc.c:2594
+msgid "unknown .gnu_attribute value"
+msgstr "desconoce valor .gnu_attribute"
+
+#: config/tc-m68k.c:7972
#, fuzzy, c-format
#| msgid "Adjusted signed .word (%ld) overflows: `switch'-statement too large."
msgid "Adjusted signed .word (%#lx) overflows: `switch'-statement too large."
msgstr "Signo ajustado .word (%ld) desborda: sentencia `switch' demasiado grande."
-#: config/tc-mcore.c:520 config/tc-microblaze.c:511 config/tc-microblaze.c:539
-#: config/tc-microblaze.c:576 config/tc-microblaze.c:588
+#: config/tc-mcore.c:521 config/tc-microblaze.c:487 config/tc-microblaze.c:515
+#: config/tc-microblaze.c:552 config/tc-microblaze.c:564
#, c-format
msgid "register expected, but saw '%.6s'"
msgstr "se esperaba un registro, pero se vio '%.6s'"
-#: config/tc-mcore.c:602
+#: config/tc-mcore.c:603
#, c-format
msgid "control register expected, but saw '%.6s'"
msgstr "se esperaba un registro de control, pero se vio '%.6s'"
-#: config/tc-mcore.c:638
+#: config/tc-mcore.c:639
msgid "bad/missing psr specifier"
-msgstr "especificador psr equivocado/ausentente"
-
-#: config/tc-mcore.c:688
-msgid "more than 65K literal pools"
-msgstr "más de 65K de conjuntos literales"
-
-#: config/tc-mcore.c:742
-msgid "missing ']'"
-msgstr "ausente ']'"
+msgstr "especificador psr incorrecto/ausentente"
-#: config/tc-mcore.c:781
-msgid "operand must be a constant"
-msgstr "operando debe ser una constante"
-
-#: config/tc-mcore.c:783
+#: config/tc-mcore.c:784
#, c-format
msgid "operand must be absolute in range %u..%u, not %ld"
msgstr "operando debe ser un absoluto en el límite %u..%u, no %ld"
-#: config/tc-mcore.c:818
+#: config/tc-mcore.c:819
msgid "operand must be a multiple of 4"
msgstr "operando debe ser un múltiplo de 4"
-#: config/tc-mcore.c:825
+#: config/tc-mcore.c:826
msgid "operand must be a multiple of 2"
msgstr "operando debe ser un múltiplo de 2"
-#: config/tc-mcore.c:887 config/tc-microblaze.c:940
-#: config/tc-microblaze.c:1072 config/tc-microblaze.c:1104
-#: config/tc-microblaze.c:1557 config/tc-microblaze.c:1623
-#: config/tc-microblaze.c:1696 config/tc-microblaze.c:2108
-#: config/tc-microblaze.c:2155
+#: config/tc-mcore.c:840 config/tc-mcore.c:1356 config/tc-mcore.c:1410
+msgid "base register expected"
+msgstr "se esperaba un registro base"
+
+#: config/tc-mcore.c:888 config/tc-microblaze.c:920 config/tc-microblaze.c:1056
+#: config/tc-microblaze.c:1090 config/tc-microblaze.c:1626
+#: config/tc-microblaze.c:1694 config/tc-microblaze.c:1769
+#: config/tc-microblaze.c:2192 config/tc-microblaze.c:2241
#, c-format
msgid "unknown opcode \"%s\""
msgstr "código operacional desconocido «%s»"
-#: config/tc-mcore.c:930
+#: config/tc-mcore.c:931
msgid "invalid register: r15 illegal"
msgstr "registro inválido: r15 ilegal"
-#: config/tc-mcore.c:979 config/tc-mcore.c:1560
+#: config/tc-mcore.c:980 config/tc-mcore.c:1561
msgid "M340 specific opcode used when assembling for M210"
msgstr "M340 utilizado como código operacional específico cuando ensambla para M210"
-#: config/tc-mcore.c:997 config/tc-mcore.c:1037 config/tc-mcore.c:1056
-#: config/tc-mcore.c:1075 config/tc-mcore.c:1103 config/tc-mcore.c:1132
-#: config/tc-mcore.c:1169 config/tc-mcore.c:1204 config/tc-mcore.c:1223
-#: config/tc-mcore.c:1242 config/tc-mcore.c:1276 config/tc-mcore.c:1301
-#: config/tc-mcore.c:1358 config/tc-mcore.c:1412 config/tc-mcore.c:1448
-#: config/tc-mcore.c:1507 config/tc-mcore.c:1529 config/tc-mcore.c:1552
+#: config/tc-mcore.c:998 config/tc-mcore.c:1038 config/tc-mcore.c:1057
+#: config/tc-mcore.c:1076 config/tc-mcore.c:1104 config/tc-mcore.c:1133
+#: config/tc-mcore.c:1170 config/tc-mcore.c:1205 config/tc-mcore.c:1224
+#: config/tc-mcore.c:1243 config/tc-mcore.c:1277 config/tc-mcore.c:1302
+#: config/tc-mcore.c:1359 config/tc-mcore.c:1413 config/tc-mcore.c:1449
+#: config/tc-mcore.c:1508 config/tc-mcore.c:1530 config/tc-mcore.c:1553
msgid "second operand missing"
msgstr "ausente el segundo operando"
-#: config/tc-mcore.c:1013
+#: config/tc-mcore.c:1014
msgid "destination register must be r1"
msgstr "destino debe ser registro r1"
-#: config/tc-mcore.c:1034
+#: config/tc-mcore.c:1035
msgid "source register must be r1"
msgstr "origen debe ser registro r1"
-#: config/tc-mcore.c:1098 config/tc-mcore.c:1155
+#: config/tc-mcore.c:1099 config/tc-mcore.c:1156
msgid "immediate is not a power of two"
msgstr "inmediato no es una potencia de dos"
-#: config/tc-mcore.c:1126
+#: config/tc-mcore.c:1127
msgid "translating bgeni to movi"
msgstr "se traslada ‘bgeni’ a ‘movi’"
-#: config/tc-mcore.c:1163
-msgid "translating mgeni to movi"
-msgstr "se traslada ‘mgeni’ a ‘movi’"
-
-#: config/tc-mcore.c:1195
+#: config/tc-mcore.c:1196
msgid "translating bmaski to movi"
msgstr "se traslada ‘bmaski’ a ‘movi’"
-#: config/tc-mcore.c:1271
+#: config/tc-mcore.c:1272
#, c-format
msgid "displacement too large (%d)"
msgstr "desubicación muy grande (%d)"
-#: config/tc-mcore.c:1285
+#: config/tc-mcore.c:1286
msgid "Invalid register: r0 and r15 illegal"
msgstr "Registro inválido: r0 y r15 ilegales"
-#: config/tc-mcore.c:1316
+#: config/tc-mcore.c:1317
msgid "bad starting register: r0 and r15 invalid"
-msgstr "registro de inicio equivocado: r0 y r15 inválidos"
+msgstr "registro de inicio incorrecto: r0 y r15 inválidos"
-#: config/tc-mcore.c:1329
+#: config/tc-mcore.c:1330
msgid "ending register must be r15"
msgstr "el registro final debe ser r15"
-#: config/tc-mcore.c:1349
+#: config/tc-mcore.c:1350
msgid "bad base register: must be r0"
-msgstr "registro base equivocado: debe ser r0"
+msgstr "registro base incorrecto: debe ser r0"
-#: config/tc-mcore.c:1367
+#: config/tc-mcore.c:1368
msgid "first register must be r4"
msgstr "el primer registro debe ser r4"
-#: config/tc-mcore.c:1378
+#: config/tc-mcore.c:1379
msgid "last register must be r7"
msgstr "el último registro debe ser r7"
-#: config/tc-mcore.c:1415
+#: config/tc-mcore.c:1416
msgid "reg-reg expected"
msgstr "se esperaba registro-registro"
-#: config/tc-mcore.c:1526
-msgid "second operand must be 1"
-msgstr "el segundo operando debe ser 1"
-
-#: config/tc-mcore.c:1547
+#: config/tc-mcore.c:1548
msgid "zero used as immediate value"
msgstr "se utiliza cero como valor inmediato"
-#: config/tc-mcore.c:1574
+#: config/tc-mcore.c:1575
msgid "duplicated psr bit specifier"
msgstr "especificador de bit psr duplicado"
-#: config/tc-mcore.c:1580
+#: config/tc-mcore.c:1581
msgid "`af' must appear alone"
msgstr "`af' debe aparecer solo"
-#: config/tc-mcore.c:1587 config/tc-microblaze.c:1734
+#: config/tc-mcore.c:1588 config/tc-microblaze.c:1807
#, c-format
msgid "unimplemented opcode \"%s\""
msgstr "código operacional «%s» no implementado"
-#: config/tc-mcore.c:1596 config/tc-microblaze.c:1743
+#: config/tc-mcore.c:1597 config/tc-microblaze.c:1816
#, c-format
msgid "ignoring operands: %s "
msgstr "se descartan los operandos: %s "
-#: config/tc-mcore.c:1669
+#: config/tc-mcore.c:1673
#, c-format
msgid "unrecognised cpu type '%s'"
msgstr "no reconocido el tipo de cpu «%s»"
-#: config/tc-mcore.c:1687
+#: config/tc-mcore.c:1691
#, c-format
msgid ""
"MCORE specific options:\n"
@@ -10831,54 +12730,47 @@ msgstr ""
" -EB ensambla para un sistema big endian (predet.)\n"
" -EL ensambla para un sistema little endian\n"
-#: config/tc-mcore.c:1705 config/tc-microblaze.c:1854
+#: config/tc-mcore.c:1709 config/tc-microblaze.c:1926
msgid "failed sanity check: short_jump"
-msgstr "falló la prueba de sensated: short_jump"
+msgstr "la inspección sanitaria ha fallado: short_jump"
-#: config/tc-mcore.c:1715 config/tc-microblaze.c:1864
+#: config/tc-mcore.c:1719 config/tc-microblaze.c:1936
msgid "failed sanity check: long_jump"
-msgstr "falló la prueba de sensated: long_jump"
+msgstr "la inspección sanitaria ha fallado: long_jump"
-#: config/tc-mcore.c:1741
+#: config/tc-mcore.c:1745
#, c-format
msgid "odd displacement at %x"
msgstr "desplazamiento impar en %x"
-#. Variable not in small data read only segment accessed
-#. using small data read only anchor.
-#: config/tc-mcore.c:1923 config/tc-microblaze.c:1970
-#: config/tc-microblaze.c:2268 config/tc-microblaze.c:2291
-msgid "unknown"
-msgstr "desconocido"
-
-#: config/tc-mcore.c:1950
+#: config/tc-mcore.c:1954
#, c-format
msgid "odd distance branch (0x%lx byte)"
msgid_plural "odd distance branch (0x%lx bytes)"
msgstr[0] "distancia de ramificación impar (0x%lx bytes)"
msgstr[1] "distancia de ramificación impar (0x%lx byte)"
-#: config/tc-mcore.c:1957
+#: config/tc-mcore.c:1961
#, c-format
msgid "pcrel for branch to %s too far (0x%lx)"
msgstr "el pcrel para ramificar a %s muy lejos (0x%lx)"
-#: config/tc-mcore.c:1977
+#: config/tc-mcore.c:1981
#, c-format
msgid "pcrel for lrw/jmpi/jsri to %s too far (0x%lx)"
msgstr "el pcrel para lrw/jmpi/jsri a %s está muy lejos (0x%lx)"
-#: config/tc-mcore.c:1989
+#: config/tc-mcore.c:1993
#, c-format
msgid "pcrel for loopt too far (0x%lx)"
msgstr "el pcrel para bucle ‘loopt’ está muy lejos (0x%lx)"
-#: config/tc-mcore.c:2185 config/tc-microblaze.c:2435 config/tc-tic30.c:1386
+#: config/tc-mcore.c:2189 config/tc-microblaze.c:2529 config/tc-tic30.c:1364
#, c-format
msgid "Can not do %d byte %srelocation"
msgstr "No se puede hacer %d byte reubicación %s"
-#: config/tc-mcore.c:2187 config/tc-microblaze.c:2437 config/tc-tic30.c:1387
+#: config/tc-mcore.c:2191 config/tc-microblaze.c:2531 config/tc-tic30.c:1365
msgid "pc-relative "
msgstr "relativo a pc "
@@ -10910,8 +12802,8 @@ msgstr ""
"\n"
" Si se da -mconfig, las otras casillas -m lo modifican. De otra manera,\n"
" si no se dan casillas -m, todos los códigos operacionales core se activan;\n"
-" si se da cualquier opción -m que activa, sólo ésas se activan;\n"
-" si se da cualquier opción -m que desactiva, sólo ésas se desactivan.\n"
+" si se da cualquier opción -m que activa, solo ésas se activan;\n"
+" si se da cualquier opción -m que desactiva, solo ésas se desactivan.\n"
#: config/tc-mep.c:408
msgid "$hi and $lo are disabled when MUL and DIV are off"
@@ -10997,7 +12889,7 @@ msgstr "¿Tal vez le ausente %%tpoff()?"
#: config/tc-mep.c:2089
msgid "bad .section directive: want a,v,w,x,M,S in string"
-msgstr "directiva .section equivocada: se quiere a,v,w,x,M,S en la cadena"
+msgstr "directiva .section incorrecta: se quiere a,v,w,x,M,S en la cadena"
#: config/tc-mep.c:2147
msgid ".vliw unavailable when VLIW is disabled."
@@ -11012,21 +12904,21 @@ msgstr "unidad no especificada de coma flotante"
msgid "offset must be a multiple of %d"
msgstr "desplazamiento debe ser un múltiplo de %d"
-#: config/tc-metag.c:737 config/tc-metag.c:4445
+#: config/tc-metag.c:737 config/tc-metag.c:4443
msgid "offset and base must be from the same unit"
msgstr "destino y origen deben ser desde la misma unidad"
-#: config/tc-metag.c:868 config/tc-metag.c:3169 config/tc-metag.c:3271
+#: config/tc-metag.c:868 config/tc-metag.c:3167 config/tc-metag.c:3269
msgid "invalid destination register"
msgstr "invalida registro destino"
#: config/tc-metag.c:884 config/tc-metag.c:902 config/tc-metag.c:1293
-#: config/tc-metag.c:1311 config/tc-metag.c:1531 config/tc-metag.c:3101
-#: config/tc-metag.c:3186 config/tc-metag.c:3288
+#: config/tc-metag.c:1311 config/tc-metag.c:1530 config/tc-metag.c:3099
+#: config/tc-metag.c:3184 config/tc-metag.c:3286
msgid "invalid memory operand"
msgstr "operando de memoria no válido"
-#: config/tc-metag.c:939 config/tc-metag.c:3119
+#: config/tc-metag.c:939 config/tc-metag.c:3117
msgid "invalid source register"
msgstr "invalida registro fuente"
@@ -11046,22 +12938,22 @@ msgstr "invalida unidad origen"
msgid "source and address units must not be shared for this addressing mode"
msgstr "unidades de origen y dirección deben no ser compartidas para este modo direccional"
-#: config/tc-metag.c:1073 config/tc-metag.c:1677
+#: config/tc-metag.c:1073 config/tc-metag.c:1676
msgid "set can only use RD port as source"
msgstr ""
#: config/tc-metag.c:1088 config/tc-metag.c:1189 config/tc-metag.c:1440
-#: config/tc-metag.c:1698 config/tc-metag.c:4055
+#: config/tc-metag.c:1697 config/tc-metag.c:4053
#, c-format
msgid "base unit must be one of %s"
msgstr "unidad base debe ser una de %s"
#. We already tried to encode as an extended GET/SET.
#. Parsing as a standard GET/SET provides a smaller offset.
-#: config/tc-metag.c:1109 config/tc-metag.c:1215 config/tc-metag.c:3132
-#: config/tc-metag.c:3199 config/tc-metag.c:3301 config/tc-metag.c:4582
+#: config/tc-metag.c:1109 config/tc-metag.c:1215 config/tc-metag.c:3130
+#: config/tc-metag.c:3197 config/tc-metag.c:3299 config/tc-metag.c:4580
msgid "offset value out of range"
-msgstr "valor desplazado fuera de límite"
+msgstr "valor desplazado fuera de rango"
#: config/tc-metag.c:1169
msgid "destination unit must be RD"
@@ -11081,1160 +12973,1213 @@ msgstr "registro listado debe ser numerado pares"
#: config/tc-metag.c:1357
msgid "register list must be from the same unit"
-msgstr "listado de registro debe ser de la misma unidad"
+msgstr "listado de registros debe ser de la misma unidad"
#: config/tc-metag.c:1380
msgid "register list must not contain duplicates"
msgstr "registrador listado debe no contener duplicados"
-#: config/tc-metag.c:1637
+#: config/tc-metag.c:1636
msgid "MDRD value must be between 1 and 8"
msgstr "MDRD validado debe estar entre 1 y 9"
-#: config/tc-metag.c:1728
+#: config/tc-metag.c:1727
msgid "invalid destination memory operand"
msgstr "operando de memoria destino no válida"
-#: config/tc-metag.c:1743
+#: config/tc-metag.c:1742
msgid "invalid source memory operand"
msgstr "operando de memoria origen inválido"
-#: config/tc-metag.c:1750
+#: config/tc-metag.c:1749
#, c-format
msgid "address units must be one of %s"
msgstr "unidades direccionales debe ser uno de %s"
-#: config/tc-metag.c:1757
+#: config/tc-metag.c:1756
msgid "base and offset must be from the same unit"
msgstr "base y destino deben ser desde la misma unidad"
-#: config/tc-metag.c:1765
+#: config/tc-metag.c:1764
msgid "source and destination increment mode must agree"
msgstr "modo incrementa de origen y destino registros fuente y destino no deben ser iguales"
-#: config/tc-metag.c:2040
+#: config/tc-metag.c:2039
msgid "PC, CT, TR and TT are treated as if they are a single unit but operands must be in different units"
msgstr ""
-#: config/tc-metag.c:2049
+#: config/tc-metag.c:2048
msgid "source and destination register must be in different units"
msgstr "registro de origen y destino deben ser unidades diferentes"
-#: config/tc-metag.c:2081
+#: config/tc-metag.c:2080
#, c-format
msgid "register unit must be one of %s"
msgstr "unidad registro debe ser una de %s"
-#: config/tc-metag.c:2168
+#: config/tc-metag.c:2167
#, c-format
msgid "link register unit must be one of %s"
msgstr "registro enlazado unitario debe ser uno de %s"
-#: config/tc-metag.c:2174
+#: config/tc-metag.c:2173
msgid "link register must be in a low numbered register"
msgstr "registro enlazado debe estar dentro de un registro numerado bajo"
-#: config/tc-metag.c:2191 config/tc-metag.c:2716 config/tc-metag.c:2770
+#: config/tc-metag.c:2190 config/tc-metag.c:2715 config/tc-metag.c:2769
msgid "target out of range"
-msgstr "objetivo fuera de límite"
+msgstr "objetivo fuera de rango"
-#: config/tc-metag.c:2672
+#: config/tc-metag.c:2671
msgid "invalid quickrot unit specified"
msgstr "invalida unidad quickrot especificada"
-#: config/tc-metag.c:2688
+#: config/tc-metag.c:2687
msgid "invalid quickrot register specified"
msgstr "invalida registro quickrot especificado"
-#: config/tc-metag.c:2742
+#: config/tc-metag.c:2741
msgid "source register must be in the trigger unit"
msgstr "registro origen debe estar en la unidad disparadora"
-#: config/tc-metag.c:2845
+#: config/tc-metag.c:2844
msgid "Source registers must be in the same unit"
msgstr "Registros origen deben estar en la misma unidad"
-#: config/tc-metag.c:3556 config/tc-metag.c:3720 config/tc-metag.c:3988
+#: config/tc-metag.c:3554 config/tc-metag.c:3718 config/tc-metag.c:3986
msgid "destination register should be even numbered"
msgstr "registro destino deberían ser numerados pares"
-#: config/tc-metag.c:3628
+#: config/tc-metag.c:3626
msgid "comparison must be with register or #0"
msgstr "comparaciones deben ser con registros o #0"
-#: config/tc-metag.c:3694 config/tc-metag.c:3759
+#: config/tc-metag.c:3692 config/tc-metag.c:3757
msgid "instruction cannot operate on pair values"
msgstr "instrucción no puede operar pares de valores"
-#: config/tc-metag.c:3705
+#: config/tc-metag.c:3703
msgid "zero flag is not valid for this instruction"
msgstr "marca cero no es válida para esta instrucción"
-#: config/tc-metag.c:3726
+#: config/tc-metag.c:3724
msgid "source register should be even numbered"
msgstr "registro origen deberían ser numerados pares"
-#: config/tc-metag.c:3786 config/tc-metag.c:3795
+#: config/tc-metag.c:3784 config/tc-metag.c:3793
msgid "fraction bits value out of range"
-msgstr "valor de varios bit fraccional fuera de límite"
+msgstr "valor de varios bit fraccional fuera de rango"
-#: config/tc-metag.c:3977
+#: config/tc-metag.c:3975
msgid "simd instructions operate on pair values (L prefix)"
msgstr ""
-#: config/tc-metag.c:3995
+#: config/tc-metag.c:3993
msgid "source registers should be even numbered"
msgstr "registros origen deberían ser numerados pares"
-#: config/tc-metag.c:4273
+#: config/tc-metag.c:4271
#, c-format
msgid "expected ']', not %c in %s"
msgstr "esperaba ']', no %c dentro de %s"
-#: config/tc-metag.c:4392
+#: config/tc-metag.c:4390
msgid "invalid register for memory access"
msgstr "registro para acceso de memoria inválido"
-#: config/tc-metag.c:4505 config/tc-metag.c:4633
+#: config/tc-metag.c:4503 config/tc-metag.c:4631
msgid "unexpected end of line"
msgstr "fin de línea inesperada"
-#: config/tc-metag.c:4552
+#: config/tc-metag.c:4550
msgid "'H' modifier only valid for accumulator registers"
msgstr "Registro acumulador inválido"
-#: config/tc-metag.c:4605
+#: config/tc-metag.c:4603
msgid "base unit must be either A0 or A1"
msgstr "unidad base debe ser o A0 o A1"
-#: config/tc-metag.c:4678 config/tc-metag.c:5121
+#: config/tc-metag.c:4676 config/tc-metag.c:5119
msgid "invalid register"
msgstr "invalida registro"
-#: config/tc-metag.c:4826
+#: config/tc-metag.c:4787 config/tc-metag.c:5528 config/tc-metag.c:5550
+msgid "invalid register operand"
+msgstr "invalida registro operando"
+
+#: config/tc-metag.c:4824
msgid "could not parse template definition"
msgstr "no pudo interpretar definición de plantilla"
-#: config/tc-metag.c:5013
+#: config/tc-metag.c:5011
msgid "QUICKRoT 64-bit extension not applicable to this instruction"
msgstr "Extensión QUICKRoT 64-bit no aplicable a esta instrucción"
-#: config/tc-metag.c:5069
+#: config/tc-metag.c:5067
msgid "invalid operands for cross-unit op"
msgstr "operandos inválidos para op de unidades cruzadas"
-#: config/tc-metag.c:5111
+#: config/tc-metag.c:5109
msgid "missing flags: one of 'P', 'N' or 'Z' required"
msgstr ""
-#: config/tc-metag.c:5139
+#: config/tc-metag.c:5137
msgid "'P', 'N' or 'Z' flags may only be specified when accumulating"
msgstr ""
-#: config/tc-metag.c:5160
+#: config/tc-metag.c:5158
msgid "accumulator not a valid destination"
msgstr "acumulador no un destino válido"
-#: config/tc-metag.c:5170 config/tc-metag.c:5386 config/tc-metag.c:5570
+#: config/tc-metag.c:5168 config/tc-metag.c:5384 config/tc-metag.c:5568
msgid "invalid immediate value"
msgstr "valor inmediato inválido"
-#: config/tc-metag.c:5182
+#: config/tc-metag.c:5180
#, fuzzy
#| msgid "immediate value cannot be used to set this field"
msgid "immediate value not allowed when source & dest differ"
msgstr "no se puede usar un valor inmediato para establecer este campo"
-#: config/tc-metag.c:5214
+#: config/tc-metag.c:5212
#, c-format
msgid "invalid register operand: %s"
msgstr "operando registrado inválido: %s"
-#: config/tc-metag.c:5248
+#: config/tc-metag.c:5246
msgid "QUICKRoT extension requires 4 registers"
msgstr "Extensión QUICKRoT requiere 4 registros"
-#: config/tc-metag.c:5255
+#: config/tc-metag.c:5253
msgid "invalid fourth register"
msgstr "registro cuarto inválido"
-#: config/tc-metag.c:5262
+#: config/tc-metag.c:5260
msgid "A0.2,A0.3,A1.2,A1.3 required for QUICKRoT register"
msgstr "A0.2,A0.3,A1.2,A1.3 requerido para registrador QUICKRoT"
-#: config/tc-metag.c:5290
+#: config/tc-metag.c:5288
msgid "DSP RAM pointer in incorrect unit"
msgstr ""
-#: config/tc-metag.c:5336
+#: config/tc-metag.c:5334
msgid "invalid register operand #1"
msgstr "operando registrado inválido Nº1"
-#: config/tc-metag.c:5350
+#: config/tc-metag.c:5348
msgid "invalid register operand #2"
msgstr "operando registrado inválido Nº2"
-#: config/tc-metag.c:5414
+#: config/tc-metag.c:5412
msgid "this instruction does not accept an immediate"
msgstr "esta instrucción no acepta un inmediato"
-#: config/tc-metag.c:5434
+#: config/tc-metag.c:5432
msgid "invalid register operand #3"
msgstr "operando registrado inválido Nº3"
-#: config/tc-metag.c:5446
+#: config/tc-metag.c:5444
msgid "this instruction does not accept an accumulator"
msgstr "esta instrucción no acepta un acumulador"
-#: config/tc-metag.c:5464
+#: config/tc-metag.c:5462
msgid "invalid register operand #4"
msgstr "operando registrado inválido Nº4"
-#: config/tc-metag.c:5541
+#: config/tc-metag.c:5539
msgid "invalid accumulator register"
msgstr "invalida registro acumulador"
-#: config/tc-metag.c:5597
+#: config/tc-metag.c:5595
msgid "conditional instruction cannot use G flag"
msgstr "la instrucción condicional no puede utilizar marca G"
-#: config/tc-metag.c:5608
+#: config/tc-metag.c:5606
msgid "conditional instruction cannot use B flag"
msgstr "la instrucción condicional no puede utilizar marca B"
-#: config/tc-metag.c:5619
+#: config/tc-metag.c:5617
msgid "conditional instruction cannot use R flag"
msgstr "instrucción condicional no puede utilizar marca R"
-#: config/tc-metag.c:5728
+#: config/tc-metag.c:5726
msgid "'L' modifier not valid for this instruction"
msgstr "Modificador 'L' no válido para esta instrucción"
-#: config/tc-metag.c:5860
+#: config/tc-metag.c:5858
#, c-format
msgid "missing fpu name `%s'"
msgstr "ausente el nombre fpu «%s»"
-#: config/tc-metag.c:5871
+#: config/tc-metag.c:5869
#, c-format
msgid "unknown fpu `%s'"
msgstr "desconoce FPU «%s»"
-#: config/tc-metag.c:5886
+#: config/tc-metag.c:5884
#, c-format
msgid "missing DSP name `%s'"
msgstr "nombre DSP ausente «%s»"
-#: config/tc-metag.c:5897
+#: config/tc-metag.c:5895
#, c-format
msgid "unknown DSP `%s'"
msgstr "desconoce DSP `%s'"
-#: config/tc-metag.c:5915
+#: config/tc-metag.c:5913
msgid "<dsp name>\t assemble for DSP architecture <dsp name>"
msgstr "<nombre dsp>\t ensambla para la arquitectura DSP <nombre dsp>"
-#: config/tc-metag.c:5953
+#: config/tc-metag.c:5950
#, c-format
msgid " Meta specific command line options:\n"
msgstr " Opciones de la línea de mandatos específicas de Meta:\n"
-#: config/tc-metag.c:6042
+#: config/tc-metag.c:6039
msgid "premature end of floating point prefix"
msgstr "final prematuro de prefijo coma flotante"
-#: config/tc-metag.c:6102
+#: config/tc-metag.c:6099
msgid "unknown floating point prefix character"
msgstr "desconoce prefijo de caracteres de coma flotante"
-#: config/tc-metag.c:6251
+#: config/tc-metag.c:6248
#, c-format
msgid "unknown DSP prefix character %c %s"
msgstr "carácter prefijo DSP desconocido %c%s"
-#: config/tc-metag.c:6514
+#: config/tc-metag.c:6511
#, c-format
msgid "instruction mnemonic too long: %s"
msgstr "instrucción mnemónica demasiado larga: %s"
-#: config/tc-metag.c:6569
+#: config/tc-metag.c:6566
#, c-format
msgid "junk at end of line: \"%s\""
msgstr "basura al final de la línea: «%s»"
-#: config/tc-metag.c:6576
+#: config/tc-metag.c:6573
#, c-format
msgid "failed to assemble instruction: \"%s\""
msgstr "fallaba al ensamblar la instrucción: «%s»"
-#: config/tc-metag.c:6581
+#: config/tc-metag.c:6578
#, c-format
msgid "unknown floating point mnemonic: \"%s\""
msgstr "desconoce mnemónico de coma flotante: «%s»"
-#: config/tc-metag.c:6583
+#: config/tc-metag.c:6580
#, c-format
msgid "unknown mnemonic: \"%s\""
msgstr "desconoce mnemónico: «%s»"
-#: config/tc-metag.c:6634
+#: config/tc-metag.c:6631
#, c-format
msgid "cannot assemble DSP instruction, DSP option not set: %s"
msgstr "no se puede ensamblar instrucción DSP, opción DSP no establecida: %s"
-#: config/tc-metag.c:6641
+#: config/tc-metag.c:6638
#, c-format
msgid "cannot assemble FPU instruction, FPU option not set: %s"
msgstr "no puede ensamblar la instrucción FPS, opción FPS no definida: %s"
-#: config/tc-metag.c:6739 config/tc-nds32.c:6112
+#: config/tc-metag.c:6733 config/tc-nds32.c:7347
msgid "Bad call to md_atof()"
msgstr "Equivocación de llamada a md_atof()"
-#: config/tc-microblaze.c:516 config/tc-microblaze.c:545
-#: config/tc-microblaze.c:582
+#: config/tc-microblaze.c:216
+#, c-format
+msgid "Length of .lcomm \"%s\" is already %ld. Not changed to %ld."
+msgstr "La longitud de .lcomm «%s» ya es %ld. No se cambió a %ld."
+
+#: config/tc-microblaze.c:492 config/tc-microblaze.c:521
+#: config/tc-microblaze.c:558
#, c-format
msgid "Invalid register number at '%.6s'"
msgstr "Invalida número de registro en '%.6s'"
-#: config/tc-microblaze.c:743
+#: config/tc-microblaze.c:723
msgid "operand must be a constant or a label"
msgstr "operando debe ser una constante o una etiqueta"
-#: config/tc-microblaze.c:752
+#: config/tc-microblaze.c:732
#, c-format
msgid "operand must be absolute in range %lx..%lx, not %lx"
msgstr "operando debe ser absoluto en límite %lx..%lx, no %lx"
-#: config/tc-microblaze.c:954 config/tc-microblaze.c:961
-#: config/tc-microblaze.c:968 config/tc-microblaze.c:1001
-#: config/tc-microblaze.c:1008 config/tc-microblaze.c:1014
-#: config/tc-microblaze.c:1127 config/tc-microblaze.c:1134
-#: config/tc-microblaze.c:1140 config/tc-microblaze.c:1171
-#: config/tc-microblaze.c:1178 config/tc-microblaze.c:1198
-#: config/tc-microblaze.c:1205 config/tc-microblaze.c:1225
-#: config/tc-microblaze.c:1232 config/tc-microblaze.c:1250
-#: config/tc-microblaze.c:1257 config/tc-microblaze.c:1279
-#: config/tc-microblaze.c:1286 config/tc-microblaze.c:1304
-#: config/tc-microblaze.c:1316 config/tc-microblaze.c:1334
-#: config/tc-microblaze.c:1351 config/tc-microblaze.c:1358
-#: config/tc-microblaze.c:1404 config/tc-microblaze.c:1411
-#: config/tc-microblaze.c:1457 config/tc-microblaze.c:1464
-#: config/tc-microblaze.c:1486 config/tc-microblaze.c:1493
-#: config/tc-microblaze.c:1513 config/tc-microblaze.c:1519
-#: config/tc-microblaze.c:1579 config/tc-microblaze.c:1585
-#: config/tc-microblaze.c:1645 config/tc-microblaze.c:1719
+#: config/tc-microblaze.c:934 config/tc-microblaze.c:941
+#: config/tc-microblaze.c:948 config/tc-microblaze.c:981
+#: config/tc-microblaze.c:988 config/tc-microblaze.c:994
+#: config/tc-microblaze.c:1113 config/tc-microblaze.c:1120
+#: config/tc-microblaze.c:1126 config/tc-microblaze.c:1157
+#: config/tc-microblaze.c:1165 config/tc-microblaze.c:1179
+#: config/tc-microblaze.c:1197 config/tc-microblaze.c:1238
+#: config/tc-microblaze.c:1245 config/tc-microblaze.c:1265
+#: config/tc-microblaze.c:1272 config/tc-microblaze.c:1292
+#: config/tc-microblaze.c:1299 config/tc-microblaze.c:1317
+#: config/tc-microblaze.c:1324 config/tc-microblaze.c:1346
+#: config/tc-microblaze.c:1353 config/tc-microblaze.c:1371
+#: config/tc-microblaze.c:1383 config/tc-microblaze.c:1401
+#: config/tc-microblaze.c:1418 config/tc-microblaze.c:1425
+#: config/tc-microblaze.c:1471 config/tc-microblaze.c:1478
+#: config/tc-microblaze.c:1524 config/tc-microblaze.c:1531
+#: config/tc-microblaze.c:1553 config/tc-microblaze.c:1560
+#: config/tc-microblaze.c:1580 config/tc-microblaze.c:1586
+#: config/tc-microblaze.c:1648 config/tc-microblaze.c:1654
+#: config/tc-microblaze.c:1716 config/tc-microblaze.c:1792
msgid "Error in statement syntax"
msgstr "Error en la sintaxis de la declaración"
-#: config/tc-microblaze.c:974 config/tc-microblaze.c:976
-#: config/tc-microblaze.c:978 config/tc-microblaze.c:1018
-#: config/tc-microblaze.c:1020 config/tc-microblaze.c:1144
-#: config/tc-microblaze.c:1146 config/tc-microblaze.c:1184
-#: config/tc-microblaze.c:1186 config/tc-microblaze.c:1211
-#: config/tc-microblaze.c:1213 config/tc-microblaze.c:1238
-#: config/tc-microblaze.c:1261 config/tc-microblaze.c:1292
-#: config/tc-microblaze.c:1322 config/tc-microblaze.c:1340
-#: config/tc-microblaze.c:1470 config/tc-microblaze.c:1472
-#: config/tc-microblaze.c:1499 config/tc-microblaze.c:1501
-#: config/tc-microblaze.c:1523 config/tc-microblaze.c:1589
-#: config/tc-microblaze.c:1651
+#: config/tc-microblaze.c:954 config/tc-microblaze.c:956
+#: config/tc-microblaze.c:958 config/tc-microblaze.c:998
+#: config/tc-microblaze.c:1000 config/tc-microblaze.c:1130
+#: config/tc-microblaze.c:1132 config/tc-microblaze.c:1171
+#: config/tc-microblaze.c:1173 config/tc-microblaze.c:1251
+#: config/tc-microblaze.c:1253 config/tc-microblaze.c:1278
+#: config/tc-microblaze.c:1280 config/tc-microblaze.c:1305
+#: config/tc-microblaze.c:1328 config/tc-microblaze.c:1359
+#: config/tc-microblaze.c:1389 config/tc-microblaze.c:1407
+#: config/tc-microblaze.c:1537 config/tc-microblaze.c:1539
+#: config/tc-microblaze.c:1566 config/tc-microblaze.c:1568
+#: config/tc-microblaze.c:1590 config/tc-microblaze.c:1658
+#: config/tc-microblaze.c:1722
msgid "Cannot use special register with this instruction"
msgstr "No se puede usar el registro especial con esta instrucción"
-#: config/tc-microblaze.c:1028
+#: config/tc-microblaze.c:1008
msgid "lmi pseudo instruction should not use a label in imm field"
msgstr "pseudo instrucción lmi no debería emplear una etiqueta en el campo imm"
-#: config/tc-microblaze.c:1030
+#: config/tc-microblaze.c:1010
msgid "smi pseudo instruction should not use a label in imm field"
msgstr "pseudo instrucción smi no debería emplear una etiqueta en el campo imm"
-#: config/tc-microblaze.c:1149
+#: config/tc-microblaze.c:1135
msgid "Symbol used as immediate for shift instruction"
msgstr "Se utiliza un símbolo como inmediato para la instrucción desplazamiento"
-#: config/tc-microblaze.c:1158
+#: config/tc-microblaze.c:1144
#, c-format
msgid "Shift value > 32. using <value %% 32>"
msgstr "Valor de desplazamiento > 32. se utiliza <value %% 32>"
-#: config/tc-microblaze.c:1264
+#: config/tc-microblaze.c:1184
+#, fuzzy
+#| msgid "Symbol used as immediate value for msrset/msrclr instructions"
+msgid "Symbol used as immediate width value for bit field instruction"
+msgstr "Se utiliza un símbolo como valor inmediato para instrucciones msrset/msrclr"
+
+#: config/tc-microblaze.c:1191
+#, fuzzy
+#| msgid "file number less than one"
+msgid "Width value must be less than 32"
+msgstr "número de fichero menor que uno"
+
+#: config/tc-microblaze.c:1202
+#, fuzzy
+#| msgid "Symbol used as immediate value for msrset/msrclr instructions"
+msgid "Symbol used as immediate shift value for bit field instruction"
+msgstr "Se utiliza un símbolo como valor inmediato para instrucciones msrset/msrclr"
+
+#: config/tc-microblaze.c:1213
+#, fuzzy, c-format
+#| msgid "Shift value > 32. using <value %% 32>"
+msgid "Shift value greater than 32. using <value %% 32>"
+msgstr "Valor de desplazamiento > 32. se utiliza <value %% 32>"
+
+#: config/tc-microblaze.c:1219
+#, fuzzy
+#| msgid "branch target frequency must be greater than 0"
+msgid "Width value + shift value must not be greater than 32"
+msgstr "la frecuencia de ramificación de objetivo debe ser mayor a 0"
+
+#: config/tc-microblaze.c:1331
msgid "Symbol used as immediate value for msrset/msrclr instructions"
msgstr "Se utiliza un símbolo como valor inmediato para instrucciones msrset/msrclr"
-#: config/tc-microblaze.c:1393 config/tc-microblaze.c:1446
+#: config/tc-microblaze.c:1460 config/tc-microblaze.c:1513
msgid "invalid value for special purpose register"
msgstr "valor inválido para el registro de propósito especial"
-#: config/tc-microblaze.c:1659
+#: config/tc-microblaze.c:1730
msgid "An IMM instruction should not be present in the .s file"
msgstr "Una instrucción IMM no debe estar presente en el fichero .s"
-#: config/tc-microblaze.c:1721
+#: config/tc-microblaze.c:1794
msgid "Symbol used as immediate for mbar instruction"
msgstr "Se utiliza un símbolo como inmediato para instrucción mbar"
-#: config/tc-microblaze.c:1727
+#: config/tc-microblaze.c:1800
#, c-format
msgid "Immediate value for mbar > 32. using <value %% 32>"
msgstr "Valor inmediato para mbar > 32. utilizando <valor %% 32>"
-#: config/tc-microblaze.c:1804
+#: config/tc-microblaze.c:1874
msgid "Bad call to MD_NTOF()"
-msgstr "Llamada equivocada a MD_NTOF()"
+msgstr "Llamada incorrecta a MD_NTOF()"
-#: config/tc-microblaze.c:2061
+#: config/tc-microblaze.c:2143
#, c-format
msgid "pcrel for branch to %s too far (0x%x)"
msgstr "el pcrel para ramificar a %s muy lejos (0x%x)"
#. We know the abs value: Should never happen.
-#: config/tc-microblaze.c:2216
+#: config/tc-microblaze.c:2304
msgid "Absolute PC-relative value in relaxation code. Assembler error....."
msgstr "Valor relativo a PC absoluto en código de relajación. Error de ensamblador....."
#. Cannot have a PC-relative branch to a diff segment.
-#: config/tc-microblaze.c:2230
+#: config/tc-microblaze.c:2318
#, c-format
msgid "PC relative branch to label %s which is not in the instruction space"
msgstr "Ramificación relativa a PC a la etiqueta %s, la cual no está en el espacio de instrucción"
-#: config/tc-microblaze.c:2271
+#: config/tc-microblaze.c:2361
msgid "Variable is accessed using small data read only anchor, but it is not in the small data read only section"
-msgstr "Se accede a la variable usando un ancla de sólo lectura de datos small, pero no está en la sección de sólo lectura de datos small"
+msgstr "Se accede a la variable usando un ancla de solo lectura de datos small, pero no está en la sección de solo lectura de datos small"
-#: config/tc-microblaze.c:2294
+#: config/tc-microblaze.c:2384
msgid "Variable is accessed using small data read write anchor, but it is not in the small data read write section"
msgstr "Se accede a la variable usando un ancla de lectura escritura de datos smaill, pero no está en la sección de lectura escritura de datos small"
-#: config/tc-microblaze.c:2303
+#: config/tc-microblaze.c:2393
msgid "Incorrect fr_opcode value in frag. Internal error....."
msgstr "Valor de fr_opcode incorrecto en frag. Error interno....."
#. We know the abs value: Should never happen.
-#: config/tc-microblaze.c:2310
+#: config/tc-microblaze.c:2400
msgid "Absolute value in relaxation code. Assembler error....."
msgstr "Valor absoluto en código de relajación. Error de ensamblador....."
-#: config/tc-mips.c:2081
+#. fprintf(stream, _(" MicroBlaze options:\n -noSmall Data in the comm and data sections do not go into the small data section\n"));
+#: config/tc-microblaze.c:2585
+#, fuzzy, c-format
+#| msgid " Score-specific assembler options:\n"
+msgid " MicroBlaze specific assembler options:\n"
+msgstr " Opciones de ensamblador específicas de Score:\n"
+
+#: config/tc-microblaze.c:2586
+#, fuzzy
+#| msgid "assemble for big-endian"
+msgid "assemble for a big endian cpu"
+msgstr "ensamblar para big-endian"
+
+#: config/tc-microblaze.c:2587
+#, fuzzy
+#| msgid "assemble for little-endian"
+msgid "assemble for a little endian cpu"
+msgstr "ensamblar para little-endian"
+
+#: config/tc-mips.c:2184
#, c-format
msgid "the %d-bit %s architecture does not support the `%s' extension"
msgstr "el %d-bit %s arquitectural no admite «%s» como extensión"
-#: config/tc-mips.c:2084
+#: config/tc-mips.c:2187
#, c-format
msgid "the `%s' extension requires %s%d revision %d or greater"
msgstr "la extensión «%s» requiere %s%d revisión %d o superior"
-#: config/tc-mips.c:2093
+#: config/tc-mips.c:2196
#, c-format
msgid "the `%s' extension was removed in %s%d revision %d"
msgstr "la extensión «%s» fue quitada en %s%d revisión %d"
-#: config/tc-mips.c:2102
+#: config/tc-mips.c:2205
#, c-format
msgid "the `%s' extension requires 64-bit FPRs"
msgstr "la extensión `%s' requiere varios FPR de 64-bit"
-#: config/tc-mips.c:2945 config/tc-mips.c:16245
+#: config/tc-mips.c:3057 config/tc-mips.c:16644
#, c-format
msgid "unrecognized register name `%s'"
msgstr "nombre de registro no reconocido «%s»"
-#: config/tc-mips.c:3172
+#: config/tc-mips.c:3284
msgid "invalid register range"
msgstr "límite inválido registro"
-#: config/tc-mips.c:3200
+#: config/tc-mips.c:3312
msgid "vector element must be constant"
msgstr "elemento vector debe ser constante"
-#: config/tc-mips.c:3210
+#: config/tc-mips.c:3322
msgid "missing `]'"
msgstr "ausente `]'"
-#: config/tc-mips.c:3433
+#: config/tc-mips.c:3545
#, c-format
msgid "internal: bad mips opcode (mask error): %s %s"
-msgstr "interno: código operacional mips equivocado (error de máscara): %s %s"
+msgstr "interno: código operacional mips incorrecto (error de máscara): %s %s"
-#: config/tc-mips.c:3460
+#: config/tc-mips.c:3572
#, c-format
msgid "internal: unknown operand type: %s %s"
msgstr "interno: tipo operando desconocido: %s %s"
-#: config/tc-mips.c:3493
+#: config/tc-mips.c:3605
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx doubly defined): %s %s"
-msgstr "interno: código operacional mips equivocado (bits 0x%08lx definidos doble ): %s %s"
+msgstr "interno: código operacional mips incorrecto (bits 0x%08lx definidos doble ): %s %s"
-#: config/tc-mips.c:3501
+#: config/tc-mips.c:3613
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx undefined): %s %s"
-msgstr "interno: código operacional mips equivocado (varios bit 0x%08lx definidos): %s %s"
+msgstr "interno: código operacional mips incorrecto (varios bit 0x%08lx definidos): %s %s"
-#: config/tc-mips.c:3508
+#: config/tc-mips.c:3620
#, c-format
msgid "internal: bad mips opcode (bits 0x%08lx defined): %s %s"
-msgstr "interno: código operacional mips equivocado (varios bit 0x%08lx definidos): %s %s"
+msgstr "interno: código operacional mips incorrecto (varios bit 0x%08lx definidos): %s %s"
-#: config/tc-mips.c:3543
+#: config/tc-mips.c:3655
#, c-format
msgid "internal error: bad microMIPS opcode (incorrect length: %u): %s %s"
-msgstr "error interno: código op microMIPS equivocado (longitud eincorrecta: %u): %s %s"
+msgstr "error interno: código op microMIPS incorrecto (longitud eincorrecta: %u): %s %s"
-#: config/tc-mips.c:3551
+#: config/tc-mips.c:3663
#, c-format
msgid "internal error: bad microMIPS opcode (opcode/length mismatch): %s %s"
msgstr "error interno: equivocación de código operativo microMIPS (código operacional/longitud incoherente): %s %s"
-#: config/tc-mips.c:3577
+#: config/tc-mips.c:3688
msgid "-G may not be used in position-independent code"
msgstr "-G no se puede usar en código independiente de posición"
-#: config/tc-mips.c:3583
+#: config/tc-mips.c:3694
msgid "-G may not be used with abicalls"
msgstr "-G quizá no está emplado con llamadas abi"
-#. Probably a memory allocation problem? Give up now.
-#: config/tc-mips.c:3603 config/tc-mips.c:3694
+#: config/tc-mips.c:3799
msgid "broken assembler, no assembly attempted"
msgstr "ensamblador descompuesto, no trata ensamblarlo"
-#: config/tc-mips.c:3633 config/tc-mips.c:3662
-#, c-format
-msgid "internal: can't hash `%s': %s"
-msgstr "interno: no se puede dispersar «%s»: %s"
-
-#: config/tc-mips.c:3844
+#: config/tc-mips.c:3947
#, c-format
msgid ".gnu_attribute %d,%d is incompatible with `%s'"
msgstr ".gnu_attribute %d,%d es incompatible con «%s»"
-#: config/tc-mips.c:3851
+#: config/tc-mips.c:3954
#, c-format
msgid ".gnu_attribute %d,%d requires `%s'"
msgstr ".gnu_attribute %d,%d requiere «%s»"
-#: config/tc-mips.c:3912
+#: config/tc-mips.c:4015
#, c-format
msgid ".gnu_attribute %d,%d is no longer supported"
msgstr ".gnu_attribute %d,%d no es compatible más"
-#: config/tc-mips.c:3921
+#: config/tc-mips.c:4024
#, c-format
msgid ".gnu_attribute %d,%d is not a recognized floating-point ABI"
msgstr ".gnu_attribute %d,%d no es un ABI coma-flotante reconocida"
-#: config/tc-mips.c:3934
+#: config/tc-mips.c:4037
msgid "`gp=64' used with a 32-bit processor"
msgstr "se utilizó `gp=64' con un procesador de 32-bit"
-#: config/tc-mips.c:3937
+#: config/tc-mips.c:4040
msgid "`gp=32' used with a 64-bit ABI"
msgstr "se utilizó `gp=32' con un ABI de 64-bit"
-#: config/tc-mips.c:3940
+#: config/tc-mips.c:4043
msgid "`gp=64' used with a 32-bit ABI"
msgstr "se utilizó `gp=64' con un ABI de 32-bit"
-#: config/tc-mips.c:3947
+#: config/tc-mips.c:4050
msgid "`fp=xx' used with a cpu lacking ldc1/sdc1 instructions"
msgstr ""
-#: config/tc-mips.c:3949
+#: config/tc-mips.c:4052
msgid "`fp=xx' cannot be used with `singlefloat'"
msgstr "`fp=xx' no puede ser utilizado con `singlefloat'"
-#: config/tc-mips.c:3953
+#: config/tc-mips.c:4056
msgid "`fp=64' used with a 32-bit fpu"
msgstr "utilizó `fp=64' con un fpu de 32-bit"
-#: config/tc-mips.c:3957
+#: config/tc-mips.c:4060
msgid "`fp=64' used with a 32-bit ABI"
msgstr "utilizó `fp=64' con un ABI de 32-bit"
-#: config/tc-mips.c:3962
+#: config/tc-mips.c:4065
msgid "`fp=32' used with a 64-bit ABI"
msgstr "utilizó`fp=32' con un ABI de 64-bit"
-#: config/tc-mips.c:3964
+#: config/tc-mips.c:4067
msgid "`fp=32' used with a MIPS R6 cpu"
msgstr "utilizó `fp=32' con un MIPS R6 cpu"
-#: config/tc-mips.c:3967
+#: config/tc-mips.c:4070
msgid "Unknown size of floating point registers"
msgstr "Tamaño desconocido de registros de coma flotante"
-#: config/tc-mips.c:3972
+#: config/tc-mips.c:4075
msgid "`nooddspreg` cannot be used with a 64-bit ABI"
msgstr "`nooddspreg` no puede ser empleado con un ABI de 64-bit"
-#: config/tc-mips.c:3975 config/tc-mips.c:3979
+#: config/tc-mips.c:4078 config/tc-mips.c:4082
#, c-format
msgid "`%s' cannot be used with `%s'"
msgstr "«%s» no puede ser utilizado con «%s»"
-#: config/tc-mips.c:3984
+#: config/tc-mips.c:4087
#, c-format
msgid "branch relaxation is not supported in `%s'"
msgstr "relajación de ramificación no está admitida en «%s»"
-#: config/tc-mips.c:4064
-msgid "trap exception not supported at ISA 1"
-msgstr "excepción de captura no admitida en ISA 1"
-
-#: config/tc-mips.c:4077 config/tc-mips.c:17125
+#: config/tc-mips.c:4173 config/tc-mips.c:17527
#, c-format
msgid "`%s' does not support legacy NaN"
msgstr "«%s» no apoyado con herencia NaN"
-#: config/tc-mips.c:4124
+#: config/tc-mips.c:4220
#, c-format
msgid "returned from mips_ip(%s) insn_opcode = 0x%x\n"
msgstr "devuelto de mips_ip(%s) insn_opcode = 0x%x\n"
-#: config/tc-mips.c:4829
+#: config/tc-mips.c:4924
#, c-format
msgid "operand %d out of range"
-msgstr "operando %d fuera de límite"
+msgstr "operando %d fuera de rango"
-#: config/tc-mips.c:4837
+#: config/tc-mips.c:4932
#, c-format
msgid "operand %d must be constant"
msgstr "operando %d debe ser constante"
-#: config/tc-mips.c:4881 read.c:4340 read.c:5316 write.c:265 write.c:1021
+#: config/tc-mips.c:4976 read.c:4594 read.c:5364 read.c:5490 write.c:250
+#: write.c:1058
msgid "register value used as expression"
msgstr "valor registrado utilizado como expresión"
-#: config/tc-mips.c:4894
+#: config/tc-mips.c:4989
#, c-format
msgid "operand %d must be an immediate expression"
msgstr "operando %d debe ser una expresión inmediata"
-#: config/tc-mips.c:5015 config/tc-mips.c:5017
+#: config/tc-mips.c:5111 config/tc-mips.c:5113
#, c-format
msgid "float register should be even, was %d"
msgstr "registro flotante debería ser par, era %d"
-#: config/tc-mips.c:5030
+#: config/tc-mips.c:5126
#, c-format
msgid "condition code register should be even for %s, was %d"
msgstr "código condicional registrado debería ser par para %s, era %d"
-#: config/tc-mips.c:5035
+#: config/tc-mips.c:5131
#, c-format
msgid "condition code register should be 0 or 4 for %s, was %d"
msgstr "código condicional registrado debería ser 0 o 4 para %s, era %d"
-#: config/tc-mips.c:5356
+#: config/tc-mips.c:5452
msgid "invalid performance register"
msgstr "rendimiento registrado inválido"
-#: config/tc-mips.c:5452
+#: config/tc-mips.c:5548 config/tc-mips.c:6019
msgid "the source register must not be $0"
msgstr "el registro origen debe no ser $0"
-#: config/tc-mips.c:5728
+#: config/tc-mips.c:5824
msgid "missing frame size"
msgstr "ausente el tamaño del marco"
-#: config/tc-mips.c:5733
+#: config/tc-mips.c:5829
msgid "frame size specified twice"
msgstr "tamaño del marco especificado dos veces"
-#: config/tc-mips.c:5738
+#: config/tc-mips.c:5834
msgid "invalid frame size"
msgstr "tamaño de marco inválido"
-#: config/tc-mips.c:5778
+#: config/tc-mips.c:5874
#, c-format
msgid "operand %d must be an immediate"
msgstr "operando %d debe ser un inmediato"
-#: config/tc-mips.c:5793
+#: config/tc-mips.c:5889
msgid "invalid element selector"
msgstr "selector de elemento inválido"
-#: config/tc-mips.c:5806
+#: config/tc-mips.c:5902
#, c-format
msgid "operand %d must be scalar"
msgstr "operando %d debe ser escalar"
-#: config/tc-mips.c:5983
+#: config/tc-mips.c:6082
msgid "floating-point expression required"
msgstr "requerida expresión de coma flotante"
-#: config/tc-mips.c:6083
+#: config/tc-mips.c:6182
#, c-format
msgid "cannot use `%s' in this section"
msgstr "no puede utilizar `%s' dentro de esta sección"
-#: config/tc-mips.c:6230
+#: config/tc-mips.c:6329
msgid "used $at without \".set noat\""
msgstr "se utilizó $at sin \".set noat\""
-#: config/tc-mips.c:6232
+#: config/tc-mips.c:6331
#, c-format
msgid "used $%u with \".set at=$%u\""
msgstr "se utilizó $%u sin \".set at=$%u\""
-#: config/tc-mips.c:7261
+#: config/tc-mips.c:7510
#, c-format
msgid "wrong size instruction in a %u-bit branch delay slot"
-msgstr "tamaño de instrucción equivocado en una ranura de retardo ramificado a %u-bit"
+msgstr "tamaño de instrucción incorrecto en una ranura de retardo ramificado a %u-bit"
-#: config/tc-mips.c:7281 config/tc-mips.c:7291 config/tc-mips.c:15551
+#: config/tc-mips.c:7530 config/tc-mips.c:7540 config/tc-mips.c:15944
#, c-format
msgid "jump to misaligned address (0x%lx)"
msgstr "omisión a una dirección mal alineada (0x%lx)"
-#: config/tc-mips.c:7306 config/tc-mips.c:7326 config/tc-mips.c:7343
-#: config/tc-mips.c:8874 config/tc-mips.c:15405 config/tc-mips.c:15412
-#: config/tc-mips.c:15806 config/tc-mips.c:18640
+#: config/tc-mips.c:7555 config/tc-mips.c:7575 config/tc-mips.c:7592
+#: config/tc-mips.c:9142 config/tc-mips.c:15798 config/tc-mips.c:15805
+#: config/tc-mips.c:16198 config/tc-mips.c:19046
#, c-format
msgid "branch to misaligned address (0x%lx)"
msgstr "ramificación a una dirección mal alineada (0x%lx)"
-#: config/tc-mips.c:7312 config/tc-mips.c:7330 config/tc-mips.c:7347
-#: config/tc-mips.c:8877
+#: config/tc-mips.c:7561 config/tc-mips.c:7579 config/tc-mips.c:7596
+#: config/tc-mips.c:9145
#, c-format
msgid "branch address range overflow (0x%lx)"
msgstr "ramificación de límite direccional desborda (0x%lx)"
-#: config/tc-mips.c:7592
+#: config/tc-mips.c:7841
msgid "extended instruction in delay slot"
msgstr "instrucción extendida en ranura de retardo"
-#: config/tc-mips.c:8056
+#: config/tc-mips.c:8305
msgid "source and destination must be different"
msgstr "origen y destino deben ser diferentes"
-#: config/tc-mips.c:8059
+#: config/tc-mips.c:8308
msgid "a destination register must be supplied"
msgstr "un registro de destino debe ser proporcionado"
-#: config/tc-mips.c:8064
+#: config/tc-mips.c:8313
msgid "the source register must not be $31"
msgstr "el registro origen debe no ser $31"
-#: config/tc-mips.c:8312 config/tc-mips.c:14189 config/tc-mips.c:18786
+#: config/tc-mips.c:8561 config/tc-mips.c:14536 config/tc-mips.c:19193
msgid "invalid unextended operand value"
msgstr "valor de operando no extendido inválido"
-#: config/tc-mips.c:8430
+#: config/tc-mips.c:8679
#, c-format
msgid "opcode not supported on this processor: %s (%s)"
msgstr "código operacional no admitido en este procesador: %s (%s)"
-#: config/tc-mips.c:8509
+#: config/tc-mips.c:8758
msgid "opcode not supported in the `insn32' mode"
msgstr "código operacional no admitido dentro del modo `insn32' no admitido"
-#: config/tc-mips.c:8512
+#: config/tc-mips.c:8761
#, c-format
msgid "unrecognized %d-bit version of microMIPS opcode"
msgstr "versión no reconocida %d-bit de código operacional microMIPS"
-#: config/tc-mips.c:8568
+#: config/tc-mips.c:8817
msgid "unrecognized unextended version of MIPS16 opcode"
msgstr "no reconocida versión del código operacional de MIPS16"
-#: config/tc-mips.c:8571
+#: config/tc-mips.c:8820
msgid "unrecognized extended version of MIPS16 opcode"
msgstr "versión extendida de código operacional MIPS16 no reconocida"
-#: config/tc-mips.c:8621 config/tc-mips.c:18657
+#: config/tc-mips.c:8870 config/tc-mips.c:19064
msgid "macro instruction expanded into multiple instructions in a branch delay slot"
msgstr "instrucción macro expandida en instrucciones múltiples en una ranura de retraso de ramificación"
-#: config/tc-mips.c:8624 config/tc-mips.c:18665
+#: config/tc-mips.c:8873 config/tc-mips.c:19072
msgid "macro instruction expanded into multiple instructions"
msgstr "instrucción macro expandida en instrucciones múltiples"
-#: config/tc-mips.c:8628
+#: config/tc-mips.c:8877
msgid "macro instruction expanded into a wrong size instruction in a 16-bit branch delay slot"
-msgstr "instrucción macro expandida en un tamaño de instrucción equivocado dentro de una ranura de retraso de ramificación de 16-bit"
+msgstr "instrucción macro expandida en un tamaño de instrucción incorrecto dentro de una ranura de retraso de ramificación de 16-bit"
-#: config/tc-mips.c:8630
+#: config/tc-mips.c:8879
msgid "macro instruction expanded into a wrong size instruction in a 32-bit branch delay slot"
-msgstr "instrucción macro expandida en un tamaño de instrucción equivocado dentro de una ranura de retraso de ramificación de 32-bit"
+msgstr "instrucción macro expandida en un tamaño de instrucción incorrecto dentro de una ranura de retraso de ramificación de 32-bit"
-#: config/tc-mips.c:9074
+#: config/tc-mips.c:9342
msgid "operand overflow"
msgstr "desbordamiento de operando"
-#: config/tc-mips.c:9093 config/tc-mips.c:9677 config/tc-mips.c:13670
+#: config/tc-mips.c:9361 config/tc-mips.c:9946 config/tc-mips.c:14017
msgid "macro used $at after \".set noat\""
msgstr "macro $at empleada tras \".set noat\""
-#: config/tc-mips.c:9241 config/tc-mips.c:12009 config/tc-mips.c:12668
-#, c-format
-msgid "number (0x%s) larger than 32 bits"
+#: config/tc-mips.c:9506 config/tc-mips.c:12329 config/tc-mips.c:13010
+#, fuzzy, c-format
+#| msgid "number (0x%s) larger than 32 bits"
+msgid "number (0x%<PRIx64>) larger than 32 bits"
msgstr "número (0x%s) más largo que 32 bits"
-#: config/tc-mips.c:9261
+#: config/tc-mips.c:9527
msgid "number larger than 64 bits"
msgstr "número más largo que 64 bits"
-#: config/tc-mips.c:9555 config/tc-mips.c:9583 config/tc-mips.c:9621
-#: config/tc-mips.c:9666 config/tc-mips.c:12244 config/tc-mips.c:12283
-#: config/tc-mips.c:12322 config/tc-mips.c:12764 config/tc-mips.c:12816
+#: config/tc-mips.c:9824 config/tc-mips.c:9852 config/tc-mips.c:9890
+#: config/tc-mips.c:9935 config/tc-mips.c:12573 config/tc-mips.c:12612
+#: config/tc-mips.c:12651 config/tc-mips.c:13107 config/tc-mips.c:13159
msgid "PIC code offset overflow (max 16 signed bits)"
msgstr "Desbordamiento del desplazamiento del código PIC (máx 16 bits con signo)"
-#: config/tc-mips.c:10194
+#: config/tc-mips.c:10478
#, c-format
msgid "BALIGN immediate not 0, 1, 2 or 3 (%lu)"
msgstr "BALING inmediato no es 0, 1, 2 o 3 (%lu)"
-#. result is always true
-#: config/tc-mips.c:10290
+#. Result is always true.
+#: config/tc-mips.c:10574
#, c-format
msgid "branch %s is always true"
msgstr "rama %s siempre es verdadero"
-#: config/tc-mips.c:10518 config/tc-mips.c:10628
+#: config/tc-mips.c:10802 config/tc-mips.c:10910
msgid "divide by zero"
msgstr "división entre cero"
-#: config/tc-mips.c:10718
+#: config/tc-mips.c:11000
msgid "dla used to load 32-bit register; recommend using la instead"
msgstr "dla utilizado para cargar registros de 32-bit; recomienda usar la en su lugar"
-#: config/tc-mips.c:10722
+#: config/tc-mips.c:11004
msgid "la used to load 64-bit address; recommend using dla instead"
msgstr "la utilizada para cargar direcciones de 64-bit; recomienda usar en lugar dla"
-#: config/tc-mips.c:10831 config/tc-riscv.c:944 config/tc-z80.c:732
+#: config/tc-mips.c:11113 config/tc-riscv.c:2364
msgid "offset too large"
msgstr "desplazamiento demasiado grande"
-#: config/tc-mips.c:11005 config/tc-mips.c:11283
+#: config/tc-mips.c:11287 config/tc-mips.c:11565
msgid "PIC code offset overflow (max 32 signed bits)"
msgstr "Desbordamiento del desplazamiento del código PIC (máx 32 bits con signo)"
-#: config/tc-mips.c:11353 config/tc-mips.c:11429
+#: config/tc-mips.c:11635 config/tc-mips.c:11711
#, c-format
msgid "opcode not supported in the `insn32' mode `%s'"
msgstr "código operacional no admitido dentro del modo `insn32' «%s»"
-#: config/tc-mips.c:11381
+#: config/tc-mips.c:11663
msgid "MIPS PIC call to register other than $25"
msgstr "Llamada PIC MIPS a un registro diferente de $25"
-#: config/tc-mips.c:11397 config/tc-mips.c:11408 config/tc-mips.c:11541
-#: config/tc-mips.c:11552
+#: config/tc-mips.c:11679 config/tc-mips.c:11690 config/tc-mips.c:11823
+#: config/tc-mips.c:11834
msgid "no .cprestore pseudo-op used in PIC code"
msgstr "no se utilizó pseudo-operador .cprestore en el código PIC"
-#: config/tc-mips.c:11402 config/tc-mips.c:11546
+#: config/tc-mips.c:11684 config/tc-mips.c:11828
msgid "no .frame pseudo-op used in PIC code"
msgstr "no se utilizó pseudo-operador .frame en el código PIC"
-#: config/tc-mips.c:11567
+#: config/tc-mips.c:11849
msgid "non-PIC jump used in PIC library"
msgstr "omisión no-PIC utilizada en biblioteca PIC"
-#: config/tc-mips.c:12494
+#: config/tc-mips.c:12830
#, c-format
msgid "Unable to generate `%s' compliant code without mthc1"
msgstr ""
-#: config/tc-mips.c:13228
+#: config/tc-mips.c:13571
#, c-format
msgid "instruction %s: result is always false"
msgstr "instrucción %s: resultado es siempre falso"
-#: config/tc-mips.c:13381
+#: config/tc-mips.c:13724
#, c-format
msgid "instruction %s: result is always true"
msgstr "instrucción %s: resultado es siempre verdadero"
#. FIXME: Check if this is one of the itbl macros, since they
#. are added dynamically.
-#: config/tc-mips.c:13666
+#: config/tc-mips.c:14013
#, c-format
msgid "macro %s not implemented yet"
msgstr "macro %s aún no implementada"
-#: config/tc-mips.c:14011 config/tc-mips.c:14075 config/tc-mips.c:14086
-#: config/tc-score.c:2691 config/tc-score.c:2737
-msgid "unrecognized opcode"
-msgstr "no reconocido código operacional"
-
-#: config/tc-mips.c:14199
+#: config/tc-mips.c:14546
msgid "extended operand requested but not required"
msgstr "se solicitó un operando extendido pero se necesita"
-#: config/tc-mips.c:14208
+#: config/tc-mips.c:14555
msgid "operand value out of range for instruction"
-msgstr "el valor de operando está fuera de límite para la instrucción"
+msgstr "el valor de operando está fuera de rango para la instrucción"
-#: config/tc-mips.c:14307
+#: config/tc-mips.c:14654
#, c-format
msgid "relocation %s isn't supported by the current ABI"
msgstr "la ABI actual no admite la reubicación %s"
-#: config/tc-mips.c:14363
+#: config/tc-mips.c:14711
msgid "unclosed '('"
msgstr "no cerrado '('"
-#: config/tc-mips.c:14429
+#: config/tc-mips.c:14773
#, c-format
msgid "a different %s was already specified, is now %s"
msgstr "un %s diferente fue ya especificado, ahora es %s"
-#: config/tc-mips.c:14596
+#: config/tc-mips.c:14940
msgid "-mmicromips cannot be used with -mips16"
msgstr "-mmicromips no se puede usar con -mips16"
-#: config/tc-mips.c:14611
+#: config/tc-mips.c:14955
msgid "-mips16 cannot be used with -micromips"
msgstr "-mips16 no se puede usar con -micromips"
-#: config/tc-mips.c:14762 config/tc-mips.c:14820
+#: config/tc-mips.c:15124 config/tc-mips.c:15182
msgid "no compiled in support for 64 bit object file format"
msgstr "no compiló el soporte para el formato de fichero objeto de 64 bit"
-#: config/tc-mips.c:14827
+#: config/tc-mips.c:15189
#, c-format
msgid "invalid abi -mabi=%s"
msgstr "interruptor abi -mabi=%s inválido"
-#: config/tc-mips.c:14867
+#: config/tc-mips.c:15229
#, c-format
msgid "invalid NaN setting -mnan=%s"
msgstr "invalida opciones NaN -mnan=%s"
-#: config/tc-mips.c:14901
+#: config/tc-mips.c:15263
msgid "-G not supported in this configuration"
msgstr "-G no se admite en esta configuración"
-#: config/tc-mips.c:14927
+#: config/tc-mips.c:15289
#, c-format
msgid "-%s conflicts with the other architecture options, which imply -%s"
msgstr "-%s tiene conflictos con las otras casillas de arquitectura, las cuales implican -%s"
-#: config/tc-mips.c:14943
+#: config/tc-mips.c:15302
+#, c-format
+msgid "gas doesn't understand your configure target %s"
+msgstr ""
+
+#: config/tc-mips.c:15307
#, c-format
msgid "-march=%s is not compatible with the selected ABI"
msgstr "-march=%s no es compatible con la ABI seleccionada"
-#: config/tc-mips.c:15409 config/tc-mips.c:15800 config/tc-mips.c:18637
+#: config/tc-mips.c:15802 config/tc-mips.c:16192 config/tc-mips.c:19043
msgid "branch to a symbol in another ISA mode"
msgstr "ramificación a un símbolo dentro de otro modo ISA"
-#: config/tc-mips.c:15416 config/tc-mips.c:15557 config/tc-mips.c:15810
+#: config/tc-mips.c:15809 config/tc-mips.c:15949 config/tc-mips.c:16202
#, c-format
msgid "cannot encode misaligned addend in the relocatable field (0x%lx)"
msgstr ""
-#: config/tc-mips.c:15453
+#: config/tc-mips.c:15846
msgid "PC-relative reference to a different section"
msgstr "Referencia relativa al PC para una sección diferente"
-#: config/tc-mips.c:15525 config/tc-riscv.c:1960
+#: config/tc-mips.c:15918 config/tc-riscv.c:4627
msgid "TLS relocation against a constant"
msgstr "TLS reubicado contra una constante"
-#: config/tc-mips.c:15545
+#: config/tc-mips.c:15938
msgid "jump to a symbol in another ISA mode"
msgstr "omite a un símbolo dentro de otro modo ISA"
-#: config/tc-mips.c:15548
+#: config/tc-mips.c:15941
msgid "JALX to a symbol in the same ISA mode"
msgstr "JALX para un símbolo dentro del mismo modo ISA"
-#: config/tc-mips.c:15633
+#: config/tc-mips.c:16024
msgid "unsupported constant in relocation"
msgstr "constante no admitida en reubicación"
-#: config/tc-mips.c:15705
+#: config/tc-mips.c:16097
#, c-format
msgid "PC-relative access using misaligned symbol (%lx)"
msgstr ""
-#: config/tc-mips.c:15709
+#: config/tc-mips.c:16101
#, c-format
msgid "PC-relative access using misaligned offset (%lx)"
msgstr ""
-#: config/tc-mips.c:15722 config/tc-mips.c:15741
+#: config/tc-mips.c:16114 config/tc-mips.c:16133
msgid "PC-relative access out of range"
-msgstr "PC-relativo de acceso fuera de límite"
+msgstr "PC-relativo de acceso fuera de rango"
-#: config/tc-mips.c:15728
+#: config/tc-mips.c:16120
#, c-format
msgid "PC-relative access to misaligned address (%lx)"
msgstr "Acceso PC-relativo para direcciones mal alineada (%lx)"
-#: config/tc-mips.c:15895
+#: config/tc-mips.c:16289
#, c-format
msgid "alignment too large, %d assumed"
msgstr "alineación demasiado grande, %d asumido"
-#: config/tc-mips.c:15898
+#: config/tc-mips.c:16292
msgid "alignment negative, 0 assumed"
msgstr "alineación negativa, 0 asimido"
-#: config/tc-mips.c:16140
+#: config/tc-mips.c:16524
#, c-format
msgid "%s: no such section"
msgstr "%s: no existe tal sección"
-#: config/tc-mips.c:16181
+#: config/tc-mips.c:16580
#, c-format
msgid ".option pic%d not supported"
msgstr "No se admite .option pic%d"
-#: config/tc-mips.c:16183
+#: config/tc-mips.c:16582
#, c-format
msgid ".option pic%d not supported in VxWorks PIC mode"
msgstr ".option pic%d no admitido dentro de modo PIC VxWorks"
-#: config/tc-mips.c:16195 config/tc-mips.c:16532
+#: config/tc-mips.c:16594 config/tc-mips.c:16934
msgid "-G may not be used with SVR4 PIC code"
msgstr "-G no se puede utilizar con código PIC de SVR4"
-#: config/tc-mips.c:16201
+#: config/tc-mips.c:16600
#, c-format
msgid "unrecognized option \"%s\""
msgstr "opción no reconocida «%s»"
-#: config/tc-mips.c:16307
+#: config/tc-mips.c:16706
#, c-format
msgid "unknown architecture %s"
msgstr "desconoce arquitectura %s"
-#: config/tc-mips.c:16321 config/tc-mips.c:16483
+#: config/tc-mips.c:16721 config/tc-mips.c:16885
#, c-format
msgid "unknown ISA level %s"
msgstr "desconoce nivel %s ISA"
-#: config/tc-mips.c:16330
+#: config/tc-mips.c:16731
#, c-format
msgid "unknown ISA or architecture %s"
msgstr "desconoce ISA o arquitectura %s"
-#: config/tc-mips.c:16389
+#: config/tc-mips.c:16790
msgid "`noreorder' must be set before `nomacro'"
msgstr "se debe establecer `noreorder' antes de `nomacro'"
-#: config/tc-mips.c:16418
+#: config/tc-mips.c:16820
msgid ".set pop with no .set push"
msgstr ".set pop sin .set push"
-#: config/tc-mips.c:16437
+#: config/tc-mips.c:16839
#, c-format
msgid "tried to set unrecognized symbol: %s\n"
msgstr "intentaba establecer un símbolo no reconocido: %s\n"
-#: config/tc-mips.c:16510
+#: config/tc-mips.c:16912
#, c-format
msgid ".module used with unrecognized symbol: %s\n"
msgstr ".module utilizado con símbolo no reconocido: %s\n"
-#: config/tc-mips.c:16516
+#: config/tc-mips.c:16918
msgid ".module is not permitted after generating code"
msgstr ".module no está permitido tras generar código"
-#: config/tc-mips.c:16576 config/tc-mips.c:16655 config/tc-mips.c:16759
-#: config/tc-mips.c:16789 config/tc-mips.c:16838
+#: config/tc-mips.c:16978 config/tc-mips.c:17057 config/tc-mips.c:17161
+#: config/tc-mips.c:17191 config/tc-mips.c:17240
#, c-format
msgid "%s not supported in MIPS16 mode"
msgstr "%s no admitido dentro del modo MIPS16"
-#: config/tc-mips.c:16583
+#: config/tc-mips.c:16985
msgid ".cpload not in noreorder section"
msgstr ".cpload no está en la sección noreorder"
-#: config/tc-mips.c:16664 config/tc-mips.c:16683
+#: config/tc-mips.c:17066 config/tc-mips.c:17085
msgid "missing argument separator ',' for .cpsetup"
msgstr "ausente el separador de argumentos ',' para .cpsetup"
-#: config/tc-mips.c:16881
+#: config/tc-mips.c:17283 config/tc-riscv.c:5027
#, c-format
msgid "unsupported use of %s"
msgstr "no admitió utilización de %s"
-#: config/tc-mips.c:16972
+#: config/tc-mips.c:17374
msgid "unsupported use of .gpword"
msgstr "no admite utilización de .gpword"
-#: config/tc-mips.c:17010
+#: config/tc-mips.c:17412
msgid "unsupported use of .gpdword"
msgstr "no admite la utilización de .gpdword"
-#: config/tc-mips.c:17042
+#: config/tc-mips.c:17444
msgid "unsupported use of .ehword"
msgstr "no admitió utilización de .ehword"
-#: config/tc-mips.c:17129
+#: config/tc-mips.c:17531
msgid "bad .nan directive"
-msgstr "directiva .nan equivocada"
+msgstr "directiva .nan incorrecta"
-#: config/tc-mips.c:17178
+#: config/tc-mips.c:17580
#, c-format
msgid "ignoring attempt to redefine symbol %s"
msgstr "se ignora el intento de redefinir el símbolo %s"
-#: config/tc-mips.c:17193 ecoff.c:3372
+#: config/tc-mips.c:17595 ecoff.c:3358
msgid "bad .weakext directive"
-msgstr "directiva .weakext equivocada"
+msgstr "directiva .weakext incorrecta"
-#: config/tc-mips.c:18162 config/tc-mips.c:18439
+#: config/tc-mips.c:18568 config/tc-mips.c:18845
msgid "relaxed out-of-range branch into a jump"
-msgstr "ramificación relajada fuera de límite dentro de omisión"
+msgstr "ramificación relajada fuera de rango dentro de omisión"
-#: config/tc-mips.c:18661
+#: config/tc-mips.c:19068
msgid "extended instruction in a branch delay slot"
msgstr "instrucción extendida en una rama de ranura de retardo"
-#: config/tc-mips.c:18775 config/tc-xtensa.c:1656 config/tc-xtensa.c:1934
+#: config/tc-mips.c:19182 config/tc-xtensa.c:1690 config/tc-xtensa.c:1968
msgid "unsupported relocation"
msgstr "no se admite la reubicación"
-#: config/tc-mips.c:19271 config/tc-score.c:5640
+#: config/tc-mips.c:19690 config/tc-score.c:5624
msgid "expected simple number"
msgstr "se esperaba un número simple"
-#: config/tc-mips.c:19299 config/tc-score.c:5667
+#: config/tc-mips.c:19718 config/tc-score.c:5651
msgid "invalid number"
msgstr "número inválido"
-#: config/tc-mips.c:19376 ecoff.c:2999
+#: config/tc-mips.c:19795 ecoff.c:2987
msgid ".end directive without a preceding .ent directive"
msgstr "directiva .end sin una directiva .ent precedente"
-#: config/tc-mips.c:19385
+#: config/tc-mips.c:19804
msgid ".end symbol does not match .ent symbol"
msgstr ".end simbólico no coincide con el símbolo .ent"
-#: config/tc-mips.c:19462
+#: config/tc-mips.c:19881
msgid ".ent or .aent not in text section"
msgstr ".ent o .aent no interno sección textual"
-#: config/tc-mips.c:19465 config/tc-score.c:5706
+#: config/tc-mips.c:19884 config/tc-score.c:5683
msgid "missing .end"
msgstr ".end ausente"
-#: config/tc-mips.c:19548
+#: config/tc-mips.c:19967
msgid ".mask/.fmask outside of .ent"
msgstr ".mask/.fmask fuera de .ent"
-#: config/tc-mips.c:19555
+#: config/tc-mips.c:19974
msgid "bad .mask/.fmask directive"
-msgstr "directiva .mask/.fmask equivocada"
+msgstr "directiva .mask/.fmask incorrecta"
-#: config/tc-mips.c:19848
+#: config/tc-mips.c:20278
#, c-format
msgid "bad value (%s) for %s"
-msgstr "valor (%s) equivocado para %s"
+msgstr "valor (%s) incorrecto para %s"
-#: config/tc-mips.c:19912
+#: config/tc-mips.c:20342
#, c-format
msgid ""
"MIPS options:\n"
@@ -12251,7 +14196,7 @@ msgstr ""
"-G NUM\t\t\tpermite la referencia a objetos hasta NUM bytes\n"
"\t\t\timplícitamente con el registro gp [por defecto 8]\n"
-#: config/tc-mips.c:19919
+#: config/tc-mips.c:20349
#, c-format
msgid ""
"-mips1\t\t\tgenerate MIPS ISA I instructions\n"
@@ -12289,7 +14234,7 @@ msgstr ""
"\n"
"-march=CPU/-mtune=CPU\tgenera código/calendarización para el CPU, donde CPU es uno de:\n"
-#: config/tc-mips.c:19944
+#: config/tc-mips.c:20374
#, c-format
msgid ""
"-mCPU\t\t\tequivalent to -march=CPU -mtune=CPU. Deprecated.\n"
@@ -12300,7 +14245,7 @@ msgstr ""
"-no-mCPU\t\tno genera código específico para el CPU.\n"
"\t\t\tPara -mCPU y -no-mCPU, CPU debe ser uno de:\n"
-#: config/tc-mips.c:19957
+#: config/tc-mips.c:20387
#, c-format
msgid ""
"-mips16\t\t\tgenerate mips16 instructions\n"
@@ -12309,7 +14254,19 @@ msgstr ""
"-mips16\t\t\tgenera instrucciones mips16\n"
"-no-mips16\t\tno genera instrucciones mips16\n"
-#: config/tc-mips.c:19960
+#: config/tc-mips.c:20390
+#, fuzzy, c-format
+#| msgid ""
+#| "-mips16\t\t\tgenerate mips16 instructions\n"
+#| "-no-mips16\t\tdo not generate mips16 instructions\n"
+msgid ""
+"-mmips16e2\t\tgenerate MIPS16e2 instructions\n"
+"-mno-mips16e2\t\tdo not generate MIPS16e2 instructions\n"
+msgstr ""
+"-mips16\t\t\tgenera instrucciones mips16\n"
+"-no-mips16\t\tno genera instrucciones mips16\n"
+
+#: config/tc-mips.c:20393
#, c-format
msgid ""
"-mmicromips\t\tgenerate microMIPS instructions\n"
@@ -12318,7 +14275,7 @@ msgstr ""
"-mmicromips\t\tgenera instrucciones microMIPS\n"
"-mno-micromips\t\tno genera instrucciones microMIPS\n"
-#: config/tc-mips.c:19963
+#: config/tc-mips.c:20396
#, c-format
msgid ""
"-msmartmips\t\tgenerate smartmips instructions\n"
@@ -12327,7 +14284,7 @@ msgstr ""
"-msmartmips\t\tgenera instrucciones smartmips\n"
"-no-smartmips\t\tno genera instrucciones smartmips\n"
-#: config/tc-mips.c:19966
+#: config/tc-mips.c:20399
#, c-format
msgid ""
"-mdsp\t\t\tgenerate DSP instructions\n"
@@ -12336,7 +14293,7 @@ msgstr ""
"-mdsp\t\t\tgenera instrucciones DSP\n"
"-mno-dsp\t\tno genera instrucciones DSP\n"
-#: config/tc-mips.c:19969
+#: config/tc-mips.c:20402
#, c-format
msgid ""
"-mdspr2\t\t\tgenerate DSP R2 instructions\n"
@@ -12345,7 +14302,7 @@ msgstr ""
"-mdspr2\t\t\tgenera instrucciones DSP R2\n"
"-mno-dspr2\t\tno genera instrucciones DSP R2\n"
-#: config/tc-mips.c:19972
+#: config/tc-mips.c:20405
#, c-format
msgid ""
"-mdspr3\t\t\tgenerate DSP R3 instructions\n"
@@ -12354,7 +14311,7 @@ msgstr ""
"-mdspr3\t\t\t genera instrucciones DSP R3\n"
"-mno-dspr3\t\t no genera instrucciones DSP R3\n"
-#: config/tc-mips.c:19975
+#: config/tc-mips.c:20408
#, c-format
msgid ""
"-mmt\t\t\tgenerate MT instructions\n"
@@ -12363,7 +14320,7 @@ msgstr ""
"-mmt\t\t\tgenera instrucciones MT\n"
"-mno-mt\t\tno genera instrucciones MT\n"
-#: config/tc-mips.c:19978
+#: config/tc-mips.c:20411
#, c-format
msgid ""
"-mmcu\t\t\tgenerate MCU instructions\n"
@@ -12372,7 +14329,7 @@ msgstr ""
"-mmcu\t\t\tgenera instrucciones MCU\n"
"-mno-mcu\t\tno genera instrucciones MCU\n"
-#: config/tc-mips.c:19981
+#: config/tc-mips.c:20414
#, c-format
msgid ""
"-mmsa\t\t\tgenerate MSA instructions\n"
@@ -12381,7 +14338,7 @@ msgstr ""
"-mmsa\t\t\tgenera instrucciones MSA\n"
"-mno-msa\t\tno genera instrucciones MSA\n"
-#: config/tc-mips.c:19984
+#: config/tc-mips.c:20417
#, c-format
msgid ""
"-mxpa\t\t\tgenerate eXtended Physical Address (XPA) instructions\n"
@@ -12390,7 +14347,7 @@ msgstr ""
"-mdsp\t\t\tgenera eXtended Physical Address instrucciones (XPA)\n"
"-mno-xpa\t\tno genera instrucciones eXtended Physical Address\n"
-#: config/tc-mips.c:19987
+#: config/tc-mips.c:20420
#, c-format
msgid ""
"-mvirt\t\t\tgenerate Virtualization instructions\n"
@@ -12399,7 +14356,79 @@ msgstr ""
"-mvirt\t\t\tgenera instrucciones Virtualization\n"
"-mno-virt\t\tno genera instrucciones Virtualization\n"
-#: config/tc-mips.c:19990
+#: config/tc-mips.c:20423
+#, fuzzy, c-format
+#| msgid ""
+#| "-mmcu\t\t\tgenerate MCU instructions\n"
+#| "-mno-mcu\t\tdo not generate MCU instructions\n"
+msgid ""
+"-mcrc\t\t\tgenerate CRC instructions\n"
+"-mno-crc\t\tdo not generate CRC instructions\n"
+msgstr ""
+"-mmcu\t\t\tgenera instrucciones MCU\n"
+"-mno-mcu\t\tno genera instrucciones MCU\n"
+
+#: config/tc-mips.c:20426
+#, fuzzy, c-format
+#| msgid ""
+#| "-mvirt\t\t\tgenerate Virtualization instructions\n"
+#| "-mno-virt\t\tdo not generate Virtualization instructions\n"
+msgid ""
+"-mginv\t\t\tgenerate Global INValidate (GINV) instructions\n"
+"-mno-ginv\t\tdo not generate Global INValidate instructions\n"
+msgstr ""
+"-mvirt\t\t\tgenera instrucciones Virtualization\n"
+"-mno-virt\t\tno genera instrucciones Virtualization\n"
+
+#: config/tc-mips.c:20429
+#, fuzzy, c-format
+#| msgid ""
+#| "-msmartmips\t\tgenerate smartmips instructions\n"
+#| "-mno-smartmips\t\tdo not generate smartmips instructions\n"
+msgid ""
+"-mloongson-mmi\t\tgenerate Loongson MultiMedia extensions Instructions (MMI) instructions\n"
+"-mno-loongson-mmi\tdo not generate Loongson MultiMedia extensions Instructions\n"
+msgstr ""
+"-msmartmips\t\tgenera instrucciones smartmips\n"
+"-no-smartmips\t\tno genera instrucciones smartmips\n"
+
+#: config/tc-mips.c:20432
+#, fuzzy, c-format
+#| msgid ""
+#| "-mxpa\t\t\tgenerate eXtended Physical Address (XPA) instructions\n"
+#| "-mno-xpa\t\tdo not generate eXtended Physical Address (XPA) instructions\n"
+msgid ""
+"-mloongson-cam\t\tgenerate Loongson Content Address Memory (CAM) instructions\n"
+"-mno-loongson-cam\tdo not generate Loongson Content Address Memory Instructions\n"
+msgstr ""
+"-mdsp\t\t\tgenera eXtended Physical Address instrucciones (XPA)\n"
+"-mno-xpa\t\tno genera instrucciones eXtended Physical Address\n"
+
+#: config/tc-mips.c:20435
+#, fuzzy, c-format
+#| msgid ""
+#| "-mmt\t\t\tgenerate MT instructions\n"
+#| "-mno-mt\t\t\tdo not generate MT instructions\n"
+msgid ""
+"-mloongson-ext\t\tgenerate Loongson EXTensions (EXT) instructions\n"
+"-mno-loongson-ext\tdo not generate Loongson EXTensions Instructions\n"
+msgstr ""
+"-mmt\t\t\tgenera instrucciones MT\n"
+"-mno-mt\t\tno genera instrucciones MT\n"
+
+#: config/tc-mips.c:20438
+#, fuzzy, c-format
+#| msgid ""
+#| "-mdspr2\t\t\tgenerate DSP R2 instructions\n"
+#| "-mno-dspr2\t\tdo not generate DSP R2 instructions\n"
+msgid ""
+"-mloongson-ext2\t\tgenerate Loongson EXTensions R2 (EXT2) instructions\n"
+"-mno-loongson-ext2\tdo not generate Loongson EXTensions R2 Instructions\n"
+msgstr ""
+"-mdspr2\t\t\tgenera instrucciones DSP R2\n"
+"-mno-dspr2\t\tno genera instrucciones DSP R2\n"
+
+#: config/tc-mips.c:20441
#, c-format
msgid ""
"-minsn32\t\tonly generate 32-bit microMIPS instructions\n"
@@ -12408,20 +14437,52 @@ msgstr ""
"-minsn32\t\t solo genera instrucciones microMIPS de 32-bit\n"
"-mno-insn32\t\t genera todas las instrucciones microMIPS\n"
-#: config/tc-mips.c:19993
+#: config/tc-mips.c:20445
+#, c-format
+msgid ""
+"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata, default\n"
+"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata\n"
+msgstr ""
+
+#: config/tc-mips.c:20449
#, c-format
msgid ""
+"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata\n"
+"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata, default\n"
+msgstr ""
+
+#: config/tc-mips.c:20453
+#, fuzzy, c-format
+#| msgid ""
+#| "-mfix-loongson2f-jump\twork around Loongson2F JUMP instructions\n"
+#| "-mfix-loongson2f-nop\twork around Loongson2F NOP errata\n"
+#| "-mfix-vr4120\t\twork around certain VR4120 errata\n"
+#| "-mfix-vr4130\t\twork around VR4130 mflo/mfhi errata\n"
+#| "-mfix-24k\t\tinsert a nop after ERET and DERET instructions\n"
+#| "-mfix-cn63xxp1\t\twork around CN63XXP1 PREF errata\n"
+#| "-mgp32\t\t\tuse 32-bit GPRs, regardless of the chosen ISA\n"
+#| "-mfp32\t\t\tuse 32-bit FPRs, regardless of the chosen ISA\n"
+#| "-msym32\t\t\tassume all symbols have 32-bit values\n"
+#| "-O0\t\t\tremove unneeded NOPs, do not swap branches\n"
+#| "-O\t\t\tremove unneeded NOPs and swap branches\n"
+#| "--trap, --no-break\ttrap exception on div by 0 and mult overflow\n"
+#| "--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
+msgid ""
"-mfix-loongson2f-jump\twork around Loongson2F JUMP instructions\n"
"-mfix-loongson2f-nop\twork around Loongson2F NOP errata\n"
+"-mfix-loongson3-llsc\twork around Loongson3 LL/SC errata\n"
+"-mno-fix-loongson3-llsc\tdisable work around Loongson3 LL/SC errata\n"
"-mfix-vr4120\t\twork around certain VR4120 errata\n"
"-mfix-vr4130\t\twork around VR4130 mflo/mfhi errata\n"
"-mfix-24k\t\tinsert a nop after ERET and DERET instructions\n"
"-mfix-cn63xxp1\t\twork around CN63XXP1 PREF errata\n"
+"-mfix-r5900\t\twork around R5900 short loop errata\n"
"-mgp32\t\t\tuse 32-bit GPRs, regardless of the chosen ISA\n"
"-mfp32\t\t\tuse 32-bit FPRs, regardless of the chosen ISA\n"
"-msym32\t\t\tassume all symbols have 32-bit values\n"
-"-O0\t\t\tremove unneeded NOPs, do not swap branches\n"
-"-O\t\t\tremove unneeded NOPs and swap branches\n"
+"-O0\t\t\tdo not remove unneeded NOPs, do not swap branches\n"
+"-O, -O1\t\t\tremove unneeded NOPs, do not swap branches\n"
+"-O2\t\t\tremove unneeded NOPs and swap branches\n"
"--trap, --no-break\ttrap exception on div by 0 and mult overflow\n"
"--break, --no-trap\tbreak exception on div by 0 and mult overflow\n"
msgstr ""
@@ -12439,7 +14500,7 @@ msgstr ""
"--trap, --no-break\texcepción trap en div por 0 y desbordamiento de mult\n"
"--break, --no-trap\texcepción break en div por 0 y desbordamiento de mult\n"
-#: config/tc-mips.c:20007
+#: config/tc-mips.c:20471
#, c-format
msgid ""
"-mhard-float\t\tallow floating-point instructions\n"
@@ -12454,7 +14515,7 @@ msgid ""
msgstr ""
"-mhard-float\t\t permite instrucciones de coma flotante\n"
"-msoft-float\t\t no permite instrucciones de coma flotante\n"
-"-msingle-float\t\t sólo permite operaciones de coma flotante de 32 bits\n"
+"-msingle-float\t\t solo permite operaciones de coma flotante de 32 bits\n"
"-mdouble-float\t\t permite operaciones de coma flotante de 32 y 64 bits\n"
"--[no-]construct-floats [des]activa valores de coma flotante a construir\n"
"--[no-]relax-branch\t [no]permite ramificación fuera del límite para ser relajadas\n"
@@ -12462,7 +14523,7 @@ msgstr ""
"-mno-ignore-branch-isa\t rechaza ramas inválidas requiriendo un intercambio de modo ISA\n"
"-mnan=ENCODING\t\t selecciona un convenio de codificación IEEE 754 NaN, incluso de:\n"
-#: config/tc-mips.c:20025
+#: config/tc-mips.c:20489
#, c-format
msgid ""
"-KPIC, -call_shared\tgenerate SVR4 position independent code\n"
@@ -12485,27 +14546,38 @@ msgstr ""
" código que no es compartido\n"
"-mabi=ABI\t\tcrea un fichero objeto que cumple con el ABI para:\n"
-#: config/tc-mips.c:20046
-#, c-format
-msgid ""
-"-32\t\t\tcreate o32 ABI object file (default)\n"
-"-n32\t\t\tcreate n32 ABI object file\n"
-"-64\t\t\tcreate 64 ABI object file\n"
+#: config/tc-mips.c:20510
+#, fuzzy, c-format
+#| msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
+msgid "-32\t\t\tcreate o32 ABI object file%s\n"
+msgstr "--fdpic\t\t\tgenera un fichero objeto FDPIC\n"
+
+#: config/tc-mips.c:20512 config/tc-mips.c:20515 config/tc-mips.c:20518
+msgid " (default)"
msgstr ""
-"-32\t\t\tcrea ficheros objeto ABI o32 (por defecto)\n"
-"-n32\t\t\tcrea ficheros objeto ABI o32\n"
-"-64\t\t\tcrea ficheros objeto ABI 64\n"
-#: config/tc-mips.c:20129
+#: config/tc-mips.c:20513
+#, fuzzy, c-format
+#| msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
+msgid "-n32\t\t\tcreate n32 ABI object file%s\n"
+msgstr "--fdpic\t\t\tgenera un fichero objeto FDPIC\n"
+
+#: config/tc-mips.c:20516
+#, fuzzy, c-format
+#| msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
+msgid "-64\t\t\tcreate 64 ABI object file%s\n"
+msgstr "--fdpic\t\t\tgenera un fichero objeto FDPIC\n"
+
+#: config/tc-mips.c:20598
msgid "missing .end at end of assembly"
msgstr ".end ausente al final del ensamblado"
-#: config/tc-mmix.c:702
+#: config/tc-mmix.c:694
#, c-format
msgid " MMIX-specific command line options:\n"
msgstr " Opciones de la línea de mandatos específicas de MMIX:\n"
-#: config/tc-mmix.c:703
+#: config/tc-mmix.c:695
#, c-format
msgid ""
" -fixed-special-register-names\n"
@@ -12514,22 +14586,22 @@ msgstr ""
" -fixed-special-register-names\n"
" Sólo permite los nombres de registros especiales originales.\n"
-#: config/tc-mmix.c:706
+#: config/tc-mmix.c:698
#, c-format
msgid " -globalize-symbols Make all symbols global.\n"
msgstr " -globalize-symbols Crea todos los símbolos globales.\n"
-#: config/tc-mmix.c:708
+#: config/tc-mmix.c:700
#, c-format
msgid " -gnu-syntax Turn off mmixal syntax compatibility.\n"
msgstr " -gnu-syntax Desactiva la compatibilidad sintáctica mmixal.\n"
-#: config/tc-mmix.c:710
+#: config/tc-mmix.c:702
#, c-format
msgid " -relax Create linker relaxable code.\n"
msgstr " -relax Crea código relajable para el enlazador.\n"
-#: config/tc-mmix.c:712
+#: config/tc-mmix.c:704
#, c-format
msgid ""
" -no-predefined-syms Do not provide mmixal built-in constants.\n"
@@ -12538,7 +14610,7 @@ msgstr ""
" -no-predefined-syms No provee las constantes internas de mmixal.\n"
" Implica -fixed-special-register-names.\n"
-#: config/tc-mmix.c:715
+#: config/tc-mmix.c:707
#, c-format
msgid ""
" -no-expand Do not expand GETA, branches, PUSHJ or JUMP\n"
@@ -12547,17 +14619,17 @@ msgstr ""
" -no-expand No expande GETA, ramificaciones, PUSHJ ó JUMP\n"
" a instrucciones múltiples.\n"
-#: config/tc-mmix.c:718
+#: config/tc-mmix.c:710
#, c-format
msgid " -no-merge-gregs Do not merge GREG definitions with nearby values.\n"
msgstr " -no-merge-gregs No mezcla las definiciones GREG con los valores cercanos.\n"
-#: config/tc-mmix.c:720
+#: config/tc-mmix.c:712
#, c-format
msgid " -linker-allocated-gregs If there's no suitable GREG definition for the operands of an instruction, let the linker resolve.\n"
msgstr " -linker-allocated-gregs Si no hay una definición GREG adecuada para los operandos de una instrucción, dejar resolver al enlazador.\n"
-#: config/tc-mmix.c:723
+#: config/tc-mmix.c:715
#, c-format
msgid ""
" -x Do not warn when an operand to GETA, a branch,\n"
@@ -12570,190 +14642,186 @@ msgstr ""
" del límite. El enlazador atrapará cualquier error.\n"
" Implica -linker-allocated-gregs."
-#: config/tc-mmix.c:849
+#: config/tc-mmix.c:841
#, c-format
msgid "unknown opcode: `%s'"
msgstr "código operacional desconocido: «%s»"
-#: config/tc-mmix.c:971 config/tc-mmix.c:986
+#: config/tc-mmix.c:963 config/tc-mmix.c:978
msgid "specified location wasn't TETRA-aligned"
msgstr "la ubicación especificada no estaba TETRA alineada"
-#: config/tc-mmix.c:973 config/tc-mmix.c:988 config/tc-mmix.c:4214
-#: config/tc-mmix.c:4230
+#: config/tc-mmix.c:965 config/tc-mmix.c:980 config/tc-mmix.c:4215
+#: config/tc-mmix.c:4231
msgid "unaligned data at an absolute location is not supported"
msgstr "no se admiten los datos sin alinear en una ubicación absoluta"
-#: config/tc-mmix.c:1098
+#: config/tc-mmix.c:1090
#, c-format
msgid "invalid operand to opcode %s: `%s'"
msgstr "operando inválido para el código operacional %s: «%s»"
-#: config/tc-mmix.c:1120 config/tc-mmix.c:1147 config/tc-mmix.c:1180
-#: config/tc-mmix.c:1188 config/tc-mmix.c:1205 config/tc-mmix.c:1233
-#: config/tc-mmix.c:1254 config/tc-mmix.c:1279 config/tc-mmix.c:1327
-#: config/tc-mmix.c:1428 config/tc-mmix.c:1453 config/tc-mmix.c:1485
-#: config/tc-mmix.c:1517 config/tc-mmix.c:1547 config/tc-mmix.c:1600
-#: config/tc-mmix.c:1617 config/tc-mmix.c:1644 config/tc-mmix.c:1672
-#: config/tc-mmix.c:1702 config/tc-mmix.c:1728 config/tc-mmix.c:1744
-#: config/tc-mmix.c:1770 config/tc-mmix.c:1786 config/tc-mmix.c:1802
-#: config/tc-mmix.c:1883
+#: config/tc-mmix.c:1112 config/tc-mmix.c:1139 config/tc-mmix.c:1172
+#: config/tc-mmix.c:1180 config/tc-mmix.c:1197 config/tc-mmix.c:1225
+#: config/tc-mmix.c:1246 config/tc-mmix.c:1271 config/tc-mmix.c:1319
+#: config/tc-mmix.c:1426 config/tc-mmix.c:1451 config/tc-mmix.c:1483
+#: config/tc-mmix.c:1515 config/tc-mmix.c:1545 config/tc-mmix.c:1598
+#: config/tc-mmix.c:1615 config/tc-mmix.c:1642 config/tc-mmix.c:1670
+#: config/tc-mmix.c:1700 config/tc-mmix.c:1726 config/tc-mmix.c:1742
+#: config/tc-mmix.c:1768 config/tc-mmix.c:1784 config/tc-mmix.c:1800
+#: config/tc-mmix.c:1881
#, c-format
msgid "invalid operands to opcode %s: `%s'"
msgstr "operandos inválidos para el código operacional %s: «%s»"
-#: config/tc-mmix.c:1983
+#: config/tc-mmix.c:1981
msgid "internal: mmix_prefix_name but empty prefix"
msgstr "interno: hay un mmix_prefix_name pero es un prefijo vacío"
-#: config/tc-mmix.c:2046
+#: config/tc-mmix.c:2044
#, c-format
msgid "too many GREG registers allocated (max %d)"
msgstr "se asignaron demasiados registros GREG (máximo %d)"
-#: config/tc-mmix.c:2106
+#: config/tc-mmix.c:2104
msgid "BSPEC already active. Nesting is not supported."
msgstr "BSPEC ya está activo. No se admite el anidamiento."
-#: config/tc-mmix.c:2115
+#: config/tc-mmix.c:2113
msgid "invalid BSPEC expression"
msgstr "expresión BSPEC no válida"
-#: config/tc-mmix.c:2131
+#: config/tc-mmix.c:2129
#, c-format
msgid "can't create section %s"
msgstr "no se puede crear la sección %s"
-#: config/tc-mmix.c:2136
+#: config/tc-mmix.c:2133
#, c-format
msgid "can't set section flags for section %s"
msgstr "no se pueden establecer las casillas para la sección %s"
-#: config/tc-mmix.c:2157
+#: config/tc-mmix.c:2154
msgid "ESPEC without preceding BSPEC"
msgstr "ESPEC sin un BSPEC precedente"
-#: config/tc-mmix.c:2186
+#: config/tc-mmix.c:2183
msgid "missing local expression"
msgstr "ausentea expresión local"
-#: config/tc-mmix.c:2396
+#: config/tc-mmix.c:2400
msgid "operand out of range, instruction expanded"
-msgstr "operando está fuera de límite, se expande la instrucción"
+msgstr "operando está fuera de rango, se expande la instrucción"
#. The BFD_RELOC_MMIX_LOCAL-specific message is supposed to be
#. user-friendly, though a little bit non-substantial.
-#: config/tc-mmix.c:2647
+#: config/tc-mmix.c:2651
msgid "directive LOCAL must be placed in code or data"
msgstr "la directiva LOCAL debe estar colocada en el código o en los datos"
-#: config/tc-mmix.c:2648
+#: config/tc-mmix.c:2652
msgid "internal confusion: relocation in a section without contents"
msgstr "confusión interna: reubicación en una sección sin contenido"
-#: config/tc-mmix.c:2762
+#: config/tc-mmix.c:2766
msgid "internal: BFD_RELOC_MMIX_BASE_PLUS_OFFSET not resolved to section"
msgstr "interno: BFD_RELOC_MMIX_BASE_PLUS_OFFSET no resuelve a la sección"
-#: config/tc-mmix.c:2810
+#: config/tc-mmix.c:2814
msgid "no suitable GREG definition for operands"
msgstr "no hay una definición GREG adecuada para los operandos"
-#: config/tc-mmix.c:2869
+#: config/tc-mmix.c:2873
msgid "operands were not reducible at assembly-time"
msgstr "los operandos no son reducibles en el momento del ensamblado"
-#: config/tc-mmix.c:2896
+#: config/tc-mmix.c:2899
#, c-format
msgid "cannot generate relocation type for symbol %s, code %s"
msgstr "incapaz de generar el tipo reubicado para el símbolo %s, código %s"
-#: config/tc-mmix.c:2916
+#: config/tc-mmix.c:2919
#, c-format
msgid "internal: unhandled label %s"
msgstr "interno: etiqueta %s sin manipular"
-#: config/tc-mmix.c:2945
+#: config/tc-mmix.c:2948
msgid "[0-9]H labels may not appear alone on a line"
msgstr "las etiquetas [0-9]H no pueden aparecer solas en una línea"
-#: config/tc-mmix.c:2953
+#: config/tc-mmix.c:2956
msgid "[0-9]H labels do not mix with dot-pseudos"
msgstr "las etiquetas [0-9]H no se mezclan con pseudo-puntos"
-#: config/tc-mmix.c:3041
+#: config/tc-mmix.c:3044
msgid "invalid characters in input"
msgstr "caracteres inválidos en la entrada"
-#: config/tc-mmix.c:3147
+#: config/tc-mmix.c:3150
msgid "empty label field for IS"
msgstr "campo de etiqueta vacío para IS"
-#: config/tc-mmix.c:3473
+#: config/tc-mmix.c:3476
#, c-format
msgid "internal: unexpected relax type %d:%d"
msgstr "interno: tipo de relajación inesperado %d:%d"
-#: config/tc-mmix.c:3497
+#: config/tc-mmix.c:3500
msgid "BSPEC without ESPEC."
msgstr "BSPEC sin un ESPEC."
-#: config/tc-mmix.c:3562
+#: config/tc-mmix.c:3565
msgid "LOC to section unknown or indeterminable at first pass"
msgstr ""
-#: config/tc-mmix.c:3734
-msgid "GREG expression too complicated"
-msgstr "GREG como expresión muy complicada"
-
-#: config/tc-mmix.c:3749
+#: config/tc-mmix.c:3751
msgid "internal: GREG expression not resolved to section"
msgstr "interno: la expresión GREG no resuelve a la sección"
-#: config/tc-mmix.c:3798
+#: config/tc-mmix.c:3800
msgid "register section has contents\n"
msgstr "la sección de registros tiene contenido\n"
-#: config/tc-mmix.c:3925
+#: config/tc-mmix.c:3926
msgid "section change from within a BSPEC/ESPEC pair is not supported"
-msgstr "no se admite el cambio seccional desde dentro de una pareja BSPEC/ESPEC"
+msgstr "no se admite el cambio de sección desde dentro de una pareja BSPEC/ESPEC"
-#: config/tc-mmix.c:3946
+#: config/tc-mmix.c:3947
msgid "directive LOC from within a BSPEC/ESPEC pair is not supported"
msgstr "no se admite una directiva LOC desde dentro de una pareja BSPEC/ESPEC"
-#: config/tc-mmix.c:3956
+#: config/tc-mmix.c:3957
msgid "invalid LOC expression"
msgstr "expresión LOC no válida"
-#: config/tc-mmix.c:4001 config/tc-mmix.c:4028
+#: config/tc-mmix.c:4002 config/tc-mmix.c:4029
msgid "LOC expression stepping backwards is not supported"
msgstr "LOC como expresión volviendo pasos no está admitido"
#. We will only get here in rare cases involving #NO_APP,
#. where the unterminated string is not recognized by the
#. preformatting pass.
-#: config/tc-mmix.c:4137 config/tc-mmix.c:4295 config/tc-z80.c:1732
+#: config/tc-mmix.c:4138 config/tc-mmix.c:4296 config/tc-z80.c:3202
msgid "unterminated string"
msgstr "cadena sin terminar"
-#: config/tc-mmix.c:4154
+#: config/tc-mmix.c:4155
msgid "BYTE expression not a pure number"
msgstr "BYTE de expresión no un número puro"
#. Note that mmixal does not allow negative numbers in
#. BYTE sequences, so neither should we.
-#: config/tc-mmix.c:4163
+#: config/tc-mmix.c:4164
msgid "BYTE expression not in the range 0..255"
msgstr "BYTE de expresión no interno al límite 0..255"
-#: config/tc-mmix.c:4212 config/tc-mmix.c:4228
+#: config/tc-mmix.c:4213 config/tc-mmix.c:4229
msgid "data item with alignment larger than location"
msgstr "elemento de datos con una alineamiento más grande que la ubicación"
#. Since integer_constant is local to expr.c, we have to make this a
#. macro. FIXME: Do it cleaner.
-#: config/tc-mmix.h:98
+#: config/tc-mmix.h:92
msgid "`&' serial number operator is not supported"
msgstr "número serial `&' operador no está admitido"
@@ -12766,6 +14834,19 @@ msgstr ""
"Opciones MN10200:\n"
"ninguna aún\n"
+#: config/tc-mn10200.c:890 config/tc-mn10300.c:1253 config/tc-s390.c:1928
+#: config/tc-v850.c:2320
+#, c-format
+msgid "Unrecognized opcode: `%s'"
+msgstr "No reconocido el código operacional: «%s»"
+
+#. xgettext:c-format.
+#: config/tc-mn10200.c:1134 config/tc-mn10300.c:1822 config/tc-ppc.c:4003
+#: config/tc-s390.c:1837 config/tc-v850.c:3036
+#, c-format
+msgid "junk at end of line: `%s'"
+msgstr "basura al final de la línea: «%s»"
+
#: config/tc-mn10300.c:439
#, c-format
msgid ""
@@ -12779,43 +14860,43 @@ msgstr ""
msgid "Invalid opcode/operands"
msgstr "Código operacional/operandos inválidos"
-#: config/tc-mn10300.c:1792
+#: config/tc-mn10300.c:1793
msgid "Invalid register specification."
msgstr "Especificación de registro no válida."
-#: config/tc-mn10300.c:2390
+#: config/tc-mn10300.c:2388
#, c-format
msgid "Bad relocation fixup type (%d)"
msgstr "Tipo de compostura de reubicación inválido (%d)"
-#: config/tc-moxie.c:206 config/tc-moxie.c:225 config/tc-moxie.c:316
-#: config/tc-moxie.c:362
+#: config/tc-moxie.c:204 config/tc-moxie.c:223 config/tc-moxie.c:314
+#: config/tc-moxie.c:360
msgid "expecting comma delimited register operands"
msgstr "se esperan operandos de registro delimitados por comas"
-#: config/tc-moxie.c:252 config/tc-moxie.c:392 config/tc-moxie.c:422
-#: config/tc-moxie.c:497
+#: config/tc-moxie.c:250 config/tc-moxie.c:390 config/tc-moxie.c:420
+#: config/tc-moxie.c:495
msgid "expecting comma delimited operands"
msgstr "se esperan operandos delimitados por comas"
-#: config/tc-moxie.c:320 config/tc-moxie.c:348
+#: config/tc-moxie.c:318 config/tc-moxie.c:346
msgid "expecting indirect register `($rA)'"
msgstr "se espera el registro indirecto `($rA)'"
-#: config/tc-moxie.c:328 config/tc-moxie.c:356 config/tc-moxie.c:447
-#: config/tc-moxie.c:489
+#: config/tc-moxie.c:326 config/tc-moxie.c:354 config/tc-moxie.c:445
+#: config/tc-moxie.c:487
msgid "missing closing parenthesis"
msgstr "ausente paréntesis que cierra"
-#: config/tc-moxie.c:439 config/tc-moxie.c:481
+#: config/tc-moxie.c:437 config/tc-moxie.c:479
msgid "expecting indirect register `($rX)'"
msgstr "se espera el registro indirecto `($rX)'"
-#: config/tc-moxie.c:559 config/tc-pj.c:313
+#: config/tc-moxie.c:557 config/tc-pj.c:313
msgid "Something forgot to clean up\n"
msgstr "Algo se olvidó de limpiar\n"
-#: config/tc-moxie.c:643
+#: config/tc-moxie.c:641
#, c-format
msgid ""
" -EB assemble for a big endian system (default)\n"
@@ -12824,46 +14905,102 @@ msgstr ""
" -EB ensambla para un sistema big endian (por defecto)\n"
" -EL ensambla para un sistema little endian\n"
-#: config/tc-moxie.c:703
+#: config/tc-moxie.c:701
msgid "pcrel too far BFD_RELOC_MOXIE_10"
msgstr "pcrel demasiado lejos de BFD_RELOC_MOXIE_10"
-#: config/tc-msp430.c:519
+#: config/tc-msp430.c:522
msgid ".profiler pseudo requires at least two operands."
msgstr "el pseudo .profiler requiere por lo menos dos operandos."
-#: config/tc-msp430.c:578
+#: config/tc-msp430.c:581
msgid "unknown profiling flag - ignored."
msgstr "opción de análisis de perfil desconocida - se descarta."
-#: config/tc-msp430.c:594
+#: config/tc-msp430.c:597
msgid "ambiguous flags combination - '.profiler' directive ignored."
msgstr "combinación de casillas ambigua - se descarta la directiva '.profiler'."
-#: config/tc-msp430.c:604
+#: config/tc-msp430.c:607
msgid "profiling in absolute section?"
msgstr "¿análisis de perfil en la sección absoluta?"
-#: config/tc-msp430.c:1374
+#: config/tc-msp430.c:1383
#, c-format
msgid "Unrecognised CPU errata name starting here: %s"
msgstr ""
-#: config/tc-msp430.c:1380
+#: config/tc-msp430.c:1389
#, c-format
msgid "Expecting comma after CPU errata name, not: %s"
msgstr "Se esperaba una coma después del nombre errata CPU, no: %s"
-#: config/tc-msp430.c:1390
+#: config/tc-msp430.c:1399
msgid "MCU option requires a name\n"
msgstr "Opción MCU requiereun nombre\n"
-#: config/tc-msp430.c:1428
+#: config/tc-msp430.c:1437
#, c-format
msgid "unrecognised argument to -mcpu option '%s'"
msgstr "no reconocido argumento a opción -mcpu: '%s'"
-#: config/tc-msp430.c:1603
+#: config/tc-msp430.c:1634
+#, fuzzy, c-format
+#| msgid "bad argument to syntax directive."
+msgid "bad arguments \"%s\" and/or \"%s\" in %s directive"
+msgstr "argumento incorrecto para la directiva syntax."
+
+#: config/tc-msp430.c:1646
+#, c-format
+msgid "file was compiled for the 430 ISA but the %s ISA is selected"
+msgstr ""
+
+#: config/tc-msp430.c:1651
+msgid "file was compiled for the 430X ISA but the 430 ISA is selected"
+msgstr ""
+
+#: config/tc-msp430.c:1655
+#, c-format
+msgid "unknown MSPABI build attribute value '%d' for OFBA_MSPABI_Tag_ISA(%d) in .mspabi_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1670
+msgid "file was compiled for the small memory model, but the large memory model is selected"
+msgstr ""
+
+#: config/tc-msp430.c:1675
+msgid "file was compiled for the large memory model, but the small memory model is selected"
+msgstr ""
+
+#: config/tc-msp430.c:1679
+#, c-format
+msgid "unknown MSPABI build attribute value '%d' for %s(%d) in .mspabi_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1691
+#, c-format
+msgid "unknown MSPABI build attribute tag '%d' in .mspabi_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1707
+msgid "file was compiled assuming all data will be in the lower memory region, but the upper region is in use"
+msgstr ""
+
+#: config/tc-msp430.c:1712
+msgid "file was compiled assuming data could be in the upper memory region, but the lower data region is exclusively in use"
+msgstr ""
+
+#: config/tc-msp430.c:1717
+#, c-format
+msgid "unknown GNU build attribute value '%d' for Tag_GNU_MSP430_Data_Region(%d) in .gnu_attribute directive"
+msgstr ""
+
+#: config/tc-msp430.c:1723
+#, c-format
+msgid "internal: unexpected argument '%d' to msp430_object_attribute"
+msgstr ""
+
+#: config/tc-msp430.c:1773
#, c-format
msgid ""
"MSP430 options:\n"
@@ -12871,7 +15008,7 @@ msgid ""
" -mcpu={430|430x|430xv2} - select microcontroller architecture\n"
msgstr ""
-#: config/tc-msp430.c:1607
+#: config/tc-msp430.c:1777
#, c-format
msgid ""
" -msilicon-errata=<name>[,<name>...] - enable fixups for silicon errata\n"
@@ -12879,7 +15016,7 @@ msgid ""
" supported errata names: cpu4, cpu8, cpu11, cpu12, cpu13, cpu19\n"
msgstr ""
-#: config/tc-msp430.c:1611
+#: config/tc-msp430.c:1781
#, c-format
msgid ""
" -mQ - enable relaxation at assembly time. DANGEROUS!\n"
@@ -12888,384 +15025,378 @@ msgstr ""
" -mQ - permite la relajación en tiempo de ensamblado. ¡PELIGROSO!\n"
" -mP - permite las instrucciones polimórficas\n"
-#: config/tc-msp430.c:1614
+#: config/tc-msp430.c:1784
#, c-format
msgid " -ml - enable large code model\n"
msgstr " -ml - activa modelo de código grande\n"
-#: config/tc-msp430.c:1616
+#: config/tc-msp430.c:1786
#, c-format
msgid " -mN - do not insert NOPs after changing interrupts (default)\n"
msgstr ""
" -mN - no inserta varias NOP tras interrupciones (predet.)\n"
"\n"
-#: config/tc-msp430.c:1618
+#: config/tc-msp430.c:1788
#, c-format
msgid " -mn - insert a NOP after changing interrupts\n"
msgstr " -mn - inserta un NOP tras modificar interrupciones\n"
-#: config/tc-msp430.c:1620
+#: config/tc-msp430.c:1790
#, c-format
msgid " -mY - do not warn about missing NOPs after changing interrupts\n"
msgstr " -mY - no advierte acerca de ausencias NOP tras modificar interrupciones\n"
-#: config/tc-msp430.c:1622
+#: config/tc-msp430.c:1792
#, c-format
msgid " -my - warn about missing NOPs after changing interrupts (default)\n"
msgstr ""
-#: config/tc-msp430.c:1624
+#: config/tc-msp430.c:1794
+#, c-format
+msgid ""
+" -mU - for an instruction which changes interrupt state, but where it is not\n"
+" known how the state is changed, do not warn/insert NOPs\n"
+msgstr ""
+
+#: config/tc-msp430.c:1797
#, c-format
-msgid " -md - Force copying of data from ROM to RAM at startup\n"
+msgid ""
+" -mu - for an instruction which changes interrupt state, but where it is not\n"
+" known how the state is changed, warn/insert NOPs (default)\n"
+" -mn and/or -my are required for this to have any effect\n"
msgstr ""
-#: config/tc-msp430.c:1626
+#: config/tc-msp430.c:1801
#, c-format
msgid ""
" -mdata-region={none|lower|upper|either} - select region data will be\n"
" placed in.\n"
msgstr ""
-#: config/tc-msp430.c:1779
+#: config/tc-msp430.c:1973
#, c-format
msgid "extra characters '%s' at end of immediate expression '%s'"
msgstr "caracteres adicionales «%s» al final de expresión inmediata «%s»"
-#: config/tc-msp430.c:1811 config/tc-msp430.c:1994 config/tc-msp430.c:2108
+#: config/tc-msp430.c:2005 config/tc-msp430.c:2189 config/tc-msp430.c:2304
#, c-format
msgid "value 0x%x out of extended range."
-msgstr "valor 0x%x fuera de límite extendido."
+msgstr "valor 0x%x fuera de rango extendido."
-#: config/tc-msp430.c:1817
+#: config/tc-msp430.c:2011
#, c-format
msgid "value %d out of range. Use #lo() or #hi()"
-msgstr "valora %d está fuera de límite. Utilice #lo() o #hi()"
+msgstr "valora %d está fuera de rango. Utilice #lo() o #hi()"
-#: config/tc-msp430.c:1863
+#: config/tc-msp430.c:2057
msgid "cpu4: not converting PUSH #4 to shorter form"
msgstr ""
-#: config/tc-msp430.c:1880
+#: config/tc-msp430.c:2074
msgid "cpu4: not converting PUSH #8 to shorter form"
msgstr ""
-#: config/tc-msp430.c:1894
+#: config/tc-msp430.c:2088
msgid "error: unsupported #foo() directive used on symbol"
msgstr "error: directiva #foo() sin apoyo para directiva utilizada en símbolo"
-#: config/tc-msp430.c:1911
+#: config/tc-msp430.c:2105
#, c-format
msgid "unknown expression in operand %s. Use #llo(), #lhi(), #hlo() or #hhi()"
msgstr "desconoce expresión en operando %s. Utilice #llo() #lhi() #hlo() o #hhi()"
-#: config/tc-msp430.c:1962
+#: config/tc-msp430.c:2156
#, c-format
msgid "Registers cannot be used within immediate expression [%s]"
msgstr "Los registros no se pueden usar en la expresión inmediata [%s]"
-#: config/tc-msp430.c:1964
+#: config/tc-msp430.c:2158
#, c-format
msgid "unknown operand %s"
msgstr "operando %s desconocido"
-#: config/tc-msp430.c:1981
+#: config/tc-msp430.c:2175
#, c-format
msgid "extra characters '%s' at the end of absolute operand '%s'"
msgstr "caracteres adicionales «%s» al final de operando absoluto «%s»"
-#: config/tc-msp430.c:2000 config/tc-msp430.c:2114
+#: config/tc-msp430.c:2195 config/tc-msp430.c:2310
#, c-format
msgid "value out of range: 0x%x"
-msgstr "valor fuera de límite: 0x%x"
+msgstr "valor fuera de rango: 0x%x"
-#: config/tc-msp430.c:2011
+#: config/tc-msp430.c:2206
#, c-format
msgid "Registers cannot be used within absolute expression [%s]"
msgstr "Los registros no se pueden usar en la expresión absoluta [%s]"
-#: config/tc-msp430.c:2013 config/tc-msp430.c:2143
+#: config/tc-msp430.c:2208 config/tc-msp430.c:2339
#, c-format
msgid "unknown expression in operand %s"
msgstr "expresión desconocida en operando %s"
-#: config/tc-msp430.c:2027
+#: config/tc-msp430.c:2222
#, c-format
msgid "unknown addressing mode %s"
msgstr "desconoce modo de direccionamiento %s"
-#: config/tc-msp430.c:2035
+#: config/tc-msp430.c:2230
#, c-format
msgid "Bad register name %s"
-msgstr "Nombre registrado equivocado %s"
+msgstr "Nombre registrado incorrecto %s"
-#: config/tc-msp430.c:2046
+#: config/tc-msp430.c:2241
msgid "cannot use indirect addressing with the PC"
msgstr "no se puede utilizar una dirección indirecta con el PC"
-#: config/tc-msp430.c:2066
+#: config/tc-msp430.c:2261
msgid "')' required"
msgstr "')' requerido"
-#: config/tc-msp430.c:2078
+#: config/tc-msp430.c:2273
#, c-format
msgid "unknown operator %s. Did you mean X(Rn) or #[hl][hl][oi](CONST) ?"
msgstr "operador %s desconocido. ¿ Quiere decir X(Rn) ó #[hl][hl][oi](CONST) ?"
-#: config/tc-msp430.c:2085
+#: config/tc-msp430.c:2280
msgid "r2 should not be used in indexed addressing mode"
-msgstr "no se debe usar r2 en el modo de direccionamiento indizado"
+msgstr "no se debe usar r2 en el modo de direccionamiento indexado"
-#: config/tc-msp430.c:2097 config/tc-msp430.c:2171 config/tc-msp430.c:3211
-#: config/tc-msp430.c:3279 config/tc-msp430.c:3396 config/tc-msp430.c:3769
-#: config/tc-msp430.c:3868 config/tc-msp430.c:3919
+#: config/tc-msp430.c:2293 config/tc-msp430.c:2368 config/tc-msp430.c:3514
+#: config/tc-msp430.c:3582 config/tc-msp430.c:3699 config/tc-msp430.c:4121
+#: config/tc-msp430.c:4220 config/tc-msp430.c:4271
#, c-format
msgid "extra characters '%s' at end of operand '%s'"
msgstr "caracteres adicionales «%s» al final de operando «%s»"
-#: config/tc-msp430.c:2129 config/tc-msp430.c:2131
+#: config/tc-msp430.c:2325 config/tc-msp430.c:2327
msgid "CPU8: Stack pointer accessed with an odd offset"
msgstr "CPU8: puntero de pila accedido con un desplazamiento impar"
-#: config/tc-msp430.c:2141
+#: config/tc-msp430.c:2337
#, c-format
msgid "Registers cannot be used as a prefix of indexed expression [%s]"
msgstr "Los registros no se pueden usar como un prefijo en la expresión indizada [%s]"
-#: config/tc-msp430.c:2205
+#: config/tc-msp430.c:2403
#, c-format
msgid "Internal bug. Try to use 0(r%d) instead of @r%d"
msgstr "Defecto interno. Intente utilizar 0(r%d) en lugar de @r%d"
-#: config/tc-msp430.c:2215
+#: config/tc-msp430.c:2413
msgid "this addressing mode is not applicable for destination operand"
-msgstr "este modo direccional no es aplicable para operando destino"
+msgstr "este modo direccional no es aplicable para el operando destino"
-#: config/tc-msp430.c:2246 config/tc-msp430.c:2381 config/tc-msp430.c:2418
-#: config/tc-msp430.c:2448 config/tc-msp430.c:3147 config/tc-msp430.c:3230
-#: config/tc-msp430.c:3318
+#: config/tc-msp430.c:2444 config/tc-msp430.c:2579 config/tc-msp430.c:2616
+#: config/tc-msp430.c:2646 config/tc-msp430.c:3450 config/tc-msp430.c:3533
+#: config/tc-msp430.c:3621
#, c-format
msgid "expected register as second argument of %s"
msgstr "esperaba registro como segundo argumento de %s"
-#: config/tc-msp430.c:2285 config/tc-msp430.c:2351
+#: config/tc-msp430.c:2483 config/tc-msp430.c:2549
#, c-format
msgid "index value too big for %s"
-msgstr "valor indizado demasiado grande para %s"
+msgstr "valor indexado demasiado grande para %s"
-#: config/tc-msp430.c:2302 config/tc-msp430.c:2368 config/tc-msp430.c:2475
+#: config/tc-msp430.c:2500 config/tc-msp430.c:2566 config/tc-msp430.c:2673
#, c-format
msgid "unexpected addressing mode for %s"
msgstr "modo direccional inesperado para %s"
-#: config/tc-msp430.c:2388 config/tc-msp430.c:2425 config/tc-msp430.c:2455
+#: config/tc-msp430.c:2586 config/tc-msp430.c:2623 config/tc-msp430.c:2653
#, c-format
msgid "constant generator destination register found in %s"
msgstr "encontrado generador de registro destino constante en %s"
-#: config/tc-msp430.c:2432 config/tc-msp430.c:2462
+#: config/tc-msp430.c:2630 config/tc-msp430.c:2660
#, c-format
msgid "constant generator source register found in %s"
msgstr "generador constante de registro destino encontrado en %s"
-#: config/tc-msp430.c:2552
+#: config/tc-msp430.c:2840
msgid "no size modifier after period, .w assumed"
msgstr ""
-#: config/tc-msp430.c:2556
+#: config/tc-msp430.c:2844
#, c-format
msgid "unrecognised instruction size modifier .%c"
msgstr "no reconocido modificador de tamaño de instrucción .%c"
-#: config/tc-msp430.c:2570
+#: config/tc-msp430.c:2858
#, c-format
msgid "junk found after instruction: %s.%s"
msgstr "basura aparecida tras instrucción: %s.%s"
-#: config/tc-msp430.c:2590
+#: config/tc-msp430.c:2878
#, c-format
msgid "instruction %s.a does not exist"
msgstr "instrucción %s.a no existe"
-#: config/tc-msp430.c:2604
+#: config/tc-msp430.c:2892
#, c-format
msgid "instruction %s requires %d operand"
msgid_plural "instruction %s requires %d operands"
msgstr[0] "instrucción %s requiere de %d operando"
msgstr[1] "instrucción %s requiere de %d operandos"
-#: config/tc-msp430.c:2622
+#: config/tc-msp430.c:2910
#, c-format
msgid "instruction %s requires MSP430X mcu"
msgstr "instrucción %s requiere MSP430X mcu"
-#: config/tc-msp430.c:2642
+#: config/tc-msp430.c:2930
#, c-format
msgid "unable to repeat %s insn"
msgstr "incapaz para utilizar %s insn"
-#: config/tc-msp430.c:2661
-msgid "NOP inserted between two instructions that change interrupt state"
-msgstr ""
-
-#: config/tc-msp430.c:2663
-msgid "a NOP might be needed here because of successive changes in interrupt state"
-msgstr ""
-
-#: config/tc-msp430.c:2674
+#: config/tc-msp430.c:3002
msgid "CPU12: CMP/BIT with PC destination ignores next instruction"
msgstr ""
-#: config/tc-msp430.c:2682
+#: config/tc-msp430.c:3010
msgid "CPU19: Instruction setting CPUOFF must be followed by a NOP"
msgstr ""
-#: config/tc-msp430.c:2689
+#: config/tc-msp430.c:3017
msgid "internal error: unknown nop check state"
msgstr "error interno: estado marcado ‘nop’ desconocido"
-#: config/tc-msp430.c:2724
-msgid "inserting a NOP before EINT"
-msgstr "insertando un NOP antes de EINT"
-
-#: config/tc-msp430.c:2727
-msgid "a NOP might be needed before the EINT"
-msgstr "un NOP quizá está requerido antes del EINT"
-
-#: config/tc-msp430.c:2767 config/tc-msp430.c:2769 config/tc-msp430.c:3473
-#: config/tc-msp430.c:3475
+#: config/tc-msp430.c:3071 config/tc-msp430.c:3073 config/tc-msp430.c:3782
+#: config/tc-msp430.c:3784
msgid "CPU11: PC is destination of SR altering instruction"
msgstr ""
-#: config/tc-msp430.c:2784 config/tc-msp430.c:2786 config/tc-msp430.c:2892
-#: config/tc-msp430.c:2894 config/tc-msp430.c:3490 config/tc-msp430.c:3492
-#: config/tc-msp430.c:3668 config/tc-msp430.c:3670
+#: config/tc-msp430.c:3088 config/tc-msp430.c:3090 config/tc-msp430.c:3195
+#: config/tc-msp430.c:3197 config/tc-msp430.c:3799 config/tc-msp430.c:3801
+#: config/tc-msp430.c:4020 config/tc-msp430.c:4022
msgid "CPU13: SR is destination of SR altering instruction"
msgstr ""
-#: config/tc-msp430.c:2805 config/tc-msp430.c:2904 config/tc-msp430.c:3533
-#: config/tc-msp430.c:3702
+#: config/tc-msp430.c:3106 config/tc-msp430.c:3207 config/tc-msp430.c:3885
+#: config/tc-msp430.c:4054
msgid "repeat instruction used with non-register mode instruction"
msgstr "repite instrucciones utilizadas con modo de instrucción no registrada"
-#: config/tc-msp430.c:2880 config/tc-msp430.c:3237 config/tc-msp430.c:3658
+#: config/tc-msp430.c:3181 config/tc-msp430.c:3540 config/tc-msp430.c:4010
#, c-format
msgid "%s: attempt to rotate the PC register"
msgstr "%s: trata rotar el registro PC"
-#: config/tc-msp430.c:3129 config/tc-msp430.c:3205
+#: config/tc-msp430.c:3432 config/tc-msp430.c:3508
#, c-format
msgid "expected #n as first argument of %s"
msgstr "esperaba #n como primer argumento de %s"
-#: config/tc-msp430.c:3135
+#: config/tc-msp430.c:3438
#, c-format
msgid "extra characters '%s' at end of constant expression '%s'"
msgstr "caracteres adicionales «%s» al final de expresión constante «%s»"
-#: config/tc-msp430.c:3140 config/tc-msp430.c:3216
+#: config/tc-msp430.c:3443 config/tc-msp430.c:3519
#, c-format
msgid "expected constant expression as first argument of %s"
msgstr "esperaba una expresión constante como primer argumento de %s"
-#: config/tc-msp430.c:3166
+#: config/tc-msp430.c:3469
msgid "Too many registers popped"
msgstr "Demasiados registros aparecidos"
-#: config/tc-msp430.c:3176
+#: config/tc-msp430.c:3479
msgid "Cannot use POPM to restore the SR register"
msgstr ""
-#: config/tc-msp430.c:3196 config/tc-msp430.c:3265
+#: config/tc-msp430.c:3499 config/tc-msp430.c:3568
#, c-format
msgid "repeat count cannot be used with %s"
msgstr "repetición de conteo no puede ser utilizado con %s"
-#: config/tc-msp430.c:3223
+#: config/tc-msp430.c:3526
#, c-format
msgid "expected first argument of %s to be in the range 1-4"
msgstr "esperaba primer argumento de %s para estar dentro del rango 1-4"
-#: config/tc-msp430.c:3288
+#: config/tc-msp430.c:3591
#, c-format
msgid "expected value of first argument of %s to fit into 20-bits"
msgstr ""
-#: config/tc-msp430.c:3307
+#: config/tc-msp430.c:3610
#, c-format
msgid "expected register name or constant as first argument of %s"
msgstr "nombre registrado esperada o constante como primer argumento de %s"
-#: config/tc-msp430.c:3401
+#: config/tc-msp430.c:3704
msgid "expected constant value as argument to RPT"
msgstr "esperaba un valor constante como argumento a RPT"
-#: config/tc-msp430.c:3407
+#: config/tc-msp430.c:3710
msgid "expected constant in the range 2..16"
msgstr "constante esperada dentro del límite 2..16"
-#: config/tc-msp430.c:3422
+#: config/tc-msp430.c:3725
msgid "PC used as an argument to RPT"
msgstr "PC utilizado como argumento a RPT"
-#: config/tc-msp430.c:3428
+#: config/tc-msp430.c:3731
msgid "expected constant or register name as argument to RPT insn"
msgstr ""
-#: config/tc-msp430.c:3435
+#: config/tc-msp430.c:3738
msgid "Illegal emulated instruction"
msgstr "Instrucción emulada ilegítima"
-#: config/tc-msp430.c:3687
+#: config/tc-msp430.c:4039
#, c-format
msgid "%s instruction does not accept a .b suffix"
msgstr "instrucción %s no acepta un sufijo .b"
-#: config/tc-msp430.c:3800
+#: config/tc-msp430.c:4152
#, c-format
msgid "Even number required. Rounded to %d"
msgstr "Se requiere un número par. Se redondea a %d"
-#: config/tc-msp430.c:3811
+#: config/tc-msp430.c:4163
#, c-format
msgid "Wrong displacement %d"
-msgstr "Desplazamiento equivocado %d"
+msgstr "Desplazamiento incorrecto %d"
-#: config/tc-msp430.c:3833
+#: config/tc-msp430.c:4185
msgid "instruction requires label sans '$'"
msgstr "la instrucción requiere una etiqueta sin '$'"
-#: config/tc-msp430.c:3837
+#: config/tc-msp430.c:4189
msgid "instruction requires label or value in range -511:512"
msgstr "la instrucción requiere una etiqueta o valor en el límite -511:512"
-#: config/tc-msp430.c:3843 config/tc-msp430.c:3897 config/tc-msp430.c:3945
+#: config/tc-msp430.c:4195 config/tc-msp430.c:4249 config/tc-msp430.c:4297
msgid "instruction requires label"
msgstr "instrucción requiere etiqueta"
-#: config/tc-msp430.c:3851 config/tc-msp430.c:3903
+#: config/tc-msp430.c:4203 config/tc-msp430.c:4255
msgid "polymorphs are not enabled. Use -mP option to enable."
msgstr "los polimórficos no están activados. Use la opción -mP para activarlos."
-#: config/tc-msp430.c:3949
+#: config/tc-msp430.c:4301
msgid "Illegal instruction or not implemented opcode."
msgstr "Instrucción ilegal o código operacional sin implementar."
-#: config/tc-msp430.c:3980 config/tc-sh64.c:2479
+#: config/tc-msp430.c:4355
msgid "can't find opcode"
msgstr "no se puede encontrar el código operacional"
-#: config/tc-msp430.c:4497
+#: config/tc-msp430.c:4868
#, c-format
msgid "internal inconsistency problem in %s: insn %04lx"
msgstr "problema de inconsistencia interna en %s: insn %04lx"
-#: config/tc-msp430.c:4539 config/tc-msp430.c:4571
+#: config/tc-msp430.c:4910 config/tc-msp430.c:4942
#, c-format
msgid "internal inconsistency problem in %s: ext. insn %04lx"
msgstr "problema de inconsistencia interna en %s: ext. insn %04lx"
-#: config/tc-msp430.c:4583
+#: config/tc-msp430.c:4954
#, c-format
msgid "internal inconsistency problem in %s: %lx"
msgstr "problema de inconsistencia interna en %s: %lx"
@@ -13300,41 +15431,41 @@ msgstr " -march=ms2 permite instrucciones ms2 \n"
msgid " -nosched disable scheduling restrictions\n"
msgstr " -nosched desactiva las restricciones de calendarización\n"
-#: config/tc-mt.c:224
+#: config/tc-mt.c:226
#, c-format
msgid "instruction %s may not follow another memory access instruction."
msgstr "la instrucción %s no puede estar a continuación de otra instrucción de acceso a memoria."
-#: config/tc-mt.c:230
+#: config/tc-mt.c:232
#, c-format
msgid "instruction %s may not follow another I/O instruction."
msgstr "la instrucción %s no puede estar a continuación de otra instrucción E/S."
-#: config/tc-mt.c:236
+#: config/tc-mt.c:238
#, c-format
msgid "%s may not occupy the delay slot of another branch insn."
msgstr "%s no puede ocupar la ranura de retardo de otra insn de ramificación."
-#: config/tc-mt.c:261
+#: config/tc-mt.c:263
#, c-format
msgid "operand references R%ld of previous instruction."
msgstr "operando se refiere a R%ld de la instrucción previa."
-#: config/tc-mt.c:267
+#: config/tc-mt.c:269
#, c-format
msgid "operand references R%ld of instruction before previous."
msgstr "operando se refiere a R%ld de la instrucción anterior a la previa."
-#: config/tc-mt.c:281 config/tc-mt.c:286
+#: config/tc-mt.c:283 config/tc-mt.c:288
#, c-format
msgid "conditional branch or jal insn's operand references R%ld of previous arithmetic or logic insn."
msgstr "la ramificación condicional o operando de insn jal se refiere a R%ld de la insn aritmética o lógica previa."
-#: config/tc-mt.c:349
+#: config/tc-mt.c:351
msgid "md_estimate_size_before_relax\n"
msgstr "md_estimate_size_before_relax\n"
-#: config/tc-nds32.c:1934
+#: config/tc-nds32.c:2374
msgid ""
"<arch name>\t Assemble for architecture <arch name>\n"
"\t\t\t <arch name> could be\n"
@@ -13344,7 +15475,7 @@ msgstr ""
"\t\t\t <arqu nombre> podría ser\n"
"\t\t\t v3, v3j, v3m, v3f, v3s, v2, v2j, v2f, v2s"
-#: config/tc-nds32.c:1938
+#: config/tc-nds32.c:2378
msgid ""
"<baseline>\t Assemble for baseline <baseline>\n"
"\t\t\t <baseline> could be v2, v3, v3m"
@@ -13352,7 +15483,7 @@ msgstr ""
"<baseline>\t Ensambla para línea básica <baseline>\n"
"\t\t\t <baseline> podría ser v2, v3, v3m"
-#: config/tc-nds32.c:1941
+#: config/tc-nds32.c:2381
msgid ""
"<freg>\t Specify a FPU configuration\n"
"\t\t\t <freg>\n"
@@ -13368,7 +15499,7 @@ msgstr ""
"\t\t\t 2: 32 SP / 16 DP registros\n"
"\t\t\t 3: 32 SP / 32 DP registros"
-#: config/tc-nds32.c:1947
+#: config/tc-nds32.c:2387
msgid ""
"<abi>\t Specify a abi version\n"
"\t\t\t <abi> could be v1, v2, v2fp, v2fpp"
@@ -13376,55 +15507,67 @@ msgstr ""
"<abi>\t Especificar una versión abi\n"
"\t\t\t <abi> podría ser v1, v2, v2fp, v2fpp"
-#: config/tc-nds32.c:1978
+#: config/tc-nds32.c:2420
msgid "Multiply instructions support"
msgstr "Apoya instrucciones múltiples"
-#: config/tc-nds32.c:1979
+#: config/tc-nds32.c:2421
msgid "Divide instructions support"
msgstr "Soporta instrucciones dividir"
-#: config/tc-nds32.c:1980
+#: config/tc-nds32.c:2422
msgid "16-bit extension"
msgstr "Extensión de 16-bit"
-#: config/tc-nds32.c:1981
+#: config/tc-nds32.c:2423
msgid "d0/d1 registers"
msgstr "registros d0/d1"
-#: config/tc-nds32.c:1982
+#: config/tc-nds32.c:2424
msgid "Performance extension"
msgstr "Rendimiento extensión"
-#: config/tc-nds32.c:1983
+#: config/tc-nds32.c:2425
msgid "Performance extension 2"
msgstr "Rendimiento extensión"
-#: config/tc-nds32.c:1984
+#: config/tc-nds32.c:2426
msgid "String extension"
msgstr "Cadena extendida"
-#: config/tc-nds32.c:1985
+#: config/tc-nds32.c:2427
msgid "Reduced Register configuration (GPR16) option"
msgstr ""
-#: config/tc-nds32.c:1986
+#: config/tc-nds32.c:2428
msgid "AUDIO ISA extension"
msgstr "Extensión de sonido ISA"
-#: config/tc-nds32.c:1987
+#: config/tc-nds32.c:2429
msgid "FPU SP extension"
msgstr "Extensión FPU PS"
-#: config/tc-nds32.c:1988
+#: config/tc-nds32.c:2430
msgid "FPU DP extension"
msgstr "FPU como extensión DP"
-#: config/tc-nds32.c:1989
+#: config/tc-nds32.c:2431
msgid "FPU fused-multiply-add instructions"
msgstr "FPU fused-multiply-add como instrucciones"
-#: config/tc-nds32.c:2026
+#: config/tc-nds32.c:2432
+#, fuzzy
+#| msgid "FPU SP extension"
+msgid "DSP extension"
+msgstr "Extensión FPU PS"
+
+#: config/tc-nds32.c:2433
+#, fuzzy
+#| msgid "bad reloc expression"
+msgid "hardware loop extension"
+msgstr "expresión de reubicación incorrecta"
+
+#: config/tc-nds32.c:2470
#, c-format
msgid ""
"\n"
@@ -13433,7 +15576,7 @@ msgstr ""
"\n"
"Opciones ensambladoras específicas de NDS32:\n"
-#: config/tc-nds32.c:2027
+#: config/tc-nds32.c:2471
#, c-format
msgid ""
" -O1,\t\t\t Optimize for performance\n"
@@ -13442,7 +15585,7 @@ msgstr ""
" -O1,\t\t\t Optimiza para rendimiento\n"
" -Os\t\t\t Optimiza para espacio\n"
-#: config/tc-nds32.c:2030
+#: config/tc-nds32.c:2474
#, c-format
msgid ""
" -EL, -mel or -little Produce little endian output\n"
@@ -13453,419 +15596,249 @@ msgid ""
" -mno-all-relax\t Suppress all relaxation for this file\n"
msgstr ""
-#: config/tc-nds32.c:2041
+#: config/tc-nds32.c:2485
#, c-format
msgid " -m%s%s\n"
msgstr " -m%s%s\n"
-#: config/tc-nds32.c:2048
+#: config/tc-nds32.c:2492
#, c-format
msgid " -m[no-]%-17sEnable/Disable %s\n"
msgstr " -m[no-]%-17s activa/desactiva %s\n"
-#: config/tc-nds32.c:2052
+#: config/tc-nds32.c:2496
#, c-format
msgid " -mall-ext\t\t Turn on all extensions and instructions support\n"
msgstr ""
-#: config/tc-nds32.c:2326
+#: config/tc-nds32.c:2770
#, c-format
msgid "la must use with symbol. '%s'"
msgstr "la debe utilizar con símbolo . «%s»"
-#: config/tc-nds32.c:2379
+#: config/tc-nds32.c:2823
#, c-format
msgid "need PIC qualifier with symbol. '%s'"
msgstr "requiere PIC cualificador con símbolo. «%s»"
-#: config/tc-nds32.c:2416
+#: config/tc-nds32.c:2860
#, c-format
msgid "Operand is not a constant. `%s'"
msgstr "Operando no es una constante. «%s»"
-#: config/tc-nds32.c:2505
+#: config/tc-nds32.c:2949
#, c-format
msgid "needs @GOT or @GOTOFF. %s"
msgstr "requiere @GOT en @GOTOFF. %s"
-#: config/tc-nds32.c:3001
-#, c-format
-msgid "Duplicated pseudo-opcode %s."
-msgstr "Duplicado pseudo-opcode %s."
-
-#: config/tc-nds32.c:3051
+#: config/tc-nds32.c:3487
#, c-format
msgid "Too many argument. `%s'"
msgstr "Demasiados argumentos. «%s»"
#. Logic here rejects the input arch name.
-#: config/tc-nds32.c:3112
+#: config/tc-nds32.c:3548
#, c-format
msgid "unknown arch name `%s'\n"
msgstr "desconoce nombre arq «%s»\n"
#. Logic here rejects the input baseline.
-#: config/tc-nds32.c:3131
+#: config/tc-nds32.c:3567
#, c-format
msgid "unknown baseline `%s'\n"
msgstr "desconoce base lineal «%s»\n"
#. Logic here rejects the input FPU configuration.
-#: config/tc-nds32.c:3154
+#: config/tc-nds32.c:3590
#, c-format
msgid "unknown FPU configuration `%s'\n"
msgstr "desconoce configuración FPU «%s»\n"
#. Logic here rejects the input abi version.
-#: config/tc-nds32.c:3178
+#: config/tc-nds32.c:3614
#, c-format
msgid "unknown ABI version`%s'\n"
msgstr "desconoce versión «%s» de ABI\n"
-#: config/tc-nds32.c:3783
+#: config/tc-nds32.c:4339
#, c-format
msgid "Different arguments of .vec_size are found, previous %d, current %d"
msgstr ""
-#: config/tc-nds32.c:3788
+#: config/tc-nds32.c:4344
#, c-format
msgid "Argument of .vec_size is expected 4 or 16, actual: %d."
msgstr "Argumento de tamaño .vec_size está esperado 4 o 16, actual: %d."
-#: config/tc-nds32.c:3792
+#: config/tc-nds32.c:4348
msgid "Argument of .vec_size is not a constant."
msgstr "Argumento de .vec_size no es constante."
-#: config/tc-nds32.c:4328
+#: config/tc-nds32.c:4934
#, c-format
msgid "Don't know how to handle this field. %s"
msgstr "No se sabe cómo manipular este campo. %s"
-#: config/tc-nds32.c:4493
+#: config/tc-nds32.c:5299
#, c-format
msgid "instruction %s requires enabling performance extension"
msgstr "instrucción %s requiere activando extensión rendimiento"
-#: config/tc-nds32.c:4501
+#: config/tc-nds32.c:5311
#, c-format
msgid "instruction %s requires enabling performance extension II"
msgstr "instrucción %s requiere activar extensión rendimiento II"
-#: config/tc-nds32.c:4509
+#: config/tc-nds32.c:5323
#, c-format
msgid "instruction %s requires enabling AUDIO extension"
msgstr "instrucción %s requiere activar extensión AUDIO"
-#: config/tc-nds32.c:4517
+#: config/tc-nds32.c:5335
#, c-format
msgid "instruction %s requires enabling STRING extension"
msgstr "instrucción %s requiere activación de extensión STRING"
-#: config/tc-nds32.c:4526
+#: config/tc-nds32.c:5349
#, c-format
msgid "instruction %s requires enabling DIV & DX_REGS extension"
msgstr "instrucción %s requiere activar extensiones DIV & DX_REGS"
-#: config/tc-nds32.c:4537
+#: config/tc-nds32.c:5364
#, c-format
msgid "instruction %s requires enabling FPU extension"
msgstr "instrucción %s requiere una extensión FPU"
-#: config/tc-nds32.c:4545
+#: config/tc-nds32.c:5376
#, c-format
msgid "instruction %s requires enabling FPU_SP extension"
msgstr "instrucción %s requiere activar extensión FPU_PS"
-#: config/tc-nds32.c:4557 config/tc-nds32.c:4577
-#, c-format
-msgid "instruction %s requires enabling FPU_MAC extension"
-msgstr "instrucción %s requiere activación de extensión FPU_MAC"
-
-#: config/tc-nds32.c:4565
+#: config/tc-nds32.c:5388
#, c-format
msgid "instruction %s requires enabling FPU_DP extension"
msgstr "instrucción %s requiere activar extensión FPU_DP"
-#: config/tc-nds32.c:4587
+#: config/tc-nds32.c:5399 config/tc-nds32.c:5407
+#, c-format
+msgid "instruction %s requires enabling FPU_MAC extension"
+msgstr "instrucción %s requiere activación de extensión FPU_MAC"
+
+#: config/tc-nds32.c:5415
#, c-format
msgid "instruction %s requires enabling DX_REGS extension"
msgstr "instrucción %s requiere activación de extensión DX_REGS"
-#: config/tc-nds32.c:4778
+#: config/tc-nds32.c:5431
+#, fuzzy, c-format
+#| msgid "instruction %s requires enabling FPU extension"
+msgid "instruction %s requires enabling dsp extension"
+msgstr "instrucción %s requiere una extensión FPU"
+
+#: config/tc-nds32.c:5443
+#, fuzzy, c-format
+#| msgid "instruction %s requires enabling FPU extension"
+msgid "instruction %s requires enabling zol extension"
+msgstr "instrucción %s requiere una extensión FPU"
+
+#: config/tc-nds32.c:5448
+#, fuzzy, c-format
+#| msgid "internal error: unknown option name '%s'"
+msgid "internal error: unknown instruction attribute: 0x%08x"
+msgstr "error interno: nombre desconocido opcional '%s'"
+
+#: config/tc-nds32.c:5741
#, c-format
msgid "relax hint unrecognized instruction: line %d."
msgstr "instrucción relajada irreconocida: línea %d."
-#: config/tc-nds32.c:4819
+#: config/tc-nds32.c:5796
#, c-format
msgid "Can not find match relax hint. Line: %d"
msgstr "No puede encontrar coincidencia relajada insinuada. Línea: %d"
-#: config/tc-nds32.c:4999
-#, c-format
-msgid "Internal error: Relax hint error. %s: %x"
+#: config/tc-nds32.c:5994
+#, fuzzy
+#| msgid "Internal error: Relax hint error. %s: %x"
+msgid "Internal error: .relax_hint KEY is not a number!"
+msgstr "Error interno: relajar error insinuoso. %s: %x"
+
+#: config/tc-nds32.c:6022
+#, fuzzy, c-format
+#| msgid "Internal error: Relax hint error. %s: %x"
+msgid "Internal error: Relax hint (%s) error. %s: %s (%x)"
msgstr "Error interno: relajar error insinuoso. %s: %x"
-#: config/tc-nds32.c:5071
+#: config/tc-nds32.c:6099
#, c-format
msgid "Internal error: Range error. %s"
msgstr "Error interno: límite erróneo. %s"
-#: config/tc-nds32.c:5153
+#: config/tc-nds32.c:6160
+msgid "Multiple BFD_RELOC_NDS32_PTR_RESOLVED patterns are not supported yet!"
+msgstr ""
+
+#: config/tc-nds32.c:6308
+#, fuzzy, c-format
+#| msgid "unsupported instruction `%s'"
+msgid "Not support instruction %s in verbatim."
+msgstr "no admitió instrucción «%s»"
+
+#: config/tc-nds32.c:6315
+#, fuzzy, c-format
+#| msgid "st/ld offset 23 instruction was disabled ."
+msgid "16-bit instruction is disabled: %s."
+msgstr "st/ld desplaza 23 instrucciones fue desactivado."
+
+#: config/tc-nds32.c:6342
#, c-format
msgid "Instruction %s not supported in the baseline."
msgstr "Instrucción %s no admitida dentro de la línea base."
-#: config/tc-nds32.c:5208
+#: config/tc-nds32.c:6409
#, c-format
msgid "Unrecognized opcode, %s."
msgstr "No reconocido el código operacional: %s."
-#: config/tc-nds32.c:5211
+#: config/tc-nds32.c:6412
#, c-format
msgid "Incorrect syntax, %s."
msgstr "Sintaxis incorrecta, %s."
-#: config/tc-nds32.c:5214
+#: config/tc-nds32.c:6415
#, c-format
msgid "Unrecognized operand/register, %s."
msgstr "Operando no reconocido %s."
-#: config/tc-nds32.c:5217
+#: config/tc-nds32.c:6418
#, c-format
msgid "Operand out of range, %s."
-msgstr "Operando fuera de límite, %s."
+msgstr "Operando fuera de rango, %s."
-#: config/tc-nds32.c:5220
+#: config/tc-nds32.c:6421
#, c-format
msgid "Prohibited register used for reduced-register, %s."
msgstr "Registro utilizado prohibido para registro reducido, %s."
-#: config/tc-nds32.c:5223
+#: config/tc-nds32.c:6424
#, c-format
msgid "Junk at end of line, %s."
msgstr "Basura al final de la línea, %s."
-#: config/tc-nds32.c:5885
+#: config/tc-nds32.c:7122
msgid "Addend to unresolved symbol is not on word boundary."
msgstr "Añadido a símbolo no resuelto no está en un límite de word."
#. Should never here.
-#: config/tc-nds32.c:6420
+#: config/tc-nds32.c:7617
msgid "Used FPU instructions requires enabling FPU extension"
msgstr "Instrucción FPU utilizada requiere activación de extensión FPU"
-#: config/tc-nds32.c:6611
+#: config/tc-nds32.c:7813
#, c-format
msgid "Internal error: Unknown fixup type %d (`%s')"
msgstr "Error interno: Tipo desconocido de corrección: %d (`%s')"
-#: config/tc-nds32.c:6711
-msgid "need PIC qualifier with symbol."
-msgstr "requiere PIC cualificador con símbolo."
-
-#: config/tc-nios2.c:453 config/tc-pru.c:309
-msgid "expecting opcode string in self test mode"
-msgstr "esperando cadena operacional de código en modo de prueba"
-
-#: config/tc-nios2.c:455 config/tc-pru.c:311
-#, c-format
-msgid "assembly 0x%08x, expected %s"
-msgstr "ensambla 0x%08x, esperado %s"
-
-#: config/tc-nios2.c:848
-msgid "branch offset out of range\n"
-msgstr "ramificación desplazada fuera de límite\n"
-
-#: config/tc-nios2.c:849
-msgid "branch relaxation failed\n"
-msgstr "relajación de ramificación fallada\n"
-
-#: config/tc-nios2.c:1145
-msgid "error checking for overflow - broken assembler"
-msgstr ""
-
-#: config/tc-nios2.c:1161 config/tc-pru.c:572
-#, c-format
-msgid "immediate value 0x%x truncated to 0x%x"
-msgstr "valor inmediato 0x%x truncado a 0x%x"
-
-#: config/tc-nios2.c:1188 config/tc-pru.c:598
-#, c-format
-msgid "call target address 0x%08x out of range 0x%08x to 0x%08x"
-msgstr "llama dirección destino 0x%08x fuera del límite 0x%08x a 0x%08x"
-
-#: config/tc-nios2.c:1194
-#, c-format
-msgid "branch offset %d out of range %d to %d"
-msgstr "ramificación de desplazamiento%d fuera de límite %d a %d"
-
-#: config/tc-nios2.c:1198
-#, c-format
-msgid "branch offset %d out of range"
-msgstr "ramificación de desplazamiento%d fuera de rango"
-
-#: config/tc-nios2.c:1204 config/tc-pru.c:608
-#, c-format
-msgid "%s offset %d out of range %d to %d"
-msgstr "%s desplazamiento %d fuera de límite %d a %d"
-
-#: config/tc-nios2.c:1208
-#, c-format
-msgid "%s offset %d out of range"
-msgstr "%s desplazado %d fuera del límite"
-
-#: config/tc-nios2.c:1213 config/tc-nios2.c:1228 config/tc-pru.c:613
-#, c-format
-msgid "immediate value %d out of range %d to %d"
-msgstr "valor %d inmediato fuera de límite %d a %d"
-
-#: config/tc-nios2.c:1218 config/tc-nios2.c:1223 config/tc-pru.c:623
-#: config/tc-pru.c:628
-#, c-format
-msgid "immediate value %u out of range %u to %u"
-msgstr "valor inmediato %u fuera de límite desde %u hasta %u"
-
-#: config/tc-nios2.c:1233
-#, c-format
-msgid "custom instruction opcode %u out of range %u to %u"
-msgstr ""
-
-#: config/tc-nios2.c:1238 config/tc-pru.c:633
-msgid "overflow in immediate argument"
-msgstr "sobredesbordamiento dentro de argumento inmediato"
-
-#: config/tc-nios2.c:1310 config/tc-pru.c:669
-msgid "cannot create 64-bit relocation"
-msgstr "no puede crear datos reubicantes de 64-bit"
-
-#: config/tc-nios2.c:1438
-#, c-format
-msgid "internal error: broken opcode descriptor for `%s %s'\n"
-msgstr "error interno: descripción de código operacional defectuoso para `%s %s'\n"
-
-#: config/tc-nios2.c:1487 config/tc-pru.c:859
-msgid "can't create relocation"
-msgstr "no puede crear reubicación"
-
-#: config/tc-nios2.c:1518 config/tc-pru.c:993 config/tc-pru.c:1013
-#: config/tc-pru.c:1040 config/tc-pru.c:1059 config/tc-pru.c:1073
-#, c-format
-msgid "unknown register %s"
-msgstr "registro desconocido %s"
-
-#: config/tc-nios2.c:1526
-msgid "expecting control register"
-msgstr "esperando registro de control"
-
-#: config/tc-nios2.c:1528
-msgid "illegal use of control register"
-msgstr "utilización ilegal de registro de control"
-
-#: config/tc-nios2.c:1530
-msgid "illegal use of coprocessor register"
-msgstr "utilización ilegal de uso de registro de coprocesador"
-
-#. Should never get here if we passed validation.
-#: config/tc-nios2.c:1532 config/tc-nios2.c:1846 config/tc-nios2.c:1988
-#: config/tc-nios2.c:2056
-#, c-format
-msgid "invalid register %s"
-msgstr "registro inválido %s"
-
-#: config/tc-nios2.c:1540
-msgid ""
-"Register at (r1) can sometimes be corrupted by assembler optimizations.\n"
-"Use .set noat to turn off those optimizations (and this warning)."
-msgstr ""
-
-#: config/tc-nios2.c:1545
-msgid ""
-"The debugger will corrupt bt (r25).\n"
-"If you don't need to debug this code use .set nobreak to turn off this warning."
-msgstr ""
-
-#: config/tc-nios2.c:1549
-msgid ""
-"The debugger will corrupt sstatus/ba (r30).\n"
-"If you don't need to debug this code use .set nobreak to turn off this warning."
-msgstr ""
-
-#: config/tc-nios2.c:1939 config/tc-nios2.c:1967
-msgid "r31 cannot be used with jmp; use ret instead"
-msgstr "r31 no se puede ser empleado con jmp; utilice ret en su lugar"
-
-#: config/tc-nios2.c:1982
-msgid "r31 cannot be used with jmpr.n; use ret.n instead"
-msgstr "r31 no se puede ser empleado con jmpr.n; utilice ret.n en su lugar"
-
-#: config/tc-nios2.c:2595 config/tc-nios2.c:2622 config/tc-nios2.c:2649
-#: config/tc-nios2.c:2680
-#, c-format
-msgid "Invalid constant operand %s"
-msgstr "Operando constante inválido %s"
-
-#: config/tc-nios2.c:2997 config/tc-nios2.c:3021 config/tc-pru.c:1312
-#: config/tc-pru.c:1337 config/tc-pru.c:1357
-#, c-format
-msgid "badly formed expression near %s"
-msgstr "expresión equivocadamente formada cercana a %s"
-
-#: config/tc-nios2.c:3110 config/tc-nios2.c:3137 config/tc-pru.c:1406
-#: config/tc-pru.c:1431 config/tc-xtensa.c:2108
-msgid "too many arguments"
-msgstr "demasiados argumentos"
-
-#: config/tc-nios2.c:3126 config/tc-pru.c:1383
-#, c-format
-msgid "expecting %c near %s"
-msgstr "esperando %c cerca de %s"
-
-#. we cannot recover from this.
-#: config/tc-nios2.c:3277
-#, c-format
-msgid "unrecognized pseudo-instruction %s"
-msgstr "no reconocida psudo-instrucción %s"
-
-#: config/tc-nios2.c:3540 config/tc-tic6x.c:232
-#, c-format
-msgid "unknown architecture '%s'"
-msgstr "arquitectura desconocida '%s'"
-
-#: config/tc-nios2.c:3621
-msgid "Big-endian R2 is not supported."
-msgstr "Big-endian R2 sin apoyo."
-
-#. Unrecognised instruction - error.
-#: config/tc-nios2.c:3789 config/tc-pru.c:1729
-#, c-format
-msgid "unrecognised instruction %s"
-msgstr "instrucción %s no reconocida"
-
-#: config/tc-nios2.c:3909 config/tc-pru.c:1785
-#, c-format
-msgid "can't represent relocation type %s"
-msgstr "no puede representar tipo %s reubicable"
-
-#: config/tc-nios2.c:4002
-msgid "Bad .section directive: want a,s,w,x,M,S,G,T in string"
-msgstr "Directiva .section equivocada: se quiere en la cadena a,s,w,x,M,S,G,T"
-
-#: config/tc-nios2.c:4028
-#, c-format
-msgid "Illegal operands: %%tls_ldo in %d-byte data field"
-msgstr "Operandos ilegítimos: %%tls_ldo en campo de datos de %d-bytes"
-
-#: config/tc-nios2.c:4040 config/tc-nios2.c:4058 config/tc-nios2.c:4065
-#, c-format
-msgid "Illegal operands: %%tls_ldo requires arguments in ()"
-msgstr "Operandos ilegítimos: %%tls_ldo requiere argumentos en ()"
-
-#: config/tc-nios2.c:4072
-#, c-format
-msgid "Illegal operands: garbage after %%tls_ldo()"
-msgstr "Operandos ilegítimos: hay basura tras %%tls_ldo()"
-
#: config/tc-ns32k.c:437
msgid "Invalid syntax in PC-relative addressing mode"
msgstr "Sintaxis no válida en el modo de direccionamiento relativo al PC"
@@ -13880,15 +15853,15 @@ msgstr "Sintaxis no válida en el modo de direccionamiento Relativo a Memoria"
#: config/tc-ns32k.c:609
msgid "Invalid scaled-indexed mode, use (b,w,d,q)"
-msgstr "Modo escalado-indizado inválido, utilice (b,w,d,q)"
+msgstr "Modo escalado-indexado inválido, utilice (b,w,d,q)"
#: config/tc-ns32k.c:614
msgid "Syntax in scaled-indexed mode, use [Rn:m] where n=[0..7] m={b,w,d,q}"
-msgstr "Sintaxis en el modo escalado-indizado, utilice [Rn:m] donde n=[0..7] m={b,w,d,q}"
+msgstr "Sintaxis en el modo escalado-indexado, utilice [Rn:m] donde n=[0..7] m={b,w,d,q}"
#: config/tc-ns32k.c:619
msgid "Scaled-indexed addressing mode combined with scaled-index"
-msgstr "Modo de direccionamiento escalado-indizado combinado con índice-escalado"
+msgstr "Modo de direccionamiento escalado-indexado combinado con índice-escalado"
#: config/tc-ns32k.c:630
msgid "Invalid or illegal addressing mode combined with scaled-index"
@@ -13900,7 +15873,7 @@ msgstr "Fin de sufijo prematuro -- Se cambia por defecto a d"
#: config/tc-ns32k.c:766
msgid "Bad suffix after ':' use {b|w|d} Defaulting to d"
-msgstr "Sufijo equivocado tras ':' utilice {b|w|d} Se cambia por defecto a d"
+msgstr "Sufijo incorrecto tras ':' utilice {b|w|d} Se cambia por defecto a d"
#: config/tc-ns32k.c:811
msgid "Very short instr to option, ie you can't do it on a NULLstr"
@@ -13924,114 +15897,108 @@ msgstr "Operando de escritura inmediato inválido."
#: config/tc-ns32k.c:1074
msgid "Bad opcode-table-option, check in file ns32k-opcode.h"
-msgstr "Opción-de-tabla-de-códigos-de-operación equivocada, revise en el fichero ns32k-opcode.h"
+msgstr "Opción-de-tabla-de-códigos-de-operación incorrecta, revise en el fichero ns32k-opcode.h"
-#: config/tc-ns32k.c:1107
+#: config/tc-ns32k.c:1108
msgid "No such opcode"
msgstr "No existe ese código operacional"
-#: config/tc-ns32k.c:1182
+#: config/tc-ns32k.c:1183
msgid "Bad suffix, defaulting to d"
-msgstr "Sufijo equivocado, se cambia por defecto a d"
+msgstr "Sufijo incorrecto, se cambia por defecto a d"
-#: config/tc-ns32k.c:1209
+#: config/tc-ns32k.c:1210
msgid "Too many operands passed to instruction"
msgstr "Se pasan demasiados operandos a la instrucción"
#. Check error in default.
-#: config/tc-ns32k.c:1221
+#: config/tc-ns32k.c:1222
msgid "Wrong numbers of operands in default, check ns32k-opcodes.h"
-msgstr "Número equivocado de operandos por defecto, revise ns32k-opcodes.h"
+msgstr "Número incorrecto de operandos por defecto, revise ns32k-opcodes.h"
-#: config/tc-ns32k.c:1224
+#: config/tc-ns32k.c:1225
msgid "Wrong number of operands"
-msgstr "Número equivocado de operandos"
+msgstr "Número incorrecto de operandos"
-#: config/tc-ns32k.c:1297
+#: config/tc-ns32k.c:1298
#, c-format
msgid "Can not do %d byte pc-relative relocation for storage type %d"
msgstr "No se puede hacer la reubicación relativa a pc de %d byte para el tipo de almacenamiento %d"
-#: config/tc-ns32k.c:1300
+#: config/tc-ns32k.c:1301
#, c-format
msgid "Can not do %d byte relocation for storage type %d"
msgstr "No se puede hacer la reubicación de %d byte para el tipo de almacenamiento %d"
-#: config/tc-ns32k.c:1392
+#: config/tc-ns32k.c:1393
#, c-format
msgid "value of %ld out of byte displacement range."
msgstr "valor de %ld fuera del límite de desubicación de byte."
-#: config/tc-ns32k.c:1402
+#: config/tc-ns32k.c:1403
#, c-format
msgid "value of %ld out of word displacement range."
msgstr "valor de %ld fuera del límite de desubicación de word."
-#: config/tc-ns32k.c:1417
+#: config/tc-ns32k.c:1418
#, c-format
msgid "value of %ld out of double word displacement range."
msgstr "valor de %ld fuera del límite de desubicación de double word."
-#: config/tc-ns32k.c:1438
+#: config/tc-ns32k.c:1439
#, c-format
msgid "Internal logic error. Line %d, file: \"%s\""
msgstr "Error lógico interno. Línea %d, fichero «%s»"
-#: config/tc-ns32k.c:1486
+#: config/tc-ns32k.c:1487
#, c-format
msgid "Internal logic error. line %d, file \"%s\""
msgstr "Error lógico interno. línea %d, fichero «%s»"
-#: config/tc-ns32k.c:1587
+#: config/tc-ns32k.c:1588
msgid "Bit field out of range"
-msgstr "Campo de bits fuera de límite"
+msgstr "Campo de bits fuera de rango"
-#: config/tc-ns32k.c:1687
+#: config/tc-ns32k.c:1688
msgid "iif convert internal pcrel/binary"
msgstr "iif convierte a pcrel/binario interno"
-#: config/tc-ns32k.c:1704
+#: config/tc-ns32k.c:1705
msgid "Bignum too big for long"
msgstr "Número grande demasiado grande para long"
-#: config/tc-ns32k.c:1781
+#: config/tc-ns32k.c:1782
msgid "iif convert internal pcrel/pointer"
msgstr "iif convierte a pcrel/puntero interno"
-#: config/tc-ns32k.c:1786
+#: config/tc-ns32k.c:1787
msgid "Internal logic error in iif.iifP[n].type"
msgstr "Error interno de lógica en iif.iifP[n].tipo"
#. We can't relax this case.
-#: config/tc-ns32k.c:1822
+#: config/tc-ns32k.c:1823
msgid "Can't relax difference"
msgstr "No se puede relajar la diferencia"
-#: config/tc-ns32k.c:1863
+#: config/tc-ns32k.c:1864
msgid "Displacement too large for :d"
msgstr "Desubicación demasiado grande para :d"
-#: config/tc-ns32k.c:1876
+#: config/tc-ns32k.c:1877
msgid "Internal logic error in iif.iifP[].type"
msgstr "Error interno de lógica en iif.iifP[].tipo"
-#. Fatal.
-#: config/tc-ns32k.c:1908
-#, c-format
-msgid "Can't hash %s: %s"
-msgstr "No se puede dispersar %s: %s"
-
-#: config/tc-ns32k.c:2144
+#: config/tc-ns32k.c:2141
#, c-format
msgid "invalid architecture option -m%s, ignored"
msgstr "opción de arquitectura -m%s no válida, se descarta"
-#: config/tc-ns32k.c:2157
+#: config/tc-ns32k.c:2154
#, c-format
msgid "invalid default displacement size \"%s\". Defaulting to %d."
msgstr "tamaño de desubicación por defecto «%s» inválido. Se cambia a %d por defecto."
-#: config/tc-ns32k.c:2173
+#: config/tc-ns32k.c:2170
#, c-format
msgid ""
"NS32K options:\n"
@@ -14042,86 +16009,86 @@ msgstr ""
"-m32032 | -m32532\tselecciona la variante de la arquitectura NS32K\n"
"--disp-size-default=<1|2|4>\n"
-#: config/tc-ns32k.c:2249
+#: config/tc-ns32k.c:2246
#, c-format
msgid "Cannot find relocation type for symbol %s, code %d"
msgstr "No se puede encontrar el tipo reubicado para el símbolo %s, código %d"
-#: config/tc-pdp11.c:336 config/tc-pdp11.c:354 config/tc-pdp11.c:379
-#: config/tc-pdp11.c:385 config/tc-pdp11.c:398
+#: config/tc-pdp11.c:351 config/tc-pdp11.c:369 config/tc-pdp11.c:375
+#: config/tc-pdp11.c:400 config/tc-pdp11.c:406 config/tc-pdp11.c:419
msgid "Bad register name"
-msgstr "Nombre de registro equivocado"
+msgstr "Nombre de registro incorrecto"
-#: config/tc-pdp11.c:417 config/tc-pdp11.c:481 config/tc-pdp11.c:492
+#: config/tc-pdp11.c:438 config/tc-pdp11.c:502 config/tc-pdp11.c:513
msgid "Error in expression"
msgstr "Error en la expresión"
-#: config/tc-pdp11.c:489
+#: config/tc-pdp11.c:510
msgid "Low order bits truncated in immediate float operand"
msgstr "Se truncaron los bits de orden inferior en operando de coma flotante inmediato"
-#: config/tc-pdp11.c:608
+#: config/tc-pdp11.c:654
msgid "Float AC not legal as integer operand"
msgstr "AC de coma flotante no es legal como operando entero"
-#: config/tc-pdp11.c:628
+#: config/tc-pdp11.c:674
msgid "General register not legal as float operand"
msgstr "El registro general no es legal como operando de coma flotante"
-#: config/tc-pdp11.c:661
+#: config/tc-pdp11.c:707
msgid "No instruction found"
msgstr "No se encontró una instrucción"
-#: config/tc-pdp11.c:671 config/tc-z80.c:1932 config/tc-z80.c:1945
+#: config/tc-pdp11.c:717 config/tc-z80.c:3668
#, c-format
msgid "Unknown instruction '%s'"
msgstr "Instrucción desconocida «%s»"
-#: config/tc-pdp11.c:677
+#: config/tc-pdp11.c:723
#, c-format
msgid "Unsupported instruction set extension: %s"
msgstr "No se admite la extensión de conjunto de instrucciones: %s"
-#: config/tc-pdp11.c:711
+#: config/tc-pdp11.c:757
msgid "operand is not an absolute constant"
msgstr "operando no es una constante absoluta"
-#: config/tc-pdp11.c:719
+#: config/tc-pdp11.c:765
msgid "3-bit immediate out of range"
-msgstr "inmediato de 3-bit fuera de límite"
+msgstr "inmediato de 3-bit fuera de rango"
-#: config/tc-pdp11.c:726
+#: config/tc-pdp11.c:772
msgid "6-bit immediate out of range"
-msgstr "inmediato de 6-bit fuera de límite"
+msgstr "inmediato de 6-bit fuera de rango"
-#: config/tc-pdp11.c:733
+#: config/tc-pdp11.c:779
msgid "8-bit immediate out of range"
-msgstr "inmediato de 8-bit fuera de límite"
+msgstr "inmediato de 8-bit fuera de rango"
-#: config/tc-pdp11.c:750 config/tc-pdp11.c:943
+#: config/tc-pdp11.c:796 config/tc-pdp11.c:989
msgid "Symbol expected"
msgstr "Se esperaba un símbolo"
-#: config/tc-pdp11.c:755
+#: config/tc-pdp11.c:801
msgid "8-bit displacement out of range"
-msgstr "Desubicación de 8-bit fuera de límite"
+msgstr "Desubicación de 8-bit fuera de rango"
-#: config/tc-pdp11.c:797 config/tc-pdp11.c:818 config/tc-pdp11.c:835
-#: config/tc-pdp11.c:856 config/tc-pdp11.c:873 config/tc-pdp11.c:894
-#: config/tc-pdp11.c:913 config/tc-pdp11.c:934
+#: config/tc-pdp11.c:843 config/tc-pdp11.c:864 config/tc-pdp11.c:881
+#: config/tc-pdp11.c:902 config/tc-pdp11.c:919 config/tc-pdp11.c:940
+#: config/tc-pdp11.c:959 config/tc-pdp11.c:980
msgid "Missing ','"
msgstr "Ausentea ','"
-#: config/tc-pdp11.c:948
+#: config/tc-pdp11.c:994
msgid "6-bit displacement out of range"
-msgstr "6-bit desplazamiento fuera de límite"
+msgstr "6-bit desplazamiento fuera de rango"
-#: config/tc-pdp11.c:969 config/tc-tilegx.c:1215 config/tc-tilepro.c:1101
-#: config/tc-vax.c:1950
+#: config/tc-pdp11.c:1015 config/tc-tilegx.c:1212 config/tc-tilepro.c:1095
+#: config/tc-vax.c:1945
msgid "Too many operands"
msgstr "Demasiados operandos"
-#: config/tc-pdp11.c:1419
+#: config/tc-pdp11.c:1464
#, c-format
msgid "Can not represent %s relocation in this object file format"
msgstr "No se puede representar la reubicación %s en este formato de fichero objeto"
@@ -14149,601 +16116,882 @@ msgstr ""
"-little\t\t\tgenera código little endian\n"
"-big\t\t\tgenera código big endian\n"
-#: config/tc-pj.c:380 config/tc-sh.c:4149 config/tc-sh.c:4156
-#: config/tc-sh.c:4163 config/tc-sh.c:4170
+#: config/tc-pj.c:380 config/tc-sh.c:3580 config/tc-sh.c:3587
+#: config/tc-sh.c:3594 config/tc-sh.c:3601
msgid "pcrel too far"
msgstr "pcrel demasiado lejos"
-#: config/tc-ppc.c:977 config/tc-ppc.c:985 config/tc-ppc.c:3042
+#: config/tc-ppc.c:964 config/tc-ppc.c:972 config/tc-ppc.c:3497
msgid "invalid register expression"
msgstr "expresión de registro inválido"
-#: config/tc-ppc.c:1145 config/tc-ppc.c:1203 config/tc-ppc.c:1251
+#: config/tc-ppc.c:1135 config/tc-ppc.c:1193 config/tc-ppc.c:1241
msgid "the use of -mvle requires big endian."
msgstr "la utilización de -mvle requiere big endian."
-#: config/tc-ppc.c:1183 config/tc-ppc.c:1205
+#: config/tc-ppc.c:1173 config/tc-ppc.c:1195
msgid "the use of -mvle requires -a32."
msgstr "la macro requiere $at mientras $at está en uso."
-#: config/tc-ppc.c:1185
+#: config/tc-ppc.c:1175
#, c-format
msgid "%s unsupported"
msgstr "no se admite %s"
-#: config/tc-ppc.c:1309
+#: config/tc-ppc.c:1268 config/tc-s390.c:493 config/tc-s390.c:500
+#, c-format
+msgid "invalid switch -m%s"
+msgstr "interruptor -m%s inválido"
+
+#: config/tc-ppc.c:1299
msgid "--nops needs a numeric argument"
msgstr "--nops necesita un argumento numérico"
-#: config/tc-ppc.c:1326
+#: config/tc-ppc.c:1335
+#, fuzzy, c-format
+#| msgid "SPARC options:\n"
+msgid "PowerPC options:\n"
+msgstr "Opciones SPARC:\n"
+
+#: config/tc-ppc.c:1337
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-a32 generate ELF32/XCOFF32\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1340
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-a64 generate ELF64/XCOFF64\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1342
+#, fuzzy, c-format
+#| msgid " -w ignored\n"
+msgid "-u ignored\n"
+msgstr " -w se descarta\n"
+
+#: config/tc-ppc.c:1344
+#, c-format
+msgid "-mpwrx, -mpwr2 generate code for POWER/2 (RIOS2)\n"
+msgstr ""
+
+#: config/tc-ppc.c:1346
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-mpwr generate code for POWER (RIOS1)\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1348
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-m601 generate code for PowerPC 601\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1350
#, c-format
msgid ""
-"PowerPC options:\n"
-"-a32 generate ELF32/XCOFF32\n"
-"-a64 generate ELF64/XCOFF64\n"
-"-u ignored\n"
-"-mpwrx, -mpwr2 generate code for POWER/2 (RIOS2)\n"
-"-mpwr generate code for POWER (RIOS1)\n"
-"-m601 generate code for PowerPC 601\n"
"-mppc, -mppc32, -m603, -m604\n"
" generate code for PowerPC 603/604\n"
-"-m403 generate code for PowerPC 403\n"
-"-m405 generate code for PowerPC 405\n"
-"-m440 generate code for PowerPC 440\n"
-"-m464 generate code for PowerPC 464\n"
-"-m476 generate code for PowerPC 476\n"
+msgstr ""
+
+#: config/tc-ppc.c:1353
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-m403 generate code for PowerPC 403\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1355
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-m405 generate code for PowerPC 405\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1357
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-m440 generate code for PowerPC 440\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1359
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-m464 generate code for PowerPC 464\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1361
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-m476 generate code for PowerPC 476\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1363
+#, c-format
+msgid ""
"-m7400, -m7410, -m7450, -m7455\n"
" generate code for PowerPC 7400/7410/7450/7455\n"
-"-m750cl generate code for PowerPC 750cl\n"
-"-m821, -m850, -m860 generate code for PowerPC 821/850/860\n"
-msgstr ""
-"Opciones de PowerPC:\n"
-"-a32 genera ELF32/XCOFF32\n"
-"-a64 genera ELF64/XCOFF64\n"
-"-u se descarta\n"
-"-mpwrx, -mpwr2 genera código para POWER/2 (RIOS2)\n"
-"-mpwr genera código para POWER (RIOS1)\n"
-"-m601 genera código para PowerPC 601\n"
-"-mppc, -mppc32, -m603, -m604\n"
-" genera código para PowerPC 603/604\n"
-"-m403 genera código para PowerPC 403\n"
-"-m405 genera código para PowerPC 405\n"
-"-m440 genera código para PowerPC 440\n"
-"-m464 genera código para PowerPC 464\n"
-"-m476 genera código para PowerPC 476\n"
-"-m7400, -m7410, -m7450, -m7455\n"
-" genera código para PowerPC 7400/7410/7450/7455\n"
-"-m750cl genera código para PowerPC 750cl\n"
-"-m821, -m850, -m860 genera código para PowerPC 821/850/860\n"
+msgstr ""
-#: config/tc-ppc.c:1345
+#: config/tc-ppc.c:1366
#, c-format
msgid ""
-"-mppc64, -m620 generate code for PowerPC 620/625/630\n"
-"-mppc64bridge generate code for PowerPC 64, including bridge insns\n"
-"-mbooke generate code for 32-bit PowerPC BookE\n"
-"-ma2 generate code for A2 architecture\n"
-"-mpower4, -mpwr4 generate code for Power4 architecture\n"
+"-m750cl, -mgekko, -mbroadway\n"
+" generate code for PowerPC 750cl/Gekko/Broadway\n"
+msgstr ""
+
+#: config/tc-ppc.c:1369
+#, c-format
+msgid "-m821, -m850, -m860 generate code for PowerPC 821/850/860\n"
+msgstr ""
+
+#: config/tc-ppc.c:1371
+#, c-format
+msgid "-mppc64, -m620 generate code for PowerPC 620/625/630\n"
+msgstr ""
+
+#: config/tc-ppc.c:1373
+#, c-format
+msgid "-mppc64bridge generate code for PowerPC 64, including bridge insns\n"
+msgstr ""
+
+#: config/tc-ppc.c:1375
+#, fuzzy, c-format
+#| msgid " -mbig-obj generate big object files\n"
+msgid "-mbooke generate code for 32-bit PowerPC BookE\n"
+msgstr " -mbig-obj genera ficheros objetos grandes\n"
+
+#: config/tc-ppc.c:1377
+#, fuzzy, c-format
+#| msgid " -Z generate object file even after errors\n"
+msgid "-ma2 generate code for A2 architecture\n"
+msgstr " -Z generar fichero objeto par tras errores\n"
+
+#: config/tc-ppc.c:1379
+#, c-format
+msgid "-mpower4, -mpwr4 generate code for Power4 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1381
+#, fuzzy, c-format
+#| msgid " -Z generate object file even after errors\n"
+msgid ""
"-mpower5, -mpwr5, -mpwr5x\n"
" generate code for Power5 architecture\n"
-"-mpower6, -mpwr6 generate code for Power6 architecture\n"
-"-mpower7, -mpwr7 generate code for Power7 architecture\n"
-"-mpower8, -mpwr8 generate code for Power8 architecture\n"
-"-mpower9, -mpwr9 generate code for Power9 architecture\n"
-"-mcell generate code for Cell Broadband Engine architecture\n"
-"-mcom generate code for Power/PowerPC common instructions\n"
-"-many generate code for any architecture (PWR/PWRX/PPC)\n"
-msgstr ""
-"-mppc64, -m620 genera código para PowerPC 620/625/630\n"
-"-mppc64bridge genera código para PowerPC 64, incluyendo\n"
-" instrucciones puente\n"
-"-mbooke genera código para PowerPC BookE de 32-bit\n"
-"-ma2 genera código para la arquitectura A2\n"
-"-mpower4, -mpwr4 genera código para la arquitectura Power4\n"
-"-mpower5, -mpwr5, -mpwr5x\n"
-" genera código para la arquitectura Power5\n"
-"-mpower6, -mpwr6 genera código para la arquitectura Power6\n"
-"-mpower7, -mpwr7 genera código para la arquitectura Power7\n"
-"-mpower8, -mpwr8 genera código para la arquitectura Power9\n"
-"-mpower9, -mpwr9 genera código para la arquitectura Power9\n"
-"-mcell genera código para la arquitectura Cell Broadband Engine\n"
-"-mcom genera código de instrucciones comunes Power/PowerPC\n"
-"-many genera código para cualquier arquitectura (PWR/PWRX/PPC)\n"
+msgstr " -Z generar fichero objeto par tras errores\n"
-#: config/tc-ppc.c:1360
+#: config/tc-ppc.c:1384
#, c-format
-msgid ""
-"-maltivec generate code for AltiVec\n"
-"-mvsx generate code for Vector-Scalar (VSX) instructions\n"
-"-me300 generate code for PowerPC e300 family\n"
-"-me500, -me500x2 generate code for Motorola e500 core complex\n"
-"-me500mc, generate code for Freescale e500mc core complex\n"
-"-me500mc64, generate code for Freescale e500mc64 core complex\n"
-"-me5500, generate code for Freescale e5500 core complex\n"
-"-me6500, generate code for Freescale e6500 core complex\n"
-"-mspe generate code for Motorola SPE instructions\n"
-"-mspe2 generate code for Freescale SPE2 instructions\n"
-"-mvle generate code for Freescale VLE instructions\n"
-"-mtitan generate code for AppliedMicro Titan core complex\n"
-"-mregnames Allow symbolic names for registers\n"
-"-mno-regnames Do not allow symbolic names for registers\n"
-msgstr ""
-"-maltivec genera código para AltiVec\n"
-"-mvsx genera código para instrucciones Vector-Escalar (VSX)\n"
-"-me300 genera código para la familia PowerPC e300\n"
-"-me500, -me500x2 genera código para el núcleo complejo Motorola e500\n"
-"-me500mc, genera código para el núcleo complejo Freescale e500mc\n"
-"-me500mc64, genera código para el núcleo complejo Freescale e500mc64\n"
-"-mspe genera código para las instrucciones Motorola SPE\n"
-"-mspe2 genera código para las instrucciones Freescale SPE2\n"
-"-mvle genera código para las instrucciones Freescale VLE\n"
-"-mtitan genera código para el núcleo complejo Titan AppliedMicro\n"
-"-mregnames Permite nombres simbólicos para los registros\n"
-"-mno-regnames No permite nombres simbólicos para los registros\n"
-
-#: config/tc-ppc.c:1376
+msgid "-mpower6, -mpwr6 generate code for Power6 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1386
+#, c-format
+msgid "-mpower7, -mpwr7 generate code for Power7 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1388
+#, c-format
+msgid "-mpower8, -mpwr8 generate code for Power8 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1390
+#, c-format
+msgid "-mpower9, -mpwr9 generate code for Power9 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1392
#, c-format
+msgid "-mpower10, -mpwr10 generate code for Power10 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1394
+#, c-format
+msgid "-mpower11, -mpwr11 generate code for Power11 architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1396
+#, fuzzy, c-format
+#| msgid " -march=ARCH enable instructions from architecture ARCH\n"
+msgid "-mlibresoc generate code for Libre-SOC architecture\n"
+msgstr " -march=ARQ permite instrucciones para la arquitectura ARQ\n"
+
+#: config/tc-ppc.c:1398
+#, fuzzy, c-format
+#| msgid " -Z generate object file even after errors\n"
+msgid "-mfuture generate code for 'future' architecture\n"
+msgstr " -Z generar fichero objeto par tras errores\n"
+
+#: config/tc-ppc.c:1400
+#, c-format
+msgid "-mcell generate code for Cell Broadband Engine architecture\n"
+msgstr ""
+
+#: config/tc-ppc.c:1402
+#, fuzzy, c-format
+#| msgid " -matomic enable atomic operation instructions\n"
+msgid "-mcom generate code for Power/PowerPC common instructions\n"
+msgstr " -matomic permite instrucciones de operación atómica\n"
+
+#: config/tc-ppc.c:1404
+#, fuzzy, c-format
+#| msgid " -Z generate object file even after errors\n"
+msgid "-many generate code for any architecture (PWR/PWRX/PPC)\n"
+msgstr " -Z generar fichero objeto par tras errores\n"
+
+#: config/tc-ppc.c:1406
+#, fuzzy, c-format
+#| msgid " -mbig-obj generate big object files\n"
+msgid "-maltivec generate code for AltiVec\n"
+msgstr " -mbig-obj genera ficheros objetos grandes\n"
+
+#: config/tc-ppc.c:1408
+#, fuzzy, c-format
+#| msgid " -m32r disable support for the m32rx instruction set\n"
+msgid "-mvsx generate code for Vector-Scalar (VSX) instructions\n"
+msgstr " -m32r desactivar apoyo para el conjunto de instrucciones m32rx\n"
+
+#: config/tc-ppc.c:1410
+#, fuzzy, c-format
+#| msgid " -KPIC generate PIC\n"
+msgid "-me300 generate code for PowerPC e300 family\n"
+msgstr " -KPIC genera PIC\n"
+
+#: config/tc-ppc.c:1412
+#, c-format
+msgid "-me500, -me500x2 generate code for Motorola e500 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1414
+#, c-format
+msgid "-me500mc, generate code for Freescale e500mc core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1416
+#, c-format
+msgid "-me500mc64, generate code for Freescale e500mc64 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1418
+#, c-format
+msgid "-me5500, generate code for Freescale e5500 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1420
+#, c-format
+msgid "-me6500, generate code for Freescale e6500 core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1422
+#, fuzzy, c-format
+#| msgid " -m32r disable support for the m32rx instruction set\n"
+msgid "-mspe generate code for Motorola SPE instructions\n"
+msgstr " -m32r desactivar apoyo para el conjunto de instrucciones m32rx\n"
+
+#: config/tc-ppc.c:1424
+#, fuzzy, c-format
+#| msgid " -m32r disable support for the m32rx instruction set\n"
+msgid "-mspe2 generate code for Freescale SPE2 instructions\n"
+msgstr " -m32r desactivar apoyo para el conjunto de instrucciones m32rx\n"
+
+#: config/tc-ppc.c:1426
+#, fuzzy, c-format
+#| msgid " -m32r disable support for the m32rx instruction set\n"
+msgid "-mvle generate code for Freescale VLE instructions\n"
+msgstr " -m32r desactivar apoyo para el conjunto de instrucciones m32rx\n"
+
+#: config/tc-ppc.c:1428
+#, c-format
+msgid "-mtitan generate code for AppliedMicro Titan core complex\n"
+msgstr ""
+
+#: config/tc-ppc.c:1430
+#, fuzzy, c-format
+#| msgid " -mindex-reg support pseudo index registers\n"
+msgid "-mregnames Allow symbolic names for registers\n"
+msgstr " -mindex-reg admite registros de pseudo índice\n"
+
+#: config/tc-ppc.c:1432
+#, fuzzy, c-format
+#| msgid " -mindex-reg support pseudo index registers\n"
+msgid "-mno-regnames Do not allow symbolic names for registers\n"
+msgstr " -mindex-reg admite registros de pseudo índice\n"
+
+#: config/tc-ppc.c:1435
+#, c-format
+msgid "-mrelocatable support for GCC's -mrelocatble option\n"
+msgstr ""
+
+#: config/tc-ppc.c:1437
+#, c-format
+msgid "-mrelocatable-lib support for GCC's -mrelocatble-lib option\n"
+msgstr ""
+
+#: config/tc-ppc.c:1439
+#, c-format
+msgid "-memb set PPC_EMB bit in ELF flags\n"
+msgstr ""
+
+#: config/tc-ppc.c:1441
+#, fuzzy, c-format
+#| msgid " -mlittle-endian generate little-endian code\n"
msgid ""
-"-mrelocatable support for GCC's -mrelocatble option\n"
-"-mrelocatable-lib support for GCC's -mrelocatble-lib option\n"
-"-memb set PPC_EMB bit in ELF flags\n"
"-mlittle, -mlittle-endian, -le\n"
" generate code for a little endian machine\n"
+msgstr " -mlittle-endian genera código little-endian\n"
+
+#: config/tc-ppc.c:1444
+#, fuzzy, c-format
+#| msgid " -mbig-endian generate big-endian code\n"
+msgid ""
"-mbig, -mbig-endian, -be\n"
" generate code for a big endian machine\n"
-"-msolaris generate code for Solaris\n"
-"-mno-solaris do not generate code for Solaris\n"
-"-K PIC set EF_PPC_RELOCATABLE_LIB in ELF flags\n"
-"-V print assembler version number\n"
-"-Qy, -Qn ignored\n"
-msgstr ""
-"-mrelocatable admite la opción -mrelocatble de GCC\n"
-"-mrelocatable-lib admite la opción -mrelocatble-lib de GCC\n"
-"-memb activa el bit PPC_EMB en las casillas ELF\n"
-"-mlittle, -mlittle-endian, -le\n"
-" genera código para una máquina little endian\n"
-"-mbig, -mbig-endian, be\n"
-" genera código para una máquina big endian\n"
-"-msolaris genera código para Solaris\n"
-"-mno-solaris no genera código para Solaris\n"
-"-K PIC activa EF_PPC_RELOCATABLE_LIB en las casillas ELF\n"
-"-V muestra el número de versión del ensamblador\n"
-"-Qy, -Qn se descarta\n"
+msgstr " -mbig-endian genera código big-endian\n"
-#: config/tc-ppc.c:1390
+#: config/tc-ppc.c:1447
+#, fuzzy, c-format
+#| msgid " -mbig-obj generate big object files\n"
+msgid "-msolaris generate code for Solaris\n"
+msgstr " -mbig-obj genera ficheros objetos grandes\n"
+
+#: config/tc-ppc.c:1449
+#, fuzzy, c-format
+#| msgid " -mbig-obj generate big object files\n"
+msgid "-mno-solaris do not generate code for Solaris\n"
+msgstr " -mbig-obj genera ficheros objetos grandes\n"
+
+#: config/tc-ppc.c:1451
#, c-format
-msgid ""
-"-nops=count when aligning, more than COUNT nops uses a branch\n"
-"-ppc476-workaround warn if emitting data to code sections\n"
+msgid "-K PIC set EF_PPC_RELOCATABLE_LIB in ELF flags\n"
+msgstr ""
+
+#: config/tc-ppc.c:1453
+#, fuzzy, c-format
+#| msgid " --version print assembler version number and exit\n"
+msgid "-V print assembler version number\n"
+msgstr " --version escribe el número de versión del ensamblador y termina\n"
+
+#: config/tc-ppc.c:1455
+#, fuzzy, c-format
+#| msgid " -nocpp ignored\n"
+msgid "-Qy, -Qn ignored\n"
+msgstr " -nocpp se descarta\n"
+
+#: config/tc-ppc.c:1458
+#, fuzzy, c-format
+#| msgid ""
+#| "-nops=count when aligning, more than COUNT nops uses a branch\n"
+#| "-ppc476-workaround warn if emitting data to code sections\n"
+msgid "-nops=count when aligning, more than COUNT nops uses a branch\n"
msgstr ""
"-nops=contador cuando alineando, más que CONTADOR nops utiliza\n"
" una ramificación\n"
"-ppc476-workarround avisa si emitiendo datos para secciones de código\n"
-#: config/tc-ppc.c:1417
+#: config/tc-ppc.c:1460
+#, fuzzy, c-format
+#| msgid ""
+#| "-nops=count when aligning, more than COUNT nops uses a branch\n"
+#| "-ppc476-workaround warn if emitting data to code sections\n"
+msgid "-ppc476-workaround warn if emitting data to code sections\n"
+msgstr ""
+"-nops=contador cuando alineando, más que CONTADOR nops utiliza\n"
+" una ramificación\n"
+"-ppc476-workarround avisa si emitiendo datos para secciones de código\n"
+
+#: config/tc-ppc.c:1490
#, c-format
msgid "unknown default cpu = %s, os = %s"
msgstr "desconoce cpu = %s predeterminada, os = %s"
-#: config/tc-ppc.c:1445
-msgid "neither Power nor PowerPC opcodes were selected."
-msgstr "ni Power ni PowerPC opcodes fueron seleccionados."
-
-#: config/tc-ppc.c:1505
+#: config/tc-ppc.c:1576
#, c-format
msgid "mask trims opcode bits for %s"
msgstr "mascarada recorta bits del código operacional para %s"
-#: config/tc-ppc.c:1514
+#: config/tc-ppc.c:1586
#, c-format
msgid "operand index error for %s"
msgstr "error de índice de operando para %s"
-#: config/tc-ppc.c:1530
+#: config/tc-ppc.c:1612
#, c-format
msgid "operand %d overlap in %s"
msgstr "operando %d sobreescribe en %s"
-#: config/tc-ppc.c:1582
+#: config/tc-ppc.c:1621
+#, c-format
+msgid "non-optional operand %d follows optional operand in %s"
+msgstr ""
+
+#: config/tc-ppc.c:1687
#, c-format
msgid "powerpc_operands[%d].bitm invalid"
msgstr "powerpc_operands[%d].bitm inválido"
-#: config/tc-ppc.c:1589
+#: config/tc-ppc.c:1694
#, c-format
msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
msgstr "powerpc_operands[%d] duplica a powerpc_operands[%d]"
-#: config/tc-ppc.c:1618 config/tc-ppc.c:1682 config/tc-ppc.c:1728
+#: config/tc-ppc.c:1722 config/tc-ppc.c:1775 config/tc-ppc.c:1817
+#: config/tc-ppc.c:1865
#, c-format
msgid "major opcode is not sorted for %s"
msgstr "el código operacional major no está ordenado para %s"
-#: config/tc-ppc.c:1625
+#: config/tc-ppc.c:1728
#, c-format
msgid "%s is enabled by vle flag"
msgstr "%s está activada por marca vle"
-#: config/tc-ppc.c:1632
+#: config/tc-ppc.c:1735
#, c-format
msgid "%s not disabled by vle flag"
msgstr "%s no desactivada por marca vle"
-#: config/tc-ppc.c:1646 config/tc-ppc.c:1699 config/tc-ppc.c:1743
-#, c-format
-msgid "duplicate instruction %s"
-msgstr "instrucción duplicada %s"
+#: config/tc-ppc.c:1841
+#, fuzzy, c-format
+#| msgid "major opcode is not sorted for %s"
+msgid "opcode is not sorted for %s"
+msgstr "el código operacional major no está ordenado para %s"
-#: config/tc-ppc.c:1767
+#: config/tc-ppc.c:2259
#, c-format
-msgid "duplicate macro %s"
-msgstr "macro duplicado %s"
+msgid "symbol+offset@%s means symbol@%s+offset"
+msgstr ""
-#: config/tc-ppc.c:2149
-msgid "symbol+offset not supported for got tls"
+#: config/tc-ppc.c:2279
+#, fuzzy, c-format
+#| msgid "symbol+offset not supported for got tls"
+msgid "symbol+offset@%s not supported"
msgstr "no se admite símbolo+desplazamiento para got tls"
-#: config/tc-ppc.c:2226 config/tc-ppc.c:3746 config/tc-ppc.c:7192
+#: config/tc-ppc.c:2358 config/tc-ppc.c:4223 config/tc-ppc.c:7693
msgid "data in executable section"
msgstr "datos en sección ejecutable"
-#: config/tc-ppc.c:2267 config/tc-ppc.c:5386
+#: config/tc-ppc.c:2399
msgid "expected comma after symbol-name: rest of line ignored."
msgstr "esperaba una coma tras el nombre-símbolo: el resto de la línea descartado."
-#: config/tc-ppc.c:2300 config/tc-ppc.c:5422
+#: config/tc-ppc.c:2432
#, c-format
msgid "ignoring attempt to re-define symbol `%s'."
msgstr "ignorando intento de redefinir símbolo «%s»."
-#: config/tc-ppc.c:2308
+#: config/tc-ppc.c:2440
#, c-format
msgid "length of .lcomm \"%s\" is already %ld. Not changed to %ld."
msgstr "longitud de .lcomm «%s» ya es %ld. No modificado a %ld."
-#: config/tc-ppc.c:2326
+#: config/tc-ppc.c:2458
msgid "common alignment not a power of 2"
msgstr "la alineamiento común no es una potencia de 2"
-#: config/tc-ppc.c:2368
+#: config/tc-ppc.c:2500
#, c-format
msgid "expected comma after name `%s' in .localentry directive"
msgstr "coma esperada tras nombre «%s» en directiva .localentry"
-#: config/tc-ppc.c:2378
+#: config/tc-ppc.c:2510
msgid "missing expression in .localentry directive"
msgstr "expresión ausente en directiva localentry"
-#: config/tc-ppc.c:2392
+#: config/tc-ppc.c:2531
#, c-format
msgid ".localentry expression for `%s' is not a valid power of 2"
msgstr "la expresión .localentry para `%s' no es una potencia de 2 válida"
-#: config/tc-ppc.c:2406
+#: config/tc-ppc.c:2548
#, c-format
msgid ".localentry expression for `%s' does not evaluate to a constant"
msgstr "expresión .localentry para `%s' no evalúa a una constante"
-#: config/tc-ppc.c:2421
+#: config/tc-ppc.c:2563
#, fuzzy
#| msgid "missing expression in .size directive"
msgid "missing expression in .abiversion directive"
msgstr "expresión ausente en directiva localentry"
-#: config/tc-ppc.c:2430
+#: config/tc-ppc.c:2572
msgid ".abiversion expression does not evaluate to a constant"
msgstr "expresión .abiversion no evalúa a una constante"
-#: config/tc-ppc.c:2452
-msgid "unknown .gnu_attribute value"
-msgstr "desconoce valor .gnu_attribute"
-
-#: config/tc-ppc.c:2504
+#: config/tc-ppc.c:2652
msgid "relocation cannot be done when using -mrelocatable"
msgstr "relocation no puede ser hecho cuando utiliza -mrelocatable"
-#: config/tc-ppc.c:2550
+#: config/tc-ppc.c:2698
msgid "TOC section size exceeds 64k"
msgstr "TOC como sección excede 64k"
-#: config/tc-ppc.c:2645
-#, c-format
-msgid "syntax error: invalid toc specifier `%s'"
-msgstr "error sintáctico: especificador de tabla de contenido (toc) «%s» inválido"
-
-#: config/tc-ppc.c:2659
+#: config/tc-ppc.c:3258
#, c-format
-msgid "syntax error: expected `]', found `%c'"
-msgstr "error sintáctico: se esperaba `]', se obtuvo `%c'"
+msgid "%s howto doesn't match size/pcrel in gas"
+msgstr ""
-#: config/tc-ppc.c:2768
+#: config/tc-ppc.c:3337
#, c-format
msgid "unrecognized opcode: `%s'"
msgstr "código operacional no reconocido: «%s»"
-#: config/tc-ppc.c:2959
-msgid "[tocv] symbol is not a toc symbol"
-msgstr "el símbolo [tocv] no es un símbolo de tabla de contenido"
-
-#: config/tc-ppc.c:2970
-msgid "unimplemented toc32 expression modifier"
-msgstr "modificador de expresión toc32 no implementada"
-
-#: config/tc-ppc.c:2975
-msgid "unimplemented toc64 expression modifier"
-msgstr "modificador de expresión toc64 no implementada"
-
-#: config/tc-ppc.c:2979
+#. lmw, stmw, lswi, lswx, stswi, stswx
+#: config/tc-ppc.c:3348
#, c-format
-msgid "Unexpected return value [%d] from parse_toc_entry!\n"
-msgstr "¡Valor de devolución inesperado [%d] de parse_toc_entry!\n"
+msgid "`%s' invalid when little-endian"
+msgstr ""
-#: config/tc-ppc.c:3194
+#: config/tc-ppc.c:3690
#, c-format
msgid "@tls may not be used with \"%s\" operands"
msgstr "@tls quizá no está utiliada con «%s» operandos"
-#: config/tc-ppc.c:3197
+#: config/tc-ppc.c:3693
msgid "@tls may only be used in last operand"
-msgstr "@tls sólo se puede utilizar en el último operando"
+msgstr "@tls solo se puede utilizar en el último operando"
-#: config/tc-ppc.c:3327
+#: config/tc-ppc.c:3731 config/tc-ppc.c:3741 config/tc-ppc.c:3751
+#: config/tc-ppc.c:3766
+#, fuzzy, c-format
+#| msgid "%s unsupported as instruction fixup"
+msgid "%s unsupported on this instruction"
+msgstr "%s no admitido como instrucción corregida"
+
+#: config/tc-ppc.c:3813
#, c-format
msgid "assuming %s on symbol"
msgstr "asumiendo %s en símbolo"
-#: config/tc-ppc.c:3430
+#: config/tc-ppc.c:3936
msgid "unsupported relocation for DS offset field"
msgstr "no se admite el tipo reubicado para el campo de desplazamiento DS"
-#: config/tc-ppc.c:3472
+#: config/tc-ppc.c:3989
#, c-format
-msgid "syntax error; end of line, expected `%c'"
-msgstr "error sintáctico; fin de línea, se esperaba `%c'"
+msgid "syntax error; found `%c', expected `%c'"
+msgstr "error de sintaxis; se encontró `%c', se esperaba `%c'"
-#: config/tc-ppc.c:3474
+#: config/tc-ppc.c:3994
#, c-format
-msgid "syntax error; found `%c', expected `%c'"
-msgstr "error sintáctico; se encontró `%c', se esperaba `%c'"
+msgid "syntax error; end of line, expected `%c'"
+msgstr "error de sintaxis; fin de línea, se esperaba `%c'"
-#: config/tc-ppc.c:3544 config/tc-ppc.c:6505
-msgid "instruction address is not a multiple of 4"
-msgstr "la instrucción direccional no es un múltiplo de 4"
+#: config/tc-ppc.c:4059 config/tc-ppc.c:6863
+#, fuzzy, c-format
+#| msgid "instruction address is not a multiple of 2"
+msgid "instruction address is not a multiple of %d"
+msgstr "la instrucción direccional no es un múltiplo de 2"
-#: config/tc-ppc.c:3703
+#: config/tc-ppc.c:4180
msgid "bad .section directive: want a,e,v,w,x,M,S,G,T in string"
-msgstr "directiva .section equivocada: se quiere en la cadena a,e,v,w,x,M,S,G,T"
+msgstr "directiva .section incorrecta: se quiere en la cadena a,e,v,w,x,M,S,G,T"
-#: config/tc-ppc.c:3783
+#: config/tc-ppc.c:4330
msgid "missing size"
msgstr "ausente el tamaño"
-#: config/tc-ppc.c:3792
+#: config/tc-ppc.c:4339
msgid "negative size"
msgstr "tamaño negativo"
-#: config/tc-ppc.c:3824
+#: config/tc-ppc.c:4366
+msgid "Unknown visibility field in .comm"
+msgstr ""
+
+#: config/tc-ppc.c:4384
msgid "missing real symbol name"
msgstr "ausente el nombre del símbolo real"
-#: config/tc-ppc.c:3863
+#: config/tc-ppc.c:4423
msgid "attempt to redefine symbol"
msgstr "se intenta redefinir el símbolo"
-#: config/tc-ppc.c:4126
+#: config/tc-ppc.c:4732
#, c-format
msgid "no known dwarf XCOFF section for flag 0x%08x\n"
msgstr "no hay una sección XCOFF enana conocida para la opción 0x%08x\n"
-#: config/tc-ppc.c:4139
+#: config/tc-ppc.c:4745
#, c-format
msgid "label %s was not defined in this dwarf section"
msgstr "la etiqueta %s no se definió en esta sección enana"
-#: config/tc-ppc.c:4253
+#: config/tc-ppc.c:4859
msgid "the XCOFF file format does not support arbitrary sections"
msgstr "el formato del fichero XCOFF no admite secciones arbitrarias"
-#: config/tc-ppc.c:4324
+#: config/tc-ppc.c:4897
+msgid "Unknown visibility field in .extern"
+msgstr ""
+
+#: config/tc-ppc.c:4934
+msgid "Unknown visibility field in .globl"
+msgstr ""
+
+#: config/tc-ppc.c:4971
+msgid "Unknown visibility field in .weak"
+msgstr ""
+
+#: config/tc-ppc.c:5022
msgid ".ref outside .csect"
msgstr ".ref fuera de .csect"
-#: config/tc-ppc.c:4345 config/tc-ppc.c:4545
+#: config/tc-ppc.c:5043 config/tc-ppc.c:5303
msgid "missing symbol name"
msgstr "ausente el nombre del símbolo"
-#: config/tc-ppc.c:4375
+#: config/tc-ppc.c:5073
msgid "missing rename string"
msgstr "ausente la cadena para renombrar"
-#: config/tc-ppc.c:4405 config/tc-ppc.c:4944 read.c:3536
+#: config/tc-ppc.c:5103 config/tc-ppc.c:5705
msgid "missing value"
msgstr "ausente el valor"
-#: config/tc-ppc.c:4423
+#: config/tc-ppc.c:5121
msgid "illegal .stabx expression; zero assumed"
msgstr "expresión .stabx ilegal; se asume cero"
-#: config/tc-ppc.c:4455
+#: config/tc-ppc.c:5153
msgid "missing class"
msgstr "ausente la clase"
-#: config/tc-ppc.c:4464
+#: config/tc-ppc.c:5162
msgid "missing type"
msgstr "ausente el tipo"
-#: config/tc-ppc.c:4491
+#: config/tc-ppc.c:5189
msgid ".stabx of storage class stsym must be within .bs/.es"
msgstr ".stabx de la clase de almacenamiento stsym debe estar entre .bs/.es"
-#: config/tc-ppc.c:4732
+#: config/tc-ppc.c:5493
msgid "nested .bs blocks"
msgstr "bloques .bs anidados"
-#: config/tc-ppc.c:4763
+#: config/tc-ppc.c:5524
msgid ".es without preceding .bs"
msgstr ".es sin un .bs precedente"
-#: config/tc-ppc.c:4936
+#: config/tc-ppc.c:5697
msgid "non-constant byte count"
msgstr "contador no constante de byte"
-#: config/tc-ppc.c:5010
+#: config/tc-ppc.c:5772
msgid ".tc not in .toc section"
msgstr ".tc no está en la sección .toc"
-#: config/tc-ppc.c:5028
+#: config/tc-ppc.c:5790
msgid ".tc with no label"
msgstr ".tc sin etiqueta"
-#: config/tc-ppc.c:5112 config/tc-s390.c:1953
+#: config/tc-ppc.c:5818
+#, fuzzy, c-format
+#| msgid "this DS form not yet supported"
+msgid ".tc with storage class %d not yet supported"
+msgstr "aún no se admite esta forma DS"
+
+#: config/tc-ppc.c:5887 config/tc-s390.c:2187
msgid ".machine stack overflow"
msgstr "desbordamiento de pila en .machine"
-#: config/tc-ppc.c:5119 config/tc-s390.c:1964
+#: config/tc-ppc.c:5894 config/tc-s390.c:2198
msgid ".machine stack underflow"
msgstr "desbordamiento por debajo de la pila en .machine"
-#: config/tc-ppc.c:5126 config/tc-s390.c:1976
+#: config/tc-ppc.c:5936 config/tc-s390.c:2210
#, c-format
msgid "invalid machine `%s'"
msgstr "máquina no válida «%s»"
-#: config/tc-ppc.c:5158
-msgid "no previous section to return to, ignored."
-msgstr "ninguna sección anterior para devolver, descartada."
-
-#: config/tc-ppc.c:5431
-#, c-format
-msgid "length of .comm \"%s\" is already %ld. Not changed to %ld."
-msgstr "longitud de .comm «%s» ya es %ld. No modificado a %ld."
-
-#. Section Contents
-#. unknown
-#: config/tc-ppc.c:5559
-msgid "unsupported section attribute -- 'a'"
-msgstr "atributo seccional no apoyado ~ 'a'"
-
-#: config/tc-ppc.c:5742
+#: config/tc-ppc.c:5981
msgid "bad symbol suffix"
-msgstr "sufijo simbólico equivocado"
+msgstr "sufijo de símbolo incorrecto"
-#: config/tc-ppc.c:5835
+#: config/tc-ppc.c:6080
msgid "unrecognized symbol suffix"
msgstr "símbolo sufijo no reconocido"
-#: config/tc-ppc.c:5922
-msgid "two .function pseudo-ops with no intervening .ef"
-msgstr "dos pseudo-operadores .function sin un .ef que intervenga"
-
-#: config/tc-ppc.c:5935
+#: config/tc-ppc.c:6168
msgid ".ef with no preceding .function"
msgstr ".ef sin un .function precedente"
-#: config/tc-ppc.c:6064
+#: config/tc-ppc.c:6307
#, c-format
msgid "warning: symbol %s has no csect"
msgstr "aviso: el símbolo %s no tiene csect"
-#: config/tc-ppc.c:6326
+#: config/tc-ppc.c:6639
msgid "symbol in .toc does not match any .tc"
msgstr "el símbolo en .toc no coincide con ningún .tc"
-#: config/tc-ppc.c:6956
+#: config/tc-ppc.c:7395
#, c-format
msgid "%s unsupported as instruction fixup"
msgstr "%s no admitido como instrucción corregida"
-#: config/tc-ppc.c:7030
+#: config/tc-ppc.c:7494
#, c-format
msgid "unsupported relocation against %s"
msgstr "no se admite la reubicación contra %s"
-#: config/tc-ppc.c:7175
+#: config/tc-ppc.c:7656
+#, c-format
+msgid "R_TLSML relocation doesn't target a TOC entry named \"_$TLSML\": %s"
+msgstr ""
+
+#: config/tc-ppc.c:7676
#, c-format
msgid "Gas failure, reloc value %d\n"
msgstr "Fallo de gas, valor reubicado %d\n"
+#: config/tc-pru.c:309
+msgid "expecting opcode string in self test mode"
+msgstr "esperando cadena operacional de código en modo de prueba"
+
+#: config/tc-pru.c:311
+#, c-format
+msgid "assembly 0x%08x, expected %s"
+msgstr "ensambla 0x%08x, esperado %s"
+
+#: config/tc-pru.c:572
+#, c-format
+msgid "immediate value 0x%x truncated to 0x%x"
+msgstr "valor inmediato 0x%x truncado a 0x%x"
+
+#: config/tc-pru.c:598
+#, c-format
+msgid "call target address 0x%08x out of range 0x%08x to 0x%08x"
+msgstr "llama dirección destino 0x%08x fuera del límite 0x%08x a 0x%08x"
+
#: config/tc-pru.c:603
#, c-format
msgid "quick branch offset %d out of range %d to %d"
-msgstr "ramificación rápida de desplazamiento%d fuera de límite %d a %d"
+msgstr "ramificación rápida de desplazamiento%d fuera de rango %d a %d"
+
+#: config/tc-pru.c:608
+#, c-format
+msgid "%s offset %d out of range %d to %d"
+msgstr "%s desplazamiento %d fuera de rango %d a %d"
+
+#: config/tc-pru.c:613
+#, c-format
+msgid "immediate value %d out of range %d to %d"
+msgstr "valor %d inmediato fuera de rango %d a %d"
#: config/tc-pru.c:618
#, c-format
msgid "immediate value %llu out of range %u to %lu"
-msgstr "valor inmediato %llu fuera de límite desde %u hasta %lu"
+msgstr "valor inmediato %llu fuera de rango desde %u hasta %lu"
+
+#: config/tc-pru.c:623 config/tc-pru.c:628
+#, c-format
+msgid "immediate value %u out of range %u to %u"
+msgstr "valor inmediato %u fuera de rango desde %u hasta %u"
-#: config/tc-pru.c:698
+#: config/tc-pru.c:633
+msgid "overflow in immediate argument"
+msgstr "sobredesbordamiento dentro de argumento inmediato"
+
+#: config/tc-pru.c:668
+msgid "cannot create 64-bit relocation"
+msgstr "no puede crear datos reubicantes de 64-bit"
+
+#: config/tc-pru.c:697
msgid "unexpected PC relative expression"
msgstr "expresión relativa PC inesperada"
-#: config/tc-pru.c:735 config/tc-pru.c:742
+#: config/tc-pru.c:734 config/tc-pru.c:741
msgid "residual low bits in pmem diff relocation"
msgstr ""
-#: config/tc-pru.c:935 config/tc-pru.c:968
+#: config/tc-pru.c:862
+msgid "can't create relocation"
+msgstr "no puede crear reubicación"
+
+#: config/tc-pru.c:938 config/tc-pru.c:971
#, c-format
msgid "trailing garbage after expression: %s"
msgstr "arrastrando basura tras expresión: %s"
-#: config/tc-pru.c:940
+#: config/tc-pru.c:943
#, c-format
msgid "expected expression, got %s"
msgstr "expresión esperada, obtuvo %s"
-#: config/tc-pru.c:973
+#: config/tc-pru.c:976
#, c-format
msgid "expected constant expression, got %s"
msgstr "expresión constante esperada, obtuvo %s"
-#: config/tc-pru.c:1026
+#: config/tc-pru.c:996 config/tc-pru.c:1016 config/tc-pru.c:1043
+#: config/tc-pru.c:1062 config/tc-pru.c:1076
+#, c-format
+msgid "unknown register %s"
+msgstr "registro desconocido %s"
+
+#: config/tc-pru.c:1029
msgid "data transfer register cannot be halfword"
msgstr "registro de transferencia de datos no puede ser mitad de palabra"
-#: config/tc-pru.c:1045
+#: config/tc-pru.c:1048
msgid "destination register must be full-word"
msgstr "registro destino debe ser palabra completa"
-#: config/tc-pru.c:1077
+#: config/tc-pru.c:1080
#, c-format
msgid "cannot use partial register %s for addressing"
msgstr "no se puede utilizar registro %s parcial para direccionamiento"
-#: config/tc-pru.c:1110
+#: config/tc-pru.c:1093
+#, fuzzy, c-format
+#| msgid "value too large for 2-byte field"
+msgid "value %lu is too large for a byte operand"
+msgstr "valor demasiado grande para un campo de 2 bytes"
+
+#: config/tc-pru.c:1115
#, c-format
msgid "loop count constant %ld is out of range [1..%d]"
msgstr "conteo constante de bucle %ld está fuera del rango [1..%d]"
-#: config/tc-pru.c:1209 config/tc-pru.c:1235
+#: config/tc-pru.c:1215 config/tc-pru.c:1241
#, c-format
msgid "byte count constant %ld is out of range [1..%d]"
msgstr "conteo byte constante %ld está fuera del rango [1..%d]"
-#: config/tc-pru.c:1216 config/tc-pru.c:1242
+#: config/tc-pru.c:1222 config/tc-pru.c:1248
msgid "only r0 can be used as byte count register"
msgstr "sóla r0 pueden ser utilizado como registro de conteo de byte"
-#: config/tc-pru.c:1218 config/tc-pru.c:1244
+#: config/tc-pru.c:1224 config/tc-pru.c:1250
msgid "only r0.bX byte fields of r0 can be used as byte count"
msgstr ""
-#: config/tc-pru.c:1257
+#: config/tc-pru.c:1263
#, c-format
msgid "invalid constant table offset %ld"
msgstr "desplazamiento distribuido contante inválido %ld"
-#: config/tc-pru.c:1268
+#: config/tc-pru.c:1274
#, c-format
msgid "invalid WakeOnStatus %ld"
msgstr "invalida WakeOnStatus %ld"
-#: config/tc-pru.c:1279
+#: config/tc-pru.c:1285
#, c-format
msgid "invalid XFR WideBus Address %ld"
msgstr "invalida Dirección XFR WideBus %ld"
-#: config/tc-pru.c:1537
+#: config/tc-pru.c:1318 config/tc-pru.c:1343 config/tc-pru.c:1363
+#, c-format
+msgid "badly formed expression near %s"
+msgstr "expresión incorrectamente formada cercana a %s"
+
+#: config/tc-pru.c:1389
+#, c-format
+msgid "expecting %c near %s"
+msgstr "esperando %c cerca de %s"
+
+#: config/tc-pru.c:1553
#, c-format
msgid ""
"PRU options:\n"
@@ -14751,1116 +16999,1657 @@ msgid ""
" -mno-link-relax don't generate relocations for linker relaxation.\n"
msgstr ""
-#: config/tc-pru.c:1831
+#. Unrecognised instruction - error.
+#: config/tc-pru.c:1724
+#, c-format
+msgid "unrecognised instruction %s"
+msgstr "instrucción %s no reconocida"
+
+#: config/tc-pru.c:1781
+#, c-format
+msgid "can't represent relocation type %s"
+msgstr "no puede representar tipo %s reubicable"
+
+#: config/tc-pru.c:1827
#, c-format
msgid "Label \"%s\" matches a CPU register name"
msgstr "Etiqueta «%s» coincide un nombre de registro de CPU"
-#: config/tc-riscv.c:422
+#: config/tc-riscv.c:237
#, c-format
-msgid "internal error: can't hash `%s': %s"
-msgstr "error interno: no se puede dispersar «%s»: %s"
+msgid "unknown default privileged spec `%s' set by -mpriv-spec or --with-priv-spec"
+msgstr ""
-#: config/tc-riscv.c:503
+#. Still can not find the privileged spec class.
+#: config/tc-riscv.c:259
#, c-format
-msgid "internal: bad RISC-V opcode (mask error): %s %s"
-msgstr "interno: código operacional RISC-V equivocado (error de máscara): %s %s"
+msgid "unknown default privileged spec `%d.%d.%d' set by privileged elf attributes"
+msgstr ""
-#: config/tc-riscv.c:542
+#: config/tc-riscv.c:357
+msgid "the architecture string of -march and elf architecture attributes cannot be empty"
+msgstr ""
+
+#: config/tc-riscv.c:920 config/tc-riscv.c:981 config/tc-riscv.c:1807
+#, fuzzy, c-format
+#| msgid "internal: unhandled label %s"
+msgid "internal: duplicate %s"
+msgstr "interno: etiqueta %s sin manipular"
+
+#: config/tc-riscv.c:1167
+#, fuzzy, c-format
+#| msgid "internal: bad RISC-V opcode (mask error): %s %s"
+msgid "internal: bad RISC-V CSR class (0x%x)"
+msgstr "interno: código operacional RISC-V incorrecto (error de máscara): %s %s"
+
+#: config/tc-riscv.c:1173
#, c-format
-msgid "internal: bad RISC-V opcode (unknown operand type `C%c'): %s %s"
-msgstr "interno: código operacional RISC-V equivocado (tipo de operando `C%c' desconocido): %s %s"
+msgid "invalid CSR `%s', needs rv32i extension"
+msgstr ""
-#: config/tc-riscv.c:577
+#: config/tc-riscv.c:1175
#, c-format
-msgid "internal: bad RISC-V opcode (unknown operand type `%c'): %s %s"
-msgstr "interno: código operacional RISC-V equivocado (tipo desconocido de operando `%c'): %s %s"
+msgid "invalid CSR `%s', needs `h' extension"
+msgstr ""
+
+#: config/tc-riscv.c:1179
+#, c-format
+msgid "invalid CSR `%s', needs `%s' extension"
+msgstr ""
-#: config/tc-riscv.c:585
+#: config/tc-riscv.c:1202
#, c-format
-msgid "internal: bad RISC-V opcode (bits 0x%lx undefined): %s %s"
-msgstr "interno: código operacional RISC-V equivocado (varios bit 0x%lx indefinidos): %s %s"
+msgid "invalid CSR `%s' for the privileged spec `%s'"
+msgstr ""
+
+#: config/tc-riscv.c:1452
+msgid "cannot find `}' for cm.push/cm.pop"
+msgstr ""
-#: config/tc-riscv.c:707
+#: config/tc-riscv.c:1488
#, c-format
-msgid "Unsupported RISC-V relocation number %d"
+msgid "internal: bad RISC-V opcode (mask error): %s %s"
+msgstr "interno: código operacional RISC-V incorrecto (error de máscara): %s %s"
+
+#: config/tc-riscv.c:1767
+#, fuzzy, c-format
+#| msgid "internal: bad RISC-V opcode (unknown operand type `%c'): %s %s"
+msgid "internal: bad RISC-V opcode (unknown operand type `%s'): %s %s"
+msgstr "interno: código operacional RISC-V incorrecto (tipo desconocido de operando `%c'): %s %s"
+
+#: config/tc-riscv.c:1776
+#, fuzzy, c-format
+#| msgid "internal: bad RISC-V opcode (bits 0x%lx undefined): %s %s"
+msgid "internal: bad RISC-V opcode (bits %#llx undefined or invalid): %s %s"
+msgstr "interno: código operacional RISC-V incorrecto (varios bit 0x%lx indefinidos): %s %s"
+
+#: config/tc-riscv.c:1818
+#, fuzzy
+#| msgid "Broken assembler. No assembly attempted."
+msgid "internal: broken assembler. No assembly attempted"
+msgstr "Ensamblador descompuesto. No se intentó ensamblar."
+
+#: config/tc-riscv.c:1993
+#, fuzzy, c-format
+#| msgid "Unsupported RISC-V relocation number %d"
+msgid "internal: unsupported RISC-V relocation number %d"
msgstr "No admitido número de reubicación RISC-V %d"
-#: config/tc-riscv.c:794
-msgid "internal error: invalid macro"
+#: config/tc-riscv.c:2109
+#, fuzzy, c-format
+#| msgid "internal error: invalid macro"
+msgid "internal: invalid macro argument `%s'"
msgstr "error interno: macro inválido"
-#: config/tc-riscv.c:823 config/tc-riscv.c:890
+#: config/tc-riscv.c:2159 config/tc-riscv.c:2237
msgid "unsupported large constant"
msgstr "no se admite la constante large"
-#: config/tc-riscv.c:825
-#, c-format
-msgid "Instruction %s requires absolute expression"
+#: config/tc-riscv.c:2161
+#, fuzzy, c-format
+#| msgid "unknown DSP `%s'"
+msgid "unknown CSR `%s'"
+msgstr "desconoce DSP `%s'"
+
+#: config/tc-riscv.c:2164
+#, fuzzy, c-format
+#| msgid "Instruction %s requires absolute expression"
+msgid "instruction %s requires absolute expression"
msgstr "La instrucción %s requiere una expresión absoluta"
-#: config/tc-riscv.c:1046
-#, c-format
-msgid "Macro %s not implemented"
+#: config/tc-riscv.c:2332
+msgid "must provide temp if destination overlaps mask"
+msgstr ""
+
+#: config/tc-riscv.c:2425
+#, fuzzy, c-format
+#| msgid "Macro %s not implemented"
+msgid "internal: macro %s not implemented"
msgstr "Macro %s no implementada"
-#: config/tc-riscv.c:1471
-#, c-format
-msgid "bad RVC field specifier 'C%c'\n"
-msgstr "equivocación de especificador 'C%c' de campo RVC\n"
+#: config/tc-riscv.c:2627 config/tc-riscv.c:2687
+#, fuzzy
+#| msgid "multiple movx specifications"
+msgid "multiple vsew constants"
+msgstr "especificaciones movx múltiples"
+
+#: config/tc-riscv.c:2635
+#, fuzzy
+#| msgid "invalid constant"
+msgid "multiple vlmul constants"
+msgstr "constante no válida"
+
+#: config/tc-riscv.c:2643
+#, fuzzy
+#| msgid "invalid constant"
+msgid "multiple vta constants"
+msgstr "constante no válida"
+
+#: config/tc-riscv.c:2651
+#, fuzzy
+#| msgid "invalid constant"
+msgid "multiple vma constants"
+msgstr "constante no válida"
+
+#: config/tc-riscv.c:2697
+#, fuzzy
+#| msgid "shift must be constant"
+msgid "multiple vlen constants"
+msgstr "el desplazamiento debe ser constante"
+
+#: config/tc-riscv.c:2706
+#, fuzzy
+#| msgid "multiple predicates on same line"
+msgid "multiple vediv constants"
+msgstr "predicados múltiples en la misma línea"
+
+#. Reset error message of the previous round.
+#: config/tc-riscv.c:2872
+msgid "illegal operands"
+msgstr "operandos ilegales"
-#: config/tc-riscv.c:1494 config/tc-riscv.c:1505
+#: config/tc-riscv.c:2923
#, c-format
-msgid "Improper shift amount (%lu)"
+msgid "read-only CSR is written `%s'"
+msgstr ""
+
+#: config/tc-riscv.c:2933
+#, fuzzy
+#| msgid "illegal opcode %s for mcu %s"
+msgid "illegal opcode for zve32x"
+msgstr "código operacional %s ilegal para el mcu %s"
+
+#: config/tc-riscv.c:3185
+msgid "bad value for compressed funct6 field, value must be 0...63"
+msgstr ""
+
+#: config/tc-riscv.c:3200
+msgid "bad value for compressed funct4 field, value must be 0...15"
+msgstr ""
+
+#: config/tc-riscv.c:3215
+msgid "bad value for compressed funct3 field, value must be 0...7"
+msgstr ""
+
+#: config/tc-riscv.c:3230
+msgid "bad value for compressed funct2 field, value must be 0...3"
+msgstr ""
+
+#: config/tc-riscv.c:3323
+msgid "bad value for vsetivli immediate field, value must be 0..1023"
+msgstr ""
+
+#: config/tc-riscv.c:3335
+msgid "bad value for vsetvli immediate field, value must be 0..2047"
+msgstr ""
+
+#: config/tc-riscv.c:3348
+msgid "bad value for vector immediate field, value must be -16...15"
+msgstr ""
+
+#: config/tc-riscv.c:3360
+msgid "bad value for vector immediate field, value must be 0...31"
+msgstr ""
+
+#: config/tc-riscv.c:3372
+msgid "bad value for vector immediate field, value must be -15...16"
+msgstr ""
+
+#: config/tc-riscv.c:3384
+msgid "bad value for vector immediate field, value must be 0...63"
+msgstr ""
+
+#: config/tc-riscv.c:3447 config/tc-riscv.c:3458
+#, fuzzy, c-format
+#| msgid "Improper shift amount (%lu)"
+msgid "improper shift amount (%<PRIu64>)"
msgstr "Cantidad de desplazamiento impropia (%lu)"
-#: config/tc-riscv.c:1516
-#, c-format
-msgid "Improper CSRxI immediate (%lu)"
+#: config/tc-riscv.c:3469
+#, fuzzy, c-format
+#| msgid "Improper CSRxI immediate (%lu)"
+msgid "improper CSRxI immediate (%<PRIu64>)"
msgstr "Inmediato CSRxI impropio (%lu)"
-#: config/tc-riscv.c:1531
-#, c-format
-msgid "Improper CSR address (%lu)"
+#: config/tc-riscv.c:3486
+#, fuzzy, c-format
+#| msgid "Improper CSR address (%lu)"
+msgid "improper CSR address (%<PRIu64>)"
msgstr "Dirección CSR impropia (%lu)"
-#: config/tc-riscv.c:1688
+#: config/tc-riscv.c:3666
msgid "lui expression not in range 0..1048575"
msgstr "expresión lui no en el límite 0..1048575"
-#: config/tc-riscv.c:1716
-#, c-format
-msgid "internal error: bad argument type %c"
-msgstr "error interno: tipo de argumento equivocado %c"
+#: config/tc-riscv.c:3699
+msgid "bad value for opcode field, value must be 0...127 and lower 2 bits must be 0x3"
+msgstr ""
-#: config/tc-riscv.c:1721
-msgid "illegal operands"
-msgstr "operandos ilegales"
+#: config/tc-riscv.c:3715
+msgid "bad value for opcode field, value must be 0...2"
+msgstr ""
-#: config/tc-riscv.c:2056
-#, c-format
-msgid "internal error: bad CFA value #%d"
-msgstr "error interno: valor CFA equivocado nº%d"
+#: config/tc-riscv.c:3738
+msgid "bad value for funct7 field, value must be 0...127"
+msgstr ""
-#: config/tc-riscv.c:2137
-#, c-format
-msgid "internal error: bad relocation #%d"
-msgstr "error interno: reubicación equivocada nº%d"
+#: config/tc-riscv.c:3753
+msgid "bad value for funct3 field, value must be 0...7"
+msgstr ""
-#: config/tc-riscv.c:2142
-msgid "unsupported symbol subtraction"
-msgstr "sustracción simbólica no mantenida"
+#: config/tc-riscv.c:3768
+msgid "bad value for funct2 field, value must be 0...3"
+msgstr ""
-#: config/tc-riscv.c:2238
-msgid ".option pop with no .option push"
-msgstr "opción .option pop sin opción .option push"
+#: config/tc-riscv.c:3786
+#, fuzzy, c-format
+#| msgid "Improper CSRxI immediate (%lu)"
+msgid "Improper bs immediate (%lu)"
+msgstr "Inmediato CSRxI impropio (%lu)"
-#: config/tc-riscv.c:2248
-#, c-format
-msgid "Unrecognized .option directive: %s\n"
-msgstr "No reconoció directiva .option: %s\n"
+#: config/tc-riscv.c:3797
+#, fuzzy, c-format
+#| msgid "Improper CSRxI immediate (%lu)"
+msgid "Improper rnum immediate (%lu)"
+msgstr "Inmediato CSRxI impropio (%lu)"
-#: config/tc-riscv.c:2268
-#, c-format
-msgid "Unsupported use of %s"
-msgstr "No se admite el uso de %s"
+#: config/tc-riscv.c:3829
+#, fuzzy, c-format
+#| msgid "Improper position (%lu)"
+msgid "improper prefetch offset (%ld)"
+msgstr "Posición impropia (%lu)"
+
+#: config/tc-riscv.c:3857
+msgid "bad fli constant operand, supported constants must be in decimal or hexadecimal floating-point literal form"
+msgstr ""
+
+#: config/tc-riscv.c:3988
+msgid "bad value for th.vsetvli immediate field, value must be 0..2047"
+msgstr ""
+
+#: config/tc-riscv.c:3999
+#, fuzzy, c-format
+#| msgid "Unexpected token `%s'"
+msgid "unexpected literal (%s)"
+msgstr "Elemento `%s' inesperado"
+
+#: config/tc-riscv.c:4021
+#, fuzzy, c-format
+#| msgid "Improper CSRxI immediate (%lu)"
+msgid "improper immediate value (%<PRIu64>)"
+msgstr "Inmediato CSRxI impropio (%lu)"
+
+#: config/tc-riscv.c:4027
+#, fuzzy, c-format
+#| msgid "Improper CSRxI immediate (%lu)"
+msgid "improper immediate value (%<PRIi64>)"
+msgstr "Inmediato CSRxI impropio (%lu)"
-#: config/tc-riscv.c:2411
+#: config/tc-riscv.c:4142
#, c-format
-msgid "cannot represent %s relocation in object file"
-msgstr "no puede representar reubicación %s en fichero objeto"
+msgid "bad value for <bit-%s-%s> field, value must be 0...%d"
+msgstr ""
+
+#: config/tc-riscv.c:4188
+#, fuzzy, c-format
+#| msgid "internal: unknown operand type: %s %s"
+msgid "internal: unknown argument type `%s'"
+msgstr "interno: tipo operando desconocido: %s %s"
+
+#: config/tc-riscv.c:4240
+#, fuzzy
+#| msgid "alignment must be constant"
+msgid "values must be constant"
+msgstr "el alineamiento debe ser constante"
+
+#: config/tc-riscv.c:4247
+#, fuzzy
+#| msgid "unrecognized flag"
+msgid "unrecognized values"
+msgstr "marca no reconocida"
+
+#: config/tc-riscv.c:4255 config/tc-riscv.c:4266 config/tc-riscv.c:4280
+#, fuzzy
+#| msgid "Internal Error: bad instruction length"
+msgid "value conflicts with instruction length"
+msgstr "Error interno: longitud incorrecta de instrucción"
-#: config/tc-riscv.c:2552
+#: config/tc-riscv.c:4820
+#, fuzzy
+#| msgid "too many operands"
+msgid "too many pcrel_hi"
+msgstr "demasiados operandos"
+
+#: config/tc-riscv.c:4866
+#, fuzzy, c-format
+#| msgid "internal error: bad relocation #%d"
+msgid "internal: bad relocation #%d"
+msgstr "error interno: reubicación incorrecta nº%d"
+
+#: config/tc-riscv.c:5369
#, c-format
msgid ""
"RISC-V options:\n"
-" -fpic generate position-independent code\n"
-" -fno-pic don't generate position-independent code (default)\n"
-" -march=ISA set the RISC-V architecture\n"
-" -mabi=ABI set the RISC-V ABI\n"
+" -fpic or -fPIC generate position-independent code\n"
+" -fno-pic don't generate position-independent code (default)\n"
+" -march=ISA set the RISC-V architecture\n"
+" -misa-spec=ISAspec set the RISC-V ISA spec (2.2, 20190608, 20191213)\n"
+" -mpriv-spec=PRIVspec set the RISC-V privilege spec (1.10, 1.11, 1.12)\n"
+" -mabi=ABI set the RISC-V ABI\n"
+" -mrelax enable relax (default)\n"
+" -mno-relax disable relax\n"
+" -march-attr generate RISC-V arch attribute\n"
+" -mno-arch-attr don't generate RISC-V arch attribute\n"
+" -mcsr-check enable the csr ISA and privilege spec version checks\n"
+" -mno-csr-check disable the csr ISA and privilege spec version checks (default)\n"
+" -mbig-endian assemble for big-endian\n"
+" -mlittle-endian assemble for little-endian\n"
msgstr ""
-"RISC-V con opciones:\n"
-" -fpic generacódigo independente de posión\n"
-" -fno-pic no genera código independiente de posición (predet.)\n"
-" -march=ISA establece la arquitectura RISC-V\n"
-" -mabi=ABI establece el ABI RISC-V\n"
-#: config/tc-riscv.c:2579
+#: config/tc-riscv.c:5414
#, c-format
msgid "unknown register `%s'"
msgstr "registro desconocido «%s»"
-#: config/tc-riscv.c:2600
-#, c-format
-msgid "non-constant .%cleb128 is not supported"
+#: config/tc-riscv.c:5449
+#, fuzzy
+#| msgid "non-constant .%cleb128 is not supported"
+msgid "non-constant .sleb128 is not supported"
msgstr "no constante. %cleb128 no está apoyado"
-#: config/tc-rl78.c:214
+#: config/tc-riscv.c:5451
+msgid ".uleb128 only supports constant or subtract expressions"
+msgstr ""
+
+#: config/tc-riscv.c:5553
+#, fuzzy, c-format
+#| msgid "internal: bad RISC-V opcode (mask error): %s %s"
+msgid "internal: bad RISC-V privileged spec (%s)"
+msgstr "interno: código operacional RISC-V incorrecto (error de máscara): %s %s"
+
+#: config/tc-riscv.c:5706
+#, fuzzy
+#| msgid "\".option\" directive must appear before any instructions"
+msgid "architecture elf attributes must set before any instructions"
+msgstr "la directiva \".option\" debe aparecer antes de cualquier instrucción"
+
+#: config/tc-riscv.c:5724
+#, fuzzy
+#| msgid "\".option\" directive must appear before any instructions"
+msgid "privileged elf attributes must set before any instructions"
+msgstr "la directiva \".option\" debe aparecer antes de cualquier instrucción"
+
+#: config/tc-riscv.c:5746
+#, fuzzy
+#| msgid "Missing symbol name in directive"
+msgid "missing symbol name for .variant_cc directive"
+msgstr "Ausente nombre de símbolo en la directiva"
+
+#: config/tc-rl78.c:213
msgid "16-bit relocation used in 8-bit operand"
msgstr "la reubicación de 16-bit utilizada en operando de 8-bit"
-#: config/tc-rl78.c:218
+#: config/tc-rl78.c:217
msgid "8-bit relocation used in 16-bit operand"
msgstr "utilizaba reubicación de 8-bit en operando 16-bit"
-#: config/tc-rl78.c:244 config/tc-rx.c:882
+#: config/tc-rl78.c:243 config/tc-rx.c:875
#, c-format
msgid "Value %d doesn't fit in unsigned %d-bit field"
msgstr "El valor %d no cabe en el campo de %d bit sin signo"
-#: config/tc-rl78.c:250 config/tc-rx.c:888
+#: config/tc-rl78.c:249 config/tc-rx.c:881
#, c-format
msgid "Value %d doesn't fit in signed %d-bit field"
msgstr "El valor %d no cabe en el campo de %d bit con signo"
-#: config/tc-rl78.c:368
+#: config/tc-rl78.c:367
#, c-format
msgid " RL78 specific command line options:\n"
msgstr " Opciones de línea de mandatos específicas de RL78:\n"
-#: config/tc-rl78.c:369
+#: config/tc-rl78.c:368
#, c-format
msgid " --mrelax Enable link time relaxation\n"
msgstr " -mrelax Activa relajación temporal enlazada\n"
-#: config/tc-rl78.c:370
+#: config/tc-rl78.c:369
#, c-format
msgid " --mg10 Enable support for G10 variant\n"
msgstr " --mg10 Activa compatibilidad para variante G10\n"
-#: config/tc-rl78.c:371
+#: config/tc-rl78.c:370
#, c-format
msgid " --mg13 Selects the G13 core.\n"
msgstr " --mg13 Selecciona el core G13.\n"
-#: config/tc-rl78.c:372
+#: config/tc-rl78.c:371
#, c-format
msgid " --mg14 Selects the G14 core [default]\n"
msgstr " --mg14 Selecciona el núcleo G14 [predet.]\n"
-#: config/tc-rl78.c:373
+#: config/tc-rl78.c:372
#, c-format
msgid " --mrl78 Alias for --mg14\n"
msgstr " --mrl78 Alias para --mg14\n"
-#: config/tc-rl78.c:374
+#: config/tc-rl78.c:373
#, c-format
msgid " --m32bit-doubles [default]\n"
msgstr " --m32bit-doubles [predet.]\n"
-#: config/tc-rl78.c:375
+#: config/tc-rl78.c:374
#, c-format
msgid " --m64bit-doubles Source code uses 64-bit doubles\n"
msgstr " --m64bit-doubles Código fuente utiliza dobles de 64-bit\n"
-#: config/tc-rl78.c:451
+#: config/tc-rl78.c:439
#, c-format
msgid "%%%s() must be outermost term in expression"
msgstr "%%%s() debe ser término como mucho en expresión"
-#: config/tc-rl78.c:679 config/tc-rx.c:2220
+#: config/tc-rl78.c:667 config/tc-rx.c:2242
#, c-format
msgid "unsupported constant size %d\n"
msgstr "no se admite el tamaño de constante %d\n"
-#: config/tc-rl78.c:695
+#: config/tc-rl78.c:683
#, c-format
msgid "%%hi16/%%lo16 only applies to .short or .hword"
msgstr ""
-#: config/tc-rl78.c:705
+#: config/tc-rl78.c:693
#, c-format
msgid "%%hi8 only applies to .byte"
msgstr "%%hi8 solo aplica a .byte"
-#: config/tc-rl78.c:717 config/tc-rx.c:2227
+#: config/tc-rl78.c:705 config/tc-rx.c:2249
msgid "difference of two symbols only supported with .long, .short, or .byte"
-msgstr "sólo se admite la diferencia de dos símbolos con .long .short o .byte"
+msgstr "solo se admite la diferencia de dos símbolos con .long .short o .byte"
-#: config/tc-rl78.c:1239 config/tc-rx.c:2154
+#: config/tc-rl78.c:1226 config/tc-rx.c:2176
#, c-format
msgid "bad frag at %p : fix %ld addr %ld %ld \n"
-msgstr "fragmento equivocado en %p: fix %ld dir %ld %ld \n"
+msgstr "fragmento incorrecto en %p: fix %ld dir %ld %ld \n"
-#: config/tc-rl78.c:1455
+#: config/tc-rl78.c:1442
#, c-format
msgid "value of %ld too large for 8-bit branch"
msgstr "valor %ld es demasiado grande para la ramificación de 8-bit relativa al PC"
-#: config/tc-rl78.c:1466
+#: config/tc-rl78.c:1453
#, c-format
msgid "value of %ld too large for 16-bit branch"
msgstr "valor de %ld es muy grande para ramificar 16-bit"
-#: config/tc-rl78.c:1515 config/tc-rx.c:2419
+#: config/tc-rl78.c:1502 config/tc-rx.c:2441
#, c-format
msgid "Unknown reloc in md_apply_fix: %s"
msgstr "Reubicación desconocida en md_apply_fix: %s"
-#: config/tc-rx.c:190
+#: config/tc-rx.c:194
#, c-format
msgid "unrecognised RX CPU type %s"
msgstr "no reconocido el tipo de CPU RX %s"
-#: config/tc-rx.c:205
+#: config/tc-rx.c:209
#, c-format
msgid " RX specific command line options:\n"
msgstr " Opciones de línea de mandatos específicas de RX:\n"
-#: config/tc-rx.c:206
+#: config/tc-rx.c:210
#, c-format
msgid " --mbig-endian-data\n"
msgstr " --mbig-endian-data\n"
-#: config/tc-rx.c:207
+#: config/tc-rx.c:211
#, c-format
msgid " --mlittle-endian-data [default]\n"
msgstr " --mlittle-endian-data [por defecto]\n"
-#: config/tc-rx.c:208
+#: config/tc-rx.c:212
#, c-format
msgid " --m32bit-doubles [default]\n"
msgstr " --m32bit-doubles [por defecto]\n"
-#: config/tc-rx.c:209
+#: config/tc-rx.c:213
#, c-format
msgid " --m64bit-doubles\n"
msgstr " --m64bit-doubles\n"
-#: config/tc-rx.c:210
+#: config/tc-rx.c:214
#, c-format
msgid " --muse-conventional-section-names\n"
msgstr " --muse-conventional-section-names\n"
-#: config/tc-rx.c:211
+#: config/tc-rx.c:215
#, c-format
msgid " --muse-renesas-section-names [default]\n"
msgstr " --muse-renesas-section-names [por defecto]\n"
-#: config/tc-rx.c:212
+#: config/tc-rx.c:216
#, c-format
msgid " --msmall-data-limit\n"
msgstr " --msmall-data-limit\n"
-#: config/tc-rx.c:213
+#: config/tc-rx.c:217
#, c-format
msgid " --mrelax\n"
msgstr " --mrelax\n"
-#: config/tc-rx.c:214
+#: config/tc-rx.c:218
#, c-format
msgid " --mpid\n"
msgstr " --mpid\n"
-#: config/tc-rx.c:215
+#: config/tc-rx.c:219
#, c-format
msgid " --mint-register=<value>\n"
msgstr " --mint-register=<valor>\n"
-#: config/tc-rx.c:216
-#, c-format
-msgid " --mcpu=<rx100|rx200|rx600|rx610|rxv2>\n"
+#: config/tc-rx.c:220
+#, fuzzy, c-format
+#| msgid " --mcpu=<rx100|rx200|rx600|rx610|rxv2>\n"
+msgid " --mcpu=<rx100|rx200|rx600|rx610|rxv2|rxv3|rxv3-dfpu>\n"
msgstr " --mcpu=<rx100|rx200|rx600|rx610|rxv2>\n"
-#: config/tc-rx.c:217
+#: config/tc-rx.c:221
#, c-format
msgid " --mno-allow-string-insns"
msgstr " --mno-allow-string-insns"
-#: config/tc-rx.c:297
+#: config/tc-rx.c:291
msgid "no filename following .INCLUDE pseudo-op"
msgstr "no hay un nombre de fichero a continuación del pseudo-operador .INCLUDE"
-#: config/tc-rx.c:400
+#: config/tc-rx.c:392
#, c-format
msgid "unable to locate include file: %s"
msgstr "no se puede localizar el fichero de inclusión: %s"
-#: config/tc-rx.c:451
+#: config/tc-rx.c:443
#, c-format
msgid "unrecognised alignment value in .SECTION directive: %s"
msgstr "no reconocido el valor de alineamiento en la directiva .SECTION: %s"
-#: config/tc-rx.c:468
+#: config/tc-rx.c:460
#, c-format
msgid "unknown parameter following .SECTION directive: %s"
msgstr "parámetro desconocido a continuación de la directiva .SECTION: %s"
-#: config/tc-rx.c:554
+#: config/tc-rx.c:546
msgid "expecting either ON or OFF after .list"
msgstr "se espera ON u OFF tras .list"
-#: config/tc-rx.c:590
+#: config/tc-rx.c:582
#, c-format
msgid "The \".%s\" pseudo-op is not implemented\n"
msgstr "No se admite el pseudo-operador \".%s\"\n"
-#: config/tc-rx.c:1095
+#: config/tc-rx.c:954 config/tc-rx.c:956
+#, fuzzy, c-format
+#| msgid "value %ld out of range"
+msgid "Value %d and %d out of range"
+msgstr "valora %ld fuera de rango"
+
+#: config/tc-rx.c:1111
msgid "The .DEFINE pseudo-op is not implemented"
msgstr "No se admite el pseudo-operador .DEFINE"
-#: config/tc-rx.c:1097
+#: config/tc-rx.c:1113
msgid "The .MACRO pseudo-op is not implemented"
msgstr "No se admite el pseudo-operador .MACRO"
-#: config/tc-rx.c:1099
+#: config/tc-rx.c:1115
msgid "The .BTEQU pseudo-op is not implemented."
msgstr "El pseudo-op .BTEQU no está implementado."
-#: config/tc-rx.c:2084
+#: config/tc-rx.c:2107
msgid "invalid immediate size"
msgstr "tamaño inmediato inválido"
-#: config/tc-rx.c:2103
+#: config/tc-rx.c:2126
msgid "invalid immediate field position"
msgstr "posición de campo inmediato no válida"
-#: config/tc-rx.c:2271
+#: config/tc-rx.c:2293
#, c-format
msgid "jump not 3..10 bytes away (is %d)"
msgstr "omisión no está a 3..10 bytes (es %d)"
-#: config/tc-rx.c:2662
+#: config/tc-rx.c:2684
msgid "Use of an RX string instruction detected in a file being assembled without string instruction support"
msgstr ""
-#: config/tc-s390.c:238 config/tc-sparc.c:318
+#: config/tc-s12z.c:146
+#, fuzzy
+#| msgid "FT32 options:\n"
+msgid ""
+"\n"
+"s12z options:\n"
+msgstr "Opciones FT32:\n"
+
+#: config/tc-s12z.c:147
+msgid " -mreg-prefix=PREFIX set a prefix used to indicate register names (default none)\n"
+msgstr ""
+
+#: config/tc-s12z.c:148
+msgid " -mdollar-hex the prefix '$' instead of '0x' is used to indicate literal hexadecimal constants\n"
+msgstr ""
+
+#: config/tc-s12z.c:315
+#, fuzzy
+#| msgid "non-constant expression in \".if\" statement"
+msgid "A non-constant expression is not permitted here"
+msgstr "expresión en declaración \".if\" no constante"
+
+#: config/tc-s12z.c:432
+#, fuzzy, c-format
+#| msgid "expecting {"
+msgid "Expecting '%c'"
+msgstr "esperando {"
+
+#: config/tc-s12z.c:455
+#, fuzzy
+#| msgid ": Immediate value in cbcond is out of range."
+msgid "An immediate value in a source operand is inappropriate"
+msgstr ": Valor inmediato dentro de ‘cbcond’ está fuera de rango."
+
+#: config/tc-s12z.c:504 config/tc-s12z.c:605
+#, fuzzy
+#| msgid "invalid operands for cross-unit op"
+msgid "Bad operand for constant offset"
+msgstr "operandos inválidos para op de unidades cruzadas"
+
+#: config/tc-s12z.c:532 config/tc-s12z.c:623
+#, fuzzy
+#| msgid "invalid base register for register offset"
+msgid "Invalid operand for register offset"
+msgstr "registro base inválido para el desplazamiento del registro"
+
+#: config/tc-s12z.c:638
+#, fuzzy
+#| msgid "Invalid register for post/pre increment."
+msgid "Invalid register for postdecrement operation"
+msgstr "Registro inválido para post/pre incremento."
+
+#: config/tc-s12z.c:674
+#, fuzzy
+#| msgid "Invalid register for post/pre increment."
+msgid "Invalid register for preincrement operation"
+msgstr "Registro inválido para post/pre incremento."
+
+#: config/tc-s12z.c:692
+#, fuzzy
+#| msgid "Invalid register for post/pre increment."
+msgid "Invalid register for predecrement operation"
+msgstr "Registro inválido para post/pre incremento."
+
+#: config/tc-s12z.c:811
+#, fuzzy
+#| msgid "Garbage at end of instruction: `%s'."
+msgid "Garbage at end of instruction"
+msgstr "Basura al final de la instrucción: «%s»."
+
+#: config/tc-s12z.c:940
+#, fuzzy
+#| msgid "Offset out of 16-bit range: %ld."
+msgid "Offset is outside of 15 bit range"
+msgstr "Desplazamiento fuera del límite de 16-bit: %ld."
+
+#: config/tc-s12z.c:1056
+msgid "Bad size"
+msgstr ""
+
+#: config/tc-s12z.c:1101 config/tc-s12z.c:1161 config/tc-s12z.c:1223
+#: config/tc-s12z.c:1288
+msgid "BAD MUL"
+msgstr ""
+
+#: config/tc-s12z.c:1428
+#, fuzzy, c-format
+#| msgid "Use of r%u as a source register is deprecated when r%u is the destination register."
+msgid "Source register for %s is no larger than the destination register"
+msgstr "Utilización de r%u como registro origen es obsoleto cuando r%u es el registro destino."
+
+#: config/tc-s12z.c:1431
+#, fuzzy
+#| msgid "invalid source register list"
+msgid "The destination and source registers are identical"
+msgstr "invalida listado registrador origen"
+
+#: config/tc-s12z.c:1455
+#, fuzzy, c-format
+#| msgid "operand value out of range for instruction"
+msgid "Immediate value %ld is out of range for instruction %s"
+msgstr "el valor de operando está fuera de rango para la instrucción"
+
+#: config/tc-s12z.c:1526
+#, fuzzy, c-format
+#| msgid "Direct value of %ld is not suitable"
+msgid "trap value %ld is not valid"
+msgstr "El valor directo de %ld no es adecuado"
+
+#: config/tc-s12z.c:1966
+#, fuzzy
+#| msgid "immediate value out of range, expected range [0, 16]"
+msgid "Shift value should be in the range [0,31]"
+msgstr "valor inmediato fuera de rango, se esperaba el límite [0, 16]"
+
+#: config/tc-s12z.c:2013
+#, fuzzy
+#| msgid "invalid shift operator"
+msgid "Bad shift mode"
+msgstr "invalida operador desplazado"
+
+#: config/tc-s12z.c:2026
+#, fuzzy
+#| msgid "Bad .mask directive"
+msgid "Bad shift *direction"
+msgstr "Directiva .mask incorrecta"
+
+#: config/tc-s12z.c:2284
+#, fuzzy, c-format
+#| msgid "Immediate operand is not allowed for operand %d."
+msgid "Immediate operand %ld is inappropriate for size of instruction"
+msgstr "No se permite un operando inmediato para el operando %d."
+
+#: config/tc-s12z.c:2375 config/tc-s12z.c:2444 config/tc-s12z.c:2512
+#, fuzzy, c-format
+#| msgid "Invalid register value %s"
+msgid "Invalid width value for %s"
+msgstr "Valor de registro %s inválido"
+
+#: config/tc-s12z.c:2388 config/tc-s12z.c:2457 config/tc-s12z.c:2525
+#, fuzzy, c-format
+#| msgid "Invalid register value %s"
+msgid "Invalid offset value for %s"
+msgstr "Valor de registro %s inválido"
+
+#: config/tc-s12z.c:3822
+#, fuzzy, c-format
+#| msgid "Invalid instruction %s"
+msgid "Invalid instruction: \"%s\""
+msgstr "Instrucción %s no válida"
+
+#: config/tc-s12z.c:3823
+#, fuzzy, c-format
+#| msgid "invalid segment \"%s\""
+msgid "First invalid token: \"%s\""
+msgstr "segmento no válido «%s»"
+
+#: config/tc-s390.c:280 config/tc-sparc.c:310
msgid "Invalid default architecture, broken assembler."
msgstr "Arquitectura por defecto no válida, ensamblador descompuesto."
-#: config/tc-s390.c:373
+#: config/tc-s390.c:426
#, c-format
msgid "no such machine extension `%s'"
msgstr "no como extensión de máquina «%s»"
-#: config/tc-s390.c:384
+#: config/tc-s390.c:437
#, c-format
msgid "junk at end of machine string, first unrecognized character is `%c'"
msgstr "basura al final de la línea de máquina; el primer carácter inreconocible es «%c»"
-#: config/tc-s390.c:451 config/tc-sparc.c:531
+#: config/tc-s390.c:512 config/tc-sparc.c:489
#, c-format
msgid "invalid architecture -A%s"
msgstr "arquitectura no válida -A%s"
-#: config/tc-s390.c:474
+#: config/tc-s390.c:535
#, c-format
msgid ""
-" S390 options:\n"
-" -mregnames Allow symbolic names for registers\n"
-" -mwarn-areg-zero Warn about zero base/index registers\n"
-" -mno-regnames Do not allow symbolic names for registers\n"
-" -m31 Set file format to 31 bit format\n"
-" -m64 Set file format to 64 bit format\n"
-msgstr ""
-" Opciones de S390:\n"
-" -mregnames Permite nombres simbólicos para los registros\n"
-" -mwarn-areg-zero Avisa sobre registros con base/índice cero\n"
-" -mno-regnames No permite nombres símbólicos para los registros\n"
-" -m31 Establece el formato del fichero al formato 31 bit\n"
-" -m64 Establece el formato del fichero al formato 64 bit\n"
-
-#: config/tc-s390.c:481
-#, c-format
+"S390 options:\n"
+" -m31 generate 31-bit file format (31/32 bit word size)\n"
+" -m64 generate 64-bit file format (64 bit word size)\n"
+" -mesa assemble for Enterprise System Architecture/390\n"
+" -mzarch assemble for z/Architecture\n"
+" -march=<processor> assemble for processor <processor>\n"
+" -mregnames allow symbolic names for registers\n"
+" -mno-regnames do not allow symbolic names for registers\n"
+" -mwarn-areg-zero warn about base/index register zero\n"
+" -mwarn-regtype-mismatch=strict\n"
+" warn about register name type mismatches\n"
+" -mwarn-regtype-mismatch=relaxed\n"
+" warn about register name type mismatches,\n"
+" but allow FPR and VR to be used interchangeably\n"
+" -mno-warn-regtype-mismatch\n"
+" do not warn about register name type mismatches\n"
+msgstr ""
+
+#: config/tc-s390.c:553
+#, fuzzy, c-format
+#| msgid ""
+#| " -V print assembler version number\n"
+#| " -Qy, -Qn ignored\n"
msgid ""
-" -V print assembler version number\n"
-" -Qy, -Qn ignored\n"
+" -V print assembler version number\n"
+" -Qy, -Qn ignored\n"
msgstr ""
" -V muestra el número de versión del ensamblador\n"
" -Qy, -Qn se descarta\n"
-#: config/tc-s390.c:565
-msgid "The 64 bit file format is used without esame instructions."
+#: config/tc-s390.c:556
+#, c-format
+msgid ""
+"Deprecated S390 options:\n"
+" -Aesa assemble for processor IBM S/390 G5 (g5/arch3)\n"
+" -Aesame assemble for processor IBM zSeries 900 (z900/arch5)\n"
+msgstr ""
+
+#: config/tc-s390.c:635
+#, fuzzy
+#| msgid "The 64 bit file format is used without esame instructions."
+msgid "The 64-bit file format is used without z/Architecture instructions."
msgstr "Se usa el formato de fichero de 64 bit sin instrucciones esame."
-#: config/tc-s390.c:581
-#, c-format
-msgid "Internal assembler error for instruction format %s"
-msgstr "Error interno del ensamblador para el formato de instrucción %s"
+#. xgettext:c-format.
+#: config/tc-s390.c:681
+#, fuzzy, c-format
+#| msgid "operand out of range (%d is not between %d and %d)"
+msgid "operand %d: operand out of range (%<PRId64> is not between %<PRId64> and %<PRId64>)"
+msgstr "operando fuera de rango (%d no está entre %d y %d)"
-#: config/tc-s390.c:627
-#, c-format
-msgid "operand out of range (%s not between %ld and %ld)"
-msgstr "operando fuera de límite (%s no está entre %ld y %ld)"
+#. xgettext:c-format.
+#: config/tc-s390.c:693
+#, fuzzy, c-format
+#| msgid "operand out of range (%d is not between %d and %d)"
+msgid "operand out of range (%<PRId64> is not between %<PRId64> and %<PRId64>)"
+msgstr "operando fuera de rango (%d no está entre %d y %d)"
-#: config/tc-s390.c:852
+#: config/tc-s390.c:947
#, c-format
msgid "identifier+constant@%s means identifier@%s+constant"
msgstr "identificador+constante@%s significa identificador@%s+constante"
-#: config/tc-s390.c:933
+#: config/tc-s390.c:1028
msgid "Can't handle O_big in s390_exp_compare"
msgstr "No se puede manipular O_big en s390_exp_compare"
-#: config/tc-s390.c:1015
+#: config/tc-s390.c:1110
msgid "Invalid suffix for literal pool entry"
msgstr "Sufijo inválido para la entrada de conjunto de literales"
-#: config/tc-s390.c:1072
+#: config/tc-s390.c:1167
msgid "Big number is too big"
msgstr "El número grande es demasiado grande"
-#: config/tc-s390.c:1221
+#: config/tc-s390.c:1316
msgid "relocation not applicable"
msgstr "la reubicación no es aplicable"
+#: config/tc-s390.c:1331
+#, fuzzy
+#| msgid "# bars register"
+msgid "base register"
+msgstr "# prohibe el registro"
+
#: config/tc-s390.c:1333
-msgid "invalid length field specified"
-msgstr "longitud especificada de campo no válida"
+#, fuzzy
+#| msgid "Wrong displacement %d"
+msgid "displacement"
+msgstr "Desplazamiento incorrecto %d"
#: config/tc-s390.c:1337
-msgid "index register specified but zero"
+#, fuzzy
+#| msgid "unsupported vector index register"
+msgid "vector index register"
+msgstr "no se admite el registro de índice de vector"
+
+#: config/tc-s390.c:1339
+#, fuzzy
+#| msgid "invalid register"
+msgid "index register"
+msgstr "invalida registro"
+
+#: config/tc-s390.c:1342
+msgid "length"
+msgstr ""
+
+#: config/tc-s390.c:1344 config/tc-s390.c:1539
+#, fuzzy
+#| msgid "# bars register"
+msgid "access register"
+msgstr "# prohibe el registro"
+
+#: config/tc-s390.c:1346 config/tc-s390.c:1542
+#, fuzzy
+#| msgid "expecting control register"
+msgid "control register"
+msgstr "esperando registro de control"
+
+#: config/tc-s390.c:1348 config/tc-s390.c:1547
+#, fuzzy
+#| msgid "floating-point expression required"
+msgid "floating-point register"
+msgstr "requerida expresión de coma flotante"
+
+#: config/tc-s390.c:1350
+#, fuzzy
+#| msgid "invalid source register"
+msgid "general-purpose register"
+msgstr "invalida registro fuente"
+
+#: config/tc-s390.c:1352 config/tc-s390.c:1555
+#, fuzzy
+#| msgid "vector register expected"
+msgid "vector register"
+msgstr "vector registrador esperado"
+
+#: config/tc-s390.c:1356
+#, fuzzy
+#| msgid "invalid number"
+msgid "signed number"
+msgstr "número inválido"
+
+#: config/tc-s390.c:1358
+#, fuzzy
+#| msgid "unassigned file number %ld"
+msgid "unsigned number"
+msgstr "número de fichero %ld sin asignar"
+
+#: config/tc-s390.c:1479
+#, fuzzy, c-format
+#| msgid "illegal operand"
+msgid "operand %d: illegal operand"
+msgstr "operando ilegal"
+
+#: config/tc-s390.c:1484
+#, fuzzy, c-format
+#| msgid "missing operand"
+msgid "operand %d: missing %s operand"
+msgstr "ausente operando"
+
+#: config/tc-s390.c:1496 config/tc-s390.c:1660
+#, fuzzy, c-format
+#| msgid ":operand has too many bits"
+msgid "operand %d: too many fixups"
+msgstr ":operand tiene demasiadas bits"
+
+#: config/tc-s390.c:1506
+#, fuzzy, c-format
+#| msgid "invalid length field specified"
+msgid "operand %d: invalid length field specified"
+msgstr "longitud especificada de campo no válida"
+
+#: config/tc-s390.c:1511
+#, fuzzy, c-format
+#| msgid "index register specified but zero"
+msgid "operand %d: index register specified but zero"
msgstr "se especificó el registro índice pero es cero"
-#: config/tc-s390.c:1341
-msgid "base register specified but zero"
+#: config/tc-s390.c:1516
+#, fuzzy, c-format
+#| msgid "base register specified but zero"
+msgid "operand %d: base register specified but zero"
msgstr "se especificó el registro base pero es cero"
-#: config/tc-s390.c:1345
-msgid "odd numbered general purpose register specified as register pair"
+#: config/tc-s390.c:1521
+#, fuzzy, c-format
+#| msgid "odd numbered general purpose register specified as register pair"
+msgid "operand %d: odd numbered general purpose register specified as register pair"
msgstr "se especificaron registros de propósito general numerados impares como par de registro"
-#: config/tc-s390.c:1353
-msgid "invalid floating point register pair. Valid fp register pair operands are 0, 1, 4, 5, 8, 9, 12 or 13."
+#: config/tc-s390.c:1529
+#, fuzzy, c-format
+#| msgid "invalid floating point register pair. Valid fp register pair operands are 0, 1, 4, 5, 8, 9, 12 or 13."
+msgid "operand %d: invalid floating-point register (FPR) pair (valid FPR pair operands are 0, 1, 4, 5, 8, 9, 12 or 13)"
msgstr "par de registro de coma flotante inválido. Los operandos de pares de registro fp válidos son 0, 1, 4, 5, 8, 9, 12 o 13."
-#: config/tc-s390.c:1442
-msgid "invalid operand suffix"
+#: config/tc-s390.c:1550
+#, fuzzy
+#| msgid "invalid register"
+msgid "general register"
+msgstr "invalida registro"
+
+#: config/tc-s390.c:1560
+#, fuzzy, c-format
+#| msgid "Operand %d to .%s must be a writable register"
+msgid "operand %d: expected %s name as base register"
+msgstr "Operandos %d de .%s debe ser un registro modificable"
+
+#: config/tc-s390.c:1563
+#, fuzzy, c-format
+#| msgid "Operand %d to .%s must be a writable register"
+msgid "operand %d: expected %s name as index register"
+msgstr "Operandos %d de .%s debe ser un registro modificable"
+
+#: config/tc-s390.c:1566
+#, fuzzy, c-format
+#| msgid "operand %d out of range"
+msgid "operand %d: expected %s name"
+msgstr "operando %d fuera de rango"
+
+#: config/tc-s390.c:1656
+#, fuzzy, c-format
+#| msgid "invalid operand suffix"
+msgid "operand %d: invalid operand suffix"
msgstr "sufijo de operando inválido"
-#: config/tc-s390.c:1465
-msgid "syntax error; missing '(' after displacement"
-msgstr "error sintáctico; ausente '(' tras desubicación"
+#: config/tc-s390.c:1680
+#, fuzzy, c-format
+#| msgid "syntax error; missing '(' after displacement"
+msgid "operand %d: syntax error; missing '(' after displacement"
+msgstr "error de sintaxis; ausente '(' tras desubicación"
-#: config/tc-s390.c:1479 config/tc-s390.c:1521 config/tc-s390.c:1564
-msgid "syntax error; expected ','"
-msgstr "error sintáctico; esperado ','"
+#: config/tc-s390.c:1701 config/tc-s390.c:1752 config/tc-s390.c:1797
+#, fuzzy, c-format
+#| msgid "syntax error; expected ','"
+msgid "operand %d: syntax error; expected ','"
+msgstr "error de sintaxis; esperado ','"
-#: config/tc-s390.c:1511
-msgid "syntax error; missing ')' after base register"
-msgstr "error sintáctico; ausente ')' tras registro base"
+#: config/tc-s390.c:1732
+#, fuzzy, c-format
+#| msgid "syntax error; missing ')' after base register"
+msgid "operand %d: syntax error; missing ')' after base register"
+msgstr "error de sintaxis; ausente ')' tras registro base"
-#: config/tc-s390.c:1538
-msgid "syntax error; ')' not allowed here"
-msgstr "errór sintáctico; ')' no se permite aquí"
+#: config/tc-s390.c:1776
+#, fuzzy, c-format
+#| msgid "syntax error; ')' not allowed here"
+msgid "operand %d: syntax error; '%c' not allowed here"
+msgstr "errór de sintaxis; ')' no se permite aquí"
-#: config/tc-s390.c:1689
+#: config/tc-s390.c:1933
#, c-format
msgid "Opcode %s not available in this mode"
msgstr "El código operacional %s no está disponible en este modo"
-#: config/tc-s390.c:1744 config/tc-s390.c:1767 config/tc-s390.c:1780
+#: config/tc-s390.c:1978 config/tc-s390.c:2001 config/tc-s390.c:2014
msgid "Invalid .insn format\n"
msgstr "Formato .insn inválido\n"
-#: config/tc-s390.c:1752
+#: config/tc-s390.c:1986
#, c-format
msgid "Unrecognized opcode format: `%s'"
msgstr "No reconocido el formato de código operacional: «%s»"
-#: config/tc-s390.c:1783
+#: config/tc-s390.c:2017
msgid "second operand of .insn not a constant\n"
msgstr "el segundo operando de .insn no es una constante\n"
-#: config/tc-s390.c:1786
+#: config/tc-s390.c:2020
msgid "missing comma after insn constant\n"
msgstr "ausentea coma tras la constante insn\n"
-#: config/tc-s390.c:2025
+#: config/tc-s390.c:2259
msgid ".machinemode stack overflow"
msgstr "desbordamiento superior .machinemode de pila"
-#: config/tc-s390.c:2032
+#: config/tc-s390.c:2266
msgid ".machinemode stack underflow"
msgstr "desbordamiento inferior .machinemode de pila"
-#: config/tc-s390.c:2049
+#: config/tc-s390.c:2283
#, c-format
msgid "invalid machine mode `%s'"
msgstr "modo no válido de máquina «%s»"
-#: config/tc-s390.c:2251
-#, c-format
-msgid "cannot emit relocation %s against subsy symbol %s"
-msgstr "no se puede emitir la reubicación %s contra el símbolo subsy %s"
-
-#: config/tc-s390.c:2368
+#: config/tc-s390.c:2605
msgid "unsupported relocation type"
msgstr "no se admite el tipo reubicado"
# El mensaje no se puede traducir correctamente. El segundo parámetro
# se sustituye por " against " sin traducir. cfuga
-#: config/tc-s390.c:2423
+#: config/tc-s390.c:2660
#, c-format
msgid "cannot emit PC relative %s relocation%s%s"
msgstr "no se puede emitir la reubicación %s relativa al PC%s%s"
-#: config/tc-s390.c:2562
+#: config/tc-s390.c:2799
#, c-format
msgid "Gas failure, reloc type %s\n"
msgstr "Fallo de gas, valor reubicado %s\n"
-#: config/tc-s390.c:2564
+#: config/tc-s390.c:2801
#, c-format
msgid "Gas failure, reloc type #%i\n"
msgstr "Fallo de gas, tipo reubicado #%i\n"
-#: config/tc-score.c:260
+#: config/tc-score.c:256
msgid "div / mul are reserved instructions"
msgstr "div / mul son instrucciones reservadas"
-#: config/tc-score.c:261
+#: config/tc-score.c:257
msgid "This architecture doesn't support mmu"
msgstr "Esta arquitectura no admite mmu"
-#: config/tc-score.c:262
+#: config/tc-score.c:258
msgid "This architecture doesn't support atomic instruction"
msgstr "Esta arquitectura no admite la instrucción atomic"
-#: config/tc-score.c:469
+#: config/tc-score.c:464
msgid "S+core register expected"
msgstr "se esperaba un registro S+core"
-#: config/tc-score.c:470
+#: config/tc-score.c:465
msgid "S+core special-register expected"
msgstr "Se esperaba un registro especial S+core"
-#: config/tc-score.c:471
+#: config/tc-score.c:466
msgid "S+core co-processor register expected"
msgstr "Se esperaba un registro de co-procesador S+core"
-#: config/tc-score.c:1074
+#: config/tc-score.c:1069
msgid "Using temp register (r1)"
msgstr "Utilizando registero (r1) temp"
-#: config/tc-score.c:1093
+#: config/tc-score.c:1088
#, c-format
msgid "register expected, not '%.100s'"
msgstr "se esperaba un registro, no '%.100s'"
-#: config/tc-score.c:1149 config/tc-score.c:5485
+#: config/tc-score.c:1144 config/tc-score.c:5483
msgid "rd must be even number."
msgstr "rd debe ser un número par."
-#: config/tc-score.c:1513 config/tc-score.c:1520
+#: config/tc-score.c:1508 config/tc-score.c:1515
#, c-format
msgid "invalid constant: %d bit expression not in range %u..%u"
msgstr "constante no válida: la expresión de %d bit no está en el límite %u..%u"
-#: config/tc-score.c:1526 config/tc-score.c:1533 config/tc-score.c:2895
-#: config/tc-score.c:2900 config/tc-score.c:3165 config/tc-score.c:3170
-#: config/tc-score.c:3462
+#: config/tc-score.c:1521 config/tc-score.c:1528 config/tc-score.c:2893
+#: config/tc-score.c:2898 config/tc-score.c:3163 config/tc-score.c:3168
+#: config/tc-score.c:3460
#, c-format
msgid "invalid constant: %d bit expression not in range %d..%d"
msgstr "constante no válida: la expresión de %d bit no está en el límite %d..%d"
-#: config/tc-score.c:1558
+#: config/tc-score.c:1553
msgid "invalid constant: bit expression not defined"
msgstr "constante no válida: la expresión de bit no está definida"
-#: config/tc-score.c:2068
+#: config/tc-score.c:2063
msgid "Using temp register(r1)"
msgstr "Se usa register(r1) temporal"
-#: config/tc-score.c:2082
+#: config/tc-score.c:2077
#, c-format
msgid "low register (r0-r15) expected, not '%.100s'"
msgstr "se esperaba registro bajo (r0-r15), no '%.100s'"
-#: config/tc-score.c:2144 config/tc-score.c:3482 config/tc-score.c:3650
-#: config/tc-score.c:3695
+#: config/tc-score.c:2139 config/tc-score.c:3480 config/tc-score.c:3648
+#: config/tc-score.c:3693
#, c-format
msgid "missing ["
msgstr "ausente ["
-#: config/tc-score.c:2158 config/tc-score.c:3103 config/tc-score.c:3305
-#: config/tc-score.c:3321 config/tc-score.c:3392 config/tc-score.c:3447
-#: config/tc-score.c:3671 config/tc-score.c:3716 config/tc-score.c:3865
-#: config/tc-score.c:3919 config/tc-score.c:3965
+#: config/tc-score.c:2153 config/tc-score.c:3101 config/tc-score.c:3303
+#: config/tc-score.c:3319 config/tc-score.c:3390 config/tc-score.c:3445
+#: config/tc-score.c:3669 config/tc-score.c:3714 config/tc-score.c:3863
+#: config/tc-score.c:3917 config/tc-score.c:3963
#, c-format
msgid "missing ]"
msgstr "ausente ]"
-#: config/tc-score.c:2347
+#: config/tc-score.c:2343
#, c-format
msgid "Fix data dependency: %s %s -- %s %s (insert %d nop!/%d)"
msgstr "Dependencia de datos fija: %s %s -- %s %s (insertar %d nop!/%d’)"
-#: config/tc-score.c:2366
+#: config/tc-score.c:2362
#, c-format
msgid "Fix data dependency: %s %s -- %s %s (insert 1 pflush/%d)"
msgstr "Dependencia de datos fija: %s %s -- %s %s (insertar 1 `pflush/%d')"
-#: config/tc-score.c:2382 config/tc-score.c:2389
+#: config/tc-score.c:2378 config/tc-score.c:2385
#, c-format
msgid "data dependency: %s %s -- %s %s (%d/%d bubble)"
msgstr "dependencia de datos: %s %s -- %s %s (%d/%d burbujea)"
-#: config/tc-score.c:2838
+#: config/tc-score.c:2836
msgid "address offset must be half word alignment"
msgstr "el desplazamiento direccional se debe alinear con half word"
-#: config/tc-score.c:2846
+#: config/tc-score.c:2844
msgid "address offset must be word alignment"
msgstr "el desplazamiento direccional se debe alinear con word"
-#: config/tc-score.c:2986 config/tc-score.c:3123
+#: config/tc-score.c:2984 config/tc-score.c:3121
msgid "register same as write-back base"
msgstr "el registro es el mismo que la base de retroescritura"
-#: config/tc-score.c:3093
+#: config/tc-score.c:3091
msgid "pre-indexed expression expected"
msgstr "se esperaba una expresión pre-indizada"
-#: config/tc-score.c:3422
+#: config/tc-score.c:3420
#, c-format
msgid "invalid register number: %d is not in [r0--r7]"
msgstr "número de registro inválido: %d no está en [r0--r7]"
-#: config/tc-score.c:3439
+#: config/tc-score.c:3437
msgid "comma is expected"
msgstr "se esperaba una coma"
-#: config/tc-score.c:3470
+#: config/tc-score.c:3468
#, c-format
msgid "invalid constant: %d is not word align integer"
msgstr "constante no válida: %d no es un entero alineado a word"
-#: config/tc-score.c:3509 config/tc-score.c:3552
+#: config/tc-score.c:3507 config/tc-score.c:3550
msgid "invalid constant: 32 bit expression not word align"
msgstr "constante no válida: la expresión de 32 bit no está alineada a word"
-#: config/tc-score.c:3518 config/tc-score.c:3561
+#: config/tc-score.c:3516 config/tc-score.c:3559
msgid "invalid constant: 32 bit expression not in range [0, 0xffffffff]"
msgstr "constante no válida: la expresión de 32 bit no está en el límite [0, 0xffffffff]"
-#: config/tc-score.c:3594
+#: config/tc-score.c:3592
msgid "invalid constant: 32 bit expression not in range [-0x80000000, 0x7fffffff]"
msgstr "constante no válida: la expresión de 32 bit no está en el límite [-0x80000000, 0x7fffffff]"
-#: config/tc-score.c:3783 config/tc-score.c:3811
+#: config/tc-score.c:3781 config/tc-score.c:3809
msgid "imm5 should >= 2"
msgstr "imm5 debe ser >= 2"
-#: config/tc-score.c:3788 config/tc-score.c:3817
+#: config/tc-score.c:3786 config/tc-score.c:3815
msgid "reg should <= 31"
msgstr "reg debe ser ≤ 31"
-#: config/tc-score.c:3859 config/tc-score.c:3910
+#: config/tc-score.c:3857 config/tc-score.c:3908
msgid "missing +"
msgstr "ausente +"
-#: config/tc-score.c:3903
+#: config/tc-score.c:3901
#, c-format
msgid "%s register same as write-back base"
msgstr "el registro %s es el mismo que la base de retroescritura"
-#: config/tc-score.c:3905
+#: config/tc-score.c:3903
msgid "destination"
msgstr "destino"
-#: config/tc-score.c:3905
+#: config/tc-score.c:3903
msgid "source"
msgstr "fuente"
-#: config/tc-score.c:4235 config/tc-score.c:4311 config/tc-score.c:4946
+#: config/tc-score.c:4234 config/tc-score.c:4310 config/tc-score.c:4945
msgid "expression error"
msgstr "error de expresión"
-#: config/tc-score.c:4241
-msgid "value not in range [0, 0xffffffff]"
-msgstr "el valor no está en el límite [0, 0xffffffff]"
-
-#: config/tc-score.c:4317
+#: config/tc-score.c:4316
msgid "value not in range [-0xffffffff, 0xffffffff]"
msgstr "el valor no está en el límite [-0xffffffff, 0xffffffff]"
-#: config/tc-score.c:4345
+#: config/tc-score.c:4344
msgid "li rd label isn't correct instruction form"
msgstr "etiqueta li rd no es relleno instruccional correcto"
-#: config/tc-score.c:4515 config/tc-score.c:4670 config/tc-score.c:5197
-#: config/tc-score.c:5225
+#: config/tc-score.c:4511 config/tc-score.c:4665 config/tc-score.c:5196
+#: config/tc-score.c:5224
msgid "lacking label "
msgstr "ausente la etiqueta "
-#: config/tc-score.c:4896
+#: config/tc-score.c:4895
msgid "s3_PIC code offset overflow (max 16 signed bits)"
msgstr "s3_PIC como código de desbordamiento de desplazamiento (máx 16 bits con signo)"
-#: config/tc-score.c:4952
+#: config/tc-score.c:4951
msgid "value not in range [0, 0x7fffffff]"
msgstr "el valor no está en el límite [0, 0x7fffffff]"
-#: config/tc-score.c:4957
+#: config/tc-score.c:4956
msgid "end on line error"
msgstr "error de final de línea"
-#: config/tc-score.c:5204
+#: config/tc-score.c:5203
msgid "invalid constant: 25 bit expression not in range [-16777216, 16777215]"
msgstr "constante no válida: la expresión de 25 bit no está en el límite [-16777216, 16777215]"
-#: config/tc-score.c:5231
+#: config/tc-score.c:5230
msgid "invalid constant: 20 bit expression not in range -2^19..2^19-1"
msgstr "invalida constante: expresión de 20 bit no dentro del límite -2^19..2^19-1"
-#: config/tc-score.c:5264
+#: config/tc-score.c:5263
msgid "lacking label"
msgstr "ausente la etiqueta"
-#: config/tc-score.c:5269
+#: config/tc-score.c:5268
msgid "invalid constant: 10 bit expression not in range [-2^9, 2^9-1]"
msgstr "constante no válida: la expresión de 10 bit no está en el límite [-2^9, 2^9-1]"
-#: config/tc-score.c:5365
+#: config/tc-score.c:5363
msgid "pce instruction error (16 bit || 16 bit)."
msgstr "error de instrucción pce (16 bit || 16 bit)."
-#: config/tc-score.c:5383 config/tc-score.c:5407 config/tc-score.c:5434
-#: config/tc-score.c:5463 config/tc-score.c:5512
+#: config/tc-score.c:5381 config/tc-score.c:5405 config/tc-score.c:5432
+#: config/tc-score.c:5461 config/tc-score.c:5510
msgid "score3d instruction."
msgstr "instrucción score3d."
-#: config/tc-score.c:6030
+#: config/tc-score.c:6000
msgid "Unsupported use of .gpword"
msgstr "No se admite el uso de .gpword"
-#: config/tc-score.c:6126
+#: config/tc-score.c:6096
#, c-format
msgid "BSS length (%d) < 0 ignored"
msgstr "Longitud BSS (%d) <0 se descarta"
-#: config/tc-score.c:6141 read.c:2467
+#: config/tc-score.c:6110 read.c:2558
#, c-format
msgid "error setting flags for \".sbss\": %s"
msgstr "error al establecer marcas para \".sbss\": %s"
-#: config/tc-score.c:6155 config/tc-sparc.c:4311
+#: config/tc-score.c:6124 config/tc-sparc.c:4164
msgid "missing alignment"
msgstr "ausente la alineamiento"
-#: config/tc-score.c:6192
+#: config/tc-score.c:6161
#, c-format
msgid "alignment too large; %d assumed"
msgstr "alineamiento demasiado grande; se asume %d"
-#: config/tc-score.c:6197 read.c:2528
+#: config/tc-score.c:6166 read.c:2619
msgid "alignment negative; 0 assumed"
msgstr "alineamiento negativo; asumido 0"
#. Error routine.
-#: config/tc-score.c:6607 config/tc-score.c:6631
+#: config/tc-score.c:6526 config/tc-score.c:6550
msgid "size is not 4 or 6"
msgstr "el tamaño no es 4 o 6"
-#: config/tc-score.c:6690
+#: config/tc-score.c:6609
msgid "bad call to MD_ATOF()"
-msgstr "llamada equivocada a MD_ATOF()"
+msgstr "llamada incorrecta a MD_ATOF()"
-#: config/tc-score.c:7197 config/tc-score.c:7263
+#: config/tc-score.c:7108 config/tc-score.c:7174
#, c-format
msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]"
msgstr " la reubicación de ramificación trunca (0x%x) [-2^9 ~ 2^9-1]"
-#: config/tc-score.c:7212 config/tc-score.c:7241 config/tc-score.c:7293
+#: config/tc-score.c:7123 config/tc-score.c:7152 config/tc-score.c:7204
#, c-format
msgid " branch relocation truncate (0x%x) [-2^19 ~ 2^19-1]"
msgstr " la reubicación de ramificación trunca (0x%x) [-2^19 ~ 2^19-1]"
-#: config/tc-score.c:7318
+#: config/tc-score.c:7229
#, c-format
msgid " branch relocation truncate (0x%x) [-2^9 ~ 2^9-1]"
msgstr " la reubicación de ramificación trunca (0x%x) [-2^9 ~ 2^9-1]"
-#: config/tc-score.c:7488
+#: config/tc-score.c:7399
#, c-format
msgid "cannot represent %s relocation in this object file format1"
msgstr "no se puede representar la reubicación %s en este fichero objeto format1"
-#: config/tc-score.c:7779
+#: config/tc-score.c:7690
#, c-format
msgid "Sunplus-v2-0-0-20060510\n"
msgstr "Sunplus-v2-0-0-20060510\n"
-#: config/tc-score.c:7799
+#: config/tc-score.c:7710
#, c-format
msgid " Score-specific assembler options:\n"
msgstr " Opciones de ensamblador específicas de Score:\n"
-#: config/tc-score.c:7801
+#: config/tc-score.c:7712
#, c-format
msgid " -EB\t\tassemble code for a big-endian cpu\n"
msgstr " -EB\t\tensambla código para un cpu big-endian\n"
-#: config/tc-score.c:7806
+#: config/tc-score.c:7717
#, c-format
msgid " -EL\t\tassemble code for a little-endian cpu\n"
msgstr " -EL\t\tensambla código para un cpu little-endian\n"
-#: config/tc-score.c:7810
+#: config/tc-score.c:7721
#, c-format
msgid " -FIXDD\t\tfix data dependencies\n"
msgstr " -FIXDD\t\t ajusta datos dependientes\n"
-#: config/tc-score.c:7812
+#: config/tc-score.c:7723
#, c-format
msgid " -NWARN\t\tdo not print warning message when fixing data dependencies\n"
msgstr " -NWARN\t\t ensambla código para que no avise sobre dependencia de datos fijo\n"
-#: config/tc-score.c:7814
+#: config/tc-score.c:7725
#, c-format
msgid " -SCORE5\t\tassemble code for target SCORE5\n"
msgstr " -SCORE5\t\t ensambla código para el destino SCORE5\n"
-#: config/tc-score.c:7816
+#: config/tc-score.c:7727
#, c-format
msgid " -SCORE5U\tassemble code for target SCORE5U\n"
msgstr " -SCORE5U\tensambla código para el objetivo SCORE5U\n"
-#: config/tc-score.c:7818
+#: config/tc-score.c:7729
#, c-format
msgid " -SCORE7\t\tassemble code for target SCORE7 [default]\n"
msgstr " -SCORE5\t\tensambla código para el objetivo SCORE7 [predet.]\n"
-#: config/tc-score.c:7820
+#: config/tc-score.c:7731
#, c-format
msgid " -SCORE3\t\tassemble code for target SCORE3\n"
msgstr " -SCORE3\t\t ensambla código para el objetivo SCORE5U\n"
-#: config/tc-score.c:7822
+#: config/tc-score.c:7733
#, c-format
msgid " -march=score7\tassemble code for target SCORE7 [default]\n"
msgstr " -march=score7\t ensambla código para el objetivo SCORE7 [predet.]\n"
-#: config/tc-score.c:7824
+#: config/tc-score.c:7735
#, c-format
msgid " -march=score3\tassemble code for target SCORE3\n"
msgstr " -march=score3\tensambla código para el objetivo SCORE3\n"
-#: config/tc-score.c:7826
+#: config/tc-score.c:7737
#, c-format
msgid " -USE_R1\t\tassemble code for no warning message when using temp register r1\n"
msgstr " -USE_R1\t\tensambla código para que no avise cuando se usa el registro temporal r1\n"
-#: config/tc-score.c:7828
+#: config/tc-score.c:7739
#, c-format
msgid " -KPIC\t\tgenerate PIC\n"
msgstr " -KPIC\t\tgenera PIC\n"
-#: config/tc-score.c:7830
+#: config/tc-score.c:7741
#, c-format
msgid " -O0\t\tdo not perform any optimizations\n"
msgstr " -O0\t\tno realizar ninguna optimización\n"
-#: config/tc-score.c:7832
+#: config/tc-score.c:7743
#, c-format
msgid " -G gpnum\tassemble code for setting gpsize, default is 8 bytes\n"
msgstr " -G gpnum\tensambla código para definir gpsize y por defecto es 8 byte\n"
-#: config/tc-score.c:7834
+#: config/tc-score.c:7745
#, c-format
msgid " -V \t\tSunplus release version\n"
msgstr " -V \t\tVersión Sunplus publicada\n"
-#: config/tc-sh.c:62
+#: config/tc-sh.c:61
msgid "directive .big encountered when option -big required"
msgstr "se encontró una directiva .big cuando se requirió una opción -big"
-#: config/tc-sh.c:72
+#: config/tc-sh.c:71
msgid "directive .little encountered when option -little required"
msgstr "se encontró una directiva .little cuando se requirió una opción -little"
-#: config/tc-sh.c:1422
+#: config/tc-sh.c:1025
msgid "illegal double indirection"
msgstr "doble indirección ilegal"
-#: config/tc-sh.c:1431
+#: config/tc-sh.c:1034
msgid "illegal register after @-"
msgstr "registro ilegal tras @-"
-#: config/tc-sh.c:1447
+#: config/tc-sh.c:1050
msgid "must be @(r0,...)"
msgstr "debe ser @(r0,...)"
-#: config/tc-sh.c:1471
+#: config/tc-sh.c:1074
msgid "syntax error in @(r0,...)"
-msgstr "error sintáctico en @(r0,...)"
+msgstr "error de sintaxis en @(r0,...)"
-#: config/tc-sh.c:1476
+#: config/tc-sh.c:1079
msgid "syntax error in @(r0...)"
-msgstr "error sintáctico en @(r0...)"
+msgstr "error de sintaxis en @(r0...)"
-#: config/tc-sh.c:1521
+#: config/tc-sh.c:1124
msgid "Deprecated syntax."
msgstr "Sintaxis obsoleta."
-#: config/tc-sh.c:1533 config/tc-sh.c:1538
+#: config/tc-sh.c:1136 config/tc-sh.c:1141
msgid "syntax error in @(disp,[Rn, gbr, pc])"
-msgstr "error sintáctico en @(disp,[Rn, gbr, pc])"
+msgstr "error de sintaxis en @(disp,[Rn, gbr, pc])"
-#: config/tc-sh.c:1543
+#: config/tc-sh.c:1146
msgid "expecting )"
msgstr "se esperaba )"
-#: config/tc-sh.c:1551
+#: config/tc-sh.c:1154
msgid "illegal register after @"
msgstr "registro ilegal tras @"
-#: config/tc-sh.c:2192
+#: config/tc-sh.c:1780
#, c-format
msgid "unhandled %d\n"
msgstr "%d sin manipular\n"
-#: config/tc-sh.c:2403
+#: config/tc-sh.c:1993
#, c-format
msgid "Invalid register: 'r%d'"
msgstr "Registro inválido: 'r%d'"
-#: config/tc-sh.c:2515
+#: config/tc-sh.c:2106
#, c-format
msgid "failed for %d\n"
msgstr "falló para %d\n"
-#: config/tc-sh.c:2521
+#: config/tc-sh.c:2112
msgid "misplaced PIC operand"
msgstr "operando PIC mal ubicado"
-#: config/tc-sh.c:2632 config/tc-sh.c:3031
+#: config/tc-sh.c:2223 config/tc-sh.c:2596
msgid "invalid operands for opcode"
msgstr "operandos inválidos para el código operacional"
-#: config/tc-sh.c:2637
+#: config/tc-sh.c:2228
msgid "insn can't be combined with parallel processing insn"
msgstr "las insns no se pueden combinar con insns de procesamiento paralelo"
-#: config/tc-sh.c:2644 config/tc-sh.c:2655 config/tc-sh.c:2687
+#: config/tc-sh.c:2235 config/tc-sh.c:2246 config/tc-sh.c:2278
msgid "multiple movx specifications"
msgstr "especificaciones movx múltiples"
-#: config/tc-sh.c:2649 config/tc-sh.c:2671 config/tc-sh.c:2710
+#: config/tc-sh.c:2240 config/tc-sh.c:2262 config/tc-sh.c:2301
msgid "multiple movy specifications"
msgstr "especificaciones movy múltiples"
-#: config/tc-sh.c:2658 config/tc-sh.c:2691
+#: config/tc-sh.c:2249 config/tc-sh.c:2282
msgid "invalid movx address register"
msgstr "registro direccional movx inválido"
-#: config/tc-sh.c:2660
+#: config/tc-sh.c:2251
msgid "insn cannot be combined with non-nopy"
msgstr "las insns no se pueden combinar con las que no son nopy"
-#: config/tc-sh.c:2674 config/tc-sh.c:2730
+#: config/tc-sh.c:2265 config/tc-sh.c:2321
msgid "invalid movy address register"
msgstr "registro direccional movy inválido"
-#: config/tc-sh.c:2676
+#: config/tc-sh.c:2267
msgid "insn cannot be combined with non-nopx"
msgstr "las insns no se pueden combinar con las que no son nopx"
-#: config/tc-sh.c:2689
+#: config/tc-sh.c:2280
msgid "previous movy requires nopx"
msgstr "el movy previo requiere nopx"
-#: config/tc-sh.c:2697 config/tc-sh.c:2702
+#: config/tc-sh.c:2288 config/tc-sh.c:2293
msgid "invalid movx dsp register"
msgstr "registro dsp movx inválido"
-#: config/tc-sh.c:2712
+#: config/tc-sh.c:2303
msgid "previous movx requires nopy"
msgstr "el movx previo requiere nopy"
-#: config/tc-sh.c:2721 config/tc-sh.c:2726
+#: config/tc-sh.c:2312 config/tc-sh.c:2317
msgid "invalid movy dsp register"
msgstr "registro dsp movy inválido"
-#: config/tc-sh.c:2736
+#: config/tc-sh.c:2327
msgid "dsp immediate shift value not constant"
msgstr "el valor de desplazamiento inmediato dsp no es constante"
-#: config/tc-sh.c:2750 config/tc-sh.c:2776
+#: config/tc-sh.c:2341 config/tc-sh.c:2367
msgid "multiple parallel processing specifications"
msgstr "especificaciones múltiples de procesamiento paralelo"
-#: config/tc-sh.c:2769
+#: config/tc-sh.c:2360
msgid "multiple condition specifications"
msgstr "especificaciones múltiples de condición"
-#: config/tc-sh.c:2807
+#: config/tc-sh.c:2398
msgid "insn cannot be combined with pmuls"
msgstr "la insn no se pueden combinar con pmuls"
-#: config/tc-sh.c:2823
+#: config/tc-sh.c:2414
msgid "bad combined pmuls output operand"
msgstr "operando de salida pmuls mal combinado"
-#: config/tc-sh.c:2833
+#: config/tc-sh.c:2424
msgid "destination register is same for parallel insns"
msgstr "el registro de destino es el mismo para insns paralelas"
-#: config/tc-sh.c:2842
+#: config/tc-sh.c:2433
msgid "condition not followed by conditionalizable insn"
msgstr "la condición no está seguida por una insn condicionalizable"
-#: config/tc-sh.c:2852
+#: config/tc-sh.c:2443
msgid "unrecognized characters at end of parallel processing insn"
msgstr "no se reconocen los caracteres al final de la insn de procesamiento paralelo"
-#: config/tc-sh.c:2968
+#: config/tc-sh.c:2535
msgid "opcode not valid for this cpu variant"
msgstr "el código operacional no es válido para esta variante de cpu"
-#: config/tc-sh.c:3001
+#: config/tc-sh.c:2566
msgid "Delayed branches not available on SH1"
msgstr "Las ramificaciones postergadas no están disponibles en SH1"
-#: config/tc-sh.c:3036
+#: config/tc-sh.c:2601
#, c-format
msgid "excess operands: '%s'"
msgstr "exceso de operandos: «%s»"
-#: config/tc-sh.c:3113
+#: config/tc-sh.c:2678
msgid ".uses pseudo-op seen when not relaxing"
msgstr "se vio el pseudo-operador .uses cuando no se estaba relajando"
-#: config/tc-sh.c:3119
+#: config/tc-sh.c:2684
msgid "bad .uses format"
-msgstr "formato de .uses equivocado"
-
-#: config/tc-sh.c:3230
-msgid "Invalid combination: --isa=SHcompact with --isa=SHmedia"
-msgstr "Combinación no válida: --isa=SHcompact con --isa=SHmedia"
+msgstr "formato de .uses incorrecto"
-#: config/tc-sh.c:3236
-msgid "Invalid combination: --isa=SHmedia with --isa=SHcompact"
-msgstr "Combinación no válida: --isa=SHmedia con --isa=SHcompact"
-
-#: config/tc-sh.c:3238
-msgid "Invalid combination: --abi=64 with --isa=SHcompact"
-msgstr "Combinación no válida: --abi=64 con --isa=SHcompact"
-
-#: config/tc-sh.c:3270
+#: config/tc-sh.c:2802
#, c-format
msgid "Invalid argument to --isa option: %s"
msgstr "Argumento inválido para la opción --isa: %s"
-#: config/tc-sh.c:3279
-msgid "Invalid combination: --abi=32 with --abi=64"
-msgstr "Combinación no válida: --abi=32 con --abi=64"
-
-#: config/tc-sh.c:3285
-msgid "Invalid combination: --abi=64 with --abi=32"
-msgstr "Combinación no válida: --abi=64 con --abi=32"
-
-#: config/tc-sh.c:3287
-msgid "Invalid combination: --isa=SHcompact with --abi=64"
-msgstr "Combinación no válida: --isa=SHcompact con --abi=64"
-
-#: config/tc-sh.c:3291
-#, c-format
-msgid "Invalid argument to --abi option: %s"
-msgstr "Argumento inválido para la opción --abi: %s"
-
-#: config/tc-sh.c:3331
+#: config/tc-sh.c:2826
#, c-format
msgid ""
"SH options:\n"
@@ -15889,311 +18678,93 @@ msgstr ""
" | dsp igual que '-dsp'\n"
" | fp"
-#: config/tc-sh.c:3357
-#, c-format
-msgid ""
-"--isa=[shmedia\t\tset as the default instruction set for SH64\n"
-" | SHmedia\n"
-" | shcompact\n"
-" | SHcompact]\n"
-msgstr ""
-"--isa=[shmedia\t\t establece el conjunto de instrucciones por\n"
-" \t\t defecto para SH64\n"
-" | SHmedia\n"
-" | shcompact\n"
-" | SHcompact]\n"
-
-#: config/tc-sh.c:3362
-#, c-format
-msgid ""
-"--abi=[32|64]\t\tset size of expanded SHmedia operands and object\n"
-"\t\t\tfile type\n"
-"--shcompact-const-crange emit code-range descriptors for constants in\n"
-"\t\t\tSHcompact code sections\n"
-"--no-mix\t\tdisallow SHmedia code in the same section as\n"
-"\t\t\tconstants and SHcompact code\n"
-"--no-expand\t\tdo not expand MOVI, PT, PTA or PTB instructions\n"
-"--expand-pt32\t\twith -abi=64, expand PT, PTA and PTB instructions\n"
-"\t\t\tto 32 bits only\n"
-msgstr ""
-"--abi=[32|64]\t\t establece el tamaño de los operandos SHmedia\n"
-"\t\t\t expandidos y el tipo del fichero objeto\n"
-"--shcompact-const-crange\t emite descriptores de código-límite para\n"
-"\t\t\t constantes en las secciones de código SHcompact\n"
-"--no-mix\t\t\t desactiva el código SHmedia en la misma sección que\n"
-"\t\t\t las constantes y el código SHcompact\n"
-"--no-expand\t\t no expande las instrucciones MOVI, PT, PTA o PTB\n"
-"--expand-pt32\t\t con -abi=64, expande las instrucciones PT, PTA y PTB\n"
-"\t\t\t solamente a 32 bits\n"
-
-#: config/tc-sh.c:3374
+#: config/tc-sh.c:2851
#, c-format
msgid "--fdpic\t\t\tgenerate an FDPIC object file\n"
msgstr "--fdpic\t\t\tgenera un fichero objeto FDPIC\n"
-#: config/tc-sh.c:3465
+#: config/tc-sh.c:2927
msgid ".uses does not refer to a local symbol in the same section"
msgstr ".uses no se refiere a un símbolo local en la misma sección"
-#: config/tc-sh.c:3484
+#: config/tc-sh.c:2946
msgid "can't find fixup pointed to by .uses"
msgstr "no se puede encontrar la compostura señalada por .uses"
-#: config/tc-sh.c:3504
+#: config/tc-sh.c:2966
msgid ".uses target does not refer to a local symbol in the same section"
msgstr "el objetivo .uses no se refiere a un símbolo local en la misma sección"
-#: config/tc-sh.c:3581
+#: config/tc-sh.c:3039
msgid "displacement overflows 12-bit field"
msgstr "la desubicación desborda el campo de 12-bit"
-#: config/tc-sh.c:3584
+#: config/tc-sh.c:3042
#, c-format
msgid "displacement to defined symbol %s overflows 12-bit field"
msgstr "desplazamiento para símbolo %s definido sobredesborda el campo de 12-bit"
-#: config/tc-sh.c:3588
+#: config/tc-sh.c:3046
#, c-format
msgid "displacement to undefined symbol %s overflows 12-bit field"
msgstr "la desubicación del símbolo indefinido %s desborda el campo de 12-bit"
-#: config/tc-sh.c:3661
+#: config/tc-sh.c:3119
msgid "displacement overflows 8-bit field"
msgstr "la desubicación desborda el campo de 8-bit"
-#: config/tc-sh.c:3664
+#: config/tc-sh.c:3122
#, c-format
msgid "displacement to defined symbol %s overflows 8-bit field"
msgstr "la desubicación del símbolo definido %s desborda el campo de 8-bits"
-#: config/tc-sh.c:3668
+#: config/tc-sh.c:3126
#, c-format
msgid "displacement to undefined symbol %s overflows 8-bit field "
msgstr "desplazamiento a símbolo %s indefinido sobredesborda campo de 8-bit "
-#: config/tc-sh.c:3685
+#: config/tc-sh.c:3139
#, c-format
msgid "overflow in branch to %s; converted into longer instruction sequence"
msgstr "desbordamiento en la ramificación a %s; se convirtió en una secuencia de instrucciones más larga"
-#: config/tc-sh.c:3750 config/tc-sh.c:3797 config/tc-sparc.c:4811
-#: config/tc-sparc.c:4835
+#: config/tc-sh.c:3204 config/tc-sh.c:3251 config/tc-sparc.c:4628
+#: config/tc-sparc.c:4652
msgid "misaligned data"
msgstr "datos desalineados"
-#: config/tc-sh.c:4126
+#: config/tc-sh.c:3557
msgid "offset to unaligned destination"
msgstr "desplazamiento a destino desalineado"
-#: config/tc-sh.c:4131
+#: config/tc-sh.c:3562
msgid "negative offset"
msgstr "desplazamiento negativo"
-#: config/tc-sh.c:4282
+#: config/tc-sh.c:3702
msgid "misaligned offset"
msgstr "desplazamiento desalineado"
-#: config/tc-sh64.c:568
-msgid "This operand must be constant at assembly time"
-msgstr "Este operando debe ser una constante al momento de ensamblar"
-
-#: config/tc-sh64.c:681
-msgid "Invalid operand expression"
-msgstr "Expresión de operando inválido"
-
-#: config/tc-sh64.c:773 config/tc-sh64.c:877
-msgid "PTB operand is a SHmedia symbol"
-msgstr "Operando PTB es un símbolo SHmedia"
-
-#: config/tc-sh64.c:776 config/tc-sh64.c:874
-msgid "PTA operand is a SHcompact symbol"
-msgstr "Operando PTA es un símbolo SHcompact"
-
-#: config/tc-sh64.c:792
-msgid "invalid expression in operand"
-msgstr "expresión no válida en operando"
-
-#: config/tc-sh64.c:1483
-#, c-format
-msgid "invalid operand, not a 5-bit unsigned value: %d"
-msgstr "operando inválido, no es un valor de 5-bit sin signo: %d"
-
-#: config/tc-sh64.c:1488
-#, c-format
-msgid "invalid operand, not a 6-bit signed value: %d"
-msgstr "operando inválido, no es un valor de 6-bit con signo: %d"
-
-#: config/tc-sh64.c:1493
-#, c-format
-msgid "invalid operand, not a 6-bit unsigned value: %d"
-msgstr "operando inválido, no es un valor de 6-bit sin signo: %d"
-
-#: config/tc-sh64.c:1498 config/tc-sh64.c:1510
-#, c-format
-msgid "invalid operand, not a 11-bit signed value: %d"
-msgstr "operando inválido, no es un valor de 11-bit con signo: %d"
-
-#: config/tc-sh64.c:1500
-#, c-format
-msgid "invalid operand, not a multiple of 32: %d"
-msgstr "operando inválido, no es un múltiplo de 32: %d"
-
-#: config/tc-sh64.c:1505
-#, c-format
-msgid "invalid operand, not a 10-bit signed value: %d"
-msgstr "operando inválido, no es un valor de 10-bit con signo: %d"
-
-#: config/tc-sh64.c:1512
-#, c-format
-msgid "invalid operand, not an even value: %d"
-msgstr "operando inválido, no es un valor par: %d"
-
-#: config/tc-sh64.c:1517
-#, c-format
-msgid "invalid operand, not a 12-bit signed value: %d"
-msgstr "operando inválido, no es un valor de 12-bit con signo: %d"
-
-#: config/tc-sh64.c:1519
-#, c-format
-msgid "invalid operand, not a multiple of 4: %d"
-msgstr "operando inválido, no es un múltiplo de 4: %d"
-
-#: config/tc-sh64.c:1524
-#, c-format
-msgid "invalid operand, not a 13-bit signed value: %d"
-msgstr "operando inválido, no es un valor de 13-bit con signo: %d"
-
-#: config/tc-sh64.c:1526
-#, c-format
-msgid "invalid operand, not a multiple of 8: %d"
-msgstr "operando inválido, no es un múltiplo de 8: %d"
-
-#: config/tc-sh64.c:1531
-#, c-format
-msgid "invalid operand, not a 16-bit signed value: %d"
-msgstr "operando inválido, no es un valor de 16-bit con signo: %d"
-
-#: config/tc-sh64.c:1536
-#, c-format
-msgid "invalid operand, not a 16-bit unsigned value: %d"
-msgstr "operando inválido, no es un valor de 16-bit sin signo: %d"
-
-#: config/tc-sh64.c:1542
-msgid "operand out of range for PT, PTA and PTB"
-msgstr "operando fuera de límite para PT, PTA y PTB"
-
-#: config/tc-sh64.c:1544
-#, c-format
-msgid "operand not a multiple of 4 for PT, PTA or PTB: %d"
-msgstr "operando no es un múltiplo de 4 para PT, PTA o PTB: %d"
-
-#: config/tc-sh64.c:2065
-#, c-format
-msgid "MOVI operand is not a 32-bit signed value: 0x%8x%08x"
-msgstr "MOVI como operando no es un valor de 32-bit con signo: 0x%8x%08x"
-
-#: config/tc-sh64.c:2422 config/tc-sh64.c:2585 config/tc-sh64.c:2600
-msgid "invalid PIC reference"
-msgstr "referencia PIC no válida"
-
-#: config/tc-sh64.c:2682 config/tc-sh64.c:2722
-msgid "invalid operand: expression in PT target"
-msgstr "operando inválido: expresión en el objetivo PT"
-
-#: config/tc-sh64.c:2813
-#, c-format
-msgid "invalid operands to %s"
-msgstr "operandos inválidos para %s"
-
-#: config/tc-sh64.c:2819
-#, c-format
-msgid "excess operands to %s"
-msgstr "exceso de operandos para %s"
-
-#: config/tc-sh64.c:2864
-#, c-format
-msgid "The `.mode %s' directive is not valid with this architecture"
-msgstr "La directiva `.mode %s' no es válida para esta arquitectura"
-
-#: config/tc-sh64.c:2872
-#, c-format
-msgid "Invalid argument to .mode: %s"
-msgstr "Argumento inválido para .mode: %s"
-
-#: config/tc-sh64.c:2902
-#, c-format
-msgid "The `.abi %s' directive is not valid with this architecture"
-msgstr "La directiva `.abi %s' no es válida para esta arquitectura"
-
-#: config/tc-sh64.c:2908
-msgid "`.abi 64' but command-line options do not specify 64-bit ABI"
-msgstr "`.abi 64' pero las opciones de la línea de mandatos no especifica la ABI de 64-bit"
-
-#: config/tc-sh64.c:2913
-msgid "`.abi 32' but command-line options do not specify 32-bit ABI"
-msgstr "`.abi 32' pero las opciones de la línea de mandatos no especifica la ABI de 32-bit"
-
-#: config/tc-sh64.c:2916
-#, c-format
-msgid "Invalid argument to .abi: %s"
-msgstr "Argumento inválido para .abi: %s"
-
-#: config/tc-sh64.c:2971
-msgid "-no-mix is invalid without specifying SHcompact or SHmedia"
-msgstr "-no-mix es inválido sin especificar SHcompact o SHmedia"
-
-#: config/tc-sh64.c:2976
-msgid "-shcompact-const-crange is invalid without SHcompact"
-msgstr "-shcompact-const-crange es inválido sin SHcompact"
-
-#: config/tc-sh64.c:2979
-msgid "-expand-pt32 only valid with -abi=64"
-msgstr "-expand-pt32 sólo es válido con -abi=64"
-
-#: config/tc-sh64.c:2982
-msgid "-no-expand only valid with SHcompact or SHmedia"
-msgstr "-no-expand sólo es válido con SHcompact o SHmedia"
-
-#: config/tc-sh64.c:2985
-msgid "-expand-pt32 invalid together with -no-expand"
-msgstr "-expand-pt32 es inválido junto con -no-expand"
-
-#: config/tc-sh64.c:3199
-msgid "SHmedia code not allowed in same section as constants and SHcompact code"
-msgstr "Código no admitido SHmedia en la misma sección como constantes y código SHcompact"
-
-#: config/tc-sh64.c:3217
-msgid "No segment info for current section"
-msgstr "Ningún informe segmentario para sección actual"
-
-#: config/tc-sh64.c:3256
-msgid "duplicate datalabel operator ignored"
-msgstr "duplica operador descartado de etiquetado de datos"
-
-#: config/tc-sh64.c:3323
-msgid "Invalid DataLabel expression"
-msgstr "Expresión DataLabel no válida"
-
-#: config/tc-sparc.c:322 config/tc-sparc.c:537
+#: config/tc-sparc.c:314 config/tc-sparc.c:495
msgid "Bad opcode table, broken assembler."
-msgstr "Tabla de códigos operacionales equivocada, ensamblador descompuesto."
+msgstr "Tabla de códigos operacionales incorrecta, ensamblador descompuesto."
-#: config/tc-sparc.c:529
+#: config/tc-sparc.c:487
#, c-format
msgid "invalid architecture -xarch=%s"
msgstr "arquitectura -xarch=%s no válida"
-#: config/tc-sparc.c:610
+#: config/tc-sparc.c:561
#, c-format
msgid "No compiled in support for %d bit object file format"
msgstr "No se compiló el soporte para el formato de fichero objeto de %d bit"
-#: config/tc-sparc.c:695
+#: config/tc-sparc.c:645
#, c-format
msgid "SPARC options:\n"
msgstr "Opciones SPARC:\n"
-#: config/tc-sparc.c:724
+#: config/tc-sparc.c:674
#, c-format
msgid ""
"\n"
@@ -16212,12 +18783,7 @@ msgstr ""
"-relax\t\t\trelaja saltos y ramificaciones (por defecto)\n"
"-no-relax\t\tevita modificar cualquier omisión y ramificación\n"
-#: config/tc-sparc.c:732
-#, c-format
-msgid "-k\t\t\tgenerate PIC\n"
-msgstr "-k\t\t\tgenera PIC\n"
-
-#: config/tc-sparc.c:736
+#: config/tc-sparc.c:681
#, c-format
msgid ""
"-32\t\t\tcreate 32 bit object file\n"
@@ -16226,12 +18792,12 @@ msgstr ""
"-32\t\t\tcrea ficheros objeto de 32 bits\n"
"-64\t\t\tcrea ficheros objeto de 64 bits\n"
-#: config/tc-sparc.c:739
+#: config/tc-sparc.c:684
#, c-format
msgid "\t\t\t[default is %d]\n"
msgstr "\t\t\t[por defecto es %d]\n"
-#: config/tc-sparc.c:741
+#: config/tc-sparc.c:686
#, c-format
msgid ""
"-TSO\t\t\tuse Total Store Ordering\n"
@@ -16242,12 +18808,12 @@ msgstr ""
"-PSO\t\t\tusa el Ordenamiento de Almacenamiento Parcial\n"
"-RMO\t\t\tusa el Ordenamiento de Memoria Relajado\n"
-#: config/tc-sparc.c:745
+#: config/tc-sparc.c:690
#, c-format
msgid "\t\t\t[default is %s]\n"
msgstr "\t\t\t[por defecto es %s]\n"
-#: config/tc-sparc.c:747
+#: config/tc-sparc.c:692
#, c-format
msgid ""
"-KPIC\t\t\tgenerate PIC\n"
@@ -16271,7 +18837,7 @@ msgstr ""
"-Qy, -Qn\t\t se descarta\n"
"-s\t\t\t se descarta\n"
-#: config/tc-sparc.c:760
+#: config/tc-sparc.c:704
#, c-format
msgid ""
"-EL\t\t\tgenerate code for a little endian machine\n"
@@ -16284,361 +18850,348 @@ msgstr ""
"--little-endian-data\tgenera código para una máquina que tenga\n"
" instrucciones big endian y datos little endian.\n"
-#: config/tc-sparc.c:1027
+#: config/tc-sparc.c:968
#, c-format
msgid "Internal error: losing opcode: `%s' \"%s\"\n"
msgstr "Error interno: se pierde el código operacional: «%s» «%s»\n"
-#: config/tc-sparc.c:1046
+#: config/tc-sparc.c:987
#, c-format
msgid "Internal error: can't find opcode `%s' for `%s'\n"
msgstr "Error interno: no se puede encontrar el código operacional «%s» para «%s»\n"
-#: config/tc-sparc.c:1264
+#: config/tc-sparc.c:1203
msgid "Support for 64-bit arithmetic not compiled in."
msgstr "No se compiló el soporte para aritmética de 64-bit."
-#: config/tc-sparc.c:1310
+#: config/tc-sparc.c:1249
msgid "set: number not in 0..4294967295 range"
msgstr "conjunto: el número no está en el límite 0..4294967295"
-#: config/tc-sparc.c:1317
+#: config/tc-sparc.c:1256
msgid "set: number not in -2147483648..4294967295 range"
msgstr "conjunto: el número no está en el límite -2147483648..4294967295"
-#: config/tc-sparc.c:1376
+#: config/tc-sparc.c:1315
msgid "setsw: number not in -2147483648..4294967295 range"
msgstr "conjunto sw: el número no está en el límite -2147483648..4294967295"
-#: config/tc-sparc.c:1424
+#: config/tc-sparc.c:1363
msgid "setx: temporary register same as destination register"
msgstr "setx: el registro temporal es el mismo que el registro destino"
-#: config/tc-sparc.c:1495
+#: config/tc-sparc.c:1434
msgid "setx: illegal temporary register g0"
msgstr "setx: registro temporal ilegal g0"
-#: config/tc-sparc.c:1603
+#: config/tc-sparc.c:1542
msgid "unpredictable DCTI couple"
msgstr "pareja DCTI impredecible"
-#: config/tc-sparc.c:1613
+#: config/tc-sparc.c:1552
msgid "FP branch in delay slot"
msgstr "FP ramificado en ranura retrasada"
-#: config/tc-sparc.c:1629
-msgid "FP branch preceded by FP instruction; NOP inserted"
+#: config/tc-sparc.c:1569
+#, fuzzy
+#| msgid "FP branch preceded by FP instruction; NOP inserted"
+msgid "FP branch preceded by FP compare; NOP inserted"
msgstr "FP ramificado precedió por instrucción FP; se insertó NOP"
-#: config/tc-sparc.c:1669
+#: config/tc-sparc.c:1609
msgid "failed special case insn sanity check"
-msgstr "falló prueba de sensatez de la insn case especial"
+msgstr "la inspección sanitaria de la insn case especial ha fallado"
-#: config/tc-sparc.c:1857
+#: config/tc-sparc.c:1797
msgid ": invalid membar mask name"
msgstr ": nombre inválido de máscara membar"
-#: config/tc-sparc.c:1873
+#: config/tc-sparc.c:1813
msgid ": invalid membar mask expression"
msgstr ": expresión no válida de máscara membar"
-#: config/tc-sparc.c:1878
+#: config/tc-sparc.c:1818
msgid ": invalid membar mask number"
msgstr ": número inválido de máscara membar"
-#: config/tc-sparc.c:1893
+#: config/tc-sparc.c:1833
msgid ": invalid siam mode expression"
msgstr ": modo expresiva siam no válida"
-#: config/tc-sparc.c:1898
+#: config/tc-sparc.c:1838
msgid ": invalid siam mode number"
msgstr ": modo numérico siam inválido"
-#: config/tc-sparc.c:1914
+#: config/tc-sparc.c:1854
msgid ": invalid prefetch function name"
msgstr ": nombre de función de precargado inválido"
-#: config/tc-sparc.c:1922
+#: config/tc-sparc.c:1862
msgid ": invalid prefetch function expression"
msgstr ": expresión de función de precargado no válida"
-#: config/tc-sparc.c:1927
+#: config/tc-sparc.c:1867
msgid ": invalid prefetch function number"
msgstr ": número de función de precargado inválido"
-#: config/tc-sparc.c:1954 config/tc-sparc.c:1960 config/tc-sparc.c:1969
+#: config/tc-sparc.c:1894 config/tc-sparc.c:1900 config/tc-sparc.c:1909
msgid ": unrecognizable privileged register"
msgstr ": registro privilegiado no reconocido"
-#: config/tc-sparc.c:1992 config/tc-sparc.c:1998 config/tc-sparc.c:2007
+#: config/tc-sparc.c:1932 config/tc-sparc.c:1938 config/tc-sparc.c:1947
msgid ": unrecognizable hyperprivileged register"
msgstr ": registro hiperprivilegiado no reconocido"
-#: config/tc-sparc.c:2030 config/tc-sparc.c:2036 config/tc-sparc.c:2045
+#: config/tc-sparc.c:1970 config/tc-sparc.c:1976 config/tc-sparc.c:1985
msgid ": unrecognizable ancillary state register"
msgstr ": registro estatal auxiliar no reconocible"
-#: config/tc-sparc.c:2078
+#: config/tc-sparc.c:2018
msgid ": asr number must be between 0 and 31"
msgstr ": el número asr debe estar entre 0 y 31"
-#: config/tc-sparc.c:2087
+#: config/tc-sparc.c:2027
#, c-format
msgid ": expecting %asrN"
msgstr ": suponiendo %asrN"
-#: config/tc-sparc.c:2129
+#: config/tc-sparc.c:2069
msgid ": crypto immediate must be between 0 and 31"
msgstr ": cripto inmediato debe estar entre 0 y 31"
-#: config/tc-sparc.c:2138
+#: config/tc-sparc.c:2078
msgid ": expecting crypto immediate"
msgstr ": suponiendo criptograma inmediato"
-#: config/tc-sparc.c:2299 config/tc-sparc.c:2338 config/tc-sparc.c:2765
-#: config/tc-sparc.c:2801
+#: config/tc-sparc.c:2239 config/tc-sparc.c:2278 config/tc-sparc.c:2706
+#: config/tc-sparc.c:2742
#, c-format
msgid "Illegal operands: %%%s requires arguments in ()"
msgstr "Operandos ilegales: %%%s requiere de argumentos en ()"
-#: config/tc-sparc.c:2306
+#: config/tc-sparc.c:2246
#, c-format
msgid "Illegal operands: %%%s cannot be used together with other relocs in the insn ()"
msgstr "Operandos ilegales: %%%s no se pueden usar junto con otras reubicaciones en la insn ()"
-#: config/tc-sparc.c:2317
+#: config/tc-sparc.c:2257
#, c-format
msgid "Illegal operands: %%%s can be only used with call __tls_get_addr"
-msgstr "Operandos ilegales: %%%s sólo se pueden usar con la llamada __tls_get_addr"
+msgstr "Operandos ilegales: %%%s solo se pueden usar con la llamada __tls_get_addr"
-#: config/tc-sparc.c:2524
+#: config/tc-sparc.c:2464
msgid "detected global register use not covered by .register pseudo-op"
msgstr "se detectó el uso de un registro global que no está cubierto por el pseudo-operador .register"
-#: config/tc-sparc.c:2626
+#: config/tc-sparc.c:2566
msgid ": There are only 64 f registers; [0-63]"
msgstr ": Solamente hay 64 registros f; [0-63]"
-#: config/tc-sparc.c:2628 config/tc-sparc.c:2646
+#: config/tc-sparc.c:2568 config/tc-sparc.c:2586
msgid ": There are only 32 f registers; [0-31]"
msgstr ": Solamente hay 32 registros f; [0-31]"
-#: config/tc-sparc.c:2638
+#: config/tc-sparc.c:2578
msgid ": There are only 32 single precision f registers; [0-31]"
msgstr ": Solamente hay 32 registros f de precisión sencilla; [0-31]"
-#: config/tc-sparc.c:2659
+#: config/tc-sparc.c:2631
msgid ": Instruction requires frs2 and frsd must be the same register"
msgstr ": Instrucción requiere frs2 y frsd deben estar el mismo registro"
-#: config/tc-sparc.c:2810
+#: config/tc-sparc.c:2751
#, c-format
msgid "Expression inside %%%s could not be parsed"
msgstr "Expresión interna %%%s no pudo ser interpretado"
-#: config/tc-sparc.c:2818
+#: config/tc-sparc.c:2759
#, c-format
msgid "Illegal operands: Can't do arithmetics other than + and - involving %%%s()"
msgstr "Operandos ilegales: No se puede hacer aritmética aparte de + y - que involucre %%%s()"
-#: config/tc-sparc.c:2935
+#: config/tc-sparc.c:2876
#, c-format
msgid "Illegal operands: Can't add non-constant expression to %%%s()"
msgstr "Operandos ilegales: No se puede añadir una expresión que no es constante a %%%s()"
-#: config/tc-sparc.c:2945
+#: config/tc-sparc.c:2886
#, c-format
msgid "Illegal operands: Can't do arithmetics involving %%%s() of a relocatable symbol"
msgstr "Operandos ilegales: No se puede hacer aritmética que involucre a %%%s() de un símbolo reubicable"
-#: config/tc-sparc.c:2963
+#: config/tc-sparc.c:2904
msgid ": PC-relative operand can't be a constant"
msgstr ": operando relativo a PC no puede ser una constante"
-#: config/tc-sparc.c:2970
+#: config/tc-sparc.c:2911
msgid ": TLS operand can't be a constant"
msgstr ": operando TLS no puede ser una constante"
-#: config/tc-sparc.c:2998
+#: config/tc-sparc.c:2939
msgid ": Immediate value in cbcond is out of range."
-msgstr ": Valor inmediato dentro de ‘cbcond’ está fuera de límite."
+msgstr ": Valor inmediato dentro de ‘cbcond’ está fuera de rango."
-#: config/tc-sparc.c:3024
+#: config/tc-sparc.c:2965
msgid ": invalid ASI name"
msgstr ": nombre ASI inválido"
-#: config/tc-sparc.c:3033
+#: config/tc-sparc.c:2974
msgid ": invalid ASI expression"
msgstr ": expresión ASI no válida"
-#: config/tc-sparc.c:3038
+#: config/tc-sparc.c:2979
msgid ": invalid ASI number"
msgstr ": número ASI inválido"
-#: config/tc-sparc.c:3143
+#: config/tc-sparc.c:3084
msgid ": non-immdiate imm2 operand"
msgstr ": operando imm2 no inmediato"
-#: config/tc-sparc.c:3148
+#: config/tc-sparc.c:3089
msgid ": imm2 immediate operand out of range (0-3)"
-msgstr ": operando inmediato imm2 fuera de límite (0-3)"
+msgstr ": operando inmediato imm2 fuera de rango (0-3)"
-#: config/tc-sparc.c:3167
+#: config/tc-sparc.c:3108
msgid "OPF immediate operand out of range (0-0x1ff)"
-msgstr "Operando inmediato OPF fuera de límite (0-0x1ff)"
+msgstr "Operando inmediato OPF fuera de rango (0-0x1ff)"
-#: config/tc-sparc.c:3172
+#: config/tc-sparc.c:3113
msgid "non-immediate OPF operand, ignored"
msgstr "operando OPF que no es inmediato, se descarta"
-#: config/tc-sparc.c:3191
+#: config/tc-sparc.c:3132
msgid ": invalid cpreg name"
msgstr ": nombre cpreg inválido"
-#: config/tc-sparc.c:3220
+#: config/tc-sparc.c:3161
#, c-format
msgid "Illegal operands%s"
msgstr "Operandos ilegales%s"
-#: config/tc-sparc.c:3270
+#: config/tc-sparc.c:3210
#, c-format
msgid "architecture bumped from \"%s\" to \"%s\" on \"%s\""
msgstr "la arquitectura saltó de «%s» a «%s» en «%s»"
-#: config/tc-sparc.c:3311
+#: config/tc-sparc.c:3251
#, c-format
msgid "Architecture mismatch on \"%s %s\"."
msgstr "Arquitectura incoherente en \"%s %s\"."
-#: config/tc-sparc.c:3312
+#: config/tc-sparc.c:3252
#, c-format
msgid "(Requires %s; requested architecture is %s.)"
msgstr "(Requiere %s; arquitectura solicitada es %s.)"
-#: config/tc-sparc.c:3324
+#: config/tc-sparc.c:3264
#, c-format
msgid "Hardware capability \"%s\" not enabled for \"%s\"."
msgstr "La capacidad de hardware «%s» no se activó para «%s»."
-#: config/tc-sparc.c:3753 config/tc-sparc.c:3760 config/tc-sparc.c:3767
-#: config/tc-sparc.c:3774 config/tc-sparc.c:3781 config/tc-sparc.c:3790
-#: config/tc-sparc.c:3802 config/tc-sparc.c:3813 config/tc-sparc.c:3835
-#: config/tc-sparc.c:3859 write.c:1176
+#: config/tc-sparc.c:3650 config/tc-sparc.c:3657 config/tc-sparc.c:3664
+#: config/tc-sparc.c:3671 config/tc-sparc.c:3678 config/tc-sparc.c:3687
+#: config/tc-sparc.c:3699 config/tc-sparc.c:3710 config/tc-sparc.c:3732
+#: config/tc-sparc.c:3756 write.c:1211
msgid "relocation overflow"
msgstr "desbordamiento de reubicación"
-#: config/tc-sparc.c:3914
+#: config/tc-sparc.c:3811
#, c-format
msgid "bad or unhandled relocation type: 0x%02x"
-msgstr "tipo reubicado equivocada o sin manipular: 0x%02x"
+msgstr "tipo reubicado incorrecta o sin manipular: 0x%02x"
-#: config/tc-sparc.c:4273
+#: config/tc-sparc.c:4126
msgid "Expected comma after name"
msgstr "Se esperaba una coma tras nombre"
-#: config/tc-sparc.c:4282
+#: config/tc-sparc.c:4135
#, c-format
msgid "BSS length (%d.) <0! Ignored."
msgstr "¡Longitud BSS (%d.) <0! Se descarta."
-#: config/tc-sparc.c:4294
+#: config/tc-sparc.c:4147
msgid "bad .reserve segment -- expected BSS segment"
-msgstr "segmento .reserve equivocado -- se esperaba el segmento BSS"
-
-#: config/tc-sparc.c:4322
-#, c-format
-msgid "alignment too large; assuming %d"
-msgstr "alineamiento demasiado grande; se asume %d"
+msgstr "segmento .reserve incorrecto -- se esperaba el segmento BSS"
-#: config/tc-sparc.c:4328 config/tc-sparc.c:4477
+#: config/tc-sparc.c:4173 config/tc-sparc.c:4300
msgid "negative alignment"
msgstr "alineamiento negativa"
-#: config/tc-sparc.c:4338 config/tc-sparc.c:4499 read.c:1522 read.c:2540
+#: config/tc-sparc.c:4183 config/tc-sparc.c:4321 read.c:1588 read.c:2631
msgid "alignment not a power of 2"
msgstr "la alineamiento no es una potencia de 2"
-#: config/tc-sparc.c:4391
+#: config/tc-sparc.c:4229
#, c-format
msgid "Ignoring attempt to re-define symbol %s"
msgstr "Se ignora el intento de redefinir el símbolo %s"
-#: config/tc-sparc.c:4414 config/tc-v850.c:283
+#: config/tc-sparc.c:4252 config/tc-v850.c:280
msgid "Expected comma after symbol-name"
msgstr "Se esperaba una coma tras nombre del símbolo"
-#: config/tc-sparc.c:4424
+#: config/tc-sparc.c:4262
#, c-format
msgid ".COMMon length (%lu) out of range ignored"
-msgstr "longitud .COMMún (%lu) fuera de límite descartado"
+msgstr "longitud .COMMún (%lu) fuera de rango descartado"
-#: config/tc-sparc.c:4457
+#: config/tc-sparc.c:4288
msgid "Expected comma after common length"
msgstr "Se esperaba una coma tras la longitud común"
-#: config/tc-sparc.c:4471
-#, c-format
-msgid "alignment too large; assuming %ld"
-msgstr "alineamiento demasiado grande; se asume %ld"
-
-#: config/tc-sparc.c:4614
+#: config/tc-sparc.c:4433
msgid "Unknown segment type"
msgstr "Tipo de segmento desconocido"
-#: config/tc-sparc.c:4684 config/tc-sparc.c:4693
+#: config/tc-sparc.c:4502 config/tc-sparc.c:4511
#, c-format
msgid "register syntax is .register %%g[2367],{#scratch|symbolname|#ignore}"
msgstr "la sintaxis de registro es .register %%g[2367],{#scratch|nombresimbolo|#ignore}"
-#: config/tc-sparc.c:4711
+#: config/tc-sparc.c:4529
msgid "redefinition of global register"
msgstr "redefinición del registro global"
-#: config/tc-sparc.c:4722
+#: config/tc-sparc.c:4540
#, c-format
msgid "Register symbol %s already defined."
msgstr "El símbolo de registro %s ya estaba definido."
-#: config/tc-sparc.c:4926
+#: config/tc-sparc.c:4742
#, c-format
msgid "Illegal operands: %%r_plt in %d-byte data field"
msgstr "Operandos ilegales: %%r_plt en el campo de datos de %d-bytes"
-#: config/tc-sparc.c:4936
+#: config/tc-sparc.c:4752
#, c-format
msgid "Illegal operands: %%r_tls_dtpoff in %d-byte data field"
msgstr "Operandos ilegales: %%r_tls_dtpoff en el campo de datos de %d-bytes"
-#: config/tc-sparc.c:4973 config/tc-vax.c:3317
+#: config/tc-sparc.c:4789 config/tc-vax.c:3271
#, c-format
msgid "Illegal operands: Only %%r_%s%d allowed in %d-byte data fields"
-msgstr "Operandos ilegales: sólo se permite %%r_%s%d en campos de datos de %d-bytes"
+msgstr "Operandos ilegales: solo se permite %%r_%s%d en campos de datos de %d-bytes"
-#: config/tc-sparc.c:4981 config/tc-sparc.c:5012 config/tc-sparc.c:5021
-#: config/tc-vax.c:3325 config/tc-vax.c:3356 config/tc-vax.c:3365
+#: config/tc-sparc.c:4797 config/tc-sparc.c:4828 config/tc-sparc.c:4837
+#: config/tc-vax.c:3279 config/tc-vax.c:3310 config/tc-vax.c:3319
#, c-format
msgid "Illegal operands: %%r_%s%d requires arguments in ()"
msgstr "Operandos ilegales: %%r_%s%d requiere argumentos en ()"
-#: config/tc-sparc.c:5030 config/tc-vax.c:3374
+#: config/tc-sparc.c:4846 config/tc-vax.c:3328
#, c-format
msgid "Illegal operands: garbage after %%r_%s%d()"
msgstr "Operandos ilegales: hay basura tras %%r_%s%d()"
-#: config/tc-sparc.h:63
+#: config/tc-sparc.h:66
msgid "sparc convert_frag\n"
msgstr "convert_frag de sparc\n"
-#: config/tc-sparc.h:65 config/tc-z80.h:53
+#: config/tc-sparc.h:68 config/tc-z80.h:54
msgid "estimate_size_before_relax called"
msgstr "se llamó a estimate_size_before_relax"
-#: config/tc-spu.c:130
-#, c-format
-msgid "Can't hash instruction '%s':%s"
-msgstr "No se puede dispersar la instrucción «%s»:%s"
-
-#: config/tc-spu.c:184
+#: config/tc-spu.c:172
msgid ""
"SPU options:\n"
" --apuasm\t\t emulate behaviour of apuasm\n"
@@ -16646,68 +19199,68 @@ msgstr ""
"Opciones de SPU:\n"
" --apuasm\t\t emula el comportamiento de apuasm\n"
-#: config/tc-spu.c:290
+#: config/tc-spu.c:278
#, c-format
msgid "Invalid mnemonic '%s'"
msgstr "Mnemónico inválido «%s»"
-#: config/tc-spu.c:296
+#: config/tc-spu.c:284
#, c-format
msgid "'%s' is only available in DD2.0 or higher."
-msgstr "«%s» sólo es disponible en DD2.0 o superior."
+msgstr "«%s» solo es disponible en DD2.0 o superior."
-#: config/tc-spu.c:328
+#: config/tc-spu.c:316
#, c-format
msgid "Error in argument %d. Expecting: \"%s\""
msgstr "Error en el argumento %d. Se esperaba: «%s»"
-#: config/tc-spu.c:339
+#: config/tc-spu.c:327
msgid "Mixing register syntax, with and without '$'."
msgstr "Se mezcla la sintaxis del registro, con y sin '$'."
-#: config/tc-spu.c:345
+#: config/tc-spu.c:333
#, c-format
msgid "Treating '%-*s' as a symbol."
msgstr "Tratando '%-*s' como un símbolo."
-#: config/tc-spu.c:564
+#: config/tc-spu.c:552
msgid "'SPU_RdEventMask' (channel 11) is only available in DD2.0 or higher."
-msgstr "'SPU_RdEventMask' (canal 11) sólo es disponible en DD2.0 o superior."
+msgstr "'SPU_RdEventMask' (canal 11) solo es disponible en DD2.0 o superior."
-#: config/tc-spu.c:566
+#: config/tc-spu.c:554
msgid "'MFC_RdTagMask' (channel 12) is only available in DD2.0 or higher."
-msgstr "'MFC_RdTagMask' (canal 12) sólo es disponible en DD2.0 o superior."
+msgstr "'MFC_RdTagMask' (canal 12) solo es disponible en DD2.0 o superior."
-#: config/tc-spu.c:609
+#: config/tc-spu.c:598
#, c-format
msgid "Using old style, %%lo(expr), please change to PPC style, expr@l."
msgstr "Utilizando estilo antiguo, %%lo(expr), por favor modifique al estilo PPC, expr@l."
-#: config/tc-spu.c:615
+#: config/tc-spu.c:604
#, c-format
msgid "Using old style, %%hi(expr), please change to PPC style, expr@h."
msgstr "Utilizando estilo antiguo, %%hi(expr), por favor modifique al estilo PPC, expr@h."
-#: config/tc-spu.c:685 config/tc-spu.c:688
+#: config/tc-spu.c:674 config/tc-spu.c:677
#, c-format
msgid "Constant expression %d out of range, [%d, %d]."
-msgstr "Expresión constante %d fuera de límite, [%d, %d]."
+msgstr "Expresión constante %d fuera de rango, [%d, %d]."
-#: config/tc-spu.c:790
+#: config/tc-spu.c:779
#, c-format
msgid "invalid priority '%lu'"
msgstr "prioridad no válida '%lu'"
-#: config/tc-spu.c:796
+#: config/tc-spu.c:785
#, c-format
msgid "invalid lrlive '%lu'"
msgstr "invalida ‘lrlive’ '%lu'"
-#: config/tc-spu.c:855
+#: config/tc-spu.c:859
msgid "Relaxation should never occur"
msgstr "La relajación nunca debe ocurrir"
-#: config/tc-spu.c:1005
+#: config/tc-spu.c:1004
#, c-format
msgid "Relocation doesn't fit. (relocation value = 0x%lx)"
msgstr "La reubicación no cabe. (valor reubicado = 0x%lx)"
@@ -16736,387 +19289,387 @@ msgstr "cuarto"
msgid "fifth"
msgstr "quinto"
-#: config/tc-tic30.c:482
+#: config/tc-tic30.c:460
msgid "More than one AR register found in indirect reference"
msgstr "Se encontró más un registro AR en la referencia indirecta"
-#: config/tc-tic30.c:488
+#: config/tc-tic30.c:466
msgid "Illegal AR register in indirect reference"
msgstr "Registro AR ilegal en la referencia indirecta"
-#: config/tc-tic30.c:509
+#: config/tc-tic30.c:487
msgid "More than one displacement found in indirect reference"
msgstr "Se encontró más de un desplazamiento en la referencia indirecta"
-#: config/tc-tic30.c:518
+#: config/tc-tic30.c:496
msgid "Invalid displacement in indirect reference"
msgstr "Desplazamiento inválido en la referencia indirecta"
-#: config/tc-tic30.c:536
+#: config/tc-tic30.c:514
msgid "AR register not found in indirect reference"
msgstr "No se encontró el registro AR en la referencia indirecta"
#. Maybe an implied displacement of 1 again.
-#: config/tc-tic30.c:553
+#: config/tc-tic30.c:531
msgid "required displacement wasn't given in indirect reference"
msgstr "no se dio el desplazamiento requerido en la referencia indirecta"
-#: config/tc-tic30.c:560
+#: config/tc-tic30.c:538
msgid "illegal indirect reference"
msgstr "referencia indirecta ilegal"
-#: config/tc-tic30.c:567
+#: config/tc-tic30.c:545
msgid "displacement must be an unsigned 8-bit number"
msgstr "el desplazamiento debe ser un número de 8-bit sin signo"
-#: config/tc-tic30.c:751 config/tc-tic30.c:1498
+#: config/tc-tic30.c:729 config/tc-tic30.c:1475
#, c-format
msgid "Invalid character %s before %s operand"
msgstr "Carácter inválido %s antes de operando %s"
-#: config/tc-tic30.c:770 config/tc-tic30.c:1513
+#: config/tc-tic30.c:748 config/tc-tic30.c:1490
#, c-format
msgid "Unbalanced parenthesis in %s operand."
msgstr "Paréntesis sin balancear en operando %s."
-#: config/tc-tic30.c:786 config/tc-tic30.c:1523
+#: config/tc-tic30.c:764 config/tc-tic30.c:1500
#, c-format
msgid "Invalid character %s in %s operand"
msgstr "Carácter inválido %s en operando %s"
-#: config/tc-tic30.c:805 config/tc-tic30.c:1540
+#: config/tc-tic30.c:783 config/tc-tic30.c:1517
#, c-format
msgid "Spurious operands; (%d operands/instruction max)"
msgstr "Operandos espurios; (%d operandos/instrucción máximo)"
#. Just skip it, if it's \n complain.
-#: config/tc-tic30.c:823 config/tc-tic30.c:839 config/tc-tic30.c:1557
-#: config/tc-tic30.c:1573
+#: config/tc-tic30.c:801 config/tc-tic30.c:817 config/tc-tic30.c:1534
+#: config/tc-tic30.c:1550
msgid "Expecting operand after ','; got nothing"
msgstr "Se esperaba un operando tras ','; se obtuvo nada"
-#: config/tc-tic30.c:828 config/tc-tic30.c:1562
+#: config/tc-tic30.c:806 config/tc-tic30.c:1539
msgid "Expecting operand before ','; got nothing"
msgstr "Se esperaba un operando antes de ','; se obtuvo nada"
-#: config/tc-tic30.c:866
+#: config/tc-tic30.c:844
msgid "incorrect number of operands given in the first instruction"
msgstr "número de operandos dados incorrecto en la primera instrucción"
-#: config/tc-tic30.c:872
+#: config/tc-tic30.c:850
msgid "incorrect number of operands given in the second instruction"
msgstr "número de operandos dados incorrecto en la segunda instrucción"
-#: config/tc-tic30.c:893
+#: config/tc-tic30.c:871
#, c-format
msgid "%s instruction, operand %d doesn't match"
msgstr "instrucción %s, operando %d no coincide"
#. Shouldn't get here.
-#: config/tc-tic30.c:917 config/tc-tic30.c:924
+#: config/tc-tic30.c:895 config/tc-tic30.c:902
msgid "incorrect format for multiply parallel instruction"
msgstr "formato incorrecto para la instrucción paralela multiply"
-#: config/tc-tic30.c:931
+#: config/tc-tic30.c:909
msgid "destination for multiply can only be R0 or R1"
-msgstr "el destino para multiply sólo puede ser R0 o R1"
+msgstr "el destino para multiply solo puede ser R0 o R1"
-#: config/tc-tic30.c:938
+#: config/tc-tic30.c:916
msgid "destination for add/subtract can only be R2 or R3"
-msgstr "el destino para add/substract sólo puede ser R2 o R3"
+msgstr "el destino para add/substract solo puede ser R2 o R3"
-#: config/tc-tic30.c:1005
+#: config/tc-tic30.c:983
msgid "loading the same register in parallel operation"
msgstr "se carga el mismo registro en la operación paralela"
-#: config/tc-tic30.c:1448
+#: config/tc-tic30.c:1425
#, c-format
msgid "Invalid character %s in opcode"
msgstr "Carácter inválido %s en el código operacional"
-#: config/tc-tic30.c:1478
+#: config/tc-tic30.c:1455
#, c-format
msgid "Unknown TMS320C30 instruction: %s"
msgstr "Instrucción TMS320C30 desconocida: %s"
-#: config/tc-tic30.c:1598
+#: config/tc-tic30.c:1575
msgid "Incorrect number of operands given"
msgstr "Número incorrecto de operandos dados"
-#: config/tc-tic30.c:1631
+#: config/tc-tic30.c:1608
#, c-format
msgid "The %s operand doesn't match"
msgstr "Operando %s no coincide"
#. Shouldn't make it to this stage.
-#: config/tc-tic30.c:1656 config/tc-tic30.c:1668
+#: config/tc-tic30.c:1633 config/tc-tic30.c:1645
msgid "Incompatible first and second operands in instruction"
msgstr "Primer y segundo operandos incompatibles en la instrucción"
-#: config/tc-tic30.c:1782
+#: config/tc-tic30.c:1759
msgid "invalid short form floating point immediate operand"
msgstr "forma short no válida de operando inmediato de coma flotante"
-#: config/tc-tic30.c:1792
+#: config/tc-tic30.c:1769
msgid "rounding down first operand float to unsigned int"
msgstr "se redondea hacia abajo el primer operando de coma flotante a entero sin signo"
-#: config/tc-tic30.c:1794
+#: config/tc-tic30.c:1771
msgid "only lower 16-bits of first operand are used"
-msgstr "sólo se usan los 16 bits inferiores del primer operando"
+msgstr "solo se usan los 16 bits inferiores del primer operando"
-#: config/tc-tic30.c:1804
+#: config/tc-tic30.c:1781
msgid "rounding down first operand float to signed int"
msgstr "se redondea hacia aboajo el primer operando de coma flotante a entero con signo"
-#: config/tc-tic30.c:1809 config/tc-tic30.c:1880
+#: config/tc-tic30.c:1786 config/tc-tic30.c:1857
msgid "first operand is too large for 16-bit signed int"
msgstr "el primer operando es demasiado grande para entero con signo de 16-bit"
-#: config/tc-tic30.c:1874
+#: config/tc-tic30.c:1851
msgid "first operand is floating point"
msgstr "el primer operando es número de coma flotante"
#. Shouldn't get here.
-#: config/tc-tic30.c:1905
+#: config/tc-tic30.c:1882
msgid "interrupt vector for trap instruction out of range"
-msgstr "el vector de interrupción para la instrucción trap está fuera de límite"
+msgstr "el vector de interrupción para la instrucción trap está fuera de rango"
-#: config/tc-tic30.c:1950
+#: config/tc-tic30.c:1927
msgid "LDP instruction needs a 24-bit operand"
msgstr "La instrucción LDP requiere un operando de 24-bit"
-#: config/tc-tic30.c:1974
+#: config/tc-tic30.c:1951
msgid "first operand is too large for a 24-bit displacement"
msgstr "el primer operando es demasiado grande para un desplazamiento de 24-bit"
-#: config/tc-tic4x.c:392
+#: config/tc-tic4x.c:390
msgid "Nan, using zero."
msgstr "Nan, se usa cero."
-#: config/tc-tic4x.c:514
+#: config/tc-tic4x.c:508
#, c-format
msgid "Cannot represent exponent in %d bits"
msgstr "No se puede representar el exponente en %d bits"
-#: config/tc-tic4x.c:597 config/tc-tic4x.c:607
+#: config/tc-tic4x.c:591 config/tc-tic4x.c:601
msgid "Invalid floating point number"
msgstr "Número de coma flotante inválido"
-#: config/tc-tic4x.c:726
+#: config/tc-tic4x.c:722
msgid "Comma expected\n"
msgstr "Se esperaba una coma\n"
-#: config/tc-tic4x.c:762 config/tc-tic54x.c:471
+#: config/tc-tic4x.c:756 config/tc-tic54x.c:498
msgid ".bss size argument missing\n"
msgstr "Ausente el tamaño del argumento .bss\n"
-#: config/tc-tic4x.c:770
+#: config/tc-tic4x.c:764
#, c-format
msgid ".bss size %ld < 0!"
msgstr "¡Tamaño de .bss %ld < 0!"
-#: config/tc-tic4x.c:903
+#: config/tc-tic4x.c:897
msgid "Non-constant symbols not allowed\n"
msgstr "No se permiten símbolos que no sean constantes\n"
-#: config/tc-tic4x.c:934
+#: config/tc-tic4x.c:928
msgid "Symbol missing\n"
msgstr "Ausente símbolo\n"
#. Skip null symbol terminator.
-#: config/tc-tic4x.c:982
+#: config/tc-tic4x.c:976
msgid ".sect: subsection name ignored"
msgstr ".sect: se ignora el nombre de la subsección"
-#: config/tc-tic4x.c:1010 config/tc-tic4x.c:1111 config/tc-tic54x.c:1424
+#: config/tc-tic4x.c:1004 config/tc-tic4x.c:1105 config/tc-tic54x.c:1482
#, c-format
msgid "Error setting flags for \"%s\": %s"
msgstr "Error al establecer las casillas para «%s»: %s"
-#: config/tc-tic4x.c:1042
+#: config/tc-tic4x.c:1036
msgid ".set syntax invalid\n"
msgstr "sintaxis de .set no válida\n"
-#: config/tc-tic4x.c:1100
+#: config/tc-tic4x.c:1094
msgid ".usect: non-zero alignment flag ignored"
msgstr ".usect: se descarta la opción de alineamiento que no es cero"
-#: config/tc-tic4x.c:1131
+#: config/tc-tic4x.c:1125
#, c-format
msgid "This assembler does not support processor generation %ld"
msgstr "Este ensamblador no admite la generación de procesador %ld"
-#: config/tc-tic4x.c:1135
+#: config/tc-tic4x.c:1129
msgid "Changing processor generation on fly not supported..."
msgstr "No se admite la generación de cambio del procesador al vuelo..."
-#: config/tc-tic4x.c:1433
+#: config/tc-tic4x.c:1416
msgid "Auxiliary register AR0--AR7 required for indirect"
msgstr "Se requiere un registro auxiliar AR0--AR7 para el indirecto"
-#: config/tc-tic4x.c:1447
+#: config/tc-tic4x.c:1430
#, c-format
msgid "Bad displacement %d (require 0--255)\n"
-msgstr "Desplazamiento %d equivocado (se requiere 0--255)\n"
+msgstr "Desplazamiento %d incorrecto (se requiere 0--255)\n"
-#: config/tc-tic4x.c:1465
+#: config/tc-tic4x.c:1448
msgid "Index register IR0,IR1 required for displacement"
msgstr "Se requiere un registro índice IR0,IR1 para el desplazamiento"
-#: config/tc-tic4x.c:1533
+#: config/tc-tic4x.c:1516
msgid "Expecting a register name"
msgstr "Se espera un nombre de registro"
-#: config/tc-tic4x.c:1545 config/tc-tic4x.c:1568 config/tc-tic4x.c:1634
+#: config/tc-tic4x.c:1528 config/tc-tic4x.c:1551 config/tc-tic4x.c:1617
msgid "Number too large"
msgstr "Número demasiado grande"
-#: config/tc-tic4x.c:1558 config/tc-tic4x.c:1581
+#: config/tc-tic4x.c:1541 config/tc-tic4x.c:1564
msgid "Expecting a constant value"
msgstr "Se espera un valor constante"
-#: config/tc-tic4x.c:1589
+#: config/tc-tic4x.c:1572
#, c-format
msgid "Bad direct addressing construct %s"
-msgstr "Construcción de direccionamiento directo %s equivocada"
+msgstr "Construcción de direccionamiento directo %s incorrecta"
-#: config/tc-tic4x.c:1593
+#: config/tc-tic4x.c:1576
#, c-format
msgid "Direct value of %ld is not suitable"
msgstr "El valor directo de %ld no es adecuado"
-#: config/tc-tic4x.c:1617
+#: config/tc-tic4x.c:1600
msgid "Unknown indirect addressing mode"
msgstr "Desconoce modo de direccionamiento indirecto %s"
-#: config/tc-tic4x.c:1714
+#: config/tc-tic4x.c:1697
#, c-format
msgid "Immediate value of %ld is too large for ldf"
msgstr "El valor inmediato de %ld es demasiado grande para ldf"
-#: config/tc-tic4x.c:1754
+#: config/tc-tic4x.c:1737
msgid "Destination register must be ARn"
msgstr "El registro destino debe ser ARn"
-#: config/tc-tic4x.c:1773 config/tc-tic4x.c:2146 config/tc-tic4x.c:2205
+#: config/tc-tic4x.c:1756 config/tc-tic4x.c:2129 config/tc-tic4x.c:2188
#, c-format
msgid "Immediate value of %ld is too large"
msgstr "El valor inmediato de %ld es demasiado grande"
-#: config/tc-tic4x.c:1802 config/tc-tic4x.c:2007
+#: config/tc-tic4x.c:1785 config/tc-tic4x.c:1990
msgid "Invalid indirect addressing mode"
msgstr "Modo de direccionamiento indirecto inválido"
-#: config/tc-tic4x.c:1826 config/tc-tic4x.c:1866 config/tc-tic4x.c:2057
-#: config/tc-tic4x.c:2079
+#: config/tc-tic4x.c:1809 config/tc-tic4x.c:1849 config/tc-tic4x.c:2040
+#: config/tc-tic4x.c:2062
msgid "Register must be Rn"
msgstr "El registro debe ser Rn"
-#: config/tc-tic4x.c:1880 config/tc-tic4x.c:1950 config/tc-tic4x.c:1964
+#: config/tc-tic4x.c:1863 config/tc-tic4x.c:1933 config/tc-tic4x.c:1947
msgid "Register must be R0--R7"
msgstr "El registro debe ser R0--R7"
-#: config/tc-tic4x.c:1904 config/tc-tic4x.c:1932
+#: config/tc-tic4x.c:1887 config/tc-tic4x.c:1915
#, c-format
msgid "Invalid indirect addressing mode displacement %d"
msgstr "Desplazamiento de modo de direccionamiento indirecto %d inválido"
-#: config/tc-tic4x.c:1978
+#: config/tc-tic4x.c:1961
msgid "Destination register must be R2 or R3"
msgstr "El registro destino debe ser R2 o R3"
-#: config/tc-tic4x.c:1992
+#: config/tc-tic4x.c:1975
msgid "Destination register must be R0 or R1"
msgstr "El registro destino debe ser R0 o R1"
-#: config/tc-tic4x.c:2029
+#: config/tc-tic4x.c:2012
#, c-format
msgid "Displacement value of %ld is too large"
msgstr "El valor de desplazamiento de %ld es demasiado grande"
-#: config/tc-tic4x.c:2090 config/tc-tic4x.c:2221
+#: config/tc-tic4x.c:2073 config/tc-tic4x.c:2204
msgid "Floating point number not valid in expression"
msgstr "El número de coma flotante no es válido en la expresión"
-#: config/tc-tic4x.c:2104
+#: config/tc-tic4x.c:2087
#, c-format
msgid "Signed immediate value %ld too large"
msgstr "El valor inmediato con signo %ld es demasiado grande"
-#: config/tc-tic4x.c:2167
+#: config/tc-tic4x.c:2150
#, c-format
msgid "Unsigned immediate value %ld too large"
msgstr "El valor inmediato sin signo %ld es demasiado grande"
-#: config/tc-tic4x.c:2235
+#: config/tc-tic4x.c:2218
#, c-format
msgid "Immediate value %ld too large"
msgstr "El valor inmediato de %ld es demasiado grande"
-#: config/tc-tic4x.c:2254 config/tc-tic4x.c:2282
+#: config/tc-tic4x.c:2237 config/tc-tic4x.c:2265
msgid "Register must be ivtp or tvtp"
msgstr "El registro debe ser ivtp o tvtp"
-#: config/tc-tic4x.c:2268
+#: config/tc-tic4x.c:2251
msgid "Register must be address register"
msgstr "El registro debe ser un registro direccional"
-#: config/tc-tic4x.c:2341
+#: config/tc-tic4x.c:2324
msgid "Source and destination register should not be equal"
msgstr "Los registros fuente y destino no deben ser iguales"
-#: config/tc-tic4x.c:2356
+#: config/tc-tic4x.c:2339
#, fuzzy
#| msgid "Equal parallell destination registers, one result will be discarded"
msgid "Equal parallel destination registers, one result will be discarded"
msgstr "Los registros de destino paralelo son iguales, un resultado se descartará"
-#: config/tc-tic4x.c:2397
+#: config/tc-tic4x.c:2380
msgid "Too many operands scanned"
msgstr "Se analizaron demasiados operandos"
-#: config/tc-tic4x.c:2428
+#: config/tc-tic4x.c:2411
msgid "Parallel opcode cannot contain more than two instructions"
msgstr "El código operacional paralelo no puede contener más de dos instrucciones"
-#: config/tc-tic4x.c:2501
+#: config/tc-tic4x.c:2485
#, c-format
msgid "Invalid operands for %s"
msgstr "Operandos inválidos para %s"
-#: config/tc-tic4x.c:2504
+#: config/tc-tic4x.c:2488
#, c-format
msgid "Invalid instruction %s"
msgstr "Instrucción %s no válida"
-#: config/tc-tic4x.c:2656
+#: config/tc-tic4x.c:2640
#, c-format
msgid "Bad relocation type: 0x%02x"
-msgstr "Tipo de reubicación equivocado: 0x%02x"
+msgstr "Tipo de reubicación incorrecto: 0x%02x"
-#: config/tc-tic4x.c:2714
+#: config/tc-tic4x.c:2698
#, c-format
msgid "Unsupported processor generation %d"
msgstr "No se admite la generación de procesador %d"
-#: config/tc-tic4x.c:2722
+#: config/tc-tic4x.c:2706
msgid "Option -b is depreciated, please use -mbig"
msgstr "La opción -b es obsoleta, por favor utilice -mbig"
-#: config/tc-tic4x.c:2729
+#: config/tc-tic4x.c:2713
msgid "Option -p is depreciated, please use -mmemparm"
msgstr "La opción -p es obsoleta, por favor utilice -mmemparm"
-#: config/tc-tic4x.c:2736
+#: config/tc-tic4x.c:2720
msgid "Option -r is depreciated, please use -mregparm"
msgstr "La opción -r es obsoleta, por favor utilice -mregparm"
-#: config/tc-tic4x.c:2743
+#: config/tc-tic4x.c:2727
msgid "Option -s is depreciated, please use -msmall"
msgstr "La opción -s es obsoleta, por favor utilice -msmall"
-#: config/tc-tic4x.c:2772
+#: config/tc-tic4x.c:2756
#, c-format
msgid ""
"\n"
@@ -17161,433 +19714,439 @@ msgstr ""
" -mlowpower activa el soporte para LOPOWER y MAXSPEED\n"
" -menhanced activa el soporte para códigos operacionales mejorados\n"
-#: config/tc-tic4x.c:2817
+#: config/tc-tic4x.c:2801
#, c-format
msgid "Label \"$%d\" redefined"
msgstr "Etiqueta «$%d» redefinida"
-#: config/tc-tic4x.c:3027
+#: config/tc-tic4x.c:3010
#, c-format
msgid "Reloc %d not supported by object file format"
msgstr "El formato del fichero objeto no admite la reubicación %d"
#. Only word (et al.), align, or conditionals are allowed within
#. .struct/.union.
-#: config/tc-tic54x.c:219
+#: config/tc-tic54x.c:242
msgid "pseudo-op illegal within .struct/.union"
msgstr "pseudo-operación ilegal dentro de .struct/.union"
-#: config/tc-tic54x.c:233
+#: config/tc-tic54x.c:256
#, c-format
msgid "C54x-specific command line options:\n"
msgstr "Opciones de línea de mandatos específicas de C54x:\n"
-#: config/tc-tic54x.c:234
+#: config/tc-tic54x.c:257
#, c-format
msgid "-mfar-mode | -mf Use extended addressing\n"
msgstr "-mfar-mode | -mf Utiliza direccionamiento extendido\n"
-#: config/tc-tic54x.c:235
+#: config/tc-tic54x.c:258
#, c-format
msgid "-mcpu=<CPU version> Specify the CPU version\n"
msgstr "-mcpu=<versión CPU> Especifica la versión del CPU\n"
-#: config/tc-tic54x.c:236
+#: config/tc-tic54x.c:259
#, c-format
msgid "-merrors-to-file <filename>\n"
msgstr "-merrors-to-file <nombre fichero>\n"
-#: config/tc-tic54x.c:237
+#: config/tc-tic54x.c:260
#, c-format
msgid "-me <filename> Redirect errors to a file\n"
msgstr "-me <nombre fichero> Redirige los errores a un fichero\n"
-#: config/tc-tic54x.c:348
+#: config/tc-tic54x.c:373
msgid "Comma and symbol expected for '.asg STRING, SYMBOL'"
msgstr "Se esperaban una coma y un símbolo para '.asg CADENA, SÍMBOLO'"
-#: config/tc-tic54x.c:357
+#: config/tc-tic54x.c:385
msgid "symbols assigned with .asg must begin with a letter"
msgstr "los símbolos asignados con .asg deben comenzar con una letra"
-#: config/tc-tic54x.c:397
+#: config/tc-tic54x.c:423
msgid "Unterminated string after absolute expression"
msgstr "Cadena sin terminar tras una expresión absoluta"
-#: config/tc-tic54x.c:405
+#: config/tc-tic54x.c:431
msgid "Comma and symbol expected for '.eval EXPR, SYMBOL'"
msgstr "Se esperaban una coma y un símbolo para '.eval EXPR, SÍMBOLO'"
-#: config/tc-tic54x.c:415
+#: config/tc-tic54x.c:439
msgid "symbols assigned with .eval must begin with a letter"
msgstr "los símbolos asignados con .eval deben comenzar con una letra"
-#: config/tc-tic54x.c:480
+#: config/tc-tic54x.c:507
#, c-format
msgid ".bss size %d < 0!"
msgstr "¡Tamaño de .bss %d < 0!"
-#: config/tc-tic54x.c:662
+#: config/tc-tic54x.c:693
msgid "Offset on nested structures is ignored"
msgstr "Se descarta el desplazamiento en estructuras anidadas"
-#: config/tc-tic54x.c:712
+#: config/tc-tic54x.c:743
#, c-format
msgid ".end%s without preceding .%s"
msgstr ".end%s sin un .%s precedente"
-#: config/tc-tic54x.c:778
+#: config/tc-tic54x.c:809
#, c-format
msgid "Unrecognized struct/union tag '%s'"
msgstr "No reconocida la marca de struct/union «%s»"
-#: config/tc-tic54x.c:780
+#: config/tc-tic54x.c:811
msgid ".tag requires a structure tag"
msgstr ".tag requiere una estructura tag"
-#: config/tc-tic54x.c:786
+#: config/tc-tic54x.c:817
msgid "Label required for .tag"
msgstr "Se requiere una etiqueta para .tag"
-#: config/tc-tic54x.c:805
+#: config/tc-tic54x.c:836
#, c-format
msgid ".tag target '%s' undefined"
msgstr "el objetivo .tag «%s» no está definido"
-#: config/tc-tic54x.c:869
+#: config/tc-tic54x.c:900
#, c-format
msgid ".field count '%d' out of range (1 <= X <= 32)"
-msgstr "la cuenta de .field '%d' está fuera de límite (1 ≤ X ≤ 32)"
+msgstr "la cuenta de .field '%d' está fuera de rango (1 ≤ X ≤ 32)"
-#: config/tc-tic54x.c:897
+#: config/tc-tic54x.c:928
#, c-format
msgid "Unrecognized field type '%c'"
msgstr "No reconocido el tipo de campo '%c'"
-#: config/tc-tic54x.c:1021
+#: config/tc-tic54x.c:1052
msgid "Overflow in expression, truncated to 8 bits"
msgstr "Desbordamiento en la expresión, se trunca a 8 bit"
-#: config/tc-tic54x.c:1026
+#: config/tc-tic54x.c:1057
msgid "Overflow in expression, truncated to 16 bits"
msgstr "Desbordamiento en la expresión, se trunca a 16 bit"
#. Disallow .byte with a non constant expression that will
#. require relocation.
-#: config/tc-tic54x.c:1034
+#: config/tc-tic54x.c:1065
msgid "Relocatable values require at least WORD storage"
msgstr "Los valores reubicables requieren por lo menos almacenamiento WORD"
-#: config/tc-tic54x.c:1095
+#: config/tc-tic54x.c:1126
msgid "Use of .def/.ref is deprecated. Use .global instead"
msgstr "El uso de .def/.ref es obsoleto. Utilice en su lugar .global"
-#: config/tc-tic54x.c:1287
+#: config/tc-tic54x.c:1345
msgid ".space/.bes repeat count is negative, ignored"
msgstr "La cuenta de repetición .space/.bes es negativa, se descarta"
-#: config/tc-tic54x.c:1292
+#: config/tc-tic54x.c:1350
msgid ".space/.bes repeat count is zero, ignored"
msgstr "La cuenta de repetición .space/.bes es cero, se descarta"
-#: config/tc-tic54x.c:1365
+#: config/tc-tic54x.c:1423
msgid "Missing size argument"
msgstr "Ausente el tamaño del argumento"
-#: config/tc-tic54x.c:1499
+#: config/tc-tic54x.c:1557
msgid "CPU version has already been set"
msgstr "La versión de CPU ya se había establecido"
-#: config/tc-tic54x.c:1503
+#: config/tc-tic54x.c:1561
#, c-format
msgid "Unrecognized version '%s'"
msgstr "Versión no reconocida «%s»"
-#: config/tc-tic54x.c:1509
+#: config/tc-tic54x.c:1567
msgid "Changing of CPU version on the fly not supported"
msgstr "No se admite mmodificar la versión del CPU al vuelo"
-#: config/tc-tic54x.c:1640
+#: config/tc-tic54x.c:1698
msgid "p2align not supported on this target"
msgstr "No se admite p2align en este destino"
-#: config/tc-tic54x.c:1652
+#: config/tc-tic54x.c:1710
msgid "Argument to .even ignored"
msgstr "Se descarta el argumento para .even"
-#: config/tc-tic54x.c:1698
+#: config/tc-tic54x.c:1756
msgid "Invalid field size, must be from 1 to 32"
msgstr "Tamaño de campo inválido, debe ser de 1 a 32"
-#: config/tc-tic54x.c:1711
+#: config/tc-tic54x.c:1769
msgid "field size must be 16 when value is relocatable"
msgstr "el tamaño del campo debe ser 16 cuando el valor es reubicable"
-#: config/tc-tic54x.c:1726
+#: config/tc-tic54x.c:1784
msgid "field value truncated"
msgstr "se trunca valor del campo"
-#: config/tc-tic54x.c:1832 config/tc-tic54x.c:2131
+#: config/tc-tic54x.c:1890 config/tc-tic54x.c:2176
#, c-format
msgid "Unrecognized section '%s'"
msgstr "No reconocida sección «%s»"
-#: config/tc-tic54x.c:1841
+#: config/tc-tic54x.c:1899
msgid "Current section is uninitialized, section name required for .clink"
-msgstr "La sección actual está no inicializada, se requirió el nombre seccional para .clink"
+msgstr "La sección actual está no inicializada, se requirió el nombre de sección para .clink"
-#: config/tc-tic54x.c:2042
+#: config/tc-tic54x.c:2087
msgid "ENDLOOP without corresponding LOOP"
msgstr "ENDLOOP sin un LOOP correspondiente"
-#: config/tc-tic54x.c:2083
+#: config/tc-tic54x.c:2128
msgid "Mixing of normal and extended addressing not supported"
msgstr "No se admite la mezcla de direccionamiento normal y extendido"
-#: config/tc-tic54x.c:2089
+#: config/tc-tic54x.c:2134
msgid "Extended addressing not supported on the specified CPU"
msgstr "No se admite el direccionamiento extendido en el CPU especificado"
-#: config/tc-tic54x.c:2137
+#: config/tc-tic54x.c:2182
msgid ".sblock may be used for initialized sections only"
msgstr ".sblock se puede utilizar únicamente para secciones inicializadas"
-#: config/tc-tic54x.c:2167
+#: config/tc-tic54x.c:2212
msgid "Symbol missing for .set/.equ"
msgstr "Ausente el símbolo para .set/.equ"
-#: config/tc-tic54x.c:2223
+#: config/tc-tic54x.c:2267
msgid ".var may only be used within a macro definition"
msgstr ".var solamente se puede usar dentro de una definición de macro"
-#: config/tc-tic54x.c:2231
+#: config/tc-tic54x.c:2275
msgid "Substitution symbols must begin with a letter"
msgstr "Los símbolos de sustitución deben empezar con una letra"
-#: config/tc-tic54x.c:2323
+#: config/tc-tic54x.c:2354
#, c-format
msgid "can't open macro library file '%s' for reading: %s"
msgstr "no se puede abrir el fichero de biblioteca de macro «%s» para lectura: %s"
-#: config/tc-tic54x.c:2330
+#: config/tc-tic54x.c:2361
#, c-format
msgid "File '%s' not in macro archive format"
msgstr "El fichero «%s» no está en el formato de archivo de macro"
-#: config/tc-tic54x.c:2460
+#: config/tc-tic54x.c:2491
#, c-format
msgid "Bad COFF version '%s'"
-msgstr "Versión COFF equivocada «%s»"
+msgstr "Versión COFF incorrecta «%s»"
-#: config/tc-tic54x.c:2469
+#: config/tc-tic54x.c:2500
#, c-format
msgid "Bad CPU version '%s'"
-msgstr "Versión CPU equivocada '%s'"
+msgstr "Versión CPU incorrecta '%s'"
-#: config/tc-tic54x.c:2482 config/tc-tic54x.c:2485
+#: config/tc-tic54x.c:2513 config/tc-tic54x.c:2516
#, c-format
msgid "Can't redirect stderr to the file '%s'"
msgstr "No se puede redirigir la salida de error estándar al fichero «%s»"
-#: config/tc-tic54x.c:2598
+#: config/tc-tic54x.c:2535
+#, fuzzy
+#| msgid "macros nested too deeply"
+msgid "Macro nesting is too deep"
+msgstr "macros anidadas con demasiada profundidad"
+
+#: config/tc-tic54x.c:2638
#, c-format
msgid "Undefined substitution symbol '%s'"
msgstr "Símbolo sustitucional sin definir «%s»"
-#: config/tc-tic54x.c:3099
+#: config/tc-tic54x.c:3121
#, c-format
msgid "Unbalanced parenthesis in operand %d"
msgstr "Paréntesis sin balancear en operando %d"
-#: config/tc-tic54x.c:3130 config/tc-tic54x.c:3138
+#: config/tc-tic54x.c:3152 config/tc-tic54x.c:3160
msgid "Expecting operand after ','"
msgstr "Se esperaba un operando tras ','"
-#: config/tc-tic54x.c:3149
+#: config/tc-tic54x.c:3171
msgid "Extra junk on line"
msgstr "Basura extra en la línea"
-#: config/tc-tic54x.c:3186
+#: config/tc-tic54x.c:3208
msgid "Badly formed address expression"
msgstr "Expresión direccional mal formada"
-#: config/tc-tic54x.c:3439
+#: config/tc-tic54x.c:3461
#, c-format
msgid "Invalid dmad syntax '%s'"
msgstr "Sintaxis de ‘dmad’ no válida «%s»"
-#: config/tc-tic54x.c:3503
+#: config/tc-tic54x.c:3525
#, c-format
msgid "Use the .mmregs directive to use memory-mapped register names such as '%s'"
msgstr "Use la directiva .mmregs para utilizar nombres de registro mapeados en memoria tales como «%s»"
-#: config/tc-tic54x.c:3554
+#: config/tc-tic54x.c:3576
msgid "Address mode *+ARx is write-only. Results of reading are undefined."
-msgstr "El modo direccional *+ARx es de sólo escritura. El resultado de la lectura está indefinido."
+msgstr "El modo direccional *+ARx es de solo escritura. El resultado de la lectura está indefinido."
-#: config/tc-tic54x.c:3574
+#: config/tc-tic54x.c:3596
#, c-format
msgid "Unrecognized indirect address format \"%s\""
msgstr "No reconocido el formato direccional indirecta «%s»"
-#: config/tc-tic54x.c:3612
+#: config/tc-tic54x.c:3634
#, c-format
msgid "Operand '%s' out of range (%d <= x <= %d)"
-msgstr "Operando «%s» está fuera de límite (%d ≤ x ≤ %d)"
+msgstr "Operando «%s» está fuera de rango (%d ≤ x ≤ %d)"
-#: config/tc-tic54x.c:3632
+#: config/tc-tic54x.c:3654
msgid "Error in relocation handling"
msgstr "Error en el manejo de la reubicación"
-#: config/tc-tic54x.c:3651 config/tc-tic54x.c:3713 config/tc-tic54x.c:3741
+#: config/tc-tic54x.c:3673 config/tc-tic54x.c:3735 config/tc-tic54x.c:3763
#, c-format
msgid "Unrecognized condition code \"%s\""
msgstr "No reconocido el código de condición «%s»"
-#: config/tc-tic54x.c:3668
+#: config/tc-tic54x.c:3690
#, c-format
msgid "Condition \"%s\" does not match preceding group"
msgstr "La condición «%s» no coincide con el grupo precedente"
-#: config/tc-tic54x.c:3676
+#: config/tc-tic54x.c:3698
#, c-format
msgid "Condition \"%s\" uses a different accumulator from a preceding condition"
msgstr "La condición «%s» utiliza un acumulador diferente al de una condición precedente"
-#: config/tc-tic54x.c:3683
+#: config/tc-tic54x.c:3705
msgid "Only one comparison conditional allowed"
msgstr "Sólo se permite una comparación condicional"
-#: config/tc-tic54x.c:3688
+#: config/tc-tic54x.c:3710
msgid "Only one overflow conditional allowed"
msgstr "Sólo se permite un desbordamiento condicional"
-#: config/tc-tic54x.c:3696
+#: config/tc-tic54x.c:3718
#, c-format
msgid "Duplicate %s conditional"
msgstr "Condicional %s duplicado"
-#: config/tc-tic54x.c:3727
+#: config/tc-tic54x.c:3749
msgid "Invalid auxiliary register (use AR0-AR7)"
msgstr "Registro auxiliar inválido (utilice AR0-AR7)"
-#: config/tc-tic54x.c:3758
+#: config/tc-tic54x.c:3780
msgid "lk addressing modes are invalid for memory-mapped register addressing"
msgstr "modos direccionados lk son inválidos para direccionamiento de distribuciones de registros en memoria"
-#: config/tc-tic54x.c:3766
+#: config/tc-tic54x.c:3788
msgid "Address mode *+ARx is not allowed in memory-mapped register addressing. Resulting behavior is undefined."
msgstr "El modo direccional *+ARx no se permite en el direccionamiento de registros mapeados en memoria. El comportamiento resultante no está definido."
-#: config/tc-tic54x.c:3792
+#: config/tc-tic54x.c:3814
msgid "Destination accumulator for each part of this parallel instruction must be different"
msgstr "El acumulador de destino para cada parte de esta instrucción paralela debe ser diferente"
-#: config/tc-tic54x.c:3841
+#: config/tc-tic54x.c:3863
#, c-format
msgid "Memory mapped register \"%s\" out of range"
-msgstr "El registro mapeado en memoria «%s» está fuera de límite"
+msgstr "El registro mapeado en memoria «%s» está fuera de rango"
-#: config/tc-tic54x.c:3880
+#: config/tc-tic54x.c:3902
msgid "Invalid operand (use 1, 2, or 3)"
msgstr "Operando inválido (utilice 1, 2, ó 3)"
-#: config/tc-tic54x.c:3906
+#: config/tc-tic54x.c:3928
msgid "A status register or status bit name is required"
msgstr "Se requiere un registro estatal o un nombre de bit estatal"
-#: config/tc-tic54x.c:3916
+#: config/tc-tic54x.c:3938
#, c-format
msgid "Unrecognized status bit \"%s\""
msgstr "No reconocido el bit estatal «%s»"
-#: config/tc-tic54x.c:3939
+#: config/tc-tic54x.c:3961
#, c-format
msgid "Invalid status register \"%s\""
msgstr "Invalida registro de posición «%s»"
-#: config/tc-tic54x.c:3951
+#: config/tc-tic54x.c:3973
#, c-format
msgid "Operand \"%s\" out of range (use 1 or 2)"
-msgstr "Operando «%s» está fuera de límite (utilice 1 ó 2)"
+msgstr "Operando «%s» está fuera de rango (utilice 1 ó 2)"
-#: config/tc-tic54x.c:4154
+#: config/tc-tic54x.c:4176
#, c-format
msgid "Unrecognized instruction \"%s\""
msgstr "No reconocida la instrucción «%s»"
-#: config/tc-tic54x.c:4183
+#: config/tc-tic54x.c:4205
#, c-format
msgid "Unrecognized operand list '%s' for instruction '%s'"
msgstr "No reconocida la lista de operandos «%s» para la instrucción «%s»"
-#: config/tc-tic54x.c:4212
+#: config/tc-tic54x.c:4234
#, c-format
msgid "Unrecognized parallel instruction \"%s\""
msgstr "No reconocida la instrucción paralela «%s»"
-#: config/tc-tic54x.c:4261
+#: config/tc-tic54x.c:4283
#, c-format
msgid "Invalid operand (s) for parallel instruction \"%s\""
msgstr "Operando(s) inválido(s) para la instrucción paralela «%s»"
-#: config/tc-tic54x.c:4264
+#: config/tc-tic54x.c:4286
#, c-format
msgid "Unrecognized parallel instruction combination \"%s || %s\""
msgstr "No reconocida la combinación de instrucciones paralelas \"%s || %s\""
-#: config/tc-tic54x.c:4485
+#: config/tc-tic54x.c:4514
#, c-format
msgid "%s symbol recursion stopped at second appearance of '%s'"
msgstr "La recursión del símbolo %s se detuvo en la segunda aparición de «%s»"
-#: config/tc-tic54x.c:4525
+#: config/tc-tic54x.c:4554
msgid "Unrecognized substitution symbol function"
msgstr "No reconocida la función simbólica de sustitución"
-#: config/tc-tic54x.c:4530
+#: config/tc-tic54x.c:4559
msgid "Missing '(' after substitution symbol function"
msgstr "Ausente '(' tras la función simbólica de sustitución"
-#: config/tc-tic54x.c:4544
+#: config/tc-tic54x.c:4572
msgid "Expecting second argument"
msgstr "Se esperaba un segundo argumento"
-#: config/tc-tic54x.c:4557 config/tc-tic54x.c:4607
+#: config/tc-tic54x.c:4590 config/tc-tic54x.c:4640
msgid "Extra junk in function call, expecting ')'"
msgstr "Basura extra en la llamada a función, se esperaba ')'"
-#: config/tc-tic54x.c:4583
+#: config/tc-tic54x.c:4616
msgid "Function expects two arguments"
msgstr "La función espera dos argumentos"
-#: config/tc-tic54x.c:4596
+#: config/tc-tic54x.c:4629
msgid "Expecting character constant argument"
msgstr "Se espera una constante de carácter como argumento"
-#: config/tc-tic54x.c:4602
+#: config/tc-tic54x.c:4635
msgid "Both arguments must be substitution symbols"
msgstr "Ambos argumentos deben ser símbolos de sustitución"
-#: config/tc-tic54x.c:4654
+#: config/tc-tic54x.c:4687
#, c-format
msgid "Invalid subscript (use 1 to %d)"
msgstr "Subíndice inválido (utilice de 1 a %d)"
-#: config/tc-tic54x.c:4664
+#: config/tc-tic54x.c:4697
#, c-format
msgid "Invalid length (use 0 to %d)"
msgstr "Longitud no válida (utilice 0 a %d)"
-#: config/tc-tic54x.c:4674
+#: config/tc-tic54x.c:4707
msgid "Missing ')' in subscripted substitution symbol expression"
msgstr "Ausente ')' en la expresión simbólico de sustitución suscrito"
-#: config/tc-tic54x.c:4694
+#: config/tc-tic54x.c:4727
msgid "Missing forced substitution terminator ':'"
msgstr "Ausente el terminador de sustitución forzada ':'"
-#: config/tc-tic54x.c:4846
+#: config/tc-tic54x.c:4881
#, fuzzy, c-format
#| msgid "Instruction does not fit in available delay slots (%d-word insn, %d slots left)"
msgid "Instruction does not fit in available delay slots (%d-word insn, %d slot left)"
@@ -17595,22 +20154,22 @@ msgid_plural "Instruction does not fit in available delay slots (%d-word insn, %
msgstr[0] "La instrucción no cabe en las ranuras de retardo disponibles (%d insns word, %d ranuras restantes)"
msgstr[1] "La instrucción no cabe en las ranuras de retardo disponibles (%d insns word, %d ranuras restantes)"
-#: config/tc-tic54x.c:4890
+#: config/tc-tic54x.c:4925
#, c-format
msgid "Unrecognized parallel instruction '%s'"
msgstr "No reconocida la instrucción paralela «%s»"
-#: config/tc-tic54x.c:4902
+#: config/tc-tic54x.c:4937
#, c-format
msgid "Instruction '%s' requires an LP cpu version"
msgstr "La instrucción «%s» requiere una versión de cpu LP"
-#: config/tc-tic54x.c:4909
+#: config/tc-tic54x.c:4944
#, c-format
msgid "Instruction '%s' requires far mode addressing"
msgstr "La instrucción «%s» requiere el modo de direccionamiento far"
-#: config/tc-tic54x.c:4921
+#: config/tc-tic54x.c:4956
#, fuzzy, c-format
#| msgid "Instruction does not fit in available delay slots (%d-word insn, %d slots left). Resulting behavior is undefined."
msgid "Instruction does not fit in available delay slots (%d-word insn, %d slot left). Resulting behavior is undefined."
@@ -17618,38 +20177,43 @@ msgid_plural "Instruction does not fit in available delay slots (%d-word insn, %
msgstr[0] "La instrucción no cabe en las ranuras de retardo disponibles (%d insns word, %d ranuras restantes). El comportamiento resultante no está definido."
msgstr[1] "La instrucción no cabe en las ranuras de retardo disponibles (%d insns word, %d ranuras restantes). El comportamiento resultante no está definido."
-#: config/tc-tic54x.c:4935
+#: config/tc-tic54x.c:4970
msgid "Instructions which cause PC discontinuity are not allowed in a delay slot. Resulting behavior is undefined."
msgstr "Las instrucciones que causan discontinuidad en el PC no se permiten en una ranura de retardo. El comportamiento resultante no está definido."
-#: config/tc-tic54x.c:4946
+#: config/tc-tic54x.c:4981
#, c-format
msgid "'%s' is not repeatable. Resulting behavior is undefined."
msgstr "«%s» no se puede repetir. El comportamiento resultante no está definido."
-#: config/tc-tic54x.c:4950
+#: config/tc-tic54x.c:4985
msgid "Instructions using long offset modifiers or absolute addresses are not repeatable. Resulting behavior is undefined."
msgstr "Las instrucciones utilizando modificadores de desplazamiento long o direcciones absolutas no se pueden repetir. El comportamiento resultante no está definido."
-#: config/tc-tic54x.c:5100
+#: config/tc-tic54x.c:5129
#, c-format
msgid "Unsupported relocation size %d"
msgstr "No se admite el tamaño de reubicación %d"
-#: config/tc-tic54x.c:5231
+#: config/tc-tic54x.c:5260
msgid "non-absolute value used with .space/.bes"
msgstr "se utilizó un valor no absoluto con .space/.bes"
-#: config/tc-tic54x.c:5235
+#: config/tc-tic54x.c:5264
#, c-format
msgid "negative value ignored in %s"
msgstr "se descarta el valor negativo en %s"
-#: config/tc-tic54x.c:5323
+#: config/tc-tic54x.c:5352
#, c-format
msgid "attempt to .space/.bes backwards? (%ld)"
msgstr "¿se intentó hacer .space/.bes hacia atrás? (%ld)"
+#: config/tc-tic6x.c:232
+#, c-format
+msgid "unknown architecture '%s'"
+msgstr "arquitectura desconocida '%s'"
+
#: config/tc-tic6x.c:262
#, c-format
msgid "unknown -mpid= argument '%s'"
@@ -17731,402 +20295,402 @@ msgstr ""
msgid "Supported ARCH values are:"
msgstr "Se admiten los siguentes valores de ARQ:"
-#: config/tc-tic6x.c:386
+#: config/tc-tic6x.c:384
msgid "unexpected .cantunwind directive"
msgstr "directiva inesperada .cantunwind"
-#: config/tc-tic6x.c:406
+#: config/tc-tic6x.c:404
msgid "unexpected .handlerdata directive"
msgstr "directiva inesperada .handlerdata"
-#: config/tc-tic6x.c:418
+#: config/tc-tic6x.c:416
msgid "personality routine required before .handlerdata directive"
msgstr "se requirió una rutina personality antes de la directiva .handlerdata"
-#: config/tc-tic6x.c:532
+#: config/tc-tic6x.c:530
msgid "expected symbol"
msgstr "se esperaba un símbolo"
-#: config/tc-tic6x.c:579
+#: config/tc-tic6x.c:577
msgid "expected comma after symbol name"
msgstr "se esperaba una coma tras nombre del símbolo"
-#: config/tc-tic6x.c:589
+#: config/tc-tic6x.c:587
#, c-format
msgid "invalid length for .scomm directive"
msgstr "longitud no válida para la directiva .scomm"
-#: config/tc-tic6x.c:603
+#: config/tc-tic6x.c:601
msgid "alignment is not a positive number"
msgstr "la alineamiento no es un número positivo"
-#: config/tc-tic6x.c:615
+#: config/tc-tic6x.c:613
msgid "alignment is not a power of 2"
msgstr "la alineamiento no es una potencia de 2"
-#: config/tc-tic6x.c:630
+#: config/tc-tic6x.c:628
#, c-format
msgid "attempt to re-define symbol `%s'"
msgstr "se intentó redefinir el símbolo «%s»"
-#: config/tc-tic6x.c:639
+#: config/tc-tic6x.c:637
#, c-format
msgid "attempt to redefine `%s' with a different length"
msgstr "se intentó redefinir «%s» con una longitud diferente"
-#: config/tc-tic6x.c:841
+#: config/tc-tic6x.c:835
msgid "multiple '||' on same line"
msgstr "'||' múltiples en la misma línea"
-#: config/tc-tic6x.c:844
+#: config/tc-tic6x.c:838
msgid "'||' after predicate"
msgstr "'||' tras predicado"
-#: config/tc-tic6x.c:888
+#: config/tc-tic6x.c:882
msgid "multiple predicates on same line"
msgstr "predicados múltiples en la misma línea"
-#: config/tc-tic6x.c:894
+#: config/tc-tic6x.c:888
#, c-format
msgid "bad predicate '%s'"
msgstr "equivocación de predicado «%s»"
-#: config/tc-tic6x.c:905
+#: config/tc-tic6x.c:899
msgid "predication on A0 not supported on this architecture"
msgstr "la predicación en A0 no se admite en esta arquitectura"
-#: config/tc-tic6x.c:938
+#: config/tc-tic6x.c:932
msgid "label after '||'"
msgstr "etiqueta tras '||'"
-#: config/tc-tic6x.c:944
+#: config/tc-tic6x.c:938
msgid "label after predicate"
msgstr "etiqueta tras predicado"
-#: config/tc-tic6x.c:968
+#: config/tc-tic6x.c:962
msgid "'||' not followed by instruction"
msgstr "'||' no está seguido por una instrucción"
-#: config/tc-tic6x.c:974
+#: config/tc-tic6x.c:968
msgid "predicate not followed by instruction"
msgstr "el predicado no está seguido por una instrucción"
-#: config/tc-tic6x.c:1407
+#: config/tc-tic6x.c:1401
#, c-format
msgid "control register '%s' not supported on this architecture"
msgstr "el registro de control «%s» no se admite en esta arquitectura"
-#: config/tc-tic6x.c:1586 config/tc-tic6x.c:1589 config/tc-tic6x.c:1642
-#: config/tc-tic6x.c:1646
+#: config/tc-tic6x.c:1580 config/tc-tic6x.c:1583 config/tc-tic6x.c:1636
+#: config/tc-tic6x.c:1640
#, c-format
msgid "register number %u not supported on this architecture"
msgstr "el número de registro %u no se admite en esta arquitectura"
-#: config/tc-tic6x.c:1617
+#: config/tc-tic6x.c:1611
#, c-format
msgid "register pair for operand %u of '%.*s' not a valid even/odd pair"
-msgstr "la pareja de registros para operando %u de '%.*s' no es una pareja par/impar válida"
+msgstr "la pareja de registros para el operando %u de '%.*s' no es una pareja par/impar válida"
-#: config/tc-tic6x.c:1673
+#: config/tc-tic6x.c:1667
#, c-format
msgid "junk after operand %u of '%.*s'"
msgstr "basura tras operando %u de '%.*s'"
-#: config/tc-tic6x.c:1686
+#: config/tc-tic6x.c:1680
#, c-format
msgid "bad register or register pair for operand %u of '%.*s'"
-msgstr "registro o pareja de registros equivocados para operando %u de '%.*s'"
+msgstr "registro o pareja de registros incorrectos para el operando %u de '%.*s'"
-#: config/tc-tic6x.c:1692
+#: config/tc-tic6x.c:1686
#, c-format
msgid "bad register for operand %u of '%.*s'"
-msgstr "registro equivocado para operando %u de '%.*s'"
+msgstr "registro incorrecto para el operando %u de '%.*s'"
-#: config/tc-tic6x.c:1697
+#: config/tc-tic6x.c:1691
#, c-format
msgid "bad register pair for operand %u of '%.*s'"
-msgstr "pareja de registros equivocada para operando %u de '%.*s'"
+msgstr "pareja de registros incorrecta para el operando %u de '%.*s'"
-#: config/tc-tic6x.c:1702
+#: config/tc-tic6x.c:1696
#, c-format
msgid "bad functional unit for operand %u of '%.*s'"
-msgstr "unidad funcional equivocada para operando %u de '%.*s'"
+msgstr "unidad funcional incorrecta para el operando %u de '%.*s'"
-#: config/tc-tic6x.c:1707
+#: config/tc-tic6x.c:1701
#, c-format
msgid "bad operand %u of '%.*s'"
-msgstr "operando %u equivocado de '%.*s'"
+msgstr "operando %u incorrecto de '%.*s'"
-#: config/tc-tic6x.c:1839
+#: config/tc-tic6x.c:1833
msgid "$DSBT_INDEX must be used with __c6xabi_DSBT_BASE"
msgstr "$DSBT_INDEX se debe usar con __c6xabi_DSBT_BASE"
-#: config/tc-tic6x.c:1879
+#: config/tc-tic6x.c:1873
msgid "$DSBT_INDEX not supported in this context"
msgstr "no se admite $DSBT_INDEX en este contexto"
-#: config/tc-tic6x.c:1892
+#: config/tc-tic6x.c:1886
msgid "$GOT not supported in this context"
msgstr "no se admite $GOT en este contexto"
-#: config/tc-tic6x.c:1909
+#: config/tc-tic6x.c:1903
msgid "$DPR_GOT not supported in this context"
msgstr "no se admite $DPR_GOT en este contexto"
-#: config/tc-tic6x.c:1930
+#: config/tc-tic6x.c:1924
msgid "$DPR_BYTE not supported in this context"
msgstr "no se admite $DPR_BYTE en este contexto"
-#: config/tc-tic6x.c:1947
+#: config/tc-tic6x.c:1941
msgid "$DPR_HWORD not supported in this context"
msgstr "no se admite $DPR_HWORD en este contexto"
-#: config/tc-tic6x.c:1964
+#: config/tc-tic6x.c:1958
msgid "$DPR_WORD not supported in this context"
msgstr "no se admite $DPR_WORD en este contexto"
-#: config/tc-tic6x.c:1983
+#: config/tc-tic6x.c:1977
msgid "$PCR_OFFSET not supported in this context"
msgstr "no se admite $PCR_OFFSET en este contexto"
-#: config/tc-tic6x.c:1994
+#: config/tc-tic6x.c:1988
msgid "invalid PC-relative operand"
msgstr "operando relativo al PC inválido"
-#: config/tc-tic6x.c:2031
+#: config/tc-tic6x.c:2025
#, c-format
msgid "no %d-byte relocations available"
msgstr "no hay reubicaciones de %d bytes disponibles"
-#: config/tc-tic6x.c:2518 config/tc-tic6x.c:2549 config/tc-tic6x.c:2567
-#: config/tc-tic6x.c:2997 config/tc-tic6x.c:3016 config/tc-tic6x.c:3048
+#: config/tc-tic6x.c:2512 config/tc-tic6x.c:2543 config/tc-tic6x.c:2561
+#: config/tc-tic6x.c:2991 config/tc-tic6x.c:3010 config/tc-tic6x.c:3042
#, c-format
msgid "operand %u of '%.*s' out of range"
-msgstr "operando %u de '%.*s' está fuera de límite"
+msgstr "operando %u de '%.*s' está fuera de rango"
-#: config/tc-tic6x.c:2611 config/tc-tic6x.c:2836
+#: config/tc-tic6x.c:2605 config/tc-tic6x.c:2830
#, c-format
msgid "offset in operand %u of '%.*s' not divisible by %u"
msgstr "el desplazamiento en operando %u de '%.*s' no es divisible por %u"
-#: config/tc-tic6x.c:2828 config/tc-tic6x.c:2861
+#: config/tc-tic6x.c:2822 config/tc-tic6x.c:2855
#, c-format
msgid "offset in operand %u of '%.*s' out of range"
-msgstr "el desplazamiento en operando %u de '%.*s' está fuera de límite"
+msgstr "el desplazamiento en operando %u de '%.*s' está fuera de rango"
-#: config/tc-tic6x.c:2943
+#: config/tc-tic6x.c:2937
#, c-format
msgid "functional unit already masked for operand %u of '%.*s'"
-msgstr "unidad funcional ya está enmascarada para operando %u de '%.*s'"
+msgstr "unidad funcional ya está enmascarada para el operando %u de '%.*s'"
-#: config/tc-tic6x.c:2967 config/tc-tic6x.c:3726
+#: config/tc-tic6x.c:2961 config/tc-tic6x.c:3719
#, c-format
msgid "'%.*s' instruction not in a software pipelined loop"
msgstr "instrucción '%.*s' no está en un ciclo entubado por software"
-#: config/tc-tic6x.c:3066
+#: config/tc-tic6x.c:3060
#, c-format
msgid "instruction '%.*s' cannot be predicated"
msgstr "instrucción '%.*s' no puede ser predicado"
-#: config/tc-tic6x.c:3334
+#: config/tc-tic6x.c:3327
#, c-format
msgid "'%.*s' instruction not supported on this architecture"
msgstr "instrucción '%.*s' no se admite en esta arquitectura"
-#: config/tc-tic6x.c:3342
+#: config/tc-tic6x.c:3335
#, c-format
msgid "'%.*s' instruction not supported on this functional unit"
msgstr "instrucción '%.*s' no se admite en esta unidad funcional"
-#: config/tc-tic6x.c:3350
+#: config/tc-tic6x.c:3343
#, c-format
msgid "'%.*s' instruction not supported on this functional unit for this architecture"
msgstr "instrucción '%.*s' no se admite en esta unidad funcional para esta arquitectura"
-#: config/tc-tic6x.c:3370
+#: config/tc-tic6x.c:3363
msgid "missing operand after comma"
msgstr "ausente operando tras la coma"
-#: config/tc-tic6x.c:3378 config/tc-tic6x.c:3396
+#: config/tc-tic6x.c:3371 config/tc-tic6x.c:3389
#, c-format
msgid "too many operands to '%.*s'"
msgstr "demasiados operandos para '%.*s'"
-#: config/tc-tic6x.c:3409
+#: config/tc-tic6x.c:3402
#, c-format
msgid "bad number of operands to '%.*s'"
-msgstr "número equivocado de operandos para '%.*s'"
+msgstr "número incorrecto de operandos para '%.*s'"
-#: config/tc-tic6x.c:3481
+#: config/tc-tic6x.c:3474
#, c-format
msgid "operand %u of '%.*s' not constant"
msgstr "operando %u de '%.*s' no es una constante"
-#: config/tc-tic6x.c:3486
+#: config/tc-tic6x.c:3479
#, c-format
msgid "operand %u of '%.*s' on wrong side"
-msgstr "operando %u de '%.*s' está en el lado equivocado"
+msgstr "operando %u de '%.*s' está en el lado incorrecto"
-#: config/tc-tic6x.c:3491
+#: config/tc-tic6x.c:3484
#, c-format
msgid "operand %u of '%.*s' not a valid return address register"
msgstr "operando %u de '%.*s' no es un registro direccional de devolución válido"
-#: config/tc-tic6x.c:3497
+#: config/tc-tic6x.c:3490
#, c-format
msgid "operand %u of '%.*s' is write-only"
-msgstr "operando %u de '%.*s' es de sólo escritura"
+msgstr "operando %u de '%.*s' es de solo escritura"
-#: config/tc-tic6x.c:3502
+#: config/tc-tic6x.c:3495
#, c-format
msgid "operand %u of '%.*s' is read-only"
-msgstr "operando %u de '%.*s' es de sólo lectura"
+msgstr "operando %u de '%.*s' es de solo lectura"
-#: config/tc-tic6x.c:3507
+#: config/tc-tic6x.c:3500
#, c-format
msgid "operand %u of '%.*s' not a valid memory reference"
msgstr "operando %u de '%.*s' no es una referencia de memoria válida"
-#: config/tc-tic6x.c:3513
+#: config/tc-tic6x.c:3506
#, c-format
msgid "operand %u of '%.*s' not a valid base address register"
msgstr "operando %u de '%.*s' no es un registro direccional base válido"
-#: config/tc-tic6x.c:3599
+#: config/tc-tic6x.c:3592
#, c-format
msgid "bad operand combination for '%.*s'"
-msgstr "combinación de operandos equivocada para '%.*s'"
+msgstr "combinación de operandos incorrecta para '%.*s'"
-#: config/tc-tic6x.c:3645
+#: config/tc-tic6x.c:3638
msgid "parallel instruction not following another instruction"
msgstr "la instrucción paralela no está a continuación de otra instrucción"
-#: config/tc-tic6x.c:3651
+#: config/tc-tic6x.c:3644
msgid "too many instructions in execute packet"
msgstr "demasiadas instrucciones en el paquete de ejecución"
-#: config/tc-tic6x.c:3656
+#: config/tc-tic6x.c:3649
msgid "label not at start of execute packet"
msgstr "la etiqueta no está al inicio del paquete de ejecución"
-#: config/tc-tic6x.c:3659
+#: config/tc-tic6x.c:3652
#, c-format
msgid "'%.*s' instruction not at start of execute packet"
msgstr "la instrucción '%.*s' no está al inicio del paquete de ejecución"
-#: config/tc-tic6x.c:3707
+#: config/tc-tic6x.c:3700
msgid "functional unit already used in this execute packet"
msgstr "la unidad funcional ya está en uso en este paquete de ejecución"
-#: config/tc-tic6x.c:3715
+#: config/tc-tic6x.c:3708
msgid "nested software pipelined loop"
msgstr "ciclo entubado por software anidado"
-#: config/tc-tic6x.c:3734
+#: config/tc-tic6x.c:3727
msgid "'||^' without previous SPMASK"
msgstr "'||^' sin un SPMASK previo"
-#: config/tc-tic6x.c:3736
+#: config/tc-tic6x.c:3729
msgid "cannot mask instruction using no functional unit"
msgstr "no se puede enmascarar la instrucción sin una unidad funcional"
-#: config/tc-tic6x.c:3748
+#: config/tc-tic6x.c:3741
msgid "functional unit already masked"
msgstr "la unidad funcional ya está enmascarada"
-#: config/tc-tic6x.c:3813
+#: config/tc-tic6x.c:3806
msgid "value too large for 2-byte field"
msgstr "valor demasiado grande para un campo de 2 bytes"
-#: config/tc-tic6x.c:3823
+#: config/tc-tic6x.c:3816
msgid "value too large for 1-byte field"
msgstr "valor demasiado grande para un campo de 1 byte"
-#: config/tc-tic6x.c:3950
+#: config/tc-tic6x.c:3943
msgid "immediate offset not 2-byte-aligned"
msgstr "el desplazamiento inmediato no está alineado a 2 bytes"
-#: config/tc-tic6x.c:3978
+#: config/tc-tic6x.c:3971
msgid "immediate offset not 4-byte-aligned"
msgstr "el desplazamiento inmediato no está alineado a 4 bytes"
-#: config/tc-tic6x.c:3992
+#: config/tc-tic6x.c:3985
msgid "addend used with $DSBT_INDEX"
msgstr "se usó addend con $DSBT_INDEX"
-#: config/tc-tic6x.c:4006 config/tc-tic6x.c:4024 config/tc-tic6x.c:4042
-#: config/tc-tic6x.c:4060
+#: config/tc-tic6x.c:3999 config/tc-tic6x.c:4017 config/tc-tic6x.c:4035
+#: config/tc-tic6x.c:4053
msgid "PC-relative offset not 4-byte-aligned"
msgstr "Desplazamiento relativo al PC no alineado a 4-bytes"
-#: config/tc-tic6x.c:4009 config/tc-tic6x.c:4027 config/tc-tic6x.c:4045
-#: config/tc-tic6x.c:4063
+#: config/tc-tic6x.c:4002 config/tc-tic6x.c:4020 config/tc-tic6x.c:4038
+#: config/tc-tic6x.c:4056
msgid "PC-relative offset out of range"
-msgstr "Desplazamiento relativo al PC está fuera de límite"
+msgstr "Desplazamiento relativo al PC está fuera de rango"
-#: config/tc-tic6x.c:4542
+#: config/tc-tic6x.c:4537
#, c-format
msgid "undefined symbol %s in PCR relocation"
msgstr "símbolo indefinido %s en reubicación PCR"
-#: config/tc-tic6x.c:4660
+#: config/tc-tic6x.c:4654
#, c-format
msgid "group section `%s' has no group signature"
msgstr "sección de grupo «%s» no tiene firma de grupo"
-#: config/tc-tic6x.c:4812
+#: config/tc-tic6x.c:4806
msgid "missing .endp before .cfi_startproc"
msgstr "ausente .endp antes de .cfi_startproc"
-#: config/tc-tic6x.c:4917
+#: config/tc-tic6x.c:4911
msgid "stack pointer offset too large for personality routine"
msgstr "el desplazamiento del puntero de pila es demasiado grande para la rutina personality"
-#: config/tc-tic6x.c:4924
+#: config/tc-tic6x.c:4918
msgid "stack frame layout does not match personality routine"
msgstr "la disposición del marco de pila no coincide con la rutina personality"
-#: config/tc-tic6x.c:5058
+#: config/tc-tic6x.c:5052
msgid "too many unwinding instructions"
msgstr "demasiadas instrucciones de desenredo"
-#: config/tc-tic6x.c:5133 config/tc-tic6x.c:5146 config/tc-tic6x.c:5154
+#: config/tc-tic6x.c:5127 config/tc-tic6x.c:5140 config/tc-tic6x.c:5148
#, c-format
msgid "unable to generate unwinding opcode for reg %d"
msgstr "incapaz de generar códigos operacionales de desenredo para el registro %d"
-#: config/tc-tic6x.c:5163
+#: config/tc-tic6x.c:5157
msgid "unable to restore return address from previously restored reg"
msgstr "no se puede restaurar la dirección de devolución para el registro previamente restaurado"
-#: config/tc-tic6x.c:5175
+#: config/tc-tic6x.c:5169
#, c-format
msgid "unhandled CFA insn for unwinding (%d)"
msgstr "insn CFA sin manipular para el desenredo (%d)"
-#: config/tc-tic6x.c:5185
+#: config/tc-tic6x.c:5179
#, c-format
msgid "unable to generate unwinding opcode for frame pointer reg %d"
msgstr "incapaz de generar código operacional de desenredo para el registro de puntero a marco %d"
-#: config/tc-tic6x.c:5194
+#: config/tc-tic6x.c:5188
msgid "unable to generate unwinding opcode for frame pointer offset"
msgstr "incapaz de generar código operacional de desenredo para el desplazamiento de puntero a marco"
-#: config/tc-tic6x.c:5203
+#: config/tc-tic6x.c:5197
msgid "unwound stack pointer not doubleword aligned"
msgstr "el puntero de pila desenredado no está alineado a dobleword"
-#: config/tc-tic6x.c:5348
+#: config/tc-tic6x.c:5342
msgid "stack frame layout too complex for unwinder"
msgstr "la disposición del marco de pila es demasiado complejo para el desenredador"
-#: config/tc-tic6x.c:5365
+#: config/tc-tic6x.c:5359
msgid "unwound frame has negative size"
msgstr "el marco desenredado tiene tamaño negativo"
-#: config/tc-tilegx.c:142
+#: config/tc-tilegx.c:141
#, c-format
msgid ""
" -Q ignored\n"
@@ -18139,102 +20703,97 @@ msgstr ""
" -EB/-EL genera código big-endian/little-endian\n"
" --32/--64 genera código 32bit/64bit\n"
-#: config/tc-tilegx.c:736 config/tc-tilepro.c:627
+#: config/tc-tilegx.c:731 config/tc-tilepro.c:619
msgid "Invalid operator for operand."
-msgstr "Operador inválido para operando."
+msgstr "Operador inválido para el operando."
-#: config/tc-tilegx.c:757 config/tc-tilepro.c:648
+#: config/tc-tilegx.c:754 config/tc-tilepro.c:642
msgid "Operator may only be applied to symbols."
-msgstr "El operador sólo se puede aplicar a símbolos."
+msgstr "El operador solo se puede aplicar a símbolos."
-#: config/tc-tilegx.c:822 config/tc-tilepro.c:713
+#: config/tc-tilegx.c:819 config/tc-tilepro.c:707
#, c-format
msgid "Writes to register '%s' are not allowed."
msgstr "No se permiten las escrituras al registro «%s»."
-#: config/tc-tilegx.c:849 config/tc-tilepro.c:740
+#: config/tc-tilegx.c:846 config/tc-tilepro.c:734
#, c-format
msgid "Two instructions in the same bundle both write to register %s, which is not allowed."
msgstr "Dos instrucciones en el mismo haz ambos escriben al registro %s, lo no está permitido."
-#: config/tc-tilegx.c:914 config/tc-tilepro.c:804
+#: config/tc-tilegx.c:911 config/tc-tilepro.c:798
#, c-format
msgid "'%s' may not be bundled with other instructions."
msgstr "'%s 'no se puede agrupar con otras instrucciones."
-#: config/tc-tilegx.c:944 config/tc-tilepro.c:834
+#: config/tc-tilegx.c:941 config/tc-tilepro.c:828
msgid "Invalid combination of instructions for bundle."
msgstr "Combinación no válida de instrucciones para el agrupado."
-#: config/tc-tilegx.c:979 config/tc-tilepro.c:869
+#: config/tc-tilegx.c:976 config/tc-tilepro.c:863
msgid "instruction address is not a multiple of 8"
msgstr "la instrucción direccional no es un múltiplo de 8"
-#: config/tc-tilegx.c:1056 config/tc-tilepro.c:947
+#: config/tc-tilegx.c:1053 config/tc-tilepro.c:941
msgid "Invalid expression."
msgstr "Expresión no válida."
-#: config/tc-tilegx.c:1102 config/tc-tilepro.c:989
+#: config/tc-tilegx.c:1099 config/tc-tilepro.c:983
#, c-format
msgid "Expected register, got '%s'."
msgstr "Se esperaba un registro, se obtuvo «%s»."
-#: config/tc-tilegx.c:1109 config/tc-tilepro.c:996
+#: config/tc-tilegx.c:1106 config/tc-tilepro.c:990
#, c-format
msgid "Found use of non-canonical register name %s; use %s instead."
msgstr "Se encontró el uso del nombre de registro %s que no es canónico; use %s en su lugar."
-#: config/tc-tilegx.c:1169 config/tc-tilepro.c:1055
+#: config/tc-tilegx.c:1166 config/tc-tilepro.c:1049
#, c-format
msgid "Too few operands to '%s'."
msgstr "Ausenten operandos para «%s»."
-#: config/tc-tilegx.c:1174 config/tc-tilepro.c:1060
+#: config/tc-tilegx.c:1171 config/tc-tilepro.c:1054
#, c-format
msgid "Unexpected character '%c' after operand %d to %s."
msgstr "Carácter inesperado '%c' antes de operando %d para %s."
-#: config/tc-tilegx.c:1195 config/tc-tilepro.c:1081
+#: config/tc-tilegx.c:1192 config/tc-tilepro.c:1075
msgid "Expected immediate expression"
msgstr "Se esperaba una expresión inmediata"
-#: config/tc-tilegx.c:1208 config/tc-tilegx.c:1813 config/tc-tilepro.c:1094
-#: config/tc-tilepro.c:1593
+#: config/tc-tilegx.c:1205 config/tc-tilegx.c:1807 config/tc-tilepro.c:1088
+#: config/tc-tilepro.c:1584
msgid "Found '}' when not bundling."
msgstr "Se encontró '}' cuando no se está agrupando."
-#: config/tc-tilegx.c:1249 config/tc-tilepro.c:1134
+#: config/tc-tilegx.c:1246 config/tc-tilepro.c:1128
#, c-format
msgid "Unknown opcode `%.*s'."
msgstr "Desconoce código operacional `%.*s'."
-#: config/tc-tilegx.c:1260 config/tc-tilepro.c:1145
+#: config/tc-tilegx.c:1257 config/tc-tilepro.c:1139
msgid "Too many instructions for bundle."
msgstr "Demasiadas instrucciones para la agrupación."
-#: config/tc-tilegx.c:1355 config/tc-tilepro.c:1230
+#: config/tc-tilegx.c:1349 config/tc-tilepro.c:1221
msgid "Bad call to md_atof ()"
-msgstr "Llamada equivocada a md_atof ()"
+msgstr "Llamada incorrecta a md_atof ()"
-#: config/tc-tilegx.c:1431 config/tc-tilepro.c:1293
+#: config/tc-tilegx.c:1425 config/tc-tilepro.c:1284
msgid "This operator only produces two byte values."
-msgstr "Este operador sólo produce valores de dos bytes."
-
-#: config/tc-tilegx.c:1457 config/tc-tilepro.c:1319
-#, c-format
-msgid "unsupported BFD relocation size %d"
-msgstr "no se admite el tamaño de reubicación BFD %d"
+msgstr "Este operador solo produce valores de dos bytes."
-#: config/tc-tilegx.c:1758 config/tc-tilepro.c:1538
+#: config/tc-tilegx.c:1752 config/tc-tilepro.c:1529
#, c-format
msgid "internal error? cannot generate `%s' relocation (%d, %d)"
msgstr "¿Error interno? incapaz de generar la reubicación «%s» (%d, %d)"
-#: config/tc-tilegx.c:1801 config/tc-tilepro.c:1581
+#: config/tc-tilegx.c:1795 config/tc-tilepro.c:1572
msgid "Found '{' when already bundling."
msgstr "Se encontró '{' cuando ya estaba agrupado."
-#: config/tc-tilepro.c:99
+#: config/tc-tilepro.c:98
#, c-format
msgid ""
" -Q ignored\n"
@@ -18243,481 +20802,481 @@ msgstr ""
" -Q se descarta\n"
" -V escribe el número de versión del ensamblador\n"
-#: config/tc-v850.c:294
+#: config/tc-v850.c:291
#, c-format
msgid ".COMMon length (%d.) < 0! Ignored."
msgstr "¡Longitud .COMMún (%d.) < 0! Se descarta."
-#: config/tc-v850.c:315
+#: config/tc-v850.c:312
#, c-format
msgid "Length of .comm \"%s\" is already %ld. Not changed to %d."
msgstr "La longitud de .comm «%s» ya es %ld. No se cambia a %d."
-#: config/tc-v850.c:341
+#: config/tc-v850.c:338
msgid "Common alignment negative; 0 assumed"
msgstr "Alineación común negativa; se asume 0"
-#: config/tc-v850.c:545
+#: config/tc-v850.c:542
msgid ".longcall pseudo-op seen when not relaxing"
msgstr "se vio el pseudo-operador .longcall cuando no se estaba relajando"
-#: config/tc-v850.c:547
+#: config/tc-v850.c:544
msgid ".longjump pseudo-op seen when not relaxing"
msgstr "se vio el pseudo-operador .longjump cuando no se estaba relajando"
-#: config/tc-v850.c:554
+#: config/tc-v850.c:551
msgid "bad .longcall format"
-msgstr "formato de .longcall equivocado"
+msgstr "formato de .longcall incorrecto"
-#: config/tc-v850.c:1393
+#: config/tc-v850.c:1389
#, c-format
msgid "unknown operand shift: %x\n"
msgstr "operando de desplazamiento desconocido: %x\n"
-#: config/tc-v850.c:1394
+#: config/tc-v850.c:1390
msgid "internal failure in parse_register_list"
msgstr "falla interna en parse_register_list"
-#: config/tc-v850.c:1410
+#: config/tc-v850.c:1406
msgid "constant expression or register list expected"
msgstr "se esperaba una expresión constante o una lista de registros"
-#: config/tc-v850.c:1415
+#: config/tc-v850.c:1411
msgid "high bits set in register list expression"
msgstr "se establecieron los bits altos en la expresión de lista de registros"
-#: config/tc-v850.c:1453 config/tc-v850.c:1510
+#: config/tc-v850.c:1449 config/tc-v850.c:1506
msgid "illegal register included in list"
msgstr "se incluyó un registro alegal en la lista"
-#: config/tc-v850.c:1459
+#: config/tc-v850.c:1455
msgid "system registers cannot be included in list"
msgstr "los registros del sistema no se pueden incluir en la lista"
-#: config/tc-v850.c:1485
+#: config/tc-v850.c:1481
msgid "second register should follow dash in register list"
msgstr "el segundo registro debe estar a continuación de un guión en la lista de registros"
-#: config/tc-v850.c:1490
+#: config/tc-v850.c:1486
msgid "second register should be greater than first register"
msgstr "el segundo registro debe ser mayor que el primer registro"
-#: config/tc-v850.c:1540
+#: config/tc-v850.c:1536
#, c-format
msgid " V850 options:\n"
msgstr " Opciones de V850:\n"
-#: config/tc-v850.c:1541
+#: config/tc-v850.c:1537
#, c-format
msgid " -mwarn-signed-overflow Warn if signed immediate values overflow\n"
msgstr " -mwarn-signed-overflow Avisa si los valores inmediatos con signo desbordan\n"
-#: config/tc-v850.c:1542
+#: config/tc-v850.c:1538
#, c-format
msgid " -mwarn-unsigned-overflow Warn if unsigned immediate values overflow\n"
msgstr " -mwarn-unsigned-overflow Avisa si los valores inmediato sin signo desbordan\n"
-#: config/tc-v850.c:1543
+#: config/tc-v850.c:1539
#, c-format
msgid " -mv850 The code is targeted at the v850\n"
msgstr " -mv850 El código está destinado para el v850\n"
-#: config/tc-v850.c:1544
+#: config/tc-v850.c:1540
#, c-format
msgid " -mv850e The code is targeted at the v850e\n"
msgstr " -mv850e El código está destinado para el v850e\n"
-#: config/tc-v850.c:1545
+#: config/tc-v850.c:1541
#, c-format
msgid " -mv850e1 The code is targeted at the v850e1\n"
msgstr " -mv850e1 El código está destinado para el v850e1\n"
-#: config/tc-v850.c:1546
+#: config/tc-v850.c:1542
#, c-format
msgid " -mv850e2 The code is targeted at the v850e2\n"
msgstr " -mv850e2 El código está destinado para el v850e2\n"
-#: config/tc-v850.c:1547
+#: config/tc-v850.c:1543
#, c-format
msgid " -mv850e2v3 The code is targeted at the v850e2v3\n"
msgstr " -mv850e2v3 El código está destinado para el v850e2v3\n"
-#: config/tc-v850.c:1548
+#: config/tc-v850.c:1544
#, c-format
msgid " -mv850e2v4 Alias for -mv850e3v5\n"
msgstr " -mv850e2v4 Alias para -mv850e3v5\n"
-#: config/tc-v850.c:1549
+#: config/tc-v850.c:1545
#, c-format
msgid " -mv850e3v5 The code is targeted at the v850e3v5\n"
msgstr " -mv850e3v5 El código está destinado para el v850e3v5\n"
-#: config/tc-v850.c:1550
+#: config/tc-v850.c:1546
#, c-format
msgid " -mrelax Enable relaxation\n"
msgstr " -mrelax Activa la relajación\n"
-#: config/tc-v850.c:1551
+#: config/tc-v850.c:1547
#, c-format
msgid " --disp-size-default-22 branch displacement with unknown size is 22 bits (default)\n"
msgstr " --disp-size-default-22 el desplazamiento de ramificación de tamaño desconocido es de 22 bits (por defecto)\n"
-#: config/tc-v850.c:1552
+#: config/tc-v850.c:1548
#, c-format
msgid " --disp-size-default-32 branch displacement with unknown size is 32 bits\n"
msgstr " --disp-size-default-32 el desplazamiento de ramificación de tamaño desconocido es de 32 bits\n"
-#: config/tc-v850.c:1553
+#: config/tc-v850.c:1549
#, c-format
msgid " -mextension enable extension opcode support\n"
msgstr " -mextension activa el soporte de códigod operacional de extensión\n"
-#: config/tc-v850.c:1554
+#: config/tc-v850.c:1550
#, c-format
msgid " -mno-bcond17\t\t disable b<cond> disp17 instruction\n"
msgstr " -mno-bcond17\t\t desactiva la instrucción b<cond> disp17\n"
-#: config/tc-v850.c:1555
+#: config/tc-v850.c:1551
#, c-format
msgid " -mno-stld23\t\t disable st/ld offset23 instruction\n"
msgstr " -mno-stld23\t\t desactiva la instrucción desplazamiento st/ld offset23\n"
-#: config/tc-v850.c:1556
+#: config/tc-v850.c:1552
#, c-format
msgid " -mgcc-abi Mark the binary as using the old GCC ABI\n"
msgstr ""
" -mgcc-abi marca el binario como empleando el antiguo API GCC\n"
"\n"
-#: config/tc-v850.c:1557
+#: config/tc-v850.c:1553
#, c-format
msgid " -mrh850-abi Mark the binary as using the RH850 ABI (default)\n"
msgstr " -mrh850-abi Marca el binario como utilizando el ABI RH850 (predet.)\n"
-#: config/tc-v850.c:1558
+#: config/tc-v850.c:1554
#, c-format
msgid " -m8byte-align Mark the binary as using 64-bit alignment\n"
msgstr ""
" -m8byte-align Marca el binario como utilizando alineamiento de 64-bit\n"
"\n"
-#: config/tc-v850.c:1559
+#: config/tc-v850.c:1555
#, c-format
msgid " -m4byte-align Mark the binary as using 32-bit alignment (default)\n"
msgstr " -m4byte-align Marca el binario como alineamiento de 32-bit utilizado (predet.)\n"
-#: config/tc-v850.c:1560
+#: config/tc-v850.c:1556
#, c-format
msgid " -msoft-float Mark the binary as not using FP insns (default for pre e2v3)\n"
msgstr ""
-#: config/tc-v850.c:1561
+#: config/tc-v850.c:1557
#, c-format
msgid " -mhard-float Mark the binary as using FP insns (default for e2v3 and up)\n"
msgstr ""
-#: config/tc-v850.c:1949
+#: config/tc-v850.c:1945
#, c-format
msgid "Unable to determine default target processor from string: %s"
msgstr "No se puede determinar el procesador objetivo por defecto de la cadena: %s"
-#: config/tc-v850.c:1993
+#: config/tc-v850.c:1988
msgid "hi0() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación hi0() en una instrucción que no la admite"
-#: config/tc-v850.c:2013
+#: config/tc-v850.c:2008
msgid "hi() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación hi() en una instrucción que no la admite"
-#: config/tc-v850.c:2036
+#: config/tc-v850.c:2027
msgid "lo() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación lo() en una instrucción que no la admite"
-#: config/tc-v850.c:2046
+#: config/tc-v850.c:2038
msgid "ctoff() is not supported by the rh850 ABI. Use -mgcc-abi instead"
msgstr ""
-#: config/tc-v850.c:2062
+#: config/tc-v850.c:2054
msgid "ctoff() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación ctoff() en una instrucción que no la admite"
-#: config/tc-v850.c:2081
+#: config/tc-v850.c:2073
msgid "sdaoff() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación sdaoff() en una instrucción que no la admite"
-#: config/tc-v850.c:2100
+#: config/tc-v850.c:2092
msgid "zdaoff() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación zdaoff() en una instrucción que no la admite"
-#: config/tc-v850.c:2132
+#: config/tc-v850.c:2124
msgid "tdaoff() relocation used on an instruction which does not support it"
msgstr "se utilizó una reubicación tdaoff() en una instrucción que no la admite"
-#: config/tc-v850.c:2273
+#: config/tc-v850.c:2265
#, c-format
msgid "operand out of range (%d is not between %d and %d)"
-msgstr "operando fuera de límite (%d no está entre %d y %d)"
+msgstr "operando fuera de rango (%d no está entre %d y %d)"
-#: config/tc-v850.c:2356
+#: config/tc-v850.c:2348
msgid "st/ld offset 23 instruction was disabled ."
msgstr "st/ld desplaza 23 instrucciones fue desactivado."
-#: config/tc-v850.c:2365
+#: config/tc-v850.c:2357
msgid "Target processor does not support this instruction."
msgstr "El procesador objetivo no admite esta instrucción."
-#: config/tc-v850.c:2477 config/tc-v850.c:2487 config/tc-v850.c:2508
-#: config/tc-v850.c:2522 config/tc-v850.c:2528 config/tc-v850.c:2552
-#: config/tc-v850.c:2558 config/tc-v850.c:2565 config/tc-v850.c:2579
-#: config/tc-v850.c:2593 config/tc-v850.c:2599 config/tc-v850.c:2936
+#: config/tc-v850.c:2469 config/tc-v850.c:2479 config/tc-v850.c:2500
+#: config/tc-v850.c:2514 config/tc-v850.c:2520 config/tc-v850.c:2544
+#: config/tc-v850.c:2550 config/tc-v850.c:2557 config/tc-v850.c:2571
+#: config/tc-v850.c:2585 config/tc-v850.c:2591 config/tc-v850.c:2929
msgid "immediate operand is too large"
msgstr "operando inmediato es demasiado grande"
-#: config/tc-v850.c:2494
+#: config/tc-v850.c:2486
#, c-format
msgid "AAARG -> unhandled constant reloc: %d"
msgstr "AAARG → reubicación constante no manipulado: %d"
-#: config/tc-v850.c:2629 config/tc-v850.c:2640
+#: config/tc-v850.c:2621 config/tc-v850.c:2632
msgid "constant too big to fit into instruction"
msgstr "la constante es demasiado grande para caber en la instrucción"
-#: config/tc-v850.c:2715
+#: config/tc-v850.c:2707
msgid "odd number cannot be used here"
msgstr "no se puede usar aquí un número impar"
-#: config/tc-v850.c:2760
+#: config/tc-v850.c:2752
msgid "invalid register name"
msgstr "nombre de registro inválido"
-#: config/tc-v850.c:2766
+#: config/tc-v850.c:2758
msgid "register r0 cannot be used here"
msgstr "el registro r0 no se puede usar aquí"
-#: config/tc-v850.c:2772
+#: config/tc-v850.c:2764
msgid "odd register cannot be used here"
msgstr "no se puede usar aquí un registro impar"
-#: config/tc-v850.c:2781
+#: config/tc-v850.c:2773
msgid "invalid system register name"
msgstr "nombre de registro de sistema inválido"
-#: config/tc-v850.c:2795
+#: config/tc-v850.c:2787
msgid "expected EP register"
msgstr "se esperaba el registro EP"
-#: config/tc-v850.c:2812 config/tc-v850.c:2825
+#: config/tc-v850.c:2804 config/tc-v850.c:2817
msgid "invalid condition code name"
msgstr "nombre de código de condición inválido"
-#: config/tc-v850.c:2818
+#: config/tc-v850.c:2810
msgid "condition sa cannot be used here"
msgstr "la condición sa no se puede usar aquí"
-#: config/tc-v850.c:2831
+#: config/tc-v850.c:2823
msgid "invalid cache operation name"
msgstr "nompre operacional caché inválido"
-#: config/tc-v850.c:2836
+#: config/tc-v850.c:2828
msgid "invalid pref operation name"
msgstr "nombre pre operacional inválido"
-#: config/tc-v850.c:2841
+#: config/tc-v850.c:2833
msgid "invalid vector register name"
-msgstr "nombre de registro vectorial no válida"
+msgstr "nombre de registro de vector no válida"
-#: config/tc-v850.c:2879
+#: config/tc-v850.c:2871
msgid "syntax error: value is missing before the register name"
-msgstr "error sintáctico: ausente el valor antes del nombre de registro"
+msgstr "error de sintaxis: ausente el valor antes del nombre de registro"
-#: config/tc-v850.c:2881
+#: config/tc-v850.c:2873
msgid "syntax error: register not expected"
-msgstr "error sintáctico: no se esperaba un registro"
+msgstr "error de sintaxis: no se esperaba un registro"
-#: config/tc-v850.c:2895
+#: config/tc-v850.c:2887
msgid "syntax error: system register not expected"
-msgstr "error sintáctico: no se esperaba un registro de sistema"
+msgstr "error de sintaxis: no se esperaba un registro de sistema"
-#: config/tc-v850.c:2900 config/tc-v850.c:2905
+#: config/tc-v850.c:2892 config/tc-v850.c:2897
msgid "syntax error: condition code not expected"
-msgstr "error sintáctico: no es esperaba código de condición"
+msgstr "error de sintaxis: no es esperaba código de condición"
-#: config/tc-v850.c:2910
+#: config/tc-v850.c:2902
msgid "syntax error: vector register not expected"
-msgstr "error sintáctico: registro vectorial no esperado"
+msgstr "error de sintaxis: registro de vector no esperado"
-#: config/tc-v850.c:2920
+#: config/tc-v850.c:2913
msgid "immediate 0 cannot be used here"
msgstr "el inmediato 0 no se puede usar aquí"
# FIXME: ver en el código si se puede cambiar "no es match" por "no coincide" - cfuga
-#: config/tc-v850.c:2944
+#: config/tc-v850.c:2937
msgid "immediate operand is not match"
msgstr "operando inmediato no coincide"
-#: config/tc-v850.c:2957
+#: config/tc-v850.c:2950
msgid "displacement is too large"
msgstr "desubicación demasiado grande"
-#: config/tc-v850.c:2975 config/tc-xtensa.c:13081
+#: config/tc-v850.c:2968 config/tc-xtensa.c:13093
msgid "invalid operand"
msgstr "operando inválido"
-#: config/tc-v850.c:3087
+#: config/tc-v850.c:3080
msgid "loop: 32-bit displacement not supported"
msgstr "bucle: desplazamiento de 32-bit no compatible"
-#: config/tc-vax.c:1344
+#: config/tc-vax.c:1339
msgid "no '[' to match ']'"
msgstr "no hay '[' que coincida con ']'"
-#: config/tc-vax.c:1360
+#: config/tc-vax.c:1355
msgid "bad register in []"
-msgstr "registro equivocado en []"
+msgstr "registro incorrecto en []"
-#: config/tc-vax.c:1362
+#: config/tc-vax.c:1357
msgid "[PC] index banned"
msgstr "índice [PC] prohibido"
-#: config/tc-vax.c:1398
+#: config/tc-vax.c:1393
msgid "no '(' to match ')'"
msgstr "no hay '(' que coincida con ')'"
-#: config/tc-vax.c:1514
+#: config/tc-vax.c:1509
msgid "invalid branch operand"
msgstr "operando de ramificación inválido"
-#: config/tc-vax.c:1541
+#: config/tc-vax.c:1536
msgid "address prohibits @"
msgstr "la dirección prohibe @"
-#: config/tc-vax.c:1543
+#: config/tc-vax.c:1538
msgid "address prohibits #"
msgstr "la dirección prohibe #"
-#: config/tc-vax.c:1547
+#: config/tc-vax.c:1542
msgid "address prohibits -()"
msgstr "la dirección prohibe -()"
-#: config/tc-vax.c:1549
+#: config/tc-vax.c:1544
msgid "address prohibits ()+"
msgstr "la dirección prohibe ()+"
-#: config/tc-vax.c:1552
+#: config/tc-vax.c:1547
msgid "address prohibits ()"
msgstr "la dirección prohibe ()"
-#: config/tc-vax.c:1554
+#: config/tc-vax.c:1549
msgid "address prohibits []"
msgstr "la dirección prohibe []"
-#: config/tc-vax.c:1556
+#: config/tc-vax.c:1551
msgid "address prohibits register"
msgstr "la dirección prohibe un registro"
-#: config/tc-vax.c:1558
+#: config/tc-vax.c:1553
msgid "address prohibits displacement length specifier"
msgstr "la dirección prohibe un especificador de longitud de desubicación"
-#: config/tc-vax.c:1586
+#: config/tc-vax.c:1581
msgid "invalid operand of S^#"
msgstr "operando inválido de S^#"
-#: config/tc-vax.c:1599
+#: config/tc-vax.c:1594
msgid "S^# needs expression"
msgstr "S^# necesita una expresión"
-#: config/tc-vax.c:1606
+#: config/tc-vax.c:1601
msgid "S^# may only read-access"
msgstr "S^# tal vez sea solamente para acceso de lectura"
-#: config/tc-vax.c:1629
+#: config/tc-vax.c:1624
msgid "invalid operand of -()"
msgstr "operando inválido de -()"
-#: config/tc-vax.c:1635
+#: config/tc-vax.c:1630
msgid "-(PC) unpredictable"
msgstr "-(PC) impredecible"
-#: config/tc-vax.c:1637
+#: config/tc-vax.c:1632
msgid "[]index same as -()register: unpredictable"
msgstr "[]índice igual que -()registro: impredecible"
-#: config/tc-vax.c:1669
+#: config/tc-vax.c:1664
msgid "invalid operand of ()+"
msgstr "operando inválido de ()+"
-#: config/tc-vax.c:1675
+#: config/tc-vax.c:1670
msgid "(PC)+ unpredictable"
msgstr "(PC)+ impredecible"
-#: config/tc-vax.c:1677
+#: config/tc-vax.c:1672
msgid "[]index same as ()+register: unpredictable"
msgstr "[]índice igual que ()+registro: impredecible"
-#: config/tc-vax.c:1700
+#: config/tc-vax.c:1695
msgid "# conflicts length"
msgstr "# tiene conflictos con la longitud"
-#: config/tc-vax.c:1702
+#: config/tc-vax.c:1697
msgid "# bars register"
msgstr "# prohibe el registro"
-#: config/tc-vax.c:1722
+#: config/tc-vax.c:1717
msgid "writing or modifying # is unpredictable"
msgstr "escribir o modificar # es impredecible"
-#: config/tc-vax.c:1748
+#: config/tc-vax.c:1743
msgid "length not needed"
msgstr "no se necesita la longitud"
-#: config/tc-vax.c:1755
+#: config/tc-vax.c:1750
msgid "can't []index a register, because it has no address"
msgstr "no se puede []indizar un registro, porque no tiene dirección"
-#: config/tc-vax.c:1757
+#: config/tc-vax.c:1752
msgid "a register has no address"
msgstr "un registro no tiene dirección"
-#: config/tc-vax.c:1766
+#: config/tc-vax.c:1761
msgid "PC part of operand unpredictable"
msgstr "PC como parte operativa es impredecible"
-#: config/tc-vax.c:1924
+#: config/tc-vax.c:1919
msgid "odd number of bytes in operand description"
msgstr "número impar de bytes en la descripción de operando"
-#: config/tc-vax.c:1938
+#: config/tc-vax.c:1933
msgid "Bad operand"
-msgstr "Operando equivocado"
+msgstr "Operando incorrecto"
-#: config/tc-vax.c:1943
+#: config/tc-vax.c:1938
msgid "Not enough operands"
msgstr "No hay suficientes operandos"
-#: config/tc-vax.c:2220
+#: config/tc-vax.c:2212
msgid "SYMBOL TABLE not implemented"
msgstr "SYMBOL TABLE no está implementado"
-#: config/tc-vax.c:2224
+#: config/tc-vax.c:2216
msgid "TOKEN TRACE not implemented"
msgstr "TOKEN TRACE no está implementado"
-#: config/tc-vax.c:2228
+#: config/tc-vax.c:2220
#, c-format
msgid "Displacement length %s ignored!"
msgstr "¡Se descarta la longitud de desubicación %s!"
-#: config/tc-vax.c:2232
+#: config/tc-vax.c:2224
#, c-format
msgid "I don't need or use temp. file \"%s\"."
msgstr "No se necesita o se utiliza el fichero temp. «%s»."
-#: config/tc-vax.c:2236
+#: config/tc-vax.c:2228
msgid "I don't use an interpass file! -V ignored"
msgstr "¡No se usa un fichero entre pasos! Se descarta -V"
-#: config/tc-vax.c:2293
+#: config/tc-vax.c:2252
#, c-format
msgid ""
"VAX options:\n"
@@ -18736,85 +21295,70 @@ msgstr ""
"-T\t\t\tse descarta\n"
"-V\t\t\tse descarta\n"
-#: config/tc-vax.c:2302
+#: config/tc-vax.c:2261
#, c-format
msgid ""
-"VMS options:\n"
-"-+\t\t\thash encode names longer than 31 characters\n"
-"-1\t\t\t`const' handling compatible with gcc 1.x\n"
-"-H\t\t\tshow new symbol after hash truncation\n"
-"-h NUM\t\t\tdon't hash mixed-case names, and adjust case:\n"
-"\t\t\t0 = upper, 2 = lower, 3 = preserve case\n"
-"-v\"VERSION\"\t\tcode being assembled was produced by compiler \"VERSION\"\n"
+"ELF options:\n"
+"-k -pic\t\t\tenable PIC mode\n"
+"-Q[y|n]\t\t\tignored\n"
msgstr ""
-"Opciones de VMS:\n"
-"-+\t\t\tdispersa los nombres de codificación más largos que 31 caracteres\n"
-"-1\t\t\tmanejo de `const' handling compatible con gcc 1.x\n"
-"-H\t\t\tmuestra el símbolo nuevo tras truncado de dispersión\n"
-"-h NUM\t\t\tno dispersa nombres con mayúsculas y minúsculas mezcladas, y ajusta:\n"
-"\t\t\t0 = mayúsculas, 2 = minúsculas, 3 = preservar mayúsculas/minúsculas\n"
-"-v\"VERSION\"\t\tel código a ensamblar fue producido por el compilador \"VERSION\"\n"
-#: config/tc-vax.c:2467
+#: config/tc-vax.c:2422
#, c-format
msgid "Ignoring statement due to \"%s\""
msgstr "Se descarta la declaración debido a «%s»"
-#: config/tc-vax.c:2484
+#: config/tc-vax.c:2439
#, c-format
msgid "Aborting because statement has \"%s\""
msgstr "Se aborta porque la declaración tiene «%s»"
-#: config/tc-vax.c:2529
+#: config/tc-vax.c:2484
msgid "Can't relocate expression"
msgstr "No se puede reubicar la expresión"
-#: config/tc-vax.c:2632
+#: config/tc-vax.c:2587
msgid "Bignum not permitted in short literal. Immediate mode assumed."
msgstr "No se permite un número grande en una literal short. Se asume el modo inmediato."
-#: config/tc-vax.c:2641
+#: config/tc-vax.c:2596
msgid "Can't do flonum short literal: immediate mode used."
msgstr "No se puede hacer una literal short de un número de coma flotante: se usa el modo inmediato."
-#: config/tc-vax.c:2688
-#, c-format
-msgid "A bignum/flonum may not be a displacement: 0x%lx used"
+#: config/tc-vax.c:2643
+#, fuzzy, c-format
+#| msgid "A bignum/flonum may not be a displacement: 0x%lx used"
+msgid "A bignum/flonum may not be a displacement: 0x%<PRIx64> used"
msgstr "Un número grande/de coma flotante no puede ser una desubicación: se usa 0x%lx"
-#: config/tc-vax.c:3000
+#: config/tc-vax.c:2956
#, c-format
msgid "Short literal overflow(%ld.), immediate mode assumed."
msgstr "Desbordamiento de la literal short (%ld.), se asume el modo inmediato."
-#: config/tc-vax.c:3009
+#: config/tc-vax.c:2965
#, c-format
msgid "Forced short literal to immediate mode. now_seg=%s to_seg=%s"
msgstr "Se fuerza la literal short a modo inmediato. now_seg=%s to_seg=%s"
-#: config/tc-vax.c:3074
+#: config/tc-vax.c:3030
msgid "Length specification ignored. Address mode 9F used"
msgstr "Se descarta la especificación de longitud. Se usa el modo de direccionamiento 9F"
-#: config/tc-vax.c:3132
+#: config/tc-vax.c:3088
msgid "Invalid operand: immediate value used as base address."
msgstr "Operando inválido: valor inmediato empleado como dirección base."
-#: config/tc-vax.c:3134
+#: config/tc-vax.c:3090
msgid "Invalid operand: immediate value used as address."
msgstr "Operando inválido: valor inmediato empleado como dirección."
-#: config/tc-vax.c:3159
+#: config/tc-vax.c:3115
#, c-format
msgid "Symbol %s used as immediate operand in PIC mode."
msgstr "Se utilizó el símbolo %s como operando inmediato en modo PIC."
-#: config/tc-vax.c:3264
-#, c-format
-msgid "VIP_BEGIN error:%s"
-msgstr "Error VIP_BEGIN:%s"
-
-#: config/tc-visium.c:862
+#: config/tc-visium.c:836
msgid "Bad call to MD_ATOF()"
msgstr "Equivocación de llamada a MD_ATOF()"
@@ -18850,7 +21394,7 @@ msgstr "Tipo desconocido"
#: config/tc-wasm32.c:625
msgid "only single block types allowed"
-msgstr "sólo tipos de bloque simple permitido"
+msgstr "solo tipos de bloque simple permitido"
#: config/tc-wasm32.c:635
msgid "instruction does not take a block type"
@@ -18870,7 +21414,7 @@ msgstr "ausente desplazamiento"
#: config/tc-wasm32.c:675
msgid "missing local index"
-msgstr "indizado local ausente"
+msgstr "indexado local ausente"
#: config/tc-wasm32.c:680
msgid "missing break count"
@@ -18892,21 +21436,16 @@ msgstr "llamada de firma ausente"
msgid "missing table index"
msgstr "distribución indizada ausente"
-#: config/tc-wasm32.c:726 config/tc-z80.c:1951 read.c:3755
+#: config/tc-wasm32.c:726 config/tc-z80.c:3697 read.c:4019
#, c-format
msgid "junk at end of line, first unrecognized character is `%c'"
msgstr "basura al final de la línea; el primer carácter descartado es `%c'"
-#: config/tc-xc16x.c:218
-#, c-format
-msgid " XC16X specific command line options:\n"
-msgstr " Opciones de línea de mandatos específicas de XC16X:\n"
-
#: config/tc-xgate.c:215
msgid "architecture variant invalid"
msgstr "arquitectura variante no válida"
-#: config/tc-xgate.c:370
+#: config/tc-xgate.c:369
#, c-format
msgid ""
"Freescale XGATE co-processor options:\n"
@@ -18929,16 +21468,16 @@ msgstr ""
" --print-opcodes escribe la lista de instrucciones con sintaxis\n"
" --generate-example genera un ejemplo de cada instrucción"
-#: config/tc-xgate.c:493
+#: config/tc-xgate.c:492
msgid "opcode missing or not found on input line"
msgstr ""
-#: config/tc-xgate.c:498
+#: config/tc-xgate.c:497
#, fuzzy, c-format
msgid "opcode %s not found in opcode hash table"
msgstr "error interno: no se puede dispersar el código de operación «%s»: %s"
-#: config/tc-xgate.c:511
+#: config/tc-xgate.c:509
msgid "matching operands to opcode"
msgstr "coincidiendo operandos para código operacional"
@@ -18962,7 +21501,7 @@ msgstr "Valor externo de 3-bit de límite."
#: config/tc-xgate.c:731
msgid "Value out of 4-bit range."
-msgstr "Valor fuera de límite de 4-bit."
+msgstr "Valor fuera de rango de 4-bit."
#: config/tc-xgate.c:738
msgid "Value out of 5-bit range."
@@ -18972,32 +21511,32 @@ msgstr "Valor externo de 5-bit de límite."
msgid ":operand has too many bits"
msgstr ":operand tiene demasiadas bits"
-#: config/tc-xgate.c:992
+#: config/tc-xgate.c:994
msgid "unknown operand count"
msgstr "contador operacional desconocido"
-#: config/tc-xgate.c:1236 config/tc-xgate.c:1248
+#: config/tc-xgate.c:1238 config/tc-xgate.c:1250
msgid ": expected register name r0-r7 "
msgstr ": se esperaba un nombre registrado r0-r7 "
-#: config/tc-xgate.c:1284
+#: config/tc-xgate.c:1286
#, c-format
msgid ":operand value(%d) too big for constraint"
msgstr ":operando valor%d) demasiado grande para instrucción"
-#: config/tc-xgate.c:1302
+#: config/tc-xgate.c:1304
msgid "you must use a hi/lo directive or 16-bit macro to load a 16-bit value."
msgstr ""
-#: config/tc-xgate.c:1315
+#: config/tc-xgate.c:1317
msgid ":unknown relocation constraint size"
msgstr ":unknown de reubicación de tamaño restringido"
-#: config/tc-xgate.c:1322
+#: config/tc-xgate.c:1324
msgid ": expected register name ccr "
msgstr ": esperado nombre de registro ccr "
-#: config/tc-xgate.c:1328
+#: config/tc-xgate.c:1330
msgid ": expected register name pc "
msgstr ": esperaba nombre de registrado pc "
@@ -19020,560 +21559,551 @@ msgstr "no se admite el tamaño de compostura %d"
msgid "unsupported fptr fixup"
msgstr "no se admite la compostura fptr"
-#: config/tc-xtensa.c:636
+#: config/tc-xtensa.c:650
msgid "illegal range of target hardware versions"
msgstr "límite ilegal de versiones de hardware objetivo"
-#: config/tc-xtensa.c:807
+#: config/tc-xtensa.c:831
msgid "--density option is ignored"
msgstr "se descarta la opción --density"
-#: config/tc-xtensa.c:810
+#: config/tc-xtensa.c:834
msgid "--no-density option is ignored"
msgstr "se descarta la opción --no-density"
-#: config/tc-xtensa.c:828
+#: config/tc-xtensa.c:852
msgid "--generics is deprecated; use --transform instead"
msgstr "--generics es obsoleto; utilice en su lugar --transform"
-#: config/tc-xtensa.c:831
+#: config/tc-xtensa.c:855
msgid "--no-generics is deprecated; use --no-transform instead"
msgstr "--no-generics es obsoleto; utilice en su lugar --no-transform"
-#: config/tc-xtensa.c:834
+#: config/tc-xtensa.c:858
msgid "--relax is deprecated; use --transform instead"
msgstr "--relax es obsoleto; utilice en su lugar --transform"
-#: config/tc-xtensa.c:837
+#: config/tc-xtensa.c:861
msgid "--no-relax is deprecated; use --no-transform instead"
msgstr "--no-relax es obsoleto; utilice en su lugar --no-transform"
-#: config/tc-xtensa.c:854
+#: config/tc-xtensa.c:878
msgid "--absolute-literals option not supported in this Xtensa configuration"
msgstr "la opción --absolute-literals no se admite en esta configuración Xtensa"
-#: config/tc-xtensa.c:927
+#: config/tc-xtensa.c:951
msgid "prefer-l32r conflicts with prefer-const16"
msgstr "prefer-l32r tiene conflictos con prefer-const16"
-#: config/tc-xtensa.c:933
+#: config/tc-xtensa.c:957
msgid "prefer-const16 conflicts with prefer-l32r"
msgstr "prefer-const16 tiene conflictos con prefer-l32r"
-#: config/tc-xtensa.c:942 config/tc-xtensa.c:951 config/tc-xtensa.c:955
+#: config/tc-xtensa.c:966 config/tc-xtensa.c:975 config/tc-xtensa.c:979
msgid "invalid target hardware version"
msgstr "versión de hardware objetivo inválido"
-#: config/tc-xtensa.c:999
+#: config/tc-xtensa.c:1025
msgid "no-auto-litpools is incompatible with auto-litpool-limit"
msgstr "no-auto-litpools es incompatible con auto-litpool-limit"
-#: config/tc-xtensa.c:1001 config/tc-xtensa.c:1004
+#: config/tc-xtensa.c:1027 config/tc-xtensa.c:1030
msgid "invalid auto-litpool-limit argument"
msgstr "argumento inválido auto-litpool-limit"
-#: config/tc-xtensa.c:1006
+#: config/tc-xtensa.c:1032
msgid "invalid auto-litpool-limit argument (range is 100-10000)"
msgstr "argumento inválido auto-litpool-limit (límite es 100-10000)"
-#: config/tc-xtensa.c:1183
+#: config/tc-xtensa.c:1229
msgid "unmatched .end directive"
msgstr "directiva .end no coincidida"
-#: config/tc-xtensa.c:1212
+#: config/tc-xtensa.c:1258
msgid ".begin directive with no matching .end directive"
msgstr "directiva .begin sin una directiva .end coincidente"
-#: config/tc-xtensa.c:1253
+#: config/tc-xtensa.c:1299
msgid "[no-]generics is deprecated; use [no-]transform instead"
msgstr "[no-]generics es obsoleto; utilice en su lugar [no-]transform"
-#: config/tc-xtensa.c:1258
+#: config/tc-xtensa.c:1304
msgid "[no-]relax is deprecated; use [no-]transform instead"
msgstr "[no-]relax es obsoleto; utilice en su lugar [no-]transform"
-#: config/tc-xtensa.c:1271
+#: config/tc-xtensa.c:1317
#, c-format
msgid "directive %s cannot be negated"
msgstr "la directiva %s no se puede negar"
-#: config/tc-xtensa.c:1277
+#: config/tc-xtensa.c:1323
msgid "unknown directive"
msgstr "desconoce directiva"
-#: config/tc-xtensa.c:1298 config/tc-xtensa.c:1394 config/tc-xtensa.c:1636
-#: config/tc-xtensa.c:5890
+#: config/tc-xtensa.c:1344 config/tc-xtensa.c:1440 config/tc-xtensa.c:1670
+#: config/tc-xtensa.c:5931
msgid "directives are not valid inside bundles"
msgstr "las directivas no son válidas dentro de una agrupación"
-#: config/tc-xtensa.c:1310
+#: config/tc-xtensa.c:1356
msgid ".begin literal is deprecated; use .literal instead"
msgstr "El uso de .begin literal es obsoleto. Utilice en su lugar .literal"
-#: config/tc-xtensa.c:1324
+#: config/tc-xtensa.c:1370
msgid "cannot set literal_prefix inside literal fragment"
msgstr "no se puede establecer literal_prefix dentro de un fragmento literal"
-#: config/tc-xtensa.c:1357
+#: config/tc-xtensa.c:1403
msgid ".begin [no-]density is ignored"
msgstr "se descarta .begin [no-]density"
-#: config/tc-xtensa.c:1364 config/tc-xtensa.c:1414
+#: config/tc-xtensa.c:1410 config/tc-xtensa.c:1460
msgid "Xtensa absolute literals option not supported; ignored"
msgstr "Xtensa como opción absoluta literal no se admite; se descarta"
-#: config/tc-xtensa.c:1407
+#: config/tc-xtensa.c:1453
msgid ".end [no-]density is ignored"
msgstr "se descarta .end [no-]density"
-#: config/tc-xtensa.c:1432
+#: config/tc-xtensa.c:1478
#, c-format
msgid "does not match begin %s%s at %s:%d"
msgstr "no coincide begin %s%s en %s:%d"
-#: config/tc-xtensa.c:1487
+#: config/tc-xtensa.c:1533
msgid ".literal_position inside literal directive; ignoring"
msgstr ".literal_position dentro de una directiva literal; se descarta"
-#: config/tc-xtensa.c:1507
+#: config/tc-xtensa.c:1552
msgid ".literal not allowed inside .begin literal region"
msgstr ".literal no se permite dentro de una región .begin literal"
-#: config/tc-xtensa.c:1546
+#: config/tc-xtensa.c:1580
msgid "expected comma or colon after symbol name; rest of line ignored"
msgstr "se esperaba coma o punto y coma tras nombre del símbolo: se descarta el resto de la línea"
-#: config/tc-xtensa.c:1605
+#: config/tc-xtensa.c:1639
msgid "fall through frequency must be greater than 0"
msgstr "la frecuencia de caída debe ser mayor a 0"
-#: config/tc-xtensa.c:1613
+#: config/tc-xtensa.c:1647
msgid "branch target frequency must be greater than 0"
msgstr "la frecuencia de ramificación de objetivo debe ser mayor a 0"
-#: config/tc-xtensa.c:1661
+#: config/tc-xtensa.c:1695
#, c-format
msgid "opcode-specific %s relocation used outside an instruction"
msgstr "se usó la reubicación %s específica de código operacional fuera de una instrucción"
-#: config/tc-xtensa.c:1671
+#: config/tc-xtensa.c:1705
#, c-format
msgid "invalid use of %s relocation"
msgstr "uso inválid de la reubicación %s"
-#: config/tc-xtensa.c:1867 config/tc-xtensa.c:1884
+#: config/tc-xtensa.c:1901 config/tc-xtensa.c:1918
#, c-format
msgid "bad register name: %s"
-msgstr "nombre de registro equivocado: %s"
+msgstr "nombre de registro incorrecto: %s"
-#: config/tc-xtensa.c:1873
+#: config/tc-xtensa.c:1907
#, c-format
msgid "bad register number: %s"
-msgstr "número de registro equivocado: %s"
+msgstr "número de registro incorrecto: %s"
-#: config/tc-xtensa.c:1937
+#: config/tc-xtensa.c:1971
msgid "pcrel relocation not allowed in an instruction"
msgstr "no se permite la reubicación de pcrel en una instrucción"
-#: config/tc-xtensa.c:1954
-msgid "register number out of range"
-msgstr "número de registro fuera de límite"
-
-#: config/tc-xtensa.c:2040
+#: config/tc-xtensa.c:2074
msgid "extra colon"
msgstr "punto y coma extra"
-#: config/tc-xtensa.c:2101
+#: config/tc-xtensa.c:2135
msgid "incorrect register number, ignoring"
msgstr "número de registro incorrecto, se descarta"
-#: config/tc-xtensa.c:2182
+#: config/tc-xtensa.c:2216
#, c-format
msgid "cannot encode opcode \"%s\""
msgstr "no se puede codificar el código operacional «%s»"
-#: config/tc-xtensa.c:2274
+#: config/tc-xtensa.c:2308
#, c-format
msgid "not enough operands (%d) for '%s'; expected %d"
msgstr "no hay suficientes operandos (%d) para «%s»; se esperaban %d"
-#: config/tc-xtensa.c:2281
+#: config/tc-xtensa.c:2315
#, c-format
msgid "too many operands (%d) for '%s'; expected %d"
msgstr "demasiados operandos (%d) para «%s»; se esperaban %d"
-#: config/tc-xtensa.c:2332
+#: config/tc-xtensa.c:2366
#, c-format
msgid "invalid register '%s' for '%s' instruction"
msgstr "registro «%s» inválido para «%s» como instrucción"
-#: config/tc-xtensa.c:2339
+#: config/tc-xtensa.c:2373
#, c-format
msgid "invalid register number (%ld) for '%s' instruction"
msgstr "número de registro (%ld) inválido para instrucción «%s»"
-#: config/tc-xtensa.c:2406
+#: config/tc-xtensa.c:2440
#, c-format
msgid "invalid register number (%ld) for '%s'"
msgstr "número de registro inválido (%ld) para «%s»"
-#: config/tc-xtensa.c:2793
+#: config/tc-xtensa.c:2839
#, c-format
msgid "operand %d of '%s' has out of range value '%u'"
-msgstr "operando %d de «%s» tiene el valor fuera de límite '%u'"
+msgstr "operando %d de «%s» tiene el valor fuera de rango '%u'"
-#: config/tc-xtensa.c:2799
+#: config/tc-xtensa.c:2845
#, c-format
msgid "operand %d of '%s' has invalid value '%u'"
msgstr "operando %d de «%s» tiene el valor inválido '%u'"
-#: config/tc-xtensa.c:2846
+#: config/tc-xtensa.c:2892
#, c-format
msgid "internal error: unknown option name '%s'"
msgstr "error interno: nombre desconocido opcional '%s'"
-#: config/tc-xtensa.c:3955
+#: config/tc-xtensa.c:4001
msgid "can't handle generation of literal/labels yet"
msgstr "no se puede manipular la generación de literales/etiquetas aún"
-#: config/tc-xtensa.c:3959
+#: config/tc-xtensa.c:4005
msgid "can't handle undefined OP TYPE"
msgstr "no se puede manipular un OP TYPE sin definir"
-#: config/tc-xtensa.c:4020 config/tc-xtensa.c:4029
+#: config/tc-xtensa.c:4066 config/tc-xtensa.c:4075
#, c-format
msgid "found %d operand for '%s': Expected %d"
msgid_plural "found %d operands for '%s': Expected %d"
msgstr[0] "se encontraron %d operando para «%s»: Se esperaban %d"
msgstr[1] "se encontraron %d operandos para «%s»: Se esperaban %d"
-#: config/tc-xtensa.c:4052
+#: config/tc-xtensa.c:4098
msgid "immediate operands sum to greater than 32"
msgstr "la suma de los operandos inmediatos es mayor a 32"
-#: config/tc-xtensa.c:4304
+#: config/tc-xtensa.c:4350
#, c-format
msgid "invalid relocation for operand %i of '%s'"
-msgstr "reubicación no válida para operando %i de «%s»"
+msgstr "reubicación no válida para el operando %i de «%s»"
-#: config/tc-xtensa.c:4314
+#: config/tc-xtensa.c:4360
#, c-format
msgid "invalid expression for operand %i of '%s'"
-msgstr "expresión no válida para operando %i en «%s»"
+msgstr "expresión no válida para el operando %i en «%s»"
-#: config/tc-xtensa.c:4324
+#: config/tc-xtensa.c:4370
#, c-format
msgid "invalid relocation in instruction slot %i"
msgstr "reubicación no válida en la ranura de instrucción %i"
-#: config/tc-xtensa.c:4331
+#: config/tc-xtensa.c:4377
#, c-format
msgid "undefined symbol for opcode \"%s\""
msgstr "símbolo indefinido para el código operacional «%s»"
-#: config/tc-xtensa.c:4819
+#: config/tc-xtensa.c:4852
msgid "opcode 'NOP.N' unavailable in this configuration"
msgstr "cód op 'NOP.N' no está disponible en esta configuración"
-#: config/tc-xtensa.c:4879
+#: config/tc-xtensa.c:4912
msgid "get_expanded_loop_offset: invalid opcode"
msgstr "get_expanded_loop_offset: código operacional inválido"
-#: config/tc-xtensa.c:5037
+#: config/tc-xtensa.c:5073
#, c-format
msgid "assembly state not set for first frag in section %s"
msgstr "no se estableció el estado de ensamblado para el primer fragmento en la sección %s"
-#: config/tc-xtensa.c:5090
+#: config/tc-xtensa.c:5126
#, c-format
msgid "unaligned branch target: %d bytes at 0x%lx"
msgstr "objetivo de ramificación sin alinear: %d bytes en 0x%lx"
-#: config/tc-xtensa.c:5134
+#: config/tc-xtensa.c:5170
#, c-format
msgid "unaligned loop: %d bytes at 0x%lx"
msgstr "ciclo sin alinear: %d bytes en 0x%lx"
-#: config/tc-xtensa.c:5159
+#: config/tc-xtensa.c:5195
msgid "unexpected fix"
msgstr "corrección inesperada"
-#: config/tc-xtensa.c:5170 config/tc-xtensa.c:5174
+#: config/tc-xtensa.c:5206 config/tc-xtensa.c:5210
msgid "undecodable fix"
msgstr "fix que no se puede decodificar"
-#: config/tc-xtensa.c:5330
+#: config/tc-xtensa.c:5371
msgid "labels are not valid inside bundles"
msgstr "las etiquetas no son válidas dentro de una agrupación"
-#: config/tc-xtensa.c:5350
+#: config/tc-xtensa.c:5391
msgid "invalid last instruction for a zero-overhead loop"
msgstr "instrucción last no válida para un ciclo con adelanto cero"
-#: config/tc-xtensa.c:5417
+#: config/tc-xtensa.c:5458
msgid "extra opening brace"
msgstr "llave que abre extra"
-#: config/tc-xtensa.c:5427
+#: config/tc-xtensa.c:5468
msgid "extra closing brace"
msgstr "llave que cierra extra"
-#: config/tc-xtensa.c:5454
+#: config/tc-xtensa.c:5495
msgid "missing closing brace"
msgstr "ausentea llave que cierra"
-#: config/tc-xtensa.c:5552 config/tc-xtensa.c:5581
+#: config/tc-xtensa.c:5593 config/tc-xtensa.c:5622
#, c-format
msgid "wrong number of operands for '%s'"
-msgstr "número equivocado de operandos para «%s»"
+msgstr "número incorrecto de operandos para «%s»"
-#: config/tc-xtensa.c:5568
+#: config/tc-xtensa.c:5609
#, c-format
msgid "bad relocation expression for '%s'"
-msgstr "expresión de reubicación equivocada para «%s»"
+msgstr "expresión de reubicación incorrecta para «%s»"
-#: config/tc-xtensa.c:5603
+#: config/tc-xtensa.c:5644
#, c-format
msgid "unknown opcode or format name '%s'"
msgstr "código operacional o nombre de formato desconocido «%s»"
-#: config/tc-xtensa.c:5609
+#: config/tc-xtensa.c:5650
msgid "format names only valid inside bundles"
-msgstr "los nombres de formato sólo son válidos dentro de agregados"
+msgstr "los nombres de formato solo son válidos dentro de agregados"
-#: config/tc-xtensa.c:5614
+#: config/tc-xtensa.c:5655
#, c-format
msgid "multiple formats specified for one bundle; using '%s'"
msgstr "se especificaron múltiples formatos para un agregado; se usa «%s»"
-#: config/tc-xtensa.c:5664
+#: config/tc-xtensa.c:5705
msgid "entry instruction with stack decrement < 16"
msgstr "instrucción entry con decremento de pila < 16"
# entry → entrada o asiento
-#: config/tc-xtensa.c:5718
+#: config/tc-xtensa.c:5759
msgid "unaligned entry instruction"
msgstr "entrada de instrucción sin alinear"
-#: config/tc-xtensa.c:5783
+#: config/tc-xtensa.c:5824
msgid "bad instruction format"
-msgstr "formato de instrucción equivocado"
+msgstr "formato de instrucción incorrecto"
-#: config/tc-xtensa.c:5786
+#: config/tc-xtensa.c:5827
msgid "invalid relocation"
msgstr "reubicación no válida"
-#: config/tc-xtensa.c:5797
+#: config/tc-xtensa.c:5838
#, c-format
msgid "invalid relocation for '%s' instruction"
msgstr "reubicación para instrucción '%s' no válida"
-#: config/tc-xtensa.c:5809
+#: config/tc-xtensa.c:5850
#, c-format
msgid "invalid relocation for operand %d of '%s'"
-msgstr "reubicación no válida para operando %d de «%s»"
+msgstr "reubicación no válida para el operando %d de «%s»"
-#: config/tc-xtensa.c:6075
+#: config/tc-xtensa.c:6133
#, c-format
msgid "unhandled local relocation fix %s"
msgstr "compostura de reubicación local %s sin manipular"
-#: config/tc-xtensa.c:6126
+#: config/tc-xtensa.c:6182
#, c-format
msgid "internal error; cannot generate `%s' relocation"
msgstr "error interno; incapaz de generar «%s» reubicado"
-#: config/tc-xtensa.c:6343
+#: config/tc-xtensa.c:6399
msgid "The option \"--no-allow-flix\" prohibits multi-slot flix."
msgstr "La opción \"--no-allow-flix\" prohibe flix en ranuras múltiples."
-#: config/tc-xtensa.c:6350
+#: config/tc-xtensa.c:6406
msgid "couldn't find a valid instruction format"
msgstr "no se puede encontrar un formato de instrucción válido"
-#: config/tc-xtensa.c:6351
+#: config/tc-xtensa.c:6407
#, c-format
msgid " ops were: "
msgstr " ops fueron: "
-#: config/tc-xtensa.c:6353
+#: config/tc-xtensa.c:6409
#, c-format
msgid " %s;"
msgstr " %s;"
-#: config/tc-xtensa.c:6363
+#: config/tc-xtensa.c:6419
#, c-format
msgid "mismatch for format '%s': #slots = %d, #opcodes = %d"
msgstr ""
-#: config/tc-xtensa.c:6372 config/tc-xtensa.c:6469
+#: config/tc-xtensa.c:6428 config/tc-xtensa.c:6525
msgid "illegal resource usage in bundle"
msgstr "se incluyó un recurso ilegal en el agregado"
-#: config/tc-xtensa.c:6558
+#: config/tc-xtensa.c:6614
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same register"
msgstr "ambos códigos operacionales «%s» (ranura %d) y «%s» (ranura %d) escriben en el mismo registro"
-#: config/tc-xtensa.c:6563
+#: config/tc-xtensa.c:6619
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same state"
msgstr "ambos códigos operacionales «%s» (ranura %d) y «%s» (ranura %d) escriben en el mismo estado"
-#: config/tc-xtensa.c:6568
+#: config/tc-xtensa.c:6624
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same port"
msgstr "ambos códigos operacionales «%s» (ranura %d) y «%s» (ranura %d) escriben en el mismo puerto"
-#: config/tc-xtensa.c:6573
+#: config/tc-xtensa.c:6629
#, c-format
msgid "opcodes '%s' (slot %d) and '%s' (slot %d) both have volatile port accesses"
msgstr "ambos códigos operacionales «%s» (ranura %d) y «%s» (ranura %d) tienen acceso de puerto volatile"
-#: config/tc-xtensa.c:6589
+#: config/tc-xtensa.c:6645
msgid "multiple branches or jumps in the same bundle"
msgstr "múltiples ramificaciones o saltos en el mismo agregado"
-#: config/tc-xtensa.c:7041
+#: config/tc-xtensa.c:7097
msgid "cannot assemble into a literal fragment"
msgstr "no se puede ensamblar en un fragmento literal"
-#: config/tc-xtensa.c:7043
+#: config/tc-xtensa.c:7099
msgid "..."
msgstr "..."
-#: config/tc-xtensa.c:8255
+#: config/tc-xtensa.c:8318
msgid "instruction sequence (write a0, branch, retw) may trigger hardware errata"
msgstr "la secuencia de instrucción (write a0, branch, retw) puede activar errores de hardware"
-#: config/tc-xtensa.c:8367
+#: config/tc-xtensa.c:8430
msgid "branching or jumping to a loop end may trigger hardware errata"
msgstr "la ramificación o salto al final de un ciclo puede activar errores de hardware"
-#: config/tc-xtensa.c:8449
+#: config/tc-xtensa.c:8512
msgid "loop end too close to another loop end may trigger hardware errata"
msgstr "el final de un ciclo demasiado cerca a otro final de ciclo puede activar errores de hardware"
-#: config/tc-xtensa.c:8458
+#: config/tc-xtensa.c:8521
#, c-format
msgid "fr_var %lu < length %d"
msgstr "fr_var %lu < longitud %d"
-#: config/tc-xtensa.c:8615
+#: config/tc-xtensa.c:8679
msgid "loop containing less than three instructions may trigger hardware errata"
msgstr "un ciclo que contiene menos de tres instrucciones puede activar errores de hardware"
-#: config/tc-xtensa.c:8687
+#: config/tc-xtensa.c:8751
msgid "undecodable instruction in instruction frag"
msgstr "instrucción no decodificable en la instrucción frag"
-#: config/tc-xtensa.c:8797
+#: config/tc-xtensa.c:8861
msgid "invalid empty loop"
msgstr "ciclo vacío inválido"
-#: config/tc-xtensa.c:8802
+#: config/tc-xtensa.c:8866
msgid "loop target does not follow loop instruction in section"
msgstr "el objetivo del ciclo no sigue la instrucción loop en la sección"
-#: config/tc-xtensa.c:9367
+#: config/tc-xtensa.c:9433
msgid "cannot find suitable trampoline"
msgstr "no puede encontrar lanzador útil"
-#: config/tc-xtensa.c:9622
+#: config/tc-xtensa.c:9688
msgid "bad relaxation state"
-msgstr "estado de relajación equivocado"
+msgstr "estado de relajación incorrecto"
-#: config/tc-xtensa.c:9680
+#: config/tc-xtensa.c:9746
#, c-format
msgid "fr_var (%ld) < length (%d)"
msgstr "fr_var (%ld) < longitud (%d)"
-#: config/tc-xtensa.c:10380
+#: config/tc-xtensa.c:10446
msgid "jump target out of range; no usable trampoline found"
-msgstr "omite objetivo fuera de límite; trampolín encontrado no utilizable"
+msgstr "omite objetivo fuera de rango; trampolín encontrado no utilizable"
-#: config/tc-xtensa.c:10504
+#: config/tc-xtensa.c:10570
msgid "invalid relaxation fragment result"
msgstr "resultado de fragmento de relajación inválido"
-#: config/tc-xtensa.c:10586
+#: config/tc-xtensa.c:10652
msgid "unable to widen instruction"
msgstr "incapaz de extender instrucción"
-#: config/tc-xtensa.c:10725
+#: config/tc-xtensa.c:10790
msgid "multiple literals in expansion"
msgstr "literales múltiples en la expansión"
-#: config/tc-xtensa.c:10729
+#: config/tc-xtensa.c:10794
msgid "no registered fragment for literal"
msgstr "no hay un fragmento registrado para la literal"
-#: config/tc-xtensa.c:10731
+#: config/tc-xtensa.c:10796
msgid "number of literal tokens != 1"
msgstr "número de elementos literales != 1"
-#: config/tc-xtensa.c:10860 config/tc-xtensa.c:10866
+#: config/tc-xtensa.c:10925 config/tc-xtensa.c:10931
#, c-format
msgid "unresolved loop target symbol: %s"
msgstr "símbolo objetivo del ciclo sin resolver: %s"
-#: config/tc-xtensa.c:10972
+#: config/tc-xtensa.c:11419
#, c-format
-msgid "invalid expression evaluation type %d"
-msgstr "tipo de evaluación de expresión %d inválido"
-
-#: config/tc-xtensa.c:10989
-msgid "loop too long for LOOP instruction"
-msgstr "ciclo demasiado largo para la instrucción LOOP"
+msgid "fixes not all moved from %s"
+msgstr "no se ‘movi’eron todas las composturas de %s"
-#: config/tc-xtensa.c:11327 config/tc-xtensa.c:11567
+#: config/tc-xtensa.c:11547
msgid "literal pool location required for text-section-literals; specify with .literal_position"
msgstr "se requiere la ubicación del conjunto de literales para text-section-literals; especifique con .literal_position"
-#: config/tc-xtensa.c:11436
-#, c-format
-msgid "fixes not all moved from %s"
-msgstr "no se ‘movi’eron todas las composturas de %s"
-
-#: config/tc-xtensa.c:12395
+#: config/tc-xtensa.c:12407
msgid "too many operands in instruction"
msgstr "demasiados operandos en la instrucción"
-#: config/tc-xtensa.c:12605
+#: config/tc-xtensa.c:12617
msgid "invalid symbolic operand"
-msgstr "operando simbólico inválido"
+msgstr "operando de símbolo inválido"
-#: config/tc-xtensa.c:12666
+#: config/tc-xtensa.c:12678
msgid "operand number mismatch"
msgstr "no coincide el número de operandos"
-#: config/tc-xtensa.c:12670
+#: config/tc-xtensa.c:12682
#, c-format
msgid "cannot encode opcode \"%s\" in the given format \"%s\""
msgstr "no se puede codificar el código operacional «%s» en el formato dado «%s»"
-#: config/tc-xtensa.c:12695
+#: config/tc-xtensa.c:12707
#, c-format
msgid "xtensa-isa failure: %s"
msgstr "fallo xtensa-isa: %s"
-#: config/tc-xtensa.c:12772
+#: config/tc-xtensa.c:12784
msgid "invalid opcode"
msgstr "código operacional inválido"
-#: config/tc-xtensa.c:12778
+#: config/tc-xtensa.c:12790
msgid "too few operands"
msgstr "muy pocos operandos"
-#: config/tc-xtensa.c:12828
+#: config/tc-xtensa.c:12796
+msgid "too many operands"
+msgstr "demasiados operandos"
+
+#: config/tc-xtensa.c:12840
msgid "multiple writes to the same register"
msgstr "escrituras múltiples al mismo registro"
-#: config/tc-xtensa.c:12942 config/tc-xtensa.c:12948
+#: config/tc-xtensa.c:12954 config/tc-xtensa.c:12960
msgid "out of memory"
msgstr "memoria agotada"
-#: config/tc-xtensa.c:13037
+#: config/tc-xtensa.c:13049
msgid "TLS relocation not allowed in FLIX bundle"
msgstr "TLS reubicado no permitido dentro del haz FLIX"
@@ -19581,92 +22111,242 @@ msgstr "TLS reubicado no permitido dentro del haz FLIX"
#. relaxed in the front-end. If "record_fixup" is set, then this
#. function is being called during back-end relaxation, so flag
#. the unexpected behavior as an error.
-#: config/tc-xtensa.c:13043
+#: config/tc-xtensa.c:13055
msgid "unexpected TLS relocation"
msgstr "reubicación TLS inesperada"
-#: config/tc-xtensa.c:13087
+#: config/tc-xtensa.c:13099
msgid "symbolic operand not allowed"
msgstr "no se permite operando simbólico"
-#: config/tc-xtensa.c:13124
+#: config/tc-xtensa.c:13136
msgid "cannot decode instruction format"
msgstr "no se puede decodificar el formato de instrucción"
-#: config/tc-xtensa.c:13268
+#: config/tc-xtensa.c:13280
msgid "ignoring extra '-rename-section' delimiter ':'"
msgstr "se descarta el delimitador '-rename-section' adicional ':'"
-#: config/tc-xtensa.c:13273
+#: config/tc-xtensa.c:13285
#, c-format
msgid "ignoring invalid '-rename-section' specification: '%s'"
msgstr "se descarta la especificación '-rename-section' no válida: '%s'"
-#: config/tc-xtensa.c:13284
+#: config/tc-xtensa.c:13296
#, c-format
msgid "section %s renamed multiple times"
msgstr "la sección %s se renombró varias veces"
-#: config/tc-xtensa.c:13286
+#: config/tc-xtensa.c:13298
#, c-format
msgid "multiple sections remapped to output section %s"
msgstr "secciones múltiples remapeadas a la sección de salida %s"
-#: config/tc-z80.c:326
+#: config/tc-z80.c:199
+#, fuzzy, c-format
+#| msgid "Invalid COPR identifier"
+msgid "Invalid CPU is specified: %s"
+msgstr "Identificador COPR inválido"
+
+#: config/tc-z80.c:224
+#, fuzzy, c-format
+#| msgid "Invalid FTEST completer: %s"
+msgid "Invalid EXTENSION is specified: %s"
+msgstr "Completador FTEST inválido: %s"
+
+#: config/tc-z80.c:279
+#, fuzzy, c-format
+#| msgid "Invalid floating point number"
+msgid "invalid floating point numbers type `%s'"
+msgstr "Número de coma flotante inválido"
+
+#: config/tc-z80.c:300 config/tc-z80.c:309
+#, fuzzy, c-format
+#| msgid "Invalid expression on command line.\n"
+msgid "invalid INST in command line: %s"
+msgstr "Expresión inválida en la línea de órdenes.\n"
+
+#: config/tc-z80.c:403
+#, fuzzy, c-format
+#| msgid ""
+#| " -march=CPU[,+EXTENSION...]\n"
+#| " generate code for CPU and EXTENSION, CPU is one of:\n"
+msgid ""
+"\n"
+"CPU model options:\n"
+" -march=CPU[+EXT...][-EXT...]\n"
+"\t\t\t generate code for CPU, where CPU is one of:\n"
+msgstr ""
+" -march=CPU[,+EXTENSIÓN...]\n"
+" genera código para el CPU y la EXTENSIÓN. CPU es uno de:\n"
+
+#: config/tc-z80.c:409
+#, c-format
+msgid "And EXT is combination (+EXT - add, -EXT - remove) of:\n"
+msgstr ""
+
+#: config/tc-z80.c:412
+#, c-format
+msgid ""
+"\n"
+"Compatibility options:\n"
+" -local-prefix=TEXT\t treat labels prefixed by TEXT as local\n"
+" -colonless\t\t permit colonless labels\n"
+" -sdcc\t\t\t accept SDCC specific instruction syntax\n"
+" -fp-s=FORMAT\t\t set single precision FP numbers format\n"
+" -fp-d=FORMAT\t\t set double precision FP numbers format\n"
+"Where FORMAT one of:\n"
+" ieee754\t\t IEEE754 compatible (depends on directive)\n"
+" half\t\t\t IEEE754 half precision (16 bit)\n"
+" single\t\t IEEE754 single precision (32 bit)\n"
+" double\t\t IEEE754 double precision (64 bit)\n"
+" zeda32\t\t Zeda z80float library 32 bit format\n"
+" math48\t\t 48 bit format from Math48 library\n"
+"\n"
+"Default: -march=z80+xyhl+infc\n"
+msgstr ""
+
+#: config/tc-z80.c:618
msgid "-- unterminated string"
msgstr "-- cadena sin terminar"
-#: config/tc-z80.c:392
-msgid "floating point numbers are not implemented"
-msgstr "los números de coma flotante no están implementados"
+#: config/tc-z80.c:794
+#, fuzzy
+#| msgid "unrecognised instruction %s"
+msgid "undocumented instruction"
+msgstr "instrucción %s no reconocida"
-#: config/tc-z80.c:517 config/tc-z80.c:523
+#: config/tc-z80.c:838 config/tc-z80.c:844
msgid "mismatched parentheses"
msgstr "paréntesis sin coincidencia"
-#: config/tc-z80.c:560
+#: config/tc-z80.c:936
msgid "bad expression syntax"
-msgstr "sintaxis de expresión equivocada"
+msgstr "sintaxis de expresión incorrecta"
+
+#: config/tc-z80.c:1147
+#, c-format
+msgid "%d-bit overflow (%+<PRId64>)"
+msgstr ""
-#: config/tc-z80.c:722
+#: config/tc-z80.c:1162
+#, fuzzy, c-format
+#| msgid "invalid immediate size"
+msgid "invalid data size %d"
+msgstr "tamaño inmediato inválido"
+
+#: config/tc-z80.c:1247
msgid "cannot make a relative jump to an absolute location"
msgstr "no se puede hacer un salto relativo a una ubicación absoluta"
-#: config/tc-z80.c:734 config/tc-z80.c:2002
-msgid "overflow"
-msgstr "desbordamiento"
+#: config/tc-z80.c:1254
+#, c-format
+msgid "index overflow (%+<PRId64>)"
+msgstr ""
+
+#: config/tc-z80.c:1257
+#, c-format
+msgid "offset overflow (%+<PRId64>)"
+msgstr ""
-#: config/tc-z80.c:1106 config/tc-z80.c:1149 config/tc-z80.c:1193
-#: config/tc-z80.c:1261 config/tc-z80.c:1313 config/tc-z80.c:1367
-#: config/tc-z80.c:1636
+#: config/tc-z80.c:1460 config/tc-z80.c:1707 config/tc-z80.c:1750
+#: config/tc-z80.c:1831 config/tc-z80.c:1861 config/tc-z80.c:1920
+#: config/tc-z80.c:1980 config/tc-z80.c:2033 config/tc-z80.c:2066
+#: config/tc-z80.c:2123 config/tc-z80.c:2741 config/tc-z80.c:2790
+#: config/tc-z80.c:2828 config/tc-z80.c:2888 config/tc-z80.c:2948
+#: config/tc-z80.c:3024 config/tc-z80.c:3047
msgid "bad instruction syntax"
msgstr "equivocación de instrucción sintáctica"
-#: config/tc-z80.c:1239
+#: config/tc-z80.c:1898
msgid "condition code invalid for jr"
msgstr "código de condición inválido para jr"
-#: config/tc-z80.c:1745
+#: config/tc-z80.c:2487 config/tc-z80.c:2498 config/tc-z80.c:2514
+#: config/tc-z80.c:2547
+#, fuzzy
+#| msgid "score3d instruction."
+msgid "ADL mode instruction"
+msgstr "instrucción score3d."
+
+#. SIS prefix, in Z80 it is LD B,B
+#. LIS prefix, in Z80 it is LD C,C
+#. SIL prefix, in Z80 it is LD D,D
+#. LIL prefix, in Z80 it is LD E,E
+#: config/tc-z80.c:2622
+#, fuzzy
+#| msgid "unsupported instruction `%s'"
+msgid "unsupported instruction, assembled as NOP"
+msgstr "no admitió instrucción «%s»"
+
+#: config/tc-z80.c:3215 config/tc-z80.c:3246
msgid "parentheses ignored"
msgstr "se descartan los paréntesis"
-#: config/tc-z80.c:1977 config/tc-z8k.c:1467 config/tc-z8k.c:1530
-msgid "relative jump out of range"
-msgstr "salto relativo fuera de límite"
+#: config/tc-z80.c:3263
+#, fuzzy
+#| msgid "opcode `%s' not supported for target %s"
+msgid "CPU mode is unsupported by target"
+msgstr "no se admite el código operacional «%s» para el objetivo %s"
+
+#: config/tc-z80.c:3285
+#, fuzzy
+#| msgid "Tag name expected"
+msgid "assignment expected"
+msgstr "Se esperaba un nombre de etiqueta"
-#: config/tc-z80.c:1994
-msgid "index offset out of range"
-msgstr "desplazamiento indizado fuera de límite"
+#: config/tc-z80.c:3690
+#, fuzzy, c-format
+#| msgid "Unknown instruction '%s'"
+msgid "Unknown instruction `%s'"
+msgstr "Instrucción desconocida «%s»"
+
+#: config/tc-z80.c:3766
+#, fuzzy, c-format
+#| msgid "index offset out of range"
+msgid "8-bit signed offset out of range (%+ld)"
+msgstr "desplazamiento indexado fuera de rango"
-#: config/tc-z80.c:2036 config/tc-z8k.c:1538
+#: config/tc-z80.c:3789
#, c-format
-msgid "md_apply_fix: unknown r_type 0x%x\n"
+msgid "8-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3806
+#, c-format
+msgid "16-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3814
+#, c-format
+msgid "24-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3823
+#, c-format
+msgid "32-bit overflow (%+ld)"
+msgstr ""
+
+#: config/tc-z80.c:3836
+#, fuzzy, c-format
+#| msgid "md_apply_fix: unknown r_type 0x%x\n"
+msgid "md_apply_fix: unknown reloc type 0x%x\n"
msgstr "md_apply_fix: r_type 0x%x desconocido\n"
+#: config/tc-z80.c:4033 config/tc-z80.c:4092
+#, fuzzy
+#| msgid "invalid syntax class"
+msgid "invalid syntax"
+msgstr "clase de sintaxis inválida"
+
+#: config/tc-z80.c:4111
+msgid "overflow"
+msgstr "desbordamiento"
+
#: config/tc-z8k.c:281
#, c-format
msgid "register rr%d out of range"
-msgstr "registro rr%d fuera de límite"
+msgstr "registro rr%d fuera de rango"
#: config/tc-z8k.c:283
#, c-format
@@ -19676,17 +22356,17 @@ msgstr "el registro rr%d no existe"
#: config/tc-z8k.c:295
#, c-format
msgid "register rh%d out of range"
-msgstr "registro rh%d fuera de límite"
+msgstr "registro rh%d fuera de rango"
#: config/tc-z8k.c:307
#, c-format
msgid "register rl%d out of range"
-msgstr "registro rl%d fuera de límite"
+msgstr "registro rl%d fuera de rango"
#: config/tc-z8k.c:320
#, c-format
msgid "register rq%d out of range"
-msgstr "registro rq%d fuera de límite"
+msgstr "registro rq%d fuera de rango"
#: config/tc-z8k.c:322
#, c-format
@@ -19696,7 +22376,7 @@ msgstr "el registro rq%d no existe"
#: config/tc-z8k.c:334
#, c-format
msgid "register r%d out of range"
-msgstr "registro r%d fuera de límite"
+msgstr "registro r%d fuera de rango"
#: config/tc-z8k.c:375
#, c-format
@@ -19706,12 +22386,12 @@ msgstr "se esperaba %c"
#: config/tc-z8k.c:390
#, c-format
msgid "register is wrong size for a word %s"
-msgstr "el registro tiene el tamaño equivocado para un word %s"
+msgstr "el registro tiene el tamaño incorrecto para un word %s"
#: config/tc-z8k.c:404
#, c-format
msgid "register is wrong size for address %s"
-msgstr "el registro tiene el tamaño equivocado para la dirección %s"
+msgstr "el registro tiene el tamaño incorrecto para la dirección %s"
#: config/tc-z8k.c:538
#, c-format
@@ -19741,32 +22421,32 @@ msgstr "opción no válida «%s»"
msgid "invalid indirect register size"
msgstr "tamaño de registro indirecto inválido"
-#: config/tc-z8k.c:941 config/tc-z8k.c:1097 config/tc-z8k.c:1102
+#: config/tc-z8k.c:941 config/tc-z8k.c:1107 config/tc-z8k.c:1112
msgid "invalid control register name"
msgstr "nombre de registro de control inválido"
-#: config/tc-z8k.c:1086
+#: config/tc-z8k.c:1096
msgid "immediate must be 1 or 2"
msgstr "el inmediato debe ser 1 o 2"
-#: config/tc-z8k.c:1089
+#: config/tc-z8k.c:1099
msgid "immediate 1 or 2 expected"
msgstr "se esperaba un inmediato 1 o 2"
-#: config/tc-z8k.c:1120
+#: config/tc-z8k.c:1130
msgid "can't use R0 here"
msgstr "no se puede usar R0 aquí"
-#: config/tc-z8k.c:1278
+#: config/tc-z8k.c:1288
msgid "Can't find opcode to match operands"
msgstr "No se puede encontrar el código operacional que coincida con los operandos"
-#: config/tc-z8k.c:1325
+#: config/tc-z8k.c:1335
#, c-format
msgid "invalid architecture -z%s"
msgstr "arquitectura -z%s no válida"
-#: config/tc-z8k.c:1344
+#: config/tc-z8k.c:1354
#, c-format
msgid ""
" Z8K options:\n"
@@ -19779,94 +22459,103 @@ msgstr ""
" -z8002 genera código sin segmentar\n"
" -linkrelax crea código relajable por el enlazador\n"
-#: config/tc-z8k.c:1356
+#: config/tc-z8k.c:1366
#, c-format
msgid "call to md_convert_frag\n"
msgstr "se llama a md_convert_frag\n"
-#: config/tc-z8k.c:1463 config/tc-z8k.c:1503 config/tc-z8k.c:1526
+#: config/tc-z8k.c:1473 config/tc-z8k.c:1513 config/tc-z8k.c:1536
msgid "cannot branch to odd address"
msgstr "no se puede ramificar a una dirección impar"
-#: config/tc-z8k.c:1485
+#: config/tc-z8k.c:1477 config/tc-z8k.c:1540
+msgid "relative jump out of range"
+msgstr "salto relativo fuera de rango"
+
+#: config/tc-z8k.c:1495
msgid "relative address out of range"
-msgstr "dirección relativa fuera de límite"
+msgstr "dirección relativa fuera de rango"
-#: config/tc-z8k.c:1506
+#: config/tc-z8k.c:1516
msgid "relative call out of range"
-msgstr "llamada relativa fuera de límite"
+msgstr "llamada relativa fuera de rango"
+
+#: config/tc-z8k.c:1548
+#, c-format
+msgid "md_apply_fix: unknown r_type 0x%x\n"
+msgstr "md_apply_fix: r_type 0x%x desconocido\n"
-#: config/tc-z8k.c:1550
+#: config/tc-z8k.c:1560
#, c-format
msgid "call to md_estimate_size_before_relax\n"
msgstr "se llama a md_estimate_size_before_relax\n"
-#: config/xtensa-relax.c:1550
+#: config/xtensa-relax.c:1579
#, c-format
msgid "invalid configuration option '%s' in transition rule '%s'"
msgstr "la opción de configuración «%s» es no válida en la regla de transición «%s»"
-#: config/xtensa-relax.c:1675 config/xtensa-relax.c:1685
+#: config/xtensa-relax.c:1704 config/xtensa-relax.c:1714
#, c-format
msgid "opcode '%s': no bound opname '%s' for precondition in '%s'"
msgstr "código operacional «%s»: no hay un nombre operacional «%s» enlazado para la precondición en «%s»"
-#: config/xtensa-relax.c:1692
+#: config/xtensa-relax.c:1721
#, c-format
msgid "opcode '%s': precondition only contains constants in '%s'"
-msgstr "código operacional «%s»: la precondición sólo contiene constantes en «%s»"
+msgstr "código operacional «%s»: la precondición solo contiene constantes en «%s»"
-#: config/xtensa-relax.c:1739
+#: config/xtensa-relax.c:1768
msgid "expected one operand for generated literal"
msgstr "se esperaba un operando para la literal generada"
-#: config/xtensa-relax.c:1746
+#: config/xtensa-relax.c:1775
msgid "expected 0 operands for generated label"
msgstr "se esperaban 0 operandos para la etiqueta generada"
-#: config/xtensa-relax.c:1759
+#: config/xtensa-relax.c:1788
#, c-format
msgid "invalid opcode '%s' in transition rule '%s'"
msgstr "código operacional «%s» inválido en la regla de transición «%s»"
-#: config/xtensa-relax.c:1767
+#: config/xtensa-relax.c:1796
#, c-format
msgid "opcode '%s': replacement does not have %d op"
msgid_plural "opcode '%s': replacement does not have %d ops"
msgstr[0] "cód op «%s»: reemplazo no tiene %d operador"
msgstr[1] "cód op «%s»: reemplazo no tiene %d operadores"
-#: config/xtensa-relax.c:1783
+#: config/xtensa-relax.c:1812
#, c-format
msgid "opcode '%s': cannot find literal definition"
msgstr "código operacional «%s»: no se puede encontrar la definición literal"
-#: config/xtensa-relax.c:1799 config/xtensa-relax.c:1829
+#: config/xtensa-relax.c:1828 config/xtensa-relax.c:1858
#, c-format
msgid "opcode '%s': unidentified operand '%s' in '%s'"
msgstr "cód op «%s»: operando no identificado «%s» en «%s»"
-#: config/xtensa-relax.c:1824
+#: config/xtensa-relax.c:1853
#, c-format
msgid "unknown user-defined function %s"
msgstr "función definida por el usuario %s desconocida"
-#: config/xtensa-relax.c:1835
+#: config/xtensa-relax.c:1864
#, c-format
msgid "opcode '%s': could not parse operand '%s' in '%s'"
msgstr "código operacional «%s»: no pudo interpretar operando «%s» en «%s»"
-#: config/xtensa-relax.c:1875
+#: config/xtensa-relax.c:1904
#, c-format
msgid "could not parse INSN_PATTERN '%s'"
msgstr "no se puede decodificar INSN_PATTERN «%s»"
-#: config/xtensa-relax.c:1879
+#: config/xtensa-relax.c:1908
#, c-format
msgid "could not parse INSN_REPL '%s'"
msgstr "no se puede decodificar INSN_REPL «%s»"
-#: config/xtensa-relax.c:1890
+#: config/xtensa-relax.c:1919
#, c-format
msgid "could not build transition for %s => %s"
msgstr "no se puede construir la transición para %s => %s"
@@ -19881,162 +22570,191 @@ msgstr "no se puede abrir «%s» para escritura"
msgid "can't close `%s'"
msgstr "no se puede cerrar «%s»"
-#: dw2gencfi.c:319 read.c:2441
+#: dw2gencfi.c:313 read.c:2532
#, c-format
msgid "bfd_set_section_flags: %s"
msgstr "bfd_set_section_flags: %s"
-#: dw2gencfi.c:601 dw2gencfi.c:617
+#: dw2gencfi.c:580 dw2gencfi.c:596
#, c-format
msgid "register save offset not a multiple of %u"
msgstr "registrador guarda desplazamiento no un múltiplo de %u"
-#: dw2gencfi.c:700
+#: dw2gencfi.c:678
msgid "CFI state restore without previous remember"
msgstr "CFI como declaración restaurada se utilizó sin un recuerdo previo"
-#: dw2gencfi.c:758
+#: dw2gencfi.c:737
msgid "missing separator"
msgstr "ausente el separador"
-#: dw2gencfi.c:807
+#: dw2gencfi.c:786
msgid "bad register expression"
msgstr "expresión de registro no válida"
-#: dw2gencfi.c:828 dw2gencfi.c:958 dw2gencfi.c:996 dw2gencfi.c:1067
-#: dw2gencfi.c:1140 dw2gencfi.c:1378
+#: dw2gencfi.c:807 dw2gencfi.c:941 dw2gencfi.c:979 dw2gencfi.c:1050
+#: dw2gencfi.c:1123 dw2gencfi.c:1188 dw2gencfi.c:1387 scfidw2gen.c:176
msgid "CFI instruction used without previous .cfi_startproc"
msgstr "CFI como instrucción utilizada sin un precedente .cfi_startproc"
-#: dw2gencfi.c:1021
+#: dw2gencfi.c:1004
msgid "invalid or unsupported encoding in .cfi_personality"
msgstr "codificación no válida o no admitida en .cfi_personality"
-#: dw2gencfi.c:1028
+#: dw2gencfi.c:1011
msgid ".cfi_personality requires encoding and symbol arguments"
msgstr ".cfi_personality requiere argumentos de codificación y símbolo"
-#: dw2gencfi.c:1051
+#: dw2gencfi.c:1034
msgid "wrong second argument to .cfi_personality"
-msgstr "segundo argumento equivocado para .cfi_personality"
+msgstr "segundo argumento incorrecto para .cfi_personality"
-#: dw2gencfi.c:1092 dw2gencfi.c:1168
+#: dw2gencfi.c:1075 dw2gencfi.c:1151
msgid "invalid or unsupported encoding in .cfi_lsda"
msgstr "codificación no válida o no admitida en .cfi_lsda"
-#: dw2gencfi.c:1099
+#: dw2gencfi.c:1082
msgid ".cfi_lsda requires encoding and symbol arguments"
msgstr ".cfi_lsda requiere argumentos de codificación y símbolo"
-#: dw2gencfi.c:1124
+#: dw2gencfi.c:1107
msgid "wrong second argument to .cfi_lsda"
-msgstr "segundo argumento equivocado para .cfi_lsda"
+msgstr "segundo argumento incorrecto para .cfi_lsda"
-#: dw2gencfi.c:1190
+#: dw2gencfi.c:1173
msgid "wrong third argument to .cfi_val_encoded_addr"
-msgstr "tercer argumento equivocado para .cfi_val_encoded_addr"
+msgstr "tercer argumento incorrecto para .cfi_val_encoded_addr"
-#: dw2gencfi.c:1280
+#: dw2gencfi.c:1272
msgid "inconsistent uses of .cfi_sections"
msgstr "utilizaciones inconsistentes de .cfi_sections"
-#: dw2gencfi.c:1291
+#: dw2gencfi.c:1283
msgid "previous CFI entry not closed (missing .cfi_endproc)"
msgstr "la entrada CFI previa no está cerrada (ausente .cfi_endproc)"
-#: dw2gencfi.c:1332
+#: dw2gencfi.c:1323 scfidw2gen.c:157
msgid ".cfi_endproc without corresponding .cfi_startproc"
msgstr ".cfi_endproc sin un .cfi_startproc correspondiente"
-#: dw2gencfi.c:1389
+#: dw2gencfi.c:1398
msgid "wrong argument to .cfi_personality_id"
msgstr "equivocación del argumento para .cfi_personality_id"
-#: dw2gencfi.c:1399
+#: dw2gencfi.c:1408
msgid ".cfi_fde_data without corresponding .cfi_startproc"
msgstr ".cfi_fde_data sin correspondiente .cfi_startproc"
-#: dw2gencfi.c:1508
+#: dw2gencfi.c:1516
msgid "unexpected .cfi_inline_lsda"
msgstr ".cfi_inline_lsda no esperado"
-#: dw2gencfi.c:1515
+#: dw2gencfi.c:1523
msgid ".cfi_inline_lsda not valid for this frame"
msgstr ".cfi_inline_lsda no válido para este marco"
-#: dw2gencfi.c:1523
+#: dw2gencfi.c:1531
msgid ".cfi_inline_lsda seen for frame without .cfi_lsda"
msgstr ""
-#: dw2gencfi.c:1536
+#: dw2gencfi.c:1544
#, c-format
msgid "Alignment too large: %d. assumed."
msgstr "Alineación muy grande: %d asumido."
-#: dw2gencfi.c:1540
+#: dw2gencfi.c:1548
msgid "Alignment negative: 0 assumed."
msgstr "Alineación negativa: se asume 0."
-#: dw2gencfi.c:1566
+#: dw2gencfi.c:1574
msgid ".cfi_inline_lsda is not supported for this target"
msgstr ".cfi_inline_lsda no está apoyado para este destino"
-#: dw2gencfi.c:1573
+#: dw2gencfi.c:1581
msgid ".cfi_fde_data is not supported for this target"
msgstr ".cfi_fde_data no es compatible para este objetivo"
-#: dw2gencfi.c:1580
+#: dw2gencfi.c:1588
msgid ".cfi_personality_id is not supported for this target"
msgstr "no se admite .cfi_personality_id para este objetivo"
-#: dw2gencfi.c:2356 dw2gencfi.c:2512
+#: dw2gencfi.c:1906
+#, c-format
+msgid "return column number %d overflows in CIE version 1"
+msgstr ""
+
+#: dw2gencfi.c:2388 dw2gencfi.c:2563
msgid "open CFI at the end of file; missing .cfi_endproc directive"
msgstr "abre CFI al final del fichero; directiva .cfi_endproc ausente"
-#: dw2gencfi.c:2539
+#: dw2gencfi.c:2519
+#, fuzzy
+#| msgid "CFI is not supported for this target"
+msgid ".sframe not supported for target"
+msgstr "CFI no admitido en este objetivo"
+
+#: dw2gencfi.c:2608
msgid "CFI is not supported for this target"
msgstr "CFI no admitido en este objetivo"
-#: dwarf2dbg.c:371 dwarf2dbg.c:2268
+#: dwarf2dbg.c:377 dwarf2dbg.c:3311
msgid "view number mismatch"
msgstr "vista numérica no coincide"
-#: dwarf2dbg.c:779 dwarf2dbg.c:814
+#: dwarf2dbg.c:692
+#, fuzzy, c-format
+#| msgid "Big number is too big"
+msgid "file number %u is too big"
+msgstr "El número grande es demasiado grande"
+
+#: dwarf2dbg.c:924
+#, c-format
+msgid "file table slot %u is already occupied by a different file (%s%s%s vs %s%s%s)"
+msgstr ""
+
+#: dwarf2dbg.c:1180 dwarf2dbg.c:1274
msgid "file number less than one"
msgstr "número de fichero menor que uno"
-#: dwarf2dbg.c:789
-#, c-format
-msgid "file number %ld already allocated"
-msgstr "número de fichero %ld ya asignado"
+#: dwarf2dbg.c:1217
+#, fuzzy
+#| msgid "Second operand to .%s not a constant"
+msgid "md5 value too small or not a constant"
+msgstr "El segundo operando de .%s no es una constante"
+
+#: dwarf2dbg.c:1234
+#, fuzzy, c-format
+#| msgid "Big number is too big"
+msgid "file number %lu is too big"
+msgstr "El número grande es demasiado grande"
-#: dwarf2dbg.c:819 dwarf2dbg.c:1681
+#: dwarf2dbg.c:1281 dwarf2dbg.c:2304
#, c-format
msgid "unassigned file number %ld"
msgstr "número de fichero %ld sin asignar"
-#: dwarf2dbg.c:888
+#: dwarf2dbg.c:1359
msgid "is_stmt value not 0 or 1"
msgstr "is_stmt valorado distinto de 0 o 1"
-#: dwarf2dbg.c:900
+#: dwarf2dbg.c:1373
msgid "isa number less than zero"
msgstr "número isa menor que uno"
-#: dwarf2dbg.c:912
+#: dwarf2dbg.c:1385
msgid "discriminator less than zero"
msgstr "discriminador menor que cero"
-#: dwarf2dbg.c:931
+#: dwarf2dbg.c:1404
msgid "numeric view can only be asserted to zero"
msgstr ""
-#: dwarf2dbg.c:966
+#: dwarf2dbg.c:1444
#, c-format
msgid "unknown .loc sub-directive `%s'"
msgstr "deconoce sub-directorio .loc `%s'"
-#: dwarf2dbg.c:1758
+#: dwarf2dbg.c:2438
msgid "internal error: unknown dwarf2 format"
msgstr "error interno: formato enana2 desconocido"
@@ -20045,288 +22763,283 @@ msgstr "error interno: formato enana2 desconocido"
msgid "string too big (%lu bytes)"
msgstr "cadena demasiado grande (%lu bytes)"
-#: ecoff.c:1585
-#, c-format
-msgid "inserting \"%s\" into string hash table: %s"
-msgstr "se inserta «%s» en la distribución de de dispersión de cadenas: %s"
-
-#: ecoff.c:1616 ecoff.c:1809 ecoff.c:1832 ecoff.c:1863 ecoff.c:2016
-#: ecoff.c:2135
+#: ecoff.c:1612 ecoff.c:1805 ecoff.c:1828 ecoff.c:1858 ecoff.c:2010
+#: ecoff.c:2126
msgid "no current file pointer"
msgstr "no hay un puntero a fichero actualmente"
-#: ecoff.c:1703
+#: ecoff.c:1699
msgid "too many st_End's"
msgstr "demasiados st_End's"
-#: ecoff.c:2041
-#, c-format
-msgid "inserting \"%s\" into tag hash table: %s"
-msgstr "se inserta «%s» en la distribución de de dispersión de marcas: %s"
-
-#: ecoff.c:2204
+#: ecoff.c:2195
msgid "fake .file after real one"
msgstr ".file falso tras real"
-#: ecoff.c:2293
+#: ecoff.c:2283
msgid "filename goes over one page boundary"
msgstr "el nombre de fichero sobrepasa el límite de una página"
-#: ecoff.c:2426
+#: ecoff.c:2416
msgid ".begin directive without a preceding .file directive"
msgstr "directiva .begin sin una directiva .file precedente"
-#: ecoff.c:2433
+#: ecoff.c:2423
msgid ".begin directive without a preceding .ent directive"
msgstr "directiva .begin sin una directiva .ent precedente"
-#: ecoff.c:2463
+#: ecoff.c:2453
msgid ".bend directive without a preceding .file directive"
msgstr "directiva .bend sin una directiva .file precedente"
-#: ecoff.c:2470
+#: ecoff.c:2460
msgid ".bend directive without a preceding .ent directive"
msgstr "directiva .bend sin una directiva .ent precedente"
-#: ecoff.c:2482
+#: ecoff.c:2472
msgid ".bend directive names unknown symbol"
msgstr "símbolo desconocido en los nombres de la directiva .bend"
-#: ecoff.c:2524
+#: ecoff.c:2514
msgid ".def pseudo-op used inside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .def dentro de .def/.endef; se descarta"
-#: ecoff.c:2526
+#: ecoff.c:2516
msgid "empty symbol name in .def; ignored"
-msgstr "nombre simbólico vacío en .def; se descarta"
+msgstr "nombre de símbolo vacío en .def; se descarta"
-#: ecoff.c:2563
+#: ecoff.c:2551
msgid ".dim pseudo-op used outside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .dim fuera de .def/.endef; se descarta"
-#: ecoff.c:2578
+#: ecoff.c:2566
msgid "badly formed .dim directive"
msgstr "directiva .dim mal formada"
-#: ecoff.c:2591
+#: ecoff.c:2579
msgid "too many .dim entries"
msgstr "demasiadas entradas .dim"
-#: ecoff.c:2611
+#: ecoff.c:2599
msgid ".scl pseudo-op used outside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .scl fuera de .def/.endef; se descarta"
-#: ecoff.c:2636
+#: ecoff.c:2624
msgid ".size pseudo-op used outside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .size fuera de .def/.endef; se descarta"
-#: ecoff.c:2651
+#: ecoff.c:2639
msgid "badly formed .size directive"
msgstr "directiva .size mal formada"
-#: ecoff.c:2664
+#: ecoff.c:2652
msgid "too many .size entries"
msgstr "demasiadas entradas .size"
-#: ecoff.c:2686
+#: ecoff.c:2674
msgid ".type pseudo-op used outside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .type fuera de .def/.endef; se descarta"
#. FIXME: We could handle this by setting the continued bit.
#. There would still be a limit: the .type argument can not
#. be infinite.
-#: ecoff.c:2704
+#: ecoff.c:2692
#, c-format
msgid "the type of %s is too complex; it will be simplified"
msgstr "el tipo de %s es demasiado complejo; se simplificará"
-#: ecoff.c:2715
+#: ecoff.c:2703
msgid "Unrecognized .type argument"
msgstr "No reconocido argumento .type"
-#: ecoff.c:2753
+#: ecoff.c:2741
msgid ".tag pseudo-op used outside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .tag fuera de .def/.endef; se descarta"
-#: ecoff.c:2777
+#: ecoff.c:2765
msgid ".val pseudo-op used outside of .def/.endef; ignored"
msgstr "se utiliza el pseudo-operador .val fuera de .def/.endef; se descarta"
-#: ecoff.c:2785
+#: ecoff.c:2773
msgid ".val expression is too complex"
msgstr "la expresión .val es demasiado compleja"
-#: ecoff.c:2815
+#: ecoff.c:2803
msgid ".endef pseudo-op used before .def; ignored"
msgstr "se utiliza el pseudo-operador .endef antes de .def; se descarta"
-#: ecoff.c:2841 ecoff.c:2922
+#: ecoff.c:2829 ecoff.c:2910
msgid "bad COFF debugging information"
-msgstr "información de depuración COFF equivocada"
+msgstr "información de depuración COFF incorrecta"
-#: ecoff.c:2890
+#: ecoff.c:2878
#, c-format
msgid "no tag specified for %s"
msgstr "no se especificó una marca para %s"
-#: ecoff.c:2992
+#: ecoff.c:2980
msgid ".end directive without a preceding .file directive"
msgstr "directiva .end sin una directiva .file precedente"
-#: ecoff.c:3020
+#: ecoff.c:3008
msgid ".end directive names unknown symbol"
msgstr "símbolo desconocido en los nombres de la directiva .end"
-#: ecoff.c:3051
+#: ecoff.c:3038
msgid "second .ent directive found before .end directive"
msgstr "se encontró una segunda directiva .ent antes de la directiva .end"
-#: ecoff.c:3060
+#: ecoff.c:3047
#, c-format
msgid "%s directive has no name"
msgstr "%s de directiva no tiene ningún nombre"
-#: ecoff.c:3121
+#: ecoff.c:3108
msgid "no way to handle .file within .ent/.end section"
msgstr "no es posible manipular un .file dentro de una sección .ent/.end"
-#: ecoff.c:3238
+#: ecoff.c:3225
msgid ".loc before .file"
msgstr ".loc antes de .file"
-#: ecoff.c:3440
+#: ecoff.c:3425
#, c-format
msgid ".stab%c is not supported"
msgstr "no se admite .stab%c"
-#: ecoff.c:3450
+#: ecoff.c:3435
#, c-format
msgid ".stab%c: ignoring non-zero other field"
msgstr ".stab%c: se descarta el otro campo que no es cero"
-#: ecoff.c:3484
+#: ecoff.c:3469
#, c-format
msgid "line number (%d) for .stab%c directive cannot fit in index field (20 bits)"
msgstr "el número de línea (%d) para la directiva .stab%c no cabe en el campo de índice (20 bits)"
-#: ecoff.c:3518
+#: ecoff.c:3503
#, c-format
msgid "illegal .stab%c directive, bad character"
-msgstr "directiva .stab%c ilegal, carácter equivocado"
+msgstr "directiva .stab%c ilegal, carácter incorrecto"
-#: ecoff.c:3977 ecoff.c:4166 ecoff.c:4191
+#: ecoff.c:3952 ecoff.c:4140 ecoff.c:4165
msgid ".begin/.bend in different segments"
msgstr ".begin/.bend en segmentos diferentes"
-#: ecoff.c:4687
+#: ecoff.c:4660
msgid "missing .end or .bend at end of file"
msgstr ".end ausente o .bend al final del fichero"
-#: ecoff.c:5172
+#: ecoff.c:5137
msgid "GP prologue size exceeds field size, using 0 instead"
msgstr "GP como prólogo de tamaño del campo excedido, se utiliza 0 en su lugar"
-#: expr.c:82 read.c:3820
+#: expr.c:74 read.c:4081
msgid "bignum invalid"
msgstr "bignum inválido"
-#: expr.c:84 read.c:3822 read.c:4334 read.c:5310
+#: expr.c:76 read.c:4083 read.c:4588 read.c:5358
msgid "floating point number invalid"
msgstr "número de coma flotante inválido"
-#: expr.c:207
+#: expr.c:229
msgid "bad floating-point constant: exponent overflow"
-msgstr "constante de coma flotante equivocada: desbordamiento del exponente"
+msgstr "constante de coma flotante incorrecta: desbordamiento del exponente"
-#: expr.c:211
+#: expr.c:233
#, c-format
msgid "bad floating-point constant: unknown error code=%d"
-msgstr "constante de coma flotante equivocada: código de error desconocido=%d"
+msgstr "constante de coma flotante incorrecta: código de error desconocido=%d"
-#: expr.c:396
+#: expr.c:408
msgid "a bignum with underscores may not have more than 8 hex digits in any word"
msgstr "un número grande con subrayados no puede tener más de 8 dígitos hexadecimales en cualquier palabra"
-#: expr.c:419
+#: expr.c:431
msgid "a bignum with underscores must have exactly 4 words"
msgstr "un número grande con subrayados debe tener exactamente 4 words"
#. Either not seen or not defined.
#. @@ Should print out the original string instead of
#. the parsed number.
-#: expr.c:557
+#: expr.c:577
#, c-format
msgid "backward ref to unknown label \"%d:\""
msgstr "referencia hacia atrás a la etiqueta desconocida \"%d:\""
-#: expr.c:675
+#: expr.c:690
msgid "character constant too large"
msgstr "la constante de carácter es demasiado grande"
-#: expr.c:970
+#: expr.c:1021
#, c-format
msgid "found '%c', expected: '%c'"
msgstr "encontrado `%c', se esperaba: `%c'"
-#: expr.c:973
+#: expr.c:1024
#, c-format
msgid "missing '%c'"
msgstr "ausente '%c'"
-#: expr.c:985 read.c:4761
+#: expr.c:1036 read.c:4868
msgid "EBCDIC constants are not supported"
msgstr "EBCDIC como constante no son admitidos"
-#: expr.c:1112
+#: expr.c:1188
#, c-format
msgid "Unary operator %c ignored because bad operand follows"
-msgstr "Se descarta el operador unario %c porque hay un operando equivocado a continuación"
+msgstr "Se descarta el operador unario %c porque hay un operando incorrecto a continuación"
-#: expr.c:1162 expr.c:1193
+#: expr.c:1252 expr.c:1274
msgid "syntax error in .startof. or .sizeof."
-msgstr "error sintáctico en .startof. o .sizeof."
+msgstr "error de sintaxis en .startof. o .sizeof."
-#: expr.c:1274 expr.c:1640
+#: expr.c:1354 expr.c:1690
#, c-format
msgid "invalid use of operator \"%s\""
msgstr "uso inválido del operador «%s»"
-#: expr.c:1824
+#: expr.c:1872
msgid "missing operand; zero assumed"
msgstr "ausente operando; se asume cero"
-#: expr.c:1863
+#: expr.c:1911
msgid "left operand is a bignum; integer 0 assumed"
msgstr "operando izquierdo es un número grande; se asume el entero 0"
-#: expr.c:1865
+#: expr.c:1913
msgid "left operand is a float; integer 0 assumed"
msgstr "operando izquierdo es un número de coma flotante; se asume el entero 0"
-#: expr.c:1874
+#: expr.c:1922
msgid "right operand is a bignum; integer 0 assumed"
msgstr "operando derecho es un número grande; se asume el entero 0"
-#: expr.c:1876
+#: expr.c:1924
msgid "right operand is a float; integer 0 assumed"
msgstr "operando derecho es un número de coma flotante; se asume el entero 0"
-#: expr.c:1947 symbols.c:1396
+#: expr.c:2003 symbols.c:1705
msgid "division by zero"
msgstr "división por cero"
-#: expr.c:1953
+#: expr.c:2053 symbols.c:1716
msgid "shift count"
msgstr "cuenta de desplazamiento"
-#: expr.c:2074
+#: expr.c:2179
msgid "operation combines symbols in different segments"
msgstr "la operación combina símbolos en segmentos diferentes"
-#: expr.c:2396
+#: expr.c:2552
msgid "missing closing '\"'"
msgstr "ausente cierre «\"»"
+#: expr.c:2580
+#, c-format
+msgid "'\\%c' in quoted symbol name; behavior may change in the future"
+msgstr ""
+
#: frags.c:60
msgid "attempt to allocate data in absolute section"
msgstr "intentó asignar datos en la sección absoluta"
@@ -20335,13 +23048,109 @@ msgstr "intentó asignar datos en la sección absoluta"
msgid "attempt to allocate data in common section"
msgstr "se intentó asignar datos en la sección común"
-#: frags.c:115 write.c:1465
+#: frags.c:115
#, c-format
msgid "can't extend frag %lu char"
msgid_plural "can't extend frag %lu chars"
msgstr[0] "no puede extender %lu carácter fragmentado"
msgstr[1] "no puede extender %lu caracteres fragmentados"
+#. Offset of size 8 bytes is not supported in SFrame format
+#. version 1.
+#: gen-sframe.c:410
+#, fuzzy
+#| msgid "unsupported syntax"
+msgid "SFrame unsupported offset value\n"
+msgstr "no se admite la sintaxis"
+
+#: gen-sframe.c:1009
+#, c-format
+msgid "skipping SFrame FDE; non-SP/FP register %u in .cfi_def_cfa"
+msgstr ""
+
+#: gen-sframe.c:1038
+#, c-format
+msgid "skipping SFrame FDE; non-SP/FP register %u in .cfi_def_cfa_register"
+msgstr ""
+
+#. No CFA base register in effect. Non-SP/FP CFA base register should
+#. not occur, as sframe_xlate_do_def_cfa[_register] would detect this.
+#: gen-sframe.c:1076
+msgid "skipping SFrame FDE; .cfi_def_cfa_offset without CFA base register in effect"
+msgstr ""
+
+#: gen-sframe.c:1137
+#, c-format
+msgid "skipping SFrame FDE; %s register %u in .cfi_val_offset"
+msgstr ""
+
+#: gen-sframe.c:1164
+#, c-format
+msgid "skipping SFrame FDE; %s register %u in .cfi_register"
+msgstr ""
+
+#: gen-sframe.c:1186
+msgid "skipping SFrame FDE; .cfi_remember_state without prior SFrame FRE state"
+msgstr ""
+
+#: gen-sframe.c:1282
+msgid "skipping SFrame FDE; .cfi_negate_ra_state_with_pc"
+msgstr ""
+
+#: gen-sframe.c:1309
+msgid "skipping SFrame FDE; .cfi_window_save"
+msgstr ""
+
+#: gen-sframe.c:1422
+#, fuzzy
+#| msgid "unknown"
+msgid "(unknown)"
+msgstr "desconocido"
+
+#: gen-sframe.c:1423
+#, c-format
+msgid "skipping SFrame FDE; CFI insn %s (%#x)"
+msgstr ""
+
+#: gen-sframe.c:1447
+#, c-format
+msgid "skipping SFrame FDE; non-default RA register %u"
+msgstr ""
+
+#: gen-sframe.c:1491
+msgid "skipping SFrame FDE; FP without RA on stack"
+msgstr ""
+
+#: ginsn.c:878
+#, c-format
+msgid "missing label '%s' in func '%s' may result in imprecise cfg"
+msgstr ""
+
+#: ginsn.c:987
+#, c-format
+msgid "GINSN: found unreachable code in func '%s'"
+msgstr ""
+
+#: ginsn.c:1209
+msgid "GINSN process for prev func not done"
+msgstr ""
+
+#: ginsn.c:1243
+#, c-format
+msgid "untraceable control flow for func '%s'"
+msgstr ""
+
+#: ginsn.c:1253
+#, c-format
+msgid "Bad cfg of ginsn of func '%s'"
+msgstr ""
+
+#: ginsn.c:1315 ginsn.c:1322
+#, fuzzy
+#| msgid "CFI is not supported for this target"
+msgid "ginsn unsupported for target"
+msgstr "CFI no admitido en este objetivo"
+
#. For error messages.
#. Detect if we are reading from stdin by examining the file
#. name returned by as_where().
@@ -20354,7 +23163,7 @@ msgstr[1] "no puede extender %lu caracteres fragmentados"
#. line here (assuming of course that we actually have a line of
#. input to read), so that it can be displayed in the listing
#. that is produced at the end of the assembly.
-#: input-file.c:136 input-scrub.c:240 listing.c:353
+#: input-file.c:136 input-scrub.c:259 listing.c:356
msgid "{standard input}"
msgstr "{entrada estándar}"
@@ -20363,39 +23172,43 @@ msgstr "{entrada estándar}"
msgid "can't open %s for reading: %s"
msgstr "no se puede abrir %s para lectura: %s"
-#: input-file.c:150 input-file.c:224
+#: input-file.c:150 input-file.c:228
#, c-format
msgid "can't read from %s: %s"
msgstr "no se puede leer de %s: %s"
-#: input-file.c:252 listing.c:1443 output-file.c:71
+#: input-file.c:267 listing.c:1456
#, c-format
msgid "can't close %s: %s"
msgstr "no se puede cerrar %s: %s"
-#: input-scrub.c:267
+#: input-scrub.c:289
msgid "macros nested too deeply"
msgstr "macros anidadas con demasiada profundidad"
+#: input-scrub.c:537 input-scrub.c:540
+msgid "macro invoked from here"
+msgstr ""
+
#: itbl-ops.c:328
#, c-format
msgid "Unable to allocate memory for new instructions\n"
msgstr "Incapaz de asignar memoria para las instrucciones nuevas\n"
-#: listing.c:253 messages.c:165 messages.c:167 messages.c:170
+#: listing.c:255 messages.c:192 messages.c:194 messages.c:197
msgid "Warning: "
msgstr "Aviso: "
-#: listing.c:259 messages.c:230 messages.c:232 messages.c:235
+#: listing.c:261 messages.c:266 messages.c:268 messages.c:271
msgid "Error: "
msgstr "Error: "
-#: listing.c:625
+#: listing.c:623
#, c-format
msgid "unable to rebuffer file: %s\n"
msgstr "incapaz de reservar fichero búfer: %s\n"
-#: listing.c:1329
+#: listing.c:1342
#, c-format
msgid ""
"\n"
@@ -20406,12 +23219,12 @@ msgstr ""
" marca tiempo \t: %s\n"
"\n"
-#: listing.c:1339
+#: listing.c:1352
#, c-format
msgid "%s "
msgstr "%s "
-#: listing.c:1344
+#: listing.c:1357
#, c-format
msgid ""
"\n"
@@ -20420,7 +23233,7 @@ msgstr ""
"\n"
"\t%s "
-#: listing.c:1354
+#: listing.c:1367
msgid ""
"\n"
" options passed\t: "
@@ -20428,7 +23241,7 @@ msgstr ""
"\n"
" opciones pasadas\t: "
-#: listing.c:1393
+#: listing.c:1406
#, c-format
msgid ""
" GNU assembler version %s (%s)\n"
@@ -20437,7 +23250,7 @@ msgstr ""
" Ensamblador de GNU versión %s (%s)\n"
"\t utilizando BFD versión %s."
-#: listing.c:1396
+#: listing.c:1409
#, c-format
msgid ""
"\n"
@@ -20446,7 +23259,7 @@ msgstr ""
"\n"
" fich entrante \t: %s"
-#: listing.c:1397
+#: listing.c:1410
#, c-format
msgid ""
"\n"
@@ -20455,7 +23268,7 @@ msgstr ""
"\n"
" fich saliente \t: %s"
-#: listing.c:1398
+#: listing.c:1411
#, c-format
msgid ""
"\n"
@@ -20464,249 +23277,276 @@ msgstr ""
"\n"
" destino \t: %s"
-#: listing.c:1422
+#: listing.c:1435
#, c-format
msgid "can't open %s: %s"
msgstr "no se puede abrir %s: %s"
-#: listing.c:1507
+#: listing.c:1520
msgid "strange paper height, set to no form"
msgstr "tamaño de papel extraño, se establece a sin forma"
-#: listing.c:1569
+#: listing.c:1544
+msgid "new paper width is too small"
+msgstr ""
+
+#: listing.c:1547
+#, fuzzy
+#| msgid "bad or irreducible absolute expression; zero assumed"
+msgid "bad or irreducible expression for paper width"
+msgstr "expresión absoluta incorrecta o irreducible; se asume cero"
+
+#: listing.c:1549
+#, fuzzy
+#| msgid "missing expression; zero assumed"
+msgid "missing expression for paper width"
+msgstr "falta una expresión; se asume cero"
+
+#: listing.c:1600
msgid "new line in title"
msgstr "línea nueva en el título"
-#. Turns the next expression into a string.
-#: macro.c:382
-#, no-c-format
-msgid "% operator needs absolute expression"
+#: macro.c:399
+#, fuzzy, c-format
+#| msgid "% operator needs absolute expression"
+msgid "%% operator needs absolute expression"
msgstr "el operador % necesita una expresión absoluta"
-#: macro.c:536
+#: macro.c:551
#, c-format
msgid "Missing parameter qualifier for `%s' in macro `%s'"
msgstr "Ausente el calificador de parámetro para «%s» en la macro «%s»"
-#: macro.c:546
+#: macro.c:561
#, c-format
msgid "`%s' is not a valid parameter qualifier for `%s' in macro `%s'"
msgstr "«%s» no es un calificador de parámetro válido para «%s» en la macro «%s»"
-#: macro.c:563
+#: macro.c:578
#, c-format
msgid "Pointless default value for required parameter `%s' in macro `%s'"
msgstr "Valor por defecto sin sentido para el parámetro requerido «%s» en la macro «%s»"
-#: macro.c:575
+#: macro.c:588
#, c-format
msgid "A parameter named `%s' already exists for macro `%s'"
msgstr "Ya existe un parámetro llamado «%s» para la macro «%s»"
-#: macro.c:612
+#: macro.c:626
#, c-format
msgid "Reserved word `%s' used as parameter in macro `%s'"
msgstr "Se utilizó la palabra reservada «%s» como un parámetro en la macro «%s»"
-#: macro.c:670
+#: macro.c:680
#, c-format
msgid "unexpected end of file in macro `%s' definition"
msgstr "final de fichero no esperado en la definición de macro «%s»"
-#: macro.c:682
+#: macro.c:692
#, c-format
msgid "missing `)' after formals in macro definition `%s'"
msgstr "ausente `)' tras los formales en la definición de macro «%s»"
-#: macro.c:697
+#: macro.c:707
msgid "Missing macro name"
msgstr "Ausente el nombre de macro"
-#: macro.c:706
+#: macro.c:716
#, c-format
msgid "Bad parameter list for macro `%s'"
-msgstr "Lista de parámetros equivocada para la macro «%s»"
+msgstr "Lista de parámetros incorrecta para la macro «%s»"
-#: macro.c:712
+#: macro.c:724
#, c-format
msgid "Macro `%s' was already defined"
msgstr "La macro «%s» ya está definida"
-#: macro.c:837 macro.c:839
+#: macro.c:850 macro.c:852
msgid "missing `)'"
msgstr "ausente `)'"
-#: macro.c:936
+#: macro.c:941
#, c-format
msgid "`%s' was already used as parameter (or another local) name"
msgstr "Ya se usó «%s» como nombre de parámetro (o nombre local)"
-#: macro.c:1094
+#: macro.c:1113
msgid "confusion in formal parameters"
msgstr "confusión en los parámetros formales"
-#: macro.c:1102
+#: macro.c:1121
#, c-format
msgid "Parameter named `%s' does not exist for macro `%s'"
msgstr "El parámetro nombrado «%s» no existe para la macro «%s»"
-#: macro.c:1113
+#: macro.c:1132
#, c-format
msgid "Value for parameter `%s' of macro `%s' was already specified"
msgstr "El valor para parámetro «%s» de macro «%s» fue ya especificado"
-#: macro.c:1127
+#: macro.c:1146
msgid "can't mix positional and keyword arguments"
msgstr "no se pueden mezclar argumentos posicionales y palabras clave"
-#: macro.c:1138
+#: macro.c:1157
msgid "too many positional arguments"
msgstr "demasiados argumentos posicionales"
-#: macro.c:1186
+#: macro.c:1205
#, c-format
msgid "Missing value for required parameter `%s' of macro `%s'"
msgstr "Ausente el valor para el parámetro requerido «%s» de la macro «%s»"
-#: macro.c:1304
+#: macro.c:1323
#, c-format
msgid "Attempt to purge non-existing macro `%s'"
msgstr "Intentaba purgar macro inexistente «%s»"
-#: macro.c:1324
+#: macro.c:1344
msgid "unexpected end of file in irp or irpc"
msgstr "final de fichero inesperado en irp o irpc"
-#: macro.c:1332
+#: macro.c:1355
msgid "missing model parameter"
msgstr "ausente el parámetro modelo"
-#: messages.c:91
+#: messages.c:92
#, c-format
msgid "Assembler messages:\n"
msgstr "Mensajes del ensamblador:\n"
-#: messages.c:289
+#: messages.c:329
#, c-format
msgid "Fatal error: "
msgstr "Error fatal: "
-#: messages.c:310
+#: messages.c:351
#, c-format
msgid "Internal error (%s).\n"
msgstr "Error interno (%s).\n"
-#: messages.c:312
+#: messages.c:353
#, c-format
msgid "Internal error in %s at %s:%d.\n"
msgstr "Error interno en %s en %s:%d.\n"
-#: messages.c:314
+#: messages.c:355
#, c-format
msgid "Internal error at %s:%d.\n"
msgstr "Error interno en %s:%d.\n"
-#: messages.c:316
+#: messages.c:358
#, c-format
msgid "Please report this bug.\n"
msgstr "Por favor reporte este bicho.\n"
-#: messages.c:400
-#, c-format
-msgid "%s out of domain (%d is not a multiple of %d)"
+#: messages.c:426
+#, fuzzy, c-format
+#| msgid "%s out of domain (%d is not a multiple of %d)"
+msgid "%s out of domain (%<PRId64> is not a multiple of %<PRId64>)"
msgstr "%s fuera de dominio (%d no es un múltiplo de %d)"
-#: messages.c:418
-#, c-format
-msgid "%s out of range (%d is not between %d and %d)"
-msgstr "%s fuera de límite (%d no está entre %d y %d)"
+#. xgettext:c-format.
+#: messages.c:442
+#, fuzzy, c-format
+#| msgid "%s out of range (%d is not between %d and %d)"
+msgid "%s out of range (%<PRId64> is not between %<PRId64> and %<PRId64>)"
+msgstr "%s fuera de rango (%d no está entre %d y %d)"
#. xgettext:c-format.
-#: messages.c:441
-#, c-format
-msgid "%s out of range (0x%s is not between 0x%s and 0x%s)"
-msgstr "%s fuera de límite (0x%s no está entre 0x%s y 0x%s)"
+#: messages.c:455
+#, fuzzy, c-format
+#| msgid "%s out of range (0x%s is not between 0x%s and 0x%s)"
+msgid "%s out of range (0x%<PRIx64> is not between 0x%<PRIx64> and 0x%<PRIx64>)"
+msgstr "%s fuera de rango (0x%s no está entre 0x%s y 0x%s)"
-#: output-file.c:34
+#: output-file.c:37
#, c-format
msgid "can't open a bfd on stdout %s"
msgstr "no se puede abrir un bfd en la salida estándar %s"
-#: output-file.c:41
+#: output-file.c:44
#, c-format
msgid "selected target format '%s' unknown"
msgstr "formato de objetivo seleccionado «%s» desconocido"
-#: output-file.c:43
+#: output-file.c:46
#, c-format
msgid "can't create %s: %s"
msgstr "no se puede crear %s: %s"
-#: read.c:520
-#, c-format
-msgid "error constructing %s pseudo-op table: %s"
+#: read.c:584
+#, fuzzy, c-format
+#| msgid "error constructing %s pseudo-op table: %s"
+msgid "error constructing %s pseudo-op table"
msgstr "error al construir la distribución de pseudo-operadores %s: %s"
-#: read.c:702
+#: read.c:768
msgid "cannot change section or subsection inside .bundle_lock"
msgstr ""
-#: read.c:718
+#: read.c:784
#, c-format
msgid ".bundle_lock sequence at %u bytes, but .bundle_align_mode limit is %u bytes"
msgstr "secuencia .bundle_lock en %u bytes, pero límite .bundle_align_mode es %u bytes"
-#: read.c:727
+#: read.c:793
#, c-format
msgid "single instruction is %u bytes long, but .bundle_align_mode limit is %u bytes"
msgstr "instrucción simple es %u bytes largos, pero límite .bundle_align_mode es %u bytes"
-#: read.c:768 read.c:2811 read.c:3452
+#: read.c:834 read.c:2898 read.c:3526
msgid "ignoring fill value in absolute section"
msgstr "ignorando valor relleno dentro de sección absoluta"
-#: read.c:770 read.c:2826 read.c:3491
+#: read.c:836 read.c:2913 read.c:3565
#, c-format
msgid "ignoring fill value in section `%s'"
msgstr "ignorando valor rellenado dentro de sección «%s»"
-#: read.c:1130
+#: read.c:1276
#, c-format
msgid "unknown pseudo-op: `%s'"
msgstr "pseudo-operador desconocido: «%s»"
-#: read.c:1183
+#: read.c:1329
msgid "unable to continue with assembly."
msgstr "incapaz de continuar con ensamblador."
-#: read.c:1225
+#: read.c:1363
#, c-format
-msgid "label \"%d$\" redefined"
+msgid "local label too large near %s"
+msgstr ""
+
+#: read.c:1386
+#, fuzzy, c-format
+#| msgid "label \"%d$\" redefined"
+msgid "label \"%ld$\" redefined"
msgstr "etiqueta \"%d$\" redefinida"
-#: read.c:1372
+#: read.c:1435
msgid ".bundle_lock with no matching .bundle_unlock"
msgstr "directiva .bundle_lock sin una coincidencia .bundle_unlock"
-#: read.c:1469
+#: read.c:1535
msgid ".abort detected. Abandoning ship."
msgstr "se detectó .abort. Se abandona la nave."
-#: read.c:1531
+#: read.c:1597
#, c-format
msgid "alignment too large: %u assumed"
msgstr "alineamiento es muy grande: %u asumido"
-#: read.c:1563
+#: read.c:1629
msgid "expected fill pattern missing"
msgstr "ausente el patrón de relleno esperado"
-#: read.c:1588
+#: read.c:1654
#, c-format
msgid "fill pattern too long, truncating to %u"
msgstr ""
-#: read.c:1686
+#: read.c:1755
msgid "symbol name not recognised in the current locale"
msgstr ""
@@ -20719,371 +23559,441 @@ msgstr ""
#. We do not want to barf on this, especially since such files are used
#. in the GCC and GDB testsuites. So we check for negative line numbers
#. rather than non-positive line numbers.
-#: read.c:2028
+#: read.c:2104
#, c-format
msgid "line numbers must be positive; line number %d rejected"
msgstr "los números de línea deben ser positivos; número de línea %d rechazada"
-#: read.c:2065
+#: read.c:2142
#, c-format
msgid "incompatible flag %i in line directive"
msgstr "opción incompatible %i en la directriz de línea"
-#: read.c:2077
+#: read.c:2154
#, c-format
msgid "unsupported flag %i in line directive"
msgstr "no se admite la opción %i en la directriz de línea"
-#: read.c:2116
+#: read.c:2197
msgid "start address not supported"
msgstr "no se admite la dirección de inicio"
-#: read.c:2125
+#: read.c:2206
msgid ".err encountered"
msgstr "se encontró .err"
-#: read.c:2141
+#: read.c:2222
msgid ".error directive invoked in source file"
msgstr "se invocó la directiva .error en el fichero fuente"
-#: read.c:2142
+#: read.c:2223
msgid ".warning directive invoked in source file"
msgstr "se invocó la directiva .warning en el fichero fuente"
-#: read.c:2148
+#: read.c:2229
#, c-format
msgid "%s argument must be a string"
msgstr "argumento %s debe ser una cadena textual"
-#: read.c:2180 read.c:2182
+#: read.c:2261 read.c:2263
#, c-format
msgid ".fail %ld encountered"
msgstr "encontrado .fail %ld"
-#: read.c:2222
+#: read.c:2303
#, c-format
msgid ".fill size clamped to %d"
msgstr "tamaño .fill restringido a %d"
-#: read.c:2227
+#: read.c:2308
msgid "size negative; .fill ignored"
msgstr "tamaño negativo; se descarta .fill"
-#: read.c:2233
+#: read.c:2314
msgid "repeat < 0; .fill ignored"
msgstr "repetición < 0; se descarta .fill"
-#: read.c:2242
+#: read.c:2321
msgid "non-constant fill count for absolute section"
msgstr "contador de relleno no constante para sección absoluta"
-#: read.c:2244
+#: read.c:2326
msgid "attempt to fill absolute section with non-zero value"
msgstr "trata rellenar sección absoluta con valor distinto de cero"
-#: read.c:2250
+#: read.c:2333
#, c-format
msgid "attempt to fill section `%s' with non-zero value"
msgstr "trata rellenar sección «%s» con valor distinto de cero"
-#: read.c:2407
+#: read.c:2498
#, c-format
msgid "unrecognized .linkonce type `%s'"
msgstr "no reconocido tipo .linkonce «%s»"
-#: read.c:2419
+#: read.c:2510
msgid ".linkonce is not supported for this object file format"
msgstr ".linkonce no admitido en este formato de fichero objeto"
-#: read.c:2514
+#: read.c:2605
msgid "expected alignment after size"
msgstr "se esperaba alineamiento tras tamaño"
-#: read.c:2733
+#: read.c:2818
#, c-format
msgid "attempt to redefine pseudo-op `%s' ignored"
msgstr "intenta redefinir pseudo-operador «%s» descartado"
-#: read.c:2752
+#: read.c:2839
msgid "ignoring macro exit outside a macro definition."
msgstr "se descarta la salida de macro fuera de una definición de macro."
-#: read.c:2806
+#: read.c:2893
#, c-format
msgid "invalid segment \"%s\""
msgstr "segmento no válido «%s»"
-#: read.c:2814
+#: read.c:2901
msgid "only constant offsets supported in absolute section"
-msgstr "sólo se admiten los desplazamientos constantes en la sección absoluta"
+msgstr "solo se admiten los desplazamientos constantes en la sección absoluta"
-#: read.c:2857
+#: read.c:2944
msgid "MRI style ORG pseudo-op not supported"
msgstr "MRI de estilo ORG pseudo-operador no apoyado"
-#: read.c:3008
-#, c-format
-msgid "unrecognized section type `%s'"
-msgstr "no reconocido el tipo seccional «%s»"
-
-#: read.c:3021
-msgid "absolute sections are not supported"
-msgstr "no se admiten las secciones absolutas"
-
-#: read.c:3036
-#, c-format
-msgid "unrecognized section command `%s'"
-msgstr "no se reconoce la orden seccional «%s»"
-
-#: read.c:3099
+#: read.c:3115
#, c-format
msgid ".end%c encountered without preceding %s"
msgstr "se encontró .end%c sin un %s precedente"
-#: read.c:3128 read.c:3164
-#, c-format
-msgid "negative count for %s - ignored"
+#: read.c:3149
+#, fuzzy, c-format
+#| msgid "negative count for %s - ignored"
+msgid "excessive count %zu for %s - ignored"
msgstr "contador negativo para %s - descartado"
-#: read.c:3135 read.c:3171
+#: read.c:3156
#, c-format
msgid "%s without %s"
msgstr "%s sin %s"
-#: read.c:3405
+#: read.c:3190
+msgid "`\\' at end of line/statement; ignored"
+msgstr ""
+
+#: read.c:3469
msgid "unsupported variable size or fill value"
msgstr "no se admiten el tamaño de la variable o el valor de relleno"
-#: read.c:3413
+#: read.c:3477
#, c-format
msgid "size value for space directive too large: %lx"
msgstr ""
-#: read.c:3442
+#: read.c:3503
+msgid ".space repeat count is negative, ignored"
+msgstr "el contador de repetición .space es negativo, se descartó"
+
+#: read.c:3509
msgid ".space repeat count is zero, ignored"
msgstr "el contador de repetición .space es cero, se descartó"
-#: read.c:3444
-msgid ".space repeat count is negative, ignored"
-msgstr "el contador de repetición .space es negativo, se descartó"
+#: read.c:3517
+#, fuzzy
+#| msgid ".space repeat count is zero, ignored"
+msgid ".space repeat count overflow, ignored"
+msgstr "el contador de repetición .space es cero, se descartó"
-#: read.c:3475
+#: read.c:3549
msgid "space allocation too complex in absolute section"
msgstr "la asignación de espacio es demasiado compleja en la sección absoluta"
-#: read.c:3481
+#: read.c:3555
msgid "space allocation too complex in common section"
msgstr "la asignación de espacio es demasiado compleja en la sección común"
-#: read.c:3575 read.c:5020
-#, c-format
-msgid "bad floating literal: %s"
-msgstr "literal de coma flotante equivocada: %s"
+#: read.c:3664
+#, fuzzy
+#| msgid "unsupported flag %i in line directive"
+msgid "unsupported variable nop control in .nops directive"
+msgstr "no se admite la opción %i en la directriz de línea"
+
+#: read.c:3670
+#, fuzzy
+#| msgid "negative count for %s - ignored"
+msgid "negative nop control byte, ignored"
+msgstr "contador negativo para %s - descartado"
-#: read.c:3708
+#: read.c:3739
+#, fuzzy, c-format
+#| msgid "unknown floating type type '%c'"
+msgid "unknown floating type '%c'"
+msgstr "desconoce tipo de coma flotante '%c'"
+
+#: read.c:3965
#, c-format
msgid "%s: would close weakref loop: %s"
msgstr "%s: cerraría el ciclo weakref: %s"
-#: read.c:3758
+#: read.c:4022
#, c-format
msgid "junk at end of line, first unrecognized character valued 0x%x"
msgstr "basura al final de la línea; el primer carácter descartado tiene valor 0x%x"
-#: read.c:3886 write.c:2133
+#: read.c:4150 write.c:2426
#, c-format
msgid "`%s' can't be equated to common symbol `%s'"
msgstr "«%s» no puede ser igualdad al símbolo común «%s»"
-#: read.c:4023
+#: read.c:4278
msgid "unexpected `\"' in expression"
msgstr "`«' o `»' inesperada dentro de expresión"
-#: read.c:4036
+#: read.c:4291
msgid "rva without symbol"
msgstr "rva sin símbolo"
-#: read.c:4105
+#: read.c:4366
msgid "missing or bad offset expression"
-msgstr "expresión de desplazamiento ausentente o equivocada"
+msgstr "expresión de desplazamiento ausentente o incorrecta"
-#: read.c:4126
+#: read.c:4390
msgid "missing reloc type"
msgstr "ausente el tipo reubicado"
-#: read.c:4150
+#: read.c:4414
msgid "unrecognized reloc type"
msgstr "no reconocido el tipo reubicado"
-#: read.c:4166
+#: read.c:4430
msgid "bad reloc expression"
-msgstr "expresión de reubicación equivocada"
+msgstr "expresión de reubicación incorrecta"
-#: read.c:4328 read.c:5304
+#: read.c:4582 read.c:5352 read.c:5478
msgid "zero assumed for missing expression"
msgstr "se asume cero para la expresión ausentente"
-#: read.c:4348 read.c:5333
+#: read.c:4602 read.c:5381 read.c:5497
msgid "attempt to store value in absolute section"
msgstr "se intentó almacenar un valor en la sección absoluta"
-#: read.c:4355 read.c:5339
+#: read.c:4609 read.c:5387 read.c:5503
#, c-format
msgid "attempt to store non-zero value in section `%s'"
msgstr "trata almacenar un valor distinto de cero en la sección «%s»"
-#: read.c:4441
-#, c-format
-msgid "value 0x%llx truncated to 0x%llx"
-msgstr "valora 0x%llx truncado a 0x%llx"
-
-#: read.c:4444
-msgid "value 0x%I64x truncated to 0x%I64x"
+#. Leading bits contain both 0s & 1s.
+#: read.c:4686
+#, fuzzy, c-format
+#| msgid "value 0x%I64x truncated to 0x%I64x"
+msgid "value 0x%<PRIx64> truncated to 0x%<PRIx64>"
msgstr "valora 0x%I64x truncado a 0x%I64x"
-#: read.c:4448
-#, c-format
-msgid "value 0x%lx truncated to 0x%lx"
-msgstr "valora 0x%lx truncado a 0x%lx"
-
-#: read.c:4493
+#: read.c:4730
#, c-format
msgid "bignum truncated to %d byte"
msgid_plural "bignum truncated to %d bytes"
msgstr[0] "número grande truncado a %d bytes"
msgstr[1] "número grande truncado a %d byte"
-#: read.c:4832 read.c:5042
+#: read.c:4939 read.c:5090
msgid "unresolvable or nonpositive repeat count; using 1"
msgstr "cuenta de repetición sin resolver o no positiva; se utiliza 1"
-#: read.c:4881
-#, c-format
-msgid "unknown floating type type '%c'"
-msgstr "desconoce tipo de coma flotante '%c'"
-
-#: read.c:4903
+#: read.c:4982
msgid "floating point constant too large"
msgstr "constante de coma flotante demasiado grande"
-#: read.c:4967
+#: read.c:5047
msgid "attempt to store float in absolute section"
msgstr "trata almacenar flotante en sección absoluta"
-#: read.c:4974
+#: read.c:5054
#, c-format
msgid "attempt to store float in section `%s'"
msgstr "trata almacenar un valor en la sección flotante «%s»"
-#: read.c:5422
+#: read.c:5484
+#, fuzzy
+#| msgid "bignum invalid"
+msgid "number invalid"
+msgstr "bignum inválido"
+
+#: read.c:5740
+#, fuzzy
+#| msgid "strings must be placed into a section"
+msgid "base64 strings must be placed into a section"
+msgstr "las cadenas se deben colocar en una sección"
+
+#: read.c:5747
+msgid "a string must follow the .base64 pseudo-op"
+msgstr ""
+
+#: read.c:5767
+msgid "expected double quote enclosed string as argument to .base64 pseudo-op"
+msgstr ""
+
+#: read.c:5784
+msgid "end of line encountered inside .base64 string"
+msgstr ""
+
+#: read.c:5795
+msgid ".base64 string terminated early"
+msgstr ""
+
+#: read.c:5800
+#, fuzzy
+#| msgid "base register expected"
+msgid ".base64 string terminated unexpectedly"
+msgstr "se esperaba un registro base"
+
+#: read.c:5807
+msgid "equals character only allowed at end of .base64 string"
+msgstr ""
+
+#: read.c:5816
+msgid "the equals character cannot start a block of four base64 encoded bytes"
+msgstr ""
+
+#: read.c:5822
+msgid "the equals character cannot be the second character in a block of four base64 encoded bytes"
+msgstr ""
+
+#: read.c:5832
+#, fuzzy, c-format
+#| msgid "invalid character %c in operand %d"
+msgid "invalid character '%c' found inside .base64 string"
+msgstr "carácter inválido %c en el operando %d"
+
+#: read.c:5834
+#, fuzzy, c-format
+#| msgid "invalid character %s in operand %d"
+msgid "invalid character %#x found inside .base64 string"
+msgstr "carácter inválido %s en operando %d"
+
+#: read.c:5860
+msgid "no base64 characters expected after '=' padding characters"
+msgstr ""
+
+#: read.c:5870
+msgid ".base64 string must have a terminating double quote character"
+msgstr ""
+
+#: read.c:5903
#, c-format
msgid "attempt to store non-empty string in section `%s'"
msgstr "trata almacenar cadena no vacía dentro de sección «%s»"
-#: read.c:5484
+#: read.c:5965
msgid "strings must be placed into a section"
msgstr "las cadenas se deben colocar en una sección"
-#: read.c:5547
+#: read.c:6032
msgid "expected <nn>"
msgstr "se esperaba <nn>"
#. To be compatible with BSD 4.2 as: give the luser a linefeed!!
-#: read.c:5586 read.c:5672
+#: read.c:6073 read.c:6160
msgid "unterminated string; newline inserted"
msgstr "cadena sin terminar; se insertó una línea nueva"
-#: read.c:5686
+#: read.c:6174
msgid "bad escaped character in string"
-msgstr "carácter escapado equivocadamente en la cadena"
+msgstr "carácter escapado incorrectamente en la cadena"
-#: read.c:5711
+#: read.c:6198
msgid "expected address expression"
msgstr "se esperaba una expresión direccional"
-#: read.c:5730
+#: read.c:6217
#, c-format
msgid "symbol \"%s\" undefined; zero assumed"
msgstr "símbolo indefinido «%s»; se asume cero"
-#: read.c:5733
+#: read.c:6220
msgid "some symbol undefined; zero assumed"
msgstr "algunos símbolos sin definir; se asumen cero"
-#: read.c:5768
+#: read.c:6254
msgid "this string may not contain '\\0'"
msgstr "esta cadena no puede contener '\\0'"
-#: read.c:5804
+#: read.c:6291
msgid "missing string"
msgstr "ausentea cadena"
-#: read.c:5895
+#: read.c:6406
#, c-format
msgid ".incbin count zero, ignoring `%s'"
msgstr "la cuenta .incbin es cero, se descarta «%s»"
-#: read.c:5921
+#: read.c:6418
#, c-format
msgid "file not found: %s"
msgstr "no se encontró el fichero: %s"
-#: read.c:5935
+#: read.c:6428
+#, fuzzy, c-format
+#| msgid "unable to locate include file: %s"
+msgid "unable to include `%s'"
+msgstr "no se puede localizar el fichero de inclusión: %s"
+
+#: read.c:6437
#, c-format
msgid "seek to end of .incbin file failed `%s'"
msgstr "falló la búsqueda del final del fichero .incbin «%s»"
-#: read.c:5946
+#: read.c:6448
#, c-format
msgid "skip (%ld) or count (%ld) invalid for file size (%ld)"
msgstr "salto (%ld) o cuenta (%ld) inválidos para el tamaño del fichero (%ld)"
-#: read.c:5953
+#: read.c:6455
#, c-format
msgid "could not skip to %ld in file `%s'"
msgstr "no se puede omiter a %ld en el fichero «%s»"
-#: read.c:5962
+#: read.c:6464
#, c-format
msgid "truncated file `%s', %ld of %ld bytes read"
msgstr "fichero «%s» truncado, leyeron %ld de %ld bytes"
-#: read.c:6120
+#: read.c:6601
msgid "missing .func"
msgstr "ausente .func"
-#: read.c:6137
+#: read.c:6620
msgid ".endfunc missing for previous .func"
msgstr "ausente .endfunc para el .func previo"
-#: read.c:6196
+#: read.c:6673
#, c-format
msgid ".bundle_align_mode alignment too large (maximum %u)"
msgstr "alineamiento .bundle_align_mode demasiado grande (maximo %u)"
-#: read.c:6201
+#: read.c:6678
msgid "cannot change .bundle_align_mode inside .bundle_lock"
msgstr ""
-#: read.c:6215
+#: read.c:6692
msgid ".bundle_lock is meaningless without .bundle_align_mode"
msgstr ""
-#: read.c:6236
+#: read.c:6713
msgid ".bundle_unlock without preceding .bundle_lock"
msgstr "directiva .bundle_unlock sin precedente .bundle_lock"
-#: read.c:6249
+#: read.c:6726
#, c-format
msgid ".bundle_lock sequence is %u bytes, but bundle size is only %u bytes"
msgstr ""
-#: read.c:6348
+#: read.c:6825
#, c-format
msgid "missing closing `%c'"
msgstr "ausente de cierre `%c'"
-#: read.c:6350
+#: read.c:6827
msgid "stray `\\'"
msgstr "basura `\\'"
@@ -21092,2460 +24002,330 @@ msgstr "basura `\\'"
msgid "invalid argument '%s' to -fdebug-prefix-map"
msgstr "argumento «%s» inválido para -fdebug-prefix-map"
-#: stabs.c:214 stabs.c:222 stabs.c:230 stabs.c:249
+#: scfi.c:545
+msgid "SCFI: usage of REG_FP as scratch not supported"
+msgstr ""
+
+#: scfi.c:655
+msgid "SCFI: unsupported stack manipulation pattern"
+msgstr ""
+
+#: scfi.c:802 scfi.c:896
+msgid "SCFI: asymetrical register restore"
+msgstr ""
+
+#: scfi.c:969
+msgid "SCFI: Bad CFI propagation perhaps"
+msgstr ""
+
+#: scfi.c:1116
+#, c-format
+msgid "SCFI: forward pass failed for func '%s'"
+msgstr ""
+
+#: scfi.c:1123
+#, c-format
+msgid "SCFI: backward pass failed for func '%s'"
+msgstr ""
+
+#: scfi.c:1190
+msgid "SCFI: Invalid DWARF CFI opcode data"
+msgstr ""
+
+#. No other GINSN_TYPE_* expected.
+#: scfi.c:1242
+#, c-format
+msgid "SCFI: bad ginsn for func '%s'"
+msgstr ""
+
+#: scfi.c:1256 scfi.c:1265
+#, fuzzy
+#| msgid "CFI is not supported for this target"
+msgid "SCFI: unsupported for target"
+msgstr "CFI no admitido en este objetivo"
+
+#: scfidw2gen.c:39
+msgid "SCFI ignores most user-specified CFI directives"
+msgstr ""
+
+#: scfidw2gen.c:132
+msgid "SCFI: missing previous SCFI endproc marker"
+msgstr ""
+
+#: stabs.c:187
#, c-format
msgid ".stab%c: missing comma"
msgstr ".stab%c: ausentea coma"
+#: stabs.c:263
+#, fuzzy, c-format
+#| msgid "missing string"
+msgid ".stab%c: missing string"
+msgstr "ausentea cadena"
+
#. This could happen for example with a source file with a huge
#. number of lines. The only cure is to use a different debug
#. format, probably DWARF.
-#: stabs.c:242
+#: stabs.c:290
#, c-format
msgid ".stab%c: description field '%x' too big, try a different debug format"
msgstr ".stab%c: la descripción del campo '%x' es demasiado grande, intente un formato de depuración diferente"
-#: stabs.c:423
+#: stabs.c:436
msgid "comma missing in .xstabs"
msgstr "ausentea coma en .xstabs"
-#: symbols.c:287
+#: symbols.c:386 symbols.c:2550
+#, fuzzy, c-format
+#| msgid "Symbol '%s' could not be created."
+msgid "symbol '%s' contains multibyte characters"
+msgstr "No se puede crear el símbolo «%s»."
+
+#: symbols.c:526
#, c-format
msgid "cannot define symbol `%s' in absolute section"
msgstr "no se puede definir el símbolo «%s» en la sección absoluta"
-#: symbols.c:421
+#: symbols.c:659
#, c-format
msgid "symbol `%s' is already defined as \"%s\"/%s%ld"
msgstr "el símbolo «%s» ya está definido como «%s»/%s%ld"
-#: symbols.c:496 symbols.c:503
-#, c-format
-msgid "inserting \"%s\" into symbol table failed: %s"
-msgstr "falló la inserción de «%s» en la distribución simbólicos: %s"
-
-#: symbols.c:1022
+#: symbols.c:1257
#, c-format
msgid "invalid operands (%s and %s sections) for `%s'"
msgstr "operandos inválidos (secciones %s y %s) para «%s»"
-#: symbols.c:1026
+#: symbols.c:1261
#, c-format
msgid "invalid operand (%s section) for `%s'"
msgstr "operando inválido (sección %s) para «%s»"
-#: symbols.c:1034
+#: symbols.c:1269
#, c-format
msgid "invalid operands (%s and %s sections) for `%s' when setting `%s'"
msgstr "operandos inválidos (secciones %s y %s) para «%s» al establecer «%s»"
-#: symbols.c:1037
+#: symbols.c:1272
#, c-format
msgid "invalid operand (%s section) for `%s' when setting `%s'"
msgstr "operando inválido (sección %s) para «%s» al establecer «%s»"
-#: symbols.c:1086
+#: symbols.c:1341
#, c-format
msgid "symbol definition loop encountered at `%s'"
-msgstr "definición simbólico encontrada en bucle en `%s'"
+msgstr "definición de símbolo encontrada en bucle en `%s'"
-#: symbols.c:1113
+#: symbols.c:1368
#, c-format
msgid "cannot convert expression symbol %s to complex relocation"
msgstr "no se puede convertir el símbolo de expresión %s a una reubicación compleja"
-#: symbols.c:1398
+#: symbols.c:1707
#, c-format
msgid "division by zero when setting `%s'"
msgstr "división por cero al establecer «%s»"
#. See PR 20895 for a reproducer.
-#: symbols.c:1438
+#: symbols.c:1777
msgid "Invalid operation on symbol"
msgstr "Operación no válida en símbolo"
-#: symbols.c:1488 write.c:2182
+#: symbols.c:1827 write.c:2475
#, c-format
msgid "can't resolve value for symbol `%s'"
msgstr "no se puede resolver el valor para el símbolo «%s»"
-#: symbols.c:1947
-#, c-format
-msgid "\"%d\" (instance number %d of a %s label)"
+#: symbols.c:2235
+#, fuzzy, c-format
+#| msgid "\"%d\" (instance number %d of a %s label)"
+msgid "\"%u\" (instance number %u of a %s label)"
msgstr "\"%d\" (número de instancia %d de una etiqueta %s)"
-#: symbols.c:1976
+#: symbols.c:2266
+msgid "expression is too complex to be resolved or converted into relocations"
+msgstr ""
+
+#: symbols.c:2268 symbols.c:2271
#, c-format
msgid "attempt to get value of unresolved symbol `%s'"
msgstr "se intentó obtener el valor del símbolo sin resolver «%s»"
#. Do not reassign section symbols.
-#: symbols.c:2264
-msgid "section symbols are already global"
-msgstr "los símbolos seccional ya son globales"
+#: symbols.c:2571
+#, fuzzy
+#| msgid "can't create section %s"
+msgid "can't make section symbol global"
+msgstr "no se puede crear la sección %s"
+
+#: symbols.c:2577
+#, fuzzy
+#| msgid "can't make global register symbol `%s'"
+msgid "can't make register symbol global"
+msgstr "no se puede hacer global el símbolo de registro «%s»"
-#: symbols.c:2377
+#: symbols.c:2683
#, c-format
msgid "Accessing function `%s' as thread-local object"
msgstr "Se accede a la función «%s» como un objeto de hilo local"
-#: symbols.c:2381
+#: symbols.c:2687
#, c-format
msgid "Accessing `%s' as thread-local object"
msgstr "Se accede «%s» como un objeto de hilo local"
-#: write.c:167
-#, c-format
-msgid "field fx_size too small to hold %d"
+#: write.c:153
+#, fuzzy, c-format
+#| msgid "field fx_size too small to hold %d"
+msgid "field fx_size too small to hold %lu"
msgstr "el campo fx_size es demasiado pequeño para contener %d"
-#: write.c:453
-#, c-format
-msgid "attempt to .org/.space backwards? (%ld)"
+#: write.c:430
+#, fuzzy, c-format
+#| msgid "attempt to .org/.space backwards? (%ld)"
+msgid "attempt to .org/.space/.nops backwards? (%ld)"
msgstr "¿se intentó hacer .org/.space hacia atrás? (%ld)"
-#: write.c:471
+#: write.c:452
#, c-format
msgid "leb128 operand is an undefined symbol: %s"
msgstr "operando lib128 es un símbolo indefinido: %s"
-#: write.c:702
+#: write.c:520
+#, fuzzy, c-format
+#| msgid "leb128 operand is an undefined symbol: %s"
+msgid ".cv_%ccomp operand is an undefined symbol: %s"
+msgstr "operando lib128 es un símbolo indefinido: %s"
+
+#: write.c:712
msgid "invalid offset expression"
msgstr "expresión de desplazamiento no válida"
-#: write.c:724
+#: write.c:734
msgid "invalid reloc expression"
msgstr "expresión de reubicación no válida"
-#: write.c:1109
+#: write.c:931
+#, fuzzy, c-format
+#| msgid "can't create %s: %s"
+msgid "can't resolve %s - %s"
+msgstr "no se puede crear %s: %s"
+
+#: write.c:1144
#, c-format
msgid "value of %s too large for field of %d byte at %s"
msgid_plural "value of %s too large for field of %d bytes at %s"
msgstr[0] "valor de %s es demasiado grande para el campo de %d byte en %s"
msgstr[1] "valor de %s es demasiado grande para el campo de %d bytes en %s"
-#: write.c:1125
+#: write.c:1160
#, c-format
msgid "signed .word overflow; switch may be too large; %ld at 0x%lx"
msgstr "desbordamiento de .word con signo; el interruptor puede ser demasiado grande; %ld en 0x%lx"
-#: write.c:1166
+#: write.c:1201
msgid "redefined symbol cannot be used on reloc"
msgstr "un símbolo redefinido no se puede usar en la reubicación"
-#: write.c:1179
+#: write.c:1214
msgid "relocation out of range"
-msgstr "reubicación fuera de límite"
+msgstr "reubicación fuera de rango"
-#: write.c:1182
+#: write.c:1217
#, c-format
msgid "%s:%u: bad return from bfd_install_relocation: %x"
-msgstr "%s:%u: devolución equivocada de bfd_install_relocation: %x"
+msgstr "%s:%u: devolución incorrecta de bfd_install_relocation: %x"
-#: write.c:1210
+#: write.c:1245
msgid "reloc not within (fixed part of) section"
msgstr "la reubicación no está dentro (de la parte fija de) la sección"
-#: write.c:1280
+#: write.c:1317
msgid "internal error: fixup not contained within frag"
msgstr "error interno: la compostura no está contenida en un fragmento"
-#: write.c:1398 write.c:1535
+#: write.c:1463 write.c:1579
msgid "can't extend frag"
msgstr "no se pueden extender el fragmento"
-#: write.c:1603
+#: write.c:1628
+#, fuzzy
+#| msgid "unmatched .end directive"
+msgid "unimplemented .nops directive"
+msgstr "directiva .end no coincidida"
+
+#: write.c:1662
#, c-format
msgid "can't write %ld byte to section %s of %s: '%s'"
msgid_plural "can't write %ld bytes to section %s of %s: '%s'"
msgstr[0] "no se puede escribir %ld byte a sección %s de %s: «%s»"
msgstr[1] "no se puede escribir %ld bytes a sección %s de %s: «%s»"
-#: write.c:1630 write.c:1666
+#: write.c:1688 write.c:1722 write.c:1759
#, c-format
msgid "can't fill %ld byte in section %s of %s: '%s'"
msgid_plural "can't fill %ld bytes in section %s of %s: '%s'"
msgstr[0] "no se puede rellenar %ld byte en sección %s de %s: '%s'"
msgstr[1] "no se puede rellenar %ld bytes en sección %s de %s: '%s'"
-#: write.c:2098
+#: write.c:1976
+#, fuzzy
+#| msgid "Unable to use @plt relocation for insn %s"
+msgid "unable to create reloc for build note"
+msgstr "Incapaz de utilizar @plt para reubicación para insn %s"
+
+#: write.c:1980
+msgid "<gnu build note>"
+msgstr ""
+
+#: write.c:2391
#, c-format
msgid "%s: global symbols not supported in common sections"
msgstr "%s: no se admiten los símbolos globales en las secciones comunes"
-#: write.c:2112
+#: write.c:2405
#, c-format
msgid "local label `%s' is not defined"
msgstr "la etiqueta local «%s» no está definida"
-#: write.c:2140
+#: write.c:2433
#, c-format
msgid "can't make global register symbol `%s'"
msgstr "no se puede hacer global el símbolo de registro «%s»"
-#: write.c:2444
+#: write.c:2744
#, c-format
msgid "alignment padding (%lu byte) not a multiple of %ld"
msgid_plural "alignment padding (%lu bytes) not a multiple of %ld"
msgstr[0] "rellenando alineamiento (%lu byte) no un múltiplo de %ld"
msgstr[1] "rellenando alineamiento (%lu bytes) no un múltiplo de %ld"
-#: write.c:2610
+#: write.c:2921
#, c-format
msgid ".word %s-%s+%s didn't fit"
msgstr "no cabe .word %s-%s+%s"
-#: write.c:2704
+#: write.c:3013
msgid "padding added"
msgstr "se añadió relleno"
-#: write.c:2755
+#: write.c:3064
msgid "attempt to move .org backwards"
msgstr "se intentó mover .org hacia atrás"
-#: write.c:2779
-msgid ".space specifies non-absolute value"
+#: write.c:3089
+#, fuzzy
+#| msgid ".space specifies non-absolute value"
+msgid ".space, .nops or .fill specifies non-absolute value"
msgstr ".space especifica un valor que no es absoluto"
-#: write.c:2794
-msgid ".space or .fill with negative value, ignored"
+#: write.c:3104
+#, fuzzy
+#| msgid ".space or .fill with negative value, ignored"
+msgid ".space, .nops or .fill with negative value, ignored"
msgstr ".space ó .fill con valor negativo, se descarta"
-#: write.c:2865
+#: write.c:3194
#, c-format
msgid "Infinite loop encountered whilst attempting to compute the addresses of symbols in section %s"
msgstr "Se encontró un ciclo infinito al intentar computar las direcciones de los símbolos en la sección %s"
-
-#~ msgid "%s: data size %ld\n"
-#~ msgstr "%s: tamaño de datos %ld\n"
-
-#~ msgid "missing segment name"
-#~ msgstr "falta el nombre del segmento"
-
-#~ msgid "missing comma after segment name"
-#~ msgstr "falta una coma después del nombre del segmento"
-
-#~ msgid "missing section type name"
-#~ msgstr "falta el nombre de tipo de sección"
-
-#~ msgid "missing section attribute identifier"
-#~ msgstr "falta el identificador de atributo de sección"
-
-#~ msgid "expected comma after operand name"
-#~ msgstr "se esperaba una coma después del nombre de operando"
-
-#~ msgid "negative operand number %d"
-#~ msgstr "número de operando %d negativo"
-
-#~ msgid "attempt to override symbol: %s"
-#~ msgstr "se intentó redefinir el símbolo: %s"
-
-#~ msgid "invalid opertype"
-#~ msgstr "tipo de operador inválido"
-
-#~ msgid "negative subopcode %d"
-#~ msgstr "subcódigo de operación %d negativo"
-
-#~ msgid "subcode value found when opcode not equal 0x03"
-#~ msgstr "se encontró un valor de subcódigo cuando el código de operación no es igual a 0x03"
-
-#~ msgid "invalid subopcode %d"
-#~ msgstr "subcódigo de operación %d inválido"
-
-#~ msgid "expected comma after subopcode"
-#~ msgstr "se esperaba una coma después del subcódigo de operación"
-
-#~ msgid "expected comma after suffix class"
-#~ msgstr "se esperaba una coma después de la clase de sufijo"
-
-#~ msgid "invalid syntax class"
-#~ msgstr "clase de sintaxis inválida"
-
-#~ msgid "opcode 0x3 and SYNTAX_3OP invalid"
-#~ msgstr "código de operación 0x3 y SINTAX_3OP inválidos"
-
-#~ msgid "negative symbol length"
-#~ msgstr "longitud de símbolo negativa"
-
-#~ msgid "ignoring attempt to re-define symbol"
-#~ msgstr "se descarta el intento de redefinir el símbolo"
-
-#~ msgid "length of symbol \"%s\" already %ld, ignoring %d"
-#~ msgstr "la longitud del símbolo \"%s\" ya es %ld; se descarta %d"
-
-#~ msgid "assuming symbol alignment of zero"
-#~ msgstr "se asume una alineación de símbolo de cero"
-
-#~ msgid "\".option\" directive must appear before any instructions"
-#~ msgstr "la directiva \".option\" debe aparecer antes de cualquier instrucción"
-
-#~ msgid "\".option\" directive conflicts with initial definition"
-#~ msgstr "la directiva \".option\" tiene conflictos con la definición inicial"
-
-#~ msgid "\".option\" directive overrides command-line (default) value"
-#~ msgstr "la directiva opción \".option\" sobreescribe el valor (por defecto) de la línea de órdenes"
-
-#~ msgid "invalid identifier for \".option\""
-#~ msgstr "identificador inválido para \".option\""
-
-#~ msgid "expression too complex code symbol"
-#~ msgstr "expresión demasiado compleja de símbolo de código"
-
-#~ msgid "missing ')' in %%-op"
-#~ msgstr "falta un ')' en %%-op"
-
-#~ msgid "too many suffixes"
-#~ msgstr "demasiados sufijos"
-
-#~ msgid "symbol as destination register"
-#~ msgstr "símbolo como registro destino"
-
-#~ msgid "8 byte instruction in delay slot"
-#~ msgstr "instrucción de 8 bytes en ranura de retardo"
-
-#~ msgid "conditional branch follows set of flags"
-#~ msgstr "ramificación condicional a continuación del conjunto de opciones"
-
-#~ msgid "alignment negative. 0 assumed."
-#~ msgstr "alineación negativa. Se asume 0."
-
-#~ msgid ":upper16: not allowed instruction"
-#~ msgstr ":upper16: no se permite esta instrucción"
-
-#~ msgid "operand 0 must be FPSCR"
-#~ msgstr "el operando 0 debe ser FPSCR"
-
-#~ msgid "No memory for symbol name."
-#~ msgstr "No hay memoria para el nombre del símbolo."
-
-#~ msgid "Out of memory: could not allocate new space chain entry: %s\n"
-#~ msgstr "Memoria agotada: no se puede asignar una nueva entrada de cadena de espacio: %s\n"
-
-#~ msgid "Out of memory: could not allocate new subspace chain entry: %s\n"
-#~ msgstr "Memoria agotada: no se puede asignar una nueva entrada de cadena de subespacio: %s\n"
-
-#~ msgid "%s relocations do not fit in %d bytes\n"
-#~ msgstr "%s reubicaciones no caben en %d bytes\n"
-
-#~ msgid "internal Error: Can't hash %s: %s"
-#~ msgstr "error Interno: No se puede dispersar %s: %s"
-
-#~ msgid "Imm4 isn't the first operand"
-#~ msgstr "Imm4 no es el primer operando"
-
-#~ msgid "unsupported"
-#~ msgstr "no se admite"
-
-#~ msgid "the first operand of `%s' must be `%s%s'"
-#~ msgstr "el primer operando de `%s' debe ser `%s%s'"
-
-#~ msgid "`%s' is not a valid %s-bit %s expression"
-#~ msgstr "`%1$s' no es una expresión %3$s de %2$s-bit válida"
-
-#~ msgid "Internal Error: Can't allocate m68k_sorted_opcodes of size %d"
-#~ msgstr "Error Interno: No se puede alojar m68k_sorted_opcodes de tamaño %d"
-
-#~ msgid "Conversion of DBcc to absolute jump"
-#~ msgstr "Conversión de DBcc a un salto absoluto"
-
-#~ msgid "pc-relative"
-#~ msgstr "relativa a pc"
-
-#~ msgid "operand must be absolute in range %d..%d, not %d"
-#~ msgstr "el operando debe ser un absoluto en el rango %d..%d, no %d"
-
-#~ msgid "internal Error, line %d, %s"
-#~ msgstr "Error interno, línea %d, %s"
-
-#~ msgid "48-bit microMIPS instructions are not supported"
-#~ msgstr "no se admiten las instrucciones microMIPS de 48-bit"
-
-#~ msgid "Unsupported large constant"
-#~ msgstr "No se admite la constante large"
-
-#~ msgid "Improper position (%lu)"
-#~ msgstr "Posición impropia (%lu)"
-
-#~ msgid "Improper extract size (%lu, position %lu)"
-#~ msgstr "Tamaño de extract impropio (%lu, posición %lu)"
-
-#~ msgid "Improper insert size (%lu, position %lu)"
-#~ msgstr "Tamaño de insert impropio (%lu, posición %lu)"
-
-#~ msgid "Expression too complex"
-#~ msgstr "Expresión demasiado compleja"
-
-#~ msgid "Offset too large"
-#~ msgstr "Desplazamiento demasiado grande"
-
-#~ msgid "Opcode not supported on this processor: %s"
-#~ msgstr "No se admite el código de operación en este procesador: %s"
-
-#~ msgid "Improper rotate count"
-#~ msgstr "Cuenta de rotación impropia"
-
-#~ msgid "Operand overflow"
-#~ msgstr "Desbordamiento de operando"
-
-#~ msgid "internal: bad mips opcode (unknown extension operand type `+%c'): %s %s"
-#~ msgstr "interno: código de operación mips erróneo (tipo de operando de extensión `+%c' desconocido): %s %s"
-
-#~ msgid "Internal error: bad microMIPS opcode (mask error): %s %s"
-#~ msgstr "Error interno: código de operación microMIPS erróneo: %s %s"
-
-#~ msgid "Internal error: bad mips opcode (unknown extension operand type `%c%c'): %s %s"
-#~ msgstr "Error interno: código de operación mips erróneo (tipo de operando de extensión desconocido `%c%c'): %s %s"
-
-#~ msgid "Internal error: bad microMIPS opcode (unknown operand type `%c'): %s %s"
-#~ msgstr "Error interno: código de operación microMIPS erróneo (tipo de operando `%c' desconocido): %s %s"
-
-#~ msgid "Internal error: bad microMIPS opcode (bits 0x%lx undefined): %s %s"
-#~ msgstr "Error interno: código de operación microMIPS erróneo (bits 0x%lx sin definir): %s %s"
-
-#~ msgid "Internal error: bad microMIPS opcode (bits 0x%lx defined): %s %s"
-#~ msgstr "Error interno: código de operación microMIPS erróneo (bits 0x%lx definidos): %s %s"
-
-#~ msgid "Unrecognized opcode"
-#~ msgstr "No se reconoce el código de operación"
-
-#~ msgid "DSP immediate not in range 0..%d (%lu)"
-#~ msgstr "el inmediato DSP no está en el rango 0..%d (%lu)"
-
-#~ msgid "Invalid dsp acc register"
-#~ msgstr "Registro acc dsp inválido"
-
-#~ msgid "DSP immediate not in range %ld..%ld (%ld)"
-#~ msgstr "El inmediato DSP no está en el rango %ld..%ld (%ld)"
-
-#~ msgid "MT usermode bit not 0 or 1 (%lu)"
-#~ msgstr "El bit de modo de usuario MT no es 0 o 1 (%lu)"
-
-#~ msgid "MT load high bit not 0 or 1 (%lu)"
-#~ msgstr "el bit alto de load MT no es 0 o 1 (%lu)"
-
-#~ msgid "Invalid dsp/smartmips acc register"
-#~ msgstr "Registro acc dsp/smartmips inválido"
-
-#~ msgid "Bit position for %s not in range 0..%lu (%lu)"
-#~ msgstr "La posición de bit para %s no está en el rango 0..%lu (%lu)"
-
-#~ msgid "Illegal %s number (%lu, 0x%lx)"
-#~ msgstr "Número %s ilegal (%lu, 0x%lx)"
-
-#~ msgid "absolute expression required"
-#~ msgstr "se requiere una expresión absoluta"
-
-#~ msgid "Invalid register number (%d)"
-#~ msgstr "Número de registro inválido (%d)"
-
-#~ msgid "Invalid coprocessor 0 register number"
-#~ msgstr "Número de registro 0 de coprocesador inválido"
-
-#~ msgid "Improper size (%lu)"
-#~ msgstr "Tamaño impropio (%lu)"
-
-#~ msgid "Offset not in range %ld..%ld (%ld)"
-#~ msgstr "El desplazamiento no está en el rango %ld..%ld (%ld)"
-
-#~ msgid "Offset not 16 bytes alignment (%ld)"
-#~ msgstr "El desplazamiento no está alineado a 16 bytes (%ld)"
-
-#~ msgid "Internal error: bad %s opcode (unknown extension operand type `+%c'): %s %s"
-#~ msgstr "Error interno: código de operación %s erróneo (tipo de operando de extensión `+%c' desconocido): %s %s"
-
-#~ msgid "Invalid value for `%s' (%lu)"
-#~ msgstr "Valor inválido para `%s' (%lu)"
-
-#~ msgid "Code for %s not in range 0..%lu (%lu)"
-#~ msgstr "El código para %s no está en el rango 0..%lu (%lu)"
-
-#~ msgid "Lower code for %s not in range 0..%lu (%lu)"
-#~ msgstr "El código más bajo para %s no está en el rango 0..%lu (%lu)"
-
-#~ msgid "Coproccesor code > %u bits (%lu)"
-#~ msgstr "Código de coprocesador > %u bits (%lu)"
-
-#~ msgid "Illegal 19-bit code (%lu)"
-#~ msgstr "Código de 19-bit ilegal (%lu)"
-
-#~ msgid "Used $%u with \".set at=$%u\""
-#~ msgstr "se utilizó $%u con \".set at=$%u\""
-
-#~ msgid "Improper align amount (%ld), using low bits"
-#~ msgstr "Cantidad de desplazamiento impropia (%ld), se usan bits bajos"
-
-#~ msgid "Invalid MDMX Immediate (%ld)"
-#~ msgstr "Inmediato MDMX inválido (%ld)"
-
-#~ msgid "Expecting ']' found '%s'"
-#~ msgstr "Se esperaba ']', se encontró '%s'"
-
-#~ msgid "Can't use floating point insn in this section"
-#~ msgstr "No se pueden utilizar insn de coma flotante en esta sección"
-
-#~ msgid "Expression out of range"
-#~ msgstr "Expresión fuera de rango"
-
-#~ msgid "Invalid coprocessor sub-selection value (0-7)"
-#~ msgstr "Valor de subselección de coprocesador (0-7) inválido"
-
-#~ msgid "bad byte vector index (%ld)"
-#~ msgstr "índice de vector de byte erróneo (%ld)"
-
-#~ msgid "Internal error: bad microMIPS opcode (unknown extension operand type `m%c'): %s %s"
-#~ msgstr "Error interno: código de operación microMIPS erróneo (tipo de operando de extensión `m%c' desconocido): %s %s"
-
-#~ msgid "Trap code (%lu) for %s not in 0..15 range"
-#~ msgstr "El código de captura (%lu) para %s no está en el rango 0..15"
-
-#~ msgid "Bad char = '%c'\n"
-#~ msgstr "Carácter erróneo = '%c'\n"
-
-#~ msgid "can't parse register list"
-#~ msgstr "no se puede decodificar la lista de registros"
-
-#~ msgid "more than one frame size in list"
-#~ msgstr "más de un tamaño de marco en la lista"
-
-#~ msgid "arg/static registers overlap"
-#~ msgstr "los registros arg/static se sobreescriben"
-
-#~ msgid "-call_shared is supported only for ELF format"
-#~ msgstr "-call_shared sólo se admite en el formato ELF"
-
-#~ msgid "-call_nonpic is supported only for ELF format"
-#~ msgstr "-call_nonpic sólo se admite en el formato ELF"
-
-#~ msgid "-non_shared is supported only for ELF format"
-#~ msgstr "-non_shared sólo se admite en el formato ELF"
-
-#~ msgid "-n32 is supported for ELF format only"
-#~ msgstr "-n32 sólo se admite en el formato ELF"
-
-#~ msgid "-64 is supported for ELF format only"
-#~ msgstr "-64 sólo se admite en el formato ELF"
-
-#~ msgid "-mabi is supported for ELF format only"
-#~ msgstr "-mabi sólo se admite en el formato ELF"
-
-#~ msgid "-mfp32 used with -mips3d"
-#~ msgstr "se utilizó -mfp32 con -mips3d"
-
-#~ msgid "-mfp32 used with -mdmx"
-#~ msgstr "se utilizó -mfp32 con -mdmx"
-
-#~ msgid "%s ISA does not support SmartMIPS"
-#~ msgstr "ISA %s no admite SmartMIPS"
-
-#~ msgid "%s ISA does not support DSP ASE"
-#~ msgstr "ISA %s no admite DSP ASE"
-
-#~ msgid "%s ISA does not support DSP R2 ASE"
-#~ msgstr "ISA %s no admite DSP R2 ASE"
-
-#~ msgid "%s ISA does not support MCU ASE"
-#~ msgstr "ISA %s no admite MCU ASE"
-
-#~ msgid "PC relative MIPS16 instruction references a different section"
-#~ msgstr "la instrucción MIPS16 relativa a PC referencía a una sección diferente"
-
-#~ msgid "Branch out of range"
-#~ msgstr "Ramificación fuera de rango"
-
-#~ msgid "%s isa does not support 64-bit registers"
-#~ msgstr "isa %s no admite registros de 64-bit"
-
-#~ msgid "%s isa does not support 64-bit floating point registers"
-#~ msgstr "isa %s no admite registros de coma flotante de 64-bit"
-
-#~ msgid "%s ISA does not support SmartMIPS ASE"
-#~ msgstr "ISA %s no admite SmartMIPS ASE"
-
-#~ msgid "Bad .frame directive"
-#~ msgstr "Directiva .frame errónea"
-
-#~ msgid "Known MCU names:\n"
-#~ msgstr "Nombres MCU conocidos:\n"
-
-#~ msgid "\t %s\n"
-#~ msgstr "\t %s\n"
-
-#~ msgid "redefinition of mcu type %s' to %s'"
-#~ msgstr "redefinición del tipo de mcu %s' a %s'"
-
-#~ msgid ""
-#~ "MSP430 options:\n"
-#~ " -mmcu=[msp430-name] select microcontroller type\n"
-#~ " msp430x110 msp430x112\n"
-#~ " msp430x1101 msp430x1111\n"
-#~ " msp430x1121 msp430x1122 msp430x1132\n"
-#~ " msp430x122 msp430x123\n"
-#~ " msp430x1222 msp430x1232\n"
-#~ " msp430x133 msp430x135\n"
-#~ " msp430x1331 msp430x1351\n"
-#~ " msp430x147 msp430x148 msp430x149\n"
-#~ " msp430x155 msp430x156 msp430x157\n"
-#~ " msp430x167 msp430x168 msp430x169\n"
-#~ " msp430x1610 msp430x1611 msp430x1612\n"
-#~ " msp430x311 msp430x312 msp430x313 msp430x314 msp430x315\n"
-#~ " msp430x323 msp430x325\n"
-#~ " msp430x336 msp430x337\n"
-#~ " msp430x412 msp430x413 msp430x415 msp430x417\n"
-#~ " msp430xE423 msp430xE425 msp430E427\n"
-#~ " msp430xW423 msp430xW425 msp430W427\n"
-#~ " msp430xG437 msp430xG438 msp430G439\n"
-#~ " msp430x435 msp430x436 msp430x437\n"
-#~ " msp430x447 msp430x448 msp430x449\n"
-#~ msgstr ""
-#~ "Opciones de MSP430:\n"
-#~ " -mmcu=[nombre-msp430] selecciona el tipo de microcontrolador\n"
-#~ " msp430x110 msp430x112\n"
-#~ " msp430x1101 msp430x1111\n"
-#~ " msp430x1121 msp430x1122 msp430x1132\n"
-#~ " msp430x122 msp430x123\n"
-#~ " msp430x1222 msp430x1232\n"
-#~ " msp430x133 msp430x135\n"
-#~ " msp430x1331 msp430x1351\n"
-#~ " msp430x147 msp430x148 msp430x149\n"
-#~ " msp430x155 msp430x156 msp430x157\n"
-#~ " msp430x167 msp430x168 msp430x169\n"
-#~ " msp430x1610 msp430x1611 msp430x1612\n"
-#~ " msp430x311 msp430x312 msp430x313 msp430x314 msp430x315\n"
-#~ " msp430x323 msp430x325\n"
-#~ " msp430x336 msp430x337\n"
-#~ " msp430x412 msp430x413 msp430x415 msp430x417\n"
-#~ " msp430xE423 msp430xE425 msp430E427\n"
-#~ " msp430xW423 msp430xW425 msp430W427\n"
-#~ " msp430xG437 msp430xG438 msp430G439\n"
-#~ " msp430x435 msp430x436 msp430x437\n"
-#~ " msp430x447 msp430x448 msp430x449\n"
-
-#~ msgid "MSP430 does not have %d registers"
-#~ msgstr "MSP430 no tiene %d registros"
-
-#~ msgid "unknown operator (r%s substituted as a register name"
-#~ msgstr "operador desconocido (se sustituyó r%s como un nombre de registro"
-
-#~ msgid "unknown operator %s"
-#~ msgstr "operador %s desconocido"
-
-#~ msgid "unknown addressing mode for operand %s"
-#~ msgstr "modo de direccionamiento desconocido para el operando %s"
-
-#~ msgid "unknown opcode1: `%s'"
-#~ msgstr "código de operación1 desconocido: `%s'"
-
-#~ msgid "unknown opcode2 `%s'."
-#~ msgstr "código de operación2 `%s' desconocido."
-
-#~ msgid "too many operands: %s"
-#~ msgstr "demasiados operandos: %s"
-
-#~ msgid "call/jmp target out of range (1)"
-#~ msgstr "objetivo call/jmp fuera de rango (1)"
-
-#~ msgid "call/jmp target out of range (2)"
-#~ msgstr "objetivo call/jmp fuera de rango (2)"
-
-#~ msgid "bad relocation type: 0x%02x"
-#~ msgstr "tipo de reubicación erróneo: 0x%02x"
-
-#~ msgid "%s (%08lx %08lx) after %s (%08lx %08lx)"
-#~ msgstr "%s (%08lx %08lx) después de %s (%08lx %08lx)"
-
-#~ msgid "cannot emit PC relative %s relocation against %s"
-#~ msgstr "no se puede emitir la reubicación %s relativa a PC contra %s"
-
-#~ msgid "Unable to handle reference to symbol %s"
-#~ msgstr "No se puede manejar la referencia al símbolo %s"
-
-#~ msgid "Unable to resolve expression"
-#~ msgstr "No se puede resolver la expresión"
-
-#~ msgid "must branch to an address a multiple of 4"
-#~ msgstr "se debe ramificar a una dirección que sea múltiplo de 4"
-
-#~ msgid "@local or @plt branch destination is too far away, %ld bytes"
-#~ msgstr "el destino de la ramificación @local o @plt está demasiado lejos, %ld bytes"
-
-#~ msgid " -SCORE7\t\tassemble code for target is SCORE7, this is default setting\n"
-#~ msgstr " -SCORE7\t\tensambla código para el objetivo SCORE7, esta es la opción por defecto\n"
-
-#~ msgid " -march=score7\tassemble code for target is SCORE7, this is default setting\n"
-#~ msgstr " -march=score7\tensambla código para el objetivo SCORE7, esta es la opción por defecto\n"
-
-#~ msgid ": unrecognizable v9a or v9b ancillary state register"
-#~ msgstr ": no se reconoce el registro de estado ancilar v9a o v9b"
-
-#~ msgid ": rd on write only ancillary state register"
-#~ msgstr ": rd en registro de estado ancilar de sólo escritura"
-
-#~ msgid "found too many (%d) operands for '%s': Expected %d"
-#~ msgstr "se encontraron demasiados (%d) operandos para '%s': Se esperaban %d"
-
-#~ msgid "format '%s' allows %d slots, but there are %d opcodes"
-#~ msgstr "el formato '%s' permite %d ranuras, pero hay %d códigos de operación"
-
-#~ msgid "bad offset expression syntax"
-#~ msgstr "sintaxis de expresión de desplazamiento errónea"
-
-#~ msgid "bad intruction syntax"
-#~ msgstr "sintaxis de instrucción errónea"
-
-#~ msgid "opcode '%s': no bound opname '%s' for precondition in %s"
-#~ msgstr "código de operación '%s': no hay un nombre de operación '%s' enlazado para la precondición en %s"
-
-#~ msgid "expr.c(operand): bad atof_generic return val %d"
-#~ msgstr "expr.c(operando): valor de devolución %d atof_generic erróneo"
-
-#~ msgid "partial line at end of file ignored"
-#~ msgstr "se descarta la línea parcial al final del fichero"
-
-#~ msgid "Error:"
-#~ msgstr "Error:"
-
-#~ msgid "Assertion failure in %s at %s line %d.\n"
-#~ msgstr "Falla de afirmación en %s en %s línea %d.\n"
-
-#~ msgid "Assertion failure at %s line %d.\n"
-#~ msgstr "Falla de afirmación en %s línea %d.\n"
-
-#~ msgid "Internal error, aborting at %s line %d in %s\n"
-#~ msgstr "Error interno, se aborta en %s línea %d en %s\n"
-
-#~ msgid "can't write %s: %s"
-#~ msgstr "no se puede escribir %s: %s"
-
-#~ msgid "cannot write to output file '%s': %s"
-#~ msgstr "no se puede escribir al fichero de salida '%s': %s"
-
-#~ msgid "%d error%s, %d warning%s, no object file generated"
-#~ msgstr "%d errore%s, %d aviso%s, no se genera un fichero objeto"
-
-#~ msgid "Local symbol `%s' can't be equated to common symbol `%s'"
-#~ msgstr "El símbolo local `%s' no se puede igualar al símbolo común `%s'"
-
-#~ msgid "Code for %s not in range 0..1048575 (%lu)"
-#~ msgstr "El código para %s no está en el rango 0..1048575 (%lu)"
-
-#~ msgid ".size expression too complicated to fix up"
-#~ msgstr "la expresión .size es demasiado complicada para componerla"
-
-#~ msgid "Label expected"
-#~ msgstr "Se esperaba una etiqueta"
-
-#~ msgid " -matomic enable atomic operation instructions\n"
-#~ msgstr " -matomic permite instrucciones de operación atómica\n"
-
-#~ msgid " -mno-atomic disable atomic operation instructions\n"
-#~ msgstr " -mno-atomic desactiva las instrucciones de operación atómica\n"
-
-#~ msgid "invalid sections for operation on `%s' and `%s'"
-#~ msgstr "secciones inválidas para la operación en `%s' y `%s'"
-
-#~ msgid "invalid section for operation on `%s'"
-#~ msgstr "sección inválida para la operación en `%s'"
-
-#~ msgid "undefined symbol `%s' in operation setting `%s'"
-#~ msgstr "símbolo sin definir `%s' en la operación que establece `%s'"
-
-#~ msgid "invalid sections for operation on `%s' and `%s' setting `%s'"
-#~ msgstr "secciones inválidas para la operación en `%s' y `%s' que establece `%s'"
-
-#~ msgid "base register should not be in register list when written back"
-#~ msgstr "el registro base no debe estar en la lista de registros cuando se escribe hacia atrás"
-
-#~ msgid " BFIN specific command line options:\n"
-#~ msgstr " Opciones de línea de órdenes específicas de BFIN:\n"
-
-#~ msgid "ambiguous operand size or operands invalid for `%s'"
-#~ msgstr "tamaño de operando ambiguo u operandos inválidos para `%s'"
-
-#~ msgid "suffix or operands invalid for `%s'"
-#~ msgstr "sufijo u operandos inválidos para `%s'"
-
-#~ msgid ""
-#~ " -march=CPU[,+EXTENSION...]\n"
-#~ " generate code for CPU and EXTENSION, CPU is one of:\n"
-#~ " i8086, i186, i286, i386, i486, pentium, pentiumpro,\n"
-#~ " pentiumii, pentiumiii, pentium4, prescott, nocona,\n"
-#~ " core, core2, corei7, l1om, k6, k6_2, athlon, k8,\n"
-#~ " amdfam10, generic32, generic64\n"
-#~ " EXTENSION is combination of:\n"
-#~ " 8087, 287, 387, no87, mmx, nommx, sse, sse2, sse3,\n"
-#~ " ssse3, sse4.1, sse4.2, sse4, nosse, avx, noavx,\n"
-#~ " vmx, smx, xsave, movbe, ept, aes, pclmul, fma,\n"
-#~ " clflush, syscall, rdtscp, 3dnow, 3dnowa, sse4a,\n"
-#~ " svme, abm, padlock, fma4\n"
-#~ msgstr ""
-#~ " -march=CPU[,+EXTENSIÓN...]\n"
-#~ " genera código para CPU y EXTENSIÓN, CPU es uno de:\n"
-#~ " i8086, i186, i286, i386, i486, pentium, pentiumpro,\n"
-#~ " pentiumii, pentiumiii, pentium4, prescott, nocona,\n"
-#~ " core, core2, corei7, l1om, k6, k6_2, athlon, k8,\n"
-#~ " amdfam10, generic32, generic64\n"
-#~ " EXTENSION es una combinación de :\n"
-#~ " 8087, 287, 387, no87, mmx, nommx, sse, sse2, sse3,\n"
-#~ " ssse3, sse4.1, sse4.2, sse4, nosse, avx, noavx,\n"
-#~ " vmx, smx, xsave, movbe, ept, aes, pclmul, fma,\n"
-#~ " clflush, syscall, rdtscp, 3dnow, 3dnowa, sse4a,\n"
-#~ " svme, abm, padlock, fma4\n"
-
-#~ msgid ""
-#~ " -mtune=CPU optimize for CPU, CPU is one of:\n"
-#~ " i8086, i186, i286, i386, i486, pentium, pentiumpro,\n"
-#~ " pentiumii, pentiumiii, pentium4, prescott, nocona,\n"
-#~ " core, core2, corei7, l1om, k6, k6_2, athlon, k8,\n"
-#~ " amdfam10, generic32, generic64\n"
-#~ msgstr ""
-#~ " -mtune=CPU optimiza para el CPU, donde CPU es:\n"
-#~ " i8086, i186, i286, i386, i486, pentium, pentiumpro,\n"
-#~ " pentiumii, pentiumiii, pentium4, prescott, nocona,\n"
-#~ " core, core2, corei7, l1om, k6, k6_2, athlon, k8,\n"
-#~ " amdfam10, generic32, generic64\n"
-
-#~ msgid " MAXQ-specific assembler options:\n"
-#~ msgstr "Opciones de ensamblador específicas de MAXQ:\n"
-
-#~ msgid ""
-#~ "\t-MAXQ20\t\t generate obj for MAXQ20(default)\n"
-#~ "\t-MAXQ10\t\t generate obj for MAXQ10\n"
-#~ "\t"
-#~ msgstr ""
-#~ "\t-MAXQ20\t\t genera objetos para MAXQ20(por defecto)\n"
-#~ "\t-MAXQ10\t\t genera objetos para MAXQ10\n"
-#~ "\t"
-
-#~ msgid "Illegal Reloc type in md_estimate_size_before_relax for line : %d"
-#~ msgstr "Tipo de reubicación ilegal en md_estimate_size_before_relax para la línea : %d"
-
-#~ msgid "Cant make long jump/call into short jump/call : %d"
-#~ msgstr "No se puede hacer un salto/llamada long en un salto/llamada short : %d"
-
-#~ msgid "Invalid register value %s"
-#~ msgstr "Valor de registro %s inválido"
-
-#~ msgid "Invalid bit number : '%c'"
-#~ msgstr "Número de bit inválido : '%c'"
-
-#~ msgid "Invalid Character in immediate Value : %c"
-#~ msgstr "Carácter inválido en el valor inmediato : %c"
-
-#~ msgid "Invalid Character in immediate value : %c"
-#~ msgstr "Carácter inválido en el valor inmediato : %c"
-
-#~ msgid "Immediate value greater than 16 bits"
-#~ msgstr "Valor inmediato mayor a 16 bits"
-
-#~ msgid "Attempt to move a value in the stack pointer greater than the size of the stack"
-#~ msgstr "Se intenta mover un valor en el puntero de pila mayor que el tamaño de la pila"
-
-#~ msgid "Attempt to move 16 bit value into an 8 bit register.Truncating..\n"
-#~ msgstr "Se intenta mover un valor de 16 bit en un registro de 8 bit. Se trunca..\n"
-
-#~ msgid "Invalid immediate move operation"
-#~ msgstr "Operación move inmediata inválida"
-
-#~ msgid "Size of Operand '%s' greater than %d"
-#~ msgstr "El tamaño del operando '%s' es mayor que %d"
-
-#~ msgid "illegal immediate operand '%s'"
-#~ msgstr "operando inmediato '%s' ilegal"
-
-#~ msgid "illegal displacement operand "
-#~ msgstr "operando de desubicación ilegal "
-
-#~ msgid "invalid character %c in operand %d"
-#~ msgstr "carácter inválido %c en el operando %d"
-
-#~ msgid "operand %d is invalid for `%s'"
-#~ msgstr "el operando %d es inválido para `%s'"
-
-#~ msgid "The Accumulator cannot be used as a source in ALU instructions\n"
-#~ msgstr "No se puede usar el acumulador como fuente para instrucciones ALU\n"
-
-#~ msgid "'%s' operand cant be used as destination in %s"
-#~ msgstr "el operando '%s' no se puede usar como destino en %s"
-
-#~ msgid "Invalid Instruction '%s' operand cant be used with %s"
-#~ msgstr "El operando de instrucción '%s' inválido no se puede usar con %s."
-
-#~ msgid "'%s' operand cant be used as source in %s"
-#~ msgstr "el operando '%s' no se puede usar como fuente en %s"
-
-#~ msgid "@SP-- cannot be used with PUSH\n"
-#~ msgstr "@SP-- no se puede usar con PUSH\n"
-
-#~ msgid "Operands either contradictory or use the data bus in read/write state together"
-#~ msgstr "Los operandos son contradictorios o usan juntos el bus de datos en estado lectura/escritura"
-
-#~ msgid "MOVE Cant Use NUL as SRC"
-#~ msgstr "MOVE no puede usar NUL como SRC"
-
-#~ msgid "Contradictory movement between DP register and memory access using DP"
-#~ msgstr "Movimiento contradictorio entre el registro DP y el acceso a memoria que usa DP"
-
-#~ msgid "SP and @SP-- cannot be used together in a move instruction"
-#~ msgstr "SP y @SP-- no se pueden usar juntos en una instrucción move"
-
-#~ msgid "Only Module 8 system registers allowed in this operation"
-#~ msgstr "Sólo se permiten registros de sistema Module 8 en esta operación"
-
-#~ msgid "Read only Register used as destination"
-#~ msgstr "Se usa un registro de sólo lectura como destino"
-
-#~ msgid "Bit No '%d'exceeds register size in this operation"
-#~ msgstr "El bit No. '%d' excede el tamaño del registro en esta operación"
-
-#~ msgid "Bit No '%d' exceeds register size in this operation"
-#~ msgstr "El bit No. '%d' excede el tamaño del registro en esta operación"
-
-#~ msgid "Memory References cannot be used with branching operations\n"
-#~ msgstr "Las referencias de memoria no se pueden usar con operaciones de ramificación\n"
-
-#~ msgid "DJNZ uses only LC[n] register \n"
-#~ msgstr "DJNZ sólo usa registros LC[n] \n"
-
-#~ msgid "'%s' operand cant be used as destination in %s"
-#~ msgstr "el operando '%s' no se puede usar como destino en %s"
-
-#~ msgid "Read only register used for writing purposes '%s'"
-#~ msgstr "Se usó un registro de sólo lectura pra própositos de escritura '%s'"
-
-#~ msgid "Invalid destination for this kind of source."
-#~ msgstr "Destino inválido para tipo de fuente."
-
-#~ msgid "Invalid register as destination for this kind of source.Only data pointers can be used."
-#~ msgstr "Registro inválido como destino para este tipo de fuente. Sólo se pueden usan punteros a datos"
-
-#~ msgid "Invalid Instruction"
-#~ msgstr "Instrucción inválida"
-
-#~ msgid "Cannot allocate memory"
-#~ msgstr "No se puede asignar memoria"
-
-#~ msgid "Internal Error: Illegal Architecure specified"
-#~ msgstr "Error interno: se especificó una arquitectura ilegal"
-
-#~ msgid "Invalid architecture type"
-#~ msgstr "Tipo de arquitectura inválido"
-
-#~ msgid "Internal Error : Can't Hash %s : %s"
-#~ msgstr "Error Interno: No se puede dispersar %s : %s"
-
-#~ msgid "Ineffective insntruction %s \n"
-#~ msgstr "Insn %s no es efectiva \n"
-
-#~ msgid "Bad .section directive: want a,e,w,x,M,S,G,T in string"
-#~ msgstr "Directiva .section errónea: se quiere a,e,w,x,M,S,G,T en la cadena"
-
-#~ msgid "PSW cannot be included in list"
-#~ msgstr "PSW no se puede incluir en la lista"
-
-#~ msgid "High value system registers cannot be included in list"
-#~ msgstr "Los registros altos de valores del sistema no se pueden incluir en la lista"
-
-#~ msgid " -mv850any The code is generic, despite any processor specific instructions\n"
-#~ msgstr " -mv850any El código es genérico, a pesar de cualquier instrucción específica de procesador\n"
-
-#~ msgid "cannot represent subtraction with an offset"
-#~ msgstr "no se puede representar la sustracción con un desplazamiento"
-
-#~ msgid "Unknown section directive"
-#~ msgstr "Directiva de sección desconocida"
-
-#~ msgid "PC is not a valid index register"
-#~ msgstr "PC no es un registro índice válido"
-
-#~ msgid "invalid operand for '%s' ('%s' unexpected)"
-#~ msgstr "operando inválido para '%s' ('%s' inesperado)"
-
-#~ msgid "too many memory references for '%s'"
-#~ msgstr "demasiadas referencias a memoria para '%s'"
-
-#~ msgid "Treating `%s' as memory reference"
-#~ msgstr "Se trata `%s' como una referencia de memoria"
-
-#~ msgid "Segment override ignored"
-#~ msgstr "Se descarta la sobreescritura de segmento"
-
-#~ msgid "Unknown operand modifier `%s'"
-#~ msgstr "Modificador de operando `%s' desconocido"
-
-#~ msgid "Conflicting operand modifiers"
-#~ msgstr "Modificadores de operando en conflicto"
-
-#~ msgid "Invalid operand to `OFFSET'"
-#~ msgstr "Operando inválido para `OFFSET'"
-
-#~ msgid "`[%.*s]' taken to mean just `%.*s'"
-#~ msgstr "se toma `[%.*s]' y sólo significa `%.*s'"
-
-#~ msgid "`%s' is not a valid segment register"
-#~ msgstr "`%s' no es un registro de segmento válido"
-
-#~ msgid "cannot use `FLAT' here"
-#~ msgstr "no se puede usar `FLAT' aquí"
-
-#~ msgid "Register scaling only allowed in memory operands"
-#~ msgstr "El escalamiento de registros sólo se permite en operandos de memoria"
-
-#~ msgid "Syntax error: Expecting a constant, got `%s'"
-#~ msgstr "Error sintáctico: Se esperaba una constante, se obtuvo `%s'"
-
-#~ msgid "Unrecognized token '%s'"
-#~ msgstr "No se reconoce el elemento '%s'"
-
-#~ msgid "Unexpected token `%s'"
-#~ msgstr "Elemento `%s' inesperado"
-
-#~ msgid "Unrecognized token `%s'"
-#~ msgstr "No se reconoce el elemento `%s'"
-
-#~ msgid "-32 is supported for ELF format only"
-#~ msgstr "-32 sólo se admite en el formato ELF"
-
-#~ msgid "the label length is longer than 1024"
-#~ msgstr "la longitud de la etiqueta es mayor que 1024"
-
-#~ msgid "high register(r16-r31)expected, not '%.100s'"
-#~ msgstr "se esperaba un register(r16-r31) high, no '%.100s'"
-
-#~ msgid "base register nums are over 3 bit"
-#~ msgstr "los números del registro base están sobre 3 bit"
-
-#~ msgid "invalid constant: 25 bit expression not in range -2^24..2^24"
-#~ msgstr "constante inválida: la expresión de 15 bit no está en el rango -2^24..2^24"
-
-#~ msgid " branch relocation truncate (0x%x) [-2^8 ~ 2^8]"
-#~ msgstr " la reubicación de ramificación trunca (0x%x) [-2^8 ~ 2^8]"
-
-#~ msgid " branch relocation truncate (0x%x) [-2^8 ~ 2^8]"
-#~ msgstr " la reubicación de ramificación trunca (0x%x) [-2^8 ~ 2^8]"
-
-#~ msgid "md_convert_frag\n"
-#~ msgstr "md_convert_frag\n"
-
-#~ msgid "selected processor does not support requested special purpose register %x"
-#~ msgstr "el procesador seleccionado no admite el registro de propósito especial %x"
-
-#~ msgid "offset too big"
-#~ msgstr "desplazamiento demasiado grande"
-
-#~ msgid ""
-#~ "AVR options:\n"
-#~ " -mmcu=[avr-name] select microcontroller variant\n"
-#~ " [avr-name] can be:\n"
-#~ " avr1 - AT90S1200, ATtiny1x, ATtiny28\n"
-#~ " avr2 - AT90S2xxx, AT90S4xxx, AT90S8xxx, ATtiny22\n"
-#~ " avr3 - ATmega103, ATmega603\n"
-#~ " avr4 - ATmega83, ATmega85\n"
-#~ " avr5 - ATmega161, ATmega163, ATmega32, AT94K\n"
-#~ " or immediate microcontroller name.\n"
-#~ msgstr ""
-#~ "Opciones AVR:\n"
-#~ " -mmcu=[nombre-avr] escoge la variante de microcontrolador\n"
-#~ " [nombre-avr] puede ser:\n"
-#~ " avr1 - AT90S1200, ATtiny1x, ATtiny28\n"
-#~ " avr2 - AT90S2xxx, AT90S4xxx, AT90S8xxx, ATtiny22\n"
-#~ " avr3 - ATmega103, ATmega603\n"
-#~ " avr4 - ATmega83, ATmega85\n"
-#~ " avr5 - ATmega161, ATmega163, ATmega32, AT94K\n"
-#~ " o el nombre inmediato del microcontrolador.\n"
-
-#~ msgid "expression dangerous with linker stubs"
-#~ msgstr "expresión peligrosa con cabos de enlazado"
-
-#~ msgid "-mgpr-32 Note 32 gprs are used\n"
-#~ msgstr "-mgpr-32 Se usa nota de 32 gprs\n"
-
-#~ msgid "-mgpr-64 Note 64 gprs are used\n"
-#~ msgstr "-mgpr-64 Se usa nota de 64 gprs\n"
-
-#~ msgid "-mfpr-32 Note 32 fprs are used\n"
-#~ msgstr "-mfpr-32 Se usa nota de 32 fprs\n"
-
-#~ msgid "-mfpr-64 Note 64 fprs are used\n"
-#~ msgstr "-mfpr-64 Se usa nota de 64 fprs\n"
-
-#~ msgid "-msoft-float Note software fp is used\n"
-#~ msgstr "-msoft-float Se usa nota de fp de software\n"
-
-#~ msgid "-mdword Note stack is aligned to a 8 byte boundary\n"
-#~ msgstr "-mdword La pila de nota está alineada a un límite de 8 byte\n"
-
-#~ msgid "-mno-dword Note stack is aligned to a 4 byte boundary\n"
-#~ msgstr "-mno-dword La pila de nota está alineada a un límite de 4 byte\n"
-
-#~ msgid "-mdouble Note fp double insns are used\n"
-#~ msgstr "-mdouble Se usan insns nota de fp doble\n"
-
-#~ msgid "-mmedia Note media insns are used\n"
-#~ msgstr "-mmedia Se usan insns nota media\n"
-
-#~ msgid "-mpack Note instructions are packed\n"
-#~ msgstr "-mpack Las instrucciones nota están empaquetadas\n"
-
-#~ msgid "no instruction mnemonic suffix given; can't determine immediate size %x %c"
-#~ msgstr "no se dio un sufijo mnemónico de instrucción; no se puede determinar el tamaño inmediato %x %c"
-
-#~ msgid "`:' expected"
-#~ msgstr "se esperaba `:'"
-
-#~ msgid "i860_estimate_size_before_relax\n"
-#~ msgstr "i860_estimate_size_before_relax\n"
-
-#~ msgid "i860_convert_frag\n"
-#~ msgstr "i860_convert_frag\n"
-
-#~ msgid "md_pcrel_from\n"
-#~ msgstr "md_pcrel_from\n"
-
-#~ msgid "ColdFire ISA_A"
-#~ msgstr "ISA_A de ColdFire"
-
-#~ msgid "ColdFire ISA_A+"
-#~ msgstr "ISA_A+ de ColdFire"
-
-#~ msgid "ColdFire ISA_B"
-#~ msgstr "ISA_B de ColdFire"
-
-#~ msgid "ColdFire fpu"
-#~ msgstr "unidad de coma flotante de ColdFire"
-
-#~ msgid "M68K fpu"
-#~ msgstr "unidad de coma flotante de M68K"
-
-#~ msgid "M68K mmu"
-#~ msgstr "mmu de M68K"
-
-#~ msgid "68000 or higher"
-#~ msgstr "68000 o superior"
-
-#~ msgid "68010 or higher"
-#~ msgstr "68010 o superior"
-
-#~ msgid "already selected `%s' processor"
-#~ msgstr "ya se seleccionó el procesador `%s'"
-
-#~ msgid "already selected `%s' architecture"
-#~ msgstr "ya se seleccionó la arquitectura `%s'"
-
-#~ msgid "INSTR_LABEL_DEF not supported yet"
-#~ msgstr "INSTR_LABEL_DEF aún no se admite"
-
-#~ msgid "internal error: relaxation requires too many steps"
-#~ msgstr "error interno: la relajación requiere demasiados pasos"
-
-#~ msgid "can't allocate ELF private section data: %s"
-#~ msgstr "no se puede crear la sección de datos privados ELF: %s"
-
-#~ msgid "Out of step\n"
-#~ msgstr "Fuera del paso\n"
-
-#~ msgid "too many sections"
-#~ msgstr "demasiadas secciones"
-
-#~ msgid "FATAL: Can't create %s"
-#~ msgstr "FATAL: No se puede crear %s"
-
-#~ msgid "Thumb does not support the ldr =N pseudo-operation"
-#~ msgstr "Thumb no tiene soporte para la pseudo-operación ldr =N"
-
-#~ msgid "SP should not be in register list"
-#~ msgstr "SP no debe estar en la lista de registros"
-
-#~ msgid "PC should not be in register list"
-#~ msgstr "PC no debe estar en la lista de registros"
-
-#~ msgid "bad immediate value for half-word offset (%ld)"
-#~ msgstr "valor inmediato erróneo para el desplazamiento half-word (%ld)"
-
-#~ msgid ""
-#~ " -Q ignored\n"
-#~ " -V print assembler version number\n"
-#~ " -k ignored\n"
-#~ " -n Do not optimize code alignment\n"
-#~ " -q quieten some warnings\n"
-#~ " -s ignored\n"
-#~ msgstr ""
-#~ " -Q ignorado\n"
-#~ " -V muestra el número de versión del ensamblador\n"
-#~ " -k ignorado\n"
-#~ " -n No optimiza la alineación de código\n"
-#~ " -q omite algunos avisos\n"
-#~ " -s ignorado\n"
-
-#~ msgid "Using register names in OFFSET expressions is deprecated"
-#~ msgstr "El uso de nombres de registro en expresiones OFFSET es obsoleto"
-
-#~ msgid " or "
-#~ msgstr " o "
-
-#~ msgid ", or "
-#~ msgstr ", o "
-
-#~ msgid ", or aliases"
-#~ msgstr ", o los aliases"
-
-#~ msgid "fpu (68040, 68060 or 68881/68882)"
-#~ msgstr "fpu (68040, 68060 o 68881/68882)"
-
-#~ msgid "mmu (68030 or 68851)"
-#~ msgstr "mmu (68030 o 68851)"
-
-#~ msgid "Can't use long branches on 68000/68010/5200"
-#~ msgstr "No se pueden usar ramificaciones long en 68000/68010/5200"
-
-#~ msgid "architecture not yet selected: defaulting to 68020"
-#~ msgstr "no se ha seleccionado una arquitectura: cambiando por defecto a 68020"
-
-#~ msgid "options for 68881 and no-68881 both given"
-#~ msgstr "se dieron opciones para 68881 y para no-68881"
-
-#~ msgid "options for 68851 and no-68851 both given"
-#~ msgstr "se dieron opciones para 68851 y para no-68851"
-
-#~ msgid "unrecognized architecture specification `%s'"
-#~ msgstr "no se reconoce la especificación de arquitectura `%s'"
-
-#~ msgid ""
-#~ "680X0 options:\n"
-#~ "-l\t\t\tuse 1 word for refs to undefined symbols [default 2]\n"
-#~ "-m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 |\n"
-#~ "-m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360 | -mcpu32 |\n"
-#~ "-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m521x | -m5249 |\n"
-#~ "-m528x | -m5307 | -m5407 | -m547x | -m548x | -mcfv4 | -mcfv4e\n"
-#~ "\t\t\tspecify variant of 680X0 architecture [default %s]\n"
-#~ "-m68881 | -m68882 | -mno-68881 | -mno-68882\n"
-#~ "\t\t\ttarget has/lacks floating-point coprocessor\n"
-#~ "\t\t\t[default yes for 68020, 68030, and cpu32]\n"
-#~ msgstr ""
-#~ "Opciones de 680X0:\n"
-#~ "-l\t\t\tusa 1 word para referencias a símbolos indefinidos [por defecto 2]\n"
-#~ "-m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 |\n"
-#~ "-m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -m68360 | -mcpu32 |\n"
-#~ "-m5200 | -m5202 | -m5204 | -m5206 | -m5206e | -m521x | -m5249 |\n"
-#~ "-m528x | -m5307 | -m5407 | -m547x | -m548x | -mcfv4 | -mcfv4e\n"
-#~ "\t\t\tespecifica la variación de la arquitectura 680X0 [por defecto %s]\n"
-#~ "-m68881 | -m68882 | -mno-68881 | -mno-68882\n"
-#~ "\t\t\tel objetivo tiene un/carece de coprocesador de coma flotante\n"
-#~ "\t\t\t[por defecto sí para 68020, 68030, y cpu32]\n"
-
-#~ msgid ""
-#~ "--base-size-default-16\tbase reg without size is 16 bits\n"
-#~ "--base-size-default-32\tbase reg without size is 32 bits (default)\n"
-#~ "--disp-size-default-16\tdisplacement with unknown size is 16 bits\n"
-#~ "--disp-size-default-32\tdisplacement with unknown size is 32 bits (default)\n"
-#~ msgstr ""
-#~ "--base-size-default-16\tel registro base sin tamaño es de 16 bits\n"
-#~ "--base-size-default-32\tel registro base sin tamaño es de 32 bits (por defecto)\n"
-#~ "--disp-size-default-16\tla desubicación de tamaño desconocido es de 16 bits\n"
-#~ "--disp-size-default-32\tla desubicación de tamaño desconocido es de 32 bits (por defecto)\n"
-
-#~ msgid "Illegal break code (%lu)"
-#~ msgstr "Código de interrupción ilegal (%lu)"
-
-#~ msgid "Illegal lower break code (%lu)"
-#~ msgstr "Código de interrupción inferior ilegal (%lu)"
-
-#~ msgid "Illegal 20-bit code (%lu)"
-#~ msgstr "Código de 20-bit ilegal (%lu)"
-
-#~ msgid "Invalid condition code register $fcc%d"
-#~ msgstr "Registro de código de condición $fcc%d inválido"
-
-#~ msgid "Cannot branch to undefined symbol."
-#~ msgstr "No se puede ramificar hacia un símbolo indefinido."
-
-#~ msgid "Pretending global symbol used as branch target is local."
-#~ msgstr "Pretender que se use un símbolo global como objetivo de ramificación es local."
-
-#~ msgid "Branch to odd address (%lx)"
-#~ msgstr "Ramificación a una dirección impar (%lx)"
-
-#~ msgid "expected `$'"
-#~ msgstr "se esperaba `$'"
-
-#~ msgid "entry instruction with non-constant decrement"
-#~ msgstr "instrucción entry con decremento que no es constante"
-
-#~ msgid "opcodes '%s' (slot %d) and '%s' (slot %d) write the same queue"
-#~ msgstr "los códigos de operación '%s' (ranura %d) y '%s' (ranura %d) escriben en la misma cola"
-
-#~ msgid "invalid flag combination on section %s"
-#~ msgstr "combinación de opciones inválida en la sección %s"
-
-#~ msgid "cannot encode opcode"
-#~ msgstr "no se codificar el código de operación"
-
-#~ msgid "invalid expression for operand %d on '%s'"
-#~ msgstr "expresión inválida para el operando %d en '%s'"
-
-#~ msgid "Can't close %s"
-#~ msgstr "No se puede cerrar %s"
-
-#~ msgid "can't open list file: %s"
-#~ msgstr "no se puede abrir el fichero de lista: %s"
-
-#~ msgid "error closing list file: %s"
-#~ msgstr "error al cerrar el fichero de lista: %s"
-
-#~ msgid "FATAL: can't create %s"
-#~ msgstr "FATAL: no se puede crear %s"
-
-#~ msgid "FATAL: can't close %s\n"
-#~ msgstr "FATAL: no se puede cerrar %s\n"
-
-#~ msgid "FATAL: Can't write %s"
-#~ msgstr "FATAL: No se puede escribir %s"
-
-#~ msgid "end of file in string; inserted '\"'"
-#~ msgstr "fin de fichero en la cadena; se insertó '\"'"
-
-#~ msgid "GNU assembler version %s (%s)"
-#~ msgstr "GNU ensamblador versión %s (%s)"
-
-#~ msgid "unresolved relocation"
-#~ msgstr "reubicación sin resolver"
-
-#~ msgid "bad relocation: symbol `%s' not in symbol table"
-#~ msgstr "reubicación errónea: el símbolo `%s' no está en la tabla de símbolos"
-
-#~ msgid "Local symbol %s never defined."
-#~ msgstr "El símbolo local %s nunca se definió."
-
-#~ msgid "Local symbol %s never defined"
-#~ msgstr "El símbolo local %s nunca se definió"
-
-#~ msgid "bfd_coff_swap_scnhdr_out failed"
-#~ msgstr "falló bfd_coff_swap_scnhdr_out"
-
-#~ msgid "Too many new sections; can't add \"%s\""
-#~ msgstr "Demasiadas secciones nuevas; no se puede agregar \"%s\""
-
-#~ msgid "Negative of non-absolute symbol %s"
-#~ msgstr "Negativo de un símbolo %s que no es absoluto"
-
-#~ msgid "callj to difference of 2 symbols"
-#~ msgstr "callj para diferenciar a 2 símbolos"
-
-#~ msgid "Can't emit reloc {- %s-seg symbol \"%s\"} @ file address %ld."
-#~ msgstr "No se puede emitir la reubicación {- %s-seg símbolo \"%s\"} @ dirección del fichero %ld."
-
-#~ msgid "Value of %ld too large for field of %d bytes at 0x%lx"
-#~ msgstr "El valor de %ld es demasiado grande para el campo de %d bytes en 0x%lx"
-
-#~ msgid "Signed .word overflow; switch may be too large; %ld at 0x%lx"
-#~ msgstr "Desbordamiento con signo de .word; el interruptor puede ser demasiado grande; %ld en 0x%lx"
-
-#~ msgid "compiler emitted zero-size common symbol `%s' already defined"
-#~ msgstr "el símbolo común de tamaño cero emitido por el compilador `%s' ya está definido"
-
-#~ msgid "compiler redefined zero-size common symbol `%s'"
-#~ msgstr "símbolo común de tamaño cero `%s' redefinido por el compilador"
-
-#~ msgid "Couldn't create VMS object file \"%s\""
-#~ msgstr "No se puede crear el fichero objeto VMS \"%s\""
-
-#~ msgid "I/O error writing VMS object file (length prefix)"
-#~ msgstr "Error de E/S al escribir el fichero objeto VMS (longitud del prefijo)"
-
-#~ msgid "I/O error writing VMS object file"
-#~ msgstr "Error de E/S al escribir el fichero objeto VMS"
-
-#~ msgid "Couldn't find source file \"%s\", status=%%X%x"
-#~ msgstr "No se puede encontrar el fichero fuente \"%s\", estado=%%X%x"
-
-#~ msgid "debugger forward reference error, dbx type %d"
-#~ msgstr "error de referencia hacia adelante del depurador, tipo dbx %d"
-
-#~ msgid "Variable descriptor %d too complicated. Defined as `void *'."
-#~ msgstr "El descriptor de variable %d es demasiado complicado. Se define como `void *'."
-
-#~ msgid ""
-#~ "***Warning - the assembly code generated by the compiler has placed \n"
-#~ " global constant(s) in the text psect. These will not be available to \n"
-#~ " other modules, since this is not the correct way to handle this. You \n"
-#~ " have two options: 1) get a patched compiler that does not put global \n"
-#~ " constants in the text psect, or 2) remove the 'const' keyword from \n"
-#~ " definitions of global variables in your source module(s). Don't say \n"
-#~ " I didn't warn you! \n"
-#~ msgstr ""
-#~ "***Aviso - el código ensamblador generado por el compilador ha colocado \n"
-#~ " constante(s) global(es) en la psect de texto. Éstas no estarán disponibles \n"
-#~ " para otros módulos, ya que no es la forma correcta de manejarlo. Tiene \n"
-#~ " dos opciones: 1) obtener un compilador parchado que no coloque constantes \n"
-#~ " globales en la psect de texto, o 2) quitar la palabra clave 'const' de \n"
-#~ " las definiciones de las variables globales en el(los) módulo(s) fuente. \n"
-#~ " ¡No diga que no se le advirtió! \n"
-
-#~ msgid "debugginer output: %d is an unknown untyped variable."
-#~ msgstr "salida del depurador: %d es una variable sin tipo desconocido."
-
-#~ msgid "debugger output: structure element `%s' has undefined type"
-#~ msgstr "salida del depurador: el elmento de la estructura `%s' tiene un tipo indefinido"
-
-#~ msgid "debugger output: %d is an unknown type of variable."
-#~ msgstr "salida del depurador: %d es un tipo desconocido de variable."
-
-#~ msgid "debugger output: Unable to resolve %d circular references."
-#~ msgstr "salida del depurador: No se pueden resolver %d referencias circulares."
-
-#~ msgid "Module name truncated: %s\n"
-#~ msgstr "Nombre de módulo truncado: %s\n"
-
-#~ msgid "Symbol %s replaced by %s\n"
-#~ msgstr "El símbolo %s se reemplazó por %s\n"
-
-#~ msgid "Unknown VMS psect type (%ld)"
-#~ msgstr "Tipo psect VMS desconocido (%ld)"
-
-#~ msgid "Globalsymbol attribute for symbol %s was unexpected."
-#~ msgstr "El atributo de globalsymbol para el símbolo %s era inesperado."
-
-#~ msgid "Invalid globalvalue of %s"
-#~ msgstr "Globalvalue inválido de %s"
-
-#~ msgid "Fixup data addsy and subsy don't have the same type"
-#~ msgstr "Los datos de compostura addsy y subsy no tienen el mismo tipo"
-
-#~ msgid "Fixup data addsy and subsy don't have an appropriate type"
-#~ msgstr "Los datos de compostura addsy y subsy no tienen un tipo apropiado"
-
-#~ msgid "Fixup data is erroneously \"pcrel\""
-#~ msgstr "Los datos de compostura son \"pcrel\" erróneamente"
-
-#~ msgid "Fixup datum is not a longword"
-#~ msgstr "El dato de compostura no es un longword"
-
-#~ msgid "Fixup datum is not \"fixP->fx_addsy\""
-#~ msgstr "El dato de compostura no es \"fixP->fx_addsy\""
-
-#~ msgid "unhandled stab type %d"
-#~ msgstr "tipo de cabo %d sin manejar"
-
-#~ msgid "need %o3\n"
-#~ msgstr "se necesita %o3\n"
-
-#~ msgid "a29k_convert_frag\n"
-#~ msgstr "a29k_convert_frag\n"
-
-#~ msgid "a29k_estimate_size_before_relax\n"
-#~ msgstr "a29k_estimate_size_before_relax\n"
-
-#~ msgid "Invalid register in & expression"
-#~ msgstr "Registro inválido en la expresión &"
-
-#~ msgid "Intel Wireless MMX technology register expected"
-#~ msgstr "se esperaba un registro de tecnología Intel Inalámbrico MMX"
-
-#~ msgid "unreq: missing hash entry for \"%s\""
-#~ msgstr "unreq: falta la entrada de hash para \"%s\""
-
-#~ msgid ".unreq: unrecognized symbol \"%s\""
-#~ msgstr ".unreq: no se reconoce el símbolo \"%s\""
-
-#~ msgid "bad_segment"
-#~ msgstr "segmento_erróneo"
-
-#~ msgid "Intel Wireless MMX technology register expected, not '%.100s'"
-#~ msgstr "se esperaba un registro de tecnología Intel Inalámbrica MMX, no '%.100s'"
-
-#~ msgid "illegal co-processor number"
-#~ msgstr "número de co-procesador ilegal"
-
-#~ msgid "immediate co-processor expression too large"
-#~ msgstr "expresión de co-procesador inmediata demasiado grande"
-
-#~ msgid "comma expected after closing square bracket"
-#~ msgstr "se esperaba una coma después del paréntesis cuadrado que cierra"
-
-#~ msgid "'option' field too large"
-#~ msgstr "campo 'option' demasiado grande"
-
-#~ msgid "non-constant expressions for 'option' field not supported"
-#~ msgstr "no hay soporte para expresiones no constantes para el campo 'option'"
-
-#~ msgid "# or { expected after comma"
-#~ msgstr "se esperaba # o { después de la coma"
-
-#~ msgid "Invalid NOP hint"
-#~ msgstr "Pista NOP inválida"
-
-#~ msgid "comma missing after psr flags"
-#~ msgstr "falta una coma después de las opciones psr"
-
-#~ msgid "only a register or immediate value can follow a psr flag"
-#~ msgstr "sólo un registro o un valor inmediato puede seguir a una opción psr"
-
-#~ msgid "address offset too large"
-#~ msgstr "dirección de desplazamiento demasiado grande"
-
-#~ msgid "Warning: instruction unpredictable when using r15"
-#~ msgstr "Aviso: la instrucción es impredecible cuando se utiliza r15"
-
-#~ msgid "Rd equal to Rm or Rn yields unpredictable results"
-#~ msgstr "Rd igual a Rm o Rn produce resultados impredecibles"
-
-#~ msgid "shift requires register or #expression"
-#~ msgstr "el desplazamiento requiere un registro o una #expresión"
-
-#~ msgid "shift requires #expression"
-#~ msgstr "el desplazamiento requiere una #expresión"
-
-#~ msgid "shift of 0 ignored."
-#~ msgstr "se ignora un desplazamiento de 0."
-
-#~ msgid "missing endian specifier"
-#~ msgstr "falta el especificador endian"
-
-#~ msgid "rotation can be 8, 16, 24 or 0 when field is ommited"
-#~ msgstr "rotation puede ser 8, 16, 24 o 0 cuando se omite el campo"
-
-#~ msgid "no 'a', 'i', or 'f' flags for 'cps'"
-#~ msgstr "no hay opciones 'a', 'i', o 'f' para 'cps'"
-
-#~ msgid "conditional execution not supported with control register"
-#~ msgstr "la ejecución condicional no tiene soporte con un registro de control"
-
-#~ msgid "pre/post-indexing used when modified address register is destination"
-#~ msgstr "se usó pre/post-indizado cuando el registro de dirección modificado es el destino"
-
-#~ msgid "ldrd destination registers must not overlap index register"
-#~ msgstr "los registros destino ldrd no deben quedar sobre el registro índice"
-
-#~ msgid "floating point register or immediate expression expected"
-#~ msgstr "se esperaba un registro de coma flotante o una expresión inmediata"
-
-#~ msgid "address expected"
-#~ msgstr "se esperaba una dirección"
-
-#~ msgid "post-indexed expression expected"
-#~ msgstr "se esperaba una expresión post-indizada"
-
-#~ msgid "constant value required for number of registers"
-#~ msgstr "se requiere un valor constante para el número de registros"
-
-#~ msgid "subtract valid only on lo regs"
-#~ msgstr "subtract válido sólo en registros lo"
-
-#~ msgid "invalid immediate value for stack adjust"
-#~ msgstr "valor inmediato inválido para el ajuste de la pila"
-
-#~ msgid "invalid immediate for address calculation"
-#~ msgstr "inmediato inválido para el cálculo de dirección"
-
-#~ msgid "invalid base register in load/store"
-#~ msgstr "registro base inválido en carga/almacenamiento"
-
-#~ msgid "offset expected"
-#~ msgstr "se esperaba un desplazamiento"
-
-#~ msgid "Rs and Rd must be different in MUL"
-#~ msgstr "Rs y Rd deben ser diferentes en MUL"
-
-#~ msgid "inserted missing '!': load/store multiple always writes back base register"
-#~ msgstr "se insertó un '!' faltante: los load/store múltiples siempre escribe hacia atrás el registro base"
-
-#~ msgid "only lo-regs valid in load/store multiple"
-#~ msgstr "sólo los registros lo son válidos en carga/almacenamiento múltiple"
-
-#~ msgid "syntax: ldrs[b] Rd, [Rb, Ro]"
-#~ msgstr "sintaxis: ldrs[b] Rd, [Rb, Ro]"
-
-#~ msgid "failed to create an alias for %s, reason: %s"
-#~ msgstr "falló la creación de un alias para %s, razón: %s"
-
-#~ msgid "ignoring redefinition of register alias '%s' to non-existant register '%s'"
-#~ msgstr "se ignora la redefinición del alias de registro '%s' al registro no existente '%s'"
-
-#~ msgid "ignoring incomplete .req pseuso op"
-#~ msgstr "se ignora el pseudo operador incompleto .req"
-
-#~ msgid "GAS can't handle same-section branch dest >= 0x04000000"
-#~ msgstr "GAS no puede manejar un destino de ramificación en la misma sección >= 0x04000000"
-
-#~ msgid "out of range branch"
-#~ msgstr "ramificación fuera de rango"
-
-#~ msgid "branch with link out of range"
-#~ msgstr "ramificación con enlace fuera de rango"
-
-#~ msgid "Illegal value for co-processor offset"
-#~ msgstr "Valor ilegal para el desplazamiento del co-procesador"
-
-#~ msgid "invalid 3bit immediate"
-#~ msgstr "inmediato de 3bit inválido"
-
-#~ msgid "no operator -- statement `%s'\n"
-#~ msgstr "no hay operador -- declaración `%s'\n"
-
-#~ msgid "expected wr or wcgr"
-#~ msgstr "se esperaba wr o wcgr"
-
-#~ msgid "inconsistent register types"
-#~ msgstr "tipos de registro inconsistentes"
-
-#~ msgid "unrecognised register"
-#~ msgstr "no se reconoce el registro"
-
-#~ msgid "arm convert_frag\n"
-#~ msgstr "convert_frag de arm\n"
-
-#~ msgid "call to tc_crawl_symbol_chain \n"
-#~ msgstr "llamada a tc_crawl_symbol_chain \n"
-
-#~ msgid "call to tc_headers_hook \n"
-#~ msgstr "llamada a tc_headers_hook \n"
-
-#~ msgid ":24 not valid for this opcode"
-#~ msgstr ":24 no es válido para este código de operación"
-
-#~ msgid "expect :8,:16 or :24"
-#~ msgstr "se esperaba :8,:16 ó :24"
-
-#~ msgid "syntax error in reg list"
-#~ msgstr "error sintáctico en la lista de registros"
-
-#~ msgid "missing final register in range"
-#~ msgstr "falta el registro final en el rango"
-
-#~ msgid "expected @(exp, Rn)"
-#~ msgstr "se esperaba @(exp, Rn)"
-
-#~ msgid "@Rn+ needs word register"
-#~ msgstr "@Rn+ necesita un registro word"
-
-#~ msgid "@Rn needs word register"
-#~ msgstr "@Rn necesita un registro word"
-
-#~ msgid "operand must be absolute in range %d..%d"
-#~ msgstr "el operando debe ser absoluto en el rango %d..%d"
-
-#~ msgid "leafproc symbol '%s' undefined"
-#~ msgstr "símolo de proceso hoja '%s' indefinido"
-
-#~ msgid "Warning: making leafproc entries %s and %s both global\n"
-#~ msgstr "Aviso: haciendo globales las entradas de proceso hoja %s y %s\n"
-
-#~ msgid "Unknown PC relative instruction"
-#~ msgstr "Instrucción relativa al PC desconocida"
-
-#~ msgid "Parameter syntax error"
-#~ msgstr "Error sintáctico de parámetros"
-
-#~ msgid "Use of obsolete instruction"
-#~ msgstr "Uso de una instrucción obsoleta"
-
-#~ msgid "Expression truncated to 9 bits"
-#~ msgstr "Expresión truncada a 9 bits"
-
-#~ msgid "Removed lower 2 bits of expression"
-#~ msgstr "Se borraron los 2 bits inferiores de la expresión"
-
-#~ msgid "m88k convert_frag\n"
-#~ msgstr "m88k convert_frag\n"
-
-#~ msgid "constant too large"
-#~ msgstr "constante demasiado grande"
-
-#~ msgid "The -a option doesn't exist. (Despite what the man page says!"
-#~ msgstr "La opción -a no existe. (¡A pesar de lo que diga la página del manual!)"
-
-#~ msgid ""
-#~ "Tahoe options:\n"
-#~ "-a\t\t\tignored\n"
-#~ "-d LENGTH\t\tignored\n"
-#~ "-J\t\t\tignored\n"
-#~ "-S\t\t\tignored\n"
-#~ "-t FILE\t\t\tignored\n"
-#~ "-T\t\t\tignored\n"
-#~ "-V\t\t\tignored\n"
-#~ msgstr ""
-#~ "Opciones de Tahoe:\n"
-#~ "-a\t\t\tse ignora\n"
-#~ "-d LENGTH\t\tse ignora\n"
-#~ "-J\t\t\tse ignora\n"
-#~ "-S\t\t\tse ignora\n"
-#~ "-t FILE\t\t\tse ignora\n"
-#~ "-T\t\t\tse ignora\n"
-#~ "-V\t\t\tse ignora\n"
-
-#~ msgid "Casting a branch displacement is bad form, and is ignored."
-#~ msgstr "La conversión de una desubicación de ramificación es una forma errónea, y se ignora."
-
-#~ msgid "Couldn't find the opening '[' for the index of this operand."
-#~ msgstr "No se puede encontrar el '[' que abre para el índice de este operando."
-
-#~ msgid "Couldn't find the opening '(' for the deref of this operand."
-#~ msgstr "No se puede encontrar el '(' que abre para la dereferencia de este operando."
-
-#~ msgid "Operand can't be both pre-inc and post-dec."
-#~ msgstr "El operando no puede ser pre-incremento y post-decremento al mismo tiempo."
-
-#~ msgid "Can't relocate expression error."
-#~ msgstr "No se puede reubicar la expresión de error."
-
-#~ msgid "Junk at end of expression."
-#~ msgstr "Basura al final de la expresión."
-
-#~ msgid "Syntax error in direct register mode."
-#~ msgstr "Error sintáctico en el modo directo de registro."
-
-#~ msgid "SP can't be the source operand with direct register addressing."
-#~ msgstr "SP no puede ser el operando fuente con direccionamiento directo de registro."
-
-#~ msgid "Direct Register can't be used in a branch."
-#~ msgstr "Un Registro Directo no se puede utilizar en una ramificación."
-
-#~ msgid "For quad access, the register must be even and < 14."
-#~ msgstr "Para acceso cuadrático, el registro debe ser par y < 14."
-
-#~ msgid "You can't cast a direct register."
-#~ msgstr "No se puede convertir un registro directo."
-
-# `tromp' se utiliza aquí como verbo transitivo. cfuga
-# Referencia: http://www.dictionary.com/search?q=tromp
-#~ msgid "Using reg 14 for quadwords can tromp the FP register."
-#~ msgstr "El uso del registro 14 para quadwords puede noquear el registro FP."
-
-#~ msgid "Syntax error in auto-dec mode."
-#~ msgstr "Error sintáctico en el modo auto-dec."
-
-#~ msgid "You can't have an index auto dec mode."
-#~ msgstr "No se puede tener un índice en modo auto dec"
-
-#~ msgid "Auto dec mode cant be used for reading."
-#~ msgstr "El modo auto dec no se puede usar para lectura."
-
-#~ msgid "Auto dec only works of the SP register."
-#~ msgstr "El modo auto dec solamente funciona en los registros SP."
-
-#~ msgid "Auto dec can't be used in a branch."
-#~ msgstr "No se puede utilizar auto dec en una ramificación."
-
-#~ msgid "Auto dec won't work with quadwords."
-#~ msgstr "Auto dec no funciona con quadwords."
-
-#~ msgid "Syntax error in one of the auto-inc modes."
-#~ msgstr "Error sintáctico en uno de los modos auto-inc."
-
-#~ msgid "Auto inc deferred only works of the SP register."
-#~ msgstr "El modo auto inc diferido solamente funciona en los registros SP."
-
-#~ msgid "You can't have an index auto inc deferred mode."
-#~ msgstr "No se puede tener un índice en modo auto inc diferido"
-
-#~ msgid "Auto inc can't be used in a branch."
-#~ msgstr "No se puede utilizar auto inc en una ramificación."
-
-#~ msgid "You can't write to an auto inc register."
-#~ msgstr "No se puede escribir en un registro auto inc."
-
-#~ msgid "Auto inc only works of the SP register."
-#~ msgstr "El modo auto inc funciona solamente en los registros SP."
-
-#~ msgid "Auto inc won't work with quadwords."
-#~ msgstr "Auto inc no funciona con quadwords."
-
-#~ msgid "You can't have an index in auto inc mode."
-#~ msgstr "No se puede tener un índice en el modo auto inc."
-
-#~ msgid "You can't index the sp register."
-#~ msgstr "No se puede indizar el registro sp."
-
-#~ msgid "Syntax error in register displaced mode."
-#~ msgstr "Error sintáctico en el registro en modo desubicado."
-
-#~ msgid "You can't index a register in immediate mode."
-#~ msgstr "No se puede indizar un registro en modo inmediato."
-
-#~ msgid "Immediate access can't be used as an address."
-#~ msgstr "No se puede utilizar el acceso inmediato como una dirección"
-
-#~ msgid "Compiler bug: ODD number of bytes in arg structure %s."
-#~ msgstr "Bicho del compilador: número de bytes IMPAR en la estructura de argumentos %s."
-
-#~ msgid "Compliler bug: Got a case (%d) I wasn't expecting."
-#~ msgstr "Bicho del compilador: Se obtuvo un case (%d) que no se esperaba."
-
-#~ msgid "Real branch displacements must be expressions."
-#~ msgstr "Las desubicaciones de ramificaciones reales deben ser expresiones."
-
-#~ msgid "Complier error: I got an unknown synthetic branch :%c"
-#~ msgstr "Error del compilador: Se obtuvo una ramificación sintética desconocida :%c"
-
-# En México se utilizaría `guácala' por `barf', como una expresión
-# que simboliza vómito, pero no es comprensible para todos los
-# hispanoparlantes. :-) cfuga
-#~ msgid "Barf, bad mode %x\n"
-#~ msgstr "Ugh, modo erróneo %x\n"
-
-#~ msgid "internal error:%s:%d: %s %ld\n"
-#~ msgstr "error interno:%s:%d: %s %ld\n"
-
-#~ msgid "Relaxation is a luxury we can't afford"
-#~ msgstr "La relajación es un lujo que no se puede conceder"
-
-#~ msgid "bad call to md_atof ()"
-#~ msgstr "llamada errónea a md_atof ()"
-
-#~ msgid "':' not followed by 'm' or 's'"
-#~ msgstr "':' no está seguido por 'm' o 's'"
-
-#~ msgid "paren nesting"
-#~ msgstr "anidamiento de paréntesis"
-
-#~ msgid "unhandled expression type"
-#~ msgstr "tipo de expresión sin manejar"
-
-#~ msgid "symbol reloc that is not PC relative or 32 bits"
-#~ msgstr "reubicación de símbolo que no es relativo al PC o de 32 bits"
-
-#~ msgid "unhandled expression"
-#~ msgstr "expresión sin manejar"
-
-#~ msgid "Invalid mnemonic: '%s'"
-#~ msgstr "Mnemónico inválido: '%s'"
-
-#~ msgid "Invalid operands: '%s'"
-#~ msgstr "Operandos inválidos: '%s'"
-
-#~ msgid "unhandled predefined symbol bits"
-#~ msgstr "bits de símbolo predefinido sin manejar"
-
-#~ msgid "PC offset 0x%lx outside range 0x%lx-0x%lx"
-#~ msgstr "desplazamiento del PC 0x%lx fuera del rango 0x%lx-0x%lx"
-
-#~ msgid "unhandled relocation type in fixup"
-#~ msgstr "typo de reubicación sin manejar en la compostura"
-
-#~ msgid "md_convert_frag() not implemented yet"
-#~ msgstr "md_convert_frag() aún no está implementado"
-
-#~ msgid "need on or off."
-#~ msgstr "necesita on u off."
-
-#~ msgid "syntax error after <exp"
-#~ msgstr "error sintáctico después de <exp"
-
-#~ msgid "emitting simplification relocation"
-#~ msgstr "emitiendo simplificación de reubicación"
-
-#~ msgid "emitting unknown relocation"
-#~ msgstr "emitiendo reubicación desconocida"
-
-#~ msgid "dwarf2 is not supported for this object file format"
-#~ msgstr "dwarf2 no tiene soporte para este formato de fichero objeto"
-
-#~ msgid "Macro with this name was already defined"
-#~ msgstr "Ya estaba definida una macro con ese nombre"
-
-#~ msgid "missplaced )"
-#~ msgstr ") mal colocado"
-
-#~ msgid "macro formal argument does not exist"
-#~ msgstr "el argumento formal de macro no existe"
-
-#~ msgid "FATAL: can't close %s"
-#~ msgstr "FATAL: no se puede cerrar %s"
-
-#~ msgid "Failed to emit an object byte"
-#~ msgstr "Falló al emitir un byte objeto"
-
-#~ msgid "can't continue"
-#~ msgstr "no se puede continuar"
-
-#~ msgid "attempt to switch to nonexistent segment \"%s\""
-#~ msgstr "se intentó cambiar a un segmento \"%s\" que no existe"
-
-#~ msgid "Missing size expression"
-#~ msgstr "Falta una expresión de tamaño"
-
-#~ msgid "lcomm length (%d.) <0! Ignored."
-#~ msgstr "¡longitud de lcomm (%d.) <0! Ignorada."
-
-#~ msgid "Symbol %s already defined"
-#~ msgstr "El símbolo %s ya está definido"
-
-#~ msgid "common alignment negative; 0 assumed"
-#~ msgstr "alineación común negativa; se asume 0"
-
-#~ msgid "ignoring new section group for %s"
-#~ msgstr "se ignora un grupo de sección nuevo para %s"
-
-#~ msgid ""
-#~ "g++ wrote an extern reference to `%s' as a routine.\n"
-#~ "I will fix it, but I hope that it was note really a routine."
-#~ msgstr ""
-#~ "g++ escribió una referencia externa a `%s' como una rutina.\n"
-#~ "Se compondrá, pero se espera que no sea realmente una rutina."
-
-#~ msgid "File overrides no-base-register option."
-#~ msgstr "El fichero se impone a la opción no-base-register."
-
-#~ msgid "use old ABI (ELF only)"
-#~ msgstr "usa la ABI antigua (solamente ELF)"
-
-#~ msgid "expression possibly out of 8-bit range"
-#~ msgstr "expresión posiblemente fuera del rango de 8-bit"
-
-#~ msgid "Invalid register list for ldm/stm)\n"
-#~ msgstr "Lista de registros inválida para ldm/stm)\n"
-
-#~ msgid "unimplemented segment type %d in operand"
-#~ msgstr "tipo de segmento %d sin implementar en el operando"
-
-#~ msgid "Additional NOP may be necessary to workaround Itanium processor A/B step errata"
-#~ msgstr "Pueden ser necesario un NOP adicional para evitar el error de paso A/B del procesador Itanium"
-
-#~ msgid " -relax create linker relaxable code\n"
-#~ msgstr " -relax crea código relajable para el enlazados\n"
-
-#~ msgid " -cpu-desc provide runtime cpu description file\n"
-#~ msgstr " -cpu-desc provee el fichero de descripción del cpu en tiempo de ejecución\n"
-
-#~ msgid "Branch %s is always false (nop)"
-#~ msgstr "La ramificación %s es siempre falsa (nop)"
-
-#~ msgid "Branch likely %s is always false"
-#~ msgstr "La ramificación como %s es siempre falsa"
-
-#~ msgid "load/store address overflow (max 32 bits)"
-#~ msgstr "desbordamiento de dirección load/store (máx 32 bits)"
-
-#~ msgid "-G may not be used with embedded PIC code"
-#~ msgstr "-G no se puede utilizar con código PIC imbuído"
-
-#~ msgid "-G is not supported for this configuration"
-#~ msgstr "-G no tiene soporte para esta configuración"
-
-#~ msgid "-G may not be used with SVR4 or embedded PIC code"
-#~ msgstr "-G no se puede utilizar con código PIC de SVR4 o imbuído"
-
-#~ msgid "Invalid PC relative reloc"
-#~ msgstr "Reubicación relativa al PC inválida"
-
-#~ msgid "%08lx UNDEFINED\n"
-#~ msgstr "%08lx SIN DEFINIR\n"
-
-#~ msgid "No read only data section in this object file format"
-#~ msgstr "No hay sección de datos de sólo lectura en este formato de fichero objeto"
-
-#~ msgid "Global pointers not supported; recompile -G 0"
-#~ msgstr "Los punteros globales no tienen soporte; recompile -G 0"
-
-#~ msgid "AT used after \".set noat\" or macro used after \".set nomacro\""
-#~ msgstr "se utilizó AT después de \".set noat\" o se utilizó una macro después de \".set nomacro\""
-
-#~ msgid "Double check fx_r_type in tc-mips.c:tc_gen_reloc"
-#~ msgstr "Revise dos veces fx_r_type en tc-mips.c:tc_gen_reloc"
-
-#~ msgid "the linker will not handle this relocation correctly (1)"
-#~ msgstr "el enlazador no manejará correctamente esta reubicación (1)"
-
-#~ msgid "-mcoff-version={0|1|2} Select COFF version\n"
-#~ msgstr "-mcoff-version={0|1|2} Selecciona la versión de COFF\n"
-
-#~ msgid "unknown command line option: -%c%s\n"
-#~ msgstr "opción de línea de órdenes desconocida: -%c%s\n"
-
-#~ msgid "'--literal-section-name' is deprecated; use '--rename-section .literal=NEWNAME'"
-#~ msgstr "'--literal-section-name' es obsoleto; utilice '--rename-section .literal=NOMBRENUEVO'"
-
-#~ msgid "'--text-section-name' is deprecated; use '--rename-section .text=NEWNAME'"
-#~ msgstr "'--text-section-name' es obsoleto; utilice '--rename-section .text=NOMBRENUEVO'"
-
-#~ msgid "'--data-section-name' is deprecated; use '--rename-section .data=NEWNAME'"
-#~ msgstr "'--data-section-name' es obsoleto; utilice '--rename-section .data=NOMBRENUEVO'"
-
-#~ msgid "'--bss-section-name' is deprecated; use '--rename-section .bss=NEWNAME'"
-#~ msgstr "'--bss-section-name' es obsoleto; utilice '--rename-section .bss=NOMBRENUEVO'"
-
-#~ msgid "operand %d not in immediate table for '%s'"
-#~ msgstr "el operando %d no está en la tabla de inmediatos para '%s'"
-
-#~ msgid "instruction fragment may contain data"
-#~ msgstr "el fragmento de instrucción puede contener datos"
-
-#~ msgid "invalid relocation operand %i on '%s'"
-#~ msgstr "operando de reubicación %i inválido en '%s'"
-
-#~ msgid "instruction with constant operands does not fit without widening"
-#~ msgstr "la instrucción con operandos constantes no cabe sin ensanchar"
-
-#~ msgid "opcode 'OR' unavailable in this configuration"
-#~ msgstr "el código de operación 'OR' no está disponible en esta configuración"
-
-#~ msgid "invalid %d-byte NOP requested"
-#~ msgstr "se requirió un NOP de %d-byte inválido"
-
-#~ msgid "get_expanded_loop_offset: undefined opcode"
-#~ msgstr "get_expanded_loop_offset: código de operación indefinido"
-
-#~ msgid "undefined @ suffix '%s', expected '%s'"
-#~ msgstr "sufijo @ '%s' indefinido, se esperaba '%s'"
-
-#~ msgid "non-PCREL relocation operand %d for '%s': %s"
-#~ msgstr "operando de reubicación %d que no es PCREL para '%s': %s"
-
-#~ msgid "get_text_align_power: argument too large"
-#~ msgstr "get_text_align_power: argumento demasiado grande"
-
-#~ msgid "invalid opcode for RELAX_ALIGN_NEXT_OPCODE"
-#~ msgstr "código de operación inválido para RELAX_ALIGN_NEXT_OPCODE"
-
-#~ msgid "cannot continue"
-#~ msgstr "no se puede continuar"
-
-#~ msgid "expected loop opcode in relax align next target"
-#~ msgstr "se esperaba un código de operación de ciclo en el objetivo de relajación de alineación del siguiente"
-
-#~ msgid "expected align_code or RELAX_ALIGN_NEXT_OPCODE"
-#~ msgstr "se esperaba align_code o RELAX_ALIGN_NEXT_OPCODE"
-
-#~ msgid "loop relaxation specification does not correspond"
-#~ msgstr "la especificación de relajación del ciclo no corresponde"
-
-#~ msgid "inlining literal pool; specify location with .literal_position."
-#~ msgstr "conjunto de literales inlining; especificar la ubicación con .literal_position."
-
-#~ msgid ".endr encountered without preceeding .rept, .irc, or .irp"
-#~ msgstr "se encontró una directiva .endr sin una directiva .rept, .irc, ó .irp precedente"
-
-#~ msgid "subsegment index too high"
-#~ msgstr "índice de subsegmento demasiado alto"
-
-#~ msgid ".COMMon length (%d.) <0! Ignored."
-#~ msgstr "¡longitud de .COMM (%d.) <0! Ignorada."
-
-#~ msgid "expect :8 or :16 here"
-#~ msgstr "se esperaba :8 ó :16 aquí"
-
-#~ msgid "md_number_to_disp\n"
-#~ msgstr "md_number_to_disp\n"
-
-#~ msgid "i860_number_to_field\n"
-#~ msgstr "i860_number_to_field\n"
-
-#~ msgid "md_number_to_disp not defined"
-#~ msgstr "md_number_to_disp no está definido"
-
-#~ msgid "md_number_to_field not defined"
-#~ msgstr "md_number_to_field no está definido"
-
-#~ msgid "MIPS internal Error"
-#~ msgstr "Error interno de MIPS"
-
-#~ msgid "rotate count too large"
-#~ msgstr "la cuenta de rotación es demasiado grande"
-
-#~ msgid "invalid architecture -mtune=%s"
-#~ msgstr "arquitectura -mtune=%s inválida"
-
-#~ msgid "invalid architecture -mcpu=%s"
-#~ msgstr "arquitectura -mcpu=%s inválida"
-
-#~ msgid "A different -mtune= was already specified, is now -mtune=%s"
-#~ msgstr "Ya se había especificado un -mtune= diferente, ahora es -mtune=%s"
-
-#~ msgid "A different -march= was already specified, is now -march=%s"
-#~ msgstr "Ya se había especificado un -march= diferente, ahora es -march=%s"
-
-#~ msgid "A different -march= or -mtune= was already specified, is now -m4650"
-#~ msgstr "Ya se había especificado un -march ó un -mtune diferentes, ahora es -m4650"
-
-#~ msgid "A different -march= or -mtune= was already specified, is now -m4010"
-#~ msgstr "Ya se había especificado un -march ó un -mtune diferentes, ahora es -m4010"
-
-#~ msgid "A different -march= or -mtune= was already specified, is now -m4100"
-#~ msgstr "Ya se había especificado un -march ó un -mtune diferentes, ahora es -m4100"
-
-#~ msgid "A different -march= or -mtune= was already specified, is now -m3900"
-#~ msgstr "Ya se había especificado un -march ó un -mtune diferentes, ahora es -m3900"
-
-#~ msgid "The -mcpu option can't be used together with -march. Use -mtune instead of -mcpu."
-#~ msgstr "La opción -mcpu no se puede usar junto con -march. Utilice -mtune en lugar de -mcpu."
-
-#~ msgid "The -mcpu option can't be used together with -mtune. Use -march instead of -mcpu."
-#~ msgstr "La opción -mcpu no se puede usar junto con -mtune. Utilice -march en lugar de -mcpu."
-
-#~ msgid "The -mcpu option is deprecated. Please use -march and -mtune instead."
-#~ msgstr "La opción -mcpu está deprecada. Por favor utilice -march y -mtune en su lugar."
-
-#~ msgid "The -march option is incompatible to -mipsN and therefore ignored."
-#~ msgstr "La opción -march es incompatible con -mipsN y por lo tanto se ignora."
-
-#~ msgid "Word displacement out of range. line number not valid"
-#~ msgstr "Desubicación de word fuera de rango. el número de línea no es válido"
-
-#~ msgid "unresolved fx_subsy symbol that must be resolved"
-#~ msgstr "símbolo fx_subsy sin resolver que debe ser resuelto"
-
-#~ msgid "call to tc_Nout_fix_to_chars \n"
-#~ msgstr "llamada a tc_Nout_fix_to_chars \n"
-
-#~ msgid ""
-#~ "Z8K options:\n"
-#~ "-z8001\t\t\tgenerate segmented code\n"
-#~ "-z8002\t\t\tgenerate unsegmented code\n"
-#~ msgstr ""
-#~ "Opciones de Z8K:\n"
-#~ "-z8001\t\t\tgenera código segmentado\n"
-#~ "-z8002\t\t\tgenera código sin segmentar\n"
-
-#~ msgid "redefinition not allowed\n"
-#~ msgstr "no se permite la redefinición\n"
-
-#~ msgid "the %c operator cannot take non-absolute arguments.\n"
-#~ msgstr "el operador %c no puede tomar argumentos que no son absolutos.\n"
-
-#~ msgid "string where expression expected.\n"
-#~ msgstr "cadena donde se esperaba una expresión.\n"
-
-#~ msgid "can't find primary in expression.\n"
-#~ msgstr "no se puede encontrar el primario en la expresión.\n"
-
-#~ msgid "attempt to divide by zero.\n"
-#~ msgstr "se intentó dividir por cero.\n"
-
-#~ msgid "can't add two relocatable expressions\n"
-#~ msgstr "no se pueden agregar dos expresiones reubicables\n"
-
-#~ msgid "unreasonable nesting.\n"
-#~ msgstr "anidamiento no razonable.\n"
-
-#~ msgid "End of file not at start of line.\n"
-#~ msgstr "El final del fichero no está el inicio de la línea.\n"
-
-#~ msgid "radix is %c must be one of b, q, d or h"
-#~ msgstr "el radical es %c debe ser uno de b, q, d ó h"
-
-#~ msgid "size must be one of b, w or l, is %c.\n"
-#~ msgstr "el tamaño debe ser uno de b, w ó l, es %c.\n"
-
-# ¿datab = datos binarios? Verificar contra el código. cfuga
-#~ msgid "datab repeat must be constant.\n"
-#~ msgstr "la repetición de datos-b debe ser constante.\n"
-
-#~ msgid "datab data must be absolute.\n"
-#~ msgstr "los datos-b deben ser absolutos.\n"
-
-#~ msgid "align needs absolute expression.\n"
-#~ msgstr "la alineación necesita una expresión absoluta.\n"
-
-#~ msgid ".align needs absolute fill value.\n"
-#~ msgstr ".align necesita un valor de relleno absoluto.\n"
-
-#~ msgid "res needs absolute expression for fill count.\n"
-#~ msgstr "res necesita una expresión absoluta para la cuenta de relleno.\n"
-
-#~ msgid "form LIN= needs absolute expresssion.\n"
-#~ msgstr "la forma LIN= necesita una expresión absoluta.\n"
-
-#~ msgid "COL="
-#~ msgstr "COL="
-
-#~ msgid "form COL= needs absolute expresssion.\n"
-#~ msgstr "la forma COL= necesita una expresión absoluta.\n"
-
-#~ msgid "misplaced ( .\n"
-#~ msgstr "( mal colocado.\n"
-
-#~ msgid "misplaced ).\n"
-#~ msgstr ") mal colocado.\n"
-
-#~ msgid ".instr needs absolute expresson.\n"
-#~ msgstr ".instr necesita una expresión absoluta.\n"
-
-#~ msgid "need absolute position.\n"
-#~ msgstr "se necesita una posición absoluta.\n"
-
-#~ msgid "need absolute length.\n"
-#~ msgstr "se necesita una longitud absoluta.\n"
-
-#~ msgid "END missing from end of file.\n"
-#~ msgstr "falta END en el final del fichero.\n"
-
-#~ msgid ".ASSIGNA without label.\n"
-#~ msgstr ".ASSIGNA sin etiqueta.\n"
-
-#~ msgid ".ASSIGNS without label.\n"
-#~ msgstr ".ASSIGNS sin etiqueta.\n"
-
-#~ msgid "Can't find preprocessor variable %s.\n"
-#~ msgstr "No se puede encontrar la variable del preprocesador %s.\n"
-
-#~ msgid "Comparison operator must be one of EQ, NE, LT, LE, GT or GE.\n"
-#~ msgstr "El operador de comparación debe ser uno de EQ, NE, LT, LE, GT ó GE.\n"
-
-#~ msgid "Comparison operator for strings must be EQ or NE\n"
-#~ msgstr "El operador de comparación para las cadenas debe ser EQ ó NE\n"
-
-#~ msgid "Conditional operator must have absolute operands.\n"
-#~ msgstr "El operador condicional debe tener operandos absolutos.\n"
-
-#~ msgid "String compared against expression.\n"
-#~ msgstr "Cadena comparada contra una expresión.\n"
-
-#~ msgid "AIF nesting unreasonable.\n"
-#~ msgstr "anidamiento de AIF no razonable.\n"
-
-#~ msgid "Multiple AELSEs in AIF.\n"
-#~ msgstr "AELSEs múltiples en AIF.\n"
-
-#~ msgid "AENDI without AIF.\n"
-#~ msgstr "AENDI sin AIF.\n"
-
-#~ msgid "IF nesting unreasonable.\n"
-#~ msgstr "anidamiento de IF no razonable.\n"
-
-#~ msgid "Bad format for IF or IFNC.\n"
-#~ msgstr "Formato erróneo para IF ó IFNC.\n"
-
-#~ msgid "AENDR without a AREPEAT.\n"
-#~ msgstr "AENDR sin un AREPEAT.\n"
-
-#~ msgid "ENDR without a REPT.\n"
-#~ msgstr "ENDR sin un REPT.\n"
-
-#~ msgid "AWHILE without a AENDW at %d.\n"
-#~ msgstr "AWHILE sin un AENDW en %d.\n"
-
-#~ msgid "AENDW without a AENDW.\n"
-#~ msgstr "AWHILE sin un AENDW.\n"
-
-#~ msgid "AREPEAT without a AENDR at %d.\n"
-#~ msgstr "AREPEAT sin un AENDR en %d.\n"
-
-#~ msgid ".ENDM without a matching .MACRO.\n"
-#~ msgstr ".ENDM sin un .MACRO coincidente.\n"
-
-#~ msgid "LOCAL outside of MACRO"
-#~ msgstr "LOCAL fuera de MACRO"
-
-#~ msgid "macro at line %d: %s\n"
-#~ msgstr "macro en la línea %d: %s\n"
-
-#~ msgid "Character code in string must be absolute expression.\n"
-#~ msgstr "El código de carácter en la cadena debe ser una expresión absoluta.\n"
-
-#~ msgid "Missing > for character code.\n"
-#~ msgstr "Falta un > para el código de carácter.\n"
-
-#~ msgid "string for SDATAC longer than 255 characters (%d).\n"
-#~ msgstr "la cadena para SDATAC es más larga que 255 caracteres (%d).\n"
-
-#~ msgid "illegal character in SDATA line (0x%x).\n"
-#~ msgstr "carácter ilegal en la línea SDATA (0x%x).\n"
-
-#~ msgid "Must have absolute SDATAB repeat count.\n"
-#~ msgstr "Se debe tener una cuenta de repetición SDATAB absoluta.\n"
-
-#~ msgid "Must have positive SDATAB repeat count (%d).\n"
-#~ msgstr "Se debe tener una cuenta de repetición SDATAB positiva (%d).\n"
-
-#~ msgid "Unreasonable include depth (%ld).\n"
-#~ msgstr "Profundidad de inclusión no razonable (%ld).\n"
-
-#~ msgid "Unreasonable expansion (-u turns off check).\n"
-#~ msgstr "Expansión no razonable (-u apaga esta revisión).\n"
-
-#~ msgid "Unrecognised pseudo op `%s'.\n"
-#~ msgstr "No se reconoce la pseudo operación `%s'.\n"
-
-#~ msgid "Invalid expression on command line.\n"
-#~ msgstr "Expresión inválida en la línea de órdenes.\n"
-
-#~ msgid ""
-#~ "Usage: %s \n"
-#~ " [-a] [--alternate] enter alternate macro mode\n"
-#~ " [-c char] [--commentchar char] change the comment character from !\n"
-#~ " [-d] [--debug] print some debugging info\n"
-#~ " [-h] [--help] print this message\n"
-#~ " [-M] [--mri] enter MRI compatibility mode\n"
-#~ " [-o out] [--output out] set the output file\n"
-#~ " [-p] [--print] print line numbers\n"
-#~ msgstr ""
-#~ "Modo de empleo: %s \n"
-#~ " [-a] [--alternate] introduce el modo de macro alternativo\n"
-#~ " [-c car] [--commentchar car] cambia el carácter de comentario de !\n"
-#~ " [-d] [--debug] muestra alguna información de depuración\n"
-#~ " [-h] [--help] muestra este mensaje\n"
-#~ " [-M] [--mri] introduce el modo de compatibilidad MRI\n"
-#~ " [-o sal] [--output salida] establece el fichero de salida\n"
-#~ " [-p] [--print] muestra los números de línea\n"
-
-#~ msgid ""
-#~ " [-s] [--copysource] copy source through as comments \n"
-#~ " [-u] [--unreasonable] allow unreasonable nesting\n"
-#~ " [-v] [--version] print the program version\n"
-#~ " [-Dname=value] create preprocessor variable called name, with value\n"
-#~ " [-Ipath] add to include path list\n"
-#~ " [in-file]\n"
-#~ msgstr ""
-#~ " [-s] [--copysource] copia el código procesado como comentarios\n"
-#~ " [-u] [--unreasonable] permite el anidamiento no razonable\n"
-#~ " [-v] [--version] muestra la versión del programa\n"
-#~ " [-Dnombre=valor] crea la variable de preprocesador llamada nombre, con valor\n"
-#~ " [-Iruta] agrega a la lista de ruta de inclusión\n"
-#~ " [fichero-entrada]\n"
-
-#~ msgid "%s: Gnu Assembler Macro Preprocessor\n"
-#~ msgstr "%s: Preprocesador de Macro Ensamblador de Gnu\n"
-
-#~ msgid "GNU assembler pre-processor %s\n"
-#~ msgstr "Pre-procesador de ensamblador de GNU %s\n"
-
-#~ msgid "Copyright 1996 Free Software Foundation, Inc.\n"
-#~ msgstr "Copyright 1996 Free Software Foundation, Inc.\n"
-
-#~ msgid "%s: Can't open output file `%s'.\n"
-#~ msgstr "%s: No se puede abrir el fichero de salida `%s'.\n"
-
-#~ msgid "%s: Can't open input file `%s'.\n"
-#~ msgstr "%s: No se puede abrir el fichero de entrada `%s'.\n"
-
-#~ msgid "Internal error, aborting at %s line %d"
-#~ msgstr "Error interno, abortando en %s línea %d"
-
-#~ msgid ""
-#~ "\n"
-#~ "Please report this bug.\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Por favor reporte este bicho.\n"
-
-#~ msgid "%s:%u: bad return from bfd_install_relocation"
-#~ msgstr "%s:%u: devolución errónea de bfd_install_relocation"
-
-#~ msgid "negative of non-absolute symbol `%s'"
-#~ msgstr "negativo de un símbolo `%s' que no es absoluto"
-
-#~ msgid "subtraction of two symbols in different sections `%s' {%s section} - `%s' {%s section} at file address %s"
-#~ msgstr "sustracción de dos símbolos en secciones diferentes `%s' {sección %s} - `%s' {sección %s} en la dirección del fichero %s"
-
-#~ msgid "64bit operations available only in 64bit modes."
-#~ msgstr "las operaciones de 64bit solamente están disponibles en modos de 64bit."
-
-#~ msgid "unrecognised APCS switch -m%s"
-#~ msgstr "no se reconoce el interruptor APCS -m%s"
-
-#~ msgid ""
-#~ " ARM Specific Assembler Options:\n"
-#~ " -m[arm][<processor name>] select processor variant\n"
-#~ " -m[arm]v[2|2a|3|3m|4|4t|5[t][e]] select architecture variant\n"
-#~ " -marm9e allow Cirrus/DSP instructions\n"
-#~ " -mthumb only allow Thumb instructions\n"
-#~ " -mthumb-interwork mark the assembled code as supporting interworking\n"
-#~ " -mall allow any instruction\n"
-#~ " -mfpa10, -mfpa11 select floating point architecture\n"
-#~ " -mfpe-old don't allow floating-point multiple instructions\n"
-#~ " -mvfpxd allow vfp single-precision instructions\n"
-#~ " -mvfp allow all vfp instructions\n"
-#~ " -mno-fpu don't allow any floating-point instructions.\n"
-#~ " -k generate PIC code.\n"
-#~ msgstr ""
-#~ " Opciones Específicas del Ensamblador de ARM:\n"
-#~ " -m[arm][<nombre procesador>] selecciona la variante de procesador\n"
-#~ " -m[arm]v[2|2a|3|3m|4|4t|5[t][e]] selecciona la variante de arquitectura\n"
-#~ " -marm9e permite instrucciones Cirrus/DSP\n"
-#~ " -mthumb sólo permite instrucciones Thumb\n"
-#~ " -mthumb-interwork marca el código ensamblado con soporte para interoperación\n"
-#~ " -mall permite cualquier instrucción\n"
-#~ " -mfpa10, -mfpa11 selecciona la arquitectura de coma flotante\n"
-#~ " -mfpe-old no permite instrucciones múltiples de coma flotante\n"
-#~ " -mvfpxd permite instrucciones vfp de precisión sencilla\n"
-#~ " -mvfp permite todas las instrucciones vfp\n"
-#~ " -mno-fpu no permite ninguna instrucción de coma flotante.\n"
-#~ " -k genera código PIC.\n"
-
-#~ msgid ""
-#~ " -mapcs-32, -mapcs-26 specify which ARM Procedure Calling Standard to use\n"
-#~ " -matpcs use ARM/Thumb Procedure Calling Standard\n"
-#~ " -mapcs-float floating point args are passed in FP regs\n"
-#~ " -mapcs-reentrant the code is position independent/reentrant\n"
-#~ msgstr ""
-#~ " -mapcs-32, -mapcs-26 especifica el Estándar de Llamada de Procedimiento de ARM a utilizar\n"
-#~ " -matpcs utiliza el Estándar de Llamada de Procedimiento ARM/Thumb\n"
-#~ " -mapcs-float los argumentos de coma flotante se pasan en registros FP\n"
-#~ " -mapcs-reentrant el código es independiente de posición/reentrante\n"
-
-#~ msgid "EOF in Comment: Newline inserted"
-#~ msgstr "Fin de Fichero en Comentario: se insertó una Línea nueva"
-
-#~ msgid ".else without matching .if - ignored"
-#~ msgstr ".else sin un .if coincidente - ignorado"
-
-#~ msgid "Unrecognized section type"
-#~ msgstr "No se reconoce el tipo de sección"
-
-#~ msgid "bad instruction format for lda !%s!%ld"
-#~ msgstr "formato de instrucción erróneo para lda !%s%ld"
-
-#~ msgid "bad instruction '%.100s'"
-#~ msgstr "instrucción errónea '%.100s'"
-
-#~ msgid "Constant expression expected"
-#~ msgstr "Se esperaba una expresión constante"
-
-#~ msgid "Processor does not support halfwords or signed bytes"
-#~ msgstr "El procesador no tiene soporte para halfwords o bytes con signo"
-
-#~ msgid "Invalid offset"
-#~ msgstr "Desplazamiento inválido"
-
-#~ msgid "Opcode `%s' must have suffix from list: <%s>"
-#~ msgstr "El código de operación `%s' debe tener un sufijo de la lista: <%s>"
-
-#~ msgid "Warning: Use of the 'nv' conditional is deprecated\n"
-#~ msgstr "Aviso: El uso del condicional 'nv' está deprecado\n"
-
-#~ msgid "Opcode `%s' is unconditional\n"
-#~ msgstr "El código de operación `%s' es incondicional\n"
-
-#~ msgid "Opcode `%s' must have suffix from <%s>\n"
-#~ msgstr "El código de operación `%s' debe tener un sufijo de <%s>\n"
-
-#~ msgid "Invalid Compare/Subtract Condition: %c"
-#~ msgstr "Condición de Comparación/Sustracción Inválida: %c"
-
-#~ msgid "Extended register `%%%s' available only in 64bit mode."
-#~ msgstr "El registro extendido `%%%s' sólo está disponible en modo 64bit."
-
-#~ msgid "bad reloc specifier in expression"
-#~ msgstr "especificador de reubicación erróneo en la expresión"
-
-#~ msgid "Bad COFF debugging info"
-#~ msgstr "Información de depuración COFF errónea"
-
-#~ msgid "Missing '%c' assumed"
-#~ msgstr "Se asume que falta '%c'"
-
-#~ msgid "Partial line at end of file ignored"
-#~ msgstr "Se ignora la línea parcial al final de la línea"
-
-#~ msgid "Alignment not a power of 2"
-#~ msgstr "La alineación no es una potencia de 2"
-
-#~ msgid "Missing alignment"
-#~ msgstr "Falta la alineación"
-
-#~ msgid "invalid segment \"%s\"; segment \"%s\" assumed"
-#~ msgstr "segmento \"%s\" inválido; se asume el segmento \"%s\""
-
-#~ msgid "illegal expression; zero assumed"
-#~ msgstr "expresión ilegal; se asume cero"
-
-#~ msgid "missing expression; zero assumed"
-#~ msgstr "falta una expresión; se asume cero"
-
-#~ msgid "Unresolvable or nonpositive repeat count; using 1"
-#~ msgstr "Cuenta de repetición sin resolver o no positiva; se utiliza 1"
-
-#~ msgid ".stabs: Missing comma"
-#~ msgstr ".stabs: Falta una coma"
-
-#~ msgid "Symbol %s already defined."
-#~ msgstr "El símbolo %s ya está definido."
diff --git a/gas/read.c b/gas/read.c
index 31b89b7..db9c762 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -234,7 +234,6 @@ static unsigned int bundle_lock_depth;
#endif
static void do_s_func (int end_p, const char *default_prefix);
-static void s_align (int, int);
static void s_altmacro (int);
static void s_bad_end (int);
static void s_reloc (int);
@@ -668,13 +667,16 @@ start_bundle (void)
{
fragS *frag = frag_now;
- frag_align_code (0, 0);
+ frag_align_code (bundle_align_p2, 0);
while (frag->fr_type != rs_align_code)
frag = frag->fr_next;
gas_assert (frag != frag_now);
+ /* Set initial alignment to zero. */
+ frag->fr_offset = 0;
+
return frag;
}
@@ -721,9 +723,9 @@ finish_bundle (fragS *frag, unsigned int size)
if (size > 1)
{
- /* If there is more than a single byte, then we need to set up the
- alignment frag. Otherwise we leave it at its initial state from
- calling frag_align_code (0, 0), so that it does nothing. */
+ /* If there is more than a single byte, then we need to set up
+ the alignment frag. Otherwise we leave it at its initial
+ state with zero alignment so that it does nothing. */
frag->fr_offset = bundle_align_p2;
frag->fr_subtype = size - 1;
}
@@ -1435,14 +1437,15 @@ read_a_source_file (const char *name)
#endif
}
-/* Convert O_constant expression EXP into the equivalent O_big representation.
- Take the sign of the number from SIGN rather than X_add_number. */
+/* Convert O_constant expression EXP into the equivalent O_big
+ representation. */
-static void
-convert_to_bignum (expressionS *exp, int sign)
+static bool
+convert_to_bignum (expressionS *exp)
{
valueT value;
unsigned int i;
+ bool sign = !exp->X_unsigned && exp->X_extrabit;
value = exp->X_add_number;
for (i = 0; i < sizeof (exp->X_add_number) / CHARS_PER_LITTLENUM; i++)
@@ -1456,6 +1459,9 @@ convert_to_bignum (expressionS *exp, int sign)
generic_bignum[i++] = sign ? LITTLENUM_MASK : 0;
exp->X_op = O_big;
exp->X_add_number = i;
+ exp->X_unsigned = !sign;
+
+ return sign;
}
/* For most MRI pseudo-ops, the line actually ends at the first
@@ -1514,13 +1520,14 @@ s_abort (int ignore ATTRIBUTE_UNUSED)
as_fatal (_(".abort detected. Abandoning ship."));
}
+#ifndef TC_ALIGN_LIMIT
+#define TC_ALIGN_LIMIT (stdoutput->arch_info->bits_per_address - 1)
+#endif
+
/* Handle the .align pseudo-op. A positive ARG is a default alignment
(in bytes). A negative ARG is the negative of the length of the
fill pattern. BYTES_P is non-zero if the alignment value should be
interpreted as the byte boundary, rather than the power of 2. */
-#ifndef TC_ALIGN_LIMIT
-#define TC_ALIGN_LIMIT (stdoutput->arch_info->bits_per_address - 1)
-#endif
static void
s_align (signed int arg, int bytes_p)
@@ -1573,7 +1580,8 @@ s_align (signed int arg, int bytes_p)
if (align > align_limit)
{
align = align_limit;
- as_warn (_("alignment too large: %u assumed"), align_limit);
+ as_warn (_("alignment too large: %u assumed"),
+ bytes_p ? 1u << align_limit : align_limit);
}
if (*input_line_pointer != ',')
@@ -1598,7 +1606,13 @@ s_align (signed int arg, int bytes_p)
else
{
++input_line_pointer;
- max = get_absolute_expression ();
+ offsetT val = get_absolute_expression ();
+ max = val;
+ if (val < 0 || max != (valueT) val)
+ {
+ as_warn (_("ignoring out of range alignment maximum"));
+ max = 0;
+ }
}
}
@@ -2251,8 +2265,8 @@ void
s_fill (int ignore ATTRIBUTE_UNUSED)
{
expressionS rep_exp;
- long size = 1;
- long fill = 0;
+ offsetT size = 1;
+ valueT fill = 0;
char *p;
#ifdef md_flush_pending_output
@@ -2318,7 +2332,7 @@ s_fill (int ignore ATTRIBUTE_UNUSED)
if (size && !need_pass_2)
{
if (now_seg == absolute_section)
- abs_section_offset += rep_exp.X_add_number * size;
+ abs_section_offset += (valueT) rep_exp.X_add_number * size;
if (rep_exp.X_op == O_constant)
{
@@ -2361,7 +2375,7 @@ s_fill (int ignore ATTRIBUTE_UNUSED)
bytes from a 4-byte expression and they forgot to sign
extend. */
#define BSD_FILL_SIZE_CROCK_4 (4)
- md_number_to_chars (p, (valueT) fill,
+ md_number_to_chars (p, fill,
(size > BSD_FILL_SIZE_CROCK_4
? BSD_FILL_SIZE_CROCK_4
: (int) size));
@@ -3296,6 +3310,7 @@ assign_symbol (char *name, int mode)
retain the value of the symbol at the point of use. */
else if (S_IS_VOLATILE (symbolP))
symbolP = symbol_clone (symbolP, 1);
+ S_CLEAR_WEAKREFR (symbolP);
}
if (mode == 0)
@@ -3610,6 +3625,13 @@ s_nop (int ignore ATTRIBUTE_UNUSED)
&& frag_off + frag_now_fix () < start_off + exp.X_add_number);
}
+/* Use this to specify the amount of memory allocated for representing
+ the nops. Needs to be large enough to hold any fixed size prologue
+ plus the replicating portion. */
+#ifndef MAX_MEM_FOR_RS_SPACE_NOP
+# define MAX_MEM_FOR_RS_SPACE_NOP 1
+#endif
+
void
s_nops (int ignore ATTRIBUTE_UNUSED)
{
@@ -3658,8 +3680,7 @@ s_nops (int ignore ATTRIBUTE_UNUSED)
/* Store the no-op instruction control byte in the first byte of frag. */
char *p;
symbolS *sym = make_expr_symbol (&exp);
- p = frag_var (rs_space_nop, 1, 1, (relax_substateT) 0,
- sym, (offsetT) 0, (char *) 0);
+ p = frag_var (rs_space_nop, MAX_MEM_FOR_RS_SPACE_NOP, 1, 0, sym, 0, NULL);
*p = val.X_add_number;
}
@@ -4634,8 +4655,7 @@ emit_expr_with_reloc (expressionS *exp,
pass to md_number_to_chars, handle it as a bignum. */
if (op == O_constant && nbytes > sizeof (valueT))
{
- extra_digit = exp->X_unsigned ? 0 : -1;
- convert_to_bignum (exp, !exp->X_unsigned);
+ extra_digit = -convert_to_bignum (exp);
op = O_big;
}
@@ -5354,12 +5374,14 @@ emit_leb128_expr (expressionS *exp, int sign)
}
else if (op == O_constant
&& sign
- && (exp->X_add_number < 0) == !exp->X_extrabit)
+ && (exp->X_unsigned
+ ? exp->X_add_number < 0
+ : (exp->X_add_number < 0) != exp->X_extrabit))
{
/* We're outputting a signed leb128 and the sign of X_add_number
doesn't reflect the sign of the original value. Convert EXP
to a correctly-extended bignum instead. */
- convert_to_bignum (exp, exp->X_extrabit);
+ convert_to_bignum (exp);
op = O_big;
}
diff --git a/gas/symbols.c b/gas/symbols.c
index 14e6018..45b7d9b 100644
--- a/gas/symbols.c
+++ b/gas/symbols.c
@@ -812,17 +812,14 @@ symbol_clone (symbolS *orgsymP, int replace)
if (replace)
{
- if (symbol_rootP == orgsymP)
+ if (orgsymP->x->previous != NULL)
+ orgsymP->x->previous->x->next = newsymP;
+ else
symbol_rootP = newsymP;
- else if (orgsymP->x->previous)
- {
- orgsymP->x->previous->x->next = newsymP;
- orgsymP->x->previous = NULL;
- }
- if (symbol_lastP == orgsymP)
- symbol_lastP = newsymP;
- else if (orgsymP->x->next)
+ if (orgsymP->x->next != NULL)
orgsymP->x->next->x->previous = newsymP;
+ else
+ symbol_lastP = newsymP;
/* Symbols that won't be output can't be external. */
S_CLEAR_EXTERNAL (orgsymP);
@@ -1033,17 +1030,12 @@ symbol_append (symbolS *addme, symbolS *target,
*rootPP = addme;
*lastPP = addme;
return;
- } /* if the list is empty */
+ }
if (target->x->next != NULL)
- {
- target->x->next->x->previous = addme;
- }
+ target->x->next->x->previous = addme;
else
- {
- know (*lastPP == target);
- *lastPP = addme;
- } /* if we have a next */
+ *lastPP = addme;
addme->x->next = target->x->next;
target->x->next = addme;
@@ -1071,25 +1063,15 @@ symbol_remove (symbolS *symbolP, symbolS **rootPP, symbolS **lastPP)
if (symbolP->flags.local_symbol)
abort ();
- if (symbolP == *rootPP)
- {
- *rootPP = symbolP->x->next;
- } /* if it was the root */
-
- if (symbolP == *lastPP)
- {
- *lastPP = symbolP->x->previous;
- } /* if it was the tail */
+ if (symbolP->x->previous != NULL)
+ symbolP->x->previous->x->next = symbolP->x->next;
+ else
+ *rootPP = symbolP->x->next;
if (symbolP->x->next != NULL)
- {
- symbolP->x->next->x->previous = symbolP->x->previous;
- } /* if not last */
-
- if (symbolP->x->previous != NULL)
- {
- symbolP->x->previous->x->next = symbolP->x->next;
- } /* if not first */
+ symbolP->x->next->x->previous = symbolP->x->previous;
+ else
+ *lastPP = symbolP->x->previous;
debug_verify_symchain (*rootPP, *lastPP);
}
@@ -1109,14 +1091,9 @@ symbol_insert (symbolS *addme, symbolS *target,
abort ();
if (target->x->previous != NULL)
- {
- target->x->previous->x->next = addme;
- }
+ target->x->previous->x->next = addme;
else
- {
- know (*rootPP == target);
- *rootPP = addme;
- } /* if not first */
+ *rootPP = addme;
addme->x->previous = target->x->previous;
target->x->previous = addme;
diff --git a/gas/testsuite/gas/aarch64/addsub-carry.d b/gas/testsuite/gas/aarch64/addsub-carry.d
new file mode 100644
index 0000000..9b32d51
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/addsub-carry.d
@@ -0,0 +1,53 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 1a000000 adc w0, w0, w0
+ *[0-9a-f]+: 1a00001f adc wzr, w0, w0
+ *[0-9a-f]+: 1a0003e0 adc w0, wzr, w0
+ *[0-9a-f]+: 1a1f0000 adc w0, w0, wzr
+ *[0-9a-f]+: 9a000000 adc x0, x0, x0
+ *[0-9a-f]+: 9a00001f adc xzr, x0, x0
+ *[0-9a-f]+: 9a0003e0 adc x0, xzr, x0
+ *[0-9a-f]+: 9a1f0000 adc x0, x0, xzr
+ *[0-9a-f]+: 3a000000 adcs w0, w0, w0
+ *[0-9a-f]+: 3a00001f adcs wzr, w0, w0
+ *[0-9a-f]+: 3a0003e0 adcs w0, wzr, w0
+ *[0-9a-f]+: 3a1f0000 adcs w0, w0, wzr
+ *[0-9a-f]+: ba000000 adcs x0, x0, x0
+ *[0-9a-f]+: ba00001f adcs xzr, x0, x0
+ *[0-9a-f]+: ba0003e0 adcs x0, xzr, x0
+ *[0-9a-f]+: ba1f0000 adcs x0, x0, xzr
+ *[0-9a-f]+: 5a000000 sbc w0, w0, w0
+ *[0-9a-f]+: 5a00001f sbc wzr, w0, w0
+ *[0-9a-f]+: 5a0003e0 ngc w0, w0
+ *[0-9a-f]+: 5a1f0000 sbc w0, w0, wzr
+ *[0-9a-f]+: da000000 sbc x0, x0, x0
+ *[0-9a-f]+: da00001f sbc xzr, x0, x0
+ *[0-9a-f]+: da0003e0 ngc x0, x0
+ *[0-9a-f]+: da1f0000 sbc x0, x0, xzr
+ *[0-9a-f]+: 7a000000 sbcs w0, w0, w0
+ *[0-9a-f]+: 7a00001f sbcs wzr, w0, w0
+ *[0-9a-f]+: 7a0003e0 ngcs w0, w0
+ *[0-9a-f]+: 7a1f0000 sbcs w0, w0, wzr
+ *[0-9a-f]+: fa000000 sbcs x0, x0, x0
+ *[0-9a-f]+: fa00001f sbcs xzr, x0, x0
+ *[0-9a-f]+: fa0003e0 ngcs x0, x0
+ *[0-9a-f]+: fa1f0000 sbcs x0, x0, xzr
+ *[0-9a-f]+: 5a0003e0 ngc w0, w0
+ *[0-9a-f]+: 5a0003ff ngc wzr, w0
+ *[0-9a-f]+: 5a1f03e0 ngc w0, wzr
+ *[0-9a-f]+: da0003e0 ngc x0, x0
+ *[0-9a-f]+: da0003ff ngc xzr, x0
+ *[0-9a-f]+: da1f03e0 ngc x0, xzr
+ *[0-9a-f]+: 7a0003e0 ngcs w0, w0
+ *[0-9a-f]+: 7a0003ff ngcs wzr, w0
+ *[0-9a-f]+: 7a1f03e0 ngcs w0, wzr
+ *[0-9a-f]+: fa0003e0 ngcs x0, x0
+ *[0-9a-f]+: fa0003ff ngcs xzr, x0
+ *[0-9a-f]+: fa1f03e0 ngcs x0, xzr
diff --git a/gas/testsuite/gas/aarch64/addsub-carry.s b/gas/testsuite/gas/aarch64/addsub-carry.s
new file mode 100644
index 0000000..89f2ec1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/addsub-carry.s
@@ -0,0 +1,49 @@
+ adc w0, w0, w0
+ adc wzr, w0, w0
+ adc w0, wzr, w0
+ adc w0, w0, wzr
+ adc x0, x0, x0
+ adc xzr, x0, x0
+ adc x0, xzr, x0
+ adc x0, x0, xzr
+
+ adcs w0, w0, w0
+ adcs wzr, w0, w0
+ adcs w0, wzr, w0
+ adcs w0, w0, wzr
+ adcs x0, x0, x0
+ adcs xzr, x0, x0
+ adcs x0, xzr, x0
+ adcs x0, x0, xzr
+
+ sbc w0, w0, w0
+ sbc wzr, w0, w0
+ sbc w0, wzr, w0
+ sbc w0, w0, wzr
+ sbc x0, x0, x0
+ sbc xzr, x0, x0
+ sbc x0, xzr, x0
+ sbc x0, x0, xzr
+
+ sbcs w0, w0, w0
+ sbcs wzr, w0, w0
+ sbcs w0, wzr, w0
+ sbcs w0, w0, wzr
+ sbcs x0, x0, x0
+ sbcs xzr, x0, x0
+ sbcs x0, xzr, x0
+ sbcs x0, x0, xzr
+
+ ngc w0, w0
+ ngc wzr, w0
+ ngc w0, wzr
+ ngc x0, x0
+ ngc xzr, x0
+ ngc x0, xzr
+
+ ngcs w0, w0
+ ngcs wzr, w0
+ ngcs w0, wzr
+ ngcs x0, x0
+ ngcs xzr, x0
+ ngcs x0, xzr
diff --git a/gas/testsuite/gas/aarch64/advsimd-copy.d b/gas/testsuite/gas/aarch64/advsimd-copy.d
new file mode 100644
index 0000000..59ade08
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-copy.d
@@ -0,0 +1,178 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0e010400 dup v0\.8b, v0\.b\[0\]
+ *[0-9a-f]+: 0e01041f dup v31\.8b, v0\.b\[0\]
+ *[0-9a-f]+: 0e0107e0 dup v0\.8b, v31\.b\[0\]
+ *[0-9a-f]+: 0e1f0400 dup v0\.8b, v0\.b\[15\]
+ *[0-9a-f]+: 0e020400 dup v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0e02041f dup v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0e0207e0 dup v0\.4h, v31\.h\[0\]
+ *[0-9a-f]+: 0e1e0400 dup v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0e040400 dup v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0e04041f dup v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0e0407e0 dup v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0e1c0400 dup v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4e010400 dup v0\.16b, v0\.b\[0\]
+ *[0-9a-f]+: 4e01041f dup v31\.16b, v0\.b\[0\]
+ *[0-9a-f]+: 4e0107e0 dup v0\.16b, v31\.b\[0\]
+ *[0-9a-f]+: 4e1f0400 dup v0\.16b, v0\.b\[15\]
+ *[0-9a-f]+: 4e020400 dup v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4e02041f dup v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4e0207e0 dup v0\.8h, v31\.h\[0\]
+ *[0-9a-f]+: 4e1e0400 dup v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4e040400 dup v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4e04041f dup v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4e0407e0 dup v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4e1c0400 dup v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 4e080400 dup v0\.2d, v0\.d\[0\]
+ *[0-9a-f]+: 4e08041f dup v31\.2d, v0\.d\[0\]
+ *[0-9a-f]+: 4e0807e0 dup v0\.2d, v31\.d\[0\]
+ *[0-9a-f]+: 4e180400 dup v0.2d, v0.d\[1\]
+ *[0-9a-f]+: 0e010c00 dup v0\.8b, w0
+ *[0-9a-f]+: 0e010c1f dup v31\.8b, w0
+ *[0-9a-f]+: 0e010fe0 dup v0\.8b, wzr
+ *[0-9a-f]+: 0e020c00 dup v0\.4h, w0
+ *[0-9a-f]+: 0e020c1f dup v31\.4h, w0
+ *[0-9a-f]+: 0e020fe0 dup v0\.4h, wzr
+ *[0-9a-f]+: 0e040c00 dup v0\.2s, w0
+ *[0-9a-f]+: 0e040c1f dup v31\.2s, w0
+ *[0-9a-f]+: 0e040fe0 dup v0\.2s, wzr
+ *[0-9a-f]+: 4e010c00 dup v0\.16b, w0
+ *[0-9a-f]+: 4e010c1f dup v31\.16b, w0
+ *[0-9a-f]+: 4e010fe0 dup v0\.16b, wzr
+ *[0-9a-f]+: 4e020c00 dup v0\.8h, w0
+ *[0-9a-f]+: 4e020c1f dup v31\.8h, w0
+ *[0-9a-f]+: 4e020fe0 dup v0\.8h, wzr
+ *[0-9a-f]+: 4e040c00 dup v0\.4s, w0
+ *[0-9a-f]+: 4e040c1f dup v31\.4s, w0
+ *[0-9a-f]+: 4e040fe0 dup v0\.4s, wzr
+ *[0-9a-f]+: 4e080c00 dup v0\.2d, x0
+ *[0-9a-f]+: 4e080c1f dup v31\.2d, x0
+ *[0-9a-f]+: 4e080fe0 dup v0\.2d, xzr
+ *[0-9a-f]+: 0e150c00 dup v0\.8b, w0
+ *[0-9a-f]+: 4e180c00 dup v0\.2d, x0
+ *[0-9a-f]+: 0e012c00 smov w0, v0\.b\[0\]
+ *[0-9a-f]+: 0e012c1f smov wzr, v0\.b\[0\]
+ *[0-9a-f]+: 0e012fe0 smov w0, v31\.b\[0\]
+ *[0-9a-f]+: 0e1f2c00 smov w0, v0\.b\[15\]
+ *[0-9a-f]+: 0e022c00 smov w0, v0\.h\[0\]
+ *[0-9a-f]+: 0e022c1f smov wzr, v0\.h\[0\]
+ *[0-9a-f]+: 0e022fe0 smov w0, v31\.h\[0\]
+ *[0-9a-f]+: 0e1e2c00 smov w0, v0\.h\[7\]
+ *[0-9a-f]+: 4e012c00 smov x0, v0\.b\[0\]
+ *[0-9a-f]+: 4e012c1f smov xzr, v0\.b\[0\]
+ *[0-9a-f]+: 4e012fe0 smov x0, v31\.b\[0\]
+ *[0-9a-f]+: 4e1f2c00 smov x0, v0\.b\[15\]
+ *[0-9a-f]+: 4e022c00 smov x0, v0\.h\[0\]
+ *[0-9a-f]+: 4e022c1f smov xzr, v0\.h\[0\]
+ *[0-9a-f]+: 4e022fe0 smov x0, v31\.h\[0\]
+ *[0-9a-f]+: 4e1e2c00 smov x0, v0\.h\[7\]
+ *[0-9a-f]+: 4e042c00 smov x0, v0\.s\[0\]
+ *[0-9a-f]+: 4e042c1f smov xzr, v0\.s\[0\]
+ *[0-9a-f]+: 4e042fe0 smov x0, v31\.s\[0\]
+ *[0-9a-f]+: 4e1c2c00 smov x0, v0\.s\[3\]
+ *[0-9a-f]+: 0e013c00 umov w0, v0\.b\[0\]
+ *[0-9a-f]+: 0e013c1f umov wzr, v0\.b\[0\]
+ *[0-9a-f]+: 0e013fe0 umov w0, v31\.b\[0\]
+ *[0-9a-f]+: 0e1f3c00 umov w0, v0\.b\[15\]
+ *[0-9a-f]+: 0e023c00 umov w0, v0\.h\[0\]
+ *[0-9a-f]+: 0e023c1f umov wzr, v0\.h\[0\]
+ *[0-9a-f]+: 0e023fe0 umov w0, v31\.h\[0\]
+ *[0-9a-f]+: 0e1e3c00 umov w0, v0\.h\[7\]
+ *[0-9a-f]+: 0e043c00 mov w0, v0\.s\[0\]
+ *[0-9a-f]+: 0e043c1f mov wzr, v0\.s\[0\]
+ *[0-9a-f]+: 0e043fe0 mov w0, v31\.s\[0\]
+ *[0-9a-f]+: 0e1c3c00 mov w0, v0\.s\[3\]
+ *[0-9a-f]+: 4e083c00 mov x0, v0\.d\[0\]
+ *[0-9a-f]+: 4e083c1f mov xzr, v0\.d\[0\]
+ *[0-9a-f]+: 4e083fe0 mov x0, v31\.d\[0\]
+ *[0-9a-f]+: 4e183c00 mov x0, v0\.d\[1\]
+ *[0-9a-f]+: 0e043c00 mov w0, v0\.s\[0\]
+ *[0-9a-f]+: 0e043c1f mov wzr, v0\.s\[0\]
+ *[0-9a-f]+: 0e043fe0 mov w0, v31\.s\[0\]
+ *[0-9a-f]+: 0e1c3c00 mov w0, v0\.s\[3\]
+ *[0-9a-f]+: 4e083c00 mov x0, v0\.d\[0\]
+ *[0-9a-f]+: 4e083c1f mov xzr, v0\.d\[0\]
+ *[0-9a-f]+: 4e083fe0 mov x0, v31\.d\[0\]
+ *[0-9a-f]+: 4e183c00 mov x0, v0\.d\[1\]
+ *[0-9a-f]+: 4e011c00 mov v0\.b\[0\], w0
+ *[0-9a-f]+: 4e011c1f mov v31\.b\[0\], w0
+ *[0-9a-f]+: 4e011fe0 mov v0\.b\[0\], wzr
+ *[0-9a-f]+: 4e1f1c00 mov v0\.b\[15\], w0
+ *[0-9a-f]+: 4e021c00 mov v0\.h\[0\], w0
+ *[0-9a-f]+: 4e021c1f mov v31\.h\[0\], w0
+ *[0-9a-f]+: 4e021fe0 mov v0\.h\[0\], wzr
+ *[0-9a-f]+: 4e1e1c00 mov v0\.h\[7\], w0
+ *[0-9a-f]+: 4e041c00 mov v0\.s\[0\], w0
+ *[0-9a-f]+: 4e041c1f mov v31\.s\[0\], w0
+ *[0-9a-f]+: 4e041fe0 mov v0\.s\[0\], wzr
+ *[0-9a-f]+: 4e1c1c00 mov v0\.s\[3\], w0
+ *[0-9a-f]+: 4e081c00 mov v0\.d\[0\], x0
+ *[0-9a-f]+: 4e081c1f mov v31\.d\[0\], x0
+ *[0-9a-f]+: 4e081fe0 mov v0\.d\[0\], xzr
+ *[0-9a-f]+: 4e181c00 mov v0\.d\[1\], x0
+ *[0-9a-f]+: 4e011c00 mov v0\.b\[0\], w0
+ *[0-9a-f]+: 4e011c1f mov v31\.b\[0\], w0
+ *[0-9a-f]+: 4e011fe0 mov v0\.b\[0\], wzr
+ *[0-9a-f]+: 4e1f1c00 mov v0\.b\[15\], w0
+ *[0-9a-f]+: 4e021c00 mov v0\.h\[0\], w0
+ *[0-9a-f]+: 4e021c1f mov v31\.h\[0\], w0
+ *[0-9a-f]+: 4e021fe0 mov v0\.h\[0\], wzr
+ *[0-9a-f]+: 4e1e1c00 mov v0\.h\[7\], w0
+ *[0-9a-f]+: 4e041c00 mov v0\.s\[0\], w0
+ *[0-9a-f]+: 4e041c1f mov v31\.s\[0\], w0
+ *[0-9a-f]+: 4e041fe0 mov v0\.s\[0\], wzr
+ *[0-9a-f]+: 4e1c1c00 mov v0\.s\[3\], w0
+ *[0-9a-f]+: 4e081c00 mov v0\.d\[0\], x0
+ *[0-9a-f]+: 4e081c1f mov v31\.d\[0\], x0
+ *[0-9a-f]+: 4e081fe0 mov v0\.d\[0\], xzr
+ *[0-9a-f]+: 4e181c00 mov v0\.d\[1\], x0
+ *[0-9a-f]+: 6e010400 mov v0\.b\[0\], v0\.b\[0\]
+ *[0-9a-f]+: 6e01041f mov v31\.b\[0\], v0\.b\[0\]
+ *[0-9a-f]+: 6e0107e0 mov v0\.b\[0\], v31\.b\[0\]
+ *[0-9a-f]+: 6e1f0400 mov v0\.b\[15\], v0\.b\[0\]
+ *[0-9a-f]+: 6e017c00 mov v0\.b\[0\], v0\.b\[15\]
+ *[0-9a-f]+: 6e020400 mov v0\.h\[0\], v0\.h\[0\]
+ *[0-9a-f]+: 6e02041f mov v31\.h\[0\], v0\.h\[0\]
+ *[0-9a-f]+: 6e0207e0 mov v0\.h\[0\], v31\.h\[0\]
+ *[0-9a-f]+: 6e1e0400 mov v0\.h\[7\], v0\.h\[0\]
+ *[0-9a-f]+: 6e027400 mov v0\.h\[0\], v0\.h\[7\]
+ *[0-9a-f]+: 6e040400 mov v0\.s\[0\], v0\.s\[0\]
+ *[0-9a-f]+: 6e04041f mov v31\.s\[0\], v0\.s\[0\]
+ *[0-9a-f]+: 6e0407e0 mov v0\.s\[0\], v31\.s\[0\]
+ *[0-9a-f]+: 6e1c0400 mov v0\.s\[3\], v0\.s\[0\]
+ *[0-9a-f]+: 6e046400 mov v0\.s\[0\], v0\.s\[3\]
+ *[0-9a-f]+: 6e080400 mov v0\.d\[0\], v0\.d\[0\]
+ *[0-9a-f]+: 6e08041f mov v31\.d\[0\], v0\.d\[0\]
+ *[0-9a-f]+: 6e0807e0 mov v0\.d\[0\], v31\.d\[0\]
+ *[0-9a-f]+: 6e180400 mov v0\.d\[1\], v0\.d\[0\]
+ *[0-9a-f]+: 6e084400 mov v0\.d\[0\], v0\.d\[1\]
+ *[0-9a-f]+: 6e022c00 mov v0\.h\[0\], v0\.h\[2\]
+ *[0-9a-f]+: 6e083c00 mov v0\.d\[0\], v0\.d\[0\]
+ *[0-9a-f]+: 6e010400 mov v0\.b\[0\], v0\.b\[0\]
+ *[0-9a-f]+: 6e01041f mov v31\.b\[0\], v0\.b\[0\]
+ *[0-9a-f]+: 6e0107e0 mov v0\.b\[0\], v31\.b\[0\]
+ *[0-9a-f]+: 6e1f0400 mov v0\.b\[15\], v0\.b\[0\]
+ *[0-9a-f]+: 6e017c00 mov v0\.b\[0\], v0\.b\[15\]
+ *[0-9a-f]+: 6e020400 mov v0\.h\[0\], v0\.h\[0\]
+ *[0-9a-f]+: 6e02041f mov v31\.h\[0\], v0\.h\[0\]
+ *[0-9a-f]+: 6e0207e0 mov v0\.h\[0\], v31\.h\[0\]
+ *[0-9a-f]+: 6e1e0400 mov v0\.h\[7\], v0\.h\[0\]
+ *[0-9a-f]+: 6e027400 mov v0\.h\[0\], v0\.h\[7\]
+ *[0-9a-f]+: 6e040400 mov v0\.s\[0\], v0\.s\[0\]
+ *[0-9a-f]+: 6e04041f mov v31\.s\[0\], v0\.s\[0\]
+ *[0-9a-f]+: 6e0407e0 mov v0\.s\[0\], v31\.s\[0\]
+ *[0-9a-f]+: 6e1c0400 mov v0\.s\[3\], v0\.s\[0\]
+ *[0-9a-f]+: 6e046400 mov v0\.s\[0\], v0\.s\[3\]
+ *[0-9a-f]+: 6e080400 mov v0\.d\[0\], v0\.d\[0\]
+ *[0-9a-f]+: 6e08041f mov v31\.d\[0\], v0\.d\[0\]
+ *[0-9a-f]+: 6e0807e0 mov v0\.d\[0\], v31\.d\[0\]
+ *[0-9a-f]+: 6e180400 mov v0\.d\[1\], v0\.d\[0\]
+ *[0-9a-f]+: 6e084400 mov v0\.d\[0\], v0\.d\[1\]
diff --git a/gas/testsuite/gas/aarch64/advsimd-copy.s b/gas/testsuite/gas/aarch64/advsimd-copy.s
new file mode 100644
index 0000000..d061894
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-copy.s
@@ -0,0 +1,181 @@
+ dup v0.8b, v0.b[0]
+ dup v31.8b, v0.b[0]
+ dup v0.8b, v31.b[0]
+ dup v0.8b, v0.b[15]
+ dup v0.4h, v0.h[0]
+ dup v31.4h, v0.h[0]
+ dup v0.4h, v31.h[0]
+ dup v0.4h, v0.h[7]
+ dup v0.2s, v0.s[0]
+ dup v31.2s, v0.s[0]
+ dup v0.2s, v31.s[0]
+ dup v0.2s, v0.s[3]
+ dup v0.16b, v0.b[0]
+ dup v31.16b, v0.b[0]
+ dup v0.16b, v31.b[0]
+ dup v0.16b, v0.b[15]
+ dup v0.8h, v0.h[0]
+ dup v31.8h, v0.h[0]
+ dup v0.8h, v31.h[0]
+ dup v0.8h, v0.h[7]
+ dup v0.4s, v0.s[0]
+ dup v31.4s, v0.s[0]
+ dup v0.4s, v31.s[0]
+ dup v0.4s, v0.s[3]
+ dup v0.2d, v0.d[0]
+ dup v31.2d, v0.d[0]
+ dup v0.2d, v31.d[0]
+ dup v0.2d, v0.d[1]
+
+ dup v0.8b, w0
+ dup v31.8b, w0
+ dup v0.8b, wzr
+ dup v0.4h, w0
+ dup v31.4h, w0
+ dup v0.4h, wzr
+ dup v0.2s, w0
+ dup v31.2s, w0
+ dup v0.2s, wzr
+ dup v0.16b, w0
+ dup v31.16b, w0
+ dup v0.16b, wzr
+ dup v0.8h, w0
+ dup v31.8h, w0
+ dup v0.8h, wzr
+ dup v0.4s, w0
+ dup v31.4s, w0
+ dup v0.4s, wzr
+ dup v0.2d, x0
+ dup v31.2d, x0
+ dup v0.2d, xzr
+// Unspecified bits in imm5 (20..16) are ignored but should be set to zero by
+// an assembler. This tests disassembly when the ignored bits are nonzero.
+ .inst 0x0e150c00
+ .inst 0x4e180c00
+
+ smov w0, v0.b[0]
+ smov wzr, v0.b[0]
+ smov w0, v31.b[0]
+ smov w0, v0.b[15]
+ smov w0, v0.h[0]
+ smov wzr, v0.h[0]
+ smov w0, v31.h[0]
+ smov w0, v0.h[7]
+ smov x0, v0.b[0]
+ smov xzr, v0.b[0]
+ smov x0, v31.b[0]
+ smov x0, v0.b[15]
+ smov x0, v0.h[0]
+ smov xzr, v0.h[0]
+ smov x0, v31.h[0]
+ smov x0, v0.h[7]
+ smov x0, v0.s[0]
+ smov xzr, v0.s[0]
+ smov x0, v31.s[0]
+ smov x0, v0.s[3]
+
+ umov w0, v0.b[0]
+ umov wzr, v0.b[0]
+ umov w0, v31.b[0]
+ umov w0, v0.b[15]
+ umov w0, v0.h[0]
+ umov wzr, v0.h[0]
+ umov w0, v31.h[0]
+ umov w0, v0.h[7]
+ umov w0, v0.s[0]
+ umov wzr, v0.s[0]
+ umov w0, v31.s[0]
+ umov w0, v0.s[3]
+ umov x0, v0.d[0]
+ umov xzr, v0.d[0]
+ umov x0, v31.d[0]
+ umov x0, v0.d[1]
+
+ mov w0, v0.s[0]
+ mov wzr, v0.s[0]
+ mov w0, v31.s[0]
+ mov w0, v0.s[3]
+ mov x0, v0.d[0]
+ mov xzr, v0.d[0]
+ mov x0, v31.d[0]
+ mov x0, v0.d[1]
+
+ ins v0.b[0], w0
+ ins v31.b[0], w0
+ ins v0.b[0], wzr
+ ins v0.b[15], w0
+ ins v0.h[0], w0
+ ins v31.h[0], w0
+ ins v0.h[0], wzr
+ ins v0.h[7], w0
+ ins v0.s[0], w0
+ ins v31.s[0], w0
+ ins v0.s[0], wzr
+ ins v0.s[3], w0
+ ins v0.d[0], x0
+ ins v31.d[0], x0
+ ins v0.d[0], xzr
+ ins v0.d[1], x0
+
+ mov v0.b[0], w0
+ mov v31.b[0], w0
+ mov v0.b[0], wzr
+ mov v0.b[15], w0
+ mov v0.h[0], w0
+ mov v31.h[0], w0
+ mov v0.h[0], wzr
+ mov v0.h[7], w0
+ mov v0.s[0], w0
+ mov v31.s[0], w0
+ mov v0.s[0], wzr
+ mov v0.s[3], w0
+ mov v0.d[0], x0
+ mov v31.d[0], x0
+ mov v0.d[0], xzr
+ mov v0.d[1], x0
+
+ ins v0.b[0], v0.b[0]
+ ins v31.b[0], v0.b[0]
+ ins v0.b[0], v31.b[0]
+ ins v0.b[15], v0.b[0]
+ ins v0.b[0], v0.b[15]
+ ins v0.h[0], v0.h[0]
+ ins v31.h[0], v0.h[0]
+ ins v0.h[0], v31.h[0]
+ ins v0.h[7], v0.h[0]
+ ins v0.h[0], v0.h[7]
+ ins v0.s[0], v0.s[0]
+ ins v31.s[0], v0.s[0]
+ ins v0.s[0], v31.s[0]
+ ins v0.s[3], v0.s[0]
+ ins v0.s[0], v0.s[3]
+ ins v0.d[0], v0.d[0]
+ ins v31.d[0], v0.d[0]
+ ins v0.d[0], v31.d[0]
+ ins v0.d[1], v0.d[0]
+ ins v0.d[0], v0.d[1]
+// Unspecified bits in imm4 (14..11) are ignored but should be set to zero by
+// an assembler. This tests disassembly when the ignored bits are nonzero.
+ .inst 0x6e022c00
+ .inst 0x6e083c00
+
+ mov v0.b[0], v0.b[0]
+ mov v31.b[0], v0.b[0]
+ mov v0.b[0], v31.b[0]
+ mov v0.b[15], v0.b[0]
+ mov v0.b[0], v0.b[15]
+ mov v0.h[0], v0.h[0]
+ mov v31.h[0], v0.h[0]
+ mov v0.h[0], v31.h[0]
+ mov v0.h[7], v0.h[0]
+ mov v0.h[0], v0.h[7]
+ mov v0.s[0], v0.s[0]
+ mov v31.s[0], v0.s[0]
+ mov v0.s[0], v31.s[0]
+ mov v0.s[3], v0.s[0]
+ mov v0.s[0], v0.s[3]
+ mov v0.d[0], v0.d[0]
+ mov v31.d[0], v0.d[0]
+ mov v0.d[0], v31.d[0]
+ mov v0.d[1], v0.d[0]
+ mov v0.d[0], v0.d[1]
diff --git a/gas/testsuite/gas/aarch64/advsimd-fp16.d b/gas/testsuite/gas/aarch64/advsimd-fp16.d
index 4913036..ffac0d3 100644
--- a/gas/testsuite/gas/aarch64/advsimd-fp16.d
+++ b/gas/testsuite/gas/aarch64/advsimd-fp16.d
@@ -6,572 +6,583 @@
Disassembly of section \.text:
0+ <.*>:
- [0-9a-f]+: 4e63c441 fmaxnm v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23c441 fmaxnm v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23c441 fmaxnm v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e400400 fmaxnm v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e430441 fmaxnm v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e400400 fmaxnm v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e430441 fmaxnm v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63c441 fmaxnmp v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23c441 fmaxnmp v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23c441 fmaxnmp v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e400400 fmaxnmp v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e430441 fmaxnmp v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e400400 fmaxnmp v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e430441 fmaxnmp v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4ee3c441 fminnm v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0ea3c441 fminnm v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4ea3c441 fminnm v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0ec00400 fminnm v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0ec30441 fminnm v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4ec00400 fminnm v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4ec30441 fminnm v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6ee3c441 fminnmp v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2ea3c441 fminnmp v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6ea3c441 fminnmp v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2ec00400 fminnmp v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2ec30441 fminnmp v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6ec00400 fminnmp v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6ec30441 fminnmp v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4e63cc41 fmla v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23cc41 fmla v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23cc41 fmla v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e400c00 fmla v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e430c41 fmla v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e400c00 fmla v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e430c41 fmla v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4ee3cc41 fmls v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0ea3cc41 fmls v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4ea3cc41 fmls v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0ec00c00 fmls v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0ec30c41 fmls v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4ec00c00 fmls v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4ec30c41 fmls v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4e63d441 fadd v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23d441 fadd v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23d441 fadd v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e401400 fadd v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e431441 fadd v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e401400 fadd v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e431441 fadd v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63d441 faddp v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23d441 faddp v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23d441 faddp v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e401400 faddp v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e431441 faddp v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e401400 faddp v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e431441 faddp v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4ee3d441 fsub v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0ea3d441 fsub v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4ea3d441 fsub v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0ec01400 fsub v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0ec31441 fsub v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4ec01400 fsub v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4ec31441 fsub v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4e63dc41 fmulx v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23dc41 fmulx v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23dc41 fmulx v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e401c00 fmulx v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e431c41 fmulx v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e401c00 fmulx v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e431c41 fmulx v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63dc41 fmul v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23dc41 fmul v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23dc41 fmul v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e401c00 fmul v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e431c41 fmul v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e401c00 fmul v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e431c41 fmul v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4e63e441 fcmeq v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23e441 fcmeq v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23e441 fcmeq v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e402400 fcmeq v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e432441 fcmeq v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e402400 fcmeq v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e432441 fcmeq v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63e441 fcmge v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23e441 fcmge v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23e441 fcmge v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e402400 fcmge v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e432441 fcmge v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e402400 fcmge v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e432441 fcmge v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6ee3e441 fcmgt v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2ea3e441 fcmgt v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6ea3e441 fcmgt v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2ec02400 fcmgt v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2ec32441 fcmgt v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6ec02400 fcmgt v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6ec32441 fcmgt v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63ec41 facge v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23ec41 facge v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23ec41 facge v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e402c00 facge v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e432c41 facge v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e402c00 facge v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e432c41 facge v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6ee3ec41 facgt v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2ea3ec41 facgt v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6ea3ec41 facgt v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2ec02c00 facgt v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2ec32c41 facgt v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6ec02c00 facgt v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6ec32c41 facgt v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4e63f441 fmax v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23f441 fmax v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23f441 fmax v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e403400 fmax v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e433441 fmax v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e403400 fmax v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e433441 fmax v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63f441 fmaxp v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23f441 fmaxp v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23f441 fmaxp v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e403400 fmaxp v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e433441 fmaxp v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e403400 fmaxp v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e433441 fmaxp v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4ee3f441 fmin v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0ea3f441 fmin v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4ea3f441 fmin v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0ec03400 fmin v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0ec33441 fmin v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4ec03400 fmin v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4ec33441 fmin v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6ee3f441 fminp v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2ea3f441 fminp v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6ea3f441 fminp v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2ec03400 fminp v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2ec33441 fminp v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6ec03400 fminp v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6ec33441 fminp v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4e63fc41 frecps v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0e23fc41 frecps v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4e23fc41 frecps v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0e403c00 frecps v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0e433c41 frecps v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4e403c00 frecps v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4e433c41 frecps v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 6e63fc41 fdiv v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 2e23fc41 fdiv v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 6e23fc41 fdiv v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 2e403c00 fdiv v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 2e433c41 fdiv v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 6e403c00 fdiv v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 6e433c41 fdiv v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 4ee3fc41 frsqrts v1.2d, v2.2d, v3.2d
- [0-9a-f]+: 0ea3fc41 frsqrts v1.2s, v2.2s, v3.2s
- [0-9a-f]+: 4ea3fc41 frsqrts v1.4s, v2.4s, v3.4s
- [0-9a-f]+: 0ec03c00 frsqrts v0.4h, v0.4h, v0.4h
- [0-9a-f]+: 0ec33c41 frsqrts v1.4h, v2.4h, v3.4h
- [0-9a-f]+: 4ec03c00 frsqrts v0.8h, v0.8h, v0.8h
- [0-9a-f]+: 4ec33c41 frsqrts v1.8h, v2.8h, v3.8h
- [0-9a-f]+: 7ee2d420 fabd d0, d1, d2
- [0-9a-f]+: 7ea2d420 fabd s0, s1, s2
- [0-9a-f]+: 7ec21420 fabd h0, h1, h2
- [0-9a-f]+: 7ec01400 fabd h0, h0, h0
- [0-9a-f]+: 5e62dc20 fmulx d0, d1, d2
- [0-9a-f]+: 5e22dc20 fmulx s0, s1, s2
- [0-9a-f]+: 5e421c20 fmulx h0, h1, h2
- [0-9a-f]+: 5e401c00 fmulx h0, h0, h0
- [0-9a-f]+: 5e62e420 fcmeq d0, d1, d2
- [0-9a-f]+: 5e22e420 fcmeq s0, s1, s2
- [0-9a-f]+: 5e422420 fcmeq h0, h1, h2
- [0-9a-f]+: 5e402400 fcmeq h0, h0, h0
- [0-9a-f]+: 7ee2e420 fcmgt d0, d1, d2
- [0-9a-f]+: 7ea2e420 fcmgt s0, s1, s2
- [0-9a-f]+: 7ec22420 fcmgt h0, h1, h2
- [0-9a-f]+: 7ec02400 fcmgt h0, h0, h0
- [0-9a-f]+: 7e62e420 fcmge d0, d1, d2
- [0-9a-f]+: 7e22e420 fcmge s0, s1, s2
- [0-9a-f]+: 7e422420 fcmge h0, h1, h2
- [0-9a-f]+: 7e402400 fcmge h0, h0, h0
- [0-9a-f]+: 7e62ec20 facge d0, d1, d2
- [0-9a-f]+: 7e22ec20 facge s0, s1, s2
- [0-9a-f]+: 7e422c20 facge h0, h1, h2
- [0-9a-f]+: 7e402c00 facge h0, h0, h0
- [0-9a-f]+: 7ee2ec20 facgt d0, d1, d2
- [0-9a-f]+: 7ea2ec20 facgt s0, s1, s2
- [0-9a-f]+: 7ec22c20 facgt h0, h1, h2
- [0-9a-f]+: 7ec02c00 facgt h0, h0, h0
- [0-9a-f]+: 5e62fc20 frecps d0, d1, d2
- [0-9a-f]+: 5e22fc20 frecps s0, s1, s2
- [0-9a-f]+: 5e423c20 frecps h0, h1, h2
- [0-9a-f]+: 5e403c00 frecps h0, h0, h0
- [0-9a-f]+: 5ee2fc20 frsqrts d0, d1, d2
- [0-9a-f]+: 5ea2fc20 frsqrts s0, s1, s2
- [0-9a-f]+: 5ec23c20 frsqrts h0, h1, h2
- [0-9a-f]+: 5ec03c00 frsqrts h0, h0, h0
- [0-9a-f]+: 4ee0c820 fcmgt v0.2d, v1.2d, #0.0
- [0-9a-f]+: 0ea0c820 fcmgt v0.2s, v1.2s, #0.0
- [0-9a-f]+: 4ea0c820 fcmgt v0.4s, v1.4s, #0.0
- [0-9a-f]+: 0ef8c820 fcmgt v0.4h, v1.4h, #0.0
- [0-9a-f]+: 4ef8c820 fcmgt v0.8h, v1.8h, #0.0
- [0-9a-f]+: 6ee0c820 fcmge v0.2d, v1.2d, #0.0
- [0-9a-f]+: 2ea0c820 fcmge v0.2s, v1.2s, #0.0
- [0-9a-f]+: 6ea0c820 fcmge v0.4s, v1.4s, #0.0
- [0-9a-f]+: 2ef8c820 fcmge v0.4h, v1.4h, #0.0
- [0-9a-f]+: 6ef8c820 fcmge v0.8h, v1.8h, #0.0
- [0-9a-f]+: 4ee0d820 fcmeq v0.2d, v1.2d, #0.0
- [0-9a-f]+: 0ea0d820 fcmeq v0.2s, v1.2s, #0.0
- [0-9a-f]+: 4ea0d820 fcmeq v0.4s, v1.4s, #0.0
- [0-9a-f]+: 0ef8d820 fcmeq v0.4h, v1.4h, #0.0
- [0-9a-f]+: 4ef8d820 fcmeq v0.8h, v1.8h, #0.0
- [0-9a-f]+: 6ee0d820 fcmle v0.2d, v1.2d, #0.0
- [0-9a-f]+: 2ea0d820 fcmle v0.2s, v1.2s, #0.0
- [0-9a-f]+: 6ea0d820 fcmle v0.4s, v1.4s, #0.0
- [0-9a-f]+: 2ef8d820 fcmle v0.4h, v1.4h, #0.0
- [0-9a-f]+: 6ef8d820 fcmle v0.8h, v1.8h, #0.0
- [0-9a-f]+: 4ee0e820 fcmlt v0.2d, v1.2d, #0.0
- [0-9a-f]+: 0ea0e820 fcmlt v0.2s, v1.2s, #0.0
- [0-9a-f]+: 4ea0e820 fcmlt v0.4s, v1.4s, #0.0
- [0-9a-f]+: 0ef8e820 fcmlt v0.4h, v1.4h, #0.0
- [0-9a-f]+: 4ef8e820 fcmlt v0.8h, v1.8h, #0.0
- [0-9a-f]+: 4ee0f820 fabs v0.2d, v1.2d
- [0-9a-f]+: 0ea0f820 fabs v0.2s, v1.2s
- [0-9a-f]+: 4ea0f820 fabs v0.4s, v1.4s
- [0-9a-f]+: 0ef8f820 fabs v0.4h, v1.4h
- [0-9a-f]+: 4ef8f820 fabs v0.8h, v1.8h
- [0-9a-f]+: 6ee0f820 fneg v0.2d, v1.2d
- [0-9a-f]+: 2ea0f820 fneg v0.2s, v1.2s
- [0-9a-f]+: 6ea0f820 fneg v0.4s, v1.4s
- [0-9a-f]+: 2ef8f820 fneg v0.4h, v1.4h
- [0-9a-f]+: 6ef8f820 fneg v0.8h, v1.8h
- [0-9a-f]+: 4e618820 frintn v0.2d, v1.2d
- [0-9a-f]+: 0e218820 frintn v0.2s, v1.2s
- [0-9a-f]+: 4e218820 frintn v0.4s, v1.4s
- [0-9a-f]+: 0e798820 frintn v0.4h, v1.4h
- [0-9a-f]+: 4e798820 frintn v0.8h, v1.8h
- [0-9a-f]+: 6e618820 frinta v0.2d, v1.2d
- [0-9a-f]+: 2e218820 frinta v0.2s, v1.2s
- [0-9a-f]+: 6e218820 frinta v0.4s, v1.4s
- [0-9a-f]+: 2e798820 frinta v0.4h, v1.4h
- [0-9a-f]+: 6e798820 frinta v0.8h, v1.8h
- [0-9a-f]+: 4ee18820 frintp v0.2d, v1.2d
- [0-9a-f]+: 0ea18820 frintp v0.2s, v1.2s
- [0-9a-f]+: 4ea18820 frintp v0.4s, v1.4s
- [0-9a-f]+: 0ef98820 frintp v0.4h, v1.4h
- [0-9a-f]+: 4ef98820 frintp v0.8h, v1.8h
- [0-9a-f]+: 4e619820 frintm v0.2d, v1.2d
- [0-9a-f]+: 0e219820 frintm v0.2s, v1.2s
- [0-9a-f]+: 4e219820 frintm v0.4s, v1.4s
- [0-9a-f]+: 0e799820 frintm v0.4h, v1.4h
- [0-9a-f]+: 4e799820 frintm v0.8h, v1.8h
- [0-9a-f]+: 6e619820 frintx v0.2d, v1.2d
- [0-9a-f]+: 2e219820 frintx v0.2s, v1.2s
- [0-9a-f]+: 6e219820 frintx v0.4s, v1.4s
- [0-9a-f]+: 2e799820 frintx v0.4h, v1.4h
- [0-9a-f]+: 6e799820 frintx v0.8h, v1.8h
- [0-9a-f]+: 4ee19820 frintz v0.2d, v1.2d
- [0-9a-f]+: 0ea19820 frintz v0.2s, v1.2s
- [0-9a-f]+: 4ea19820 frintz v0.4s, v1.4s
- [0-9a-f]+: 0ef99820 frintz v0.4h, v1.4h
- [0-9a-f]+: 4ef99820 frintz v0.8h, v1.8h
- [0-9a-f]+: 6ee19820 frinti v0.2d, v1.2d
- [0-9a-f]+: 2ea19820 frinti v0.2s, v1.2s
- [0-9a-f]+: 6ea19820 frinti v0.4s, v1.4s
- [0-9a-f]+: 2ef99820 frinti v0.4h, v1.4h
- [0-9a-f]+: 6ef99820 frinti v0.8h, v1.8h
- [0-9a-f]+: 4e61a820 fcvtns v0.2d, v1.2d
- [0-9a-f]+: 0e21a820 fcvtns v0.2s, v1.2s
- [0-9a-f]+: 4e21a820 fcvtns v0.4s, v1.4s
- [0-9a-f]+: 0e79a820 fcvtns v0.4h, v1.4h
- [0-9a-f]+: 4e79a820 fcvtns v0.8h, v1.8h
- [0-9a-f]+: 6e61a820 fcvtnu v0.2d, v1.2d
- [0-9a-f]+: 2e21a820 fcvtnu v0.2s, v1.2s
- [0-9a-f]+: 6e21a820 fcvtnu v0.4s, v1.4s
- [0-9a-f]+: 2e79a820 fcvtnu v0.4h, v1.4h
- [0-9a-f]+: 6e79a820 fcvtnu v0.8h, v1.8h
- [0-9a-f]+: 4ee1a820 fcvtps v0.2d, v1.2d
- [0-9a-f]+: 0ea1a820 fcvtps v0.2s, v1.2s
- [0-9a-f]+: 4ea1a820 fcvtps v0.4s, v1.4s
- [0-9a-f]+: 0ef9a820 fcvtps v0.4h, v1.4h
- [0-9a-f]+: 4ef9a820 fcvtps v0.8h, v1.8h
- [0-9a-f]+: 6ee1a820 fcvtpu v0.2d, v1.2d
- [0-9a-f]+: 2ea1a820 fcvtpu v0.2s, v1.2s
- [0-9a-f]+: 6ea1a820 fcvtpu v0.4s, v1.4s
- [0-9a-f]+: 2ef9a820 fcvtpu v0.4h, v1.4h
- [0-9a-f]+: 6ef9a820 fcvtpu v0.8h, v1.8h
- [0-9a-f]+: 4e61b820 fcvtms v0.2d, v1.2d
- [0-9a-f]+: 0e21b820 fcvtms v0.2s, v1.2s
- [0-9a-f]+: 4e21b820 fcvtms v0.4s, v1.4s
- [0-9a-f]+: 0e79b820 fcvtms v0.4h, v1.4h
- [0-9a-f]+: 4e79b820 fcvtms v0.8h, v1.8h
- [0-9a-f]+: 6e61b820 fcvtmu v0.2d, v1.2d
- [0-9a-f]+: 2e21b820 fcvtmu v0.2s, v1.2s
- [0-9a-f]+: 6e21b820 fcvtmu v0.4s, v1.4s
- [0-9a-f]+: 2e79b820 fcvtmu v0.4h, v1.4h
- [0-9a-f]+: 6e79b820 fcvtmu v0.8h, v1.8h
- [0-9a-f]+: 4ee1b820 fcvtzs v0.2d, v1.2d
- [0-9a-f]+: 0ea1b820 fcvtzs v0.2s, v1.2s
- [0-9a-f]+: 4ea1b820 fcvtzs v0.4s, v1.4s
- [0-9a-f]+: 0ef9b820 fcvtzs v0.4h, v1.4h
- [0-9a-f]+: 4ef9b820 fcvtzs v0.8h, v1.8h
- [0-9a-f]+: 6ee1b820 fcvtzu v0.2d, v1.2d
- [0-9a-f]+: 2ea1b820 fcvtzu v0.2s, v1.2s
- [0-9a-f]+: 6ea1b820 fcvtzu v0.4s, v1.4s
- [0-9a-f]+: 2ef9b820 fcvtzu v0.4h, v1.4h
- [0-9a-f]+: 6ef9b820 fcvtzu v0.8h, v1.8h
- [0-9a-f]+: 4e61c820 fcvtas v0.2d, v1.2d
- [0-9a-f]+: 0e21c820 fcvtas v0.2s, v1.2s
- [0-9a-f]+: 4e21c820 fcvtas v0.4s, v1.4s
- [0-9a-f]+: 0e79c820 fcvtas v0.4h, v1.4h
- [0-9a-f]+: 4e79c820 fcvtas v0.8h, v1.8h
- [0-9a-f]+: 6e61c820 fcvtau v0.2d, v1.2d
- [0-9a-f]+: 2e21c820 fcvtau v0.2s, v1.2s
- [0-9a-f]+: 6e21c820 fcvtau v0.4s, v1.4s
- [0-9a-f]+: 2e79c820 fcvtau v0.4h, v1.4h
- [0-9a-f]+: 6e79c820 fcvtau v0.8h, v1.8h
- [0-9a-f]+: 4e61d820 scvtf v0.2d, v1.2d
- [0-9a-f]+: 0e21d820 scvtf v0.2s, v1.2s
- [0-9a-f]+: 4e21d820 scvtf v0.4s, v1.4s
- [0-9a-f]+: 0e79d820 scvtf v0.4h, v1.4h
- [0-9a-f]+: 4e79d820 scvtf v0.8h, v1.8h
- [0-9a-f]+: 6e61d820 ucvtf v0.2d, v1.2d
- [0-9a-f]+: 2e21d820 ucvtf v0.2s, v1.2s
- [0-9a-f]+: 6e21d820 ucvtf v0.4s, v1.4s
- [0-9a-f]+: 2e79d820 ucvtf v0.4h, v1.4h
- [0-9a-f]+: 6e79d820 ucvtf v0.8h, v1.8h
- [0-9a-f]+: 4ee1d820 frecpe v0.2d, v1.2d
- [0-9a-f]+: 0ea1d820 frecpe v0.2s, v1.2s
- [0-9a-f]+: 4ea1d820 frecpe v0.4s, v1.4s
- [0-9a-f]+: 0ef9d820 frecpe v0.4h, v1.4h
- [0-9a-f]+: 4ef9d820 frecpe v0.8h, v1.8h
- [0-9a-f]+: 6ee1d820 frsqrte v0.2d, v1.2d
- [0-9a-f]+: 2ea1d820 frsqrte v0.2s, v1.2s
- [0-9a-f]+: 6ea1d820 frsqrte v0.4s, v1.4s
- [0-9a-f]+: 2ef9d820 frsqrte v0.4h, v1.4h
- [0-9a-f]+: 6ef9d820 frsqrte v0.8h, v1.8h
- [0-9a-f]+: 6ee1f820 fsqrt v0.2d, v1.2d
- [0-9a-f]+: 2ea1f820 fsqrt v0.2s, v1.2s
- [0-9a-f]+: 6ea1f820 fsqrt v0.4s, v1.4s
- [0-9a-f]+: 2ef9f820 fsqrt v0.4h, v1.4h
- [0-9a-f]+: 6ef9f820 fsqrt v0.8h, v1.8h
- [0-9a-f]+: 5ee0c820 fcmgt d0, d1, #0.0
- [0-9a-f]+: 5ea0c820 fcmgt s0, s1, #0.0
- [0-9a-f]+: 5ef8c820 fcmgt h0, h1, #0.0
- [0-9a-f]+: 5ef8c800 fcmgt h0, h0, #0.0
- [0-9a-f]+: 7ee0c820 fcmge d0, d1, #0.0
- [0-9a-f]+: 7ea0c820 fcmge s0, s1, #0.0
- [0-9a-f]+: 7ef8c820 fcmge h0, h1, #0.0
- [0-9a-f]+: 7ef8c800 fcmge h0, h0, #0.0
- [0-9a-f]+: 5ee0d820 fcmeq d0, d1, #0.0
- [0-9a-f]+: 5ea0d820 fcmeq s0, s1, #0.0
- [0-9a-f]+: 5ef8d820 fcmeq h0, h1, #0.0
- [0-9a-f]+: 5ef8d800 fcmeq h0, h0, #0.0
- [0-9a-f]+: 7ee0d820 fcmle d0, d1, #0.0
- [0-9a-f]+: 7ea0d820 fcmle s0, s1, #0.0
- [0-9a-f]+: 7ef8d820 fcmle h0, h1, #0.0
- [0-9a-f]+: 7ef8d800 fcmle h0, h0, #0.0
- [0-9a-f]+: 5ee0e820 fcmlt d0, d1, #0.0
- [0-9a-f]+: 5ea0e820 fcmlt s0, s1, #0.0
- [0-9a-f]+: 5ef8e820 fcmlt h0, h1, #0.0
- [0-9a-f]+: 5ef8e800 fcmlt h0, h0, #0.0
- [0-9a-f]+: 5e61a820 fcvtns d0, d1
- [0-9a-f]+: 5e21a820 fcvtns s0, s1
- [0-9a-f]+: 5e79a820 fcvtns h0, h1
- [0-9a-f]+: 5e79a800 fcvtns h0, h0
- [0-9a-f]+: 7e61a820 fcvtnu d0, d1
- [0-9a-f]+: 7e21a820 fcvtnu s0, s1
- [0-9a-f]+: 7e79a820 fcvtnu h0, h1
- [0-9a-f]+: 7e79a800 fcvtnu h0, h0
- [0-9a-f]+: 5ee1a820 fcvtps d0, d1
- [0-9a-f]+: 5ea1a820 fcvtps s0, s1
- [0-9a-f]+: 5ef9a820 fcvtps h0, h1
- [0-9a-f]+: 5ef9a800 fcvtps h0, h0
- [0-9a-f]+: 7ee1a820 fcvtpu d0, d1
- [0-9a-f]+: 7ea1a820 fcvtpu s0, s1
- [0-9a-f]+: 7ef9a820 fcvtpu h0, h1
- [0-9a-f]+: 7ef9a800 fcvtpu h0, h0
- [0-9a-f]+: 5e61b820 fcvtms d0, d1
- [0-9a-f]+: 5e21b820 fcvtms s0, s1
- [0-9a-f]+: 5e79b820 fcvtms h0, h1
- [0-9a-f]+: 5e79b800 fcvtms h0, h0
- [0-9a-f]+: 7e61b820 fcvtmu d0, d1
- [0-9a-f]+: 7e21b820 fcvtmu s0, s1
- [0-9a-f]+: 7e79b820 fcvtmu h0, h1
- [0-9a-f]+: 7e79b800 fcvtmu h0, h0
- [0-9a-f]+: 5ee1b820 fcvtzs d0, d1
- [0-9a-f]+: 5ea1b820 fcvtzs s0, s1
- [0-9a-f]+: 5ef9b820 fcvtzs h0, h1
- [0-9a-f]+: 5ef9b800 fcvtzs h0, h0
- [0-9a-f]+: 7ee1b820 fcvtzu d0, d1
- [0-9a-f]+: 7ea1b820 fcvtzu s0, s1
- [0-9a-f]+: 7ef9b820 fcvtzu h0, h1
- [0-9a-f]+: 7ef9b800 fcvtzu h0, h0
- [0-9a-f]+: 5e61c820 fcvtas d0, d1
- [0-9a-f]+: 5e21c820 fcvtas s0, s1
- [0-9a-f]+: 5e79c820 fcvtas h0, h1
- [0-9a-f]+: 5e79c800 fcvtas h0, h0
- [0-9a-f]+: 7e61c820 fcvtau d0, d1
- [0-9a-f]+: 7e21c820 fcvtau s0, s1
- [0-9a-f]+: 7e79c820 fcvtau h0, h1
- [0-9a-f]+: 7e79c800 fcvtau h0, h0
- [0-9a-f]+: 5e61d820 scvtf d0, d1
- [0-9a-f]+: 5e21d820 scvtf s0, s1
- [0-9a-f]+: 5e79d820 scvtf h0, h1
- [0-9a-f]+: 5e79d800 scvtf h0, h0
- [0-9a-f]+: 7e61d820 ucvtf d0, d1
- [0-9a-f]+: 7e21d820 ucvtf s0, s1
- [0-9a-f]+: 7e79d820 ucvtf h0, h1
- [0-9a-f]+: 7e79d800 ucvtf h0, h0
- [0-9a-f]+: 5ee1d820 frecpe d0, d1
- [0-9a-f]+: 5ea1d820 frecpe s0, s1
- [0-9a-f]+: 5ef9d820 frecpe h0, h1
- [0-9a-f]+: 5ef9d800 frecpe h0, h0
- [0-9a-f]+: 7ee1d820 frsqrte d0, d1
- [0-9a-f]+: 7ea1d820 frsqrte s0, s1
- [0-9a-f]+: 7ef9d820 frsqrte h0, h1
- [0-9a-f]+: 7ef9d800 frsqrte h0, h0
- [0-9a-f]+: 5ee1f820 frecpx d0, d1
- [0-9a-f]+: 5ea1f820 frecpx s0, s1
- [0-9a-f]+: 5ef9f820 frecpx h0, h1
- [0-9a-f]+: 5ef9f800 frecpx h0, h0
- [0-9a-f]+: 4fc31841 fmla v1.2d, v2.2d, v3.d\[1\]
- [0-9a-f]+: 0f831841 fmla v1.2s, v2.2s, v3.s\[2\]
- [0-9a-f]+: 4fa31041 fmla v1.4s, v2.4s, v3.s\[1\]
- [0-9a-f]+: 0f001000 fmla v0.4h, v0.4h, v0.h\[0\]
- [0-9a-f]+: 0f031041 fmla v1.4h, v2.4h, v3.h\[0\]
- [0-9a-f]+: 4f001000 fmla v0.8h, v0.8h, v0.h\[0\]
- [0-9a-f]+: 4f031041 fmla v1.8h, v2.8h, v3.h\[0\]
- [0-9a-f]+: 4fca10a1 fmla v1.2d, v5.2d, v10.d\[0\]
- [0-9a-f]+: 0fab1808 fmla v8.2s, v0.2s, v11.s\[3\]
- [0-9a-f]+: 0f3f1920 fmla v0.4h, v9.4h, v15.h\[7\]
- [0-9a-f]+: 4fc35841 fmls v1.2d, v2.2d, v3.d\[1\]
- [0-9a-f]+: 0f835841 fmls v1.2s, v2.2s, v3.s\[2\]
- [0-9a-f]+: 4fa35041 fmls v1.4s, v2.4s, v3.s\[1\]
- [0-9a-f]+: 0f005000 fmls v0.4h, v0.4h, v0.h\[0\]
- [0-9a-f]+: 0f035041 fmls v1.4h, v2.4h, v3.h\[0\]
- [0-9a-f]+: 4f005000 fmls v0.8h, v0.8h, v0.h\[0\]
- [0-9a-f]+: 4f035041 fmls v1.8h, v2.8h, v3.h\[0\]
- [0-9a-f]+: 4fca50a1 fmls v1.2d, v5.2d, v10.d\[0\]
- [0-9a-f]+: 0fab5808 fmls v8.2s, v0.2s, v11.s\[3\]
- [0-9a-f]+: 0f3f5920 fmls v0.4h, v9.4h, v15.h\[7\]
- [0-9a-f]+: 4fc39841 fmul v1.2d, v2.2d, v3.d\[1\]
- [0-9a-f]+: 0f839841 fmul v1.2s, v2.2s, v3.s\[2\]
- [0-9a-f]+: 4fa39041 fmul v1.4s, v2.4s, v3.s\[1\]
- [0-9a-f]+: 0f009000 fmul v0.4h, v0.4h, v0.h\[0\]
- [0-9a-f]+: 0f039041 fmul v1.4h, v2.4h, v3.h\[0\]
- [0-9a-f]+: 4f009000 fmul v0.8h, v0.8h, v0.h\[0\]
- [0-9a-f]+: 4f039041 fmul v1.8h, v2.8h, v3.h\[0\]
- [0-9a-f]+: 4fca90a1 fmul v1.2d, v5.2d, v10.d\[0\]
- [0-9a-f]+: 0fab9808 fmul v8.2s, v0.2s, v11.s\[3\]
- [0-9a-f]+: 0f3f9920 fmul v0.4h, v9.4h, v15.h\[7\]
- [0-9a-f]+: 6fc39841 fmulx v1.2d, v2.2d, v3.d\[1\]
- [0-9a-f]+: 2f839841 fmulx v1.2s, v2.2s, v3.s\[2\]
- [0-9a-f]+: 6fa39041 fmulx v1.4s, v2.4s, v3.s\[1\]
- [0-9a-f]+: 2f009000 fmulx v0.4h, v0.4h, v0.h\[0\]
- [0-9a-f]+: 2f039041 fmulx v1.4h, v2.4h, v3.h\[0\]
- [0-9a-f]+: 6f009000 fmulx v0.8h, v0.8h, v0.h\[0\]
- [0-9a-f]+: 6f039041 fmulx v1.8h, v2.8h, v3.h\[0\]
- [0-9a-f]+: 6fca90a1 fmulx v1.2d, v5.2d, v10.d\[0\]
- [0-9a-f]+: 2fab9808 fmulx v8.2s, v0.2s, v11.s\[3\]
- [0-9a-f]+: 2f3f9920 fmulx v0.4h, v9.4h, v15.h\[7\]
- [0-9a-f]+: 5fc31841 fmla d1, d2, v3.d\[1\]
- [0-9a-f]+: 5fa31041 fmla s1, s2, v3.s\[1\]
- [0-9a-f]+: 5f131041 fmla h1, h2, v3.h\[1\]
- [0-9a-f]+: 5f001000 fmla h0, h0, v0.h\[0\]
- [0-9a-f]+: 5fc35841 fmls d1, d2, v3.d\[1\]
- [0-9a-f]+: 5fa35041 fmls s1, s2, v3.s\[1\]
- [0-9a-f]+: 5f135041 fmls h1, h2, v3.h\[1\]
- [0-9a-f]+: 5f005000 fmls h0, h0, v0.h\[0\]
- [0-9a-f]+: 5fc39841 fmul d1, d2, v3.d\[1\]
- [0-9a-f]+: 5fa39041 fmul s1, s2, v3.s\[1\]
- [0-9a-f]+: 5f139041 fmul h1, h2, v3.h\[1\]
- [0-9a-f]+: 5f009000 fmul h0, h0, v0.h\[0\]
- [0-9a-f]+: 7fc39841 fmulx d1, d2, v3.d\[1\]
- [0-9a-f]+: 7fa39041 fmulx s1, s2, v3.s\[1\]
- [0-9a-f]+: 7f139041 fmulx h1, h2, v3.h\[1\]
- [0-9a-f]+: 7f009000 fmulx h0, h0, v0.h\[0\]
- [0-9a-f]+: 6e30c841 fmaxnmv s1, v2.4s
- [0-9a-f]+: 0e30c841 fmaxnmv h1, v2.4h
- [0-9a-f]+: 4e30c841 fmaxnmv h1, v2.8h
- [0-9a-f]+: 0e30c800 fmaxnmv h0, v0.4h
- [0-9a-f]+: 4e30c800 fmaxnmv h0, v0.8h
- [0-9a-f]+: 6e30f841 fmaxv s1, v2.4s
- [0-9a-f]+: 0e30f841 fmaxv h1, v2.4h
- [0-9a-f]+: 4e30f841 fmaxv h1, v2.8h
- [0-9a-f]+: 0e30f800 fmaxv h0, v0.4h
- [0-9a-f]+: 4e30f800 fmaxv h0, v0.8h
- [0-9a-f]+: 6eb0c841 fminnmv s1, v2.4s
- [0-9a-f]+: 0eb0c841 fminnmv h1, v2.4h
- [0-9a-f]+: 4eb0c841 fminnmv h1, v2.8h
- [0-9a-f]+: 0eb0c800 fminnmv h0, v0.4h
- [0-9a-f]+: 4eb0c800 fminnmv h0, v0.8h
- [0-9a-f]+: 6eb0f841 fminv s1, v2.4s
- [0-9a-f]+: 0eb0f841 fminv h1, v2.4h
- [0-9a-f]+: 4eb0f841 fminv h1, v2.8h
- [0-9a-f]+: 0eb0f800 fminv h0, v0.4h
- [0-9a-f]+: 4eb0f800 fminv h0, v0.8h
- [0-9a-f]+: 6f00f401 fmov v1.2d, #2.000000000000000000e\+00
- [0-9a-f]+: 0f00f401 fmov v1.2s, #2.000000000000000000e\+00
- [0-9a-f]+: 4f00f401 fmov v1.4s, #2.000000000000000000e\+00
- [0-9a-f]+: 0f00fc01 fmov v1.4h, #2.000000000000000000e\+00
- [0-9a-f]+: 4f00fc01 fmov v1.8h, #2.000000000000000000e\+00
- [0-9a-f]+: 0f03fe00 fmov v0.4h, #1.000000000000000000e\+00
- [0-9a-f]+: 4f03fe00 fmov v0.8h, #1.000000000000000000e\+00
- [0-9a-f]+: 7e70c841 fmaxnmp d1, v2.2d
- [0-9a-f]+: 7e30c841 fmaxnmp s1, v2.2s
- [0-9a-f]+: 5e30c841 fmaxnmp h1, v2.2h
- [0-9a-f]+: 5e30c800 fmaxnmp h0, v0.2h
- [0-9a-f]+: 7e70d841 faddp d1, v2.2d
- [0-9a-f]+: 7e30d841 faddp s1, v2.2s
- [0-9a-f]+: 5e30d841 faddp h1, v2.2h
- [0-9a-f]+: 5e30d800 faddp h0, v0.2h
- [0-9a-f]+: 7e70f841 fmaxp d1, v2.2d
- [0-9a-f]+: 7e30f841 fmaxp s1, v2.2s
- [0-9a-f]+: 5e30f841 fmaxp h1, v2.2h
- [0-9a-f]+: 5e30f800 fmaxp h0, v0.2h
- [0-9a-f]+: 7ef0c841 fminnmp d1, v2.2d
- [0-9a-f]+: 7eb0c841 fminnmp s1, v2.2s
- [0-9a-f]+: 5eb0c841 fminnmp h1, v2.2h
- [0-9a-f]+: 5eb0c800 fminnmp h0, v0.2h
- [0-9a-f]+: 7ef0f841 fminp d1, v2.2d
- [0-9a-f]+: 7eb0f841 fminp s1, v2.2s
- [0-9a-f]+: 5eb0f841 fminp h1, v2.2h
- [0-9a-f]+: 5eb0f800 fminp h0, v0.2h
- [0-9a-f]+: 4f7de441 scvtf v1.2d, v2.2d, #3
- [0-9a-f]+: 0f3de441 scvtf v1.2s, v2.2s, #3
- [0-9a-f]+: 4f3de441 scvtf v1.4s, v2.4s, #3
- [0-9a-f]+: 0f1de441 scvtf v1.4h, v2.4h, #3
- [0-9a-f]+: 4f1de441 scvtf v1.8h, v2.8h, #3
- [0-9a-f]+: 0f1fe400 scvtf v0.4h, v0.4h, #1
- [0-9a-f]+: 4f1fe400 scvtf v0.8h, v0.8h, #1
- [0-9a-f]+: 4f7dfc41 fcvtzs v1.2d, v2.2d, #3
- [0-9a-f]+: 0f3dfc41 fcvtzs v1.2s, v2.2s, #3
- [0-9a-f]+: 4f3dfc41 fcvtzs v1.4s, v2.4s, #3
- [0-9a-f]+: 0f1dfc41 fcvtzs v1.4h, v2.4h, #3
- [0-9a-f]+: 4f1dfc41 fcvtzs v1.8h, v2.8h, #3
- [0-9a-f]+: 0f1ffc00 fcvtzs v0.4h, v0.4h, #1
- [0-9a-f]+: 4f1ffc00 fcvtzs v0.8h, v0.8h, #1
- [0-9a-f]+: 6f7de441 ucvtf v1.2d, v2.2d, #3
- [0-9a-f]+: 2f3de441 ucvtf v1.2s, v2.2s, #3
- [0-9a-f]+: 6f3de441 ucvtf v1.4s, v2.4s, #3
- [0-9a-f]+: 2f1de441 ucvtf v1.4h, v2.4h, #3
- [0-9a-f]+: 6f1de441 ucvtf v1.8h, v2.8h, #3
- [0-9a-f]+: 2f1fe400 ucvtf v0.4h, v0.4h, #1
- [0-9a-f]+: 6f1fe400 ucvtf v0.8h, v0.8h, #1
- [0-9a-f]+: 6f7dfc41 fcvtzu v1.2d, v2.2d, #3
- [0-9a-f]+: 2f3dfc41 fcvtzu v1.2s, v2.2s, #3
- [0-9a-f]+: 6f3dfc41 fcvtzu v1.4s, v2.4s, #3
- [0-9a-f]+: 2f1dfc41 fcvtzu v1.4h, v2.4h, #3
- [0-9a-f]+: 6f1dfc41 fcvtzu v1.8h, v2.8h, #3
- [0-9a-f]+: 2f1ffc00 fcvtzu v0.4h, v0.4h, #1
- [0-9a-f]+: 6f1ffc00 fcvtzu v0.8h, v0.8h, #1
- [0-9a-f]+: 5f7de441 scvtf d1, d2, #3
- [0-9a-f]+: 5f3de441 scvtf s1, s2, #3
- [0-9a-f]+: 5f1de441 scvtf h1, h2, #3
- [0-9a-f]+: 5f1fe400 scvtf h0, h0, #1
- [0-9a-f]+: 5f7dfc41 fcvtzs d1, d2, #3
- [0-9a-f]+: 5f3dfc41 fcvtzs s1, s2, #3
- [0-9a-f]+: 5f1dfc41 fcvtzs h1, h2, #3
- [0-9a-f]+: 5f1ffc00 fcvtzs h0, h0, #1
- [0-9a-f]+: 7f7de441 ucvtf d1, d2, #3
- [0-9a-f]+: 7f3de441 ucvtf s1, s2, #3
- [0-9a-f]+: 7f1de441 ucvtf h1, h2, #3
- [0-9a-f]+: 7f1fe400 ucvtf h0, h0, #1
- [0-9a-f]+: 7f7dfc41 fcvtzu d1, d2, #3
- [0-9a-f]+: 7f3dfc41 fcvtzu s1, s2, #3
- [0-9a-f]+: 7f1dfc41 fcvtzu h1, h2, #3
- [0-9a-f]+: 7f1ffc00 fcvtzu h0, h0, #1
+ *[0-9a-f]+: 4e63c441 fmaxnm v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23c441 fmaxnm v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23c441 fmaxnm v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e400400 fmaxnm v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e430441 fmaxnm v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e400400 fmaxnm v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e430441 fmaxnm v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63c441 fmaxnmp v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23c441 fmaxnmp v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23c441 fmaxnmp v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e400400 fmaxnmp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e430441 fmaxnmp v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e400400 fmaxnmp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e430441 fmaxnmp v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4ee3c441 fminnm v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0ea3c441 fminnm v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4ea3c441 fminnm v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0ec00400 fminnm v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0ec30441 fminnm v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4ec00400 fminnm v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4ec30441 fminnm v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6ee3c441 fminnmp v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2ea3c441 fminnmp v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6ea3c441 fminnmp v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2ec00400 fminnmp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2ec30441 fminnmp v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6ec00400 fminnmp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6ec30441 fminnmp v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4e63cc41 fmla v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23cc41 fmla v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23cc41 fmla v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e400c00 fmla v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e430c41 fmla v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e400c00 fmla v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e430c41 fmla v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4ee3cc41 fmls v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0ea3cc41 fmls v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4ea3cc41 fmls v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0ec00c00 fmls v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0ec30c41 fmls v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4ec00c00 fmls v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4ec30c41 fmls v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4e63d441 fadd v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23d441 fadd v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23d441 fadd v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e401400 fadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e431441 fadd v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e401400 fadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e431441 fadd v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63d441 faddp v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23d441 faddp v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23d441 faddp v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e401400 faddp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e431441 faddp v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e401400 faddp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e431441 faddp v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4ee3d441 fsub v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0ea3d441 fsub v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4ea3d441 fsub v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0ec01400 fsub v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0ec31441 fsub v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4ec01400 fsub v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4ec31441 fsub v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6ee3d441 fabd v1.2d, v2.2d, v3.2d
+ *[0-9a-f]+: 2ea3d441 fabd v1.2s, v2.2s, v3.2s
+ *[0-9a-f]+: 6ea3d441 fabd v1.4s, v2.4s, v3.4s
+ *[0-9a-f]+: 2ec01400 fabd v0.4h, v0.4h, v0.4h
+ *[0-9a-f]+: 2ec31441 fabd v1.4h, v2.4h, v3.4h
+ *[0-9a-f]+: 6ec01400 fabd v0.8h, v0.8h, v0.8h
+ *[0-9a-f]+: 6ec31441 fabd v1.8h, v2.8h, v3.8h
+ *[0-9a-f]+: 4e63dc41 fmulx v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23dc41 fmulx v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23dc41 fmulx v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e401c00 fmulx v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e431c41 fmulx v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e401c00 fmulx v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e431c41 fmulx v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63dc41 fmul v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23dc41 fmul v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23dc41 fmul v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e401c00 fmul v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e431c41 fmul v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e401c00 fmul v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e431c41 fmul v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4e63e441 fcmeq v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23e441 fcmeq v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23e441 fcmeq v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e402400 fcmeq v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e432441 fcmeq v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e402400 fcmeq v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e432441 fcmeq v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63e441 fcmge v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23e441 fcmge v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23e441 fcmge v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e402400 fcmge v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e432441 fcmge v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e402400 fcmge v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e432441 fcmge v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6ee3e441 fcmgt v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2ea3e441 fcmgt v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6ea3e441 fcmgt v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2ec02400 fcmgt v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2ec32441 fcmgt v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6ec02400 fcmgt v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6ec32441 fcmgt v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63ec41 facge v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23ec41 facge v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23ec41 facge v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e402c00 facge v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e432c41 facge v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e402c00 facge v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e432c41 facge v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6ee3ec41 facgt v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2ea3ec41 facgt v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6ea3ec41 facgt v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2ec02c00 facgt v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2ec32c41 facgt v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6ec02c00 facgt v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6ec32c41 facgt v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4e63f441 fmax v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23f441 fmax v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23f441 fmax v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e403400 fmax v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e433441 fmax v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e403400 fmax v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e433441 fmax v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63f441 fmaxp v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23f441 fmaxp v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23f441 fmaxp v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e403400 fmaxp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e433441 fmaxp v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e403400 fmaxp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e433441 fmaxp v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4ee3f441 fmin v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0ea3f441 fmin v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4ea3f441 fmin v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0ec03400 fmin v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0ec33441 fmin v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4ec03400 fmin v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4ec33441 fmin v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6ee3f441 fminp v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2ea3f441 fminp v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6ea3f441 fminp v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2ec03400 fminp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2ec33441 fminp v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6ec03400 fminp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6ec33441 fminp v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4e63fc41 frecps v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0e23fc41 frecps v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4e23fc41 frecps v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0e403c00 frecps v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e433c41 frecps v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4e403c00 frecps v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e433c41 frecps v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 6e63fc41 fdiv v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 2e23fc41 fdiv v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 6e23fc41 fdiv v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 2e403c00 fdiv v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e433c41 fdiv v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 6e403c00 fdiv v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e433c41 fdiv v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 4ee3fc41 frsqrts v1\.2d, v2\.2d, v3\.2d
+ *[0-9a-f]+: 0ea3fc41 frsqrts v1\.2s, v2\.2s, v3\.2s
+ *[0-9a-f]+: 4ea3fc41 frsqrts v1\.4s, v2\.4s, v3\.4s
+ *[0-9a-f]+: 0ec03c00 frsqrts v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0ec33c41 frsqrts v1\.4h, v2\.4h, v3\.4h
+ *[0-9a-f]+: 4ec03c00 frsqrts v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4ec33c41 frsqrts v1\.8h, v2\.8h, v3\.8h
+ *[0-9a-f]+: 7ee2d420 fabd d0, d1, d2
+ *[0-9a-f]+: 7ea2d420 fabd s0, s1, s2
+ *[0-9a-f]+: 7ec21420 fabd h0, h1, h2
+ *[0-9a-f]+: 7ec01400 fabd h0, h0, h0
+ *[0-9a-f]+: 5e62dc20 fmulx d0, d1, d2
+ *[0-9a-f]+: 5e22dc20 fmulx s0, s1, s2
+ *[0-9a-f]+: 5e421c20 fmulx h0, h1, h2
+ *[0-9a-f]+: 5e401c00 fmulx h0, h0, h0
+ *[0-9a-f]+: 5e62e420 fcmeq d0, d1, d2
+ *[0-9a-f]+: 5e22e420 fcmeq s0, s1, s2
+ *[0-9a-f]+: 5e422420 fcmeq h0, h1, h2
+ *[0-9a-f]+: 5e402400 fcmeq h0, h0, h0
+ *[0-9a-f]+: 7ee2e420 fcmgt d0, d1, d2
+ *[0-9a-f]+: 7ea2e420 fcmgt s0, s1, s2
+ *[0-9a-f]+: 7ec22420 fcmgt h0, h1, h2
+ *[0-9a-f]+: 7ec02400 fcmgt h0, h0, h0
+ *[0-9a-f]+: 7e62e420 fcmge d0, d1, d2
+ *[0-9a-f]+: 7e22e420 fcmge s0, s1, s2
+ *[0-9a-f]+: 7e422420 fcmge h0, h1, h2
+ *[0-9a-f]+: 7e402400 fcmge h0, h0, h0
+ *[0-9a-f]+: 7e62ec20 facge d0, d1, d2
+ *[0-9a-f]+: 7e22ec20 facge s0, s1, s2
+ *[0-9a-f]+: 7e422c20 facge h0, h1, h2
+ *[0-9a-f]+: 7e402c00 facge h0, h0, h0
+ *[0-9a-f]+: 7ee2ec20 facgt d0, d1, d2
+ *[0-9a-f]+: 7ea2ec20 facgt s0, s1, s2
+ *[0-9a-f]+: 7ec22c20 facgt h0, h1, h2
+ *[0-9a-f]+: 7ec02c00 facgt h0, h0, h0
+ *[0-9a-f]+: 5e62fc20 frecps d0, d1, d2
+ *[0-9a-f]+: 5e22fc20 frecps s0, s1, s2
+ *[0-9a-f]+: 5e423c20 frecps h0, h1, h2
+ *[0-9a-f]+: 5e403c00 frecps h0, h0, h0
+ *[0-9a-f]+: 5ee2fc20 frsqrts d0, d1, d2
+ *[0-9a-f]+: 5ea2fc20 frsqrts s0, s1, s2
+ *[0-9a-f]+: 5ec23c20 frsqrts h0, h1, h2
+ *[0-9a-f]+: 5ec03c00 frsqrts h0, h0, h0
+ *[0-9a-f]+: 4ee0c820 fcmgt v0\.2d, v1\.2d, #0\.0
+ *[0-9a-f]+: 0ea0c820 fcmgt v0\.2s, v1\.2s, #0\.0
+ *[0-9a-f]+: 4ea0c820 fcmgt v0\.4s, v1\.4s, #0\.0
+ *[0-9a-f]+: 0ef8c820 fcmgt v0\.4h, v1\.4h, #0\.0
+ *[0-9a-f]+: 4ef8c820 fcmgt v0\.8h, v1\.8h, #0\.0
+ *[0-9a-f]+: 6ee0c820 fcmge v0\.2d, v1\.2d, #0\.0
+ *[0-9a-f]+: 2ea0c820 fcmge v0\.2s, v1\.2s, #0\.0
+ *[0-9a-f]+: 6ea0c820 fcmge v0\.4s, v1\.4s, #0\.0
+ *[0-9a-f]+: 2ef8c820 fcmge v0\.4h, v1\.4h, #0\.0
+ *[0-9a-f]+: 6ef8c820 fcmge v0\.8h, v1\.8h, #0\.0
+ *[0-9a-f]+: 4ee0d820 fcmeq v0\.2d, v1\.2d, #0\.0
+ *[0-9a-f]+: 0ea0d820 fcmeq v0\.2s, v1\.2s, #0\.0
+ *[0-9a-f]+: 4ea0d820 fcmeq v0\.4s, v1\.4s, #0\.0
+ *[0-9a-f]+: 0ef8d820 fcmeq v0\.4h, v1\.4h, #0\.0
+ *[0-9a-f]+: 4ef8d820 fcmeq v0\.8h, v1\.8h, #0\.0
+ *[0-9a-f]+: 6ee0d820 fcmle v0\.2d, v1\.2d, #0\.0
+ *[0-9a-f]+: 2ea0d820 fcmle v0\.2s, v1\.2s, #0\.0
+ *[0-9a-f]+: 6ea0d820 fcmle v0\.4s, v1\.4s, #0\.0
+ *[0-9a-f]+: 2ef8d820 fcmle v0\.4h, v1\.4h, #0\.0
+ *[0-9a-f]+: 6ef8d820 fcmle v0\.8h, v1\.8h, #0\.0
+ *[0-9a-f]+: 4ee0e820 fcmlt v0\.2d, v1\.2d, #0\.0
+ *[0-9a-f]+: 0ea0e820 fcmlt v0\.2s, v1\.2s, #0\.0
+ *[0-9a-f]+: 4ea0e820 fcmlt v0\.4s, v1\.4s, #0\.0
+ *[0-9a-f]+: 0ef8e820 fcmlt v0\.4h, v1\.4h, #0\.0
+ *[0-9a-f]+: 4ef8e820 fcmlt v0\.8h, v1\.8h, #0\.0
+ *[0-9a-f]+: 4ee0f820 fabs v0\.2d, v1\.2d
+ *[0-9a-f]+: 0ea0f820 fabs v0\.2s, v1\.2s
+ *[0-9a-f]+: 4ea0f820 fabs v0\.4s, v1\.4s
+ *[0-9a-f]+: 0ef8f820 fabs v0\.4h, v1\.4h
+ *[0-9a-f]+: 4ef8f820 fabs v0\.8h, v1\.8h
+ *[0-9a-f]+: 6ee0f820 fneg v0\.2d, v1\.2d
+ *[0-9a-f]+: 2ea0f820 fneg v0\.2s, v1\.2s
+ *[0-9a-f]+: 6ea0f820 fneg v0\.4s, v1\.4s
+ *[0-9a-f]+: 2ef8f820 fneg v0\.4h, v1\.4h
+ *[0-9a-f]+: 6ef8f820 fneg v0\.8h, v1\.8h
+ *[0-9a-f]+: 4e618820 frintn v0\.2d, v1\.2d
+ *[0-9a-f]+: 0e218820 frintn v0\.2s, v1\.2s
+ *[0-9a-f]+: 4e218820 frintn v0\.4s, v1\.4s
+ *[0-9a-f]+: 0e798820 frintn v0\.4h, v1\.4h
+ *[0-9a-f]+: 4e798820 frintn v0\.8h, v1\.8h
+ *[0-9a-f]+: 6e618820 frinta v0\.2d, v1\.2d
+ *[0-9a-f]+: 2e218820 frinta v0\.2s, v1\.2s
+ *[0-9a-f]+: 6e218820 frinta v0\.4s, v1\.4s
+ *[0-9a-f]+: 2e798820 frinta v0\.4h, v1\.4h
+ *[0-9a-f]+: 6e798820 frinta v0\.8h, v1\.8h
+ *[0-9a-f]+: 4ee18820 frintp v0\.2d, v1\.2d
+ *[0-9a-f]+: 0ea18820 frintp v0\.2s, v1\.2s
+ *[0-9a-f]+: 4ea18820 frintp v0\.4s, v1\.4s
+ *[0-9a-f]+: 0ef98820 frintp v0\.4h, v1\.4h
+ *[0-9a-f]+: 4ef98820 frintp v0\.8h, v1\.8h
+ *[0-9a-f]+: 4e619820 frintm v0\.2d, v1\.2d
+ *[0-9a-f]+: 0e219820 frintm v0\.2s, v1\.2s
+ *[0-9a-f]+: 4e219820 frintm v0\.4s, v1\.4s
+ *[0-9a-f]+: 0e799820 frintm v0\.4h, v1\.4h
+ *[0-9a-f]+: 4e799820 frintm v0\.8h, v1\.8h
+ *[0-9a-f]+: 6e619820 frintx v0\.2d, v1\.2d
+ *[0-9a-f]+: 2e219820 frintx v0\.2s, v1\.2s
+ *[0-9a-f]+: 6e219820 frintx v0\.4s, v1\.4s
+ *[0-9a-f]+: 2e799820 frintx v0\.4h, v1\.4h
+ *[0-9a-f]+: 6e799820 frintx v0\.8h, v1\.8h
+ *[0-9a-f]+: 4ee19820 frintz v0\.2d, v1\.2d
+ *[0-9a-f]+: 0ea19820 frintz v0\.2s, v1\.2s
+ *[0-9a-f]+: 4ea19820 frintz v0\.4s, v1\.4s
+ *[0-9a-f]+: 0ef99820 frintz v0\.4h, v1\.4h
+ *[0-9a-f]+: 4ef99820 frintz v0\.8h, v1\.8h
+ *[0-9a-f]+: 6ee19820 frinti v0\.2d, v1\.2d
+ *[0-9a-f]+: 2ea19820 frinti v0\.2s, v1\.2s
+ *[0-9a-f]+: 6ea19820 frinti v0\.4s, v1\.4s
+ *[0-9a-f]+: 2ef99820 frinti v0\.4h, v1\.4h
+ *[0-9a-f]+: 6ef99820 frinti v0\.8h, v1\.8h
+ *[0-9a-f]+: 4e61a820 fcvtns v0\.2d, v1\.2d
+ *[0-9a-f]+: 0e21a820 fcvtns v0\.2s, v1\.2s
+ *[0-9a-f]+: 4e21a820 fcvtns v0\.4s, v1\.4s
+ *[0-9a-f]+: 0e79a820 fcvtns v0\.4h, v1\.4h
+ *[0-9a-f]+: 4e79a820 fcvtns v0\.8h, v1\.8h
+ *[0-9a-f]+: 6e61a820 fcvtnu v0\.2d, v1\.2d
+ *[0-9a-f]+: 2e21a820 fcvtnu v0\.2s, v1\.2s
+ *[0-9a-f]+: 6e21a820 fcvtnu v0\.4s, v1\.4s
+ *[0-9a-f]+: 2e79a820 fcvtnu v0\.4h, v1\.4h
+ *[0-9a-f]+: 6e79a820 fcvtnu v0\.8h, v1\.8h
+ *[0-9a-f]+: 4ee1a820 fcvtps v0\.2d, v1\.2d
+ *[0-9a-f]+: 0ea1a820 fcvtps v0\.2s, v1\.2s
+ *[0-9a-f]+: 4ea1a820 fcvtps v0\.4s, v1\.4s
+ *[0-9a-f]+: 0ef9a820 fcvtps v0\.4h, v1\.4h
+ *[0-9a-f]+: 4ef9a820 fcvtps v0\.8h, v1\.8h
+ *[0-9a-f]+: 6ee1a820 fcvtpu v0\.2d, v1\.2d
+ *[0-9a-f]+: 2ea1a820 fcvtpu v0\.2s, v1\.2s
+ *[0-9a-f]+: 6ea1a820 fcvtpu v0\.4s, v1\.4s
+ *[0-9a-f]+: 2ef9a820 fcvtpu v0\.4h, v1\.4h
+ *[0-9a-f]+: 6ef9a820 fcvtpu v0\.8h, v1\.8h
+ *[0-9a-f]+: 4e61b820 fcvtms v0\.2d, v1\.2d
+ *[0-9a-f]+: 0e21b820 fcvtms v0\.2s, v1\.2s
+ *[0-9a-f]+: 4e21b820 fcvtms v0\.4s, v1\.4s
+ *[0-9a-f]+: 0e79b820 fcvtms v0\.4h, v1\.4h
+ *[0-9a-f]+: 4e79b820 fcvtms v0\.8h, v1\.8h
+ *[0-9a-f]+: 6e61b820 fcvtmu v0\.2d, v1\.2d
+ *[0-9a-f]+: 2e21b820 fcvtmu v0\.2s, v1\.2s
+ *[0-9a-f]+: 6e21b820 fcvtmu v0\.4s, v1\.4s
+ *[0-9a-f]+: 2e79b820 fcvtmu v0\.4h, v1\.4h
+ *[0-9a-f]+: 6e79b820 fcvtmu v0\.8h, v1\.8h
+ *[0-9a-f]+: 4ee1b820 fcvtzs v0\.2d, v1\.2d
+ *[0-9a-f]+: 0ea1b820 fcvtzs v0\.2s, v1\.2s
+ *[0-9a-f]+: 4ea1b820 fcvtzs v0\.4s, v1\.4s
+ *[0-9a-f]+: 0ef9b820 fcvtzs v0\.4h, v1\.4h
+ *[0-9a-f]+: 4ef9b820 fcvtzs v0\.8h, v1\.8h
+ *[0-9a-f]+: 6ee1b820 fcvtzu v0\.2d, v1\.2d
+ *[0-9a-f]+: 2ea1b820 fcvtzu v0\.2s, v1\.2s
+ *[0-9a-f]+: 6ea1b820 fcvtzu v0\.4s, v1\.4s
+ *[0-9a-f]+: 2ef9b820 fcvtzu v0\.4h, v1\.4h
+ *[0-9a-f]+: 6ef9b820 fcvtzu v0\.8h, v1\.8h
+ *[0-9a-f]+: 4e61c820 fcvtas v0\.2d, v1\.2d
+ *[0-9a-f]+: 0e21c820 fcvtas v0\.2s, v1\.2s
+ *[0-9a-f]+: 4e21c820 fcvtas v0\.4s, v1\.4s
+ *[0-9a-f]+: 0e79c820 fcvtas v0\.4h, v1\.4h
+ *[0-9a-f]+: 4e79c820 fcvtas v0\.8h, v1\.8h
+ *[0-9a-f]+: 6e61c820 fcvtau v0\.2d, v1\.2d
+ *[0-9a-f]+: 2e21c820 fcvtau v0\.2s, v1\.2s
+ *[0-9a-f]+: 6e21c820 fcvtau v0\.4s, v1\.4s
+ *[0-9a-f]+: 2e79c820 fcvtau v0\.4h, v1\.4h
+ *[0-9a-f]+: 6e79c820 fcvtau v0\.8h, v1\.8h
+ *[0-9a-f]+: 0ea1c820 urecpe v0.2s, v1.2s
+ *[0-9a-f]+: 4ea1c820 urecpe v0.4s, v1.4s
+ *[0-9a-f]+: 2ea1c820 ursqrte v0.2s, v1.2s
+ *[0-9a-f]+: 6ea1c820 ursqrte v0.4s, v1.4s
+ *[0-9a-f]+: 4e61d820 scvtf v0\.2d, v1\.2d
+ *[0-9a-f]+: 0e21d820 scvtf v0\.2s, v1\.2s
+ *[0-9a-f]+: 4e21d820 scvtf v0\.4s, v1\.4s
+ *[0-9a-f]+: 0e79d820 scvtf v0\.4h, v1\.4h
+ *[0-9a-f]+: 4e79d820 scvtf v0\.8h, v1\.8h
+ *[0-9a-f]+: 6e61d820 ucvtf v0\.2d, v1\.2d
+ *[0-9a-f]+: 2e21d820 ucvtf v0\.2s, v1\.2s
+ *[0-9a-f]+: 6e21d820 ucvtf v0\.4s, v1\.4s
+ *[0-9a-f]+: 2e79d820 ucvtf v0\.4h, v1\.4h
+ *[0-9a-f]+: 6e79d820 ucvtf v0\.8h, v1\.8h
+ *[0-9a-f]+: 4ee1d820 frecpe v0\.2d, v1\.2d
+ *[0-9a-f]+: 0ea1d820 frecpe v0\.2s, v1\.2s
+ *[0-9a-f]+: 4ea1d820 frecpe v0\.4s, v1\.4s
+ *[0-9a-f]+: 0ef9d820 frecpe v0\.4h, v1\.4h
+ *[0-9a-f]+: 4ef9d820 frecpe v0\.8h, v1\.8h
+ *[0-9a-f]+: 6ee1d820 frsqrte v0\.2d, v1\.2d
+ *[0-9a-f]+: 2ea1d820 frsqrte v0\.2s, v1\.2s
+ *[0-9a-f]+: 6ea1d820 frsqrte v0\.4s, v1\.4s
+ *[0-9a-f]+: 2ef9d820 frsqrte v0\.4h, v1\.4h
+ *[0-9a-f]+: 6ef9d820 frsqrte v0\.8h, v1\.8h
+ *[0-9a-f]+: 6ee1f820 fsqrt v0\.2d, v1\.2d
+ *[0-9a-f]+: 2ea1f820 fsqrt v0\.2s, v1\.2s
+ *[0-9a-f]+: 6ea1f820 fsqrt v0\.4s, v1\.4s
+ *[0-9a-f]+: 2ef9f820 fsqrt v0\.4h, v1\.4h
+ *[0-9a-f]+: 6ef9f820 fsqrt v0\.8h, v1\.8h
+ *[0-9a-f]+: 5ee0c820 fcmgt d0, d1, #0\.0
+ *[0-9a-f]+: 5ea0c820 fcmgt s0, s1, #0\.0
+ *[0-9a-f]+: 5ef8c820 fcmgt h0, h1, #0\.0
+ *[0-9a-f]+: 5ef8c800 fcmgt h0, h0, #0\.0
+ *[0-9a-f]+: 7ee0c820 fcmge d0, d1, #0\.0
+ *[0-9a-f]+: 7ea0c820 fcmge s0, s1, #0\.0
+ *[0-9a-f]+: 7ef8c820 fcmge h0, h1, #0\.0
+ *[0-9a-f]+: 7ef8c800 fcmge h0, h0, #0\.0
+ *[0-9a-f]+: 5ee0d820 fcmeq d0, d1, #0\.0
+ *[0-9a-f]+: 5ea0d820 fcmeq s0, s1, #0\.0
+ *[0-9a-f]+: 5ef8d820 fcmeq h0, h1, #0\.0
+ *[0-9a-f]+: 5ef8d800 fcmeq h0, h0, #0\.0
+ *[0-9a-f]+: 7ee0d820 fcmle d0, d1, #0\.0
+ *[0-9a-f]+: 7ea0d820 fcmle s0, s1, #0\.0
+ *[0-9a-f]+: 7ef8d820 fcmle h0, h1, #0\.0
+ *[0-9a-f]+: 7ef8d800 fcmle h0, h0, #0\.0
+ *[0-9a-f]+: 5ee0e820 fcmlt d0, d1, #0\.0
+ *[0-9a-f]+: 5ea0e820 fcmlt s0, s1, #0\.0
+ *[0-9a-f]+: 5ef8e820 fcmlt h0, h1, #0\.0
+ *[0-9a-f]+: 5ef8e800 fcmlt h0, h0, #0\.0
+ *[0-9a-f]+: 5e61a820 fcvtns d0, d1
+ *[0-9a-f]+: 5e21a820 fcvtns s0, s1
+ *[0-9a-f]+: 5e79a820 fcvtns h0, h1
+ *[0-9a-f]+: 5e79a800 fcvtns h0, h0
+ *[0-9a-f]+: 7e61a820 fcvtnu d0, d1
+ *[0-9a-f]+: 7e21a820 fcvtnu s0, s1
+ *[0-9a-f]+: 7e79a820 fcvtnu h0, h1
+ *[0-9a-f]+: 7e79a800 fcvtnu h0, h0
+ *[0-9a-f]+: 5ee1a820 fcvtps d0, d1
+ *[0-9a-f]+: 5ea1a820 fcvtps s0, s1
+ *[0-9a-f]+: 5ef9a820 fcvtps h0, h1
+ *[0-9a-f]+: 5ef9a800 fcvtps h0, h0
+ *[0-9a-f]+: 7ee1a820 fcvtpu d0, d1
+ *[0-9a-f]+: 7ea1a820 fcvtpu s0, s1
+ *[0-9a-f]+: 7ef9a820 fcvtpu h0, h1
+ *[0-9a-f]+: 7ef9a800 fcvtpu h0, h0
+ *[0-9a-f]+: 5e61b820 fcvtms d0, d1
+ *[0-9a-f]+: 5e21b820 fcvtms s0, s1
+ *[0-9a-f]+: 5e79b820 fcvtms h0, h1
+ *[0-9a-f]+: 5e79b800 fcvtms h0, h0
+ *[0-9a-f]+: 7e61b820 fcvtmu d0, d1
+ *[0-9a-f]+: 7e21b820 fcvtmu s0, s1
+ *[0-9a-f]+: 7e79b820 fcvtmu h0, h1
+ *[0-9a-f]+: 7e79b800 fcvtmu h0, h0
+ *[0-9a-f]+: 5ee1b820 fcvtzs d0, d1
+ *[0-9a-f]+: 5ea1b820 fcvtzs s0, s1
+ *[0-9a-f]+: 5ef9b820 fcvtzs h0, h1
+ *[0-9a-f]+: 5ef9b800 fcvtzs h0, h0
+ *[0-9a-f]+: 7ee1b820 fcvtzu d0, d1
+ *[0-9a-f]+: 7ea1b820 fcvtzu s0, s1
+ *[0-9a-f]+: 7ef9b820 fcvtzu h0, h1
+ *[0-9a-f]+: 7ef9b800 fcvtzu h0, h0
+ *[0-9a-f]+: 5e61c820 fcvtas d0, d1
+ *[0-9a-f]+: 5e21c820 fcvtas s0, s1
+ *[0-9a-f]+: 5e79c820 fcvtas h0, h1
+ *[0-9a-f]+: 5e79c800 fcvtas h0, h0
+ *[0-9a-f]+: 7e61c820 fcvtau d0, d1
+ *[0-9a-f]+: 7e21c820 fcvtau s0, s1
+ *[0-9a-f]+: 7e79c820 fcvtau h0, h1
+ *[0-9a-f]+: 7e79c800 fcvtau h0, h0
+ *[0-9a-f]+: 5e61d820 scvtf d0, d1
+ *[0-9a-f]+: 5e21d820 scvtf s0, s1
+ *[0-9a-f]+: 5e79d820 scvtf h0, h1
+ *[0-9a-f]+: 5e79d800 scvtf h0, h0
+ *[0-9a-f]+: 7e61d820 ucvtf d0, d1
+ *[0-9a-f]+: 7e21d820 ucvtf s0, s1
+ *[0-9a-f]+: 7e79d820 ucvtf h0, h1
+ *[0-9a-f]+: 7e79d800 ucvtf h0, h0
+ *[0-9a-f]+: 5ee1d820 frecpe d0, d1
+ *[0-9a-f]+: 5ea1d820 frecpe s0, s1
+ *[0-9a-f]+: 5ef9d820 frecpe h0, h1
+ *[0-9a-f]+: 5ef9d800 frecpe h0, h0
+ *[0-9a-f]+: 7ee1d820 frsqrte d0, d1
+ *[0-9a-f]+: 7ea1d820 frsqrte s0, s1
+ *[0-9a-f]+: 7ef9d820 frsqrte h0, h1
+ *[0-9a-f]+: 7ef9d800 frsqrte h0, h0
+ *[0-9a-f]+: 5ee1f820 frecpx d0, d1
+ *[0-9a-f]+: 5ea1f820 frecpx s0, s1
+ *[0-9a-f]+: 5ef9f820 frecpx h0, h1
+ *[0-9a-f]+: 5ef9f800 frecpx h0, h0
+ *[0-9a-f]+: 4fc31841 fmla v1\.2d, v2\.2d, v3\.d\[1\]
+ *[0-9a-f]+: 0f831841 fmla v1\.2s, v2\.2s, v3\.s\[2\]
+ *[0-9a-f]+: 4fa31041 fmla v1\.4s, v2\.4s, v3\.s\[1\]
+ *[0-9a-f]+: 0f001000 fmla v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f031041 fmla v1\.4h, v2\.4h, v3\.h\[0\]
+ *[0-9a-f]+: 4f001000 fmla v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f031041 fmla v1\.8h, v2\.8h, v3\.h\[0\]
+ *[0-9a-f]+: 4fca10a1 fmla v1\.2d, v5\.2d, v10\.d\[0\]
+ *[0-9a-f]+: 0fab1808 fmla v8\.2s, v0\.2s, v11\.s\[3\]
+ *[0-9a-f]+: 0f3f1920 fmla v0\.4h, v9\.4h, v15\.h\[7\]
+ *[0-9a-f]+: 4fc35841 fmls v1\.2d, v2\.2d, v3\.d\[1\]
+ *[0-9a-f]+: 0f835841 fmls v1\.2s, v2\.2s, v3\.s\[2\]
+ *[0-9a-f]+: 4fa35041 fmls v1\.4s, v2\.4s, v3\.s\[1\]
+ *[0-9a-f]+: 0f005000 fmls v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f035041 fmls v1\.4h, v2\.4h, v3\.h\[0\]
+ *[0-9a-f]+: 4f005000 fmls v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f035041 fmls v1\.8h, v2\.8h, v3\.h\[0\]
+ *[0-9a-f]+: 4fca50a1 fmls v1\.2d, v5\.2d, v10\.d\[0\]
+ *[0-9a-f]+: 0fab5808 fmls v8\.2s, v0\.2s, v11\.s\[3\]
+ *[0-9a-f]+: 0f3f5920 fmls v0\.4h, v9\.4h, v15\.h\[7\]
+ *[0-9a-f]+: 4fc39841 fmul v1\.2d, v2\.2d, v3\.d\[1\]
+ *[0-9a-f]+: 0f839841 fmul v1\.2s, v2\.2s, v3\.s\[2\]
+ *[0-9a-f]+: 4fa39041 fmul v1\.4s, v2\.4s, v3\.s\[1\]
+ *[0-9a-f]+: 0f009000 fmul v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f039041 fmul v1\.4h, v2\.4h, v3\.h\[0\]
+ *[0-9a-f]+: 4f009000 fmul v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f039041 fmul v1\.8h, v2\.8h, v3\.h\[0\]
+ *[0-9a-f]+: 4fca90a1 fmul v1\.2d, v5\.2d, v10\.d\[0\]
+ *[0-9a-f]+: 0fab9808 fmul v8\.2s, v0\.2s, v11\.s\[3\]
+ *[0-9a-f]+: 0f3f9920 fmul v0\.4h, v9\.4h, v15\.h\[7\]
+ *[0-9a-f]+: 6fc39841 fmulx v1\.2d, v2\.2d, v3\.d\[1\]
+ *[0-9a-f]+: 2f839841 fmulx v1\.2s, v2\.2s, v3\.s\[2\]
+ *[0-9a-f]+: 6fa39041 fmulx v1\.4s, v2\.4s, v3\.s\[1\]
+ *[0-9a-f]+: 2f009000 fmulx v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f039041 fmulx v1\.4h, v2\.4h, v3\.h\[0\]
+ *[0-9a-f]+: 6f009000 fmulx v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f039041 fmulx v1\.8h, v2\.8h, v3\.h\[0\]
+ *[0-9a-f]+: 6fca90a1 fmulx v1\.2d, v5\.2d, v10\.d\[0\]
+ *[0-9a-f]+: 2fab9808 fmulx v8\.2s, v0\.2s, v11\.s\[3\]
+ *[0-9a-f]+: 2f3f9920 fmulx v0\.4h, v9\.4h, v15\.h\[7\]
+ *[0-9a-f]+: 5fc31841 fmla d1, d2, v3\.d\[1\]
+ *[0-9a-f]+: 5fa31041 fmla s1, s2, v3\.s\[1\]
+ *[0-9a-f]+: 5f131041 fmla h1, h2, v3\.h\[1\]
+ *[0-9a-f]+: 5f001000 fmla h0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5fc35841 fmls d1, d2, v3\.d\[1\]
+ *[0-9a-f]+: 5fa35041 fmls s1, s2, v3\.s\[1\]
+ *[0-9a-f]+: 5f135041 fmls h1, h2, v3\.h\[1\]
+ *[0-9a-f]+: 5f005000 fmls h0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5fc39841 fmul d1, d2, v3\.d\[1\]
+ *[0-9a-f]+: 5fa39041 fmul s1, s2, v3\.s\[1\]
+ *[0-9a-f]+: 5f139041 fmul h1, h2, v3\.h\[1\]
+ *[0-9a-f]+: 5f009000 fmul h0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 7fc39841 fmulx d1, d2, v3\.d\[1\]
+ *[0-9a-f]+: 7fa39041 fmulx s1, s2, v3\.s\[1\]
+ *[0-9a-f]+: 7f139041 fmulx h1, h2, v3\.h\[1\]
+ *[0-9a-f]+: 7f009000 fmulx h0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 6e30c841 fmaxnmv s1, v2\.4s
+ *[0-9a-f]+: 0e30c841 fmaxnmv h1, v2\.4h
+ *[0-9a-f]+: 4e30c841 fmaxnmv h1, v2\.8h
+ *[0-9a-f]+: 0e30c800 fmaxnmv h0, v0\.4h
+ *[0-9a-f]+: 4e30c800 fmaxnmv h0, v0\.8h
+ *[0-9a-f]+: 6e30f841 fmaxv s1, v2\.4s
+ *[0-9a-f]+: 0e30f841 fmaxv h1, v2\.4h
+ *[0-9a-f]+: 4e30f841 fmaxv h1, v2\.8h
+ *[0-9a-f]+: 0e30f800 fmaxv h0, v0\.4h
+ *[0-9a-f]+: 4e30f800 fmaxv h0, v0\.8h
+ *[0-9a-f]+: 6eb0c841 fminnmv s1, v2\.4s
+ *[0-9a-f]+: 0eb0c841 fminnmv h1, v2\.4h
+ *[0-9a-f]+: 4eb0c841 fminnmv h1, v2\.8h
+ *[0-9a-f]+: 0eb0c800 fminnmv h0, v0\.4h
+ *[0-9a-f]+: 4eb0c800 fminnmv h0, v0\.8h
+ *[0-9a-f]+: 6eb0f841 fminv s1, v2\.4s
+ *[0-9a-f]+: 0eb0f841 fminv h1, v2\.4h
+ *[0-9a-f]+: 4eb0f841 fminv h1, v2\.8h
+ *[0-9a-f]+: 0eb0f800 fminv h0, v0\.4h
+ *[0-9a-f]+: 4eb0f800 fminv h0, v0\.8h
+ *[0-9a-f]+: 6f00f401 fmov v1\.2d, #2\.000000000000000000e\+00
+ *[0-9a-f]+: 0f00f401 fmov v1\.2s, #2\.000000000000000000e\+00
+ *[0-9a-f]+: 4f00f401 fmov v1\.4s, #2\.000000000000000000e\+00
+ *[0-9a-f]+: 0f00fc01 fmov v1\.4h, #2\.000000000000000000e\+00
+ *[0-9a-f]+: 4f00fc01 fmov v1\.8h, #2\.000000000000000000e\+00
+ *[0-9a-f]+: 0f03fe00 fmov v0\.4h, #1\.000000000000000000e\+00
+ *[0-9a-f]+: 4f03fe00 fmov v0\.8h, #1\.000000000000000000e\+00
+ *[0-9a-f]+: 7e70c841 fmaxnmp d1, v2\.2d
+ *[0-9a-f]+: 7e30c841 fmaxnmp s1, v2\.2s
+ *[0-9a-f]+: 5e30c841 fmaxnmp h1, v2\.2h
+ *[0-9a-f]+: 5e30c800 fmaxnmp h0, v0\.2h
+ *[0-9a-f]+: 7e70d841 faddp d1, v2\.2d
+ *[0-9a-f]+: 7e30d841 faddp s1, v2\.2s
+ *[0-9a-f]+: 5e30d841 faddp h1, v2\.2h
+ *[0-9a-f]+: 5e30d800 faddp h0, v0\.2h
+ *[0-9a-f]+: 7e70f841 fmaxp d1, v2\.2d
+ *[0-9a-f]+: 7e30f841 fmaxp s1, v2\.2s
+ *[0-9a-f]+: 5e30f841 fmaxp h1, v2\.2h
+ *[0-9a-f]+: 5e30f800 fmaxp h0, v0\.2h
+ *[0-9a-f]+: 7ef0c841 fminnmp d1, v2\.2d
+ *[0-9a-f]+: 7eb0c841 fminnmp s1, v2\.2s
+ *[0-9a-f]+: 5eb0c841 fminnmp h1, v2\.2h
+ *[0-9a-f]+: 5eb0c800 fminnmp h0, v0\.2h
+ *[0-9a-f]+: 7ef0f841 fminp d1, v2\.2d
+ *[0-9a-f]+: 7eb0f841 fminp s1, v2\.2s
+ *[0-9a-f]+: 5eb0f841 fminp h1, v2\.2h
+ *[0-9a-f]+: 5eb0f800 fminp h0, v0\.2h
+ *[0-9a-f]+: 4f7de441 scvtf v1\.2d, v2\.2d, #3
+ *[0-9a-f]+: 0f3de441 scvtf v1\.2s, v2\.2s, #3
+ *[0-9a-f]+: 4f3de441 scvtf v1\.4s, v2\.4s, #3
+ *[0-9a-f]+: 0f1de441 scvtf v1\.4h, v2\.4h, #3
+ *[0-9a-f]+: 4f1de441 scvtf v1\.8h, v2\.8h, #3
+ *[0-9a-f]+: 0f1fe400 scvtf v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 4f1fe400 scvtf v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 4f7dfc41 fcvtzs v1\.2d, v2\.2d, #3
+ *[0-9a-f]+: 0f3dfc41 fcvtzs v1\.2s, v2\.2s, #3
+ *[0-9a-f]+: 4f3dfc41 fcvtzs v1\.4s, v2\.4s, #3
+ *[0-9a-f]+: 0f1dfc41 fcvtzs v1\.4h, v2\.4h, #3
+ *[0-9a-f]+: 4f1dfc41 fcvtzs v1\.8h, v2\.8h, #3
+ *[0-9a-f]+: 0f1ffc00 fcvtzs v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 4f1ffc00 fcvtzs v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f7de441 ucvtf v1\.2d, v2\.2d, #3
+ *[0-9a-f]+: 2f3de441 ucvtf v1\.2s, v2\.2s, #3
+ *[0-9a-f]+: 6f3de441 ucvtf v1\.4s, v2\.4s, #3
+ *[0-9a-f]+: 2f1de441 ucvtf v1\.4h, v2\.4h, #3
+ *[0-9a-f]+: 6f1de441 ucvtf v1\.8h, v2\.8h, #3
+ *[0-9a-f]+: 2f1fe400 ucvtf v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 6f1fe400 ucvtf v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f7dfc41 fcvtzu v1\.2d, v2\.2d, #3
+ *[0-9a-f]+: 2f3dfc41 fcvtzu v1\.2s, v2\.2s, #3
+ *[0-9a-f]+: 6f3dfc41 fcvtzu v1\.4s, v2\.4s, #3
+ *[0-9a-f]+: 2f1dfc41 fcvtzu v1\.4h, v2\.4h, #3
+ *[0-9a-f]+: 6f1dfc41 fcvtzu v1\.8h, v2\.8h, #3
+ *[0-9a-f]+: 2f1ffc00 fcvtzu v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 6f1ffc00 fcvtzu v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 5f7de441 scvtf d1, d2, #3
+ *[0-9a-f]+: 5f3de441 scvtf s1, s2, #3
+ *[0-9a-f]+: 5f1de441 scvtf h1, h2, #3
+ *[0-9a-f]+: 5f1fe400 scvtf h0, h0, #1
+ *[0-9a-f]+: 5f7dfc41 fcvtzs d1, d2, #3
+ *[0-9a-f]+: 5f3dfc41 fcvtzs s1, s2, #3
+ *[0-9a-f]+: 5f1dfc41 fcvtzs h1, h2, #3
+ *[0-9a-f]+: 5f1ffc00 fcvtzs h0, h0, #1
+ *[0-9a-f]+: 7f7de441 ucvtf d1, d2, #3
+ *[0-9a-f]+: 7f3de441 ucvtf s1, s2, #3
+ *[0-9a-f]+: 7f1de441 ucvtf h1, h2, #3
+ *[0-9a-f]+: 7f1fe400 ucvtf h0, h0, #1
+ *[0-9a-f]+: 7f7dfc41 fcvtzu d1, d2, #3
+ *[0-9a-f]+: 7f3dfc41 fcvtzu s1, s2, #3
+ *[0-9a-f]+: 7f1dfc41 fcvtzu h1, h2, #3
+ *[0-9a-f]+: 7f1ffc00 fcvtzu h0, h0, #1
diff --git a/gas/testsuite/gas/aarch64/advsimd-fp16.s b/gas/testsuite/gas/aarch64/advsimd-fp16.s
index 6b86ded..2a09351 100644
--- a/gas/testsuite/gas/aarch64/advsimd-fp16.s
+++ b/gas/testsuite/gas/aarch64/advsimd-fp16.s
@@ -1,5 +1,6 @@
-/* simdhp.s Test file for AArch64 half-precision floating-point
- vector instructions. */
+/* Test file for AArch64 half-precision floating-point vector instructions.
+ This is also the only test for the single- and double-precison variants of
+ most of these instructions. */
/* Vector three-same. */
@@ -24,6 +25,7 @@
three_same fadd
three_same faddp
three_same fsub
+ three_same fabd
three_same fmulx
three_same fmul
three_same fcmeq
@@ -82,6 +84,11 @@
\op v0.8h, v1.8h
.endm
+ .macro tworeg_misc_s, op
+ \op v0.2s, v1.2s
+ \op v0.4s, v1.4s
+ .endm
+
tworeg_misc fabs
tworeg_misc fneg
@@ -106,6 +113,8 @@
tworeg_misc fcvtas
tworeg_misc fcvtau
+ tworeg_misc_s urecpe
+ tworeg_misc_s ursqrte
tworeg_misc scvtf
tworeg_misc ucvtf
diff --git a/gas/testsuite/gas/aarch64/advsimd-modified-immediate.d b/gas/testsuite/gas/aarch64/advsimd-modified-immediate.d
new file mode 100644
index 0000000..ecfd337
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-modified-immediate.d
@@ -0,0 +1,103 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0f009400 orr v0\.4h, #0x0
+ *[0-9a-f]+: 0f00941f orr v31\.4h, #0x0
+ *[0-9a-f]+: 0f0097e0 orr v0\.4h, #0x1f
+ *[0-9a-f]+: 0f0797e0 orr v0\.4h, #0xff
+ *[0-9a-f]+: 0f009400 orr v0\.4h, #0x0
+ *[0-9a-f]+: 0f00b400 orr v0\.4h, #0x0, lsl #8
+ *[0-9a-f]+: 4f009400 orr v0\.8h, #0x0
+ *[0-9a-f]+: 4f00941f orr v31\.8h, #0x0
+ *[0-9a-f]+: 4f0097e0 orr v0\.8h, #0x1f
+ *[0-9a-f]+: 4f0797e0 orr v0\.8h, #0xff
+ *[0-9a-f]+: 4f0797e0 orr v0\.8h, #0xff
+ *[0-9a-f]+: 4f07b7e0 orr v0\.8h, #0xff, lsl #8
+ *[0-9a-f]+: 0f001400 orr v0\.2s, #0x0
+ *[0-9a-f]+: 0f00141f orr v31\.2s, #0x0
+ *[0-9a-f]+: 0f0017e0 orr v0\.2s, #0x1f
+ *[0-9a-f]+: 0f0717e0 orr v0\.2s, #0xff
+ *[0-9a-f]+: 0f001400 orr v0\.2s, #0x0
+ *[0-9a-f]+: 0f003400 orr v0\.2s, #0x0, lsl #8
+ *[0-9a-f]+: 0f005400 orr v0\.2s, #0x0, lsl #16
+ *[0-9a-f]+: 0f007400 orr v0\.2s, #0x0, lsl #24
+ *[0-9a-f]+: 4f001400 orr v0\.4s, #0x0
+ *[0-9a-f]+: 4f00141f orr v31\.4s, #0x0
+ *[0-9a-f]+: 4f0017e0 orr v0\.4s, #0x1f
+ *[0-9a-f]+: 4f0717e0 orr v0\.4s, #0xff
+ *[0-9a-f]+: 4f0717e0 orr v0\.4s, #0xff
+ *[0-9a-f]+: 4f0737e0 orr v0\.4s, #0xff, lsl #8
+ *[0-9a-f]+: 4f0757e0 orr v0\.4s, #0xff, lsl #16
+ *[0-9a-f]+: 4f0777e0 orr v0\.4s, #0xff, lsl #24
+ *[0-9a-f]+: 2f008400 mvni v0\.4h, #0x0
+ *[0-9a-f]+: 2f00841f mvni v31\.4h, #0x0
+ *[0-9a-f]+: 2f0087e0 mvni v0\.4h, #0x1f
+ *[0-9a-f]+: 2f0787e0 mvni v0\.4h, #0xff
+ *[0-9a-f]+: 2f008400 mvni v0\.4h, #0x0
+ *[0-9a-f]+: 2f00a400 mvni v0\.4h, #0x0, lsl #8
+ *[0-9a-f]+: 6f008400 mvni v0\.8h, #0x0
+ *[0-9a-f]+: 6f00841f mvni v31\.8h, #0x0
+ *[0-9a-f]+: 6f0087e0 mvni v0\.8h, #0x1f
+ *[0-9a-f]+: 6f0787e0 mvni v0\.8h, #0xff
+ *[0-9a-f]+: 6f0787e0 mvni v0\.8h, #0xff
+ *[0-9a-f]+: 6f07a7e0 mvni v0\.8h, #0xff, lsl #8
+ *[0-9a-f]+: 2f000400 mvni v0\.2s, #0x0
+ *[0-9a-f]+: 2f00041f mvni v31\.2s, #0x0
+ *[0-9a-f]+: 2f0007e0 mvni v0\.2s, #0x1f
+ *[0-9a-f]+: 2f0707e0 mvni v0\.2s, #0xff
+ *[0-9a-f]+: 2f000400 mvni v0\.2s, #0x0
+ *[0-9a-f]+: 2f002400 mvni v0\.2s, #0x0, lsl #8
+ *[0-9a-f]+: 2f004400 mvni v0\.2s, #0x0, lsl #16
+ *[0-9a-f]+: 2f006400 mvni v0\.2s, #0x0, lsl #24
+ *[0-9a-f]+: 6f000400 mvni v0\.4s, #0x0
+ *[0-9a-f]+: 6f00041f mvni v31\.4s, #0x0
+ *[0-9a-f]+: 6f0007e0 mvni v0\.4s, #0x1f
+ *[0-9a-f]+: 6f0707e0 mvni v0\.4s, #0xff
+ *[0-9a-f]+: 6f0707e0 mvni v0\.4s, #0xff
+ *[0-9a-f]+: 6f0727e0 mvni v0\.4s, #0xff, lsl #8
+ *[0-9a-f]+: 6f0747e0 mvni v0\.4s, #0xff, lsl #16
+ *[0-9a-f]+: 6f0767e0 mvni v0\.4s, #0xff, lsl #24
+ *[0-9a-f]+: 2f00c400 mvni v0\.2s, #0x0, msl #8
+ *[0-9a-f]+: 2f00c41f mvni v31\.2s, #0x0, msl #8
+ *[0-9a-f]+: 2f00c7e0 mvni v0\.2s, #0x1f, msl #8
+ *[0-9a-f]+: 2f07c7e0 mvni v0\.2s, #0xff, msl #8
+ *[0-9a-f]+: 2f00d400 mvni v0\.2s, #0x0, msl #16
+ *[0-9a-f]+: 6f00c400 mvni v0\.4s, #0x0, msl #8
+ *[0-9a-f]+: 6f00c41f mvni v31\.4s, #0x0, msl #8
+ *[0-9a-f]+: 6f00c7e0 mvni v0\.4s, #0x1f, msl #8
+ *[0-9a-f]+: 6f07c7e0 mvni v0\.4s, #0xff, msl #8
+ *[0-9a-f]+: 6f07d7e0 mvni v0\.4s, #0xff, msl #16
+ *[0-9a-f]+: 2f009400 bic v0\.4h, #0x0
+ *[0-9a-f]+: 2f00941f bic v31\.4h, #0x0
+ *[0-9a-f]+: 2f0097e0 bic v0\.4h, #0x1f
+ *[0-9a-f]+: 2f0797e0 bic v0\.4h, #0xff
+ *[0-9a-f]+: 2f009400 bic v0\.4h, #0x0
+ *[0-9a-f]+: 2f00b400 bic v0\.4h, #0x0, lsl #8
+ *[0-9a-f]+: 6f009400 bic v0\.8h, #0x0
+ *[0-9a-f]+: 6f00941f bic v31\.8h, #0x0
+ *[0-9a-f]+: 6f0097e0 bic v0\.8h, #0x1f
+ *[0-9a-f]+: 6f0797e0 bic v0\.8h, #0xff
+ *[0-9a-f]+: 6f0797e0 bic v0\.8h, #0xff
+ *[0-9a-f]+: 6f07b7e0 bic v0\.8h, #0xff, lsl #8
+ *[0-9a-f]+: 2f001400 bic v0\.2s, #0x0
+ *[0-9a-f]+: 2f00141f bic v31\.2s, #0x0
+ *[0-9a-f]+: 2f0017e0 bic v0\.2s, #0x1f
+ *[0-9a-f]+: 2f0717e0 bic v0\.2s, #0xff
+ *[0-9a-f]+: 2f001400 bic v0\.2s, #0x0
+ *[0-9a-f]+: 2f003400 bic v0\.2s, #0x0, lsl #8
+ *[0-9a-f]+: 2f005400 bic v0\.2s, #0x0, lsl #16
+ *[0-9a-f]+: 2f007400 bic v0\.2s, #0x0, lsl #24
+ *[0-9a-f]+: 6f001400 bic v0\.4s, #0x0
+ *[0-9a-f]+: 6f00141f bic v31\.4s, #0x0
+ *[0-9a-f]+: 6f0017e0 bic v0\.4s, #0x1f
+ *[0-9a-f]+: 6f0717e0 bic v0\.4s, #0xff
+ *[0-9a-f]+: 6f0717e0 bic v0\.4s, #0xff
+ *[0-9a-f]+: 6f0737e0 bic v0\.4s, #0xff, lsl #8
+ *[0-9a-f]+: 6f0757e0 bic v0\.4s, #0xff, lsl #16
+ *[0-9a-f]+: 6f0777e0 bic v0\.4s, #0xff, lsl #24
diff --git a/gas/testsuite/gas/aarch64/advsimd-modified-immediate.s b/gas/testsuite/gas/aarch64/advsimd-modified-immediate.s
new file mode 100644
index 0000000..af64f2e
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-modified-immediate.s
@@ -0,0 +1,98 @@
+// movi and fmov are tested elsewhere, so skipped here.
+
+ orr v0.4h, #0
+ orr v31.4h, #0
+ orr v0.4h, #31
+ orr v0.4h, #255
+ orr v0.4h, #0, lsl #0
+ orr v0.4h, #0, lsl #8
+ orr v0.8h, #0
+ orr v31.8h, #0
+ orr v0.8h, #31
+ orr v0.8h, #255
+ orr v0.8h, #255, lsl #0
+ orr v0.8h, #255, lsl #8
+ orr v0.2s, #0
+ orr v31.2s, #0
+ orr v0.2s, #31
+ orr v0.2s, #255
+ orr v0.2s, #0, lsl #0
+ orr v0.2s, #0, lsl #8
+ orr v0.2s, #0, lsl #16
+ orr v0.2s, #0, lsl #24
+ orr v0.4s, #0
+ orr v31.4s, #0
+ orr v0.4s, #31
+ orr v0.4s, #255
+ orr v0.4s, #255, lsl #0
+ orr v0.4s, #255, lsl #8
+ orr v0.4s, #255, lsl #16
+ orr v0.4s, #255, lsl #24
+
+ mvni v0.4h, #0
+ mvni v31.4h, #0
+ mvni v0.4h, #31
+ mvni v0.4h, #255
+ mvni v0.4h, #0, lsl #0
+ mvni v0.4h, #0, lsl #8
+ mvni v0.8h, #0
+ mvni v31.8h, #0
+ mvni v0.8h, #31
+ mvni v0.8h, #255
+ mvni v0.8h, #255, lsl #0
+ mvni v0.8h, #255, lsl #8
+ mvni v0.2s, #0
+ mvni v31.2s, #0
+ mvni v0.2s, #31
+ mvni v0.2s, #255
+ mvni v0.2s, #0, lsl #0
+ mvni v0.2s, #0, lsl #8
+ mvni v0.2s, #0, lsl #16
+ mvni v0.2s, #0, lsl #24
+ mvni v0.4s, #0
+ mvni v31.4s, #0
+ mvni v0.4s, #31
+ mvni v0.4s, #255
+ mvni v0.4s, #255, lsl #0
+ mvni v0.4s, #255, lsl #8
+ mvni v0.4s, #255, lsl #16
+ mvni v0.4s, #255, lsl #24
+ mvni v0.2s, #0, msl #8
+ mvni v31.2s, #0, msl #8
+ mvni v0.2s, #31, msl #8
+ mvni v0.2s, #255, msl #8
+ mvni v0.2s, #0, msl #16
+ mvni v0.4s, #0, msl #8
+ mvni v31.4s, #0, msl #8
+ mvni v0.4s, #31, msl #8
+ mvni v0.4s, #255, msl #8
+ mvni v0.4s, #255, msl #16
+
+ bic v0.4h, #0
+ bic v31.4h, #0
+ bic v0.4h, #31
+ bic v0.4h, #255
+ bic v0.4h, #0, lsl #0
+ bic v0.4h, #0, lsl #8
+ bic v0.8h, #0
+ bic v31.8h, #0
+ bic v0.8h, #31
+ bic v0.8h, #255
+ bic v0.8h, #255, lsl #0
+ bic v0.8h, #255, lsl #8
+ bic v0.2s, #0
+ bic v31.2s, #0
+ bic v0.2s, #31
+ bic v0.2s, #255
+ bic v0.2s, #0, lsl #0
+ bic v0.2s, #0, lsl #8
+ bic v0.2s, #0, lsl #16
+ bic v0.2s, #0, lsl #24
+ bic v0.4s, #0
+ bic v31.4s, #0
+ bic v0.4s, #31
+ bic v0.4s, #255
+ bic v0.4s, #255, lsl #0
+ bic v0.4s, #255, lsl #8
+ bic v0.4s, #255, lsl #16
+ bic v0.4s, #255, lsl #24
diff --git a/gas/testsuite/gas/aarch64/advsimd-mul-element.d b/gas/testsuite/gas/aarch64/advsimd-mul-element.d
new file mode 100644
index 0000000..16573f6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-mul-element.d
@@ -0,0 +1,373 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0f402000 smlal v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40201f smlal v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4023e0 smlal v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4f2000 smlal v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f502000 smlal v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f702000 smlal v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f702800 smlal v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f802000 smlal v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80201f smlal v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f8023e0 smlal v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9f2000 smlal v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa02000 smlal v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa02800 smlal v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f402000 smlal2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40201f smlal2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4023e0 smlal2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4f2000 smlal2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f502000 smlal2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f702000 smlal2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f702800 smlal2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f802000 smlal2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80201f smlal2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f8023e0 smlal2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9f2000 smlal2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa02000 smlal2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa02800 smlal2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f403000 sqdmlal v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40301f sqdmlal v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4033e0 sqdmlal v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4f3000 sqdmlal v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f503000 sqdmlal v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f703000 sqdmlal v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f703800 sqdmlal v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f803000 sqdmlal v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80301f sqdmlal v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f8033e0 sqdmlal v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9f3000 sqdmlal v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa03000 sqdmlal v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa03800 sqdmlal v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f403000 sqdmlal2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40301f sqdmlal2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4033e0 sqdmlal2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4f3000 sqdmlal2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f503000 sqdmlal2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f703000 sqdmlal2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f703800 sqdmlal2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f803000 sqdmlal2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80301f sqdmlal2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f8033e0 sqdmlal2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9f3000 sqdmlal2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa03000 sqdmlal2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa03800 sqdmlal2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f406000 smlsl v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40601f smlsl v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4063e0 smlsl v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4f6000 smlsl v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f506000 smlsl v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f706000 smlsl v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f706800 smlsl v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f806000 smlsl v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80601f smlsl v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f8063e0 smlsl v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9f6000 smlsl v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa06000 smlsl v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa06800 smlsl v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f406000 smlsl2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40601f smlsl2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4063e0 smlsl2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4f6000 smlsl2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f506000 smlsl2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f706000 smlsl2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f706800 smlsl2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f806000 smlsl2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80601f smlsl2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f8063e0 smlsl2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9f6000 smlsl2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa06000 smlsl2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa06800 smlsl2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f407000 sqdmlsl v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40701f sqdmlsl v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4073e0 sqdmlsl v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4f7000 sqdmlsl v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f507000 sqdmlsl v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f707000 sqdmlsl v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f707800 sqdmlsl v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f807000 sqdmlsl v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80701f sqdmlsl v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f8073e0 sqdmlsl v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9f7000 sqdmlsl v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa07000 sqdmlsl v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa07800 sqdmlsl v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f407000 sqdmlsl2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40701f sqdmlsl2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4073e0 sqdmlsl2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4f7000 sqdmlsl2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f507000 sqdmlsl2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f707000 sqdmlsl2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f707800 sqdmlsl2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f807000 sqdmlsl2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80701f sqdmlsl2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f8073e0 sqdmlsl2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9f7000 sqdmlsl2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa07000 sqdmlsl2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa07800 sqdmlsl2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f408000 mul v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40801f mul v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4083e0 mul v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4f8000 mul v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f508000 mul v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f708000 mul v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f708800 mul v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f808000 mul v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80801f mul v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f8083e0 mul v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9f8000 mul v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa08000 mul v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa08800 mul v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f408000 mul v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40801f mul v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4083e0 mul v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4f8000 mul v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f508000 mul v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f708000 mul v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f708800 mul v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f808000 mul v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80801f mul v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f8083e0 mul v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9f8000 mul v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa08000 mul v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa08800 mul v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f40a000 smull v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40a01f smull v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40a3e0 smull v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4fa000 smull v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f50a000 smull v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f70a000 smull v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f70a800 smull v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f80a000 smull v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80a01f smull v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80a3e0 smull v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9fa000 smull v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa0a000 smull v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa0a800 smull v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f40a000 smull2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40a01f smull2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40a3e0 smull2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4fa000 smull2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f50a000 smull2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f70a000 smull2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f70a800 smull2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f80a000 smull2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80a01f smull2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80a3e0 smull2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9fa000 smull2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa0a000 smull2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa0a800 smull2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f40b000 sqdmull v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40b01f sqdmull v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40b3e0 sqdmull v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4fb000 sqdmull v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f50b000 sqdmull v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f70b000 sqdmull v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f70b800 sqdmull v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f80b000 sqdmull v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80b01f sqdmull v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80b3e0 sqdmull v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9fb000 sqdmull v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa0b000 sqdmull v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa0b800 sqdmull v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f40b000 sqdmull2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40b01f sqdmull2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40b3e0 sqdmull2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4fb000 sqdmull2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f50b000 sqdmull2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f70b000 sqdmull2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f70b800 sqdmull2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f80b000 sqdmull2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80b01f sqdmull2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80b3e0 sqdmull2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9fb000 sqdmull2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa0b000 sqdmull2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa0b800 sqdmull2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f40c000 sqdmulh v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40c01f sqdmulh v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40c3e0 sqdmulh v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4fc000 sqdmulh v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f50c000 sqdmulh v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f70c000 sqdmulh v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f70c800 sqdmulh v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f80c000 sqdmulh v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80c01f sqdmulh v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80c3e0 sqdmulh v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9fc000 sqdmulh v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa0c000 sqdmulh v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa0c800 sqdmulh v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f40c000 sqdmulh v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40c01f sqdmulh v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40c3e0 sqdmulh v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4fc000 sqdmulh v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f50c000 sqdmulh v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f70c000 sqdmulh v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f70c800 sqdmulh v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f80c000 sqdmulh v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80c01f sqdmulh v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80c3e0 sqdmulh v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9fc000 sqdmulh v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa0c000 sqdmulh v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa0c800 sqdmulh v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 0f40d000 sqrdmulh v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40d01f sqrdmulh v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f40d3e0 sqrdmulh v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 0f4fd000 sqrdmulh v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 0f50d000 sqrdmulh v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 0f70d000 sqrdmulh v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 0f70d800 sqrdmulh v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 0f80d000 sqrdmulh v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80d01f sqrdmulh v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f80d3e0 sqrdmulh v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 0f9fd000 sqrdmulh v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 0fa0d000 sqrdmulh v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 0fa0d800 sqrdmulh v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 4f40d000 sqrdmulh v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40d01f sqrdmulh v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f40d3e0 sqrdmulh v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 4f4fd000 sqrdmulh v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 4f50d000 sqrdmulh v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 4f70d000 sqrdmulh v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 4f70d800 sqrdmulh v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 4f80d000 sqrdmulh v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80d01f sqrdmulh v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f80d3e0 sqrdmulh v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 4f9fd000 sqrdmulh v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 4fa0d000 sqrdmulh v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 4fa0d800 sqrdmulh v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 2f400000 mla v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f40001f mla v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4003e0 mla v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4f0000 mla v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 2f500000 mla v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 2f700000 mla v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 2f700800 mla v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 2f800000 mla v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f80001f mla v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f8003e0 mla v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f9f0000 mla v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 2fa00000 mla v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 2fa00800 mla v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 6f400000 mla v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f40001f mla v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4003e0 mla v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4f0000 mla v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 6f500000 mla v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 6f700000 mla v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 6f700800 mla v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 6f800000 mla v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f80001f mla v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f8003e0 mla v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f9f0000 mla v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 6fa00000 mla v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 6fa00800 mla v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 2f402000 umlal v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f40201f umlal v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4023e0 umlal v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4f2000 umlal v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 2f502000 umlal v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 2f702000 umlal v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 2f702800 umlal v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 2f802000 umlal v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f80201f umlal v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f8023e0 umlal v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f9f2000 umlal v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 2fa02000 umlal v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 2fa02800 umlal v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 6f402000 umlal2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f40201f umlal2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4023e0 umlal2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4f2000 umlal2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 6f502000 umlal2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 6f702000 umlal2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 6f702800 umlal2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 6f802000 umlal2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f80201f umlal2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f8023e0 umlal2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f9f2000 umlal2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 6fa02000 umlal2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 6fa02800 umlal2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 2f404000 mls v0\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f40401f mls v31\.4h, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4043e0 mls v0\.4h, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4f4000 mls v0\.4h, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 2f504000 mls v0\.4h, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 2f704000 mls v0\.4h, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 2f704800 mls v0\.4h, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 2f804000 mls v0\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f80401f mls v31\.2s, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f8043e0 mls v0\.2s, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f9f4000 mls v0\.2s, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 2fa04000 mls v0\.2s, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 2fa04800 mls v0\.2s, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 6f404000 mls v0\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f40401f mls v31\.8h, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4043e0 mls v0\.8h, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4f4000 mls v0\.8h, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 6f504000 mls v0\.8h, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 6f704000 mls v0\.8h, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 6f704800 mls v0\.8h, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 6f804000 mls v0\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f80401f mls v31\.4s, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f8043e0 mls v0\.4s, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f9f4000 mls v0\.4s, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 6fa04000 mls v0\.4s, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 6fa04800 mls v0\.4s, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 2f406000 umlsl v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f40601f umlsl v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4063e0 umlsl v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4f6000 umlsl v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 2f506000 umlsl v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 2f706000 umlsl v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 2f706800 umlsl v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 2f806000 umlsl v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f80601f umlsl v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f8063e0 umlsl v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f9f6000 umlsl v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 2fa06000 umlsl v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 2fa06800 umlsl v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 6f406000 umlsl2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f40601f umlsl2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4063e0 umlsl2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4f6000 umlsl2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 6f506000 umlsl2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 6f706000 umlsl2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 6f706800 umlsl2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 6f806000 umlsl2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f80601f umlsl2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f8063e0 umlsl2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f9f6000 umlsl2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 6fa06000 umlsl2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 6fa06800 umlsl2 v0\.2d, v0\.4s, v0\.s\[3\]
+ *[0-9a-f]+: 2f40a000 umull v0\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f40a01f umull v31\.4s, v0\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f40a3e0 umull v0\.4s, v31\.4h, v0\.h\[0\]
+ *[0-9a-f]+: 2f4fa000 umull v0\.4s, v0\.4h, v15\.h\[0\]
+ *[0-9a-f]+: 2f50a000 umull v0\.4s, v0\.4h, v0\.h\[1\]
+ *[0-9a-f]+: 2f70a000 umull v0\.4s, v0\.4h, v0\.h\[3\]
+ *[0-9a-f]+: 2f70a800 umull v0\.4s, v0\.4h, v0\.h\[7\]
+ *[0-9a-f]+: 2f80a000 umull v0\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f80a01f umull v31\.2d, v0\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f80a3e0 umull v0\.2d, v31\.2s, v0\.s\[0\]
+ *[0-9a-f]+: 2f9fa000 umull v0\.2d, v0\.2s, v31\.s\[0\]
+ *[0-9a-f]+: 2fa0a000 umull v0\.2d, v0\.2s, v0\.s\[1\]
+ *[0-9a-f]+: 2fa0a800 umull v0\.2d, v0\.2s, v0\.s\[3\]
+ *[0-9a-f]+: 6f40a000 umull2 v0\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f40a01f umull2 v31\.4s, v0\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f40a3e0 umull2 v0\.4s, v31\.8h, v0\.h\[0\]
+ *[0-9a-f]+: 6f4fa000 umull2 v0\.4s, v0\.8h, v15\.h\[0\]
+ *[0-9a-f]+: 6f50a000 umull2 v0\.4s, v0\.8h, v0\.h\[1\]
+ *[0-9a-f]+: 6f70a000 umull2 v0\.4s, v0\.8h, v0\.h\[3\]
+ *[0-9a-f]+: 6f70a800 umull2 v0\.4s, v0\.8h, v0\.h\[7\]
+ *[0-9a-f]+: 6f80a000 umull2 v0\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f80a01f umull2 v31\.2d, v0\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f80a3e0 umull2 v0\.2d, v31\.4s, v0\.s\[0\]
+ *[0-9a-f]+: 6f9fa000 umull2 v0\.2d, v0\.4s, v31\.s\[0\]
+ *[0-9a-f]+: 6fa0a000 umull2 v0\.2d, v0\.4s, v0\.s\[1\]
+ *[0-9a-f]+: 6fa0a800 umull2 v0\.2d, v0\.4s, v0\.s\[3\]
diff --git a/gas/testsuite/gas/aarch64/advsimd-mul-element.s b/gas/testsuite/gas/aarch64/advsimd-mul-element.s
new file mode 100644
index 0000000..bcb0da3
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-mul-element.s
@@ -0,0 +1,377 @@
+ smlal v0.4s, v0.4h, v0.h[0]
+ smlal v31.4s, v0.4h, v0.h[0]
+ smlal v0.4s, v31.4h, v0.h[0]
+ smlal v0.4s, v0.4h, v15.h[0]
+ smlal v0.4s, v0.4h, v0.h[1]
+ smlal v0.4s, v0.4h, v0.h[3]
+ smlal v0.4s, v0.4h, v0.h[7]
+ smlal v0.2d, v0.2s, v0.s[0]
+ smlal v31.2d, v0.2s, v0.s[0]
+ smlal v0.2d, v31.2s, v0.s[0]
+ smlal v0.2d, v0.2s, v31.s[0]
+ smlal v0.2d, v0.2s, v0.s[1]
+ smlal v0.2d, v0.2s, v0.s[3]
+ smlal2 v0.4s, v0.8h, v0.h[0]
+ smlal2 v31.4s, v0.8h, v0.h[0]
+ smlal2 v0.4s, v31.8h, v0.h[0]
+ smlal2 v0.4s, v0.8h, v15.h[0]
+ smlal2 v0.4s, v0.8h, v0.h[1]
+ smlal2 v0.4s, v0.8h, v0.h[3]
+ smlal2 v0.4s, v0.8h, v0.h[7]
+ smlal2 v0.2d, v0.4s, v0.s[0]
+ smlal2 v31.2d, v0.4s, v0.s[0]
+ smlal2 v0.2d, v31.4s, v0.s[0]
+ smlal2 v0.2d, v0.4s, v31.s[0]
+ smlal2 v0.2d, v0.4s, v0.s[1]
+ smlal2 v0.2d, v0.4s, v0.s[3]
+
+ sqdmlal v0.4s, v0.4h, v0.h[0]
+ sqdmlal v31.4s, v0.4h, v0.h[0]
+ sqdmlal v0.4s, v31.4h, v0.h[0]
+ sqdmlal v0.4s, v0.4h, v15.h[0]
+ sqdmlal v0.4s, v0.4h, v0.h[1]
+ sqdmlal v0.4s, v0.4h, v0.h[3]
+ sqdmlal v0.4s, v0.4h, v0.h[7]
+ sqdmlal v0.2d, v0.2s, v0.s[0]
+ sqdmlal v31.2d, v0.2s, v0.s[0]
+ sqdmlal v0.2d, v31.2s, v0.s[0]
+ sqdmlal v0.2d, v0.2s, v31.s[0]
+ sqdmlal v0.2d, v0.2s, v0.s[1]
+ sqdmlal v0.2d, v0.2s, v0.s[3]
+ sqdmlal2 v0.4s, v0.8h, v0.h[0]
+ sqdmlal2 v31.4s, v0.8h, v0.h[0]
+ sqdmlal2 v0.4s, v31.8h, v0.h[0]
+ sqdmlal2 v0.4s, v0.8h, v15.h[0]
+ sqdmlal2 v0.4s, v0.8h, v0.h[1]
+ sqdmlal2 v0.4s, v0.8h, v0.h[3]
+ sqdmlal2 v0.4s, v0.8h, v0.h[7]
+ sqdmlal2 v0.2d, v0.4s, v0.s[0]
+ sqdmlal2 v31.2d, v0.4s, v0.s[0]
+ sqdmlal2 v0.2d, v31.4s, v0.s[0]
+ sqdmlal2 v0.2d, v0.4s, v31.s[0]
+ sqdmlal2 v0.2d, v0.4s, v0.s[1]
+ sqdmlal2 v0.2d, v0.4s, v0.s[3]
+
+ smlsl v0.4s, v0.4h, v0.h[0]
+ smlsl v31.4s, v0.4h, v0.h[0]
+ smlsl v0.4s, v31.4h, v0.h[0]
+ smlsl v0.4s, v0.4h, v15.h[0]
+ smlsl v0.4s, v0.4h, v0.h[1]
+ smlsl v0.4s, v0.4h, v0.h[3]
+ smlsl v0.4s, v0.4h, v0.h[7]
+ smlsl v0.2d, v0.2s, v0.s[0]
+ smlsl v31.2d, v0.2s, v0.s[0]
+ smlsl v0.2d, v31.2s, v0.s[0]
+ smlsl v0.2d, v0.2s, v31.s[0]
+ smlsl v0.2d, v0.2s, v0.s[1]
+ smlsl v0.2d, v0.2s, v0.s[3]
+ smlsl2 v0.4s, v0.8h, v0.h[0]
+ smlsl2 v31.4s, v0.8h, v0.h[0]
+ smlsl2 v0.4s, v31.8h, v0.h[0]
+ smlsl2 v0.4s, v0.8h, v15.h[0]
+ smlsl2 v0.4s, v0.8h, v0.h[1]
+ smlsl2 v0.4s, v0.8h, v0.h[3]
+ smlsl2 v0.4s, v0.8h, v0.h[7]
+ smlsl2 v0.2d, v0.4s, v0.s[0]
+ smlsl2 v31.2d, v0.4s, v0.s[0]
+ smlsl2 v0.2d, v31.4s, v0.s[0]
+ smlsl2 v0.2d, v0.4s, v31.s[0]
+ smlsl2 v0.2d, v0.4s, v0.s[1]
+ smlsl2 v0.2d, v0.4s, v0.s[3]
+
+ sqdmlsl v0.4s, v0.4h, v0.h[0]
+ sqdmlsl v31.4s, v0.4h, v0.h[0]
+ sqdmlsl v0.4s, v31.4h, v0.h[0]
+ sqdmlsl v0.4s, v0.4h, v15.h[0]
+ sqdmlsl v0.4s, v0.4h, v0.h[1]
+ sqdmlsl v0.4s, v0.4h, v0.h[3]
+ sqdmlsl v0.4s, v0.4h, v0.h[7]
+ sqdmlsl v0.2d, v0.2s, v0.s[0]
+ sqdmlsl v31.2d, v0.2s, v0.s[0]
+ sqdmlsl v0.2d, v31.2s, v0.s[0]
+ sqdmlsl v0.2d, v0.2s, v31.s[0]
+ sqdmlsl v0.2d, v0.2s, v0.s[1]
+ sqdmlsl v0.2d, v0.2s, v0.s[3]
+ sqdmlsl2 v0.4s, v0.8h, v0.h[0]
+ sqdmlsl2 v31.4s, v0.8h, v0.h[0]
+ sqdmlsl2 v0.4s, v31.8h, v0.h[0]
+ sqdmlsl2 v0.4s, v0.8h, v15.h[0]
+ sqdmlsl2 v0.4s, v0.8h, v0.h[1]
+ sqdmlsl2 v0.4s, v0.8h, v0.h[3]
+ sqdmlsl2 v0.4s, v0.8h, v0.h[7]
+ sqdmlsl2 v0.2d, v0.4s, v0.s[0]
+ sqdmlsl2 v31.2d, v0.4s, v0.s[0]
+ sqdmlsl2 v0.2d, v31.4s, v0.s[0]
+ sqdmlsl2 v0.2d, v0.4s, v31.s[0]
+ sqdmlsl2 v0.2d, v0.4s, v0.s[1]
+ sqdmlsl2 v0.2d, v0.4s, v0.s[3]
+
+ mul v0.4h, v0.4h, v0.h[0]
+ mul v31.4h, v0.4h, v0.h[0]
+ mul v0.4h, v31.4h, v0.h[0]
+ mul v0.4h, v0.4h, v15.h[0]
+ mul v0.4h, v0.4h, v0.h[1]
+ mul v0.4h, v0.4h, v0.h[3]
+ mul v0.4h, v0.4h, v0.h[7]
+ mul v0.2s, v0.2s, v0.s[0]
+ mul v31.2s, v0.2s, v0.s[0]
+ mul v0.2s, v31.2s, v0.s[0]
+ mul v0.2s, v0.2s, v31.s[0]
+ mul v0.2s, v0.2s, v0.s[1]
+ mul v0.2s, v0.2s, v0.s[3]
+ mul v0.8h, v0.8h, v0.h[0]
+ mul v31.8h, v0.8h, v0.h[0]
+ mul v0.8h, v31.8h, v0.h[0]
+ mul v0.8h, v0.8h, v15.h[0]
+ mul v0.8h, v0.8h, v0.h[1]
+ mul v0.8h, v0.8h, v0.h[3]
+ mul v0.8h, v0.8h, v0.h[7]
+ mul v0.4s, v0.4s, v0.s[0]
+ mul v31.4s, v0.4s, v0.s[0]
+ mul v0.4s, v31.4s, v0.s[0]
+ mul v0.4s, v0.4s, v31.s[0]
+ mul v0.4s, v0.4s, v0.s[1]
+ mul v0.4s, v0.4s, v0.s[3]
+
+ smull v0.4s, v0.4h, v0.h[0]
+ smull v31.4s, v0.4h, v0.h[0]
+ smull v0.4s, v31.4h, v0.h[0]
+ smull v0.4s, v0.4h, v15.h[0]
+ smull v0.4s, v0.4h, v0.h[1]
+ smull v0.4s, v0.4h, v0.h[3]
+ smull v0.4s, v0.4h, v0.h[7]
+ smull v0.2d, v0.2s, v0.s[0]
+ smull v31.2d, v0.2s, v0.s[0]
+ smull v0.2d, v31.2s, v0.s[0]
+ smull v0.2d, v0.2s, v31.s[0]
+ smull v0.2d, v0.2s, v0.s[1]
+ smull v0.2d, v0.2s, v0.s[3]
+ smull2 v0.4s, v0.8h, v0.h[0]
+ smull2 v31.4s, v0.8h, v0.h[0]
+ smull2 v0.4s, v31.8h, v0.h[0]
+ smull2 v0.4s, v0.8h, v15.h[0]
+ smull2 v0.4s, v0.8h, v0.h[1]
+ smull2 v0.4s, v0.8h, v0.h[3]
+ smull2 v0.4s, v0.8h, v0.h[7]
+ smull2 v0.2d, v0.4s, v0.s[0]
+ smull2 v31.2d, v0.4s, v0.s[0]
+ smull2 v0.2d, v31.4s, v0.s[0]
+ smull2 v0.2d, v0.4s, v31.s[0]
+ smull2 v0.2d, v0.4s, v0.s[1]
+ smull2 v0.2d, v0.4s, v0.s[3]
+
+ sqdmull v0.4s, v0.4h, v0.h[0]
+ sqdmull v31.4s, v0.4h, v0.h[0]
+ sqdmull v0.4s, v31.4h, v0.h[0]
+ sqdmull v0.4s, v0.4h, v15.h[0]
+ sqdmull v0.4s, v0.4h, v0.h[1]
+ sqdmull v0.4s, v0.4h, v0.h[3]
+ sqdmull v0.4s, v0.4h, v0.h[7]
+ sqdmull v0.2d, v0.2s, v0.s[0]
+ sqdmull v31.2d, v0.2s, v0.s[0]
+ sqdmull v0.2d, v31.2s, v0.s[0]
+ sqdmull v0.2d, v0.2s, v31.s[0]
+ sqdmull v0.2d, v0.2s, v0.s[1]
+ sqdmull v0.2d, v0.2s, v0.s[3]
+ sqdmull2 v0.4s, v0.8h, v0.h[0]
+ sqdmull2 v31.4s, v0.8h, v0.h[0]
+ sqdmull2 v0.4s, v31.8h, v0.h[0]
+ sqdmull2 v0.4s, v0.8h, v15.h[0]
+ sqdmull2 v0.4s, v0.8h, v0.h[1]
+ sqdmull2 v0.4s, v0.8h, v0.h[3]
+ sqdmull2 v0.4s, v0.8h, v0.h[7]
+ sqdmull2 v0.2d, v0.4s, v0.s[0]
+ sqdmull2 v31.2d, v0.4s, v0.s[0]
+ sqdmull2 v0.2d, v31.4s, v0.s[0]
+ sqdmull2 v0.2d, v0.4s, v31.s[0]
+ sqdmull2 v0.2d, v0.4s, v0.s[1]
+ sqdmull2 v0.2d, v0.4s, v0.s[3]
+
+ sqdmulh v0.4h, v0.4h, v0.h[0]
+ sqdmulh v31.4h, v0.4h, v0.h[0]
+ sqdmulh v0.4h, v31.4h, v0.h[0]
+ sqdmulh v0.4h, v0.4h, v15.h[0]
+ sqdmulh v0.4h, v0.4h, v0.h[1]
+ sqdmulh v0.4h, v0.4h, v0.h[3]
+ sqdmulh v0.4h, v0.4h, v0.h[7]
+ sqdmulh v0.2s, v0.2s, v0.s[0]
+ sqdmulh v31.2s, v0.2s, v0.s[0]
+ sqdmulh v0.2s, v31.2s, v0.s[0]
+ sqdmulh v0.2s, v0.2s, v31.s[0]
+ sqdmulh v0.2s, v0.2s, v0.s[1]
+ sqdmulh v0.2s, v0.2s, v0.s[3]
+ sqdmulh v0.8h, v0.8h, v0.h[0]
+ sqdmulh v31.8h, v0.8h, v0.h[0]
+ sqdmulh v0.8h, v31.8h, v0.h[0]
+ sqdmulh v0.8h, v0.8h, v15.h[0]
+ sqdmulh v0.8h, v0.8h, v0.h[1]
+ sqdmulh v0.8h, v0.8h, v0.h[3]
+ sqdmulh v0.8h, v0.8h, v0.h[7]
+ sqdmulh v0.4s, v0.4s, v0.s[0]
+ sqdmulh v31.4s, v0.4s, v0.s[0]
+ sqdmulh v0.4s, v31.4s, v0.s[0]
+ sqdmulh v0.4s, v0.4s, v31.s[0]
+ sqdmulh v0.4s, v0.4s, v0.s[1]
+ sqdmulh v0.4s, v0.4s, v0.s[3]
+
+ sqrdmulh v0.4h, v0.4h, v0.h[0]
+ sqrdmulh v31.4h, v0.4h, v0.h[0]
+ sqrdmulh v0.4h, v31.4h, v0.h[0]
+ sqrdmulh v0.4h, v0.4h, v15.h[0]
+ sqrdmulh v0.4h, v0.4h, v0.h[1]
+ sqrdmulh v0.4h, v0.4h, v0.h[3]
+ sqrdmulh v0.4h, v0.4h, v0.h[7]
+ sqrdmulh v0.2s, v0.2s, v0.s[0]
+ sqrdmulh v31.2s, v0.2s, v0.s[0]
+ sqrdmulh v0.2s, v31.2s, v0.s[0]
+ sqrdmulh v0.2s, v0.2s, v31.s[0]
+ sqrdmulh v0.2s, v0.2s, v0.s[1]
+ sqrdmulh v0.2s, v0.2s, v0.s[3]
+ sqrdmulh v0.8h, v0.8h, v0.h[0]
+ sqrdmulh v31.8h, v0.8h, v0.h[0]
+ sqrdmulh v0.8h, v31.8h, v0.h[0]
+ sqrdmulh v0.8h, v0.8h, v15.h[0]
+ sqrdmulh v0.8h, v0.8h, v0.h[1]
+ sqrdmulh v0.8h, v0.8h, v0.h[3]
+ sqrdmulh v0.8h, v0.8h, v0.h[7]
+ sqrdmulh v0.4s, v0.4s, v0.s[0]
+ sqrdmulh v31.4s, v0.4s, v0.s[0]
+ sqrdmulh v0.4s, v31.4s, v0.s[0]
+ sqrdmulh v0.4s, v0.4s, v31.s[0]
+ sqrdmulh v0.4s, v0.4s, v0.s[1]
+ sqrdmulh v0.4s, v0.4s, v0.s[3]
+
+ mla v0.4h, v0.4h, v0.h[0]
+ mla v31.4h, v0.4h, v0.h[0]
+ mla v0.4h, v31.4h, v0.h[0]
+ mla v0.4h, v0.4h, v15.h[0]
+ mla v0.4h, v0.4h, v0.h[1]
+ mla v0.4h, v0.4h, v0.h[3]
+ mla v0.4h, v0.4h, v0.h[7]
+ mla v0.2s, v0.2s, v0.s[0]
+ mla v31.2s, v0.2s, v0.s[0]
+ mla v0.2s, v31.2s, v0.s[0]
+ mla v0.2s, v0.2s, v31.s[0]
+ mla v0.2s, v0.2s, v0.s[1]
+ mla v0.2s, v0.2s, v0.s[3]
+ mla v0.8h, v0.8h, v0.h[0]
+ mla v31.8h, v0.8h, v0.h[0]
+ mla v0.8h, v31.8h, v0.h[0]
+ mla v0.8h, v0.8h, v15.h[0]
+ mla v0.8h, v0.8h, v0.h[1]
+ mla v0.8h, v0.8h, v0.h[3]
+ mla v0.8h, v0.8h, v0.h[7]
+ mla v0.4s, v0.4s, v0.s[0]
+ mla v31.4s, v0.4s, v0.s[0]
+ mla v0.4s, v31.4s, v0.s[0]
+ mla v0.4s, v0.4s, v31.s[0]
+ mla v0.4s, v0.4s, v0.s[1]
+ mla v0.4s, v0.4s, v0.s[3]
+
+ umlal v0.4s, v0.4h, v0.h[0]
+ umlal v31.4s, v0.4h, v0.h[0]
+ umlal v0.4s, v31.4h, v0.h[0]
+ umlal v0.4s, v0.4h, v15.h[0]
+ umlal v0.4s, v0.4h, v0.h[1]
+ umlal v0.4s, v0.4h, v0.h[3]
+ umlal v0.4s, v0.4h, v0.h[7]
+ umlal v0.2d, v0.2s, v0.s[0]
+ umlal v31.2d, v0.2s, v0.s[0]
+ umlal v0.2d, v31.2s, v0.s[0]
+ umlal v0.2d, v0.2s, v31.s[0]
+ umlal v0.2d, v0.2s, v0.s[1]
+ umlal v0.2d, v0.2s, v0.s[3]
+ umlal2 v0.4s, v0.8h, v0.h[0]
+ umlal2 v31.4s, v0.8h, v0.h[0]
+ umlal2 v0.4s, v31.8h, v0.h[0]
+ umlal2 v0.4s, v0.8h, v15.h[0]
+ umlal2 v0.4s, v0.8h, v0.h[1]
+ umlal2 v0.4s, v0.8h, v0.h[3]
+ umlal2 v0.4s, v0.8h, v0.h[7]
+ umlal2 v0.2d, v0.4s, v0.s[0]
+ umlal2 v31.2d, v0.4s, v0.s[0]
+ umlal2 v0.2d, v31.4s, v0.s[0]
+ umlal2 v0.2d, v0.4s, v31.s[0]
+ umlal2 v0.2d, v0.4s, v0.s[1]
+ umlal2 v0.2d, v0.4s, v0.s[3]
+
+ mls v0.4h, v0.4h, v0.h[0]
+ mls v31.4h, v0.4h, v0.h[0]
+ mls v0.4h, v31.4h, v0.h[0]
+ mls v0.4h, v0.4h, v15.h[0]
+ mls v0.4h, v0.4h, v0.h[1]
+ mls v0.4h, v0.4h, v0.h[3]
+ mls v0.4h, v0.4h, v0.h[7]
+ mls v0.2s, v0.2s, v0.s[0]
+ mls v31.2s, v0.2s, v0.s[0]
+ mls v0.2s, v31.2s, v0.s[0]
+ mls v0.2s, v0.2s, v31.s[0]
+ mls v0.2s, v0.2s, v0.s[1]
+ mls v0.2s, v0.2s, v0.s[3]
+ mls v0.8h, v0.8h, v0.h[0]
+ mls v31.8h, v0.8h, v0.h[0]
+ mls v0.8h, v31.8h, v0.h[0]
+ mls v0.8h, v0.8h, v15.h[0]
+ mls v0.8h, v0.8h, v0.h[1]
+ mls v0.8h, v0.8h, v0.h[3]
+ mls v0.8h, v0.8h, v0.h[7]
+ mls v0.4s, v0.4s, v0.s[0]
+ mls v31.4s, v0.4s, v0.s[0]
+ mls v0.4s, v31.4s, v0.s[0]
+ mls v0.4s, v0.4s, v31.s[0]
+ mls v0.4s, v0.4s, v0.s[1]
+ mls v0.4s, v0.4s, v0.s[3]
+
+ umlsl v0.4s, v0.4h, v0.h[0]
+ umlsl v31.4s, v0.4h, v0.h[0]
+ umlsl v0.4s, v31.4h, v0.h[0]
+ umlsl v0.4s, v0.4h, v15.h[0]
+ umlsl v0.4s, v0.4h, v0.h[1]
+ umlsl v0.4s, v0.4h, v0.h[3]
+ umlsl v0.4s, v0.4h, v0.h[7]
+ umlsl v0.2d, v0.2s, v0.s[0]
+ umlsl v31.2d, v0.2s, v0.s[0]
+ umlsl v0.2d, v31.2s, v0.s[0]
+ umlsl v0.2d, v0.2s, v31.s[0]
+ umlsl v0.2d, v0.2s, v0.s[1]
+ umlsl v0.2d, v0.2s, v0.s[3]
+ umlsl2 v0.4s, v0.8h, v0.h[0]
+ umlsl2 v31.4s, v0.8h, v0.h[0]
+ umlsl2 v0.4s, v31.8h, v0.h[0]
+ umlsl2 v0.4s, v0.8h, v15.h[0]
+ umlsl2 v0.4s, v0.8h, v0.h[1]
+ umlsl2 v0.4s, v0.8h, v0.h[3]
+ umlsl2 v0.4s, v0.8h, v0.h[7]
+ umlsl2 v0.2d, v0.4s, v0.s[0]
+ umlsl2 v31.2d, v0.4s, v0.s[0]
+ umlsl2 v0.2d, v31.4s, v0.s[0]
+ umlsl2 v0.2d, v0.4s, v31.s[0]
+ umlsl2 v0.2d, v0.4s, v0.s[1]
+ umlsl2 v0.2d, v0.4s, v0.s[3]
+
+ umull v0.4s, v0.4h, v0.h[0]
+ umull v31.4s, v0.4h, v0.h[0]
+ umull v0.4s, v31.4h, v0.h[0]
+ umull v0.4s, v0.4h, v15.h[0]
+ umull v0.4s, v0.4h, v0.h[1]
+ umull v0.4s, v0.4h, v0.h[3]
+ umull v0.4s, v0.4h, v0.h[7]
+ umull v0.2d, v0.2s, v0.s[0]
+ umull v31.2d, v0.2s, v0.s[0]
+ umull v0.2d, v31.2s, v0.s[0]
+ umull v0.2d, v0.2s, v31.s[0]
+ umull v0.2d, v0.2s, v0.s[1]
+ umull v0.2d, v0.2s, v0.s[3]
+ umull2 v0.4s, v0.8h, v0.h[0]
+ umull2 v31.4s, v0.8h, v0.h[0]
+ umull2 v0.4s, v31.8h, v0.h[0]
+ umull2 v0.4s, v0.8h, v15.h[0]
+ umull2 v0.4s, v0.8h, v0.h[1]
+ umull2 v0.4s, v0.8h, v0.h[3]
+ umull2 v0.4s, v0.8h, v0.h[7]
+ umull2 v0.2d, v0.4s, v0.s[0]
+ umull2 v31.2d, v0.4s, v0.s[0]
+ umull2 v0.2d, v31.4s, v0.s[0]
+ umull2 v0.2d, v0.4s, v31.s[0]
+ umull2 v0.2d, v0.4s, v0.s[1]
+ umull2 v0.2d, v0.4s, v0.s[3]
diff --git a/gas/testsuite/gas/aarch64/advsimd-permute.d b/gas/testsuite/gas/aarch64/advsimd-permute.d
new file mode 100644
index 0000000..a3a9487
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-permute.d
@@ -0,0 +1,251 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 2e000000 ext v0\.8b, v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e00001f ext v31\.8b, v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e0003e0 ext v0\.8b, v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e1f0000 ext v0\.8b, v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 2e003800 ext v0\.8b, v0\.8b, v0\.8b, #7
+ *[0-9a-f]+: 6e000000 ext v0\.16b, v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e00001f ext v31\.16b, v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e0003e0 ext v0\.16b, v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e1f0000 ext v0\.16b, v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 6e007800 ext v0\.16b, v0\.16b, v0\.16b, #15
+ *[0-9a-f]+: 0e001800 uzp1 v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e00181f uzp1 v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e001be0 uzp1 v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e1f1800 uzp1 v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e401800 uzp1 v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e40181f uzp1 v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e401be0 uzp1 v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e5f1800 uzp1 v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0e801800 uzp1 v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e80181f uzp1 v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e801be0 uzp1 v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0e9f1800 uzp1 v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e001800 uzp1 v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e00181f uzp1 v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e001be0 uzp1 v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e1f1800 uzp1 v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e401800 uzp1 v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e40181f uzp1 v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e401be0 uzp1 v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e5f1800 uzp1 v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e801800 uzp1 v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e80181f uzp1 v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e801be0 uzp1 v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e9f1800 uzp1 v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ec01800 uzp1 v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec0181f uzp1 v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec01be0 uzp1 v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4edf1800 uzp1 v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e002800 trn1 v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e00281f trn1 v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e002be0 trn1 v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e1f2800 trn1 v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e402800 trn1 v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e40281f trn1 v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e402be0 trn1 v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e5f2800 trn1 v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0e802800 trn1 v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e80281f trn1 v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e802be0 trn1 v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0e9f2800 trn1 v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e002800 trn1 v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e00281f trn1 v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e002be0 trn1 v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e1f2800 trn1 v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e402800 trn1 v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e40281f trn1 v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e402be0 trn1 v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e5f2800 trn1 v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e802800 trn1 v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e80281f trn1 v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e802be0 trn1 v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e9f2800 trn1 v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ec02800 trn1 v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec0281f trn1 v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec02be0 trn1 v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4edf2800 trn1 v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e003800 zip1 v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e00381f zip1 v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e003be0 zip1 v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e1f3800 zip1 v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e403800 zip1 v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e40381f zip1 v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e403be0 zip1 v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e5f3800 zip1 v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0e803800 zip1 v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e80381f zip1 v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e803be0 zip1 v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0e9f3800 zip1 v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e003800 zip1 v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e00381f zip1 v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e003be0 zip1 v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e1f3800 zip1 v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e403800 zip1 v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e40381f zip1 v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e403be0 zip1 v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e5f3800 zip1 v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e803800 zip1 v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e80381f zip1 v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e803be0 zip1 v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e9f3800 zip1 v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ec03800 zip1 v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec0381f zip1 v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec03be0 zip1 v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4edf3800 zip1 v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e005800 uzp2 v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e00581f uzp2 v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e005be0 uzp2 v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e1f5800 uzp2 v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e405800 uzp2 v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e40581f uzp2 v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e405be0 uzp2 v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e5f5800 uzp2 v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0e805800 uzp2 v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e80581f uzp2 v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e805be0 uzp2 v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0e9f5800 uzp2 v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e005800 uzp2 v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e00581f uzp2 v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e005be0 uzp2 v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e1f5800 uzp2 v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e405800 uzp2 v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e40581f uzp2 v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e405be0 uzp2 v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e5f5800 uzp2 v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e805800 uzp2 v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e80581f uzp2 v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e805be0 uzp2 v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e9f5800 uzp2 v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ec05800 uzp2 v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec0581f uzp2 v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec05be0 uzp2 v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4edf5800 uzp2 v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e006800 trn2 v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e00681f trn2 v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e006be0 trn2 v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e1f6800 trn2 v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e406800 trn2 v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e40681f trn2 v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e406be0 trn2 v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e5f6800 trn2 v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0e806800 trn2 v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e80681f trn2 v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e806be0 trn2 v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0e9f6800 trn2 v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e006800 trn2 v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e00681f trn2 v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e006be0 trn2 v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e1f6800 trn2 v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e406800 trn2 v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e40681f trn2 v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e406be0 trn2 v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e5f6800 trn2 v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e806800 trn2 v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e80681f trn2 v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e806be0 trn2 v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e9f6800 trn2 v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ec06800 trn2 v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec0681f trn2 v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec06be0 trn2 v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4edf6800 trn2 v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e007800 zip2 v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e00781f zip2 v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e007be0 zip2 v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e1f7800 zip2 v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e407800 zip2 v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e40781f zip2 v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e407be0 zip2 v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e5f7800 zip2 v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0e807800 zip2 v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e80781f zip2 v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0e807be0 zip2 v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0e9f7800 zip2 v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e007800 zip2 v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e00781f zip2 v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e007be0 zip2 v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e1f7800 zip2 v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e407800 zip2 v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e40781f zip2 v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e407be0 zip2 v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e5f7800 zip2 v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e807800 zip2 v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e80781f zip2 v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e807be0 zip2 v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e9f7800 zip2 v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ec07800 zip2 v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec0781f zip2 v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ec07be0 zip2 v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4edf7800 zip2 v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e000000 tbl v0\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00001f tbl v31\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0003e0 tbl v0\.8b, {v31\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f0000 tbl v0\.8b, {v0\.16b}, v31\.8b
+ *[0-9a-f]+: 4e000000 tbl v0\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00001f tbl v31\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0003e0 tbl v0\.16b, {v31\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f0000 tbl v0\.16b, {v0\.16b}, v31\.16b
+ *[0-9a-f]+: 0e002000 tbl v0\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00201f tbl v31\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0023e0 tbl v0\.8b, {v31\.16b-v0\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f2000 tbl v0\.8b, {v0\.16b-v1\.16b}, v31\.8b
+ *[0-9a-f]+: 4e002000 tbl v0\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00201f tbl v31\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0023e0 tbl v0\.16b, {v31\.16b-v0\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f2000 tbl v0\.16b, {v0\.16b-v1\.16b}, v31\.16b
+ *[0-9a-f]+: 0e004000 tbl v0\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00401f tbl v31\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0043e0 tbl v0\.8b, {v31\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f4000 tbl v0\.8b, {v0\.16b-v2\.16b}, v31\.8b
+ *[0-9a-f]+: 4e004000 tbl v0\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00401f tbl v31\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0043e0 tbl v0\.16b, {v31\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f4000 tbl v0\.16b, {v0\.16b-v2\.16b}, v31\.16b
+ *[0-9a-f]+: 0e006000 tbl v0\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00601f tbl v31\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0063e0 tbl v0\.8b, {v31\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f6000 tbl v0\.8b, {v0\.16b-v3\.16b}, v31\.8b
+ *[0-9a-f]+: 4e006000 tbl v0\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00601f tbl v31\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0063e0 tbl v0\.16b, {v31\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f6000 tbl v0\.16b, {v0\.16b-v3\.16b}, v31\.16b
+ *[0-9a-f]+: 0e001000 tbx v0\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00101f tbx v31\.8b, {v0\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0013e0 tbx v0\.8b, {v31\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f1000 tbx v0\.8b, {v0\.16b}, v31\.8b
+ *[0-9a-f]+: 4e001000 tbx v0\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00101f tbx v31\.16b, {v0\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0013e0 tbx v0\.16b, {v31\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f1000 tbx v0\.16b, {v0\.16b}, v31\.16b
+ *[0-9a-f]+: 0e003000 tbx v0\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00301f tbx v31\.8b, {v0\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0033e0 tbx v0\.8b, {v31\.16b-v0\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f3000 tbx v0\.8b, {v0\.16b-v1\.16b}, v31\.8b
+ *[0-9a-f]+: 4e003000 tbx v0\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00301f tbx v31\.16b, {v0\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0033e0 tbx v0\.16b, {v31\.16b-v0\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f3000 tbx v0\.16b, {v0\.16b-v1\.16b}, v31\.16b
+ *[0-9a-f]+: 0e005000 tbx v0\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00501f tbx v31\.8b, {v0\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0053e0 tbx v0\.8b, {v31\.16b-v1\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f5000 tbx v0\.8b, {v0\.16b-v2\.16b}, v31\.8b
+ *[0-9a-f]+: 4e005000 tbx v0\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00501f tbx v31\.16b, {v0\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0053e0 tbx v0\.16b, {v31\.16b-v1\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f5000 tbx v0\.16b, {v0\.16b-v2\.16b}, v31\.16b
+ *[0-9a-f]+: 0e007000 tbx v0\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+: 0e00701f tbx v31\.8b, {v0\.16b-v3\.16b}, v0\.8b
+ *[0-9a-f]+: 0e0073e0 tbx v0\.8b, {v31\.16b-v2\.16b}, v0\.8b
+ *[0-9a-f]+: 0e1f7000 tbx v0\.8b, {v0\.16b-v3\.16b}, v31\.8b
+ *[0-9a-f]+: 4e007000 tbx v0\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+: 4e00701f tbx v31\.16b, {v0\.16b-v3\.16b}, v0\.16b
+ *[0-9a-f]+: 4e0073e0 tbx v0\.16b, {v31\.16b-v2\.16b}, v0\.16b
+ *[0-9a-f]+: 4e1f7000 tbx v0\.16b, {v0\.16b-v3\.16b}, v31\.16b
diff --git a/gas/testsuite/gas/aarch64/advsimd-permute.s b/gas/testsuite/gas/aarch64/advsimd-permute.s
new file mode 100644
index 0000000..d4b0714
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-permute.s
@@ -0,0 +1,250 @@
+ ext v0.8b, v0.8b, v0.8b, #0
+ ext v31.8b, v0.8b, v0.8b, #0
+ ext v0.8b, v31.8b, v0.8b, #0
+ ext v0.8b, v0.8b, v31.8b, #0
+ ext v0.8b, v0.8b, v0.8b, #7
+ ext v0.16b, v0.16b, v0.16b, #0
+ ext v31.16b, v0.16b, v0.16b, #0
+ ext v0.16b, v31.16b, v0.16b, #0
+ ext v0.16b, v0.16b, v31.16b, #0
+ ext v0.16b, v0.16b, v0.16b, #15
+
+ uzp1 v0.8b, v0.8b, v0.8b
+ uzp1 v31.8b, v0.8b, v0.8b
+ uzp1 v0.8b, v31.8b, v0.8b
+ uzp1 v0.8b, v0.8b, v31.8b
+ uzp1 v0.4h, v0.4h, v0.4h
+ uzp1 v31.4h, v0.4h, v0.4h
+ uzp1 v0.4h, v31.4h, v0.4h
+ uzp1 v0.4h, v0.4h, v31.4h
+ uzp1 v0.2s, v0.2s, v0.2s
+ uzp1 v31.2s, v0.2s, v0.2s
+ uzp1 v0.2s, v31.2s, v0.2s
+ uzp1 v0.2s, v0.2s, v31.2s
+ uzp1 v0.16b, v0.16b, v0.16b
+ uzp1 v31.16b, v0.16b, v0.16b
+ uzp1 v0.16b, v31.16b, v0.16b
+ uzp1 v0.16b, v0.16b, v31.16b
+ uzp1 v0.8h, v0.8h, v0.8h
+ uzp1 v31.8h, v0.8h, v0.8h
+ uzp1 v0.8h, v31.8h, v0.8h
+ uzp1 v0.8h, v0.8h, v31.8h
+ uzp1 v0.4s, v0.4s, v0.4s
+ uzp1 v31.4s, v0.4s, v0.4s
+ uzp1 v0.4s, v31.4s, v0.4s
+ uzp1 v0.4s, v0.4s, v31.4s
+ uzp1 v0.2d, v0.2d, v0.2d
+ uzp1 v31.2d, v0.2d, v0.2d
+ uzp1 v0.2d, v31.2d, v0.2d
+ uzp1 v0.2d, v0.2d, v31.2d
+
+ trn1 v0.8b, v0.8b, v0.8b
+ trn1 v31.8b, v0.8b, v0.8b
+ trn1 v0.8b, v31.8b, v0.8b
+ trn1 v0.8b, v0.8b, v31.8b
+ trn1 v0.4h, v0.4h, v0.4h
+ trn1 v31.4h, v0.4h, v0.4h
+ trn1 v0.4h, v31.4h, v0.4h
+ trn1 v0.4h, v0.4h, v31.4h
+ trn1 v0.2s, v0.2s, v0.2s
+ trn1 v31.2s, v0.2s, v0.2s
+ trn1 v0.2s, v31.2s, v0.2s
+ trn1 v0.2s, v0.2s, v31.2s
+ trn1 v0.16b, v0.16b, v0.16b
+ trn1 v31.16b, v0.16b, v0.16b
+ trn1 v0.16b, v31.16b, v0.16b
+ trn1 v0.16b, v0.16b, v31.16b
+ trn1 v0.8h, v0.8h, v0.8h
+ trn1 v31.8h, v0.8h, v0.8h
+ trn1 v0.8h, v31.8h, v0.8h
+ trn1 v0.8h, v0.8h, v31.8h
+ trn1 v0.4s, v0.4s, v0.4s
+ trn1 v31.4s, v0.4s, v0.4s
+ trn1 v0.4s, v31.4s, v0.4s
+ trn1 v0.4s, v0.4s, v31.4s
+ trn1 v0.2d, v0.2d, v0.2d
+ trn1 v31.2d, v0.2d, v0.2d
+ trn1 v0.2d, v31.2d, v0.2d
+ trn1 v0.2d, v0.2d, v31.2d
+
+ zip1 v0.8b, v0.8b, v0.8b
+ zip1 v31.8b, v0.8b, v0.8b
+ zip1 v0.8b, v31.8b, v0.8b
+ zip1 v0.8b, v0.8b, v31.8b
+ zip1 v0.4h, v0.4h, v0.4h
+ zip1 v31.4h, v0.4h, v0.4h
+ zip1 v0.4h, v31.4h, v0.4h
+ zip1 v0.4h, v0.4h, v31.4h
+ zip1 v0.2s, v0.2s, v0.2s
+ zip1 v31.2s, v0.2s, v0.2s
+ zip1 v0.2s, v31.2s, v0.2s
+ zip1 v0.2s, v0.2s, v31.2s
+ zip1 v0.16b, v0.16b, v0.16b
+ zip1 v31.16b, v0.16b, v0.16b
+ zip1 v0.16b, v31.16b, v0.16b
+ zip1 v0.16b, v0.16b, v31.16b
+ zip1 v0.8h, v0.8h, v0.8h
+ zip1 v31.8h, v0.8h, v0.8h
+ zip1 v0.8h, v31.8h, v0.8h
+ zip1 v0.8h, v0.8h, v31.8h
+ zip1 v0.4s, v0.4s, v0.4s
+ zip1 v31.4s, v0.4s, v0.4s
+ zip1 v0.4s, v31.4s, v0.4s
+ zip1 v0.4s, v0.4s, v31.4s
+ zip1 v0.2d, v0.2d, v0.2d
+ zip1 v31.2d, v0.2d, v0.2d
+ zip1 v0.2d, v31.2d, v0.2d
+ zip1 v0.2d, v0.2d, v31.2d
+
+ uzp2 v0.8b, v0.8b, v0.8b
+ uzp2 v31.8b, v0.8b, v0.8b
+ uzp2 v0.8b, v31.8b, v0.8b
+ uzp2 v0.8b, v0.8b, v31.8b
+ uzp2 v0.4h, v0.4h, v0.4h
+ uzp2 v31.4h, v0.4h, v0.4h
+ uzp2 v0.4h, v31.4h, v0.4h
+ uzp2 v0.4h, v0.4h, v31.4h
+ uzp2 v0.2s, v0.2s, v0.2s
+ uzp2 v31.2s, v0.2s, v0.2s
+ uzp2 v0.2s, v31.2s, v0.2s
+ uzp2 v0.2s, v0.2s, v31.2s
+ uzp2 v0.16b, v0.16b, v0.16b
+ uzp2 v31.16b, v0.16b, v0.16b
+ uzp2 v0.16b, v31.16b, v0.16b
+ uzp2 v0.16b, v0.16b, v31.16b
+ uzp2 v0.8h, v0.8h, v0.8h
+ uzp2 v31.8h, v0.8h, v0.8h
+ uzp2 v0.8h, v31.8h, v0.8h
+ uzp2 v0.8h, v0.8h, v31.8h
+ uzp2 v0.4s, v0.4s, v0.4s
+ uzp2 v31.4s, v0.4s, v0.4s
+ uzp2 v0.4s, v31.4s, v0.4s
+ uzp2 v0.4s, v0.4s, v31.4s
+ uzp2 v0.2d, v0.2d, v0.2d
+ uzp2 v31.2d, v0.2d, v0.2d
+ uzp2 v0.2d, v31.2d, v0.2d
+ uzp2 v0.2d, v0.2d, v31.2d
+
+ trn2 v0.8b, v0.8b, v0.8b
+ trn2 v31.8b, v0.8b, v0.8b
+ trn2 v0.8b, v31.8b, v0.8b
+ trn2 v0.8b, v0.8b, v31.8b
+ trn2 v0.4h, v0.4h, v0.4h
+ trn2 v31.4h, v0.4h, v0.4h
+ trn2 v0.4h, v31.4h, v0.4h
+ trn2 v0.4h, v0.4h, v31.4h
+ trn2 v0.2s, v0.2s, v0.2s
+ trn2 v31.2s, v0.2s, v0.2s
+ trn2 v0.2s, v31.2s, v0.2s
+ trn2 v0.2s, v0.2s, v31.2s
+ trn2 v0.16b, v0.16b, v0.16b
+ trn2 v31.16b, v0.16b, v0.16b
+ trn2 v0.16b, v31.16b, v0.16b
+ trn2 v0.16b, v0.16b, v31.16b
+ trn2 v0.8h, v0.8h, v0.8h
+ trn2 v31.8h, v0.8h, v0.8h
+ trn2 v0.8h, v31.8h, v0.8h
+ trn2 v0.8h, v0.8h, v31.8h
+ trn2 v0.4s, v0.4s, v0.4s
+ trn2 v31.4s, v0.4s, v0.4s
+ trn2 v0.4s, v31.4s, v0.4s
+ trn2 v0.4s, v0.4s, v31.4s
+ trn2 v0.2d, v0.2d, v0.2d
+ trn2 v31.2d, v0.2d, v0.2d
+ trn2 v0.2d, v31.2d, v0.2d
+ trn2 v0.2d, v0.2d, v31.2d
+
+ zip2 v0.8b, v0.8b, v0.8b
+ zip2 v31.8b, v0.8b, v0.8b
+ zip2 v0.8b, v31.8b, v0.8b
+ zip2 v0.8b, v0.8b, v31.8b
+ zip2 v0.4h, v0.4h, v0.4h
+ zip2 v31.4h, v0.4h, v0.4h
+ zip2 v0.4h, v31.4h, v0.4h
+ zip2 v0.4h, v0.4h, v31.4h
+ zip2 v0.2s, v0.2s, v0.2s
+ zip2 v31.2s, v0.2s, v0.2s
+ zip2 v0.2s, v31.2s, v0.2s
+ zip2 v0.2s, v0.2s, v31.2s
+ zip2 v0.16b, v0.16b, v0.16b
+ zip2 v31.16b, v0.16b, v0.16b
+ zip2 v0.16b, v31.16b, v0.16b
+ zip2 v0.16b, v0.16b, v31.16b
+ zip2 v0.8h, v0.8h, v0.8h
+ zip2 v31.8h, v0.8h, v0.8h
+ zip2 v0.8h, v31.8h, v0.8h
+ zip2 v0.8h, v0.8h, v31.8h
+ zip2 v0.4s, v0.4s, v0.4s
+ zip2 v31.4s, v0.4s, v0.4s
+ zip2 v0.4s, v31.4s, v0.4s
+ zip2 v0.4s, v0.4s, v31.4s
+ zip2 v0.2d, v0.2d, v0.2d
+ zip2 v31.2d, v0.2d, v0.2d
+ zip2 v0.2d, v31.2d, v0.2d
+ zip2 v0.2d, v0.2d, v31.2d
+
+ tbl v0.8b, {v0.16b}, v0.8b
+ tbl v31.8b, {v0.16b}, v0.8b
+ tbl v0.8b, {v31.16b}, v0.8b
+ tbl v0.8b, {v0.16b}, v31.8b
+ tbl v0.16b, {v0.16b}, v0.16b
+ tbl v31.16b, {v0.16b}, v0.16b
+ tbl v0.16b, {v31.16b}, v0.16b
+ tbl v0.16b, {v0.16b}, v31.16b
+ tbl v0.8b, {v0.16b, v1.16b}, v0.8b
+ tbl v31.8b, {v0.16b, v1.16b}, v0.8b
+ tbl v0.8b, {v31.16b, v0.16b}, v0.8b
+ tbl v0.8b, {v0.16b, v1.16b}, v31.8b
+ tbl v0.16b, {v0.16b, v1.16b}, v0.16b
+ tbl v31.16b, {v0.16b, v1.16b}, v0.16b
+ tbl v0.16b, {v31.16b, v0.16b}, v0.16b
+ tbl v0.16b, {v0.16b, v1.16b}, v31.16b
+ tbl v0.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+ tbl v31.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+ tbl v0.8b, {v31.16b, v0.16b, v1.16b}, v0.8b
+ tbl v0.8b, {v0.16b, v1.16b, v2.16b}, v31.8b
+ tbl v0.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+ tbl v31.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+ tbl v0.16b, {v31.16b, v0.16b, v1.16b}, v0.16b
+ tbl v0.16b, {v0.16b, v1.16b, v2.16b}, v31.16b
+ tbl v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+ tbl v31.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+ tbl v0.8b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.8b
+ tbl v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.8b
+ tbl v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+ tbl v31.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+ tbl v0.16b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.16b
+ tbl v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.16b
+
+ tbx v0.8b, {v0.16b}, v0.8b
+ tbx v31.8b, {v0.16b}, v0.8b
+ tbx v0.8b, {v31.16b}, v0.8b
+ tbx v0.8b, {v0.16b}, v31.8b
+ tbx v0.16b, {v0.16b}, v0.16b
+ tbx v31.16b, {v0.16b}, v0.16b
+ tbx v0.16b, {v31.16b}, v0.16b
+ tbx v0.16b, {v0.16b}, v31.16b
+ tbx v0.8b, {v0.16b, v1.16b}, v0.8b
+ tbx v31.8b, {v0.16b, v1.16b}, v0.8b
+ tbx v0.8b, {v31.16b, v0.16b}, v0.8b
+ tbx v0.8b, {v0.16b, v1.16b}, v31.8b
+ tbx v0.16b, {v0.16b, v1.16b}, v0.16b
+ tbx v31.16b, {v0.16b, v1.16b}, v0.16b
+ tbx v0.16b, {v31.16b, v0.16b}, v0.16b
+ tbx v0.16b, {v0.16b, v1.16b}, v31.16b
+ tbx v0.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+ tbx v31.8b, {v0.16b, v1.16b, v2.16b}, v0.8b
+ tbx v0.8b, {v31.16b, v0.16b, v1.16b}, v0.8b
+ tbx v0.8b, {v0.16b, v1.16b, v2.16b}, v31.8b
+ tbx v0.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+ tbx v31.16b, {v0.16b, v1.16b, v2.16b}, v0.16b
+ tbx v0.16b, {v31.16b, v0.16b, v1.16b}, v0.16b
+ tbx v0.16b, {v0.16b, v1.16b, v2.16b}, v31.16b
+ tbx v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+ tbx v31.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.8b
+ tbx v0.8b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.8b
+ tbx v0.8b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.8b
+ tbx v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+ tbx v31.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v0.16b
+ tbx v0.16b, {v31.16b, v0.16b, v1.16b, v2.16b}, v0.16b
+ tbx v0.16b, {v0.16b, v1.16b, v2.16b, v3.16b}, v31.16b
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.d b/gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.d
new file mode 100644
index 0000000..06b442e
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.d
@@ -0,0 +1,98 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5e609000 sqdmlal s0, h0, h0
+ *[0-9a-f]+: 5e60901f sqdmlal s31, h0, h0
+ *[0-9a-f]+: 5e6093e0 sqdmlal s0, h31, h0
+ *[0-9a-f]+: 5e7f9000 sqdmlal s0, h0, h31
+ *[0-9a-f]+: 5ea09000 sqdmlal d0, s0, s0
+ *[0-9a-f]+: 5ea0901f sqdmlal d31, s0, s0
+ *[0-9a-f]+: 5ea093e0 sqdmlal d0, s31, s0
+ *[0-9a-f]+: 5ebf9000 sqdmlal d0, s0, s31
+ *[0-9a-f]+: 5e60b000 sqdmlsl s0, h0, h0
+ *[0-9a-f]+: 5e60b01f sqdmlsl s31, h0, h0
+ *[0-9a-f]+: 5e60b3e0 sqdmlsl s0, h31, h0
+ *[0-9a-f]+: 5e7fb000 sqdmlsl s0, h0, h31
+ *[0-9a-f]+: 5ea0b000 sqdmlsl d0, s0, s0
+ *[0-9a-f]+: 5ea0b01f sqdmlsl d31, s0, s0
+ *[0-9a-f]+: 5ea0b3e0 sqdmlsl d0, s31, s0
+ *[0-9a-f]+: 5ebfb000 sqdmlsl d0, s0, s31
+ *[0-9a-f]+: 5e60d000 sqdmull s0, h0, h0
+ *[0-9a-f]+: 5e60d01f sqdmull s31, h0, h0
+ *[0-9a-f]+: 5e60d3e0 sqdmull s0, h31, h0
+ *[0-9a-f]+: 5e7fd000 sqdmull s0, h0, h31
+ *[0-9a-f]+: 5ea0d000 sqdmull d0, s0, s0
+ *[0-9a-f]+: 5ea0d01f sqdmull d31, s0, s0
+ *[0-9a-f]+: 5ea0d3e0 sqdmull d0, s31, s0
+ *[0-9a-f]+: 5ebfd000 sqdmull d0, s0, s31
+ *[0-9a-f]+: 5f403000 sqdmlal s0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40301f sqdmlal s31, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f4033e0 sqdmlal s0, h31, v0\.h\[0\]
+ *[0-9a-f]+: 5f4f3000 sqdmlal s0, h0, v15\.h\[0\]
+ *[0-9a-f]+: 5f503000 sqdmlal s0, h0, v0\.h\[1\]
+ *[0-9a-f]+: 5f703000 sqdmlal s0, h0, v0\.h\[3\]
+ *[0-9a-f]+: 5f703800 sqdmlal s0, h0, v0\.h\[7\]
+ *[0-9a-f]+: 5f803000 sqdmlal d0, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80301f sqdmlal d31, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f8033e0 sqdmlal d0, s31, v0\.s\[0\]
+ *[0-9a-f]+: 5f9f3000 sqdmlal d0, s0, v31\.s\[0\]
+ *[0-9a-f]+: 5fa03000 sqdmlal d0, s0, v0\.s\[1\]
+ *[0-9a-f]+: 5fa03800 sqdmlal d0, s0, v0\.s\[3\]
+ *[0-9a-f]+: 5f407000 sqdmlsl s0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40701f sqdmlsl s31, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f4073e0 sqdmlsl s0, h31, v0\.h\[0\]
+ *[0-9a-f]+: 5f4f7000 sqdmlsl s0, h0, v15\.h\[0\]
+ *[0-9a-f]+: 5f507000 sqdmlsl s0, h0, v0\.h\[1\]
+ *[0-9a-f]+: 5f707000 sqdmlsl s0, h0, v0\.h\[3\]
+ *[0-9a-f]+: 5f707800 sqdmlsl s0, h0, v0\.h\[7\]
+ *[0-9a-f]+: 5f807000 sqdmlsl d0, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80701f sqdmlsl d31, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f8073e0 sqdmlsl d0, s31, v0\.s\[0\]
+ *[0-9a-f]+: 5f9f7000 sqdmlsl d0, s0, v31\.s\[0\]
+ *[0-9a-f]+: 5fa07000 sqdmlsl d0, s0, v0\.s\[1\]
+ *[0-9a-f]+: 5fa07800 sqdmlsl d0, s0, v0\.s\[3\]
+ *[0-9a-f]+: 5f40b000 sqdmull s0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40b01f sqdmull s31, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40b3e0 sqdmull s0, h31, v0\.h\[0\]
+ *[0-9a-f]+: 5f4fb000 sqdmull s0, h0, v15\.h\[0\]
+ *[0-9a-f]+: 5f50b000 sqdmull s0, h0, v0\.h\[1\]
+ *[0-9a-f]+: 5f70b000 sqdmull s0, h0, v0\.h\[3\]
+ *[0-9a-f]+: 5f70b800 sqdmull s0, h0, v0\.h\[7\]
+ *[0-9a-f]+: 5f80b000 sqdmull d0, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80b01f sqdmull d31, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80b3e0 sqdmull d0, s31, v0\.s\[0\]
+ *[0-9a-f]+: 5f9fb000 sqdmull d0, s0, v31\.s\[0\]
+ *[0-9a-f]+: 5fa0b000 sqdmull d0, s0, v0\.s\[1\]
+ *[0-9a-f]+: 5fa0b800 sqdmull d0, s0, v0\.s\[3\]
+ *[0-9a-f]+: 5f40c000 sqdmulh h0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40c01f sqdmulh h31, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40c3e0 sqdmulh h0, h31, v0\.h\[0\]
+ *[0-9a-f]+: 5f4fc000 sqdmulh h0, h0, v15\.h\[0\]
+ *[0-9a-f]+: 5f50c000 sqdmulh h0, h0, v0\.h\[1\]
+ *[0-9a-f]+: 5f70c000 sqdmulh h0, h0, v0\.h\[3\]
+ *[0-9a-f]+: 5f70c800 sqdmulh h0, h0, v0\.h\[7\]
+ *[0-9a-f]+: 5f80c000 sqdmulh s0, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80c01f sqdmulh s31, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80c3e0 sqdmulh s0, s31, v0\.s\[0\]
+ *[0-9a-f]+: 5f9fc000 sqdmulh s0, s0, v31\.s\[0\]
+ *[0-9a-f]+: 5fa0c000 sqdmulh s0, s0, v0\.s\[1\]
+ *[0-9a-f]+: 5fa0c800 sqdmulh s0, s0, v0\.s\[3\]
+ *[0-9a-f]+: 5f40d000 sqrdmulh h0, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40d01f sqrdmulh h31, h0, v0\.h\[0\]
+ *[0-9a-f]+: 5f40d3e0 sqrdmulh h0, h31, v0\.h\[0\]
+ *[0-9a-f]+: 5f4fd000 sqrdmulh h0, h0, v15\.h\[0\]
+ *[0-9a-f]+: 5f50d000 sqrdmulh h0, h0, v0\.h\[1\]
+ *[0-9a-f]+: 5f70d000 sqrdmulh h0, h0, v0\.h\[3\]
+ *[0-9a-f]+: 5f70d800 sqrdmulh h0, h0, v0\.h\[7\]
+ *[0-9a-f]+: 5f80d000 sqrdmulh s0, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80d01f sqrdmulh s31, s0, v0\.s\[0\]
+ *[0-9a-f]+: 5f80d3e0 sqrdmulh s0, s31, v0\.s\[0\]
+ *[0-9a-f]+: 5f9fd000 sqrdmulh s0, s0, v31\.s\[0\]
+ *[0-9a-f]+: 5fa0d000 sqrdmulh s0, s0, v0\.s\[1\]
+ *[0-9a-f]+: 5fa0d800 sqrdmulh s0, s0, v0\.s\[3\]
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.s b/gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.s
new file mode 100644
index 0000000..c83f5b0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-doubling-mul.s
@@ -0,0 +1,96 @@
+ sqdmlal s0, h0, h0
+ sqdmlal s31, h0, h0
+ sqdmlal s0, h31, h0
+ sqdmlal s0, h0, h31
+ sqdmlal d0, s0, s0
+ sqdmlal d31, s0, s0
+ sqdmlal d0, s31, s0
+ sqdmlal d0, s0, s31
+
+ sqdmlsl s0, h0, h0
+ sqdmlsl s31, h0, h0
+ sqdmlsl s0, h31, h0
+ sqdmlsl s0, h0, h31
+ sqdmlsl d0, s0, s0
+ sqdmlsl d31, s0, s0
+ sqdmlsl d0, s31, s0
+ sqdmlsl d0, s0, s31
+
+ sqdmull s0, h0, h0
+ sqdmull s31, h0, h0
+ sqdmull s0, h31, h0
+ sqdmull s0, h0, h31
+ sqdmull d0, s0, s0
+ sqdmull d31, s0, s0
+ sqdmull d0, s31, s0
+ sqdmull d0, s0, s31
+
+ sqdmlal s0, h0, v0.h[0]
+ sqdmlal s31, h0, v0.h[0]
+ sqdmlal s0, h31, v0.h[0]
+ sqdmlal s0, h0, v15.h[0]
+ sqdmlal s0, h0, v0.h[1]
+ sqdmlal s0, h0, v0.h[3]
+ sqdmlal s0, h0, v0.h[7]
+ sqdmlal d0, s0, v0.s[0]
+ sqdmlal d31, s0, v0.s[0]
+ sqdmlal d0, s31, v0.s[0]
+ sqdmlal d0, s0, v31.s[0]
+ sqdmlal d0, s0, v0.s[1]
+ sqdmlal d0, s0, v0.s[3]
+
+ sqdmlsl s0, h0, v0.h[0]
+ sqdmlsl s31, h0, v0.h[0]
+ sqdmlsl s0, h31, v0.h[0]
+ sqdmlsl s0, h0, v15.h[0]
+ sqdmlsl s0, h0, v0.h[1]
+ sqdmlsl s0, h0, v0.h[3]
+ sqdmlsl s0, h0, v0.h[7]
+ sqdmlsl d0, s0, v0.s[0]
+ sqdmlsl d31, s0, v0.s[0]
+ sqdmlsl d0, s31, v0.s[0]
+ sqdmlsl d0, s0, v31.s[0]
+ sqdmlsl d0, s0, v0.s[1]
+ sqdmlsl d0, s0, v0.s[3]
+
+ sqdmull s0, h0, v0.h[0]
+ sqdmull s31, h0, v0.h[0]
+ sqdmull s0, h31, v0.h[0]
+ sqdmull s0, h0, v15.h[0]
+ sqdmull s0, h0, v0.h[1]
+ sqdmull s0, h0, v0.h[3]
+ sqdmull s0, h0, v0.h[7]
+ sqdmull d0, s0, v0.s[0]
+ sqdmull d31, s0, v0.s[0]
+ sqdmull d0, s31, v0.s[0]
+ sqdmull d0, s0, v31.s[0]
+ sqdmull d0, s0, v0.s[1]
+ sqdmull d0, s0, v0.s[3]
+
+ sqdmulh h0, h0, v0.h[0]
+ sqdmulh h31, h0, v0.h[0]
+ sqdmulh h0, h31, v0.h[0]
+ sqdmulh h0, h0, v15.h[0]
+ sqdmulh h0, h0, v0.h[1]
+ sqdmulh h0, h0, v0.h[3]
+ sqdmulh h0, h0, v0.h[7]
+ sqdmulh s0, s0, v0.s[0]
+ sqdmulh s31, s0, v0.s[0]
+ sqdmulh s0, s31, v0.s[0]
+ sqdmulh s0, s0, v31.s[0]
+ sqdmulh s0, s0, v0.s[1]
+ sqdmulh s0, s0, v0.s[3]
+
+ sqrdmulh h0, h0, v0.h[0]
+ sqrdmulh h31, h0, v0.h[0]
+ sqrdmulh h0, h31, v0.h[0]
+ sqrdmulh h0, h0, v15.h[0]
+ sqrdmulh h0, h0, v0.h[1]
+ sqrdmulh h0, h0, v0.h[3]
+ sqrdmulh h0, h0, v0.h[7]
+ sqrdmulh s0, s0, v0.s[0]
+ sqrdmulh s31, s0, v0.s[0]
+ sqrdmulh s0, s31, v0.s[0]
+ sqrdmulh s0, s0, v31.s[0]
+ sqrdmulh s0, s0, v0.s[1]
+ sqrdmulh s0, s0, v0.s[3]
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d
new file mode 100644
index 0000000..8a511fc
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.d
@@ -0,0 +1,173 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5f400400 sshr d0, d0, #64
+ *[0-9a-f]+: 5f40041f sshr d31, d0, #64
+ *[0-9a-f]+: 5f4007e0 sshr d0, d31, #64
+ *[0-9a-f]+: 5f7f0400 sshr d0, d0, #1
+ *[0-9a-f]+: 5f401400 ssra d0, d0, #64
+ *[0-9a-f]+: 5f40141f ssra d31, d0, #64
+ *[0-9a-f]+: 5f4017e0 ssra d0, d31, #64
+ *[0-9a-f]+: 5f7f1400 ssra d0, d0, #1
+ *[0-9a-f]+: 5f402400 srshr d0, d0, #64
+ *[0-9a-f]+: 5f40241f srshr d31, d0, #64
+ *[0-9a-f]+: 5f4027e0 srshr d0, d31, #64
+ *[0-9a-f]+: 5f7f2400 srshr d0, d0, #1
+ *[0-9a-f]+: 5f403400 srsra d0, d0, #64
+ *[0-9a-f]+: 5f40341f srsra d31, d0, #64
+ *[0-9a-f]+: 5f4037e0 srsra d0, d31, #64
+ *[0-9a-f]+: 5f7f3400 srsra d0, d0, #1
+ *[0-9a-f]+: 5f405400 shl d0, d0, #0
+ *[0-9a-f]+: 5f40541f shl d31, d0, #0
+ *[0-9a-f]+: 5f4057e0 shl d0, d31, #0
+ *[0-9a-f]+: 5f7f5400 shl d0, d0, #63
+ *[0-9a-f]+: 5f087400 sqshl b0, b0, #0
+ *[0-9a-f]+: 5f08741f sqshl b31, b0, #0
+ *[0-9a-f]+: 5f0877e0 sqshl b0, b31, #0
+ *[0-9a-f]+: 5f0f7400 sqshl b0, b0, #7
+ *[0-9a-f]+: 5f107400 sqshl h0, h0, #0
+ *[0-9a-f]+: 5f10741f sqshl h31, h0, #0
+ *[0-9a-f]+: 5f1077e0 sqshl h0, h31, #0
+ *[0-9a-f]+: 5f1f7400 sqshl h0, h0, #15
+ *[0-9a-f]+: 5f207400 sqshl s0, s0, #0
+ *[0-9a-f]+: 5f20741f sqshl s31, s0, #0
+ *[0-9a-f]+: 5f2077e0 sqshl s0, s31, #0
+ *[0-9a-f]+: 5f3f7400 sqshl s0, s0, #31
+ *[0-9a-f]+: 5f407400 sqshl d0, d0, #0
+ *[0-9a-f]+: 5f40741f sqshl d31, d0, #0
+ *[0-9a-f]+: 5f4077e0 sqshl d0, d31, #0
+ *[0-9a-f]+: 5f7f7400 sqshl d0, d0, #63
+ *[0-9a-f]+: 5f089400 sqshrn b0, h0, #8
+ *[0-9a-f]+: 5f08941f sqshrn b31, h0, #8
+ *[0-9a-f]+: 5f0897e0 sqshrn b0, h31, #8
+ *[0-9a-f]+: 5f0f9400 sqshrn b0, h0, #1
+ *[0-9a-f]+: 5f109400 sqshrn h0, s0, #16
+ *[0-9a-f]+: 5f10941f sqshrn h31, s0, #16
+ *[0-9a-f]+: 5f1097e0 sqshrn h0, s31, #16
+ *[0-9a-f]+: 5f1f9400 sqshrn h0, s0, #1
+ *[0-9a-f]+: 5f209400 sqshrn s0, d0, #32
+ *[0-9a-f]+: 5f20941f sqshrn s31, d0, #32
+ *[0-9a-f]+: 5f2097e0 sqshrn s0, d31, #32
+ *[0-9a-f]+: 5f3f9400 sqshrn s0, d0, #1
+ *[0-9a-f]+: 5f089c00 sqrshrn b0, h0, #8
+ *[0-9a-f]+: 5f089c1f sqrshrn b31, h0, #8
+ *[0-9a-f]+: 5f089fe0 sqrshrn b0, h31, #8
+ *[0-9a-f]+: 5f0f9c00 sqrshrn b0, h0, #1
+ *[0-9a-f]+: 5f109c00 sqrshrn h0, s0, #16
+ *[0-9a-f]+: 5f109c1f sqrshrn h31, s0, #16
+ *[0-9a-f]+: 5f109fe0 sqrshrn h0, s31, #16
+ *[0-9a-f]+: 5f1f9c00 sqrshrn h0, s0, #1
+ *[0-9a-f]+: 5f209c00 sqrshrn s0, d0, #32
+ *[0-9a-f]+: 5f209c1f sqrshrn s31, d0, #32
+ *[0-9a-f]+: 5f209fe0 sqrshrn s0, d31, #32
+ *[0-9a-f]+: 5f3f9c00 sqrshrn s0, d0, #1
+ *[0-9a-f]+: 7f400400 ushr d0, d0, #64
+ *[0-9a-f]+: 7f40041f ushr d31, d0, #64
+ *[0-9a-f]+: 7f4007e0 ushr d0, d31, #64
+ *[0-9a-f]+: 7f7f0400 ushr d0, d0, #1
+ *[0-9a-f]+: 7f401400 usra d0, d0, #64
+ *[0-9a-f]+: 7f40141f usra d31, d0, #64
+ *[0-9a-f]+: 7f4017e0 usra d0, d31, #64
+ *[0-9a-f]+: 7f7f1400 usra d0, d0, #1
+ *[0-9a-f]+: 7f402400 urshr d0, d0, #64
+ *[0-9a-f]+: 7f40241f urshr d31, d0, #64
+ *[0-9a-f]+: 7f4027e0 urshr d0, d31, #64
+ *[0-9a-f]+: 7f7f2400 urshr d0, d0, #1
+ *[0-9a-f]+: 7f403400 ursra d0, d0, #64
+ *[0-9a-f]+: 7f40341f ursra d31, d0, #64
+ *[0-9a-f]+: 7f4037e0 ursra d0, d31, #64
+ *[0-9a-f]+: 7f7f3400 ursra d0, d0, #1
+ *[0-9a-f]+: 7f404400 sri d0, d0, #64
+ *[0-9a-f]+: 7f40441f sri d31, d0, #64
+ *[0-9a-f]+: 7f4047e0 sri d0, d31, #64
+ *[0-9a-f]+: 7f7f4400 sri d0, d0, #1
+ *[0-9a-f]+: 7f405400 sli d0, d0, #0
+ *[0-9a-f]+: 7f40541f sli d31, d0, #0
+ *[0-9a-f]+: 7f4057e0 sli d0, d31, #0
+ *[0-9a-f]+: 7f7f5400 sli d0, d0, #63
+ *[0-9a-f]+: 7f086400 sqshlu b0, b0, #0
+ *[0-9a-f]+: 7f08641f sqshlu b31, b0, #0
+ *[0-9a-f]+: 7f0867e0 sqshlu b0, b31, #0
+ *[0-9a-f]+: 7f0f6400 sqshlu b0, b0, #7
+ *[0-9a-f]+: 7f106400 sqshlu h0, h0, #0
+ *[0-9a-f]+: 7f10641f sqshlu h31, h0, #0
+ *[0-9a-f]+: 7f1067e0 sqshlu h0, h31, #0
+ *[0-9a-f]+: 7f1f6400 sqshlu h0, h0, #15
+ *[0-9a-f]+: 7f206400 sqshlu s0, s0, #0
+ *[0-9a-f]+: 7f20641f sqshlu s31, s0, #0
+ *[0-9a-f]+: 7f2067e0 sqshlu s0, s31, #0
+ *[0-9a-f]+: 7f3f6400 sqshlu s0, s0, #31
+ *[0-9a-f]+: 7f406400 sqshlu d0, d0, #0
+ *[0-9a-f]+: 7f40641f sqshlu d31, d0, #0
+ *[0-9a-f]+: 7f4067e0 sqshlu d0, d31, #0
+ *[0-9a-f]+: 7f7f6400 sqshlu d0, d0, #63
+ *[0-9a-f]+: 7f087400 uqshl b0, b0, #0
+ *[0-9a-f]+: 7f08741f uqshl b31, b0, #0
+ *[0-9a-f]+: 7f0877e0 uqshl b0, b31, #0
+ *[0-9a-f]+: 7f0f7400 uqshl b0, b0, #7
+ *[0-9a-f]+: 7f107400 uqshl h0, h0, #0
+ *[0-9a-f]+: 7f10741f uqshl h31, h0, #0
+ *[0-9a-f]+: 7f1077e0 uqshl h0, h31, #0
+ *[0-9a-f]+: 7f1f7400 uqshl h0, h0, #15
+ *[0-9a-f]+: 7f207400 uqshl s0, s0, #0
+ *[0-9a-f]+: 7f20741f uqshl s31, s0, #0
+ *[0-9a-f]+: 7f2077e0 uqshl s0, s31, #0
+ *[0-9a-f]+: 7f3f7400 uqshl s0, s0, #31
+ *[0-9a-f]+: 7f407400 uqshl d0, d0, #0
+ *[0-9a-f]+: 7f40741f uqshl d31, d0, #0
+ *[0-9a-f]+: 7f4077e0 uqshl d0, d31, #0
+ *[0-9a-f]+: 7f7f7400 uqshl d0, d0, #63
+ *[0-9a-f]+: 7f088400 sqshrun b0, h0, #8
+ *[0-9a-f]+: 7f08841f sqshrun b31, h0, #8
+ *[0-9a-f]+: 7f0887e0 sqshrun b0, h31, #8
+ *[0-9a-f]+: 7f0f8400 sqshrun b0, h0, #1
+ *[0-9a-f]+: 7f108400 sqshrun h0, s0, #16
+ *[0-9a-f]+: 7f10841f sqshrun h31, s0, #16
+ *[0-9a-f]+: 7f1087e0 sqshrun h0, s31, #16
+ *[0-9a-f]+: 7f1f8400 sqshrun h0, s0, #1
+ *[0-9a-f]+: 7f208400 sqshrun s0, d0, #32
+ *[0-9a-f]+: 7f20841f sqshrun s31, d0, #32
+ *[0-9a-f]+: 7f2087e0 sqshrun s0, d31, #32
+ *[0-9a-f]+: 7f3f8400 sqshrun s0, d0, #1
+ *[0-9a-f]+: 7f088c00 sqrshrun b0, h0, #8
+ *[0-9a-f]+: 7f088c1f sqrshrun b31, h0, #8
+ *[0-9a-f]+: 7f088fe0 sqrshrun b0, h31, #8
+ *[0-9a-f]+: 7f0f8c00 sqrshrun b0, h0, #1
+ *[0-9a-f]+: 7f108c00 sqrshrun h0, s0, #16
+ *[0-9a-f]+: 7f108c1f sqrshrun h31, s0, #16
+ *[0-9a-f]+: 7f108fe0 sqrshrun h0, s31, #16
+ *[0-9a-f]+: 7f1f8c00 sqrshrun h0, s0, #1
+ *[0-9a-f]+: 7f208c00 sqrshrun s0, d0, #32
+ *[0-9a-f]+: 7f208c1f sqrshrun s31, d0, #32
+ *[0-9a-f]+: 7f208fe0 sqrshrun s0, d31, #32
+ *[0-9a-f]+: 7f3f8c00 sqrshrun s0, d0, #1
+ *[0-9a-f]+: 7f089400 uqshrn b0, h0, #8
+ *[0-9a-f]+: 7f08941f uqshrn b31, h0, #8
+ *[0-9a-f]+: 7f0897e0 uqshrn b0, h31, #8
+ *[0-9a-f]+: 7f0f9400 uqshrn b0, h0, #1
+ *[0-9a-f]+: 7f109400 uqshrn h0, s0, #16
+ *[0-9a-f]+: 7f10941f uqshrn h31, s0, #16
+ *[0-9a-f]+: 7f1097e0 uqshrn h0, s31, #16
+ *[0-9a-f]+: 7f1f9400 uqshrn h0, s0, #1
+ *[0-9a-f]+: 7f209400 uqshrn s0, d0, #32
+ *[0-9a-f]+: 7f20941f uqshrn s31, d0, #32
+ *[0-9a-f]+: 7f2097e0 uqshrn s0, d31, #32
+ *[0-9a-f]+: 7f3f9400 uqshrn s0, d0, #1
+ *[0-9a-f]+: 7f089c00 uqrshrn b0, h0, #8
+ *[0-9a-f]+: 7f089c1f uqrshrn b31, h0, #8
+ *[0-9a-f]+: 7f089fe0 uqrshrn b0, h31, #8
+ *[0-9a-f]+: 7f0f9c00 uqrshrn b0, h0, #1
+ *[0-9a-f]+: 7f109c00 uqrshrn h0, s0, #16
+ *[0-9a-f]+: 7f109c1f uqrshrn h31, s0, #16
+ *[0-9a-f]+: 7f109fe0 uqrshrn h0, s31, #16
+ *[0-9a-f]+: 7f1f9c00 uqrshrn h0, s0, #1
+ *[0-9a-f]+: 7f209c00 uqrshrn s0, d0, #32
+ *[0-9a-f]+: 7f209c1f uqrshrn s31, d0, #32
+ *[0-9a-f]+: 7f209fe0 uqrshrn s0, d31, #32
+ *[0-9a-f]+: 7f3f9c00 uqrshrn s0, d0, #1
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s
new file mode 100644
index 0000000..bddc9cb
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-shift-immediate.s
@@ -0,0 +1,183 @@
+ sshr d0, d0, #64
+ sshr d31, d0, #64
+ sshr d0, d31, #64
+ sshr d0, d0, #1
+
+ ssra d0, d0, #64
+ ssra d31, d0, #64
+ ssra d0, d31, #64
+ ssra d0, d0, #1
+
+ srshr d0, d0, #64
+ srshr d31, d0, #64
+ srshr d0, d31, #64
+ srshr d0, d0, #1
+
+ srsra d0, d0, #64
+ srsra d31, d0, #64
+ srsra d0, d31, #64
+ srsra d0, d0, #1
+
+ shl d0, d0, #0
+ shl d31, d0, #0
+ shl d0, d31, #0
+ shl d0, d0, #63
+
+ sqshl b0, b0, #0
+ sqshl b31, b0, #0
+ sqshl b0, b31, #0
+ sqshl b0, b0, #7
+ sqshl h0, h0, #0
+ sqshl h31, h0, #0
+ sqshl h0, h31, #0
+ sqshl h0, h0, #15
+ sqshl s0, s0, #0
+ sqshl s31, s0, #0
+ sqshl s0, s31, #0
+ sqshl s0, s0, #31
+ sqshl d0, d0, #0
+ sqshl d31, d0, #0
+ sqshl d0, d31, #0
+ sqshl d0, d0, #63
+
+ sqshrn b0, h0, #8
+ sqshrn b31, h0, #8
+ sqshrn b0, h31, #8
+ sqshrn b0, h0, #1
+ sqshrn h0, s0, #16
+ sqshrn h31, s0, #16
+ sqshrn h0, s31, #16
+ sqshrn h0, s0, #1
+ sqshrn s0, d0, #32
+ sqshrn s31, d0, #32
+ sqshrn s0, d31, #32
+ sqshrn s0, d0, #1
+
+ sqrshrn b0, h0, #8
+ sqrshrn b31, h0, #8
+ sqrshrn b0, h31, #8
+ sqrshrn b0, h0, #1
+ sqrshrn h0, s0, #16
+ sqrshrn h31, s0, #16
+ sqrshrn h0, s31, #16
+ sqrshrn h0, s0, #1
+ sqrshrn s0, d0, #32
+ sqrshrn s31, d0, #32
+ sqrshrn s0, d31, #32
+ sqrshrn s0, d0, #1
+
+ ushr d0, d0, #64
+ ushr d31, d0, #64
+ ushr d0, d31, #64
+ ushr d0, d0, #1
+
+ usra d0, d0, #64
+ usra d31, d0, #64
+ usra d0, d31, #64
+ usra d0, d0, #1
+
+ urshr d0, d0, #64
+ urshr d31, d0, #64
+ urshr d0, d31, #64
+ urshr d0, d0, #1
+
+ ursra d0, d0, #64
+ ursra d31, d0, #64
+ ursra d0, d31, #64
+ ursra d0, d0, #1
+
+ sri d0, d0, #64
+ sri d31, d0, #64
+ sri d0, d31, #64
+ sri d0, d0, #1
+
+ sli d0, d0, #0
+ sli d31, d0, #0
+ sli d0, d31, #0
+ sli d0, d0, #63
+
+ sqshlu b0, b0, #0
+ sqshlu b31, b0, #0
+ sqshlu b0, b31, #0
+ sqshlu b0, b0, #7
+ sqshlu h0, h0, #0
+ sqshlu h31, h0, #0
+ sqshlu h0, h31, #0
+ sqshlu h0, h0, #15
+ sqshlu s0, s0, #0
+ sqshlu s31, s0, #0
+ sqshlu s0, s31, #0
+ sqshlu s0, s0, #31
+ sqshlu d0, d0, #0
+ sqshlu d31, d0, #0
+ sqshlu d0, d31, #0
+ sqshlu d0, d0, #63
+
+ uqshl b0, b0, #0
+ uqshl b31, b0, #0
+ uqshl b0, b31, #0
+ uqshl b0, b0, #7
+ uqshl h0, h0, #0
+ uqshl h31, h0, #0
+ uqshl h0, h31, #0
+ uqshl h0, h0, #15
+ uqshl s0, s0, #0
+ uqshl s31, s0, #0
+ uqshl s0, s31, #0
+ uqshl s0, s0, #31
+ uqshl d0, d0, #0
+ uqshl d31, d0, #0
+ uqshl d0, d31, #0
+ uqshl d0, d0, #63
+
+ sqshrun b0, h0, #8
+ sqshrun b31, h0, #8
+ sqshrun b0, h31, #8
+ sqshrun b0, h0, #1
+ sqshrun h0, s0, #16
+ sqshrun h31, s0, #16
+ sqshrun h0, s31, #16
+ sqshrun h0, s0, #1
+ sqshrun s0, d0, #32
+ sqshrun s31, d0, #32
+ sqshrun s0, d31, #32
+ sqshrun s0, d0, #1
+
+ sqrshrun b0, h0, #8
+ sqrshrun b31, h0, #8
+ sqrshrun b0, h31, #8
+ sqrshrun b0, h0, #1
+ sqrshrun h0, s0, #16
+ sqrshrun h31, s0, #16
+ sqrshrun h0, s31, #16
+ sqrshrun h0, s0, #1
+ sqrshrun s0, d0, #32
+ sqrshrun s31, d0, #32
+ sqrshrun s0, d31, #32
+ sqrshrun s0, d0, #1
+
+ uqshrn b0, h0, #8
+ uqshrn b31, h0, #8
+ uqshrn b0, h31, #8
+ uqshrn b0, h0, #1
+ uqshrn h0, s0, #16
+ uqshrn h31, s0, #16
+ uqshrn h0, s31, #16
+ uqshrn h0, s0, #1
+ uqshrn s0, d0, #32
+ uqshrn s31, d0, #32
+ uqshrn s0, d31, #32
+ uqshrn s0, d0, #1
+
+ uqrshrn b0, h0, #8
+ uqrshrn b31, h0, #8
+ uqrshrn b0, h31, #8
+ uqrshrn b0, h0, #1
+ uqrshrn h0, s0, #16
+ uqrshrn h31, s0, #16
+ uqrshrn h0, s31, #16
+ uqrshrn h0, s0, #1
+ uqrshrn s0, d0, #32
+ uqrshrn s31, d0, #32
+ uqrshrn s0, d31, #32
+ uqrshrn s0, d0, #1
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d b/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d
new file mode 100644
index 0000000..31acbaa
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.d
@@ -0,0 +1,201 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5e200c00 sqadd b0, b0, b0
+ *[0-9a-f]+: 5e200c1f sqadd b31, b0, b0
+ *[0-9a-f]+: 5e200fe0 sqadd b0, b31, b0
+ *[0-9a-f]+: 5e3f0c00 sqadd b0, b0, b31
+ *[0-9a-f]+: 5e600c00 sqadd h0, h0, h0
+ *[0-9a-f]+: 5e600c1f sqadd h31, h0, h0
+ *[0-9a-f]+: 5e600fe0 sqadd h0, h31, h0
+ *[0-9a-f]+: 5e7f0c00 sqadd h0, h0, h31
+ *[0-9a-f]+: 5ea00c00 sqadd s0, s0, s0
+ *[0-9a-f]+: 5ea00c1f sqadd s31, s0, s0
+ *[0-9a-f]+: 5ea00fe0 sqadd s0, s31, s0
+ *[0-9a-f]+: 5ebf0c00 sqadd s0, s0, s31
+ *[0-9a-f]+: 5ee00c00 sqadd d0, d0, d0
+ *[0-9a-f]+: 5ee00c1f sqadd d31, d0, d0
+ *[0-9a-f]+: 5ee00fe0 sqadd d0, d31, d0
+ *[0-9a-f]+: 5eff0c00 sqadd d0, d0, d31
+ *[0-9a-f]+: 5e202c00 sqsub b0, b0, b0
+ *[0-9a-f]+: 5e202c1f sqsub b31, b0, b0
+ *[0-9a-f]+: 5e202fe0 sqsub b0, b31, b0
+ *[0-9a-f]+: 5e3f2c00 sqsub b0, b0, b31
+ *[0-9a-f]+: 5e602c00 sqsub h0, h0, h0
+ *[0-9a-f]+: 5e602c1f sqsub h31, h0, h0
+ *[0-9a-f]+: 5e602fe0 sqsub h0, h31, h0
+ *[0-9a-f]+: 5e7f2c00 sqsub h0, h0, h31
+ *[0-9a-f]+: 5ea02c00 sqsub s0, s0, s0
+ *[0-9a-f]+: 5ea02c1f sqsub s31, s0, s0
+ *[0-9a-f]+: 5ea02fe0 sqsub s0, s31, s0
+ *[0-9a-f]+: 5ebf2c00 sqsub s0, s0, s31
+ *[0-9a-f]+: 5ee02c00 sqsub d0, d0, d0
+ *[0-9a-f]+: 5ee02c1f sqsub d31, d0, d0
+ *[0-9a-f]+: 5ee02fe0 sqsub d0, d31, d0
+ *[0-9a-f]+: 5eff2c00 sqsub d0, d0, d31
+ *[0-9a-f]+: 5e204c00 sqshl b0, b0, b0
+ *[0-9a-f]+: 5e204c1f sqshl b31, b0, b0
+ *[0-9a-f]+: 5e204fe0 sqshl b0, b31, b0
+ *[0-9a-f]+: 5e3f4c00 sqshl b0, b0, b31
+ *[0-9a-f]+: 5e604c00 sqshl h0, h0, h0
+ *[0-9a-f]+: 5e604c1f sqshl h31, h0, h0
+ *[0-9a-f]+: 5e604fe0 sqshl h0, h31, h0
+ *[0-9a-f]+: 5e7f4c00 sqshl h0, h0, h31
+ *[0-9a-f]+: 5ea04c00 sqshl s0, s0, s0
+ *[0-9a-f]+: 5ea04c1f sqshl s31, s0, s0
+ *[0-9a-f]+: 5ea04fe0 sqshl s0, s31, s0
+ *[0-9a-f]+: 5ebf4c00 sqshl s0, s0, s31
+ *[0-9a-f]+: 5ee04c00 sqshl d0, d0, d0
+ *[0-9a-f]+: 5ee04c1f sqshl d31, d0, d0
+ *[0-9a-f]+: 5ee04fe0 sqshl d0, d31, d0
+ *[0-9a-f]+: 5eff4c00 sqshl d0, d0, d31
+ *[0-9a-f]+: 5e205c00 sqrshl b0, b0, b0
+ *[0-9a-f]+: 5e205c1f sqrshl b31, b0, b0
+ *[0-9a-f]+: 5e205fe0 sqrshl b0, b31, b0
+ *[0-9a-f]+: 5e3f5c00 sqrshl b0, b0, b31
+ *[0-9a-f]+: 5e605c00 sqrshl h0, h0, h0
+ *[0-9a-f]+: 5e605c1f sqrshl h31, h0, h0
+ *[0-9a-f]+: 5e605fe0 sqrshl h0, h31, h0
+ *[0-9a-f]+: 5e7f5c00 sqrshl h0, h0, h31
+ *[0-9a-f]+: 5ea05c00 sqrshl s0, s0, s0
+ *[0-9a-f]+: 5ea05c1f sqrshl s31, s0, s0
+ *[0-9a-f]+: 5ea05fe0 sqrshl s0, s31, s0
+ *[0-9a-f]+: 5ebf5c00 sqrshl s0, s0, s31
+ *[0-9a-f]+: 5ee05c00 sqrshl d0, d0, d0
+ *[0-9a-f]+: 5ee05c1f sqrshl d31, d0, d0
+ *[0-9a-f]+: 5ee05fe0 sqrshl d0, d31, d0
+ *[0-9a-f]+: 5eff5c00 sqrshl d0, d0, d31
+ *[0-9a-f]+: 5e60b400 sqdmulh h0, h0, h0
+ *[0-9a-f]+: 5e60b41f sqdmulh h31, h0, h0
+ *[0-9a-f]+: 5e60b7e0 sqdmulh h0, h31, h0
+ *[0-9a-f]+: 5e7fb400 sqdmulh h0, h0, h31
+ *[0-9a-f]+: 5ea0b400 sqdmulh s0, s0, s0
+ *[0-9a-f]+: 5ea0b41f sqdmulh s31, s0, s0
+ *[0-9a-f]+: 5ea0b7e0 sqdmulh s0, s31, s0
+ *[0-9a-f]+: 5ebfb400 sqdmulh s0, s0, s31
+ *[0-9a-f]+: 5ee03400 cmgt d0, d0, d0
+ *[0-9a-f]+: 5ee0341f cmgt d31, d0, d0
+ *[0-9a-f]+: 5ee037e0 cmgt d0, d31, d0
+ *[0-9a-f]+: 5eff3400 cmgt d0, d0, d31
+ *[0-9a-f]+: 5ee03c00 cmge d0, d0, d0
+ *[0-9a-f]+: 5ee03c1f cmge d31, d0, d0
+ *[0-9a-f]+: 5ee03fe0 cmge d0, d31, d0
+ *[0-9a-f]+: 5eff3c00 cmge d0, d0, d31
+ *[0-9a-f]+: 5ee04400 sshl d0, d0, d0
+ *[0-9a-f]+: 5ee0441f sshl d31, d0, d0
+ *[0-9a-f]+: 5ee047e0 sshl d0, d31, d0
+ *[0-9a-f]+: 5eff4400 sshl d0, d0, d31
+ *[0-9a-f]+: 5ee05400 srshl d0, d0, d0
+ *[0-9a-f]+: 5ee0541f srshl d31, d0, d0
+ *[0-9a-f]+: 5ee057e0 srshl d0, d31, d0
+ *[0-9a-f]+: 5eff5400 srshl d0, d0, d31
+ *[0-9a-f]+: 5ee08400 add d0, d0, d0
+ *[0-9a-f]+: 5ee0841f add d31, d0, d0
+ *[0-9a-f]+: 5ee087e0 add d0, d31, d0
+ *[0-9a-f]+: 5eff8400 add d0, d0, d31
+ *[0-9a-f]+: 5ee08c00 cmtst d0, d0, d0
+ *[0-9a-f]+: 5ee08c1f cmtst d31, d0, d0
+ *[0-9a-f]+: 5ee08fe0 cmtst d0, d31, d0
+ *[0-9a-f]+: 5eff8c00 cmtst d0, d0, d31
+ *[0-9a-f]+: 7e200c00 uqadd b0, b0, b0
+ *[0-9a-f]+: 7e200c1f uqadd b31, b0, b0
+ *[0-9a-f]+: 7e200fe0 uqadd b0, b31, b0
+ *[0-9a-f]+: 7e3f0c00 uqadd b0, b0, b31
+ *[0-9a-f]+: 7e600c00 uqadd h0, h0, h0
+ *[0-9a-f]+: 7e600c1f uqadd h31, h0, h0
+ *[0-9a-f]+: 7e600fe0 uqadd h0, h31, h0
+ *[0-9a-f]+: 7e7f0c00 uqadd h0, h0, h31
+ *[0-9a-f]+: 7ea00c00 uqadd s0, s0, s0
+ *[0-9a-f]+: 7ea00c1f uqadd s31, s0, s0
+ *[0-9a-f]+: 7ea00fe0 uqadd s0, s31, s0
+ *[0-9a-f]+: 7ebf0c00 uqadd s0, s0, s31
+ *[0-9a-f]+: 7ee00c00 uqadd d0, d0, d0
+ *[0-9a-f]+: 7ee00c1f uqadd d31, d0, d0
+ *[0-9a-f]+: 7ee00fe0 uqadd d0, d31, d0
+ *[0-9a-f]+: 7eff0c00 uqadd d0, d0, d31
+ *[0-9a-f]+: 7e202c00 uqsub b0, b0, b0
+ *[0-9a-f]+: 7e202c1f uqsub b31, b0, b0
+ *[0-9a-f]+: 7e202fe0 uqsub b0, b31, b0
+ *[0-9a-f]+: 7e3f2c00 uqsub b0, b0, b31
+ *[0-9a-f]+: 7e602c00 uqsub h0, h0, h0
+ *[0-9a-f]+: 7e602c1f uqsub h31, h0, h0
+ *[0-9a-f]+: 7e602fe0 uqsub h0, h31, h0
+ *[0-9a-f]+: 7e7f2c00 uqsub h0, h0, h31
+ *[0-9a-f]+: 7ea02c00 uqsub s0, s0, s0
+ *[0-9a-f]+: 7ea02c1f uqsub s31, s0, s0
+ *[0-9a-f]+: 7ea02fe0 uqsub s0, s31, s0
+ *[0-9a-f]+: 7ebf2c00 uqsub s0, s0, s31
+ *[0-9a-f]+: 7ee02c00 uqsub d0, d0, d0
+ *[0-9a-f]+: 7ee02c1f uqsub d31, d0, d0
+ *[0-9a-f]+: 7ee02fe0 uqsub d0, d31, d0
+ *[0-9a-f]+: 7eff2c00 uqsub d0, d0, d31
+ *[0-9a-f]+: 7e204c00 uqshl b0, b0, b0
+ *[0-9a-f]+: 7e204c1f uqshl b31, b0, b0
+ *[0-9a-f]+: 7e204fe0 uqshl b0, b31, b0
+ *[0-9a-f]+: 7e3f4c00 uqshl b0, b0, b31
+ *[0-9a-f]+: 7e604c00 uqshl h0, h0, h0
+ *[0-9a-f]+: 7e604c1f uqshl h31, h0, h0
+ *[0-9a-f]+: 7e604fe0 uqshl h0, h31, h0
+ *[0-9a-f]+: 7e7f4c00 uqshl h0, h0, h31
+ *[0-9a-f]+: 7ea04c00 uqshl s0, s0, s0
+ *[0-9a-f]+: 7ea04c1f uqshl s31, s0, s0
+ *[0-9a-f]+: 7ea04fe0 uqshl s0, s31, s0
+ *[0-9a-f]+: 7ebf4c00 uqshl s0, s0, s31
+ *[0-9a-f]+: 7ee04c00 uqshl d0, d0, d0
+ *[0-9a-f]+: 7ee04c1f uqshl d31, d0, d0
+ *[0-9a-f]+: 7ee04fe0 uqshl d0, d31, d0
+ *[0-9a-f]+: 7eff4c00 uqshl d0, d0, d31
+ *[0-9a-f]+: 7e205c00 uqrshl b0, b0, b0
+ *[0-9a-f]+: 7e205c1f uqrshl b31, b0, b0
+ *[0-9a-f]+: 7e205fe0 uqrshl b0, b31, b0
+ *[0-9a-f]+: 7e3f5c00 uqrshl b0, b0, b31
+ *[0-9a-f]+: 7e605c00 uqrshl h0, h0, h0
+ *[0-9a-f]+: 7e605c1f uqrshl h31, h0, h0
+ *[0-9a-f]+: 7e605fe0 uqrshl h0, h31, h0
+ *[0-9a-f]+: 7e7f5c00 uqrshl h0, h0, h31
+ *[0-9a-f]+: 7ea05c00 uqrshl s0, s0, s0
+ *[0-9a-f]+: 7ea05c1f uqrshl s31, s0, s0
+ *[0-9a-f]+: 7ea05fe0 uqrshl s0, s31, s0
+ *[0-9a-f]+: 7ebf5c00 uqrshl s0, s0, s31
+ *[0-9a-f]+: 7ee05c00 uqrshl d0, d0, d0
+ *[0-9a-f]+: 7ee05c1f uqrshl d31, d0, d0
+ *[0-9a-f]+: 7ee05fe0 uqrshl d0, d31, d0
+ *[0-9a-f]+: 7eff5c00 uqrshl d0, d0, d31
+ *[0-9a-f]+: 7e60b400 sqrdmulh h0, h0, h0
+ *[0-9a-f]+: 7e60b41f sqrdmulh h31, h0, h0
+ *[0-9a-f]+: 7e60b7e0 sqrdmulh h0, h31, h0
+ *[0-9a-f]+: 7e7fb400 sqrdmulh h0, h0, h31
+ *[0-9a-f]+: 7ea0b400 sqrdmulh s0, s0, s0
+ *[0-9a-f]+: 7ea0b41f sqrdmulh s31, s0, s0
+ *[0-9a-f]+: 7ea0b7e0 sqrdmulh s0, s31, s0
+ *[0-9a-f]+: 7ebfb400 sqrdmulh s0, s0, s31
+ *[0-9a-f]+: 7ee03400 cmhi d0, d0, d0
+ *[0-9a-f]+: 7ee0341f cmhi d31, d0, d0
+ *[0-9a-f]+: 7ee037e0 cmhi d0, d31, d0
+ *[0-9a-f]+: 7eff3400 cmhi d0, d0, d31
+ *[0-9a-f]+: 7ee03c00 cmhs d0, d0, d0
+ *[0-9a-f]+: 7ee03c1f cmhs d31, d0, d0
+ *[0-9a-f]+: 7ee03fe0 cmhs d0, d31, d0
+ *[0-9a-f]+: 7eff3c00 cmhs d0, d0, d31
+ *[0-9a-f]+: 7ee04400 ushl d0, d0, d0
+ *[0-9a-f]+: 7ee0441f ushl d31, d0, d0
+ *[0-9a-f]+: 7ee047e0 ushl d0, d31, d0
+ *[0-9a-f]+: 7eff4400 ushl d0, d0, d31
+ *[0-9a-f]+: 7ee05400 urshl d0, d0, d0
+ *[0-9a-f]+: 7ee0541f urshl d31, d0, d0
+ *[0-9a-f]+: 7ee057e0 urshl d0, d31, d0
+ *[0-9a-f]+: 7eff5400 urshl d0, d0, d31
+ *[0-9a-f]+: 7ee08400 sub d0, d0, d0
+ *[0-9a-f]+: 7ee0841f sub d31, d0, d0
+ *[0-9a-f]+: 7ee087e0 sub d0, d31, d0
+ *[0-9a-f]+: 7eff8400 sub d0, d0, d31
+ *[0-9a-f]+: 7ee08c00 cmeq d0, d0, d0
+ *[0-9a-f]+: 7ee08c1f cmeq d31, d0, d0
+ *[0-9a-f]+: 7ee08fe0 cmeq d0, d31, d0
+ *[0-9a-f]+: 7eff8c00 cmeq d0, d0, d31
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s b/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s
new file mode 100644
index 0000000..7015bce
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-three-same.s
@@ -0,0 +1,213 @@
+ sqadd b0, b0, b0
+ sqadd b31, b0, b0
+ sqadd b0, b31, b0
+ sqadd b0, b0, b31
+ sqadd h0, h0, h0
+ sqadd h31, h0, h0
+ sqadd h0, h31, h0
+ sqadd h0, h0, h31
+ sqadd s0, s0, s0
+ sqadd s31, s0, s0
+ sqadd s0, s31, s0
+ sqadd s0, s0, s31
+ sqadd d0, d0, d0
+ sqadd d31, d0, d0
+ sqadd d0, d31, d0
+ sqadd d0, d0, d31
+
+ sqsub b0, b0, b0
+ sqsub b31, b0, b0
+ sqsub b0, b31, b0
+ sqsub b0, b0, b31
+ sqsub h0, h0, h0
+ sqsub h31, h0, h0
+ sqsub h0, h31, h0
+ sqsub h0, h0, h31
+ sqsub s0, s0, s0
+ sqsub s31, s0, s0
+ sqsub s0, s31, s0
+ sqsub s0, s0, s31
+ sqsub d0, d0, d0
+ sqsub d31, d0, d0
+ sqsub d0, d31, d0
+ sqsub d0, d0, d31
+
+ sqshl b0, b0, b0
+ sqshl b31, b0, b0
+ sqshl b0, b31, b0
+ sqshl b0, b0, b31
+ sqshl h0, h0, h0
+ sqshl h31, h0, h0
+ sqshl h0, h31, h0
+ sqshl h0, h0, h31
+ sqshl s0, s0, s0
+ sqshl s31, s0, s0
+ sqshl s0, s31, s0
+ sqshl s0, s0, s31
+ sqshl d0, d0, d0
+ sqshl d31, d0, d0
+ sqshl d0, d31, d0
+ sqshl d0, d0, d31
+
+ sqrshl b0, b0, b0
+ sqrshl b31, b0, b0
+ sqrshl b0, b31, b0
+ sqrshl b0, b0, b31
+ sqrshl h0, h0, h0
+ sqrshl h31, h0, h0
+ sqrshl h0, h31, h0
+ sqrshl h0, h0, h31
+ sqrshl s0, s0, s0
+ sqrshl s31, s0, s0
+ sqrshl s0, s31, s0
+ sqrshl s0, s0, s31
+ sqrshl d0, d0, d0
+ sqrshl d31, d0, d0
+ sqrshl d0, d31, d0
+ sqrshl d0, d0, d31
+
+ sqdmulh h0, h0, h0
+ sqdmulh h31, h0, h0
+ sqdmulh h0, h31, h0
+ sqdmulh h0, h0, h31
+ sqdmulh s0, s0, s0
+ sqdmulh s31, s0, s0
+ sqdmulh s0, s31, s0
+ sqdmulh s0, s0, s31
+
+ cmgt d0, d0, d0
+ cmgt d31, d0, d0
+ cmgt d0, d31, d0
+ cmgt d0, d0, d31
+
+ cmge d0, d0, d0
+ cmge d31, d0, d0
+ cmge d0, d31, d0
+ cmge d0, d0, d31
+
+ sshl d0, d0, d0
+ sshl d31, d0, d0
+ sshl d0, d31, d0
+ sshl d0, d0, d31
+
+ srshl d0, d0, d0
+ srshl d31, d0, d0
+ srshl d0, d31, d0
+ srshl d0, d0, d31
+
+ add d0, d0, d0
+ add d31, d0, d0
+ add d0, d31, d0
+ add d0, d0, d31
+
+ cmtst d0, d0, d0
+ cmtst d31, d0, d0
+ cmtst d0, d31, d0
+ cmtst d0, d0, d31
+
+ uqadd b0, b0, b0
+ uqadd b31, b0, b0
+ uqadd b0, b31, b0
+ uqadd b0, b0, b31
+ uqadd h0, h0, h0
+ uqadd h31, h0, h0
+ uqadd h0, h31, h0
+ uqadd h0, h0, h31
+ uqadd s0, s0, s0
+ uqadd s31, s0, s0
+ uqadd s0, s31, s0
+ uqadd s0, s0, s31
+ uqadd d0, d0, d0
+ uqadd d31, d0, d0
+ uqadd d0, d31, d0
+ uqadd d0, d0, d31
+
+ uqsub b0, b0, b0
+ uqsub b31, b0, b0
+ uqsub b0, b31, b0
+ uqsub b0, b0, b31
+ uqsub h0, h0, h0
+ uqsub h31, h0, h0
+ uqsub h0, h31, h0
+ uqsub h0, h0, h31
+ uqsub s0, s0, s0
+ uqsub s31, s0, s0
+ uqsub s0, s31, s0
+ uqsub s0, s0, s31
+ uqsub d0, d0, d0
+ uqsub d31, d0, d0
+ uqsub d0, d31, d0
+ uqsub d0, d0, d31
+
+ uqshl b0, b0, b0
+ uqshl b31, b0, b0
+ uqshl b0, b31, b0
+ uqshl b0, b0, b31
+ uqshl h0, h0, h0
+ uqshl h31, h0, h0
+ uqshl h0, h31, h0
+ uqshl h0, h0, h31
+ uqshl s0, s0, s0
+ uqshl s31, s0, s0
+ uqshl s0, s31, s0
+ uqshl s0, s0, s31
+ uqshl d0, d0, d0
+ uqshl d31, d0, d0
+ uqshl d0, d31, d0
+ uqshl d0, d0, d31
+
+ uqrshl b0, b0, b0
+ uqrshl b31, b0, b0
+ uqrshl b0, b31, b0
+ uqrshl b0, b0, b31
+ uqrshl h0, h0, h0
+ uqrshl h31, h0, h0
+ uqrshl h0, h31, h0
+ uqrshl h0, h0, h31
+ uqrshl s0, s0, s0
+ uqrshl s31, s0, s0
+ uqrshl s0, s31, s0
+ uqrshl s0, s0, s31
+ uqrshl d0, d0, d0
+ uqrshl d31, d0, d0
+ uqrshl d0, d31, d0
+ uqrshl d0, d0, d31
+
+ sqrdmulh h0, h0, h0
+ sqrdmulh h31, h0, h0
+ sqrdmulh h0, h31, h0
+ sqrdmulh h0, h0, h31
+ sqrdmulh s0, s0, s0
+ sqrdmulh s31, s0, s0
+ sqrdmulh s0, s31, s0
+ sqrdmulh s0, s0, s31
+
+ cmhi d0, d0, d0
+ cmhi d31, d0, d0
+ cmhi d0, d31, d0
+ cmhi d0, d0, d31
+
+ cmhs d0, d0, d0
+ cmhs d31, d0, d0
+ cmhs d0, d31, d0
+ cmhs d0, d0, d31
+
+ ushl d0, d0, d0
+ ushl d31, d0, d0
+ ushl d0, d31, d0
+ ushl d0, d0, d31
+
+ urshl d0, d0, d0
+ urshl d31, d0, d0
+ urshl d0, d31, d0
+ urshl d0, d0, d31
+
+ sub d0, d0, d0
+ sub d31, d0, d0
+ sub d0, d31, d0
+ sub d0, d0, d31
+
+ cmeq d0, d0, d0
+ cmeq d31, d0, d0
+ cmeq d0, d31, d0
+ cmeq d0, d0, d31
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.d b/gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.d
new file mode 100644
index 0000000..98660d6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.d
@@ -0,0 +1,108 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5e203800 suqadd b0, b0
+ *[0-9a-f]+: 5e20381f suqadd b31, b0
+ *[0-9a-f]+: 5e203be0 suqadd b0, b31
+ *[0-9a-f]+: 5e603800 suqadd h0, h0
+ *[0-9a-f]+: 5e60381f suqadd h31, h0
+ *[0-9a-f]+: 5e603be0 suqadd h0, h31
+ *[0-9a-f]+: 5ea03800 suqadd s0, s0
+ *[0-9a-f]+: 5ea0381f suqadd s31, s0
+ *[0-9a-f]+: 5ea03be0 suqadd s0, s31
+ *[0-9a-f]+: 5ee03800 suqadd d0, d0
+ *[0-9a-f]+: 5ee0381f suqadd d31, d0
+ *[0-9a-f]+: 5ee03be0 suqadd d0, d31
+ *[0-9a-f]+: 5e207800 sqabs b0, b0
+ *[0-9a-f]+: 5e20781f sqabs b31, b0
+ *[0-9a-f]+: 5e207be0 sqabs b0, b31
+ *[0-9a-f]+: 5e607800 sqabs h0, h0
+ *[0-9a-f]+: 5e60781f sqabs h31, h0
+ *[0-9a-f]+: 5e607be0 sqabs h0, h31
+ *[0-9a-f]+: 5ea07800 sqabs s0, s0
+ *[0-9a-f]+: 5ea0781f sqabs s31, s0
+ *[0-9a-f]+: 5ea07be0 sqabs s0, s31
+ *[0-9a-f]+: 5ee07800 sqabs d0, d0
+ *[0-9a-f]+: 5ee0781f sqabs d31, d0
+ *[0-9a-f]+: 5ee07be0 sqabs d0, d31
+ *[0-9a-f]+: 5ee08800 cmgt d0, d0, #0
+ *[0-9a-f]+: 5ee0881f cmgt d31, d0, #0
+ *[0-9a-f]+: 5ee08be0 cmgt d0, d31, #0
+ *[0-9a-f]+: 5ee09800 cmeq d0, d0, #0
+ *[0-9a-f]+: 5ee0981f cmeq d31, d0, #0
+ *[0-9a-f]+: 5ee09be0 cmeq d0, d31, #0
+ *[0-9a-f]+: 5ee0a800 cmlt d0, d0, #0
+ *[0-9a-f]+: 5ee0a81f cmlt d31, d0, #0
+ *[0-9a-f]+: 5ee0abe0 cmlt d0, d31, #0
+ *[0-9a-f]+: 5ee0b800 abs d0, d0
+ *[0-9a-f]+: 5ee0b81f abs d31, d0
+ *[0-9a-f]+: 5ee0bbe0 abs d0, d31
+ *[0-9a-f]+: 5e214800 sqxtn b0, h0
+ *[0-9a-f]+: 5e21481f sqxtn b31, h0
+ *[0-9a-f]+: 5e214be0 sqxtn b0, h31
+ *[0-9a-f]+: 5e614800 sqxtn h0, s0
+ *[0-9a-f]+: 5e61481f sqxtn h31, s0
+ *[0-9a-f]+: 5e614be0 sqxtn h0, s31
+ *[0-9a-f]+: 5ea14800 sqxtn s0, d0
+ *[0-9a-f]+: 5ea1481f sqxtn s31, d0
+ *[0-9a-f]+: 5ea14be0 sqxtn s0, d31
+ *[0-9a-f]+: 7e203800 usqadd b0, b0
+ *[0-9a-f]+: 7e20381f usqadd b31, b0
+ *[0-9a-f]+: 7e203be0 usqadd b0, b31
+ *[0-9a-f]+: 7e603800 usqadd h0, h0
+ *[0-9a-f]+: 7e60381f usqadd h31, h0
+ *[0-9a-f]+: 7e603be0 usqadd h0, h31
+ *[0-9a-f]+: 7ea03800 usqadd s0, s0
+ *[0-9a-f]+: 7ea0381f usqadd s31, s0
+ *[0-9a-f]+: 7ea03be0 usqadd s0, s31
+ *[0-9a-f]+: 7ee03800 usqadd d0, d0
+ *[0-9a-f]+: 7ee0381f usqadd d31, d0
+ *[0-9a-f]+: 7ee03be0 usqadd d0, d31
+ *[0-9a-f]+: 7e207800 sqneg b0, b0
+ *[0-9a-f]+: 7e20781f sqneg b31, b0
+ *[0-9a-f]+: 7e207be0 sqneg b0, b31
+ *[0-9a-f]+: 7e607800 sqneg h0, h0
+ *[0-9a-f]+: 7e60781f sqneg h31, h0
+ *[0-9a-f]+: 7e607be0 sqneg h0, h31
+ *[0-9a-f]+: 7ea07800 sqneg s0, s0
+ *[0-9a-f]+: 7ea0781f sqneg s31, s0
+ *[0-9a-f]+: 7ea07be0 sqneg s0, s31
+ *[0-9a-f]+: 7ee07800 sqneg d0, d0
+ *[0-9a-f]+: 7ee0781f sqneg d31, d0
+ *[0-9a-f]+: 7ee07be0 sqneg d0, d31
+ *[0-9a-f]+: 7ee08800 cmge d0, d0, #0
+ *[0-9a-f]+: 7ee0881f cmge d31, d0, #0
+ *[0-9a-f]+: 7ee08be0 cmge d0, d31, #0
+ *[0-9a-f]+: 7ee09800 cmle d0, d0, #0
+ *[0-9a-f]+: 7ee0981f cmle d31, d0, #0
+ *[0-9a-f]+: 7ee09be0 cmle d0, d31, #0
+ *[0-9a-f]+: 7ee0b800 neg d0, d0
+ *[0-9a-f]+: 7ee0b81f neg d31, d0
+ *[0-9a-f]+: 7ee0bbe0 neg d0, d31
+ *[0-9a-f]+: 7e212800 sqxtun b0, h0
+ *[0-9a-f]+: 7e21281f sqxtun b31, h0
+ *[0-9a-f]+: 7e212be0 sqxtun b0, h31
+ *[0-9a-f]+: 7e612800 sqxtun h0, s0
+ *[0-9a-f]+: 7e61281f sqxtun h31, s0
+ *[0-9a-f]+: 7e612be0 sqxtun h0, s31
+ *[0-9a-f]+: 7ea12800 sqxtun s0, d0
+ *[0-9a-f]+: 7ea1281f sqxtun s31, d0
+ *[0-9a-f]+: 7ea12be0 sqxtun s0, d31
+ *[0-9a-f]+: 7e214800 uqxtn b0, h0
+ *[0-9a-f]+: 7e21481f uqxtn b31, h0
+ *[0-9a-f]+: 7e214be0 uqxtn b0, h31
+ *[0-9a-f]+: 7e614800 uqxtn h0, s0
+ *[0-9a-f]+: 7e61481f uqxtn h31, s0
+ *[0-9a-f]+: 7e614be0 uqxtn h0, s31
+ *[0-9a-f]+: 7ea14800 uqxtn s0, d0
+ *[0-9a-f]+: 7ea1481f uqxtn s31, d0
+ *[0-9a-f]+: 7ea14be0 uqxtn s0, d31
+ *[0-9a-f]+: 7e616800 fcvtxn s0, d0
+ *[0-9a-f]+: 7e61681f fcvtxn s31, d0
+ *[0-9a-f]+: 7e616be0 fcvtxn s0, d31
diff --git a/gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.s b/gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.s
new file mode 100644
index 0000000..f8b8096
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-scalar-two-reg-misc.s
@@ -0,0 +1,113 @@
+ suqadd b0, b0
+ suqadd b31, b0
+ suqadd b0, b31
+ suqadd h0, h0
+ suqadd h31, h0
+ suqadd h0, h31
+ suqadd s0, s0
+ suqadd s31, s0
+ suqadd s0, s31
+ suqadd d0, d0
+ suqadd d31, d0
+ suqadd d0, d31
+
+ sqabs b0, b0
+ sqabs b31, b0
+ sqabs b0, b31
+ sqabs h0, h0
+ sqabs h31, h0
+ sqabs h0, h31
+ sqabs s0, s0
+ sqabs s31, s0
+ sqabs s0, s31
+ sqabs d0, d0
+ sqabs d31, d0
+ sqabs d0, d31
+
+ cmgt d0, d0, #0
+ cmgt d31, d0, #0
+ cmgt d0, d31, #0
+
+ cmeq d0, d0, #0
+ cmeq d31, d0, #0
+ cmeq d0, d31, #0
+
+ cmlt d0, d0, #0
+ cmlt d31, d0, #0
+ cmlt d0, d31, #0
+
+ abs d0, d0
+ abs d31, d0
+ abs d0, d31
+
+ sqxtn b0, h0
+ sqxtn b31, h0
+ sqxtn b0, h31
+ sqxtn h0, s0
+ sqxtn h31, s0
+ sqxtn h0, s31
+ sqxtn s0, d0
+ sqxtn s31, d0
+ sqxtn s0, d31
+
+ usqadd b0, b0
+ usqadd b31, b0
+ usqadd b0, b31
+ usqadd h0, h0
+ usqadd h31, h0
+ usqadd h0, h31
+ usqadd s0, s0
+ usqadd s31, s0
+ usqadd s0, s31
+ usqadd d0, d0
+ usqadd d31, d0
+ usqadd d0, d31
+
+ sqneg b0, b0
+ sqneg b31, b0
+ sqneg b0, b31
+ sqneg h0, h0
+ sqneg h31, h0
+ sqneg h0, h31
+ sqneg s0, s0
+ sqneg s31, s0
+ sqneg s0, s31
+ sqneg d0, d0
+ sqneg d31, d0
+ sqneg d0, d31
+
+ cmge d0, d0, #0
+ cmge d31, d0, #0
+ cmge d0, d31, #0
+
+ cmle d0, d0, #0
+ cmle d31, d0, #0
+ cmle d0, d31, #0
+
+ neg d0, d0
+ neg d31, d0
+ neg d0, d31
+
+ sqxtun b0, h0
+ sqxtun b31, h0
+ sqxtun b0, h31
+ sqxtun h0, s0
+ sqxtun h31, s0
+ sqxtun h0, s31
+ sqxtun s0, d0
+ sqxtun s31, d0
+ sqxtun s0, d31
+
+ uqxtn b0, h0
+ uqxtn b31, h0
+ uqxtn b0, h31
+ uqxtn h0, s0
+ uqxtn h31, s0
+ uqxtn h0, s31
+ uqxtn s0, d0
+ uqxtn s31, d0
+ uqxtn s0, d31
+
+ fcvtxn s0, d0
+ fcvtxn s31, d0
+ fcvtxn s0, d31
diff --git a/gas/testsuite/gas/aarch64/advsimd-shift-immediate.d b/gas/testsuite/gas/aarch64/advsimd-shift-immediate.d
new file mode 100644
index 0000000..1b41c65
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-shift-immediate.d
@@ -0,0 +1,593 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0f080400 sshr v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f08041f sshr v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f0807e0 sshr v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 0f0f0400 sshr v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 0f100400 sshr v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f10041f sshr v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f1007e0 sshr v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 0f1f0400 sshr v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 0f200400 sshr v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f20041f sshr v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f2007e0 sshr v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 0f3f0400 sshr v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 4f080400 sshr v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f08041f sshr v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f0807e0 sshr v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 4f0f0400 sshr v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 4f100400 sshr v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f10041f sshr v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f1007e0 sshr v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 4f1f0400 sshr v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 4f200400 sshr v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f20041f sshr v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f2007e0 sshr v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 4f3f0400 sshr v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 4f400400 sshr v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f40041f sshr v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f4007e0 sshr v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 4f7f0400 sshr v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 0f081400 ssra v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f08141f ssra v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f0817e0 ssra v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 0f0f1400 ssra v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 0f101400 ssra v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f10141f ssra v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f1017e0 ssra v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 0f1f1400 ssra v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 0f201400 ssra v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f20141f ssra v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f2017e0 ssra v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 0f3f1400 ssra v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 4f081400 ssra v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f08141f ssra v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f0817e0 ssra v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 4f0f1400 ssra v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 4f101400 ssra v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f10141f ssra v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f1017e0 ssra v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 4f1f1400 ssra v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 4f201400 ssra v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f20141f ssra v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f2017e0 ssra v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 4f3f1400 ssra v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 4f401400 ssra v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f40141f ssra v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f4017e0 ssra v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 4f7f1400 ssra v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 0f082400 srshr v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f08241f srshr v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f0827e0 srshr v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 0f0f2400 srshr v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 0f102400 srshr v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f10241f srshr v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f1027e0 srshr v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 0f1f2400 srshr v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 0f202400 srshr v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f20241f srshr v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f2027e0 srshr v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 0f3f2400 srshr v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 4f082400 srshr v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f08241f srshr v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f0827e0 srshr v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 4f0f2400 srshr v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 4f102400 srshr v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f10241f srshr v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f1027e0 srshr v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 4f1f2400 srshr v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 4f202400 srshr v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f20241f srshr v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f2027e0 srshr v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 4f3f2400 srshr v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 4f402400 srshr v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f40241f srshr v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f4027e0 srshr v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 4f7f2400 srshr v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 0f083400 srsra v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f08341f srsra v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 0f0837e0 srsra v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 0f0f3400 srsra v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 0f103400 srsra v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f10341f srsra v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 0f1037e0 srsra v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 0f1f3400 srsra v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 0f203400 srsra v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f20341f srsra v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 0f2037e0 srsra v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 0f3f3400 srsra v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 4f083400 srsra v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f08341f srsra v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 4f0837e0 srsra v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 4f0f3400 srsra v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 4f103400 srsra v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f10341f srsra v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 4f1037e0 srsra v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 4f1f3400 srsra v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 4f203400 srsra v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f20341f srsra v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 4f2037e0 srsra v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 4f3f3400 srsra v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 4f403400 srsra v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f40341f srsra v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 4f4037e0 srsra v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 4f7f3400 srsra v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 0f085400 shl v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0f08541f shl v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0f0857e0 shl v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 0f0f5400 shl v0\.8b, v0\.8b, #7
+ *[0-9a-f]+: 0f105400 shl v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0f10541f shl v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0f1057e0 shl v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 0f1f5400 shl v0\.4h, v0\.4h, #15
+ *[0-9a-f]+: 0f205400 shl v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0f20541f shl v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0f2057e0 shl v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 0f3f5400 shl v0\.2s, v0\.2s, #31
+ *[0-9a-f]+: 4f085400 shl v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4f08541f shl v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4f0857e0 shl v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 4f0f5400 shl v0\.16b, v0\.16b, #7
+ *[0-9a-f]+: 4f105400 shl v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4f10541f shl v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4f1057e0 shl v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 4f1f5400 shl v0\.8h, v0\.8h, #15
+ *[0-9a-f]+: 4f205400 shl v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4f20541f shl v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4f2057e0 shl v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 4f3f5400 shl v0\.4s, v0\.4s, #31
+ *[0-9a-f]+: 4f405400 shl v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4f40541f shl v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4f4057e0 shl v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 4f7f5400 shl v0\.2d, v0\.2d, #63
+ *[0-9a-f]+: 0f087400 sqshl v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0f08741f sqshl v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0f0877e0 sqshl v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 0f0f7400 sqshl v0\.8b, v0\.8b, #7
+ *[0-9a-f]+: 0f107400 sqshl v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0f10741f sqshl v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0f1077e0 sqshl v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 0f1f7400 sqshl v0\.4h, v0\.4h, #15
+ *[0-9a-f]+: 0f207400 sqshl v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0f20741f sqshl v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0f2077e0 sqshl v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 0f3f7400 sqshl v0\.2s, v0\.2s, #31
+ *[0-9a-f]+: 4f087400 sqshl v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4f08741f sqshl v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4f0877e0 sqshl v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 4f0f7400 sqshl v0\.16b, v0\.16b, #7
+ *[0-9a-f]+: 4f107400 sqshl v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4f10741f sqshl v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4f1077e0 sqshl v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 4f1f7400 sqshl v0\.8h, v0\.8h, #15
+ *[0-9a-f]+: 4f207400 sqshl v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4f20741f sqshl v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4f2077e0 sqshl v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 4f3f7400 sqshl v0\.4s, v0\.4s, #31
+ *[0-9a-f]+: 4f407400 sqshl v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4f40741f sqshl v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4f4077e0 sqshl v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 4f7f7400 sqshl v0\.2d, v0\.2d, #63
+ *[0-9a-f]+: 0f088400 shrn v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f08841f shrn v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f0887e0 shrn v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 0f0f8400 shrn v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 0f108400 shrn v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f10841f shrn v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f1087e0 shrn v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 0f1f8400 shrn v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 0f208400 shrn v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f20841f shrn v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f2087e0 shrn v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 0f3f8400 shrn v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 4f088400 shrn2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f08841f shrn2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f0887e0 shrn2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 4f0f8400 shrn2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 4f108400 shrn2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f10841f shrn2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f1087e0 shrn2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 4f1f8400 shrn2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 4f208400 shrn2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f20841f shrn2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f2087e0 shrn2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 4f3f8400 shrn2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 0f088c00 rshrn v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f088c1f rshrn v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f088fe0 rshrn v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 0f0f8c00 rshrn v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 0f108c00 rshrn v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f108c1f rshrn v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f108fe0 rshrn v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 0f1f8c00 rshrn v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 0f208c00 rshrn v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f208c1f rshrn v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f208fe0 rshrn v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 0f3f8c00 rshrn v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 4f088c00 rshrn2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f088c1f rshrn2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f088fe0 rshrn2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 4f0f8c00 rshrn2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 4f108c00 rshrn2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f108c1f rshrn2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f108fe0 rshrn2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 4f1f8c00 rshrn2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 4f208c00 rshrn2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f208c1f rshrn2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f208fe0 rshrn2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 4f3f8c00 rshrn2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 0f089400 sqshrn v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f08941f sqshrn v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f0897e0 sqshrn v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 0f0f9400 sqshrn v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 0f109400 sqshrn v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f10941f sqshrn v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f1097e0 sqshrn v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 0f1f9400 sqshrn v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 0f209400 sqshrn v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f20941f sqshrn v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f2097e0 sqshrn v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 0f3f9400 sqshrn v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 4f089400 sqshrn2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f08941f sqshrn2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f0897e0 sqshrn2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 4f0f9400 sqshrn2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 4f109400 sqshrn2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f10941f sqshrn2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f1097e0 sqshrn2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 4f1f9400 sqshrn2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 4f209400 sqshrn2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f20941f sqshrn2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f2097e0 sqshrn2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 4f3f9400 sqshrn2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 0f089c00 sqrshrn v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f089c1f sqrshrn v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 0f089fe0 sqrshrn v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 0f0f9c00 sqrshrn v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 0f109c00 sqrshrn v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f109c1f sqrshrn v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 0f109fe0 sqrshrn v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 0f1f9c00 sqrshrn v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 0f209c00 sqrshrn v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f209c1f sqrshrn v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 0f209fe0 sqrshrn v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 0f3f9c00 sqrshrn v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 4f089c00 sqrshrn2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f089c1f sqrshrn2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 4f089fe0 sqrshrn2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 4f0f9c00 sqrshrn2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 4f109c00 sqrshrn2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f109c1f sqrshrn2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 4f109fe0 sqrshrn2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 4f1f9c00 sqrshrn2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 4f209c00 sqrshrn2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f209c1f sqrshrn2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 4f209fe0 sqrshrn2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 4f3f9c00 sqrshrn2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 2f080400 ushr v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f08041f ushr v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f0807e0 ushr v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 2f0f0400 ushr v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 2f100400 ushr v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f10041f ushr v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f1007e0 ushr v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 2f1f0400 ushr v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 2f200400 ushr v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f20041f ushr v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f2007e0 ushr v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 2f3f0400 ushr v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 6f080400 ushr v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f08041f ushr v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f0807e0 ushr v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 6f0f0400 ushr v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 6f100400 ushr v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f10041f ushr v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f1007e0 ushr v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 6f1f0400 ushr v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f200400 ushr v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f20041f ushr v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f2007e0 ushr v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 6f3f0400 ushr v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 6f400400 ushr v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f40041f ushr v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f4007e0 ushr v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 6f7f0400 ushr v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 2f081400 usra v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f08141f usra v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f0817e0 usra v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 2f0f1400 usra v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 2f101400 usra v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f10141f usra v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f1017e0 usra v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 2f1f1400 usra v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 2f201400 usra v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f20141f usra v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f2017e0 usra v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 2f3f1400 usra v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 6f081400 usra v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f08141f usra v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f0817e0 usra v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 6f0f1400 usra v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 6f101400 usra v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f10141f usra v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f1017e0 usra v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 6f1f1400 usra v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f201400 usra v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f20141f usra v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f2017e0 usra v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 6f3f1400 usra v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 6f401400 usra v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f40141f usra v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f4017e0 usra v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 6f7f1400 usra v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 2f082400 urshr v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f08241f urshr v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f0827e0 urshr v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 2f0f2400 urshr v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 2f102400 urshr v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f10241f urshr v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f1027e0 urshr v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 2f1f2400 urshr v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 2f202400 urshr v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f20241f urshr v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f2027e0 urshr v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 2f3f2400 urshr v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 6f082400 urshr v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f08241f urshr v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f0827e0 urshr v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 6f0f2400 urshr v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 6f102400 urshr v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f10241f urshr v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f1027e0 urshr v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 6f1f2400 urshr v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f202400 urshr v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f20241f urshr v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f2027e0 urshr v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 6f3f2400 urshr v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 6f402400 urshr v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f40241f urshr v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f4027e0 urshr v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 6f7f2400 urshr v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 2f083400 ursra v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f08341f ursra v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f0837e0 ursra v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 2f0f3400 ursra v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 2f103400 ursra v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f10341f ursra v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f1037e0 ursra v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 2f1f3400 ursra v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 2f203400 ursra v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f20341f ursra v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f2037e0 ursra v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 2f3f3400 ursra v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 6f083400 ursra v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f08341f ursra v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f0837e0 ursra v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 6f0f3400 ursra v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 6f103400 ursra v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f10341f ursra v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f1037e0 ursra v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 6f1f3400 ursra v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f203400 ursra v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f20341f ursra v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f2037e0 ursra v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 6f3f3400 ursra v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 6f403400 ursra v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f40341f ursra v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f4037e0 ursra v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 6f7f3400 ursra v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 2f084400 sri v0\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f08441f sri v31\.8b, v0\.8b, #8
+ *[0-9a-f]+: 2f0847e0 sri v0\.8b, v31\.8b, #8
+ *[0-9a-f]+: 2f0f4400 sri v0\.8b, v0\.8b, #1
+ *[0-9a-f]+: 2f104400 sri v0\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f10441f sri v31\.4h, v0\.4h, #16
+ *[0-9a-f]+: 2f1047e0 sri v0\.4h, v31\.4h, #16
+ *[0-9a-f]+: 2f1f4400 sri v0\.4h, v0\.4h, #1
+ *[0-9a-f]+: 2f204400 sri v0\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f20441f sri v31\.2s, v0\.2s, #32
+ *[0-9a-f]+: 2f2047e0 sri v0\.2s, v31\.2s, #32
+ *[0-9a-f]+: 2f3f4400 sri v0\.2s, v0\.2s, #1
+ *[0-9a-f]+: 6f084400 sri v0\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f08441f sri v31\.16b, v0\.16b, #8
+ *[0-9a-f]+: 6f0847e0 sri v0\.16b, v31\.16b, #8
+ *[0-9a-f]+: 6f0f4400 sri v0\.16b, v0\.16b, #1
+ *[0-9a-f]+: 6f104400 sri v0\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f10441f sri v31\.8h, v0\.8h, #16
+ *[0-9a-f]+: 6f1047e0 sri v0\.8h, v31\.8h, #16
+ *[0-9a-f]+: 6f1f4400 sri v0\.8h, v0\.8h, #1
+ *[0-9a-f]+: 6f204400 sri v0\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f20441f sri v31\.4s, v0\.4s, #32
+ *[0-9a-f]+: 6f2047e0 sri v0\.4s, v31\.4s, #32
+ *[0-9a-f]+: 6f3f4400 sri v0\.4s, v0\.4s, #1
+ *[0-9a-f]+: 6f404400 sri v0\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f40441f sri v31\.2d, v0\.2d, #64
+ *[0-9a-f]+: 6f4047e0 sri v0\.2d, v31\.2d, #64
+ *[0-9a-f]+: 6f7f4400 sri v0\.2d, v0\.2d, #1
+ *[0-9a-f]+: 2f085400 sli v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2f08541f sli v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2f0857e0 sli v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 2f0f5400 sli v0\.8b, v0\.8b, #7
+ *[0-9a-f]+: 2f105400 sli v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2f10541f sli v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2f1057e0 sli v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 2f1f5400 sli v0\.4h, v0\.4h, #15
+ *[0-9a-f]+: 2f205400 sli v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2f20541f sli v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2f2057e0 sli v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 2f3f5400 sli v0\.2s, v0\.2s, #31
+ *[0-9a-f]+: 6f085400 sli v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6f08541f sli v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6f0857e0 sli v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 6f0f5400 sli v0\.16b, v0\.16b, #7
+ *[0-9a-f]+: 6f105400 sli v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6f10541f sli v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6f1057e0 sli v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 6f1f5400 sli v0\.8h, v0\.8h, #15
+ *[0-9a-f]+: 6f205400 sli v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6f20541f sli v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6f2057e0 sli v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 6f3f5400 sli v0\.4s, v0\.4s, #31
+ *[0-9a-f]+: 6f405400 sli v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6f40541f sli v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6f4057e0 sli v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 6f7f5400 sli v0\.2d, v0\.2d, #63
+ *[0-9a-f]+: 2f086400 sqshlu v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2f08641f sqshlu v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2f0867e0 sqshlu v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 2f0f6400 sqshlu v0\.8b, v0\.8b, #7
+ *[0-9a-f]+: 2f106400 sqshlu v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2f10641f sqshlu v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2f1067e0 sqshlu v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 2f1f6400 sqshlu v0\.4h, v0\.4h, #15
+ *[0-9a-f]+: 2f206400 sqshlu v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2f20641f sqshlu v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2f2067e0 sqshlu v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 2f3f6400 sqshlu v0\.2s, v0\.2s, #31
+ *[0-9a-f]+: 6f086400 sqshlu v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6f08641f sqshlu v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6f0867e0 sqshlu v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 6f0f6400 sqshlu v0\.16b, v0\.16b, #7
+ *[0-9a-f]+: 6f106400 sqshlu v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6f10641f sqshlu v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6f1067e0 sqshlu v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 6f1f6400 sqshlu v0\.8h, v0\.8h, #15
+ *[0-9a-f]+: 6f206400 sqshlu v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6f20641f sqshlu v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6f2067e0 sqshlu v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 6f3f6400 sqshlu v0\.4s, v0\.4s, #31
+ *[0-9a-f]+: 6f406400 sqshlu v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6f40641f sqshlu v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6f4067e0 sqshlu v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 6f7f6400 sqshlu v0\.2d, v0\.2d, #63
+ *[0-9a-f]+: 2f087400 uqshl v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2f08741f uqshl v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2f0877e0 uqshl v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 2f0f7400 uqshl v0\.8b, v0\.8b, #7
+ *[0-9a-f]+: 2f107400 uqshl v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2f10741f uqshl v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2f1077e0 uqshl v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 2f1f7400 uqshl v0\.4h, v0\.4h, #15
+ *[0-9a-f]+: 2f207400 uqshl v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2f20741f uqshl v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2f2077e0 uqshl v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 2f3f7400 uqshl v0\.2s, v0\.2s, #31
+ *[0-9a-f]+: 6f087400 uqshl v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6f08741f uqshl v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6f0877e0 uqshl v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 6f0f7400 uqshl v0\.16b, v0\.16b, #7
+ *[0-9a-f]+: 6f107400 uqshl v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6f10741f uqshl v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6f1077e0 uqshl v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 6f1f7400 uqshl v0\.8h, v0\.8h, #15
+ *[0-9a-f]+: 6f207400 uqshl v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6f20741f uqshl v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6f2077e0 uqshl v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 6f3f7400 uqshl v0\.4s, v0\.4s, #31
+ *[0-9a-f]+: 6f407400 uqshl v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6f40741f uqshl v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6f4077e0 uqshl v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 6f7f7400 uqshl v0\.2d, v0\.2d, #63
+ *[0-9a-f]+: 2f088400 sqshrun v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f08841f sqshrun v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f0887e0 sqshrun v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 2f0f8400 sqshrun v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 2f108400 sqshrun v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f10841f sqshrun v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f1087e0 sqshrun v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 2f1f8400 sqshrun v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 2f208400 sqshrun v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f20841f sqshrun v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f2087e0 sqshrun v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 2f3f8400 sqshrun v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 6f088400 sqshrun2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f08841f sqshrun2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f0887e0 sqshrun2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 6f0f8400 sqshrun2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 6f108400 sqshrun2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f10841f sqshrun2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f1087e0 sqshrun2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 6f1f8400 sqshrun2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 6f208400 sqshrun2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f20841f sqshrun2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f2087e0 sqshrun2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 6f3f8400 sqshrun2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 2f088c00 sqrshrun v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f088c1f sqrshrun v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f088fe0 sqrshrun v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 2f0f8c00 sqrshrun v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 2f108c00 sqrshrun v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f108c1f sqrshrun v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f108fe0 sqrshrun v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 2f1f8c00 sqrshrun v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 2f208c00 sqrshrun v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f208c1f sqrshrun v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f208fe0 sqrshrun v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 2f3f8c00 sqrshrun v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 6f088c00 sqrshrun2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f088c1f sqrshrun2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f088fe0 sqrshrun2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 6f0f8c00 sqrshrun2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 6f108c00 sqrshrun2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f108c1f sqrshrun2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f108fe0 sqrshrun2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 6f1f8c00 sqrshrun2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 6f208c00 sqrshrun2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f208c1f sqrshrun2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f208fe0 sqrshrun2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 6f3f8c00 sqrshrun2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 2f089400 uqshrn v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f08941f uqshrn v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f0897e0 uqshrn v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 2f0f9400 uqshrn v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 2f109400 uqshrn v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f10941f uqshrn v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f1097e0 uqshrn v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 2f1f9400 uqshrn v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 2f209400 uqshrn v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f20941f uqshrn v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f2097e0 uqshrn v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 2f3f9400 uqshrn v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 6f089400 uqshrn2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f08941f uqshrn2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f0897e0 uqshrn2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 6f0f9400 uqshrn2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 6f109400 uqshrn2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f10941f uqshrn2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f1097e0 uqshrn2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 6f1f9400 uqshrn2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 6f209400 uqshrn2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f20941f uqshrn2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f2097e0 uqshrn2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 6f3f9400 uqshrn2 v0\.4s, v0\.2d, #1
+ *[0-9a-f]+: 2f089c00 uqrshrn v0\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f089c1f uqrshrn v31\.8b, v0\.8h, #8
+ *[0-9a-f]+: 2f089fe0 uqrshrn v0\.8b, v31\.8h, #8
+ *[0-9a-f]+: 2f0f9c00 uqrshrn v0\.8b, v0\.8h, #1
+ *[0-9a-f]+: 2f109c00 uqrshrn v0\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f109c1f uqrshrn v31\.4h, v0\.4s, #16
+ *[0-9a-f]+: 2f109fe0 uqrshrn v0\.4h, v31\.4s, #16
+ *[0-9a-f]+: 2f1f9c00 uqrshrn v0\.4h, v0\.4s, #1
+ *[0-9a-f]+: 2f209c00 uqrshrn v0\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f209c1f uqrshrn v31\.2s, v0\.2d, #32
+ *[0-9a-f]+: 2f209fe0 uqrshrn v0\.2s, v31\.2d, #32
+ *[0-9a-f]+: 2f3f9c00 uqrshrn v0\.2s, v0\.2d, #1
+ *[0-9a-f]+: 6f089c00 uqrshrn2 v0\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f089c1f uqrshrn2 v31\.16b, v0\.8h, #8
+ *[0-9a-f]+: 6f089fe0 uqrshrn2 v0\.16b, v31\.8h, #8
+ *[0-9a-f]+: 6f0f9c00 uqrshrn2 v0\.16b, v0\.8h, #1
+ *[0-9a-f]+: 6f109c00 uqrshrn2 v0\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f109c1f uqrshrn2 v31\.8h, v0\.4s, #16
+ *[0-9a-f]+: 6f109fe0 uqrshrn2 v0\.8h, v31\.4s, #16
+ *[0-9a-f]+: 6f1f9c00 uqrshrn2 v0\.8h, v0\.4s, #1
+ *[0-9a-f]+: 6f209c00 uqrshrn2 v0\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f209c1f uqrshrn2 v31\.4s, v0\.2d, #32
+ *[0-9a-f]+: 6f209fe0 uqrshrn2 v0\.4s, v31\.2d, #32
+ *[0-9a-f]+: 6f3f9c00 uqrshrn2 v0\.4s, v0\.2d, #1
diff --git a/gas/testsuite/gas/aarch64/advsimd-shift-immediate.s b/gas/testsuite/gas/aarch64/advsimd-shift-immediate.s
new file mode 100644
index 0000000..c07a15c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-shift-immediate.s
@@ -0,0 +1,605 @@
+ sshr v0.8b, v0.8b, #8
+ sshr v31.8b, v0.8b, #8
+ sshr v0.8b, v31.8b, #8
+ sshr v0.8b, v0.8b, #1
+ sshr v0.4h, v0.4h, #16
+ sshr v31.4h, v0.4h, #16
+ sshr v0.4h, v31.4h, #16
+ sshr v0.4h, v0.4h, #1
+ sshr v0.2s, v0.2s, #32
+ sshr v31.2s, v0.2s, #32
+ sshr v0.2s, v31.2s, #32
+ sshr v0.2s, v0.2s, #1
+ sshr v0.16b, v0.16b, #8
+ sshr v31.16b, v0.16b, #8
+ sshr v0.16b, v31.16b, #8
+ sshr v0.16b, v0.16b, #1
+ sshr v0.8h, v0.8h, #16
+ sshr v31.8h, v0.8h, #16
+ sshr v0.8h, v31.8h, #16
+ sshr v0.8h, v0.8h, #1
+ sshr v0.4s, v0.4s, #32
+ sshr v31.4s, v0.4s, #32
+ sshr v0.4s, v31.4s, #32
+ sshr v0.4s, v0.4s, #1
+ sshr v0.2d, v0.2d, #64
+ sshr v31.2d, v0.2d, #64
+ sshr v0.2d, v31.2d, #64
+ sshr v0.2d, v0.2d, #1
+
+ ssra v0.8b, v0.8b, #8
+ ssra v31.8b, v0.8b, #8
+ ssra v0.8b, v31.8b, #8
+ ssra v0.8b, v0.8b, #1
+ ssra v0.4h, v0.4h, #16
+ ssra v31.4h, v0.4h, #16
+ ssra v0.4h, v31.4h, #16
+ ssra v0.4h, v0.4h, #1
+ ssra v0.2s, v0.2s, #32
+ ssra v31.2s, v0.2s, #32
+ ssra v0.2s, v31.2s, #32
+ ssra v0.2s, v0.2s, #1
+ ssra v0.16b, v0.16b, #8
+ ssra v31.16b, v0.16b, #8
+ ssra v0.16b, v31.16b, #8
+ ssra v0.16b, v0.16b, #1
+ ssra v0.8h, v0.8h, #16
+ ssra v31.8h, v0.8h, #16
+ ssra v0.8h, v31.8h, #16
+ ssra v0.8h, v0.8h, #1
+ ssra v0.4s, v0.4s, #32
+ ssra v31.4s, v0.4s, #32
+ ssra v0.4s, v31.4s, #32
+ ssra v0.4s, v0.4s, #1
+ ssra v0.2d, v0.2d, #64
+ ssra v31.2d, v0.2d, #64
+ ssra v0.2d, v31.2d, #64
+ ssra v0.2d, v0.2d, #1
+
+ srshr v0.8b, v0.8b, #8
+ srshr v31.8b, v0.8b, #8
+ srshr v0.8b, v31.8b, #8
+ srshr v0.8b, v0.8b, #1
+ srshr v0.4h, v0.4h, #16
+ srshr v31.4h, v0.4h, #16
+ srshr v0.4h, v31.4h, #16
+ srshr v0.4h, v0.4h, #1
+ srshr v0.2s, v0.2s, #32
+ srshr v31.2s, v0.2s, #32
+ srshr v0.2s, v31.2s, #32
+ srshr v0.2s, v0.2s, #1
+ srshr v0.16b, v0.16b, #8
+ srshr v31.16b, v0.16b, #8
+ srshr v0.16b, v31.16b, #8
+ srshr v0.16b, v0.16b, #1
+ srshr v0.8h, v0.8h, #16
+ srshr v31.8h, v0.8h, #16
+ srshr v0.8h, v31.8h, #16
+ srshr v0.8h, v0.8h, #1
+ srshr v0.4s, v0.4s, #32
+ srshr v31.4s, v0.4s, #32
+ srshr v0.4s, v31.4s, #32
+ srshr v0.4s, v0.4s, #1
+ srshr v0.2d, v0.2d, #64
+ srshr v31.2d, v0.2d, #64
+ srshr v0.2d, v31.2d, #64
+ srshr v0.2d, v0.2d, #1
+
+ srsra v0.8b, v0.8b, #8
+ srsra v31.8b, v0.8b, #8
+ srsra v0.8b, v31.8b, #8
+ srsra v0.8b, v0.8b, #1
+ srsra v0.4h, v0.4h, #16
+ srsra v31.4h, v0.4h, #16
+ srsra v0.4h, v31.4h, #16
+ srsra v0.4h, v0.4h, #1
+ srsra v0.2s, v0.2s, #32
+ srsra v31.2s, v0.2s, #32
+ srsra v0.2s, v31.2s, #32
+ srsra v0.2s, v0.2s, #1
+ srsra v0.16b, v0.16b, #8
+ srsra v31.16b, v0.16b, #8
+ srsra v0.16b, v31.16b, #8
+ srsra v0.16b, v0.16b, #1
+ srsra v0.8h, v0.8h, #16
+ srsra v31.8h, v0.8h, #16
+ srsra v0.8h, v31.8h, #16
+ srsra v0.8h, v0.8h, #1
+ srsra v0.4s, v0.4s, #32
+ srsra v31.4s, v0.4s, #32
+ srsra v0.4s, v31.4s, #32
+ srsra v0.4s, v0.4s, #1
+ srsra v0.2d, v0.2d, #64
+ srsra v31.2d, v0.2d, #64
+ srsra v0.2d, v31.2d, #64
+ srsra v0.2d, v0.2d, #1
+
+ shl v0.8b, v0.8b, #0
+ shl v31.8b, v0.8b, #0
+ shl v0.8b, v31.8b, #0
+ shl v0.8b, v0.8b, #7
+ shl v0.4h, v0.4h, #0
+ shl v31.4h, v0.4h, #0
+ shl v0.4h, v31.4h, #0
+ shl v0.4h, v0.4h, #15
+ shl v0.2s, v0.2s, #0
+ shl v31.2s, v0.2s, #0
+ shl v0.2s, v31.2s, #0
+ shl v0.2s, v0.2s, #31
+ shl v0.16b, v0.16b, #0
+ shl v31.16b, v0.16b, #0
+ shl v0.16b, v31.16b, #0
+ shl v0.16b, v0.16b, #7
+ shl v0.8h, v0.8h, #0
+ shl v31.8h, v0.8h, #0
+ shl v0.8h, v31.8h, #0
+ shl v0.8h, v0.8h, #15
+ shl v0.4s, v0.4s, #0
+ shl v31.4s, v0.4s, #0
+ shl v0.4s, v31.4s, #0
+ shl v0.4s, v0.4s, #31
+ shl v0.2d, v0.2d, #0
+ shl v31.2d, v0.2d, #0
+ shl v0.2d, v31.2d, #0
+ shl v0.2d, v0.2d, #63
+
+ sqshl v0.8b, v0.8b, #0
+ sqshl v31.8b, v0.8b, #0
+ sqshl v0.8b, v31.8b, #0
+ sqshl v0.8b, v0.8b, #7
+ sqshl v0.4h, v0.4h, #0
+ sqshl v31.4h, v0.4h, #0
+ sqshl v0.4h, v31.4h, #0
+ sqshl v0.4h, v0.4h, #15
+ sqshl v0.2s, v0.2s, #0
+ sqshl v31.2s, v0.2s, #0
+ sqshl v0.2s, v31.2s, #0
+ sqshl v0.2s, v0.2s, #31
+ sqshl v0.16b, v0.16b, #0
+ sqshl v31.16b, v0.16b, #0
+ sqshl v0.16b, v31.16b, #0
+ sqshl v0.16b, v0.16b, #7
+ sqshl v0.8h, v0.8h, #0
+ sqshl v31.8h, v0.8h, #0
+ sqshl v0.8h, v31.8h, #0
+ sqshl v0.8h, v0.8h, #15
+ sqshl v0.4s, v0.4s, #0
+ sqshl v31.4s, v0.4s, #0
+ sqshl v0.4s, v31.4s, #0
+ sqshl v0.4s, v0.4s, #31
+ sqshl v0.2d, v0.2d, #0
+ sqshl v31.2d, v0.2d, #0
+ sqshl v0.2d, v31.2d, #0
+ sqshl v0.2d, v0.2d, #63
+
+ shrn v0.8b, v0.8h, #8
+ shrn v31.8b, v0.8h, #8
+ shrn v0.8b, v31.8h, #8
+ shrn v0.8b, v0.8h, #1
+ shrn v0.4h, v0.4s, #16
+ shrn v31.4h, v0.4s, #16
+ shrn v0.4h, v31.4s, #16
+ shrn v0.4h, v0.4s, #1
+ shrn v0.2s, v0.2d, #32
+ shrn v31.2s, v0.2d, #32
+ shrn v0.2s, v31.2d, #32
+ shrn v0.2s, v0.2d, #1
+ shrn2 v0.16b, v0.8h, #8
+ shrn2 v31.16b, v0.8h, #8
+ shrn2 v0.16b, v31.8h, #8
+ shrn2 v0.16b, v0.8h, #1
+ shrn2 v0.8h, v0.4s, #16
+ shrn2 v31.8h, v0.4s, #16
+ shrn2 v0.8h, v31.4s, #16
+ shrn2 v0.8h, v0.4s, #1
+ shrn2 v0.4s, v0.2d, #32
+ shrn2 v31.4s, v0.2d, #32
+ shrn2 v0.4s, v31.2d, #32
+ shrn2 v0.4s, v0.2d, #1
+
+ rshrn v0.8b, v0.8h, #8
+ rshrn v31.8b, v0.8h, #8
+ rshrn v0.8b, v31.8h, #8
+ rshrn v0.8b, v0.8h, #1
+ rshrn v0.4h, v0.4s, #16
+ rshrn v31.4h, v0.4s, #16
+ rshrn v0.4h, v31.4s, #16
+ rshrn v0.4h, v0.4s, #1
+ rshrn v0.2s, v0.2d, #32
+ rshrn v31.2s, v0.2d, #32
+ rshrn v0.2s, v31.2d, #32
+ rshrn v0.2s, v0.2d, #1
+ rshrn2 v0.16b, v0.8h, #8
+ rshrn2 v31.16b, v0.8h, #8
+ rshrn2 v0.16b, v31.8h, #8
+ rshrn2 v0.16b, v0.8h, #1
+ rshrn2 v0.8h, v0.4s, #16
+ rshrn2 v31.8h, v0.4s, #16
+ rshrn2 v0.8h, v31.4s, #16
+ rshrn2 v0.8h, v0.4s, #1
+ rshrn2 v0.4s, v0.2d, #32
+ rshrn2 v31.4s, v0.2d, #32
+ rshrn2 v0.4s, v31.2d, #32
+ rshrn2 v0.4s, v0.2d, #1
+
+ sqshrn v0.8b, v0.8h, #8
+ sqshrn v31.8b, v0.8h, #8
+ sqshrn v0.8b, v31.8h, #8
+ sqshrn v0.8b, v0.8h, #1
+ sqshrn v0.4h, v0.4s, #16
+ sqshrn v31.4h, v0.4s, #16
+ sqshrn v0.4h, v31.4s, #16
+ sqshrn v0.4h, v0.4s, #1
+ sqshrn v0.2s, v0.2d, #32
+ sqshrn v31.2s, v0.2d, #32
+ sqshrn v0.2s, v31.2d, #32
+ sqshrn v0.2s, v0.2d, #1
+ sqshrn2 v0.16b, v0.8h, #8
+ sqshrn2 v31.16b, v0.8h, #8
+ sqshrn2 v0.16b, v31.8h, #8
+ sqshrn2 v0.16b, v0.8h, #1
+ sqshrn2 v0.8h, v0.4s, #16
+ sqshrn2 v31.8h, v0.4s, #16
+ sqshrn2 v0.8h, v31.4s, #16
+ sqshrn2 v0.8h, v0.4s, #1
+ sqshrn2 v0.4s, v0.2d, #32
+ sqshrn2 v31.4s, v0.2d, #32
+ sqshrn2 v0.4s, v31.2d, #32
+ sqshrn2 v0.4s, v0.2d, #1
+
+ sqrshrn v0.8b, v0.8h, #8
+ sqrshrn v31.8b, v0.8h, #8
+ sqrshrn v0.8b, v31.8h, #8
+ sqrshrn v0.8b, v0.8h, #1
+ sqrshrn v0.4h, v0.4s, #16
+ sqrshrn v31.4h, v0.4s, #16
+ sqrshrn v0.4h, v31.4s, #16
+ sqrshrn v0.4h, v0.4s, #1
+ sqrshrn v0.2s, v0.2d, #32
+ sqrshrn v31.2s, v0.2d, #32
+ sqrshrn v0.2s, v31.2d, #32
+ sqrshrn v0.2s, v0.2d, #1
+ sqrshrn2 v0.16b, v0.8h, #8
+ sqrshrn2 v31.16b, v0.8h, #8
+ sqrshrn2 v0.16b, v31.8h, #8
+ sqrshrn2 v0.16b, v0.8h, #1
+ sqrshrn2 v0.8h, v0.4s, #16
+ sqrshrn2 v31.8h, v0.4s, #16
+ sqrshrn2 v0.8h, v31.4s, #16
+ sqrshrn2 v0.8h, v0.4s, #1
+ sqrshrn2 v0.4s, v0.2d, #32
+ sqrshrn2 v31.4s, v0.2d, #32
+ sqrshrn2 v0.4s, v31.2d, #32
+ sqrshrn2 v0.4s, v0.2d, #1
+
+ ushr v0.8b, v0.8b, #8
+ ushr v31.8b, v0.8b, #8
+ ushr v0.8b, v31.8b, #8
+ ushr v0.8b, v0.8b, #1
+ ushr v0.4h, v0.4h, #16
+ ushr v31.4h, v0.4h, #16
+ ushr v0.4h, v31.4h, #16
+ ushr v0.4h, v0.4h, #1
+ ushr v0.2s, v0.2s, #32
+ ushr v31.2s, v0.2s, #32
+ ushr v0.2s, v31.2s, #32
+ ushr v0.2s, v0.2s, #1
+ ushr v0.16b, v0.16b, #8
+ ushr v31.16b, v0.16b, #8
+ ushr v0.16b, v31.16b, #8
+ ushr v0.16b, v0.16b, #1
+ ushr v0.8h, v0.8h, #16
+ ushr v31.8h, v0.8h, #16
+ ushr v0.8h, v31.8h, #16
+ ushr v0.8h, v0.8h, #1
+ ushr v0.4s, v0.4s, #32
+ ushr v31.4s, v0.4s, #32
+ ushr v0.4s, v31.4s, #32
+ ushr v0.4s, v0.4s, #1
+ ushr v0.2d, v0.2d, #64
+ ushr v31.2d, v0.2d, #64
+ ushr v0.2d, v31.2d, #64
+ ushr v0.2d, v0.2d, #1
+
+ usra v0.8b, v0.8b, #8
+ usra v31.8b, v0.8b, #8
+ usra v0.8b, v31.8b, #8
+ usra v0.8b, v0.8b, #1
+ usra v0.4h, v0.4h, #16
+ usra v31.4h, v0.4h, #16
+ usra v0.4h, v31.4h, #16
+ usra v0.4h, v0.4h, #1
+ usra v0.2s, v0.2s, #32
+ usra v31.2s, v0.2s, #32
+ usra v0.2s, v31.2s, #32
+ usra v0.2s, v0.2s, #1
+ usra v0.16b, v0.16b, #8
+ usra v31.16b, v0.16b, #8
+ usra v0.16b, v31.16b, #8
+ usra v0.16b, v0.16b, #1
+ usra v0.8h, v0.8h, #16
+ usra v31.8h, v0.8h, #16
+ usra v0.8h, v31.8h, #16
+ usra v0.8h, v0.8h, #1
+ usra v0.4s, v0.4s, #32
+ usra v31.4s, v0.4s, #32
+ usra v0.4s, v31.4s, #32
+ usra v0.4s, v0.4s, #1
+ usra v0.2d, v0.2d, #64
+ usra v31.2d, v0.2d, #64
+ usra v0.2d, v31.2d, #64
+ usra v0.2d, v0.2d, #1
+
+ urshr v0.8b, v0.8b, #8
+ urshr v31.8b, v0.8b, #8
+ urshr v0.8b, v31.8b, #8
+ urshr v0.8b, v0.8b, #1
+ urshr v0.4h, v0.4h, #16
+ urshr v31.4h, v0.4h, #16
+ urshr v0.4h, v31.4h, #16
+ urshr v0.4h, v0.4h, #1
+ urshr v0.2s, v0.2s, #32
+ urshr v31.2s, v0.2s, #32
+ urshr v0.2s, v31.2s, #32
+ urshr v0.2s, v0.2s, #1
+ urshr v0.16b, v0.16b, #8
+ urshr v31.16b, v0.16b, #8
+ urshr v0.16b, v31.16b, #8
+ urshr v0.16b, v0.16b, #1
+ urshr v0.8h, v0.8h, #16
+ urshr v31.8h, v0.8h, #16
+ urshr v0.8h, v31.8h, #16
+ urshr v0.8h, v0.8h, #1
+ urshr v0.4s, v0.4s, #32
+ urshr v31.4s, v0.4s, #32
+ urshr v0.4s, v31.4s, #32
+ urshr v0.4s, v0.4s, #1
+ urshr v0.2d, v0.2d, #64
+ urshr v31.2d, v0.2d, #64
+ urshr v0.2d, v31.2d, #64
+ urshr v0.2d, v0.2d, #1
+
+ ursra v0.8b, v0.8b, #8
+ ursra v31.8b, v0.8b, #8
+ ursra v0.8b, v31.8b, #8
+ ursra v0.8b, v0.8b, #1
+ ursra v0.4h, v0.4h, #16
+ ursra v31.4h, v0.4h, #16
+ ursra v0.4h, v31.4h, #16
+ ursra v0.4h, v0.4h, #1
+ ursra v0.2s, v0.2s, #32
+ ursra v31.2s, v0.2s, #32
+ ursra v0.2s, v31.2s, #32
+ ursra v0.2s, v0.2s, #1
+ ursra v0.16b, v0.16b, #8
+ ursra v31.16b, v0.16b, #8
+ ursra v0.16b, v31.16b, #8
+ ursra v0.16b, v0.16b, #1
+ ursra v0.8h, v0.8h, #16
+ ursra v31.8h, v0.8h, #16
+ ursra v0.8h, v31.8h, #16
+ ursra v0.8h, v0.8h, #1
+ ursra v0.4s, v0.4s, #32
+ ursra v31.4s, v0.4s, #32
+ ursra v0.4s, v31.4s, #32
+ ursra v0.4s, v0.4s, #1
+ ursra v0.2d, v0.2d, #64
+ ursra v31.2d, v0.2d, #64
+ ursra v0.2d, v31.2d, #64
+ ursra v0.2d, v0.2d, #1
+
+ sri v0.8b, v0.8b, #8
+ sri v31.8b, v0.8b, #8
+ sri v0.8b, v31.8b, #8
+ sri v0.8b, v0.8b, #1
+ sri v0.4h, v0.4h, #16
+ sri v31.4h, v0.4h, #16
+ sri v0.4h, v31.4h, #16
+ sri v0.4h, v0.4h, #1
+ sri v0.2s, v0.2s, #32
+ sri v31.2s, v0.2s, #32
+ sri v0.2s, v31.2s, #32
+ sri v0.2s, v0.2s, #1
+ sri v0.16b, v0.16b, #8
+ sri v31.16b, v0.16b, #8
+ sri v0.16b, v31.16b, #8
+ sri v0.16b, v0.16b, #1
+ sri v0.8h, v0.8h, #16
+ sri v31.8h, v0.8h, #16
+ sri v0.8h, v31.8h, #16
+ sri v0.8h, v0.8h, #1
+ sri v0.4s, v0.4s, #32
+ sri v31.4s, v0.4s, #32
+ sri v0.4s, v31.4s, #32
+ sri v0.4s, v0.4s, #1
+ sri v0.2d, v0.2d, #64
+ sri v31.2d, v0.2d, #64
+ sri v0.2d, v31.2d, #64
+ sri v0.2d, v0.2d, #1
+
+ sli v0.8b, v0.8b, #0
+ sli v31.8b, v0.8b, #0
+ sli v0.8b, v31.8b, #0
+ sli v0.8b, v0.8b, #7
+ sli v0.4h, v0.4h, #0
+ sli v31.4h, v0.4h, #0
+ sli v0.4h, v31.4h, #0
+ sli v0.4h, v0.4h, #15
+ sli v0.2s, v0.2s, #0
+ sli v31.2s, v0.2s, #0
+ sli v0.2s, v31.2s, #0
+ sli v0.2s, v0.2s, #31
+ sli v0.16b, v0.16b, #0
+ sli v31.16b, v0.16b, #0
+ sli v0.16b, v31.16b, #0
+ sli v0.16b, v0.16b, #7
+ sli v0.8h, v0.8h, #0
+ sli v31.8h, v0.8h, #0
+ sli v0.8h, v31.8h, #0
+ sli v0.8h, v0.8h, #15
+ sli v0.4s, v0.4s, #0
+ sli v31.4s, v0.4s, #0
+ sli v0.4s, v31.4s, #0
+ sli v0.4s, v0.4s, #31
+ sli v0.2d, v0.2d, #0
+ sli v31.2d, v0.2d, #0
+ sli v0.2d, v31.2d, #0
+ sli v0.2d, v0.2d, #63
+
+ sqshlu v0.8b, v0.8b, #0
+ sqshlu v31.8b, v0.8b, #0
+ sqshlu v0.8b, v31.8b, #0
+ sqshlu v0.8b, v0.8b, #7
+ sqshlu v0.4h, v0.4h, #0
+ sqshlu v31.4h, v0.4h, #0
+ sqshlu v0.4h, v31.4h, #0
+ sqshlu v0.4h, v0.4h, #15
+ sqshlu v0.2s, v0.2s, #0
+ sqshlu v31.2s, v0.2s, #0
+ sqshlu v0.2s, v31.2s, #0
+ sqshlu v0.2s, v0.2s, #31
+ sqshlu v0.16b, v0.16b, #0
+ sqshlu v31.16b, v0.16b, #0
+ sqshlu v0.16b, v31.16b, #0
+ sqshlu v0.16b, v0.16b, #7
+ sqshlu v0.8h, v0.8h, #0
+ sqshlu v31.8h, v0.8h, #0
+ sqshlu v0.8h, v31.8h, #0
+ sqshlu v0.8h, v0.8h, #15
+ sqshlu v0.4s, v0.4s, #0
+ sqshlu v31.4s, v0.4s, #0
+ sqshlu v0.4s, v31.4s, #0
+ sqshlu v0.4s, v0.4s, #31
+ sqshlu v0.2d, v0.2d, #0
+ sqshlu v31.2d, v0.2d, #0
+ sqshlu v0.2d, v31.2d, #0
+ sqshlu v0.2d, v0.2d, #63
+
+ uqshl v0.8b, v0.8b, #0
+ uqshl v31.8b, v0.8b, #0
+ uqshl v0.8b, v31.8b, #0
+ uqshl v0.8b, v0.8b, #7
+ uqshl v0.4h, v0.4h, #0
+ uqshl v31.4h, v0.4h, #0
+ uqshl v0.4h, v31.4h, #0
+ uqshl v0.4h, v0.4h, #15
+ uqshl v0.2s, v0.2s, #0
+ uqshl v31.2s, v0.2s, #0
+ uqshl v0.2s, v31.2s, #0
+ uqshl v0.2s, v0.2s, #31
+ uqshl v0.16b, v0.16b, #0
+ uqshl v31.16b, v0.16b, #0
+ uqshl v0.16b, v31.16b, #0
+ uqshl v0.16b, v0.16b, #7
+ uqshl v0.8h, v0.8h, #0
+ uqshl v31.8h, v0.8h, #0
+ uqshl v0.8h, v31.8h, #0
+ uqshl v0.8h, v0.8h, #15
+ uqshl v0.4s, v0.4s, #0
+ uqshl v31.4s, v0.4s, #0
+ uqshl v0.4s, v31.4s, #0
+ uqshl v0.4s, v0.4s, #31
+ uqshl v0.2d, v0.2d, #0
+ uqshl v31.2d, v0.2d, #0
+ uqshl v0.2d, v31.2d, #0
+ uqshl v0.2d, v0.2d, #63
+
+ sqshrun v0.8b, v0.8h, #8
+ sqshrun v31.8b, v0.8h, #8
+ sqshrun v0.8b, v31.8h, #8
+ sqshrun v0.8b, v0.8h, #1
+ sqshrun v0.4h, v0.4s, #16
+ sqshrun v31.4h, v0.4s, #16
+ sqshrun v0.4h, v31.4s, #16
+ sqshrun v0.4h, v0.4s, #1
+ sqshrun v0.2s, v0.2d, #32
+ sqshrun v31.2s, v0.2d, #32
+ sqshrun v0.2s, v31.2d, #32
+ sqshrun v0.2s, v0.2d, #1
+ sqshrun2 v0.16b, v0.8h, #8
+ sqshrun2 v31.16b, v0.8h, #8
+ sqshrun2 v0.16b, v31.8h, #8
+ sqshrun2 v0.16b, v0.8h, #1
+ sqshrun2 v0.8h, v0.4s, #16
+ sqshrun2 v31.8h, v0.4s, #16
+ sqshrun2 v0.8h, v31.4s, #16
+ sqshrun2 v0.8h, v0.4s, #1
+ sqshrun2 v0.4s, v0.2d, #32
+ sqshrun2 v31.4s, v0.2d, #32
+ sqshrun2 v0.4s, v31.2d, #32
+ sqshrun2 v0.4s, v0.2d, #1
+
+ sqrshrun v0.8b, v0.8h, #8
+ sqrshrun v31.8b, v0.8h, #8
+ sqrshrun v0.8b, v31.8h, #8
+ sqrshrun v0.8b, v0.8h, #1
+ sqrshrun v0.4h, v0.4s, #16
+ sqrshrun v31.4h, v0.4s, #16
+ sqrshrun v0.4h, v31.4s, #16
+ sqrshrun v0.4h, v0.4s, #1
+ sqrshrun v0.2s, v0.2d, #32
+ sqrshrun v31.2s, v0.2d, #32
+ sqrshrun v0.2s, v31.2d, #32
+ sqrshrun v0.2s, v0.2d, #1
+ sqrshrun2 v0.16b, v0.8h, #8
+ sqrshrun2 v31.16b, v0.8h, #8
+ sqrshrun2 v0.16b, v31.8h, #8
+ sqrshrun2 v0.16b, v0.8h, #1
+ sqrshrun2 v0.8h, v0.4s, #16
+ sqrshrun2 v31.8h, v0.4s, #16
+ sqrshrun2 v0.8h, v31.4s, #16
+ sqrshrun2 v0.8h, v0.4s, #1
+ sqrshrun2 v0.4s, v0.2d, #32
+ sqrshrun2 v31.4s, v0.2d, #32
+ sqrshrun2 v0.4s, v31.2d, #32
+ sqrshrun2 v0.4s, v0.2d, #1
+
+ uqshrn v0.8b, v0.8h, #8
+ uqshrn v31.8b, v0.8h, #8
+ uqshrn v0.8b, v31.8h, #8
+ uqshrn v0.8b, v0.8h, #1
+ uqshrn v0.4h, v0.4s, #16
+ uqshrn v31.4h, v0.4s, #16
+ uqshrn v0.4h, v31.4s, #16
+ uqshrn v0.4h, v0.4s, #1
+ uqshrn v0.2s, v0.2d, #32
+ uqshrn v31.2s, v0.2d, #32
+ uqshrn v0.2s, v31.2d, #32
+ uqshrn v0.2s, v0.2d, #1
+ uqshrn2 v0.16b, v0.8h, #8
+ uqshrn2 v31.16b, v0.8h, #8
+ uqshrn2 v0.16b, v31.8h, #8
+ uqshrn2 v0.16b, v0.8h, #1
+ uqshrn2 v0.8h, v0.4s, #16
+ uqshrn2 v31.8h, v0.4s, #16
+ uqshrn2 v0.8h, v31.4s, #16
+ uqshrn2 v0.8h, v0.4s, #1
+ uqshrn2 v0.4s, v0.2d, #32
+ uqshrn2 v31.4s, v0.2d, #32
+ uqshrn2 v0.4s, v31.2d, #32
+ uqshrn2 v0.4s, v0.2d, #1
+
+ uqrshrn v0.8b, v0.8h, #8
+ uqrshrn v31.8b, v0.8h, #8
+ uqrshrn v0.8b, v31.8h, #8
+ uqrshrn v0.8b, v0.8h, #1
+ uqrshrn v0.4h, v0.4s, #16
+ uqrshrn v31.4h, v0.4s, #16
+ uqrshrn v0.4h, v31.4s, #16
+ uqrshrn v0.4h, v0.4s, #1
+ uqrshrn v0.2s, v0.2d, #32
+ uqrshrn v31.2s, v0.2d, #32
+ uqrshrn v0.2s, v31.2d, #32
+ uqrshrn v0.2s, v0.2d, #1
+ uqrshrn2 v0.16b, v0.8h, #8
+ uqrshrn2 v31.16b, v0.8h, #8
+ uqrshrn2 v0.16b, v31.8h, #8
+ uqrshrn2 v0.16b, v0.8h, #1
+ uqrshrn2 v0.8h, v0.4s, #16
+ uqrshrn2 v31.8h, v0.4s, #16
+ uqrshrn2 v0.8h, v31.4s, #16
+ uqrshrn2 v0.8h, v0.4s, #1
+ uqrshrn2 v0.4s, v0.2d, #32
+ uqrshrn2 v31.4s, v0.2d, #32
+ uqrshrn2 v0.4s, v31.2d, #32
+ uqrshrn2 v0.4s, v0.2d, #1
diff --git a/gas/testsuite/gas/aarch64/advsimd-three-same.d b/gas/testsuite/gas/aarch64/advsimd-three-same.d
new file mode 100644
index 0000000..488953a
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-three-same.d
@@ -0,0 +1,1205 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0e200400 shadd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20041f shadd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2007e0 shadd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f0400 shadd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e600400 shadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60041f shadd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6007e0 shadd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f0400 shadd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea00400 shadd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0041f shadd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea007e0 shadd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf0400 shadd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e200400 shadd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20041f shadd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2007e0 shadd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f0400 shadd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e600400 shadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60041f shadd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6007e0 shadd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f0400 shadd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea00400 shadd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0041f shadd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea007e0 shadd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf0400 shadd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e200c00 sqadd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e200c1f sqadd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e200fe0 sqadd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f0c00 sqadd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e600c00 sqadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e600c1f sqadd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e600fe0 sqadd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f0c00 sqadd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea00c00 sqadd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea00c1f sqadd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea00fe0 sqadd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf0c00 sqadd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e200c00 sqadd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e200c1f sqadd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e200fe0 sqadd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f0c00 sqadd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e600c00 sqadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e600c1f sqadd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e600fe0 sqadd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f0c00 sqadd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea00c00 sqadd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea00c1f sqadd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea00fe0 sqadd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf0c00 sqadd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee00c00 sqadd v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee00c1f sqadd v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee00fe0 sqadd v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff0c00 sqadd v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e201400 srhadd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20141f srhadd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2017e0 srhadd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f1400 srhadd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e601400 srhadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60141f srhadd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6017e0 srhadd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f1400 srhadd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea01400 srhadd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0141f srhadd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea017e0 srhadd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf1400 srhadd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e201400 srhadd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20141f srhadd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2017e0 srhadd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f1400 srhadd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e601400 srhadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60141f srhadd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6017e0 srhadd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f1400 srhadd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea01400 srhadd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0141f srhadd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea017e0 srhadd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf1400 srhadd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e201c00 and v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e201c1f and v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e201fe0 and v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f1c00 and v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 4e201c00 and v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e201c1f and v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e201fe0 and v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f1c00 and v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 0e601c00 bic v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e601c1f bic v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e601fe0 bic v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e7f1c00 bic v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 4e601c00 bic v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e601c1f bic v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e601fe0 bic v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e7f1c00 bic v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 0ea01c00 mov v0\.8b, v0\.8b
+ *[0-9a-f]+: 0ea01c1f mov v31\.8b, v0\.8b
+ *[0-9a-f]+: 0ea01fe0 orr v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0ebf1c00 orr v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 4ea01c00 mov v0\.16b, v0\.16b
+ *[0-9a-f]+: 4ea01c1f mov v31\.16b, v0\.16b
+ *[0-9a-f]+: 4ea01fe0 orr v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4ebf1c00 orr v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 0ee01c00 orn v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0ee01c1f orn v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0ee01fe0 orn v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0eff1c00 orn v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 4ee01c00 orn v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4ee01c1f orn v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4ee01fe0 orn v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4eff1c00 orn v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 0e202400 shsub v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20241f shsub v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2027e0 shsub v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f2400 shsub v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e602400 shsub v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60241f shsub v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6027e0 shsub v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f2400 shsub v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea02400 shsub v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0241f shsub v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea027e0 shsub v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf2400 shsub v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e202400 shsub v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20241f shsub v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2027e0 shsub v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f2400 shsub v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e602400 shsub v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60241f shsub v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6027e0 shsub v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f2400 shsub v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea02400 shsub v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0241f shsub v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea027e0 shsub v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf2400 shsub v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e202c00 sqsub v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e202c1f sqsub v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e202fe0 sqsub v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f2c00 sqsub v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e602c00 sqsub v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e602c1f sqsub v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e602fe0 sqsub v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f2c00 sqsub v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea02c00 sqsub v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea02c1f sqsub v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea02fe0 sqsub v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf2c00 sqsub v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e202c00 sqsub v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e202c1f sqsub v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e202fe0 sqsub v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f2c00 sqsub v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e602c00 sqsub v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e602c1f sqsub v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e602fe0 sqsub v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f2c00 sqsub v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea02c00 sqsub v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea02c1f sqsub v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea02fe0 sqsub v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf2c00 sqsub v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee02c00 sqsub v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee02c1f sqsub v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee02fe0 sqsub v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff2c00 sqsub v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e203400 cmgt v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20341f cmgt v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2037e0 cmgt v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f3400 cmgt v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e603400 cmgt v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60341f cmgt v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6037e0 cmgt v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f3400 cmgt v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea03400 cmgt v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0341f cmgt v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea037e0 cmgt v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf3400 cmgt v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e203400 cmgt v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20341f cmgt v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2037e0 cmgt v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f3400 cmgt v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e603400 cmgt v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60341f cmgt v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6037e0 cmgt v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f3400 cmgt v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea03400 cmgt v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0341f cmgt v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea037e0 cmgt v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf3400 cmgt v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee03400 cmgt v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0341f cmgt v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee037e0 cmgt v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff3400 cmgt v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e203c00 cmge v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e203c1f cmge v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e203fe0 cmge v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f3c00 cmge v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e603c00 cmge v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e603c1f cmge v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e603fe0 cmge v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f3c00 cmge v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea03c00 cmge v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea03c1f cmge v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea03fe0 cmge v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf3c00 cmge v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e203c00 cmge v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e203c1f cmge v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e203fe0 cmge v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f3c00 cmge v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e603c00 cmge v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e603c1f cmge v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e603fe0 cmge v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f3c00 cmge v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea03c00 cmge v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea03c1f cmge v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea03fe0 cmge v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf3c00 cmge v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee03c00 cmge v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee03c1f cmge v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee03fe0 cmge v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff3c00 cmge v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e204400 sshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20441f sshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2047e0 sshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f4400 sshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e604400 sshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60441f sshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6047e0 sshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f4400 sshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea04400 sshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0441f sshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea047e0 sshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf4400 sshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e204400 sshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20441f sshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2047e0 sshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f4400 sshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e604400 sshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60441f sshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6047e0 sshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f4400 sshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea04400 sshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0441f sshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea047e0 sshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf4400 sshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee04400 sshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0441f sshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee047e0 sshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff4400 sshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e204c00 sqshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e204c1f sqshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e204fe0 sqshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f4c00 sqshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e604c00 sqshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e604c1f sqshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e604fe0 sqshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f4c00 sqshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea04c00 sqshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea04c1f sqshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea04fe0 sqshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf4c00 sqshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e204c00 sqshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e204c1f sqshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e204fe0 sqshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f4c00 sqshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e604c00 sqshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e604c1f sqshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e604fe0 sqshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f4c00 sqshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea04c00 sqshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea04c1f sqshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea04fe0 sqshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf4c00 sqshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee04c00 sqshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee04c1f sqshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee04fe0 sqshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff4c00 sqshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e205400 srshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20541f srshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2057e0 srshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f5400 srshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e605400 srshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60541f srshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6057e0 srshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f5400 srshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea05400 srshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0541f srshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea057e0 srshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf5400 srshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e205400 srshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20541f srshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2057e0 srshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f5400 srshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e605400 srshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60541f srshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6057e0 srshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f5400 srshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea05400 srshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0541f srshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea057e0 srshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf5400 srshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee05400 srshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0541f srshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee057e0 srshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff5400 srshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e205c00 sqrshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e205c1f sqrshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e205fe0 sqrshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f5c00 sqrshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e605c00 sqrshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e605c1f sqrshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e605fe0 sqrshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f5c00 sqrshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea05c00 sqrshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea05c1f sqrshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea05fe0 sqrshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf5c00 sqrshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e205c00 sqrshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e205c1f sqrshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e205fe0 sqrshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f5c00 sqrshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e605c00 sqrshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e605c1f sqrshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e605fe0 sqrshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f5c00 sqrshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea05c00 sqrshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea05c1f sqrshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea05fe0 sqrshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf5c00 sqrshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee05c00 sqrshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee05c1f sqrshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee05fe0 sqrshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff5c00 sqrshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e206400 smax v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20641f smax v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2067e0 smax v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f6400 smax v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e606400 smax v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60641f smax v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6067e0 smax v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f6400 smax v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea06400 smax v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0641f smax v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea067e0 smax v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf6400 smax v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e206400 smax v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20641f smax v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2067e0 smax v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f6400 smax v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e606400 smax v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60641f smax v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6067e0 smax v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f6400 smax v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea06400 smax v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0641f smax v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea067e0 smax v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf6400 smax v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e206c00 smin v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e206c1f smin v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e206fe0 smin v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f6c00 smin v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e606c00 smin v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e606c1f smin v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e606fe0 smin v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f6c00 smin v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea06c00 smin v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea06c1f smin v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea06fe0 smin v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf6c00 smin v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e206c00 smin v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e206c1f smin v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e206fe0 smin v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f6c00 smin v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e606c00 smin v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e606c1f smin v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e606fe0 smin v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f6c00 smin v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea06c00 smin v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea06c1f smin v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea06fe0 smin v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf6c00 smin v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e207400 sabd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20741f sabd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2077e0 sabd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f7400 sabd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e607400 sabd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60741f sabd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6077e0 sabd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f7400 sabd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea07400 sabd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0741f sabd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea077e0 sabd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf7400 sabd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e207400 sabd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20741f sabd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2077e0 sabd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f7400 sabd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e607400 sabd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60741f sabd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6077e0 sabd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f7400 sabd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea07400 sabd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0741f sabd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea077e0 sabd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf7400 sabd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e207c00 saba v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e207c1f saba v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e207fe0 saba v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f7c00 saba v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e607c00 saba v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e607c1f saba v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e607fe0 saba v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f7c00 saba v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea07c00 saba v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea07c1f saba v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea07fe0 saba v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf7c00 saba v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e207c00 saba v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e207c1f saba v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e207fe0 saba v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f7c00 saba v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e607c00 saba v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e607c1f saba v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e607fe0 saba v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f7c00 saba v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea07c00 saba v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea07c1f saba v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea07fe0 saba v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf7c00 saba v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e208400 add v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20841f add v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2087e0 add v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f8400 add v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e608400 add v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60841f add v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6087e0 add v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f8400 add v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea08400 add v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0841f add v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea087e0 add v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf8400 add v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e208400 add v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20841f add v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2087e0 add v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f8400 add v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e608400 add v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60841f add v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6087e0 add v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f8400 add v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea08400 add v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0841f add v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea087e0 add v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf8400 add v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee08400 add v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0841f add v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee087e0 add v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff8400 add v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e208c00 cmtst v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e208c1f cmtst v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e208fe0 cmtst v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f8c00 cmtst v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e608c00 cmtst v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e608c1f cmtst v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e608fe0 cmtst v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f8c00 cmtst v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea08c00 cmtst v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea08c1f cmtst v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea08fe0 cmtst v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf8c00 cmtst v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e208c00 cmtst v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e208c1f cmtst v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e208fe0 cmtst v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f8c00 cmtst v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e608c00 cmtst v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e608c1f cmtst v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e608fe0 cmtst v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f8c00 cmtst v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea08c00 cmtst v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea08c1f cmtst v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea08fe0 cmtst v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf8c00 cmtst v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee08c00 cmtst v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee08c1f cmtst v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee08fe0 cmtst v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4eff8c00 cmtst v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e209400 mla v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20941f mla v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2097e0 mla v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f9400 mla v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e609400 mla v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60941f mla v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6097e0 mla v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f9400 mla v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea09400 mla v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0941f mla v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea097e0 mla v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf9400 mla v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e209400 mla v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20941f mla v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2097e0 mla v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f9400 mla v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e609400 mla v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60941f mla v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6097e0 mla v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f9400 mla v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea09400 mla v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0941f mla v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea097e0 mla v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf9400 mla v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e209c00 mul v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e209c1f mul v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e209fe0 mul v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f9c00 mul v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e609c00 mul v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e609c1f mul v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e609fe0 mul v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f9c00 mul v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea09c00 mul v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea09c1f mul v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea09fe0 mul v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf9c00 mul v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e209c00 mul v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e209c1f mul v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e209fe0 mul v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f9c00 mul v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e609c00 mul v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e609c1f mul v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e609fe0 mul v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f9c00 mul v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea09c00 mul v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea09c1f mul v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea09fe0 mul v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf9c00 mul v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e20a400 smaxp v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20a41f smaxp v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20a7e0 smaxp v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3fa400 smaxp v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e60a400 smaxp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60a41f smaxp v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60a7e0 smaxp v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fa400 smaxp v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0a400 smaxp v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0a41f smaxp v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0a7e0 smaxp v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfa400 smaxp v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e20a400 smaxp v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20a41f smaxp v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20a7e0 smaxp v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3fa400 smaxp v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e60a400 smaxp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60a41f smaxp v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60a7e0 smaxp v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fa400 smaxp v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0a400 smaxp v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0a41f smaxp v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0a7e0 smaxp v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfa400 smaxp v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e20ac00 sminp v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20ac1f sminp v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20afe0 sminp v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3fac00 sminp v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e60ac00 sminp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60ac1f sminp v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60afe0 sminp v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fac00 sminp v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0ac00 sminp v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0ac1f sminp v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0afe0 sminp v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfac00 sminp v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e20ac00 sminp v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20ac1f sminp v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20afe0 sminp v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3fac00 sminp v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e60ac00 sminp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60ac1f sminp v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60afe0 sminp v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fac00 sminp v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0ac00 sminp v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0ac1f sminp v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0afe0 sminp v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfac00 sminp v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e60b400 sqdmulh v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60b41f sqdmulh v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60b7e0 sqdmulh v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fb400 sqdmulh v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0b400 sqdmulh v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0b41f sqdmulh v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0b7e0 sqdmulh v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfb400 sqdmulh v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e60b400 sqdmulh v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60b41f sqdmulh v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60b7e0 sqdmulh v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fb400 sqdmulh v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0b400 sqdmulh v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0b41f sqdmulh v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0b7e0 sqdmulh v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfb400 sqdmulh v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e20bc00 addp v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20bc1f addp v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20bfe0 addp v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3fbc00 addp v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e60bc00 addp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60bc1f addp v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60bfe0 addp v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fbc00 addp v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0bc00 addp v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0bc1f addp v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0bfe0 addp v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfbc00 addp v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e20bc00 addp v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20bc1f addp v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20bfe0 addp v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3fbc00 addp v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e60bc00 addp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60bc1f addp v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60bfe0 addp v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fbc00 addp v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0bc00 addp v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0bc1f addp v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0bfe0 addp v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfbc00 addp v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee0bc00 addp v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0bc1f addp v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0bfe0 addp v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4effbc00 addp v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e200400 uhadd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20041f uhadd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2007e0 uhadd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f0400 uhadd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e600400 uhadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60041f uhadd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6007e0 uhadd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f0400 uhadd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea00400 uhadd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0041f uhadd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea007e0 uhadd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf0400 uhadd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e200400 uhadd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20041f uhadd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2007e0 uhadd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f0400 uhadd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e600400 uhadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60041f uhadd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6007e0 uhadd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f0400 uhadd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea00400 uhadd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0041f uhadd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea007e0 uhadd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf0400 uhadd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e200c00 uqadd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e200c1f uqadd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e200fe0 uqadd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f0c00 uqadd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e600c00 uqadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e600c1f uqadd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e600fe0 uqadd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f0c00 uqadd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea00c00 uqadd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea00c1f uqadd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea00fe0 uqadd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf0c00 uqadd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e200c00 uqadd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e200c1f uqadd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e200fe0 uqadd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f0c00 uqadd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e600c00 uqadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e600c1f uqadd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e600fe0 uqadd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f0c00 uqadd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea00c00 uqadd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea00c1f uqadd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea00fe0 uqadd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf0c00 uqadd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee00c00 uqadd v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee00c1f uqadd v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee00fe0 uqadd v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff0c00 uqadd v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e201400 urhadd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20141f urhadd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2017e0 urhadd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f1400 urhadd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e601400 urhadd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60141f urhadd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6017e0 urhadd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f1400 urhadd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea01400 urhadd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0141f urhadd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea017e0 urhadd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf1400 urhadd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e201400 urhadd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20141f urhadd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2017e0 urhadd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f1400 urhadd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e601400 urhadd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60141f urhadd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6017e0 urhadd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f1400 urhadd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea01400 urhadd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0141f urhadd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea017e0 urhadd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf1400 urhadd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e201c00 eor v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e201c1f eor v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e201fe0 eor v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f1c00 eor v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 6e201c00 eor v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e201c1f eor v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e201fe0 eor v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f1c00 eor v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 2e601c00 bsl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e601c1f bsl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e601fe0 bsl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e7f1c00 bsl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 6e601c00 bsl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e601c1f bsl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e601fe0 bsl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e7f1c00 bsl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 2ea01c00 bit v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2ea01c1f bit v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2ea01fe0 bit v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2ebf1c00 bit v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 6ea01c00 bit v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6ea01c1f bit v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6ea01fe0 bit v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6ebf1c00 bit v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 2ee01c00 bif v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2ee01c1f bif v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2ee01fe0 bif v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2eff1c00 bif v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 6ee01c00 bif v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6ee01c1f bif v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6ee01fe0 bif v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6eff1c00 bif v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 2e202400 uhsub v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20241f uhsub v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2027e0 uhsub v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f2400 uhsub v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e602400 uhsub v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60241f uhsub v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6027e0 uhsub v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f2400 uhsub v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea02400 uhsub v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0241f uhsub v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea027e0 uhsub v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf2400 uhsub v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e202400 uhsub v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20241f uhsub v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2027e0 uhsub v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f2400 uhsub v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e602400 uhsub v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60241f uhsub v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6027e0 uhsub v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f2400 uhsub v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea02400 uhsub v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0241f uhsub v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea027e0 uhsub v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf2400 uhsub v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e202c00 uqsub v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e202c1f uqsub v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e202fe0 uqsub v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f2c00 uqsub v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e602c00 uqsub v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e602c1f uqsub v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e602fe0 uqsub v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f2c00 uqsub v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea02c00 uqsub v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea02c1f uqsub v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea02fe0 uqsub v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf2c00 uqsub v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e202c00 uqsub v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e202c1f uqsub v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e202fe0 uqsub v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f2c00 uqsub v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e602c00 uqsub v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e602c1f uqsub v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e602fe0 uqsub v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f2c00 uqsub v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea02c00 uqsub v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea02c1f uqsub v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea02fe0 uqsub v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf2c00 uqsub v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee02c00 uqsub v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee02c1f uqsub v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee02fe0 uqsub v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff2c00 uqsub v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e203400 cmhi v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20341f cmhi v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2037e0 cmhi v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f3400 cmhi v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e603400 cmhi v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60341f cmhi v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6037e0 cmhi v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f3400 cmhi v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea03400 cmhi v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0341f cmhi v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea037e0 cmhi v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf3400 cmhi v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e203400 cmhi v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20341f cmhi v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2037e0 cmhi v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f3400 cmhi v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e603400 cmhi v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60341f cmhi v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6037e0 cmhi v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f3400 cmhi v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea03400 cmhi v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0341f cmhi v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea037e0 cmhi v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf3400 cmhi v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee03400 cmhi v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0341f cmhi v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee037e0 cmhi v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff3400 cmhi v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e203c00 cmhs v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e203c1f cmhs v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e203fe0 cmhs v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f3c00 cmhs v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e603c00 cmhs v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e603c1f cmhs v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e603fe0 cmhs v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f3c00 cmhs v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea03c00 cmhs v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea03c1f cmhs v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea03fe0 cmhs v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf3c00 cmhs v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e203c00 cmhs v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e203c1f cmhs v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e203fe0 cmhs v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f3c00 cmhs v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e603c00 cmhs v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e603c1f cmhs v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e603fe0 cmhs v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f3c00 cmhs v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea03c00 cmhs v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea03c1f cmhs v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea03fe0 cmhs v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf3c00 cmhs v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee03c00 cmhs v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee03c1f cmhs v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee03fe0 cmhs v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff3c00 cmhs v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e204400 ushl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20441f ushl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2047e0 ushl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f4400 ushl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e604400 ushl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60441f ushl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6047e0 ushl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f4400 ushl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea04400 ushl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0441f ushl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea047e0 ushl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf4400 ushl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e204400 ushl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20441f ushl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2047e0 ushl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f4400 ushl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e604400 ushl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60441f ushl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6047e0 ushl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f4400 ushl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea04400 ushl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0441f ushl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea047e0 ushl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf4400 ushl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee04400 ushl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0441f ushl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee047e0 ushl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff4400 ushl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e204c00 uqshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e204c1f uqshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e204fe0 uqshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f4c00 uqshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e604c00 uqshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e604c1f uqshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e604fe0 uqshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f4c00 uqshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea04c00 uqshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea04c1f uqshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea04fe0 uqshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf4c00 uqshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e204c00 uqshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e204c1f uqshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e204fe0 uqshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f4c00 uqshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e604c00 uqshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e604c1f uqshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e604fe0 uqshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f4c00 uqshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea04c00 uqshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea04c1f uqshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea04fe0 uqshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf4c00 uqshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee04c00 uqshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee04c1f uqshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee04fe0 uqshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff4c00 uqshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e205400 urshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20541f urshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2057e0 urshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f5400 urshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e605400 urshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60541f urshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6057e0 urshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f5400 urshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea05400 urshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0541f urshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea057e0 urshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf5400 urshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e205400 urshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20541f urshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2057e0 urshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f5400 urshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e605400 urshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60541f urshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6057e0 urshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f5400 urshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea05400 urshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0541f urshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea057e0 urshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf5400 urshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee05400 urshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0541f urshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee057e0 urshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff5400 urshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e205c00 uqrshl v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e205c1f uqrshl v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e205fe0 uqrshl v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f5c00 uqrshl v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e605c00 uqrshl v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e605c1f uqrshl v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e605fe0 uqrshl v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f5c00 uqrshl v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea05c00 uqrshl v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea05c1f uqrshl v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea05fe0 uqrshl v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf5c00 uqrshl v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e205c00 uqrshl v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e205c1f uqrshl v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e205fe0 uqrshl v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f5c00 uqrshl v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e605c00 uqrshl v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e605c1f uqrshl v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e605fe0 uqrshl v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f5c00 uqrshl v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea05c00 uqrshl v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea05c1f uqrshl v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea05fe0 uqrshl v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf5c00 uqrshl v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee05c00 uqrshl v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee05c1f uqrshl v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee05fe0 uqrshl v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff5c00 uqrshl v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e206400 umax v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20641f umax v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2067e0 umax v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f6400 umax v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e606400 umax v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60641f umax v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6067e0 umax v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f6400 umax v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea06400 umax v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0641f umax v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea067e0 umax v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf6400 umax v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e206400 umax v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20641f umax v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2067e0 umax v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f6400 umax v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e606400 umax v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60641f umax v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6067e0 umax v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f6400 umax v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea06400 umax v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0641f umax v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea067e0 umax v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf6400 umax v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e206c00 umin v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e206c1f umin v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e206fe0 umin v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f6c00 umin v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e606c00 umin v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e606c1f umin v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e606fe0 umin v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f6c00 umin v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea06c00 umin v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea06c1f umin v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea06fe0 umin v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf6c00 umin v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e206c00 umin v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e206c1f umin v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e206fe0 umin v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f6c00 umin v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e606c00 umin v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e606c1f umin v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e606fe0 umin v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f6c00 umin v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea06c00 umin v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea06c1f umin v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea06fe0 umin v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf6c00 umin v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e207400 uabd v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20741f uabd v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2077e0 uabd v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f7400 uabd v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e607400 uabd v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60741f uabd v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6077e0 uabd v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f7400 uabd v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea07400 uabd v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0741f uabd v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea077e0 uabd v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf7400 uabd v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e207400 uabd v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20741f uabd v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2077e0 uabd v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f7400 uabd v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e607400 uabd v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60741f uabd v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6077e0 uabd v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f7400 uabd v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea07400 uabd v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0741f uabd v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea077e0 uabd v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf7400 uabd v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e207c00 uaba v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e207c1f uaba v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e207fe0 uaba v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f7c00 uaba v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e607c00 uaba v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e607c1f uaba v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e607fe0 uaba v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f7c00 uaba v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea07c00 uaba v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea07c1f uaba v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea07fe0 uaba v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf7c00 uaba v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e207c00 uaba v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e207c1f uaba v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e207fe0 uaba v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f7c00 uaba v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e607c00 uaba v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e607c1f uaba v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e607fe0 uaba v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f7c00 uaba v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea07c00 uaba v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea07c1f uaba v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea07fe0 uaba v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf7c00 uaba v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e208400 sub v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20841f sub v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2087e0 sub v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f8400 sub v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e608400 sub v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60841f sub v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6087e0 sub v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f8400 sub v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea08400 sub v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0841f sub v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea087e0 sub v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf8400 sub v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e208400 sub v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20841f sub v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2087e0 sub v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f8400 sub v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e608400 sub v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60841f sub v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6087e0 sub v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f8400 sub v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea08400 sub v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0841f sub v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea087e0 sub v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf8400 sub v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee08400 sub v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0841f sub v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee087e0 sub v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff8400 sub v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e208c00 cmeq v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e208c1f cmeq v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e208fe0 cmeq v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f8c00 cmeq v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e608c00 cmeq v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e608c1f cmeq v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e608fe0 cmeq v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f8c00 cmeq v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea08c00 cmeq v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea08c1f cmeq v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea08fe0 cmeq v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf8c00 cmeq v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e208c00 cmeq v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e208c1f cmeq v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e208fe0 cmeq v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f8c00 cmeq v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e608c00 cmeq v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e608c1f cmeq v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e608fe0 cmeq v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f8c00 cmeq v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea08c00 cmeq v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea08c1f cmeq v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea08fe0 cmeq v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf8c00 cmeq v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee08c00 cmeq v0\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee08c1f cmeq v31\.2d, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee08fe0 cmeq v0\.2d, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6eff8c00 cmeq v0\.2d, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e209400 mls v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20941f mls v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2097e0 mls v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f9400 mls v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e609400 mls v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60941f mls v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6097e0 mls v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f9400 mls v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea09400 mls v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0941f mls v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea097e0 mls v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf9400 mls v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e209400 mls v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20941f mls v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2097e0 mls v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f9400 mls v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e609400 mls v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60941f mls v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6097e0 mls v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f9400 mls v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea09400 mls v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0941f mls v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea097e0 mls v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf9400 mls v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e209c00 pmul v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e209c1f pmul v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e209fe0 pmul v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f9c00 pmul v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 6e209c00 pmul v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e209c1f pmul v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e209fe0 pmul v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f9c00 pmul v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 2e20a400 umaxp v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20a41f umaxp v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20a7e0 umaxp v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3fa400 umaxp v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e60a400 umaxp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60a41f umaxp v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60a7e0 umaxp v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7fa400 umaxp v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea0a400 umaxp v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0a41f umaxp v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0a7e0 umaxp v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebfa400 umaxp v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e20a400 umaxp v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20a41f umaxp v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20a7e0 umaxp v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3fa400 umaxp v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e60a400 umaxp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60a41f umaxp v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60a7e0 umaxp v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7fa400 umaxp v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea0a400 umaxp v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0a41f umaxp v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0a7e0 umaxp v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebfa400 umaxp v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e20ac00 uminp v0\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20ac1f uminp v31\.8b, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20afe0 uminp v0\.8b, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3fac00 uminp v0\.8b, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e60ac00 uminp v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60ac1f uminp v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60afe0 uminp v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7fac00 uminp v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea0ac00 uminp v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0ac1f uminp v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0afe0 uminp v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebfac00 uminp v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e20ac00 uminp v0\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20ac1f uminp v31\.16b, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20afe0 uminp v0\.16b, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3fac00 uminp v0\.16b, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e60ac00 uminp v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60ac1f uminp v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60afe0 uminp v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7fac00 uminp v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea0ac00 uminp v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0ac1f uminp v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0afe0 uminp v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebfac00 uminp v0\.4s, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e60b400 sqrdmulh v0\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60b41f sqrdmulh v31\.4h, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60b7e0 sqrdmulh v0\.4h, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7fb400 sqrdmulh v0\.4h, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea0b400 sqrdmulh v0\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0b41f sqrdmulh v31\.2s, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0b7e0 sqrdmulh v0\.2s, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebfb400 sqrdmulh v0\.2s, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e60b400 sqrdmulh v0\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60b41f sqrdmulh v31\.8h, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60b7e0 sqrdmulh v0\.8h, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7fb400 sqrdmulh v0\.8h, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea0b400 sqrdmulh v0\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0b41f sqrdmulh v31\.4s, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0b7e0 sqrdmulh v0\.4s, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebfb400 sqrdmulh v0\.4s, v0\.4s, v31\.4s
diff --git a/gas/testsuite/gas/aarch64/advsimd-three-same.s b/gas/testsuite/gas/aarch64/advsimd-three-same.s
new file mode 100644
index 0000000..1a01fc0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-three-same.s
@@ -0,0 +1,1248 @@
+ shadd v0.8b, v0.8b, v0.8b
+ shadd v31.8b, v0.8b, v0.8b
+ shadd v0.8b, v31.8b, v0.8b
+ shadd v0.8b, v0.8b, v31.8b
+ shadd v0.4h, v0.4h, v0.4h
+ shadd v31.4h, v0.4h, v0.4h
+ shadd v0.4h, v31.4h, v0.4h
+ shadd v0.4h, v0.4h, v31.4h
+ shadd v0.2s, v0.2s, v0.2s
+ shadd v31.2s, v0.2s, v0.2s
+ shadd v0.2s, v31.2s, v0.2s
+ shadd v0.2s, v0.2s, v31.2s
+ shadd v0.16b, v0.16b, v0.16b
+ shadd v31.16b, v0.16b, v0.16b
+ shadd v0.16b, v31.16b, v0.16b
+ shadd v0.16b, v0.16b, v31.16b
+ shadd v0.8h, v0.8h, v0.8h
+ shadd v31.8h, v0.8h, v0.8h
+ shadd v0.8h, v31.8h, v0.8h
+ shadd v0.8h, v0.8h, v31.8h
+ shadd v0.4s, v0.4s, v0.4s
+ shadd v31.4s, v0.4s, v0.4s
+ shadd v0.4s, v31.4s, v0.4s
+ shadd v0.4s, v0.4s, v31.4s
+
+ sqadd v0.8b, v0.8b, v0.8b
+ sqadd v31.8b, v0.8b, v0.8b
+ sqadd v0.8b, v31.8b, v0.8b
+ sqadd v0.8b, v0.8b, v31.8b
+ sqadd v0.4h, v0.4h, v0.4h
+ sqadd v31.4h, v0.4h, v0.4h
+ sqadd v0.4h, v31.4h, v0.4h
+ sqadd v0.4h, v0.4h, v31.4h
+ sqadd v0.2s, v0.2s, v0.2s
+ sqadd v31.2s, v0.2s, v0.2s
+ sqadd v0.2s, v31.2s, v0.2s
+ sqadd v0.2s, v0.2s, v31.2s
+ sqadd v0.16b, v0.16b, v0.16b
+ sqadd v31.16b, v0.16b, v0.16b
+ sqadd v0.16b, v31.16b, v0.16b
+ sqadd v0.16b, v0.16b, v31.16b
+ sqadd v0.8h, v0.8h, v0.8h
+ sqadd v31.8h, v0.8h, v0.8h
+ sqadd v0.8h, v31.8h, v0.8h
+ sqadd v0.8h, v0.8h, v31.8h
+ sqadd v0.4s, v0.4s, v0.4s
+ sqadd v31.4s, v0.4s, v0.4s
+ sqadd v0.4s, v31.4s, v0.4s
+ sqadd v0.4s, v0.4s, v31.4s
+ sqadd v0.2d, v0.2d, v0.2d
+ sqadd v31.2d, v0.2d, v0.2d
+ sqadd v0.2d, v31.2d, v0.2d
+ sqadd v0.2d, v0.2d, v31.2d
+
+ srhadd v0.8b, v0.8b, v0.8b
+ srhadd v31.8b, v0.8b, v0.8b
+ srhadd v0.8b, v31.8b, v0.8b
+ srhadd v0.8b, v0.8b, v31.8b
+ srhadd v0.4h, v0.4h, v0.4h
+ srhadd v31.4h, v0.4h, v0.4h
+ srhadd v0.4h, v31.4h, v0.4h
+ srhadd v0.4h, v0.4h, v31.4h
+ srhadd v0.2s, v0.2s, v0.2s
+ srhadd v31.2s, v0.2s, v0.2s
+ srhadd v0.2s, v31.2s, v0.2s
+ srhadd v0.2s, v0.2s, v31.2s
+ srhadd v0.16b, v0.16b, v0.16b
+ srhadd v31.16b, v0.16b, v0.16b
+ srhadd v0.16b, v31.16b, v0.16b
+ srhadd v0.16b, v0.16b, v31.16b
+ srhadd v0.8h, v0.8h, v0.8h
+ srhadd v31.8h, v0.8h, v0.8h
+ srhadd v0.8h, v31.8h, v0.8h
+ srhadd v0.8h, v0.8h, v31.8h
+ srhadd v0.4s, v0.4s, v0.4s
+ srhadd v31.4s, v0.4s, v0.4s
+ srhadd v0.4s, v31.4s, v0.4s
+ srhadd v0.4s, v0.4s, v31.4s
+
+ and v0.8b, v0.8b, v0.8b
+ and v31.8b, v0.8b, v0.8b
+ and v0.8b, v31.8b, v0.8b
+ and v0.8b, v0.8b, v31.8b
+ and v0.16b, v0.16b, v0.16b
+ and v31.16b, v0.16b, v0.16b
+ and v0.16b, v31.16b, v0.16b
+ and v0.16b, v0.16b, v31.16b
+
+ bic v0.8b, v0.8b, v0.8b
+ bic v31.8b, v0.8b, v0.8b
+ bic v0.8b, v31.8b, v0.8b
+ bic v0.8b, v0.8b, v31.8b
+ bic v0.16b, v0.16b, v0.16b
+ bic v31.16b, v0.16b, v0.16b
+ bic v0.16b, v31.16b, v0.16b
+ bic v0.16b, v0.16b, v31.16b
+
+ orr v0.8b, v0.8b, v0.8b
+ orr v31.8b, v0.8b, v0.8b
+ orr v0.8b, v31.8b, v0.8b
+ orr v0.8b, v0.8b, v31.8b
+ orr v0.16b, v0.16b, v0.16b
+ orr v31.16b, v0.16b, v0.16b
+ orr v0.16b, v31.16b, v0.16b
+ orr v0.16b, v0.16b, v31.16b
+
+ orn v0.8b, v0.8b, v0.8b
+ orn v31.8b, v0.8b, v0.8b
+ orn v0.8b, v31.8b, v0.8b
+ orn v0.8b, v0.8b, v31.8b
+ orn v0.16b, v0.16b, v0.16b
+ orn v31.16b, v0.16b, v0.16b
+ orn v0.16b, v31.16b, v0.16b
+ orn v0.16b, v0.16b, v31.16b
+
+ shsub v0.8b, v0.8b, v0.8b
+ shsub v31.8b, v0.8b, v0.8b
+ shsub v0.8b, v31.8b, v0.8b
+ shsub v0.8b, v0.8b, v31.8b
+ shsub v0.4h, v0.4h, v0.4h
+ shsub v31.4h, v0.4h, v0.4h
+ shsub v0.4h, v31.4h, v0.4h
+ shsub v0.4h, v0.4h, v31.4h
+ shsub v0.2s, v0.2s, v0.2s
+ shsub v31.2s, v0.2s, v0.2s
+ shsub v0.2s, v31.2s, v0.2s
+ shsub v0.2s, v0.2s, v31.2s
+ shsub v0.16b, v0.16b, v0.16b
+ shsub v31.16b, v0.16b, v0.16b
+ shsub v0.16b, v31.16b, v0.16b
+ shsub v0.16b, v0.16b, v31.16b
+ shsub v0.8h, v0.8h, v0.8h
+ shsub v31.8h, v0.8h, v0.8h
+ shsub v0.8h, v31.8h, v0.8h
+ shsub v0.8h, v0.8h, v31.8h
+ shsub v0.4s, v0.4s, v0.4s
+ shsub v31.4s, v0.4s, v0.4s
+ shsub v0.4s, v31.4s, v0.4s
+ shsub v0.4s, v0.4s, v31.4s
+
+ sqsub v0.8b, v0.8b, v0.8b
+ sqsub v31.8b, v0.8b, v0.8b
+ sqsub v0.8b, v31.8b, v0.8b
+ sqsub v0.8b, v0.8b, v31.8b
+ sqsub v0.4h, v0.4h, v0.4h
+ sqsub v31.4h, v0.4h, v0.4h
+ sqsub v0.4h, v31.4h, v0.4h
+ sqsub v0.4h, v0.4h, v31.4h
+ sqsub v0.2s, v0.2s, v0.2s
+ sqsub v31.2s, v0.2s, v0.2s
+ sqsub v0.2s, v31.2s, v0.2s
+ sqsub v0.2s, v0.2s, v31.2s
+ sqsub v0.16b, v0.16b, v0.16b
+ sqsub v31.16b, v0.16b, v0.16b
+ sqsub v0.16b, v31.16b, v0.16b
+ sqsub v0.16b, v0.16b, v31.16b
+ sqsub v0.8h, v0.8h, v0.8h
+ sqsub v31.8h, v0.8h, v0.8h
+ sqsub v0.8h, v31.8h, v0.8h
+ sqsub v0.8h, v0.8h, v31.8h
+ sqsub v0.4s, v0.4s, v0.4s
+ sqsub v31.4s, v0.4s, v0.4s
+ sqsub v0.4s, v31.4s, v0.4s
+ sqsub v0.4s, v0.4s, v31.4s
+ sqsub v0.2d, v0.2d, v0.2d
+ sqsub v31.2d, v0.2d, v0.2d
+ sqsub v0.2d, v31.2d, v0.2d
+ sqsub v0.2d, v0.2d, v31.2d
+
+ cmgt v0.8b, v0.8b, v0.8b
+ cmgt v31.8b, v0.8b, v0.8b
+ cmgt v0.8b, v31.8b, v0.8b
+ cmgt v0.8b, v0.8b, v31.8b
+ cmgt v0.4h, v0.4h, v0.4h
+ cmgt v31.4h, v0.4h, v0.4h
+ cmgt v0.4h, v31.4h, v0.4h
+ cmgt v0.4h, v0.4h, v31.4h
+ cmgt v0.2s, v0.2s, v0.2s
+ cmgt v31.2s, v0.2s, v0.2s
+ cmgt v0.2s, v31.2s, v0.2s
+ cmgt v0.2s, v0.2s, v31.2s
+ cmgt v0.16b, v0.16b, v0.16b
+ cmgt v31.16b, v0.16b, v0.16b
+ cmgt v0.16b, v31.16b, v0.16b
+ cmgt v0.16b, v0.16b, v31.16b
+ cmgt v0.8h, v0.8h, v0.8h
+ cmgt v31.8h, v0.8h, v0.8h
+ cmgt v0.8h, v31.8h, v0.8h
+ cmgt v0.8h, v0.8h, v31.8h
+ cmgt v0.4s, v0.4s, v0.4s
+ cmgt v31.4s, v0.4s, v0.4s
+ cmgt v0.4s, v31.4s, v0.4s
+ cmgt v0.4s, v0.4s, v31.4s
+ cmgt v0.2d, v0.2d, v0.2d
+ cmgt v31.2d, v0.2d, v0.2d
+ cmgt v0.2d, v31.2d, v0.2d
+ cmgt v0.2d, v0.2d, v31.2d
+
+ cmge v0.8b, v0.8b, v0.8b
+ cmge v31.8b, v0.8b, v0.8b
+ cmge v0.8b, v31.8b, v0.8b
+ cmge v0.8b, v0.8b, v31.8b
+ cmge v0.4h, v0.4h, v0.4h
+ cmge v31.4h, v0.4h, v0.4h
+ cmge v0.4h, v31.4h, v0.4h
+ cmge v0.4h, v0.4h, v31.4h
+ cmge v0.2s, v0.2s, v0.2s
+ cmge v31.2s, v0.2s, v0.2s
+ cmge v0.2s, v31.2s, v0.2s
+ cmge v0.2s, v0.2s, v31.2s
+ cmge v0.16b, v0.16b, v0.16b
+ cmge v31.16b, v0.16b, v0.16b
+ cmge v0.16b, v31.16b, v0.16b
+ cmge v0.16b, v0.16b, v31.16b
+ cmge v0.8h, v0.8h, v0.8h
+ cmge v31.8h, v0.8h, v0.8h
+ cmge v0.8h, v31.8h, v0.8h
+ cmge v0.8h, v0.8h, v31.8h
+ cmge v0.4s, v0.4s, v0.4s
+ cmge v31.4s, v0.4s, v0.4s
+ cmge v0.4s, v31.4s, v0.4s
+ cmge v0.4s, v0.4s, v31.4s
+ cmge v0.2d, v0.2d, v0.2d
+ cmge v31.2d, v0.2d, v0.2d
+ cmge v0.2d, v31.2d, v0.2d
+ cmge v0.2d, v0.2d, v31.2d
+
+ sshl v0.8b, v0.8b, v0.8b
+ sshl v31.8b, v0.8b, v0.8b
+ sshl v0.8b, v31.8b, v0.8b
+ sshl v0.8b, v0.8b, v31.8b
+ sshl v0.4h, v0.4h, v0.4h
+ sshl v31.4h, v0.4h, v0.4h
+ sshl v0.4h, v31.4h, v0.4h
+ sshl v0.4h, v0.4h, v31.4h
+ sshl v0.2s, v0.2s, v0.2s
+ sshl v31.2s, v0.2s, v0.2s
+ sshl v0.2s, v31.2s, v0.2s
+ sshl v0.2s, v0.2s, v31.2s
+ sshl v0.16b, v0.16b, v0.16b
+ sshl v31.16b, v0.16b, v0.16b
+ sshl v0.16b, v31.16b, v0.16b
+ sshl v0.16b, v0.16b, v31.16b
+ sshl v0.8h, v0.8h, v0.8h
+ sshl v31.8h, v0.8h, v0.8h
+ sshl v0.8h, v31.8h, v0.8h
+ sshl v0.8h, v0.8h, v31.8h
+ sshl v0.4s, v0.4s, v0.4s
+ sshl v31.4s, v0.4s, v0.4s
+ sshl v0.4s, v31.4s, v0.4s
+ sshl v0.4s, v0.4s, v31.4s
+ sshl v0.2d, v0.2d, v0.2d
+ sshl v31.2d, v0.2d, v0.2d
+ sshl v0.2d, v31.2d, v0.2d
+ sshl v0.2d, v0.2d, v31.2d
+
+ sqshl v0.8b, v0.8b, v0.8b
+ sqshl v31.8b, v0.8b, v0.8b
+ sqshl v0.8b, v31.8b, v0.8b
+ sqshl v0.8b, v0.8b, v31.8b
+ sqshl v0.4h, v0.4h, v0.4h
+ sqshl v31.4h, v0.4h, v0.4h
+ sqshl v0.4h, v31.4h, v0.4h
+ sqshl v0.4h, v0.4h, v31.4h
+ sqshl v0.2s, v0.2s, v0.2s
+ sqshl v31.2s, v0.2s, v0.2s
+ sqshl v0.2s, v31.2s, v0.2s
+ sqshl v0.2s, v0.2s, v31.2s
+ sqshl v0.16b, v0.16b, v0.16b
+ sqshl v31.16b, v0.16b, v0.16b
+ sqshl v0.16b, v31.16b, v0.16b
+ sqshl v0.16b, v0.16b, v31.16b
+ sqshl v0.8h, v0.8h, v0.8h
+ sqshl v31.8h, v0.8h, v0.8h
+ sqshl v0.8h, v31.8h, v0.8h
+ sqshl v0.8h, v0.8h, v31.8h
+ sqshl v0.4s, v0.4s, v0.4s
+ sqshl v31.4s, v0.4s, v0.4s
+ sqshl v0.4s, v31.4s, v0.4s
+ sqshl v0.4s, v0.4s, v31.4s
+ sqshl v0.2d, v0.2d, v0.2d
+ sqshl v31.2d, v0.2d, v0.2d
+ sqshl v0.2d, v31.2d, v0.2d
+ sqshl v0.2d, v0.2d, v31.2d
+
+ srshl v0.8b, v0.8b, v0.8b
+ srshl v31.8b, v0.8b, v0.8b
+ srshl v0.8b, v31.8b, v0.8b
+ srshl v0.8b, v0.8b, v31.8b
+ srshl v0.4h, v0.4h, v0.4h
+ srshl v31.4h, v0.4h, v0.4h
+ srshl v0.4h, v31.4h, v0.4h
+ srshl v0.4h, v0.4h, v31.4h
+ srshl v0.2s, v0.2s, v0.2s
+ srshl v31.2s, v0.2s, v0.2s
+ srshl v0.2s, v31.2s, v0.2s
+ srshl v0.2s, v0.2s, v31.2s
+ srshl v0.16b, v0.16b, v0.16b
+ srshl v31.16b, v0.16b, v0.16b
+ srshl v0.16b, v31.16b, v0.16b
+ srshl v0.16b, v0.16b, v31.16b
+ srshl v0.8h, v0.8h, v0.8h
+ srshl v31.8h, v0.8h, v0.8h
+ srshl v0.8h, v31.8h, v0.8h
+ srshl v0.8h, v0.8h, v31.8h
+ srshl v0.4s, v0.4s, v0.4s
+ srshl v31.4s, v0.4s, v0.4s
+ srshl v0.4s, v31.4s, v0.4s
+ srshl v0.4s, v0.4s, v31.4s
+ srshl v0.2d, v0.2d, v0.2d
+ srshl v31.2d, v0.2d, v0.2d
+ srshl v0.2d, v31.2d, v0.2d
+ srshl v0.2d, v0.2d, v31.2d
+
+ sqrshl v0.8b, v0.8b, v0.8b
+ sqrshl v31.8b, v0.8b, v0.8b
+ sqrshl v0.8b, v31.8b, v0.8b
+ sqrshl v0.8b, v0.8b, v31.8b
+ sqrshl v0.4h, v0.4h, v0.4h
+ sqrshl v31.4h, v0.4h, v0.4h
+ sqrshl v0.4h, v31.4h, v0.4h
+ sqrshl v0.4h, v0.4h, v31.4h
+ sqrshl v0.2s, v0.2s, v0.2s
+ sqrshl v31.2s, v0.2s, v0.2s
+ sqrshl v0.2s, v31.2s, v0.2s
+ sqrshl v0.2s, v0.2s, v31.2s
+ sqrshl v0.16b, v0.16b, v0.16b
+ sqrshl v31.16b, v0.16b, v0.16b
+ sqrshl v0.16b, v31.16b, v0.16b
+ sqrshl v0.16b, v0.16b, v31.16b
+ sqrshl v0.8h, v0.8h, v0.8h
+ sqrshl v31.8h, v0.8h, v0.8h
+ sqrshl v0.8h, v31.8h, v0.8h
+ sqrshl v0.8h, v0.8h, v31.8h
+ sqrshl v0.4s, v0.4s, v0.4s
+ sqrshl v31.4s, v0.4s, v0.4s
+ sqrshl v0.4s, v31.4s, v0.4s
+ sqrshl v0.4s, v0.4s, v31.4s
+ sqrshl v0.2d, v0.2d, v0.2d
+ sqrshl v31.2d, v0.2d, v0.2d
+ sqrshl v0.2d, v31.2d, v0.2d
+ sqrshl v0.2d, v0.2d, v31.2d
+
+ smax v0.8b, v0.8b, v0.8b
+ smax v31.8b, v0.8b, v0.8b
+ smax v0.8b, v31.8b, v0.8b
+ smax v0.8b, v0.8b, v31.8b
+ smax v0.4h, v0.4h, v0.4h
+ smax v31.4h, v0.4h, v0.4h
+ smax v0.4h, v31.4h, v0.4h
+ smax v0.4h, v0.4h, v31.4h
+ smax v0.2s, v0.2s, v0.2s
+ smax v31.2s, v0.2s, v0.2s
+ smax v0.2s, v31.2s, v0.2s
+ smax v0.2s, v0.2s, v31.2s
+ smax v0.16b, v0.16b, v0.16b
+ smax v31.16b, v0.16b, v0.16b
+ smax v0.16b, v31.16b, v0.16b
+ smax v0.16b, v0.16b, v31.16b
+ smax v0.8h, v0.8h, v0.8h
+ smax v31.8h, v0.8h, v0.8h
+ smax v0.8h, v31.8h, v0.8h
+ smax v0.8h, v0.8h, v31.8h
+ smax v0.4s, v0.4s, v0.4s
+ smax v31.4s, v0.4s, v0.4s
+ smax v0.4s, v31.4s, v0.4s
+ smax v0.4s, v0.4s, v31.4s
+
+ smin v0.8b, v0.8b, v0.8b
+ smin v31.8b, v0.8b, v0.8b
+ smin v0.8b, v31.8b, v0.8b
+ smin v0.8b, v0.8b, v31.8b
+ smin v0.4h, v0.4h, v0.4h
+ smin v31.4h, v0.4h, v0.4h
+ smin v0.4h, v31.4h, v0.4h
+ smin v0.4h, v0.4h, v31.4h
+ smin v0.2s, v0.2s, v0.2s
+ smin v31.2s, v0.2s, v0.2s
+ smin v0.2s, v31.2s, v0.2s
+ smin v0.2s, v0.2s, v31.2s
+ smin v0.16b, v0.16b, v0.16b
+ smin v31.16b, v0.16b, v0.16b
+ smin v0.16b, v31.16b, v0.16b
+ smin v0.16b, v0.16b, v31.16b
+ smin v0.8h, v0.8h, v0.8h
+ smin v31.8h, v0.8h, v0.8h
+ smin v0.8h, v31.8h, v0.8h
+ smin v0.8h, v0.8h, v31.8h
+ smin v0.4s, v0.4s, v0.4s
+ smin v31.4s, v0.4s, v0.4s
+ smin v0.4s, v31.4s, v0.4s
+ smin v0.4s, v0.4s, v31.4s
+
+ sabd v0.8b, v0.8b, v0.8b
+ sabd v31.8b, v0.8b, v0.8b
+ sabd v0.8b, v31.8b, v0.8b
+ sabd v0.8b, v0.8b, v31.8b
+ sabd v0.4h, v0.4h, v0.4h
+ sabd v31.4h, v0.4h, v0.4h
+ sabd v0.4h, v31.4h, v0.4h
+ sabd v0.4h, v0.4h, v31.4h
+ sabd v0.2s, v0.2s, v0.2s
+ sabd v31.2s, v0.2s, v0.2s
+ sabd v0.2s, v31.2s, v0.2s
+ sabd v0.2s, v0.2s, v31.2s
+ sabd v0.16b, v0.16b, v0.16b
+ sabd v31.16b, v0.16b, v0.16b
+ sabd v0.16b, v31.16b, v0.16b
+ sabd v0.16b, v0.16b, v31.16b
+ sabd v0.8h, v0.8h, v0.8h
+ sabd v31.8h, v0.8h, v0.8h
+ sabd v0.8h, v31.8h, v0.8h
+ sabd v0.8h, v0.8h, v31.8h
+ sabd v0.4s, v0.4s, v0.4s
+ sabd v31.4s, v0.4s, v0.4s
+ sabd v0.4s, v31.4s, v0.4s
+ sabd v0.4s, v0.4s, v31.4s
+
+ saba v0.8b, v0.8b, v0.8b
+ saba v31.8b, v0.8b, v0.8b
+ saba v0.8b, v31.8b, v0.8b
+ saba v0.8b, v0.8b, v31.8b
+ saba v0.4h, v0.4h, v0.4h
+ saba v31.4h, v0.4h, v0.4h
+ saba v0.4h, v31.4h, v0.4h
+ saba v0.4h, v0.4h, v31.4h
+ saba v0.2s, v0.2s, v0.2s
+ saba v31.2s, v0.2s, v0.2s
+ saba v0.2s, v31.2s, v0.2s
+ saba v0.2s, v0.2s, v31.2s
+ saba v0.16b, v0.16b, v0.16b
+ saba v31.16b, v0.16b, v0.16b
+ saba v0.16b, v31.16b, v0.16b
+ saba v0.16b, v0.16b, v31.16b
+ saba v0.8h, v0.8h, v0.8h
+ saba v31.8h, v0.8h, v0.8h
+ saba v0.8h, v31.8h, v0.8h
+ saba v0.8h, v0.8h, v31.8h
+ saba v0.4s, v0.4s, v0.4s
+ saba v31.4s, v0.4s, v0.4s
+ saba v0.4s, v31.4s, v0.4s
+ saba v0.4s, v0.4s, v31.4s
+
+ add v0.8b, v0.8b, v0.8b
+ add v31.8b, v0.8b, v0.8b
+ add v0.8b, v31.8b, v0.8b
+ add v0.8b, v0.8b, v31.8b
+ add v0.4h, v0.4h, v0.4h
+ add v31.4h, v0.4h, v0.4h
+ add v0.4h, v31.4h, v0.4h
+ add v0.4h, v0.4h, v31.4h
+ add v0.2s, v0.2s, v0.2s
+ add v31.2s, v0.2s, v0.2s
+ add v0.2s, v31.2s, v0.2s
+ add v0.2s, v0.2s, v31.2s
+ add v0.16b, v0.16b, v0.16b
+ add v31.16b, v0.16b, v0.16b
+ add v0.16b, v31.16b, v0.16b
+ add v0.16b, v0.16b, v31.16b
+ add v0.8h, v0.8h, v0.8h
+ add v31.8h, v0.8h, v0.8h
+ add v0.8h, v31.8h, v0.8h
+ add v0.8h, v0.8h, v31.8h
+ add v0.4s, v0.4s, v0.4s
+ add v31.4s, v0.4s, v0.4s
+ add v0.4s, v31.4s, v0.4s
+ add v0.4s, v0.4s, v31.4s
+ add v0.2d, v0.2d, v0.2d
+ add v31.2d, v0.2d, v0.2d
+ add v0.2d, v31.2d, v0.2d
+ add v0.2d, v0.2d, v31.2d
+
+ cmtst v0.8b, v0.8b, v0.8b
+ cmtst v31.8b, v0.8b, v0.8b
+ cmtst v0.8b, v31.8b, v0.8b
+ cmtst v0.8b, v0.8b, v31.8b
+ cmtst v0.4h, v0.4h, v0.4h
+ cmtst v31.4h, v0.4h, v0.4h
+ cmtst v0.4h, v31.4h, v0.4h
+ cmtst v0.4h, v0.4h, v31.4h
+ cmtst v0.2s, v0.2s, v0.2s
+ cmtst v31.2s, v0.2s, v0.2s
+ cmtst v0.2s, v31.2s, v0.2s
+ cmtst v0.2s, v0.2s, v31.2s
+ cmtst v0.16b, v0.16b, v0.16b
+ cmtst v31.16b, v0.16b, v0.16b
+ cmtst v0.16b, v31.16b, v0.16b
+ cmtst v0.16b, v0.16b, v31.16b
+ cmtst v0.8h, v0.8h, v0.8h
+ cmtst v31.8h, v0.8h, v0.8h
+ cmtst v0.8h, v31.8h, v0.8h
+ cmtst v0.8h, v0.8h, v31.8h
+ cmtst v0.4s, v0.4s, v0.4s
+ cmtst v31.4s, v0.4s, v0.4s
+ cmtst v0.4s, v31.4s, v0.4s
+ cmtst v0.4s, v0.4s, v31.4s
+ cmtst v0.2d, v0.2d, v0.2d
+ cmtst v31.2d, v0.2d, v0.2d
+ cmtst v0.2d, v31.2d, v0.2d
+ cmtst v0.2d, v0.2d, v31.2d
+
+ mla v0.8b, v0.8b, v0.8b
+ mla v31.8b, v0.8b, v0.8b
+ mla v0.8b, v31.8b, v0.8b
+ mla v0.8b, v0.8b, v31.8b
+ mla v0.4h, v0.4h, v0.4h
+ mla v31.4h, v0.4h, v0.4h
+ mla v0.4h, v31.4h, v0.4h
+ mla v0.4h, v0.4h, v31.4h
+ mla v0.2s, v0.2s, v0.2s
+ mla v31.2s, v0.2s, v0.2s
+ mla v0.2s, v31.2s, v0.2s
+ mla v0.2s, v0.2s, v31.2s
+ mla v0.16b, v0.16b, v0.16b
+ mla v31.16b, v0.16b, v0.16b
+ mla v0.16b, v31.16b, v0.16b
+ mla v0.16b, v0.16b, v31.16b
+ mla v0.8h, v0.8h, v0.8h
+ mla v31.8h, v0.8h, v0.8h
+ mla v0.8h, v31.8h, v0.8h
+ mla v0.8h, v0.8h, v31.8h
+ mla v0.4s, v0.4s, v0.4s
+ mla v31.4s, v0.4s, v0.4s
+ mla v0.4s, v31.4s, v0.4s
+ mla v0.4s, v0.4s, v31.4s
+
+ mul v0.8b, v0.8b, v0.8b
+ mul v31.8b, v0.8b, v0.8b
+ mul v0.8b, v31.8b, v0.8b
+ mul v0.8b, v0.8b, v31.8b
+ mul v0.4h, v0.4h, v0.4h
+ mul v31.4h, v0.4h, v0.4h
+ mul v0.4h, v31.4h, v0.4h
+ mul v0.4h, v0.4h, v31.4h
+ mul v0.2s, v0.2s, v0.2s
+ mul v31.2s, v0.2s, v0.2s
+ mul v0.2s, v31.2s, v0.2s
+ mul v0.2s, v0.2s, v31.2s
+ mul v0.16b, v0.16b, v0.16b
+ mul v31.16b, v0.16b, v0.16b
+ mul v0.16b, v31.16b, v0.16b
+ mul v0.16b, v0.16b, v31.16b
+ mul v0.8h, v0.8h, v0.8h
+ mul v31.8h, v0.8h, v0.8h
+ mul v0.8h, v31.8h, v0.8h
+ mul v0.8h, v0.8h, v31.8h
+ mul v0.4s, v0.4s, v0.4s
+ mul v31.4s, v0.4s, v0.4s
+ mul v0.4s, v31.4s, v0.4s
+ mul v0.4s, v0.4s, v31.4s
+
+ smaxp v0.8b, v0.8b, v0.8b
+ smaxp v31.8b, v0.8b, v0.8b
+ smaxp v0.8b, v31.8b, v0.8b
+ smaxp v0.8b, v0.8b, v31.8b
+ smaxp v0.4h, v0.4h, v0.4h
+ smaxp v31.4h, v0.4h, v0.4h
+ smaxp v0.4h, v31.4h, v0.4h
+ smaxp v0.4h, v0.4h, v31.4h
+ smaxp v0.2s, v0.2s, v0.2s
+ smaxp v31.2s, v0.2s, v0.2s
+ smaxp v0.2s, v31.2s, v0.2s
+ smaxp v0.2s, v0.2s, v31.2s
+ smaxp v0.16b, v0.16b, v0.16b
+ smaxp v31.16b, v0.16b, v0.16b
+ smaxp v0.16b, v31.16b, v0.16b
+ smaxp v0.16b, v0.16b, v31.16b
+ smaxp v0.8h, v0.8h, v0.8h
+ smaxp v31.8h, v0.8h, v0.8h
+ smaxp v0.8h, v31.8h, v0.8h
+ smaxp v0.8h, v0.8h, v31.8h
+ smaxp v0.4s, v0.4s, v0.4s
+ smaxp v31.4s, v0.4s, v0.4s
+ smaxp v0.4s, v31.4s, v0.4s
+ smaxp v0.4s, v0.4s, v31.4s
+
+ sminp v0.8b, v0.8b, v0.8b
+ sminp v31.8b, v0.8b, v0.8b
+ sminp v0.8b, v31.8b, v0.8b
+ sminp v0.8b, v0.8b, v31.8b
+ sminp v0.4h, v0.4h, v0.4h
+ sminp v31.4h, v0.4h, v0.4h
+ sminp v0.4h, v31.4h, v0.4h
+ sminp v0.4h, v0.4h, v31.4h
+ sminp v0.2s, v0.2s, v0.2s
+ sminp v31.2s, v0.2s, v0.2s
+ sminp v0.2s, v31.2s, v0.2s
+ sminp v0.2s, v0.2s, v31.2s
+ sminp v0.16b, v0.16b, v0.16b
+ sminp v31.16b, v0.16b, v0.16b
+ sminp v0.16b, v31.16b, v0.16b
+ sminp v0.16b, v0.16b, v31.16b
+ sminp v0.8h, v0.8h, v0.8h
+ sminp v31.8h, v0.8h, v0.8h
+ sminp v0.8h, v31.8h, v0.8h
+ sminp v0.8h, v0.8h, v31.8h
+ sminp v0.4s, v0.4s, v0.4s
+ sminp v31.4s, v0.4s, v0.4s
+ sminp v0.4s, v31.4s, v0.4s
+ sminp v0.4s, v0.4s, v31.4s
+
+ sqdmulh v0.4h, v0.4h, v0.4h
+ sqdmulh v31.4h, v0.4h, v0.4h
+ sqdmulh v0.4h, v31.4h, v0.4h
+ sqdmulh v0.4h, v0.4h, v31.4h
+ sqdmulh v0.2s, v0.2s, v0.2s
+ sqdmulh v31.2s, v0.2s, v0.2s
+ sqdmulh v0.2s, v31.2s, v0.2s
+ sqdmulh v0.2s, v0.2s, v31.2s
+ sqdmulh v0.8h, v0.8h, v0.8h
+ sqdmulh v31.8h, v0.8h, v0.8h
+ sqdmulh v0.8h, v31.8h, v0.8h
+ sqdmulh v0.8h, v0.8h, v31.8h
+ sqdmulh v0.4s, v0.4s, v0.4s
+ sqdmulh v31.4s, v0.4s, v0.4s
+ sqdmulh v0.4s, v31.4s, v0.4s
+ sqdmulh v0.4s, v0.4s, v31.4s
+
+ addp v0.8b, v0.8b, v0.8b
+ addp v31.8b, v0.8b, v0.8b
+ addp v0.8b, v31.8b, v0.8b
+ addp v0.8b, v0.8b, v31.8b
+ addp v0.4h, v0.4h, v0.4h
+ addp v31.4h, v0.4h, v0.4h
+ addp v0.4h, v31.4h, v0.4h
+ addp v0.4h, v0.4h, v31.4h
+ addp v0.2s, v0.2s, v0.2s
+ addp v31.2s, v0.2s, v0.2s
+ addp v0.2s, v31.2s, v0.2s
+ addp v0.2s, v0.2s, v31.2s
+ addp v0.16b, v0.16b, v0.16b
+ addp v31.16b, v0.16b, v0.16b
+ addp v0.16b, v31.16b, v0.16b
+ addp v0.16b, v0.16b, v31.16b
+ addp v0.8h, v0.8h, v0.8h
+ addp v31.8h, v0.8h, v0.8h
+ addp v0.8h, v31.8h, v0.8h
+ addp v0.8h, v0.8h, v31.8h
+ addp v0.4s, v0.4s, v0.4s
+ addp v31.4s, v0.4s, v0.4s
+ addp v0.4s, v31.4s, v0.4s
+ addp v0.4s, v0.4s, v31.4s
+ addp v0.2d, v0.2d, v0.2d
+ addp v31.2d, v0.2d, v0.2d
+ addp v0.2d, v31.2d, v0.2d
+ addp v0.2d, v0.2d, v31.2d
+
+ uhadd v0.8b, v0.8b, v0.8b
+ uhadd v31.8b, v0.8b, v0.8b
+ uhadd v0.8b, v31.8b, v0.8b
+ uhadd v0.8b, v0.8b, v31.8b
+ uhadd v0.4h, v0.4h, v0.4h
+ uhadd v31.4h, v0.4h, v0.4h
+ uhadd v0.4h, v31.4h, v0.4h
+ uhadd v0.4h, v0.4h, v31.4h
+ uhadd v0.2s, v0.2s, v0.2s
+ uhadd v31.2s, v0.2s, v0.2s
+ uhadd v0.2s, v31.2s, v0.2s
+ uhadd v0.2s, v0.2s, v31.2s
+ uhadd v0.16b, v0.16b, v0.16b
+ uhadd v31.16b, v0.16b, v0.16b
+ uhadd v0.16b, v31.16b, v0.16b
+ uhadd v0.16b, v0.16b, v31.16b
+ uhadd v0.8h, v0.8h, v0.8h
+ uhadd v31.8h, v0.8h, v0.8h
+ uhadd v0.8h, v31.8h, v0.8h
+ uhadd v0.8h, v0.8h, v31.8h
+ uhadd v0.4s, v0.4s, v0.4s
+ uhadd v31.4s, v0.4s, v0.4s
+ uhadd v0.4s, v31.4s, v0.4s
+ uhadd v0.4s, v0.4s, v31.4s
+
+ uqadd v0.8b, v0.8b, v0.8b
+ uqadd v31.8b, v0.8b, v0.8b
+ uqadd v0.8b, v31.8b, v0.8b
+ uqadd v0.8b, v0.8b, v31.8b
+ uqadd v0.4h, v0.4h, v0.4h
+ uqadd v31.4h, v0.4h, v0.4h
+ uqadd v0.4h, v31.4h, v0.4h
+ uqadd v0.4h, v0.4h, v31.4h
+ uqadd v0.2s, v0.2s, v0.2s
+ uqadd v31.2s, v0.2s, v0.2s
+ uqadd v0.2s, v31.2s, v0.2s
+ uqadd v0.2s, v0.2s, v31.2s
+ uqadd v0.16b, v0.16b, v0.16b
+ uqadd v31.16b, v0.16b, v0.16b
+ uqadd v0.16b, v31.16b, v0.16b
+ uqadd v0.16b, v0.16b, v31.16b
+ uqadd v0.8h, v0.8h, v0.8h
+ uqadd v31.8h, v0.8h, v0.8h
+ uqadd v0.8h, v31.8h, v0.8h
+ uqadd v0.8h, v0.8h, v31.8h
+ uqadd v0.4s, v0.4s, v0.4s
+ uqadd v31.4s, v0.4s, v0.4s
+ uqadd v0.4s, v31.4s, v0.4s
+ uqadd v0.4s, v0.4s, v31.4s
+ uqadd v0.2d, v0.2d, v0.2d
+ uqadd v31.2d, v0.2d, v0.2d
+ uqadd v0.2d, v31.2d, v0.2d
+ uqadd v0.2d, v0.2d, v31.2d
+
+ urhadd v0.8b, v0.8b, v0.8b
+ urhadd v31.8b, v0.8b, v0.8b
+ urhadd v0.8b, v31.8b, v0.8b
+ urhadd v0.8b, v0.8b, v31.8b
+ urhadd v0.4h, v0.4h, v0.4h
+ urhadd v31.4h, v0.4h, v0.4h
+ urhadd v0.4h, v31.4h, v0.4h
+ urhadd v0.4h, v0.4h, v31.4h
+ urhadd v0.2s, v0.2s, v0.2s
+ urhadd v31.2s, v0.2s, v0.2s
+ urhadd v0.2s, v31.2s, v0.2s
+ urhadd v0.2s, v0.2s, v31.2s
+ urhadd v0.16b, v0.16b, v0.16b
+ urhadd v31.16b, v0.16b, v0.16b
+ urhadd v0.16b, v31.16b, v0.16b
+ urhadd v0.16b, v0.16b, v31.16b
+ urhadd v0.8h, v0.8h, v0.8h
+ urhadd v31.8h, v0.8h, v0.8h
+ urhadd v0.8h, v31.8h, v0.8h
+ urhadd v0.8h, v0.8h, v31.8h
+ urhadd v0.4s, v0.4s, v0.4s
+ urhadd v31.4s, v0.4s, v0.4s
+ urhadd v0.4s, v31.4s, v0.4s
+ urhadd v0.4s, v0.4s, v31.4s
+
+ eor v0.8b, v0.8b, v0.8b
+ eor v31.8b, v0.8b, v0.8b
+ eor v0.8b, v31.8b, v0.8b
+ eor v0.8b, v0.8b, v31.8b
+ eor v0.16b, v0.16b, v0.16b
+ eor v31.16b, v0.16b, v0.16b
+ eor v0.16b, v31.16b, v0.16b
+ eor v0.16b, v0.16b, v31.16b
+
+ bsl v0.8b, v0.8b, v0.8b
+ bsl v31.8b, v0.8b, v0.8b
+ bsl v0.8b, v31.8b, v0.8b
+ bsl v0.8b, v0.8b, v31.8b
+ bsl v0.16b, v0.16b, v0.16b
+ bsl v31.16b, v0.16b, v0.16b
+ bsl v0.16b, v31.16b, v0.16b
+ bsl v0.16b, v0.16b, v31.16b
+
+ bit v0.8b, v0.8b, v0.8b
+ bit v31.8b, v0.8b, v0.8b
+ bit v0.8b, v31.8b, v0.8b
+ bit v0.8b, v0.8b, v31.8b
+ bit v0.16b, v0.16b, v0.16b
+ bit v31.16b, v0.16b, v0.16b
+ bit v0.16b, v31.16b, v0.16b
+ bit v0.16b, v0.16b, v31.16b
+
+ bif v0.8b, v0.8b, v0.8b
+ bif v31.8b, v0.8b, v0.8b
+ bif v0.8b, v31.8b, v0.8b
+ bif v0.8b, v0.8b, v31.8b
+ bif v0.16b, v0.16b, v0.16b
+ bif v31.16b, v0.16b, v0.16b
+ bif v0.16b, v31.16b, v0.16b
+ bif v0.16b, v0.16b, v31.16b
+
+ uhsub v0.8b, v0.8b, v0.8b
+ uhsub v31.8b, v0.8b, v0.8b
+ uhsub v0.8b, v31.8b, v0.8b
+ uhsub v0.8b, v0.8b, v31.8b
+ uhsub v0.4h, v0.4h, v0.4h
+ uhsub v31.4h, v0.4h, v0.4h
+ uhsub v0.4h, v31.4h, v0.4h
+ uhsub v0.4h, v0.4h, v31.4h
+ uhsub v0.2s, v0.2s, v0.2s
+ uhsub v31.2s, v0.2s, v0.2s
+ uhsub v0.2s, v31.2s, v0.2s
+ uhsub v0.2s, v0.2s, v31.2s
+ uhsub v0.16b, v0.16b, v0.16b
+ uhsub v31.16b, v0.16b, v0.16b
+ uhsub v0.16b, v31.16b, v0.16b
+ uhsub v0.16b, v0.16b, v31.16b
+ uhsub v0.8h, v0.8h, v0.8h
+ uhsub v31.8h, v0.8h, v0.8h
+ uhsub v0.8h, v31.8h, v0.8h
+ uhsub v0.8h, v0.8h, v31.8h
+ uhsub v0.4s, v0.4s, v0.4s
+ uhsub v31.4s, v0.4s, v0.4s
+ uhsub v0.4s, v31.4s, v0.4s
+ uhsub v0.4s, v0.4s, v31.4s
+
+ uqsub v0.8b, v0.8b, v0.8b
+ uqsub v31.8b, v0.8b, v0.8b
+ uqsub v0.8b, v31.8b, v0.8b
+ uqsub v0.8b, v0.8b, v31.8b
+ uqsub v0.4h, v0.4h, v0.4h
+ uqsub v31.4h, v0.4h, v0.4h
+ uqsub v0.4h, v31.4h, v0.4h
+ uqsub v0.4h, v0.4h, v31.4h
+ uqsub v0.2s, v0.2s, v0.2s
+ uqsub v31.2s, v0.2s, v0.2s
+ uqsub v0.2s, v31.2s, v0.2s
+ uqsub v0.2s, v0.2s, v31.2s
+ uqsub v0.16b, v0.16b, v0.16b
+ uqsub v31.16b, v0.16b, v0.16b
+ uqsub v0.16b, v31.16b, v0.16b
+ uqsub v0.16b, v0.16b, v31.16b
+ uqsub v0.8h, v0.8h, v0.8h
+ uqsub v31.8h, v0.8h, v0.8h
+ uqsub v0.8h, v31.8h, v0.8h
+ uqsub v0.8h, v0.8h, v31.8h
+ uqsub v0.4s, v0.4s, v0.4s
+ uqsub v31.4s, v0.4s, v0.4s
+ uqsub v0.4s, v31.4s, v0.4s
+ uqsub v0.4s, v0.4s, v31.4s
+ uqsub v0.2d, v0.2d, v0.2d
+ uqsub v31.2d, v0.2d, v0.2d
+ uqsub v0.2d, v31.2d, v0.2d
+ uqsub v0.2d, v0.2d, v31.2d
+
+ cmhi v0.8b, v0.8b, v0.8b
+ cmhi v31.8b, v0.8b, v0.8b
+ cmhi v0.8b, v31.8b, v0.8b
+ cmhi v0.8b, v0.8b, v31.8b
+ cmhi v0.4h, v0.4h, v0.4h
+ cmhi v31.4h, v0.4h, v0.4h
+ cmhi v0.4h, v31.4h, v0.4h
+ cmhi v0.4h, v0.4h, v31.4h
+ cmhi v0.2s, v0.2s, v0.2s
+ cmhi v31.2s, v0.2s, v0.2s
+ cmhi v0.2s, v31.2s, v0.2s
+ cmhi v0.2s, v0.2s, v31.2s
+ cmhi v0.16b, v0.16b, v0.16b
+ cmhi v31.16b, v0.16b, v0.16b
+ cmhi v0.16b, v31.16b, v0.16b
+ cmhi v0.16b, v0.16b, v31.16b
+ cmhi v0.8h, v0.8h, v0.8h
+ cmhi v31.8h, v0.8h, v0.8h
+ cmhi v0.8h, v31.8h, v0.8h
+ cmhi v0.8h, v0.8h, v31.8h
+ cmhi v0.4s, v0.4s, v0.4s
+ cmhi v31.4s, v0.4s, v0.4s
+ cmhi v0.4s, v31.4s, v0.4s
+ cmhi v0.4s, v0.4s, v31.4s
+ cmhi v0.2d, v0.2d, v0.2d
+ cmhi v31.2d, v0.2d, v0.2d
+ cmhi v0.2d, v31.2d, v0.2d
+ cmhi v0.2d, v0.2d, v31.2d
+
+ cmhs v0.8b, v0.8b, v0.8b
+ cmhs v31.8b, v0.8b, v0.8b
+ cmhs v0.8b, v31.8b, v0.8b
+ cmhs v0.8b, v0.8b, v31.8b
+ cmhs v0.4h, v0.4h, v0.4h
+ cmhs v31.4h, v0.4h, v0.4h
+ cmhs v0.4h, v31.4h, v0.4h
+ cmhs v0.4h, v0.4h, v31.4h
+ cmhs v0.2s, v0.2s, v0.2s
+ cmhs v31.2s, v0.2s, v0.2s
+ cmhs v0.2s, v31.2s, v0.2s
+ cmhs v0.2s, v0.2s, v31.2s
+ cmhs v0.16b, v0.16b, v0.16b
+ cmhs v31.16b, v0.16b, v0.16b
+ cmhs v0.16b, v31.16b, v0.16b
+ cmhs v0.16b, v0.16b, v31.16b
+ cmhs v0.8h, v0.8h, v0.8h
+ cmhs v31.8h, v0.8h, v0.8h
+ cmhs v0.8h, v31.8h, v0.8h
+ cmhs v0.8h, v0.8h, v31.8h
+ cmhs v0.4s, v0.4s, v0.4s
+ cmhs v31.4s, v0.4s, v0.4s
+ cmhs v0.4s, v31.4s, v0.4s
+ cmhs v0.4s, v0.4s, v31.4s
+ cmhs v0.2d, v0.2d, v0.2d
+ cmhs v31.2d, v0.2d, v0.2d
+ cmhs v0.2d, v31.2d, v0.2d
+ cmhs v0.2d, v0.2d, v31.2d
+
+ ushl v0.8b, v0.8b, v0.8b
+ ushl v31.8b, v0.8b, v0.8b
+ ushl v0.8b, v31.8b, v0.8b
+ ushl v0.8b, v0.8b, v31.8b
+ ushl v0.4h, v0.4h, v0.4h
+ ushl v31.4h, v0.4h, v0.4h
+ ushl v0.4h, v31.4h, v0.4h
+ ushl v0.4h, v0.4h, v31.4h
+ ushl v0.2s, v0.2s, v0.2s
+ ushl v31.2s, v0.2s, v0.2s
+ ushl v0.2s, v31.2s, v0.2s
+ ushl v0.2s, v0.2s, v31.2s
+ ushl v0.16b, v0.16b, v0.16b
+ ushl v31.16b, v0.16b, v0.16b
+ ushl v0.16b, v31.16b, v0.16b
+ ushl v0.16b, v0.16b, v31.16b
+ ushl v0.8h, v0.8h, v0.8h
+ ushl v31.8h, v0.8h, v0.8h
+ ushl v0.8h, v31.8h, v0.8h
+ ushl v0.8h, v0.8h, v31.8h
+ ushl v0.4s, v0.4s, v0.4s
+ ushl v31.4s, v0.4s, v0.4s
+ ushl v0.4s, v31.4s, v0.4s
+ ushl v0.4s, v0.4s, v31.4s
+ ushl v0.2d, v0.2d, v0.2d
+ ushl v31.2d, v0.2d, v0.2d
+ ushl v0.2d, v31.2d, v0.2d
+ ushl v0.2d, v0.2d, v31.2d
+
+ uqshl v0.8b, v0.8b, v0.8b
+ uqshl v31.8b, v0.8b, v0.8b
+ uqshl v0.8b, v31.8b, v0.8b
+ uqshl v0.8b, v0.8b, v31.8b
+ uqshl v0.4h, v0.4h, v0.4h
+ uqshl v31.4h, v0.4h, v0.4h
+ uqshl v0.4h, v31.4h, v0.4h
+ uqshl v0.4h, v0.4h, v31.4h
+ uqshl v0.2s, v0.2s, v0.2s
+ uqshl v31.2s, v0.2s, v0.2s
+ uqshl v0.2s, v31.2s, v0.2s
+ uqshl v0.2s, v0.2s, v31.2s
+ uqshl v0.16b, v0.16b, v0.16b
+ uqshl v31.16b, v0.16b, v0.16b
+ uqshl v0.16b, v31.16b, v0.16b
+ uqshl v0.16b, v0.16b, v31.16b
+ uqshl v0.8h, v0.8h, v0.8h
+ uqshl v31.8h, v0.8h, v0.8h
+ uqshl v0.8h, v31.8h, v0.8h
+ uqshl v0.8h, v0.8h, v31.8h
+ uqshl v0.4s, v0.4s, v0.4s
+ uqshl v31.4s, v0.4s, v0.4s
+ uqshl v0.4s, v31.4s, v0.4s
+ uqshl v0.4s, v0.4s, v31.4s
+ uqshl v0.2d, v0.2d, v0.2d
+ uqshl v31.2d, v0.2d, v0.2d
+ uqshl v0.2d, v31.2d, v0.2d
+ uqshl v0.2d, v0.2d, v31.2d
+
+ urshl v0.8b, v0.8b, v0.8b
+ urshl v31.8b, v0.8b, v0.8b
+ urshl v0.8b, v31.8b, v0.8b
+ urshl v0.8b, v0.8b, v31.8b
+ urshl v0.4h, v0.4h, v0.4h
+ urshl v31.4h, v0.4h, v0.4h
+ urshl v0.4h, v31.4h, v0.4h
+ urshl v0.4h, v0.4h, v31.4h
+ urshl v0.2s, v0.2s, v0.2s
+ urshl v31.2s, v0.2s, v0.2s
+ urshl v0.2s, v31.2s, v0.2s
+ urshl v0.2s, v0.2s, v31.2s
+ urshl v0.16b, v0.16b, v0.16b
+ urshl v31.16b, v0.16b, v0.16b
+ urshl v0.16b, v31.16b, v0.16b
+ urshl v0.16b, v0.16b, v31.16b
+ urshl v0.8h, v0.8h, v0.8h
+ urshl v31.8h, v0.8h, v0.8h
+ urshl v0.8h, v31.8h, v0.8h
+ urshl v0.8h, v0.8h, v31.8h
+ urshl v0.4s, v0.4s, v0.4s
+ urshl v31.4s, v0.4s, v0.4s
+ urshl v0.4s, v31.4s, v0.4s
+ urshl v0.4s, v0.4s, v31.4s
+ urshl v0.2d, v0.2d, v0.2d
+ urshl v31.2d, v0.2d, v0.2d
+ urshl v0.2d, v31.2d, v0.2d
+ urshl v0.2d, v0.2d, v31.2d
+
+ uqrshl v0.8b, v0.8b, v0.8b
+ uqrshl v31.8b, v0.8b, v0.8b
+ uqrshl v0.8b, v31.8b, v0.8b
+ uqrshl v0.8b, v0.8b, v31.8b
+ uqrshl v0.4h, v0.4h, v0.4h
+ uqrshl v31.4h, v0.4h, v0.4h
+ uqrshl v0.4h, v31.4h, v0.4h
+ uqrshl v0.4h, v0.4h, v31.4h
+ uqrshl v0.2s, v0.2s, v0.2s
+ uqrshl v31.2s, v0.2s, v0.2s
+ uqrshl v0.2s, v31.2s, v0.2s
+ uqrshl v0.2s, v0.2s, v31.2s
+ uqrshl v0.16b, v0.16b, v0.16b
+ uqrshl v31.16b, v0.16b, v0.16b
+ uqrshl v0.16b, v31.16b, v0.16b
+ uqrshl v0.16b, v0.16b, v31.16b
+ uqrshl v0.8h, v0.8h, v0.8h
+ uqrshl v31.8h, v0.8h, v0.8h
+ uqrshl v0.8h, v31.8h, v0.8h
+ uqrshl v0.8h, v0.8h, v31.8h
+ uqrshl v0.4s, v0.4s, v0.4s
+ uqrshl v31.4s, v0.4s, v0.4s
+ uqrshl v0.4s, v31.4s, v0.4s
+ uqrshl v0.4s, v0.4s, v31.4s
+ uqrshl v0.2d, v0.2d, v0.2d
+ uqrshl v31.2d, v0.2d, v0.2d
+ uqrshl v0.2d, v31.2d, v0.2d
+ uqrshl v0.2d, v0.2d, v31.2d
+
+ umax v0.8b, v0.8b, v0.8b
+ umax v31.8b, v0.8b, v0.8b
+ umax v0.8b, v31.8b, v0.8b
+ umax v0.8b, v0.8b, v31.8b
+ umax v0.4h, v0.4h, v0.4h
+ umax v31.4h, v0.4h, v0.4h
+ umax v0.4h, v31.4h, v0.4h
+ umax v0.4h, v0.4h, v31.4h
+ umax v0.2s, v0.2s, v0.2s
+ umax v31.2s, v0.2s, v0.2s
+ umax v0.2s, v31.2s, v0.2s
+ umax v0.2s, v0.2s, v31.2s
+ umax v0.16b, v0.16b, v0.16b
+ umax v31.16b, v0.16b, v0.16b
+ umax v0.16b, v31.16b, v0.16b
+ umax v0.16b, v0.16b, v31.16b
+ umax v0.8h, v0.8h, v0.8h
+ umax v31.8h, v0.8h, v0.8h
+ umax v0.8h, v31.8h, v0.8h
+ umax v0.8h, v0.8h, v31.8h
+ umax v0.4s, v0.4s, v0.4s
+ umax v31.4s, v0.4s, v0.4s
+ umax v0.4s, v31.4s, v0.4s
+ umax v0.4s, v0.4s, v31.4s
+
+ umin v0.8b, v0.8b, v0.8b
+ umin v31.8b, v0.8b, v0.8b
+ umin v0.8b, v31.8b, v0.8b
+ umin v0.8b, v0.8b, v31.8b
+ umin v0.4h, v0.4h, v0.4h
+ umin v31.4h, v0.4h, v0.4h
+ umin v0.4h, v31.4h, v0.4h
+ umin v0.4h, v0.4h, v31.4h
+ umin v0.2s, v0.2s, v0.2s
+ umin v31.2s, v0.2s, v0.2s
+ umin v0.2s, v31.2s, v0.2s
+ umin v0.2s, v0.2s, v31.2s
+ umin v0.16b, v0.16b, v0.16b
+ umin v31.16b, v0.16b, v0.16b
+ umin v0.16b, v31.16b, v0.16b
+ umin v0.16b, v0.16b, v31.16b
+ umin v0.8h, v0.8h, v0.8h
+ umin v31.8h, v0.8h, v0.8h
+ umin v0.8h, v31.8h, v0.8h
+ umin v0.8h, v0.8h, v31.8h
+ umin v0.4s, v0.4s, v0.4s
+ umin v31.4s, v0.4s, v0.4s
+ umin v0.4s, v31.4s, v0.4s
+ umin v0.4s, v0.4s, v31.4s
+
+ uabd v0.8b, v0.8b, v0.8b
+ uabd v31.8b, v0.8b, v0.8b
+ uabd v0.8b, v31.8b, v0.8b
+ uabd v0.8b, v0.8b, v31.8b
+ uabd v0.4h, v0.4h, v0.4h
+ uabd v31.4h, v0.4h, v0.4h
+ uabd v0.4h, v31.4h, v0.4h
+ uabd v0.4h, v0.4h, v31.4h
+ uabd v0.2s, v0.2s, v0.2s
+ uabd v31.2s, v0.2s, v0.2s
+ uabd v0.2s, v31.2s, v0.2s
+ uabd v0.2s, v0.2s, v31.2s
+ uabd v0.16b, v0.16b, v0.16b
+ uabd v31.16b, v0.16b, v0.16b
+ uabd v0.16b, v31.16b, v0.16b
+ uabd v0.16b, v0.16b, v31.16b
+ uabd v0.8h, v0.8h, v0.8h
+ uabd v31.8h, v0.8h, v0.8h
+ uabd v0.8h, v31.8h, v0.8h
+ uabd v0.8h, v0.8h, v31.8h
+ uabd v0.4s, v0.4s, v0.4s
+ uabd v31.4s, v0.4s, v0.4s
+ uabd v0.4s, v31.4s, v0.4s
+ uabd v0.4s, v0.4s, v31.4s
+
+ uaba v0.8b, v0.8b, v0.8b
+ uaba v31.8b, v0.8b, v0.8b
+ uaba v0.8b, v31.8b, v0.8b
+ uaba v0.8b, v0.8b, v31.8b
+ uaba v0.4h, v0.4h, v0.4h
+ uaba v31.4h, v0.4h, v0.4h
+ uaba v0.4h, v31.4h, v0.4h
+ uaba v0.4h, v0.4h, v31.4h
+ uaba v0.2s, v0.2s, v0.2s
+ uaba v31.2s, v0.2s, v0.2s
+ uaba v0.2s, v31.2s, v0.2s
+ uaba v0.2s, v0.2s, v31.2s
+ uaba v0.16b, v0.16b, v0.16b
+ uaba v31.16b, v0.16b, v0.16b
+ uaba v0.16b, v31.16b, v0.16b
+ uaba v0.16b, v0.16b, v31.16b
+ uaba v0.8h, v0.8h, v0.8h
+ uaba v31.8h, v0.8h, v0.8h
+ uaba v0.8h, v31.8h, v0.8h
+ uaba v0.8h, v0.8h, v31.8h
+ uaba v0.4s, v0.4s, v0.4s
+ uaba v31.4s, v0.4s, v0.4s
+ uaba v0.4s, v31.4s, v0.4s
+ uaba v0.4s, v0.4s, v31.4s
+
+ sub v0.8b, v0.8b, v0.8b
+ sub v31.8b, v0.8b, v0.8b
+ sub v0.8b, v31.8b, v0.8b
+ sub v0.8b, v0.8b, v31.8b
+ sub v0.4h, v0.4h, v0.4h
+ sub v31.4h, v0.4h, v0.4h
+ sub v0.4h, v31.4h, v0.4h
+ sub v0.4h, v0.4h, v31.4h
+ sub v0.2s, v0.2s, v0.2s
+ sub v31.2s, v0.2s, v0.2s
+ sub v0.2s, v31.2s, v0.2s
+ sub v0.2s, v0.2s, v31.2s
+ sub v0.16b, v0.16b, v0.16b
+ sub v31.16b, v0.16b, v0.16b
+ sub v0.16b, v31.16b, v0.16b
+ sub v0.16b, v0.16b, v31.16b
+ sub v0.8h, v0.8h, v0.8h
+ sub v31.8h, v0.8h, v0.8h
+ sub v0.8h, v31.8h, v0.8h
+ sub v0.8h, v0.8h, v31.8h
+ sub v0.4s, v0.4s, v0.4s
+ sub v31.4s, v0.4s, v0.4s
+ sub v0.4s, v31.4s, v0.4s
+ sub v0.4s, v0.4s, v31.4s
+ sub v0.2d, v0.2d, v0.2d
+ sub v31.2d, v0.2d, v0.2d
+ sub v0.2d, v31.2d, v0.2d
+ sub v0.2d, v0.2d, v31.2d
+
+ cmeq v0.8b, v0.8b, v0.8b
+ cmeq v31.8b, v0.8b, v0.8b
+ cmeq v0.8b, v31.8b, v0.8b
+ cmeq v0.8b, v0.8b, v31.8b
+ cmeq v0.4h, v0.4h, v0.4h
+ cmeq v31.4h, v0.4h, v0.4h
+ cmeq v0.4h, v31.4h, v0.4h
+ cmeq v0.4h, v0.4h, v31.4h
+ cmeq v0.2s, v0.2s, v0.2s
+ cmeq v31.2s, v0.2s, v0.2s
+ cmeq v0.2s, v31.2s, v0.2s
+ cmeq v0.2s, v0.2s, v31.2s
+ cmeq v0.16b, v0.16b, v0.16b
+ cmeq v31.16b, v0.16b, v0.16b
+ cmeq v0.16b, v31.16b, v0.16b
+ cmeq v0.16b, v0.16b, v31.16b
+ cmeq v0.8h, v0.8h, v0.8h
+ cmeq v31.8h, v0.8h, v0.8h
+ cmeq v0.8h, v31.8h, v0.8h
+ cmeq v0.8h, v0.8h, v31.8h
+ cmeq v0.4s, v0.4s, v0.4s
+ cmeq v31.4s, v0.4s, v0.4s
+ cmeq v0.4s, v31.4s, v0.4s
+ cmeq v0.4s, v0.4s, v31.4s
+ cmeq v0.2d, v0.2d, v0.2d
+ cmeq v31.2d, v0.2d, v0.2d
+ cmeq v0.2d, v31.2d, v0.2d
+ cmeq v0.2d, v0.2d, v31.2d
+
+ mls v0.8b, v0.8b, v0.8b
+ mls v31.8b, v0.8b, v0.8b
+ mls v0.8b, v31.8b, v0.8b
+ mls v0.8b, v0.8b, v31.8b
+ mls v0.4h, v0.4h, v0.4h
+ mls v31.4h, v0.4h, v0.4h
+ mls v0.4h, v31.4h, v0.4h
+ mls v0.4h, v0.4h, v31.4h
+ mls v0.2s, v0.2s, v0.2s
+ mls v31.2s, v0.2s, v0.2s
+ mls v0.2s, v31.2s, v0.2s
+ mls v0.2s, v0.2s, v31.2s
+ mls v0.16b, v0.16b, v0.16b
+ mls v31.16b, v0.16b, v0.16b
+ mls v0.16b, v31.16b, v0.16b
+ mls v0.16b, v0.16b, v31.16b
+ mls v0.8h, v0.8h, v0.8h
+ mls v31.8h, v0.8h, v0.8h
+ mls v0.8h, v31.8h, v0.8h
+ mls v0.8h, v0.8h, v31.8h
+ mls v0.4s, v0.4s, v0.4s
+ mls v31.4s, v0.4s, v0.4s
+ mls v0.4s, v31.4s, v0.4s
+ mls v0.4s, v0.4s, v31.4s
+
+ pmul v0.8b, v0.8b, v0.8b
+ pmul v31.8b, v0.8b, v0.8b
+ pmul v0.8b, v31.8b, v0.8b
+ pmul v0.8b, v0.8b, v31.8b
+ pmul v0.16b, v0.16b, v0.16b
+ pmul v31.16b, v0.16b, v0.16b
+ pmul v0.16b, v31.16b, v0.16b
+ pmul v0.16b, v0.16b, v31.16b
+
+ umaxp v0.8b, v0.8b, v0.8b
+ umaxp v31.8b, v0.8b, v0.8b
+ umaxp v0.8b, v31.8b, v0.8b
+ umaxp v0.8b, v0.8b, v31.8b
+ umaxp v0.4h, v0.4h, v0.4h
+ umaxp v31.4h, v0.4h, v0.4h
+ umaxp v0.4h, v31.4h, v0.4h
+ umaxp v0.4h, v0.4h, v31.4h
+ umaxp v0.2s, v0.2s, v0.2s
+ umaxp v31.2s, v0.2s, v0.2s
+ umaxp v0.2s, v31.2s, v0.2s
+ umaxp v0.2s, v0.2s, v31.2s
+ umaxp v0.16b, v0.16b, v0.16b
+ umaxp v31.16b, v0.16b, v0.16b
+ umaxp v0.16b, v31.16b, v0.16b
+ umaxp v0.16b, v0.16b, v31.16b
+ umaxp v0.8h, v0.8h, v0.8h
+ umaxp v31.8h, v0.8h, v0.8h
+ umaxp v0.8h, v31.8h, v0.8h
+ umaxp v0.8h, v0.8h, v31.8h
+ umaxp v0.4s, v0.4s, v0.4s
+ umaxp v31.4s, v0.4s, v0.4s
+ umaxp v0.4s, v31.4s, v0.4s
+ umaxp v0.4s, v0.4s, v31.4s
+
+ uminp v0.8b, v0.8b, v0.8b
+ uminp v31.8b, v0.8b, v0.8b
+ uminp v0.8b, v31.8b, v0.8b
+ uminp v0.8b, v0.8b, v31.8b
+ uminp v0.4h, v0.4h, v0.4h
+ uminp v31.4h, v0.4h, v0.4h
+ uminp v0.4h, v31.4h, v0.4h
+ uminp v0.4h, v0.4h, v31.4h
+ uminp v0.2s, v0.2s, v0.2s
+ uminp v31.2s, v0.2s, v0.2s
+ uminp v0.2s, v31.2s, v0.2s
+ uminp v0.2s, v0.2s, v31.2s
+ uminp v0.16b, v0.16b, v0.16b
+ uminp v31.16b, v0.16b, v0.16b
+ uminp v0.16b, v31.16b, v0.16b
+ uminp v0.16b, v0.16b, v31.16b
+ uminp v0.8h, v0.8h, v0.8h
+ uminp v31.8h, v0.8h, v0.8h
+ uminp v0.8h, v31.8h, v0.8h
+ uminp v0.8h, v0.8h, v31.8h
+ uminp v0.4s, v0.4s, v0.4s
+ uminp v31.4s, v0.4s, v0.4s
+ uminp v0.4s, v31.4s, v0.4s
+ uminp v0.4s, v0.4s, v31.4s
+
+ sqrdmulh v0.4h, v0.4h, v0.4h
+ sqrdmulh v31.4h, v0.4h, v0.4h
+ sqrdmulh v0.4h, v31.4h, v0.4h
+ sqrdmulh v0.4h, v0.4h, v31.4h
+ sqrdmulh v0.2s, v0.2s, v0.2s
+ sqrdmulh v31.2s, v0.2s, v0.2s
+ sqrdmulh v0.2s, v31.2s, v0.2s
+ sqrdmulh v0.2s, v0.2s, v31.2s
+ sqrdmulh v0.8h, v0.8h, v0.8h
+ sqrdmulh v31.8h, v0.8h, v0.8h
+ sqrdmulh v0.8h, v31.8h, v0.8h
+ sqrdmulh v0.8h, v0.8h, v31.8h
+ sqrdmulh v0.4s, v0.4s, v0.4s
+ sqrdmulh v31.4s, v0.4s, v0.4s
+ sqrdmulh v0.4s, v31.4s, v0.4s
+ sqrdmulh v0.4s, v0.4s, v31.4s
diff --git a/gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.d b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.d
new file mode 100644
index 0000000..87960ce
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.d
@@ -0,0 +1,129 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0e212800 xtn v0\.8b, v0\.8h
+ *[0-9a-f]+: 0e21281f xtn v31\.8b, v0\.8h
+ *[0-9a-f]+: 0e212be0 xtn v0\.8b, v31\.8h
+ *[0-9a-f]+: 0e612800 xtn v0\.4h, v0\.4s
+ *[0-9a-f]+: 0e61281f xtn v31\.4h, v0\.4s
+ *[0-9a-f]+: 0e612be0 xtn v0\.4h, v31\.4s
+ *[0-9a-f]+: 0ea12800 xtn v0\.2s, v0\.2d
+ *[0-9a-f]+: 0ea1281f xtn v31\.2s, v0\.2d
+ *[0-9a-f]+: 0ea12be0 xtn v0\.2s, v31\.2d
+ *[0-9a-f]+: 4e212800 xtn2 v0\.16b, v0\.8h
+ *[0-9a-f]+: 4e21281f xtn2 v31\.16b, v0\.8h
+ *[0-9a-f]+: 4e212be0 xtn2 v0\.16b, v31\.8h
+ *[0-9a-f]+: 4e612800 xtn2 v0\.8h, v0\.4s
+ *[0-9a-f]+: 4e61281f xtn2 v31\.8h, v0\.4s
+ *[0-9a-f]+: 4e612be0 xtn2 v0\.8h, v31\.4s
+ *[0-9a-f]+: 4ea12800 xtn2 v0\.4s, v0\.2d
+ *[0-9a-f]+: 4ea1281f xtn2 v31\.4s, v0\.2d
+ *[0-9a-f]+: 4ea12be0 xtn2 v0\.4s, v31\.2d
+ *[0-9a-f]+: 0e214800 sqxtn v0\.8b, v0\.8h
+ *[0-9a-f]+: 0e21481f sqxtn v31\.8b, v0\.8h
+ *[0-9a-f]+: 0e214be0 sqxtn v0\.8b, v31\.8h
+ *[0-9a-f]+: 0e614800 sqxtn v0\.4h, v0\.4s
+ *[0-9a-f]+: 0e61481f sqxtn v31\.4h, v0\.4s
+ *[0-9a-f]+: 0e614be0 sqxtn v0\.4h, v31\.4s
+ *[0-9a-f]+: 0ea14800 sqxtn v0\.2s, v0\.2d
+ *[0-9a-f]+: 0ea1481f sqxtn v31\.2s, v0\.2d
+ *[0-9a-f]+: 0ea14be0 sqxtn v0\.2s, v31\.2d
+ *[0-9a-f]+: 4e214800 sqxtn2 v0\.16b, v0\.8h
+ *[0-9a-f]+: 4e21481f sqxtn2 v31\.16b, v0\.8h
+ *[0-9a-f]+: 4e214be0 sqxtn2 v0\.16b, v31\.8h
+ *[0-9a-f]+: 4e614800 sqxtn2 v0\.8h, v0\.4s
+ *[0-9a-f]+: 4e61481f sqxtn2 v31\.8h, v0\.4s
+ *[0-9a-f]+: 4e614be0 sqxtn2 v0\.8h, v31\.4s
+ *[0-9a-f]+: 4ea14800 sqxtn2 v0\.4s, v0\.2d
+ *[0-9a-f]+: 4ea1481f sqxtn2 v31\.4s, v0\.2d
+ *[0-9a-f]+: 4ea14be0 sqxtn2 v0\.4s, v31\.2d
+ *[0-9a-f]+: 0e216800 fcvtn v0\.4h, v0\.4s
+ *[0-9a-f]+: 0e21681f fcvtn v31\.4h, v0\.4s
+ *[0-9a-f]+: 0e216be0 fcvtn v0\.4h, v31\.4s
+ *[0-9a-f]+: 0e616800 fcvtn v0\.2s, v0\.2d
+ *[0-9a-f]+: 0e61681f fcvtn v31\.2s, v0\.2d
+ *[0-9a-f]+: 0e616be0 fcvtn v0\.2s, v31\.2d
+ *[0-9a-f]+: 4e216800 fcvtn2 v0\.8h, v0\.4s
+ *[0-9a-f]+: 4e21681f fcvtn2 v31\.8h, v0\.4s
+ *[0-9a-f]+: 4e216be0 fcvtn2 v0\.8h, v31\.4s
+ *[0-9a-f]+: 4e616800 fcvtn2 v0\.4s, v0\.2d
+ *[0-9a-f]+: 4e61681f fcvtn2 v31\.4s, v0\.2d
+ *[0-9a-f]+: 4e616be0 fcvtn2 v0\.4s, v31\.2d
+ *[0-9a-f]+: 0e217800 fcvtl v0\.4s, v0\.4h
+ *[0-9a-f]+: 0e21781f fcvtl v31\.4s, v0\.4h
+ *[0-9a-f]+: 0e217be0 fcvtl v0\.4s, v31\.4h
+ *[0-9a-f]+: 0e617800 fcvtl v0\.2d, v0\.2s
+ *[0-9a-f]+: 0e61781f fcvtl v31\.2d, v0\.2s
+ *[0-9a-f]+: 0e617be0 fcvtl v0\.2d, v31\.2s
+ *[0-9a-f]+: 4e217800 fcvtl2 v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e21781f fcvtl2 v31\.4s, v0\.8h
+ *[0-9a-f]+: 4e217be0 fcvtl2 v0\.4s, v31\.8h
+ *[0-9a-f]+: 4e617800 fcvtl2 v0\.2d, v0\.4s
+ *[0-9a-f]+: 4e61781f fcvtl2 v31\.2d, v0\.4s
+ *[0-9a-f]+: 4e617be0 fcvtl2 v0\.2d, v31\.4s
+ *[0-9a-f]+: 2e212800 sqxtun v0\.8b, v0\.8h
+ *[0-9a-f]+: 2e21281f sqxtun v31\.8b, v0\.8h
+ *[0-9a-f]+: 2e212be0 sqxtun v0\.8b, v31\.8h
+ *[0-9a-f]+: 2e612800 sqxtun v0\.4h, v0\.4s
+ *[0-9a-f]+: 2e61281f sqxtun v31\.4h, v0\.4s
+ *[0-9a-f]+: 2e612be0 sqxtun v0\.4h, v31\.4s
+ *[0-9a-f]+: 2ea12800 sqxtun v0\.2s, v0\.2d
+ *[0-9a-f]+: 2ea1281f sqxtun v31\.2s, v0\.2d
+ *[0-9a-f]+: 2ea12be0 sqxtun v0\.2s, v31\.2d
+ *[0-9a-f]+: 6e212800 sqxtun2 v0\.16b, v0\.8h
+ *[0-9a-f]+: 6e21281f sqxtun2 v31\.16b, v0\.8h
+ *[0-9a-f]+: 6e212be0 sqxtun2 v0\.16b, v31\.8h
+ *[0-9a-f]+: 6e612800 sqxtun2 v0\.8h, v0\.4s
+ *[0-9a-f]+: 6e61281f sqxtun2 v31\.8h, v0\.4s
+ *[0-9a-f]+: 6e612be0 sqxtun2 v0\.8h, v31\.4s
+ *[0-9a-f]+: 6ea12800 sqxtun2 v0\.4s, v0\.2d
+ *[0-9a-f]+: 6ea1281f sqxtun2 v31\.4s, v0\.2d
+ *[0-9a-f]+: 6ea12be0 sqxtun2 v0\.4s, v31\.2d
+ *[0-9a-f]+: 2e213800 shll v0\.8h, v0\.8b, #8
+ *[0-9a-f]+: 2e21381f shll v31\.8h, v0\.8b, #8
+ *[0-9a-f]+: 2e213be0 shll v0\.8h, v31\.8b, #8
+ *[0-9a-f]+: 2e613800 shll v0\.4s, v0\.4h, #16
+ *[0-9a-f]+: 2e61381f shll v31\.4s, v0\.4h, #16
+ *[0-9a-f]+: 2e613be0 shll v0\.4s, v31\.4h, #16
+ *[0-9a-f]+: 2ea13800 shll v0\.2d, v0\.2s, #32
+ *[0-9a-f]+: 2ea1381f shll v31\.2d, v0\.2s, #32
+ *[0-9a-f]+: 2ea13be0 shll v0\.2d, v31\.2s, #32
+ *[0-9a-f]+: 6e213800 shll2 v0\.8h, v0\.16b, #8
+ *[0-9a-f]+: 6e21381f shll2 v31\.8h, v0\.16b, #8
+ *[0-9a-f]+: 6e213be0 shll2 v0\.8h, v31\.16b, #8
+ *[0-9a-f]+: 6e613800 shll2 v0\.4s, v0\.8h, #16
+ *[0-9a-f]+: 6e61381f shll2 v31\.4s, v0\.8h, #16
+ *[0-9a-f]+: 6e613be0 shll2 v0\.4s, v31\.8h, #16
+ *[0-9a-f]+: 6ea13800 shll2 v0\.2d, v0\.4s, #32
+ *[0-9a-f]+: 6ea1381f shll2 v31\.2d, v0\.4s, #32
+ *[0-9a-f]+: 6ea13be0 shll2 v0\.2d, v31\.4s, #32
+ *[0-9a-f]+: 2e214800 uqxtn v0\.8b, v0\.8h
+ *[0-9a-f]+: 2e21481f uqxtn v31\.8b, v0\.8h
+ *[0-9a-f]+: 2e214be0 uqxtn v0\.8b, v31\.8h
+ *[0-9a-f]+: 2e614800 uqxtn v0\.4h, v0\.4s
+ *[0-9a-f]+: 2e61481f uqxtn v31\.4h, v0\.4s
+ *[0-9a-f]+: 2e614be0 uqxtn v0\.4h, v31\.4s
+ *[0-9a-f]+: 2ea14800 uqxtn v0\.2s, v0\.2d
+ *[0-9a-f]+: 2ea1481f uqxtn v31\.2s, v0\.2d
+ *[0-9a-f]+: 2ea14be0 uqxtn v0\.2s, v31\.2d
+ *[0-9a-f]+: 6e214800 uqxtn2 v0\.16b, v0\.8h
+ *[0-9a-f]+: 6e21481f uqxtn2 v31\.16b, v0\.8h
+ *[0-9a-f]+: 6e214be0 uqxtn2 v0\.16b, v31\.8h
+ *[0-9a-f]+: 6e614800 uqxtn2 v0\.8h, v0\.4s
+ *[0-9a-f]+: 6e61481f uqxtn2 v31\.8h, v0\.4s
+ *[0-9a-f]+: 6e614be0 uqxtn2 v0\.8h, v31\.4s
+ *[0-9a-f]+: 6ea14800 uqxtn2 v0\.4s, v0\.2d
+ *[0-9a-f]+: 6ea1481f uqxtn2 v31\.4s, v0\.2d
+ *[0-9a-f]+: 6ea14be0 uqxtn2 v0\.4s, v31\.2d
+ *[0-9a-f]+: 2e616800 fcvtxn v0\.2s, v0\.2d
+ *[0-9a-f]+: 2e61681f fcvtxn v31\.2s, v0\.2d
+ *[0-9a-f]+: 2e616be0 fcvtxn v0\.2s, v31\.2d
+ *[0-9a-f]+: 6e616800 fcvtxn2 v0\.4s, v0\.2d
+ *[0-9a-f]+: 6e61681f fcvtxn2 v31\.4s, v0\.2d
+ *[0-9a-f]+: 6e616be0 fcvtxn2 v0\.4s, v31\.2d
diff --git a/gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.s b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.s
new file mode 100644
index 0000000..12e8868
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc-hilo.s
@@ -0,0 +1,127 @@
+ xtn v0.8b, v0.8h
+ xtn v31.8b, v0.8h
+ xtn v0.8b, v31.8h
+ xtn v0.4h, v0.4s
+ xtn v31.4h, v0.4s
+ xtn v0.4h, v31.4s
+ xtn v0.2s, v0.2d
+ xtn v31.2s, v0.2d
+ xtn v0.2s, v31.2d
+ xtn2 v0.16b, v0.8h
+ xtn2 v31.16b, v0.8h
+ xtn2 v0.16b, v31.8h
+ xtn2 v0.8h, v0.4s
+ xtn2 v31.8h, v0.4s
+ xtn2 v0.8h, v31.4s
+ xtn2 v0.4s, v0.2d
+ xtn2 v31.4s, v0.2d
+ xtn2 v0.4s, v31.2d
+
+ sqxtn v0.8b, v0.8h
+ sqxtn v31.8b, v0.8h
+ sqxtn v0.8b, v31.8h
+ sqxtn v0.4h, v0.4s
+ sqxtn v31.4h, v0.4s
+ sqxtn v0.4h, v31.4s
+ sqxtn v0.2s, v0.2d
+ sqxtn v31.2s, v0.2d
+ sqxtn v0.2s, v31.2d
+ sqxtn2 v0.16b, v0.8h
+ sqxtn2 v31.16b, v0.8h
+ sqxtn2 v0.16b, v31.8h
+ sqxtn2 v0.8h, v0.4s
+ sqxtn2 v31.8h, v0.4s
+ sqxtn2 v0.8h, v31.4s
+ sqxtn2 v0.4s, v0.2d
+ sqxtn2 v31.4s, v0.2d
+ sqxtn2 v0.4s, v31.2d
+
+ fcvtn v0.4h, v0.4s
+ fcvtn v31.4h, v0.4s
+ fcvtn v0.4h, v31.4s
+ fcvtn v0.2s, v0.2d
+ fcvtn v31.2s, v0.2d
+ fcvtn v0.2s, v31.2d
+ fcvtn2 v0.8h, v0.4s
+ fcvtn2 v31.8h, v0.4s
+ fcvtn2 v0.8h, v31.4s
+ fcvtn2 v0.4s, v0.2d
+ fcvtn2 v31.4s, v0.2d
+ fcvtn2 v0.4s, v31.2d
+
+ fcvtl v0.4s, v0.4h
+ fcvtl v31.4s, v0.4h
+ fcvtl v0.4s, v31.4h
+ fcvtl v0.2d, v0.2s
+ fcvtl v31.2d, v0.2s
+ fcvtl v0.2d, v31.2s
+ fcvtl2 v0.4s, v0.8h
+ fcvtl2 v31.4s, v0.8h
+ fcvtl2 v0.4s, v31.8h
+ fcvtl2 v0.2d, v0.4s
+ fcvtl2 v31.2d, v0.4s
+ fcvtl2 v0.2d, v31.4s
+
+ sqxtun v0.8b, v0.8h
+ sqxtun v31.8b, v0.8h
+ sqxtun v0.8b, v31.8h
+ sqxtun v0.4h, v0.4s
+ sqxtun v31.4h, v0.4s
+ sqxtun v0.4h, v31.4s
+ sqxtun v0.2s, v0.2d
+ sqxtun v31.2s, v0.2d
+ sqxtun v0.2s, v31.2d
+ sqxtun2 v0.16b, v0.8h
+ sqxtun2 v31.16b, v0.8h
+ sqxtun2 v0.16b, v31.8h
+ sqxtun2 v0.8h, v0.4s
+ sqxtun2 v31.8h, v0.4s
+ sqxtun2 v0.8h, v31.4s
+ sqxtun2 v0.4s, v0.2d
+ sqxtun2 v31.4s, v0.2d
+ sqxtun2 v0.4s, v31.2d
+
+ shll v0.8h, v0.8b, #8
+ shll v31.8h, v0.8b, #8
+ shll v0.8h, v31.8b, #8
+ shll v0.4s, v0.4h, #16
+ shll v31.4s, v0.4h, #16
+ shll v0.4s, v31.4h, #16
+ shll v0.2d, v0.2s, #32
+ shll v31.2d, v0.2s, #32
+ shll v0.2d, v31.2s, #32
+ shll2 v0.8h, v0.16b, #8
+ shll2 v31.8h, v0.16b, #8
+ shll2 v0.8h, v31.16b, #8
+ shll2 v0.4s, v0.8h, #16
+ shll2 v31.4s, v0.8h, #16
+ shll2 v0.4s, v31.8h, #16
+ shll2 v0.2d, v0.4s, #32
+ shll2 v31.2d, v0.4s, #32
+ shll2 v0.2d, v31.4s, #32
+
+ uqxtn v0.8b, v0.8h
+ uqxtn v31.8b, v0.8h
+ uqxtn v0.8b, v31.8h
+ uqxtn v0.4h, v0.4s
+ uqxtn v31.4h, v0.4s
+ uqxtn v0.4h, v31.4s
+ uqxtn v0.2s, v0.2d
+ uqxtn v31.2s, v0.2d
+ uqxtn v0.2s, v31.2d
+ uqxtn2 v0.16b, v0.8h
+ uqxtn2 v31.16b, v0.8h
+ uqxtn2 v0.16b, v31.8h
+ uqxtn2 v0.8h, v0.4s
+ uqxtn2 v31.8h, v0.4s
+ uqxtn2 v0.8h, v31.4s
+ uqxtn2 v0.4s, v0.2d
+ uqxtn2 v31.4s, v0.2d
+ uqxtn2 v0.4s, v31.2d
+
+ fcvtxn v0.2s, v0.2d
+ fcvtxn v31.2s, v0.2d
+ fcvtxn v0.2s, v31.2d
+ fcvtxn2 v0.4s, v0.2d
+ fcvtxn2 v31.4s, v0.2d
+ fcvtxn2 v0.4s, v31.2d
diff --git a/gas/testsuite/gas/aarch64/advsimd-two-reg-misc.d b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc.d
new file mode 100644
index 0000000..cf9d93c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc.d
@@ -0,0 +1,408 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0e200800 rev64 v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20081f rev64 v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e200be0 rev64 v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e600800 rev64 v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60081f rev64 v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e600be0 rev64 v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea00800 rev64 v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0081f rev64 v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ea00be0 rev64 v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e200800 rev64 v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20081f rev64 v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e200be0 rev64 v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e600800 rev64 v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60081f rev64 v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e600be0 rev64 v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea00800 rev64 v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0081f rev64 v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ea00be0 rev64 v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e201800 rev16 v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20181f rev16 v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e201be0 rev16 v0\.8b, v31\.8b
+ *[0-9a-f]+: 4e201800 rev16 v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20181f rev16 v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e201be0 rev16 v0\.16b, v31\.16b
+ *[0-9a-f]+: 0e202800 saddlp v0\.4h, v0\.8b
+ *[0-9a-f]+: 0e20281f saddlp v31\.4h, v0\.8b
+ *[0-9a-f]+: 0e202be0 saddlp v0\.4h, v31\.8b
+ *[0-9a-f]+: 0e602800 saddlp v0\.2s, v0\.4h
+ *[0-9a-f]+: 0e60281f saddlp v31\.2s, v0\.4h
+ *[0-9a-f]+: 0e602be0 saddlp v0\.2s, v31\.4h
+ *[0-9a-f]+: 0ea02800 saddlp v0\.1d, v0\.2s
+ *[0-9a-f]+: 0ea0281f saddlp v31\.1d, v0\.2s
+ *[0-9a-f]+: 0ea02be0 saddlp v0\.1d, v31\.2s
+ *[0-9a-f]+: 4e202800 saddlp v0\.8h, v0\.16b
+ *[0-9a-f]+: 4e20281f saddlp v31\.8h, v0\.16b
+ *[0-9a-f]+: 4e202be0 saddlp v0\.8h, v31\.16b
+ *[0-9a-f]+: 4e602800 saddlp v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e60281f saddlp v31\.4s, v0\.8h
+ *[0-9a-f]+: 4e602be0 saddlp v0\.4s, v31\.8h
+ *[0-9a-f]+: 4ea02800 saddlp v0\.2d, v0\.4s
+ *[0-9a-f]+: 4ea0281f saddlp v31\.2d, v0\.4s
+ *[0-9a-f]+: 4ea02be0 saddlp v0\.2d, v31\.4s
+ *[0-9a-f]+: 0e203800 suqadd v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20381f suqadd v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e203be0 suqadd v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e603800 suqadd v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60381f suqadd v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e603be0 suqadd v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea03800 suqadd v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0381f suqadd v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ea03be0 suqadd v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e203800 suqadd v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20381f suqadd v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e203be0 suqadd v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e603800 suqadd v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60381f suqadd v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e603be0 suqadd v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea03800 suqadd v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0381f suqadd v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ea03be0 suqadd v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee03800 suqadd v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0381f suqadd v31\.2d, v0\.2d
+ *[0-9a-f]+: 4ee03be0 suqadd v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e204800 cls v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20481f cls v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e204be0 cls v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e604800 cls v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60481f cls v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e604be0 cls v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea04800 cls v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0481f cls v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ea04be0 cls v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e204800 cls v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20481f cls v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e204be0 cls v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e604800 cls v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60481f cls v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e604be0 cls v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea04800 cls v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0481f cls v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ea04be0 cls v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e205800 cnt v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20581f cnt v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e205be0 cnt v0\.8b, v31\.8b
+ *[0-9a-f]+: 4e205800 cnt v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20581f cnt v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e205be0 cnt v0\.16b, v31\.16b
+ *[0-9a-f]+: 0e206800 sadalp v0\.4h, v0\.8b
+ *[0-9a-f]+: 0e20681f sadalp v31\.4h, v0\.8b
+ *[0-9a-f]+: 0e206be0 sadalp v0\.4h, v31\.8b
+ *[0-9a-f]+: 0e606800 sadalp v0\.2s, v0\.4h
+ *[0-9a-f]+: 0e60681f sadalp v31\.2s, v0\.4h
+ *[0-9a-f]+: 0e606be0 sadalp v0\.2s, v31\.4h
+ *[0-9a-f]+: 0ea06800 sadalp v0\.1d, v0\.2s
+ *[0-9a-f]+: 0ea0681f sadalp v31\.1d, v0\.2s
+ *[0-9a-f]+: 0ea06be0 sadalp v0\.1d, v31\.2s
+ *[0-9a-f]+: 4e206800 sadalp v0\.8h, v0\.16b
+ *[0-9a-f]+: 4e20681f sadalp v31\.8h, v0\.16b
+ *[0-9a-f]+: 4e206be0 sadalp v0\.8h, v31\.16b
+ *[0-9a-f]+: 4e606800 sadalp v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e60681f sadalp v31\.4s, v0\.8h
+ *[0-9a-f]+: 4e606be0 sadalp v0\.4s, v31\.8h
+ *[0-9a-f]+: 4ea06800 sadalp v0\.2d, v0\.4s
+ *[0-9a-f]+: 4ea0681f sadalp v31\.2d, v0\.4s
+ *[0-9a-f]+: 4ea06be0 sadalp v0\.2d, v31\.4s
+ *[0-9a-f]+: 0e207800 sqabs v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20781f sqabs v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e207be0 sqabs v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e607800 sqabs v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60781f sqabs v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e607be0 sqabs v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea07800 sqabs v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0781f sqabs v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ea07be0 sqabs v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e207800 sqabs v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20781f sqabs v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e207be0 sqabs v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e607800 sqabs v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60781f sqabs v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e607be0 sqabs v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea07800 sqabs v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0781f sqabs v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ea07be0 sqabs v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee07800 sqabs v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0781f sqabs v31\.2d, v0\.2d
+ *[0-9a-f]+: 4ee07be0 sqabs v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e208800 cmgt v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0e20881f cmgt v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0e208be0 cmgt v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 0e608800 cmgt v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0e60881f cmgt v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0e608be0 cmgt v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 0ea08800 cmgt v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0ea0881f cmgt v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0ea08be0 cmgt v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 4e208800 cmgt v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4e20881f cmgt v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4e208be0 cmgt v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 4e608800 cmgt v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4e60881f cmgt v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4e608be0 cmgt v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 4ea08800 cmgt v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4ea0881f cmgt v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4ea08be0 cmgt v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 4ee08800 cmgt v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4ee0881f cmgt v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4ee08be0 cmgt v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 0e209800 cmeq v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0e20981f cmeq v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0e209be0 cmeq v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 0e609800 cmeq v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0e60981f cmeq v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0e609be0 cmeq v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 0ea09800 cmeq v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0ea0981f cmeq v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0ea09be0 cmeq v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 4e209800 cmeq v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4e20981f cmeq v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4e209be0 cmeq v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 4e609800 cmeq v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4e60981f cmeq v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4e609be0 cmeq v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 4ea09800 cmeq v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4ea0981f cmeq v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4ea09be0 cmeq v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 4ee09800 cmeq v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4ee0981f cmeq v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4ee09be0 cmeq v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 0e20a800 cmlt v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0e20a81f cmlt v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 0e20abe0 cmlt v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 0e60a800 cmlt v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0e60a81f cmlt v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 0e60abe0 cmlt v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 0ea0a800 cmlt v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0ea0a81f cmlt v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 0ea0abe0 cmlt v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 4e20a800 cmlt v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4e20a81f cmlt v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 4e20abe0 cmlt v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 4e60a800 cmlt v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4e60a81f cmlt v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 4e60abe0 cmlt v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 4ea0a800 cmlt v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4ea0a81f cmlt v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 4ea0abe0 cmlt v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 4ee0a800 cmlt v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4ee0a81f cmlt v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 4ee0abe0 cmlt v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 0e20b800 abs v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20b81f abs v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e20bbe0 abs v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e60b800 abs v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60b81f abs v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e60bbe0 abs v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0b800 abs v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0b81f abs v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0bbe0 abs v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e20b800 abs v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20b81f abs v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e20bbe0 abs v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e60b800 abs v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60b81f abs v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e60bbe0 abs v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0b800 abs v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0b81f abs v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0bbe0 abs v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ee0b800 abs v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0b81f abs v31\.2d, v0\.2d
+ *[0-9a-f]+: 4ee0bbe0 abs v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e200800 rev32 v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20081f rev32 v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e200be0 rev32 v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e600800 rev32 v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60081f rev32 v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e600be0 rev32 v0\.4h, v31\.4h
+ *[0-9a-f]+: 6e200800 rev32 v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20081f rev32 v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e200be0 rev32 v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e600800 rev32 v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60081f rev32 v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e600be0 rev32 v0\.8h, v31\.8h
+ *[0-9a-f]+: 2e202800 uaddlp v0\.4h, v0\.8b
+ *[0-9a-f]+: 2e20281f uaddlp v31\.4h, v0\.8b
+ *[0-9a-f]+: 2e202be0 uaddlp v0\.4h, v31\.8b
+ *[0-9a-f]+: 2e602800 uaddlp v0\.2s, v0\.4h
+ *[0-9a-f]+: 2e60281f uaddlp v31\.2s, v0\.4h
+ *[0-9a-f]+: 2e602be0 uaddlp v0\.2s, v31\.4h
+ *[0-9a-f]+: 2ea02800 uaddlp v0\.1d, v0\.2s
+ *[0-9a-f]+: 2ea0281f uaddlp v31\.1d, v0\.2s
+ *[0-9a-f]+: 2ea02be0 uaddlp v0\.1d, v31\.2s
+ *[0-9a-f]+: 6e202800 uaddlp v0\.8h, v0\.16b
+ *[0-9a-f]+: 6e20281f uaddlp v31\.8h, v0\.16b
+ *[0-9a-f]+: 6e202be0 uaddlp v0\.8h, v31\.16b
+ *[0-9a-f]+: 6e602800 uaddlp v0\.4s, v0\.8h
+ *[0-9a-f]+: 6e60281f uaddlp v31\.4s, v0\.8h
+ *[0-9a-f]+: 6e602be0 uaddlp v0\.4s, v31\.8h
+ *[0-9a-f]+: 6ea02800 uaddlp v0\.2d, v0\.4s
+ *[0-9a-f]+: 6ea0281f uaddlp v31\.2d, v0\.4s
+ *[0-9a-f]+: 6ea02be0 uaddlp v0\.2d, v31\.4s
+ *[0-9a-f]+: 2e203800 usqadd v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20381f usqadd v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e203be0 usqadd v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e603800 usqadd v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60381f usqadd v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e603be0 usqadd v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea03800 usqadd v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0381f usqadd v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ea03be0 usqadd v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e203800 usqadd v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20381f usqadd v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e203be0 usqadd v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e603800 usqadd v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60381f usqadd v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e603be0 usqadd v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea03800 usqadd v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0381f usqadd v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ea03be0 usqadd v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee03800 usqadd v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0381f usqadd v31\.2d, v0\.2d
+ *[0-9a-f]+: 6ee03be0 usqadd v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e204800 clz v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20481f clz v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e204be0 clz v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e604800 clz v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60481f clz v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e604be0 clz v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea04800 clz v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0481f clz v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ea04be0 clz v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e204800 clz v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20481f clz v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e204be0 clz v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e604800 clz v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60481f clz v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e604be0 clz v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea04800 clz v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0481f clz v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ea04be0 clz v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e205800 mvn v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20581f mvn v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e205be0 mvn v0\.8b, v31\.8b
+ *[0-9a-f]+: 6e205800 mvn v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20581f mvn v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e205be0 mvn v0\.16b, v31\.16b
+ *[0-9a-f]+: 2e205800 mvn v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20581f mvn v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e205be0 mvn v0\.8b, v31\.8b
+ *[0-9a-f]+: 6e205800 mvn v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20581f mvn v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e205be0 mvn v0\.16b, v31\.16b
+ *[0-9a-f]+: 2e605800 rbit v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e60581f rbit v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e605be0 rbit v0\.8b, v31\.8b
+ *[0-9a-f]+: 6e605800 rbit v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e60581f rbit v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e605be0 rbit v0\.16b, v31\.16b
+ *[0-9a-f]+: 2e206800 uadalp v0\.4h, v0\.8b
+ *[0-9a-f]+: 2e20681f uadalp v31\.4h, v0\.8b
+ *[0-9a-f]+: 2e206be0 uadalp v0\.4h, v31\.8b
+ *[0-9a-f]+: 2e606800 uadalp v0\.2s, v0\.4h
+ *[0-9a-f]+: 2e60681f uadalp v31\.2s, v0\.4h
+ *[0-9a-f]+: 2e606be0 uadalp v0\.2s, v31\.4h
+ *[0-9a-f]+: 2ea06800 uadalp v0\.1d, v0\.2s
+ *[0-9a-f]+: 2ea0681f uadalp v31\.1d, v0\.2s
+ *[0-9a-f]+: 2ea06be0 uadalp v0\.1d, v31\.2s
+ *[0-9a-f]+: 6e206800 uadalp v0\.8h, v0\.16b
+ *[0-9a-f]+: 6e20681f uadalp v31\.8h, v0\.16b
+ *[0-9a-f]+: 6e206be0 uadalp v0\.8h, v31\.16b
+ *[0-9a-f]+: 6e606800 uadalp v0\.4s, v0\.8h
+ *[0-9a-f]+: 6e60681f uadalp v31\.4s, v0\.8h
+ *[0-9a-f]+: 6e606be0 uadalp v0\.4s, v31\.8h
+ *[0-9a-f]+: 6ea06800 uadalp v0\.2d, v0\.4s
+ *[0-9a-f]+: 6ea0681f uadalp v31\.2d, v0\.4s
+ *[0-9a-f]+: 6ea06be0 uadalp v0\.2d, v31\.4s
+ *[0-9a-f]+: 2e207800 sqneg v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20781f sqneg v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e207be0 sqneg v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e607800 sqneg v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60781f sqneg v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e607be0 sqneg v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea07800 sqneg v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0781f sqneg v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ea07be0 sqneg v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e207800 sqneg v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20781f sqneg v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e207be0 sqneg v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e607800 sqneg v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60781f sqneg v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e607be0 sqneg v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea07800 sqneg v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0781f sqneg v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ea07be0 sqneg v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee07800 sqneg v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0781f sqneg v31\.2d, v0\.2d
+ *[0-9a-f]+: 6ee07be0 sqneg v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e208800 cmge v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e20881f cmge v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e208be0 cmge v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 2e608800 cmge v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2e60881f cmge v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2e608be0 cmge v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 2ea08800 cmge v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2ea0881f cmge v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2ea08be0 cmge v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 6e208800 cmge v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e20881f cmge v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e208be0 cmge v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 6e608800 cmge v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6e60881f cmge v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6e608be0 cmge v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 6ea08800 cmge v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6ea0881f cmge v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6ea08be0 cmge v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 6ee08800 cmge v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6ee0881f cmge v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6ee08be0 cmge v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 2e209800 cmle v0\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e20981f cmle v31\.8b, v0\.8b, #0
+ *[0-9a-f]+: 2e209be0 cmle v0\.8b, v31\.8b, #0
+ *[0-9a-f]+: 2e609800 cmle v0\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2e60981f cmle v31\.4h, v0\.4h, #0
+ *[0-9a-f]+: 2e609be0 cmle v0\.4h, v31\.4h, #0
+ *[0-9a-f]+: 2ea09800 cmle v0\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2ea0981f cmle v31\.2s, v0\.2s, #0
+ *[0-9a-f]+: 2ea09be0 cmle v0\.2s, v31\.2s, #0
+ *[0-9a-f]+: 6e209800 cmle v0\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e20981f cmle v31\.16b, v0\.16b, #0
+ *[0-9a-f]+: 6e209be0 cmle v0\.16b, v31\.16b, #0
+ *[0-9a-f]+: 6e609800 cmle v0\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6e60981f cmle v31\.8h, v0\.8h, #0
+ *[0-9a-f]+: 6e609be0 cmle v0\.8h, v31\.8h, #0
+ *[0-9a-f]+: 6ea09800 cmle v0\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6ea0981f cmle v31\.4s, v0\.4s, #0
+ *[0-9a-f]+: 6ea09be0 cmle v0\.4s, v31\.4s, #0
+ *[0-9a-f]+: 6ee09800 cmle v0\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6ee0981f cmle v31\.2d, v0\.2d, #0
+ *[0-9a-f]+: 6ee09be0 cmle v0\.2d, v31\.2d, #0
+ *[0-9a-f]+: 2e20b800 neg v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20b81f neg v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e20bbe0 neg v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e60b800 neg v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60b81f neg v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e60bbe0 neg v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea0b800 neg v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0b81f neg v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0bbe0 neg v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e20b800 neg v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20b81f neg v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e20bbe0 neg v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e60b800 neg v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60b81f neg v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e60bbe0 neg v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea0b800 neg v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0b81f neg v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0bbe0 neg v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ee0b800 neg v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0b81f neg v31\.2d, v0\.2d
+ *[0-9a-f]+: 6ee0bbe0 neg v0\.2d, v31\.2d
diff --git a/gas/testsuite/gas/aarch64/advsimd-two-reg-misc.s b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc.s
new file mode 100644
index 0000000..6a66ff7
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-two-reg-misc.s
@@ -0,0 +1,422 @@
+ rev64 v0.8b, v0.8b
+ rev64 v31.8b, v0.8b
+ rev64 v0.8b, v31.8b
+ rev64 v0.4h, v0.4h
+ rev64 v31.4h, v0.4h
+ rev64 v0.4h, v31.4h
+ rev64 v0.2s, v0.2s
+ rev64 v31.2s, v0.2s
+ rev64 v0.2s, v31.2s
+ rev64 v0.16b, v0.16b
+ rev64 v31.16b, v0.16b
+ rev64 v0.16b, v31.16b
+ rev64 v0.8h, v0.8h
+ rev64 v31.8h, v0.8h
+ rev64 v0.8h, v31.8h
+ rev64 v0.4s, v0.4s
+ rev64 v31.4s, v0.4s
+ rev64 v0.4s, v31.4s
+
+ rev16 v0.8b, v0.8b
+ rev16 v31.8b, v0.8b
+ rev16 v0.8b, v31.8b
+ rev16 v0.16b, v0.16b
+ rev16 v31.16b, v0.16b
+ rev16 v0.16b, v31.16b
+
+ saddlp v0.4h, v0.8b
+ saddlp v31.4h, v0.8b
+ saddlp v0.4h, v31.8b
+ saddlp v0.2s, v0.4h
+ saddlp v31.2s, v0.4h
+ saddlp v0.2s, v31.4h
+ saddlp v0.1d, v0.2s
+ saddlp v31.1d, v0.2s
+ saddlp v0.1d, v31.2s
+ saddlp v0.8h, v0.16b
+ saddlp v31.8h, v0.16b
+ saddlp v0.8h, v31.16b
+ saddlp v0.4s, v0.8h
+ saddlp v31.4s, v0.8h
+ saddlp v0.4s, v31.8h
+ saddlp v0.2d, v0.4s
+ saddlp v31.2d, v0.4s
+ saddlp v0.2d, v31.4s
+
+ suqadd v0.8b, v0.8b
+ suqadd v31.8b, v0.8b
+ suqadd v0.8b, v31.8b
+ suqadd v0.4h, v0.4h
+ suqadd v31.4h, v0.4h
+ suqadd v0.4h, v31.4h
+ suqadd v0.2s, v0.2s
+ suqadd v31.2s, v0.2s
+ suqadd v0.2s, v31.2s
+ suqadd v0.16b, v0.16b
+ suqadd v31.16b, v0.16b
+ suqadd v0.16b, v31.16b
+ suqadd v0.8h, v0.8h
+ suqadd v31.8h, v0.8h
+ suqadd v0.8h, v31.8h
+ suqadd v0.4s, v0.4s
+ suqadd v31.4s, v0.4s
+ suqadd v0.4s, v31.4s
+ suqadd v0.2d, v0.2d
+ suqadd v31.2d, v0.2d
+ suqadd v0.2d, v31.2d
+
+ cls v0.8b, v0.8b
+ cls v31.8b, v0.8b
+ cls v0.8b, v31.8b
+ cls v0.4h, v0.4h
+ cls v31.4h, v0.4h
+ cls v0.4h, v31.4h
+ cls v0.2s, v0.2s
+ cls v31.2s, v0.2s
+ cls v0.2s, v31.2s
+ cls v0.16b, v0.16b
+ cls v31.16b, v0.16b
+ cls v0.16b, v31.16b
+ cls v0.8h, v0.8h
+ cls v31.8h, v0.8h
+ cls v0.8h, v31.8h
+ cls v0.4s, v0.4s
+ cls v31.4s, v0.4s
+ cls v0.4s, v31.4s
+
+ cnt v0.8b, v0.8b
+ cnt v31.8b, v0.8b
+ cnt v0.8b, v31.8b
+ cnt v0.16b, v0.16b
+ cnt v31.16b, v0.16b
+ cnt v0.16b, v31.16b
+
+ sadalp v0.4h, v0.8b
+ sadalp v31.4h, v0.8b
+ sadalp v0.4h, v31.8b
+ sadalp v0.2s, v0.4h
+ sadalp v31.2s, v0.4h
+ sadalp v0.2s, v31.4h
+ sadalp v0.1d, v0.2s
+ sadalp v31.1d, v0.2s
+ sadalp v0.1d, v31.2s
+ sadalp v0.8h, v0.16b
+ sadalp v31.8h, v0.16b
+ sadalp v0.8h, v31.16b
+ sadalp v0.4s, v0.8h
+ sadalp v31.4s, v0.8h
+ sadalp v0.4s, v31.8h
+ sadalp v0.2d, v0.4s
+ sadalp v31.2d, v0.4s
+ sadalp v0.2d, v31.4s
+
+ sqabs v0.8b, v0.8b
+ sqabs v31.8b, v0.8b
+ sqabs v0.8b, v31.8b
+ sqabs v0.4h, v0.4h
+ sqabs v31.4h, v0.4h
+ sqabs v0.4h, v31.4h
+ sqabs v0.2s, v0.2s
+ sqabs v31.2s, v0.2s
+ sqabs v0.2s, v31.2s
+ sqabs v0.16b, v0.16b
+ sqabs v31.16b, v0.16b
+ sqabs v0.16b, v31.16b
+ sqabs v0.8h, v0.8h
+ sqabs v31.8h, v0.8h
+ sqabs v0.8h, v31.8h
+ sqabs v0.4s, v0.4s
+ sqabs v31.4s, v0.4s
+ sqabs v0.4s, v31.4s
+ sqabs v0.2d, v0.2d
+ sqabs v31.2d, v0.2d
+ sqabs v0.2d, v31.2d
+
+ cmgt v0.8b, v0.8b, #0
+ cmgt v31.8b, v0.8b, #0
+ cmgt v0.8b, v31.8b, #0
+ cmgt v0.4h, v0.4h, #0
+ cmgt v31.4h, v0.4h, #0
+ cmgt v0.4h, v31.4h, #0
+ cmgt v0.2s, v0.2s, #0
+ cmgt v31.2s, v0.2s, #0
+ cmgt v0.2s, v31.2s, #0
+ cmgt v0.16b, v0.16b, #0
+ cmgt v31.16b, v0.16b, #0
+ cmgt v0.16b, v31.16b, #0
+ cmgt v0.8h, v0.8h, #0
+ cmgt v31.8h, v0.8h, #0
+ cmgt v0.8h, v31.8h, #0
+ cmgt v0.4s, v0.4s, #0
+ cmgt v31.4s, v0.4s, #0
+ cmgt v0.4s, v31.4s, #0
+ cmgt v0.2d, v0.2d, #0
+ cmgt v31.2d, v0.2d, #0
+ cmgt v0.2d, v31.2d, #0
+
+ cmeq v0.8b, v0.8b, #0
+ cmeq v31.8b, v0.8b, #0
+ cmeq v0.8b, v31.8b, #0
+ cmeq v0.4h, v0.4h, #0
+ cmeq v31.4h, v0.4h, #0
+ cmeq v0.4h, v31.4h, #0
+ cmeq v0.2s, v0.2s, #0
+ cmeq v31.2s, v0.2s, #0
+ cmeq v0.2s, v31.2s, #0
+ cmeq v0.16b, v0.16b, #0
+ cmeq v31.16b, v0.16b, #0
+ cmeq v0.16b, v31.16b, #0
+ cmeq v0.8h, v0.8h, #0
+ cmeq v31.8h, v0.8h, #0
+ cmeq v0.8h, v31.8h, #0
+ cmeq v0.4s, v0.4s, #0
+ cmeq v31.4s, v0.4s, #0
+ cmeq v0.4s, v31.4s, #0
+ cmeq v0.2d, v0.2d, #0
+ cmeq v31.2d, v0.2d, #0
+ cmeq v0.2d, v31.2d, #0
+
+ cmlt v0.8b, v0.8b, #0
+ cmlt v31.8b, v0.8b, #0
+ cmlt v0.8b, v31.8b, #0
+ cmlt v0.4h, v0.4h, #0
+ cmlt v31.4h, v0.4h, #0
+ cmlt v0.4h, v31.4h, #0
+ cmlt v0.2s, v0.2s, #0
+ cmlt v31.2s, v0.2s, #0
+ cmlt v0.2s, v31.2s, #0
+ cmlt v0.16b, v0.16b, #0
+ cmlt v31.16b, v0.16b, #0
+ cmlt v0.16b, v31.16b, #0
+ cmlt v0.8h, v0.8h, #0
+ cmlt v31.8h, v0.8h, #0
+ cmlt v0.8h, v31.8h, #0
+ cmlt v0.4s, v0.4s, #0
+ cmlt v31.4s, v0.4s, #0
+ cmlt v0.4s, v31.4s, #0
+ cmlt v0.2d, v0.2d, #0
+ cmlt v31.2d, v0.2d, #0
+ cmlt v0.2d, v31.2d, #0
+
+ abs v0.8b, v0.8b
+ abs v31.8b, v0.8b
+ abs v0.8b, v31.8b
+ abs v0.4h, v0.4h
+ abs v31.4h, v0.4h
+ abs v0.4h, v31.4h
+ abs v0.2s, v0.2s
+ abs v31.2s, v0.2s
+ abs v0.2s, v31.2s
+ abs v0.16b, v0.16b
+ abs v31.16b, v0.16b
+ abs v0.16b, v31.16b
+ abs v0.8h, v0.8h
+ abs v31.8h, v0.8h
+ abs v0.8h, v31.8h
+ abs v0.4s, v0.4s
+ abs v31.4s, v0.4s
+ abs v0.4s, v31.4s
+ abs v0.2d, v0.2d
+ abs v31.2d, v0.2d
+ abs v0.2d, v31.2d
+
+ rev32 v0.8b, v0.8b
+ rev32 v31.8b, v0.8b
+ rev32 v0.8b, v31.8b
+ rev32 v0.4h, v0.4h
+ rev32 v31.4h, v0.4h
+ rev32 v0.4h, v31.4h
+ rev32 v0.16b, v0.16b
+ rev32 v31.16b, v0.16b
+ rev32 v0.16b, v31.16b
+ rev32 v0.8h, v0.8h
+ rev32 v31.8h, v0.8h
+ rev32 v0.8h, v31.8h
+
+ uaddlp v0.4h, v0.8b
+ uaddlp v31.4h, v0.8b
+ uaddlp v0.4h, v31.8b
+ uaddlp v0.2s, v0.4h
+ uaddlp v31.2s, v0.4h
+ uaddlp v0.2s, v31.4h
+ uaddlp v0.1d, v0.2s
+ uaddlp v31.1d, v0.2s
+ uaddlp v0.1d, v31.2s
+ uaddlp v0.8h, v0.16b
+ uaddlp v31.8h, v0.16b
+ uaddlp v0.8h, v31.16b
+ uaddlp v0.4s, v0.8h
+ uaddlp v31.4s, v0.8h
+ uaddlp v0.4s, v31.8h
+ uaddlp v0.2d, v0.4s
+ uaddlp v31.2d, v0.4s
+ uaddlp v0.2d, v31.4s
+
+ usqadd v0.8b, v0.8b
+ usqadd v31.8b, v0.8b
+ usqadd v0.8b, v31.8b
+ usqadd v0.4h, v0.4h
+ usqadd v31.4h, v0.4h
+ usqadd v0.4h, v31.4h
+ usqadd v0.2s, v0.2s
+ usqadd v31.2s, v0.2s
+ usqadd v0.2s, v31.2s
+ usqadd v0.16b, v0.16b
+ usqadd v31.16b, v0.16b
+ usqadd v0.16b, v31.16b
+ usqadd v0.8h, v0.8h
+ usqadd v31.8h, v0.8h
+ usqadd v0.8h, v31.8h
+ usqadd v0.4s, v0.4s
+ usqadd v31.4s, v0.4s
+ usqadd v0.4s, v31.4s
+ usqadd v0.2d, v0.2d
+ usqadd v31.2d, v0.2d
+ usqadd v0.2d, v31.2d
+
+ clz v0.8b, v0.8b
+ clz v31.8b, v0.8b
+ clz v0.8b, v31.8b
+ clz v0.4h, v0.4h
+ clz v31.4h, v0.4h
+ clz v0.4h, v31.4h
+ clz v0.2s, v0.2s
+ clz v31.2s, v0.2s
+ clz v0.2s, v31.2s
+ clz v0.16b, v0.16b
+ clz v31.16b, v0.16b
+ clz v0.16b, v31.16b
+ clz v0.8h, v0.8h
+ clz v31.8h, v0.8h
+ clz v0.8h, v31.8h
+ clz v0.4s, v0.4s
+ clz v31.4s, v0.4s
+ clz v0.4s, v31.4s
+
+ not v0.8b, v0.8b
+ not v31.8b, v0.8b
+ not v0.8b, v31.8b
+ not v0.16b, v0.16b
+ not v31.16b, v0.16b
+ not v0.16b, v31.16b
+
+ mvn v0.8b, v0.8b
+ mvn v31.8b, v0.8b
+ mvn v0.8b, v31.8b
+ mvn v0.16b, v0.16b
+ mvn v31.16b, v0.16b
+ mvn v0.16b, v31.16b
+
+ rbit v0.8b, v0.8b
+ rbit v31.8b, v0.8b
+ rbit v0.8b, v31.8b
+ rbit v0.16b, v0.16b
+ rbit v31.16b, v0.16b
+ rbit v0.16b, v31.16b
+
+ uadalp v0.4h, v0.8b
+ uadalp v31.4h, v0.8b
+ uadalp v0.4h, v31.8b
+ uadalp v0.2s, v0.4h
+ uadalp v31.2s, v0.4h
+ uadalp v0.2s, v31.4h
+ uadalp v0.1d, v0.2s
+ uadalp v31.1d, v0.2s
+ uadalp v0.1d, v31.2s
+ uadalp v0.8h, v0.16b
+ uadalp v31.8h, v0.16b
+ uadalp v0.8h, v31.16b
+ uadalp v0.4s, v0.8h
+ uadalp v31.4s, v0.8h
+ uadalp v0.4s, v31.8h
+ uadalp v0.2d, v0.4s
+ uadalp v31.2d, v0.4s
+ uadalp v0.2d, v31.4s
+
+ sqneg v0.8b, v0.8b
+ sqneg v31.8b, v0.8b
+ sqneg v0.8b, v31.8b
+ sqneg v0.4h, v0.4h
+ sqneg v31.4h, v0.4h
+ sqneg v0.4h, v31.4h
+ sqneg v0.2s, v0.2s
+ sqneg v31.2s, v0.2s
+ sqneg v0.2s, v31.2s
+ sqneg v0.16b, v0.16b
+ sqneg v31.16b, v0.16b
+ sqneg v0.16b, v31.16b
+ sqneg v0.8h, v0.8h
+ sqneg v31.8h, v0.8h
+ sqneg v0.8h, v31.8h
+ sqneg v0.4s, v0.4s
+ sqneg v31.4s, v0.4s
+ sqneg v0.4s, v31.4s
+ sqneg v0.2d, v0.2d
+ sqneg v31.2d, v0.2d
+ sqneg v0.2d, v31.2d
+
+ cmge v0.8b, v0.8b, #0
+ cmge v31.8b, v0.8b, #0
+ cmge v0.8b, v31.8b, #0
+ cmge v0.4h, v0.4h, #0
+ cmge v31.4h, v0.4h, #0
+ cmge v0.4h, v31.4h, #0
+ cmge v0.2s, v0.2s, #0
+ cmge v31.2s, v0.2s, #0
+ cmge v0.2s, v31.2s, #0
+ cmge v0.16b, v0.16b, #0
+ cmge v31.16b, v0.16b, #0
+ cmge v0.16b, v31.16b, #0
+ cmge v0.8h, v0.8h, #0
+ cmge v31.8h, v0.8h, #0
+ cmge v0.8h, v31.8h, #0
+ cmge v0.4s, v0.4s, #0
+ cmge v31.4s, v0.4s, #0
+ cmge v0.4s, v31.4s, #0
+ cmge v0.2d, v0.2d, #0
+ cmge v31.2d, v0.2d, #0
+ cmge v0.2d, v31.2d, #0
+
+ cmle v0.8b, v0.8b, #0
+ cmle v31.8b, v0.8b, #0
+ cmle v0.8b, v31.8b, #0
+ cmle v0.4h, v0.4h, #0
+ cmle v31.4h, v0.4h, #0
+ cmle v0.4h, v31.4h, #0
+ cmle v0.2s, v0.2s, #0
+ cmle v31.2s, v0.2s, #0
+ cmle v0.2s, v31.2s, #0
+ cmle v0.16b, v0.16b, #0
+ cmle v31.16b, v0.16b, #0
+ cmle v0.16b, v31.16b, #0
+ cmle v0.8h, v0.8h, #0
+ cmle v31.8h, v0.8h, #0
+ cmle v0.8h, v31.8h, #0
+ cmle v0.4s, v0.4s, #0
+ cmle v31.4s, v0.4s, #0
+ cmle v0.4s, v31.4s, #0
+ cmle v0.2d, v0.2d, #0
+ cmle v31.2d, v0.2d, #0
+ cmle v0.2d, v31.2d, #0
+
+ neg v0.8b, v0.8b
+ neg v31.8b, v0.8b
+ neg v0.8b, v31.8b
+ neg v0.4h, v0.4h
+ neg v31.4h, v0.4h
+ neg v0.4h, v31.4h
+ neg v0.2s, v0.2s
+ neg v31.2s, v0.2s
+ neg v0.2s, v31.2s
+ neg v0.16b, v0.16b
+ neg v31.16b, v0.16b
+ neg v0.16b, v31.16b
+ neg v0.8h, v0.8h
+ neg v31.8h, v0.8h
+ neg v0.8h, v31.8h
+ neg v0.4s, v0.4s
+ neg v31.4s, v0.4s
+ neg v0.4s, v31.4s
+ neg v0.2d, v0.2d
+ neg v31.2d, v0.2d
+ neg v0.2d, v31.2d
diff --git a/gas/testsuite/gas/aarch64/advsimd-widening-narrowing.d b/gas/testsuite/gas/aarch64/advsimd-widening-narrowing.d
new file mode 100644
index 0000000..d7522d1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-widening-narrowing.d
@@ -0,0 +1,585 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 0e200000 saddl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20001f saddl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2003e0 saddl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f0000 saddl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e600000 saddl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60001f saddl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6003e0 saddl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f0000 saddl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea00000 saddl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0001f saddl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea003e0 saddl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf0000 saddl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e200000 saddl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20001f saddl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2003e0 saddl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f0000 saddl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e600000 saddl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60001f saddl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6003e0 saddl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f0000 saddl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea00000 saddl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0001f saddl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea003e0 saddl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf0000 saddl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e201000 saddw v0\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 0e20101f saddw v31\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 0e2013e0 saddw v0\.8h, v31\.8h, v0\.8b
+ *[0-9a-f]+: 0e3f1000 saddw v0\.8h, v0\.8h, v31\.8b
+ *[0-9a-f]+: 0e601000 saddw v0\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 0e60101f saddw v31\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 0e6013e0 saddw v0\.4s, v31\.4s, v0\.4h
+ *[0-9a-f]+: 0e7f1000 saddw v0\.4s, v0\.4s, v31\.4h
+ *[0-9a-f]+: 0ea01000 saddw v0\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 0ea0101f saddw v31\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 0ea013e0 saddw v0\.2d, v31\.2d, v0\.2s
+ *[0-9a-f]+: 0ebf1000 saddw v0\.2d, v0\.2d, v31\.2s
+ *[0-9a-f]+: 4e201000 saddw2 v0\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 4e20101f saddw2 v31\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 4e2013e0 saddw2 v0\.8h, v31\.8h, v0\.16b
+ *[0-9a-f]+: 4e3f1000 saddw2 v0\.8h, v0\.8h, v31\.16b
+ *[0-9a-f]+: 4e601000 saddw2 v0\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e60101f saddw2 v31\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e6013e0 saddw2 v0\.4s, v31\.4s, v0\.8h
+ *[0-9a-f]+: 4e7f1000 saddw2 v0\.4s, v0\.4s, v31\.8h
+ *[0-9a-f]+: 4ea01000 saddw2 v0\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 4ea0101f saddw2 v31\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 4ea013e0 saddw2 v0\.2d, v31\.2d, v0\.4s
+ *[0-9a-f]+: 4ebf1000 saddw2 v0\.2d, v0\.2d, v31\.4s
+ *[0-9a-f]+: 0e202000 ssubl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20201f ssubl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2023e0 ssubl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f2000 ssubl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e602000 ssubl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60201f ssubl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6023e0 ssubl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f2000 ssubl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea02000 ssubl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0201f ssubl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea023e0 ssubl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf2000 ssubl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e202000 ssubl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20201f ssubl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2023e0 ssubl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f2000 ssubl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e602000 ssubl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60201f ssubl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6023e0 ssubl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f2000 ssubl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea02000 ssubl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0201f ssubl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea023e0 ssubl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf2000 ssubl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e203000 ssubw v0\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 0e20301f ssubw v31\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 0e2033e0 ssubw v0\.8h, v31\.8h, v0\.8b
+ *[0-9a-f]+: 0e3f3000 ssubw v0\.8h, v0\.8h, v31\.8b
+ *[0-9a-f]+: 0e603000 ssubw v0\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 0e60301f ssubw v31\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 0e6033e0 ssubw v0\.4s, v31\.4s, v0\.4h
+ *[0-9a-f]+: 0e7f3000 ssubw v0\.4s, v0\.4s, v31\.4h
+ *[0-9a-f]+: 0ea03000 ssubw v0\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 0ea0301f ssubw v31\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 0ea033e0 ssubw v0\.2d, v31\.2d, v0\.2s
+ *[0-9a-f]+: 0ebf3000 ssubw v0\.2d, v0\.2d, v31\.2s
+ *[0-9a-f]+: 4e203000 ssubw2 v0\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 4e20301f ssubw2 v31\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 4e2033e0 ssubw2 v0\.8h, v31\.8h, v0\.16b
+ *[0-9a-f]+: 4e3f3000 ssubw2 v0\.8h, v0\.8h, v31\.16b
+ *[0-9a-f]+: 4e603000 ssubw2 v0\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e60301f ssubw2 v31\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 4e6033e0 ssubw2 v0\.4s, v31\.4s, v0\.8h
+ *[0-9a-f]+: 4e7f3000 ssubw2 v0\.4s, v0\.4s, v31\.8h
+ *[0-9a-f]+: 4ea03000 ssubw2 v0\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 4ea0301f ssubw2 v31\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 4ea033e0 ssubw2 v0\.2d, v31\.2d, v0\.4s
+ *[0-9a-f]+: 4ebf3000 ssubw2 v0\.2d, v0\.2d, v31\.4s
+ *[0-9a-f]+: 0e204000 addhn v0\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 0e20401f addhn v31\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 0e2043e0 addhn v0\.8b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 0e3f4000 addhn v0\.8b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 0e604000 addhn v0\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 0e60401f addhn v31\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 0e6043e0 addhn v0\.4h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 0e7f4000 addhn v0\.4h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0ea04000 addhn v0\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 0ea0401f addhn v31\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 0ea043e0 addhn v0\.2s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 0ebf4000 addhn v0\.2s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 4e204000 addhn2 v0\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e20401f addhn2 v31\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e2043e0 addhn2 v0\.16b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e3f4000 addhn2 v0\.16b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e604000 addhn2 v0\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e60401f addhn2 v31\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e6043e0 addhn2 v0\.8h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e7f4000 addhn2 v0\.8h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ea04000 addhn2 v0\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ea0401f addhn2 v31\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ea043e0 addhn2 v0\.4s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4ebf4000 addhn2 v0\.4s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e205000 sabal v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20501f sabal v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2053e0 sabal v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f5000 sabal v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e605000 sabal v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60501f sabal v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6053e0 sabal v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f5000 sabal v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea05000 sabal v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0501f sabal v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea053e0 sabal v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf5000 sabal v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e205000 sabal2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20501f sabal2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2053e0 sabal2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f5000 sabal2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e605000 sabal2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60501f sabal2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6053e0 sabal2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f5000 sabal2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea05000 sabal2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0501f sabal2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea053e0 sabal2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf5000 sabal2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e206000 subhn v0\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 0e20601f subhn v31\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 0e2063e0 subhn v0\.8b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 0e3f6000 subhn v0\.8b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 0e606000 subhn v0\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 0e60601f subhn v31\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 0e6063e0 subhn v0\.4h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 0e7f6000 subhn v0\.4h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0ea06000 subhn v0\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 0ea0601f subhn v31\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 0ea063e0 subhn v0\.2s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 0ebf6000 subhn v0\.2s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 4e206000 subhn2 v0\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e20601f subhn2 v31\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e2063e0 subhn2 v0\.16b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e3f6000 subhn2 v0\.16b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4e606000 subhn2 v0\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e60601f subhn2 v31\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4e6063e0 subhn2 v0\.8h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4e7f6000 subhn2 v0\.8h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 4ea06000 subhn2 v0\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ea0601f subhn2 v31\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 4ea063e0 subhn2 v0\.4s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 4ebf6000 subhn2 v0\.4s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 0e207000 sabdl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20701f sabdl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2073e0 sabdl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f7000 sabdl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e607000 sabdl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60701f sabdl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6073e0 sabdl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f7000 sabdl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea07000 sabdl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0701f sabdl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea073e0 sabdl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf7000 sabdl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e207000 sabdl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20701f sabdl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2073e0 sabdl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f7000 sabdl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e607000 sabdl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60701f sabdl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6073e0 sabdl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f7000 sabdl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea07000 sabdl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0701f sabdl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea073e0 sabdl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf7000 sabdl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e208000 smlal v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20801f smlal v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e2083e0 smlal v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3f8000 smlal v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e608000 smlal v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60801f smlal v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6083e0 smlal v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f8000 smlal v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea08000 smlal v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0801f smlal v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea083e0 smlal v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf8000 smlal v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e208000 smlal2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20801f smlal2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e2083e0 smlal2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3f8000 smlal2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e608000 smlal2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60801f smlal2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6083e0 smlal2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f8000 smlal2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea08000 smlal2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0801f smlal2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea083e0 smlal2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf8000 smlal2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e609000 sqdmlal v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60901f sqdmlal v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e6093e0 sqdmlal v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7f9000 sqdmlal v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea09000 sqdmlal v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0901f sqdmlal v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea093e0 sqdmlal v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebf9000 sqdmlal v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e609000 sqdmlal2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60901f sqdmlal2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e6093e0 sqdmlal2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7f9000 sqdmlal2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea09000 sqdmlal2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0901f sqdmlal2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea093e0 sqdmlal2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebf9000 sqdmlal2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e20a000 smlsl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20a01f smlsl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20a3e0 smlsl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3fa000 smlsl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e60a000 smlsl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60a01f smlsl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60a3e0 smlsl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fa000 smlsl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0a000 smlsl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0a01f smlsl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0a3e0 smlsl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfa000 smlsl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e20a000 smlsl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20a01f smlsl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20a3e0 smlsl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3fa000 smlsl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e60a000 smlsl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60a01f smlsl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60a3e0 smlsl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fa000 smlsl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0a000 smlsl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0a01f smlsl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0a3e0 smlsl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfa000 smlsl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e60b000 sqdmlsl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60b01f sqdmlsl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60b3e0 sqdmlsl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fb000 sqdmlsl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0b000 sqdmlsl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0b01f sqdmlsl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0b3e0 sqdmlsl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfb000 sqdmlsl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e60b000 sqdmlsl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60b01f sqdmlsl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60b3e0 sqdmlsl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fb000 sqdmlsl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0b000 sqdmlsl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0b01f sqdmlsl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0b3e0 sqdmlsl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfb000 sqdmlsl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e20c000 smull v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20c01f smull v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 0e20c3e0 smull v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 0e3fc000 smull v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 0e60c000 smull v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60c01f smull v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60c3e0 smull v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fc000 smull v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0c000 smull v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0c01f smull v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0c3e0 smull v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfc000 smull v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e20c000 smull2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20c01f smull2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 4e20c3e0 smull2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 4e3fc000 smull2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 4e60c000 smull2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60c01f smull2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60c3e0 smull2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fc000 smull2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0c000 smull2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0c01f smull2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0c3e0 smull2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfc000 smull2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 0e60d000 sqdmull v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60d01f sqdmull v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 0e60d3e0 sqdmull v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 0e7fd000 sqdmull v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 0ea0d000 sqdmull v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0d01f sqdmull v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 0ea0d3e0 sqdmull v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 0ebfd000 sqdmull v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 4e60d000 sqdmull2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60d01f sqdmull2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 4e60d3e0 sqdmull2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 4e7fd000 sqdmull2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 4ea0d000 sqdmull2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0d01f sqdmull2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 4ea0d3e0 sqdmull2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 4ebfd000 sqdmull2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e200000 uaddl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20001f uaddl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2003e0 uaddl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f0000 uaddl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e600000 uaddl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60001f uaddl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6003e0 uaddl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f0000 uaddl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea00000 uaddl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0001f uaddl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea003e0 uaddl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf0000 uaddl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e200000 uaddl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20001f uaddl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2003e0 uaddl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f0000 uaddl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e600000 uaddl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60001f uaddl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6003e0 uaddl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f0000 uaddl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea00000 uaddl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0001f uaddl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea003e0 uaddl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf0000 uaddl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e201000 uaddw v0\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 2e20101f uaddw v31\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 2e2013e0 uaddw v0\.8h, v31\.8h, v0\.8b
+ *[0-9a-f]+: 2e3f1000 uaddw v0\.8h, v0\.8h, v31\.8b
+ *[0-9a-f]+: 2e601000 uaddw v0\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 2e60101f uaddw v31\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 2e6013e0 uaddw v0\.4s, v31\.4s, v0\.4h
+ *[0-9a-f]+: 2e7f1000 uaddw v0\.4s, v0\.4s, v31\.4h
+ *[0-9a-f]+: 2ea01000 uaddw v0\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 2ea0101f uaddw v31\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 2ea013e0 uaddw v0\.2d, v31\.2d, v0\.2s
+ *[0-9a-f]+: 2ebf1000 uaddw v0\.2d, v0\.2d, v31\.2s
+ *[0-9a-f]+: 6e201000 uaddw2 v0\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 6e20101f uaddw2 v31\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 6e2013e0 uaddw2 v0\.8h, v31\.8h, v0\.16b
+ *[0-9a-f]+: 6e3f1000 uaddw2 v0\.8h, v0\.8h, v31\.16b
+ *[0-9a-f]+: 6e601000 uaddw2 v0\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 6e60101f uaddw2 v31\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 6e6013e0 uaddw2 v0\.4s, v31\.4s, v0\.8h
+ *[0-9a-f]+: 6e7f1000 uaddw2 v0\.4s, v0\.4s, v31\.8h
+ *[0-9a-f]+: 6ea01000 uaddw2 v0\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 6ea0101f uaddw2 v31\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 6ea013e0 uaddw2 v0\.2d, v31\.2d, v0\.4s
+ *[0-9a-f]+: 6ebf1000 uaddw2 v0\.2d, v0\.2d, v31\.4s
+ *[0-9a-f]+: 2e202000 usubl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20201f usubl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2023e0 usubl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f2000 usubl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e602000 usubl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60201f usubl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6023e0 usubl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f2000 usubl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea02000 usubl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0201f usubl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea023e0 usubl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf2000 usubl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e202000 usubl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20201f usubl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2023e0 usubl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f2000 usubl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e602000 usubl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60201f usubl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6023e0 usubl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f2000 usubl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea02000 usubl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0201f usubl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea023e0 usubl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf2000 usubl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e203000 usubw v0\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 2e20301f usubw v31\.8h, v0\.8h, v0\.8b
+ *[0-9a-f]+: 2e2033e0 usubw v0\.8h, v31\.8h, v0\.8b
+ *[0-9a-f]+: 2e3f3000 usubw v0\.8h, v0\.8h, v31\.8b
+ *[0-9a-f]+: 2e603000 usubw v0\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 2e60301f usubw v31\.4s, v0\.4s, v0\.4h
+ *[0-9a-f]+: 2e6033e0 usubw v0\.4s, v31\.4s, v0\.4h
+ *[0-9a-f]+: 2e7f3000 usubw v0\.4s, v0\.4s, v31\.4h
+ *[0-9a-f]+: 2ea03000 usubw v0\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 2ea0301f usubw v31\.2d, v0\.2d, v0\.2s
+ *[0-9a-f]+: 2ea033e0 usubw v0\.2d, v31\.2d, v0\.2s
+ *[0-9a-f]+: 2ebf3000 usubw v0\.2d, v0\.2d, v31\.2s
+ *[0-9a-f]+: 6e203000 usubw2 v0\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 6e20301f usubw2 v31\.8h, v0\.8h, v0\.16b
+ *[0-9a-f]+: 6e2033e0 usubw2 v0\.8h, v31\.8h, v0\.16b
+ *[0-9a-f]+: 6e3f3000 usubw2 v0\.8h, v0\.8h, v31\.16b
+ *[0-9a-f]+: 6e603000 usubw2 v0\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 6e60301f usubw2 v31\.4s, v0\.4s, v0\.8h
+ *[0-9a-f]+: 6e6033e0 usubw2 v0\.4s, v31\.4s, v0\.8h
+ *[0-9a-f]+: 6e7f3000 usubw2 v0\.4s, v0\.4s, v31\.8h
+ *[0-9a-f]+: 6ea03000 usubw2 v0\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 6ea0301f usubw2 v31\.2d, v0\.2d, v0\.4s
+ *[0-9a-f]+: 6ea033e0 usubw2 v0\.2d, v31\.2d, v0\.4s
+ *[0-9a-f]+: 6ebf3000 usubw2 v0\.2d, v0\.2d, v31\.4s
+ *[0-9a-f]+: 2e204000 raddhn v0\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 2e20401f raddhn v31\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 2e2043e0 raddhn v0\.8b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 2e3f4000 raddhn v0\.8b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 2e604000 raddhn v0\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 2e60401f raddhn v31\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 2e6043e0 raddhn v0\.4h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 2e7f4000 raddhn v0\.4h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2ea04000 raddhn v0\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 2ea0401f raddhn v31\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 2ea043e0 raddhn v0\.2s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 2ebf4000 raddhn v0\.2s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 6e204000 raddhn2 v0\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e20401f raddhn2 v31\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e2043e0 raddhn2 v0\.16b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e3f4000 raddhn2 v0\.16b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6e604000 raddhn2 v0\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6e60401f raddhn2 v31\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6e6043e0 raddhn2 v0\.8h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6e7f4000 raddhn2 v0\.8h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ea04000 raddhn2 v0\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ea0401f raddhn2 v31\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ea043e0 raddhn2 v0\.4s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6ebf4000 raddhn2 v0\.4s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e205000 uabal v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20501f uabal v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2053e0 uabal v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f5000 uabal v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e605000 uabal v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60501f uabal v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6053e0 uabal v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f5000 uabal v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea05000 uabal v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0501f uabal v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea053e0 uabal v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf5000 uabal v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e205000 uabal2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20501f uabal2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2053e0 uabal2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f5000 uabal2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e605000 uabal2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60501f uabal2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6053e0 uabal2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f5000 uabal2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea05000 uabal2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0501f uabal2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea053e0 uabal2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf5000 uabal2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e206000 rsubhn v0\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 2e20601f rsubhn v31\.8b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 2e2063e0 rsubhn v0\.8b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 2e3f6000 rsubhn v0\.8b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 2e606000 rsubhn v0\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 2e60601f rsubhn v31\.4h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 2e6063e0 rsubhn v0\.4h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 2e7f6000 rsubhn v0\.4h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2ea06000 rsubhn v0\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 2ea0601f rsubhn v31\.2s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 2ea063e0 rsubhn v0\.2s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 2ebf6000 rsubhn v0\.2s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 6e206000 rsubhn2 v0\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e20601f rsubhn2 v31\.16b, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e2063e0 rsubhn2 v0\.16b, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e3f6000 rsubhn2 v0\.16b, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6e606000 rsubhn2 v0\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6e60601f rsubhn2 v31\.8h, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6e6063e0 rsubhn2 v0\.8h, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6e7f6000 rsubhn2 v0\.8h, v0\.4s, v31\.4s
+ *[0-9a-f]+: 6ea06000 rsubhn2 v0\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ea0601f rsubhn2 v31\.4s, v0\.2d, v0\.2d
+ *[0-9a-f]+: 6ea063e0 rsubhn2 v0\.4s, v31\.2d, v0\.2d
+ *[0-9a-f]+: 6ebf6000 rsubhn2 v0\.4s, v0\.2d, v31\.2d
+ *[0-9a-f]+: 2e207000 uabdl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20701f uabdl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2073e0 uabdl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f7000 uabdl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e607000 uabdl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60701f uabdl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6073e0 uabdl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f7000 uabdl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea07000 uabdl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0701f uabdl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea073e0 uabdl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf7000 uabdl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e207000 uabdl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20701f uabdl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2073e0 uabdl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f7000 uabdl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e607000 uabdl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60701f uabdl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6073e0 uabdl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f7000 uabdl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea07000 uabdl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0701f uabdl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea073e0 uabdl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf7000 uabdl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e208000 umlal v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20801f umlal v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e2083e0 umlal v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3f8000 umlal v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e608000 umlal v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60801f umlal v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e6083e0 umlal v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7f8000 umlal v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea08000 umlal v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0801f umlal v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea083e0 umlal v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebf8000 umlal v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e208000 umlal2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20801f umlal2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e2083e0 umlal2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3f8000 umlal2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e608000 umlal2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60801f umlal2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e6083e0 umlal2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7f8000 umlal2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea08000 umlal2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0801f umlal2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea083e0 umlal2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebf8000 umlal2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e20a000 umlsl v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20a01f umlsl v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20a3e0 umlsl v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3fa000 umlsl v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e60a000 umlsl v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60a01f umlsl v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60a3e0 umlsl v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7fa000 umlsl v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea0a000 umlsl v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0a01f umlsl v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0a3e0 umlsl v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebfa000 umlsl v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e20a000 umlsl2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20a01f umlsl2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20a3e0 umlsl2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3fa000 umlsl2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e60a000 umlsl2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60a01f umlsl2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60a3e0 umlsl2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7fa000 umlsl2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea0a000 umlsl2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0a01f umlsl2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0a3e0 umlsl2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebfa000 umlsl2 v0\.2d, v0\.4s, v31\.4s
+ *[0-9a-f]+: 2e20c000 umull v0\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20c01f umull v31\.8h, v0\.8b, v0\.8b
+ *[0-9a-f]+: 2e20c3e0 umull v0\.8h, v31\.8b, v0\.8b
+ *[0-9a-f]+: 2e3fc000 umull v0\.8h, v0\.8b, v31\.8b
+ *[0-9a-f]+: 2e60c000 umull v0\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60c01f umull v31\.4s, v0\.4h, v0\.4h
+ *[0-9a-f]+: 2e60c3e0 umull v0\.4s, v31\.4h, v0\.4h
+ *[0-9a-f]+: 2e7fc000 umull v0\.4s, v0\.4h, v31\.4h
+ *[0-9a-f]+: 2ea0c000 umull v0\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0c01f umull v31\.2d, v0\.2s, v0\.2s
+ *[0-9a-f]+: 2ea0c3e0 umull v0\.2d, v31\.2s, v0\.2s
+ *[0-9a-f]+: 2ebfc000 umull v0\.2d, v0\.2s, v31\.2s
+ *[0-9a-f]+: 6e20c000 umull2 v0\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20c01f umull2 v31\.8h, v0\.16b, v0\.16b
+ *[0-9a-f]+: 6e20c3e0 umull2 v0\.8h, v31\.16b, v0\.16b
+ *[0-9a-f]+: 6e3fc000 umull2 v0\.8h, v0\.16b, v31\.16b
+ *[0-9a-f]+: 6e60c000 umull2 v0\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60c01f umull2 v31\.4s, v0\.8h, v0\.8h
+ *[0-9a-f]+: 6e60c3e0 umull2 v0\.4s, v31\.8h, v0\.8h
+ *[0-9a-f]+: 6e7fc000 umull2 v0\.4s, v0\.8h, v31\.8h
+ *[0-9a-f]+: 6ea0c000 umull2 v0\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0c01f umull2 v31\.2d, v0\.4s, v0\.4s
+ *[0-9a-f]+: 6ea0c3e0 umull2 v0\.2d, v31\.4s, v0\.4s
+ *[0-9a-f]+: 6ebfc000 umull2 v0\.2d, v0\.4s, v31\.4s
diff --git a/gas/testsuite/gas/aarch64/advsimd-widening-narrowing.s b/gas/testsuite/gas/aarch64/advsimd-widening-narrowing.s
new file mode 100644
index 0000000..9a00ff0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/advsimd-widening-narrowing.s
@@ -0,0 +1,625 @@
+ saddl v0.8h, v0.8b, v0.8b
+ saddl v31.8h, v0.8b, v0.8b
+ saddl v0.8h, v31.8b, v0.8b
+ saddl v0.8h, v0.8b, v31.8b
+ saddl v0.4s, v0.4h, v0.4h
+ saddl v31.4s, v0.4h, v0.4h
+ saddl v0.4s, v31.4h, v0.4h
+ saddl v0.4s, v0.4h, v31.4h
+ saddl v0.2d, v0.2s, v0.2s
+ saddl v31.2d, v0.2s, v0.2s
+ saddl v0.2d, v31.2s, v0.2s
+ saddl v0.2d, v0.2s, v31.2s
+
+ saddl2 v0.8h, v0.16b, v0.16b
+ saddl2 v31.8h, v0.16b, v0.16b
+ saddl2 v0.8h, v31.16b, v0.16b
+ saddl2 v0.8h, v0.16b, v31.16b
+ saddl2 v0.4s, v0.8h, v0.8h
+ saddl2 v31.4s, v0.8h, v0.8h
+ saddl2 v0.4s, v31.8h, v0.8h
+ saddl2 v0.4s, v0.8h, v31.8h
+ saddl2 v0.2d, v0.4s, v0.4s
+ saddl2 v31.2d, v0.4s, v0.4s
+ saddl2 v0.2d, v31.4s, v0.4s
+ saddl2 v0.2d, v0.4s, v31.4s
+
+ saddw v0.8h, v0.8h, v0.8b
+ saddw v31.8h, v0.8h, v0.8b
+ saddw v0.8h, v31.8h, v0.8b
+ saddw v0.8h, v0.8h, v31.8b
+ saddw v0.4s, v0.4s, v0.4h
+ saddw v31.4s, v0.4s, v0.4h
+ saddw v0.4s, v31.4s, v0.4h
+ saddw v0.4s, v0.4s, v31.4h
+ saddw v0.2d, v0.2d, v0.2s
+ saddw v31.2d, v0.2d, v0.2s
+ saddw v0.2d, v31.2d, v0.2s
+ saddw v0.2d, v0.2d, v31.2s
+
+ saddw2 v0.8h, v0.8h, v0.16b
+ saddw2 v31.8h, v0.8h, v0.16b
+ saddw2 v0.8h, v31.8h, v0.16b
+ saddw2 v0.8h, v0.8h, v31.16b
+ saddw2 v0.4s, v0.4s, v0.8h
+ saddw2 v31.4s, v0.4s, v0.8h
+ saddw2 v0.4s, v31.4s, v0.8h
+ saddw2 v0.4s, v0.4s, v31.8h
+ saddw2 v0.2d, v0.2d, v0.4s
+ saddw2 v31.2d, v0.2d, v0.4s
+ saddw2 v0.2d, v31.2d, v0.4s
+ saddw2 v0.2d, v0.2d, v31.4s
+
+ ssubl v0.8h, v0.8b, v0.8b
+ ssubl v31.8h, v0.8b, v0.8b
+ ssubl v0.8h, v31.8b, v0.8b
+ ssubl v0.8h, v0.8b, v31.8b
+ ssubl v0.4s, v0.4h, v0.4h
+ ssubl v31.4s, v0.4h, v0.4h
+ ssubl v0.4s, v31.4h, v0.4h
+ ssubl v0.4s, v0.4h, v31.4h
+ ssubl v0.2d, v0.2s, v0.2s
+ ssubl v31.2d, v0.2s, v0.2s
+ ssubl v0.2d, v31.2s, v0.2s
+ ssubl v0.2d, v0.2s, v31.2s
+
+ ssubl2 v0.8h, v0.16b, v0.16b
+ ssubl2 v31.8h, v0.16b, v0.16b
+ ssubl2 v0.8h, v31.16b, v0.16b
+ ssubl2 v0.8h, v0.16b, v31.16b
+ ssubl2 v0.4s, v0.8h, v0.8h
+ ssubl2 v31.4s, v0.8h, v0.8h
+ ssubl2 v0.4s, v31.8h, v0.8h
+ ssubl2 v0.4s, v0.8h, v31.8h
+ ssubl2 v0.2d, v0.4s, v0.4s
+ ssubl2 v31.2d, v0.4s, v0.4s
+ ssubl2 v0.2d, v31.4s, v0.4s
+ ssubl2 v0.2d, v0.4s, v31.4s
+
+ ssubw v0.8h, v0.8h, v0.8b
+ ssubw v31.8h, v0.8h, v0.8b
+ ssubw v0.8h, v31.8h, v0.8b
+ ssubw v0.8h, v0.8h, v31.8b
+ ssubw v0.4s, v0.4s, v0.4h
+ ssubw v31.4s, v0.4s, v0.4h
+ ssubw v0.4s, v31.4s, v0.4h
+ ssubw v0.4s, v0.4s, v31.4h
+ ssubw v0.2d, v0.2d, v0.2s
+ ssubw v31.2d, v0.2d, v0.2s
+ ssubw v0.2d, v31.2d, v0.2s
+ ssubw v0.2d, v0.2d, v31.2s
+
+ ssubw2 v0.8h, v0.8h, v0.16b
+ ssubw2 v31.8h, v0.8h, v0.16b
+ ssubw2 v0.8h, v31.8h, v0.16b
+ ssubw2 v0.8h, v0.8h, v31.16b
+ ssubw2 v0.4s, v0.4s, v0.8h
+ ssubw2 v31.4s, v0.4s, v0.8h
+ ssubw2 v0.4s, v31.4s, v0.8h
+ ssubw2 v0.4s, v0.4s, v31.8h
+ ssubw2 v0.2d, v0.2d, v0.4s
+ ssubw2 v31.2d, v0.2d, v0.4s
+ ssubw2 v0.2d, v31.2d, v0.4s
+ ssubw2 v0.2d, v0.2d, v31.4s
+
+ addhn v0.8b, v0.8h, v0.8h
+ addhn v31.8b, v0.8h, v0.8h
+ addhn v0.8b, v31.8h, v0.8h
+ addhn v0.8b, v0.8h, v31.8h
+ addhn v0.4h, v0.4s, v0.4s
+ addhn v31.4h, v0.4s, v0.4s
+ addhn v0.4h, v31.4s, v0.4s
+ addhn v0.4h, v0.4s, v31.4s
+ addhn v0.2s, v0.2d, v0.2d
+ addhn v31.2s, v0.2d, v0.2d
+ addhn v0.2s, v31.2d, v0.2d
+ addhn v0.2s, v0.2d, v31.2d
+
+ addhn2 v0.16b, v0.8h, v0.8h
+ addhn2 v31.16b, v0.8h, v0.8h
+ addhn2 v0.16b, v31.8h, v0.8h
+ addhn2 v0.16b, v0.8h, v31.8h
+ addhn2 v0.8h, v0.4s, v0.4s
+ addhn2 v31.8h, v0.4s, v0.4s
+ addhn2 v0.8h, v31.4s, v0.4s
+ addhn2 v0.8h, v0.4s, v31.4s
+ addhn2 v0.4s, v0.2d, v0.2d
+ addhn2 v31.4s, v0.2d, v0.2d
+ addhn2 v0.4s, v31.2d, v0.2d
+ addhn2 v0.4s, v0.2d, v31.2d
+
+ sabal v0.8h, v0.8b, v0.8b
+ sabal v31.8h, v0.8b, v0.8b
+ sabal v0.8h, v31.8b, v0.8b
+ sabal v0.8h, v0.8b, v31.8b
+ sabal v0.4s, v0.4h, v0.4h
+ sabal v31.4s, v0.4h, v0.4h
+ sabal v0.4s, v31.4h, v0.4h
+ sabal v0.4s, v0.4h, v31.4h
+ sabal v0.2d, v0.2s, v0.2s
+ sabal v31.2d, v0.2s, v0.2s
+ sabal v0.2d, v31.2s, v0.2s
+ sabal v0.2d, v0.2s, v31.2s
+
+ sabal2 v0.8h, v0.16b, v0.16b
+ sabal2 v31.8h, v0.16b, v0.16b
+ sabal2 v0.8h, v31.16b, v0.16b
+ sabal2 v0.8h, v0.16b, v31.16b
+ sabal2 v0.4s, v0.8h, v0.8h
+ sabal2 v31.4s, v0.8h, v0.8h
+ sabal2 v0.4s, v31.8h, v0.8h
+ sabal2 v0.4s, v0.8h, v31.8h
+ sabal2 v0.2d, v0.4s, v0.4s
+ sabal2 v31.2d, v0.4s, v0.4s
+ sabal2 v0.2d, v31.4s, v0.4s
+ sabal2 v0.2d, v0.4s, v31.4s
+
+ subhn v0.8b, v0.8h, v0.8h
+ subhn v31.8b, v0.8h, v0.8h
+ subhn v0.8b, v31.8h, v0.8h
+ subhn v0.8b, v0.8h, v31.8h
+ subhn v0.4h, v0.4s, v0.4s
+ subhn v31.4h, v0.4s, v0.4s
+ subhn v0.4h, v31.4s, v0.4s
+ subhn v0.4h, v0.4s, v31.4s
+ subhn v0.2s, v0.2d, v0.2d
+ subhn v31.2s, v0.2d, v0.2d
+ subhn v0.2s, v31.2d, v0.2d
+ subhn v0.2s, v0.2d, v31.2d
+
+ subhn2 v0.16b, v0.8h, v0.8h
+ subhn2 v31.16b, v0.8h, v0.8h
+ subhn2 v0.16b, v31.8h, v0.8h
+ subhn2 v0.16b, v0.8h, v31.8h
+ subhn2 v0.8h, v0.4s, v0.4s
+ subhn2 v31.8h, v0.4s, v0.4s
+ subhn2 v0.8h, v31.4s, v0.4s
+ subhn2 v0.8h, v0.4s, v31.4s
+ subhn2 v0.4s, v0.2d, v0.2d
+ subhn2 v31.4s, v0.2d, v0.2d
+ subhn2 v0.4s, v31.2d, v0.2d
+ subhn2 v0.4s, v0.2d, v31.2d
+
+ sabdl v0.8h, v0.8b, v0.8b
+ sabdl v31.8h, v0.8b, v0.8b
+ sabdl v0.8h, v31.8b, v0.8b
+ sabdl v0.8h, v0.8b, v31.8b
+ sabdl v0.4s, v0.4h, v0.4h
+ sabdl v31.4s, v0.4h, v0.4h
+ sabdl v0.4s, v31.4h, v0.4h
+ sabdl v0.4s, v0.4h, v31.4h
+ sabdl v0.2d, v0.2s, v0.2s
+ sabdl v31.2d, v0.2s, v0.2s
+ sabdl v0.2d, v31.2s, v0.2s
+ sabdl v0.2d, v0.2s, v31.2s
+
+ sabdl2 v0.8h, v0.16b, v0.16b
+ sabdl2 v31.8h, v0.16b, v0.16b
+ sabdl2 v0.8h, v31.16b, v0.16b
+ sabdl2 v0.8h, v0.16b, v31.16b
+ sabdl2 v0.4s, v0.8h, v0.8h
+ sabdl2 v31.4s, v0.8h, v0.8h
+ sabdl2 v0.4s, v31.8h, v0.8h
+ sabdl2 v0.4s, v0.8h, v31.8h
+ sabdl2 v0.2d, v0.4s, v0.4s
+ sabdl2 v31.2d, v0.4s, v0.4s
+ sabdl2 v0.2d, v31.4s, v0.4s
+ sabdl2 v0.2d, v0.4s, v31.4s
+
+ smlal v0.8h, v0.8b, v0.8b
+ smlal v31.8h, v0.8b, v0.8b
+ smlal v0.8h, v31.8b, v0.8b
+ smlal v0.8h, v0.8b, v31.8b
+ smlal v0.4s, v0.4h, v0.4h
+ smlal v31.4s, v0.4h, v0.4h
+ smlal v0.4s, v31.4h, v0.4h
+ smlal v0.4s, v0.4h, v31.4h
+ smlal v0.2d, v0.2s, v0.2s
+ smlal v31.2d, v0.2s, v0.2s
+ smlal v0.2d, v31.2s, v0.2s
+ smlal v0.2d, v0.2s, v31.2s
+
+ smlal2 v0.8h, v0.16b, v0.16b
+ smlal2 v31.8h, v0.16b, v0.16b
+ smlal2 v0.8h, v31.16b, v0.16b
+ smlal2 v0.8h, v0.16b, v31.16b
+ smlal2 v0.4s, v0.8h, v0.8h
+ smlal2 v31.4s, v0.8h, v0.8h
+ smlal2 v0.4s, v31.8h, v0.8h
+ smlal2 v0.4s, v0.8h, v31.8h
+ smlal2 v0.2d, v0.4s, v0.4s
+ smlal2 v31.2d, v0.4s, v0.4s
+ smlal2 v0.2d, v31.4s, v0.4s
+ smlal2 v0.2d, v0.4s, v31.4s
+
+ sqdmlal v0.4s, v0.4h, v0.4h
+ sqdmlal v31.4s, v0.4h, v0.4h
+ sqdmlal v0.4s, v31.4h, v0.4h
+ sqdmlal v0.4s, v0.4h, v31.4h
+ sqdmlal v0.2d, v0.2s, v0.2s
+ sqdmlal v31.2d, v0.2s, v0.2s
+ sqdmlal v0.2d, v31.2s, v0.2s
+ sqdmlal v0.2d, v0.2s, v31.2s
+
+ sqdmlal2 v0.4s, v0.8h, v0.8h
+ sqdmlal2 v31.4s, v0.8h, v0.8h
+ sqdmlal2 v0.4s, v31.8h, v0.8h
+ sqdmlal2 v0.4s, v0.8h, v31.8h
+ sqdmlal2 v0.2d, v0.4s, v0.4s
+ sqdmlal2 v31.2d, v0.4s, v0.4s
+ sqdmlal2 v0.2d, v31.4s, v0.4s
+ sqdmlal2 v0.2d, v0.4s, v31.4s
+
+ smlsl v0.8h, v0.8b, v0.8b
+ smlsl v31.8h, v0.8b, v0.8b
+ smlsl v0.8h, v31.8b, v0.8b
+ smlsl v0.8h, v0.8b, v31.8b
+ smlsl v0.4s, v0.4h, v0.4h
+ smlsl v31.4s, v0.4h, v0.4h
+ smlsl v0.4s, v31.4h, v0.4h
+ smlsl v0.4s, v0.4h, v31.4h
+ smlsl v0.2d, v0.2s, v0.2s
+ smlsl v31.2d, v0.2s, v0.2s
+ smlsl v0.2d, v31.2s, v0.2s
+ smlsl v0.2d, v0.2s, v31.2s
+
+ smlsl2 v0.8h, v0.16b, v0.16b
+ smlsl2 v31.8h, v0.16b, v0.16b
+ smlsl2 v0.8h, v31.16b, v0.16b
+ smlsl2 v0.8h, v0.16b, v31.16b
+ smlsl2 v0.4s, v0.8h, v0.8h
+ smlsl2 v31.4s, v0.8h, v0.8h
+ smlsl2 v0.4s, v31.8h, v0.8h
+ smlsl2 v0.4s, v0.8h, v31.8h
+ smlsl2 v0.2d, v0.4s, v0.4s
+ smlsl2 v31.2d, v0.4s, v0.4s
+ smlsl2 v0.2d, v31.4s, v0.4s
+ smlsl2 v0.2d, v0.4s, v31.4s
+
+ sqdmlsl v0.4s, v0.4h, v0.4h
+ sqdmlsl v31.4s, v0.4h, v0.4h
+ sqdmlsl v0.4s, v31.4h, v0.4h
+ sqdmlsl v0.4s, v0.4h, v31.4h
+ sqdmlsl v0.2d, v0.2s, v0.2s
+ sqdmlsl v31.2d, v0.2s, v0.2s
+ sqdmlsl v0.2d, v31.2s, v0.2s
+ sqdmlsl v0.2d, v0.2s, v31.2s
+
+ sqdmlsl2 v0.4s, v0.8h, v0.8h
+ sqdmlsl2 v31.4s, v0.8h, v0.8h
+ sqdmlsl2 v0.4s, v31.8h, v0.8h
+ sqdmlsl2 v0.4s, v0.8h, v31.8h
+ sqdmlsl2 v0.2d, v0.4s, v0.4s
+ sqdmlsl2 v31.2d, v0.4s, v0.4s
+ sqdmlsl2 v0.2d, v31.4s, v0.4s
+ sqdmlsl2 v0.2d, v0.4s, v31.4s
+
+ smull v0.8h, v0.8b, v0.8b
+ smull v31.8h, v0.8b, v0.8b
+ smull v0.8h, v31.8b, v0.8b
+ smull v0.8h, v0.8b, v31.8b
+ smull v0.4s, v0.4h, v0.4h
+ smull v31.4s, v0.4h, v0.4h
+ smull v0.4s, v31.4h, v0.4h
+ smull v0.4s, v0.4h, v31.4h
+ smull v0.2d, v0.2s, v0.2s
+ smull v31.2d, v0.2s, v0.2s
+ smull v0.2d, v31.2s, v0.2s
+ smull v0.2d, v0.2s, v31.2s
+
+ smull2 v0.8h, v0.16b, v0.16b
+ smull2 v31.8h, v0.16b, v0.16b
+ smull2 v0.8h, v31.16b, v0.16b
+ smull2 v0.8h, v0.16b, v31.16b
+ smull2 v0.4s, v0.8h, v0.8h
+ smull2 v31.4s, v0.8h, v0.8h
+ smull2 v0.4s, v31.8h, v0.8h
+ smull2 v0.4s, v0.8h, v31.8h
+ smull2 v0.2d, v0.4s, v0.4s
+ smull2 v31.2d, v0.4s, v0.4s
+ smull2 v0.2d, v31.4s, v0.4s
+ smull2 v0.2d, v0.4s, v31.4s
+
+ sqdmull v0.4s, v0.4h, v0.4h
+ sqdmull v31.4s, v0.4h, v0.4h
+ sqdmull v0.4s, v31.4h, v0.4h
+ sqdmull v0.4s, v0.4h, v31.4h
+ sqdmull v0.2d, v0.2s, v0.2s
+ sqdmull v31.2d, v0.2s, v0.2s
+ sqdmull v0.2d, v31.2s, v0.2s
+ sqdmull v0.2d, v0.2s, v31.2s
+
+ sqdmull2 v0.4s, v0.8h, v0.8h
+ sqdmull2 v31.4s, v0.8h, v0.8h
+ sqdmull2 v0.4s, v31.8h, v0.8h
+ sqdmull2 v0.4s, v0.8h, v31.8h
+ sqdmull2 v0.2d, v0.4s, v0.4s
+ sqdmull2 v31.2d, v0.4s, v0.4s
+ sqdmull2 v0.2d, v31.4s, v0.4s
+ sqdmull2 v0.2d, v0.4s, v31.4s
+
+ uaddl v0.8h, v0.8b, v0.8b
+ uaddl v31.8h, v0.8b, v0.8b
+ uaddl v0.8h, v31.8b, v0.8b
+ uaddl v0.8h, v0.8b, v31.8b
+ uaddl v0.4s, v0.4h, v0.4h
+ uaddl v31.4s, v0.4h, v0.4h
+ uaddl v0.4s, v31.4h, v0.4h
+ uaddl v0.4s, v0.4h, v31.4h
+ uaddl v0.2d, v0.2s, v0.2s
+ uaddl v31.2d, v0.2s, v0.2s
+ uaddl v0.2d, v31.2s, v0.2s
+ uaddl v0.2d, v0.2s, v31.2s
+
+ uaddl2 v0.8h, v0.16b, v0.16b
+ uaddl2 v31.8h, v0.16b, v0.16b
+ uaddl2 v0.8h, v31.16b, v0.16b
+ uaddl2 v0.8h, v0.16b, v31.16b
+ uaddl2 v0.4s, v0.8h, v0.8h
+ uaddl2 v31.4s, v0.8h, v0.8h
+ uaddl2 v0.4s, v31.8h, v0.8h
+ uaddl2 v0.4s, v0.8h, v31.8h
+ uaddl2 v0.2d, v0.4s, v0.4s
+ uaddl2 v31.2d, v0.4s, v0.4s
+ uaddl2 v0.2d, v31.4s, v0.4s
+ uaddl2 v0.2d, v0.4s, v31.4s
+
+ uaddw v0.8h, v0.8h, v0.8b
+ uaddw v31.8h, v0.8h, v0.8b
+ uaddw v0.8h, v31.8h, v0.8b
+ uaddw v0.8h, v0.8h, v31.8b
+ uaddw v0.4s, v0.4s, v0.4h
+ uaddw v31.4s, v0.4s, v0.4h
+ uaddw v0.4s, v31.4s, v0.4h
+ uaddw v0.4s, v0.4s, v31.4h
+ uaddw v0.2d, v0.2d, v0.2s
+ uaddw v31.2d, v0.2d, v0.2s
+ uaddw v0.2d, v31.2d, v0.2s
+ uaddw v0.2d, v0.2d, v31.2s
+
+ uaddw2 v0.8h, v0.8h, v0.16b
+ uaddw2 v31.8h, v0.8h, v0.16b
+ uaddw2 v0.8h, v31.8h, v0.16b
+ uaddw2 v0.8h, v0.8h, v31.16b
+ uaddw2 v0.4s, v0.4s, v0.8h
+ uaddw2 v31.4s, v0.4s, v0.8h
+ uaddw2 v0.4s, v31.4s, v0.8h
+ uaddw2 v0.4s, v0.4s, v31.8h
+ uaddw2 v0.2d, v0.2d, v0.4s
+ uaddw2 v31.2d, v0.2d, v0.4s
+ uaddw2 v0.2d, v31.2d, v0.4s
+ uaddw2 v0.2d, v0.2d, v31.4s
+
+ usubl v0.8h, v0.8b, v0.8b
+ usubl v31.8h, v0.8b, v0.8b
+ usubl v0.8h, v31.8b, v0.8b
+ usubl v0.8h, v0.8b, v31.8b
+ usubl v0.4s, v0.4h, v0.4h
+ usubl v31.4s, v0.4h, v0.4h
+ usubl v0.4s, v31.4h, v0.4h
+ usubl v0.4s, v0.4h, v31.4h
+ usubl v0.2d, v0.2s, v0.2s
+ usubl v31.2d, v0.2s, v0.2s
+ usubl v0.2d, v31.2s, v0.2s
+ usubl v0.2d, v0.2s, v31.2s
+
+ usubl2 v0.8h, v0.16b, v0.16b
+ usubl2 v31.8h, v0.16b, v0.16b
+ usubl2 v0.8h, v31.16b, v0.16b
+ usubl2 v0.8h, v0.16b, v31.16b
+ usubl2 v0.4s, v0.8h, v0.8h
+ usubl2 v31.4s, v0.8h, v0.8h
+ usubl2 v0.4s, v31.8h, v0.8h
+ usubl2 v0.4s, v0.8h, v31.8h
+ usubl2 v0.2d, v0.4s, v0.4s
+ usubl2 v31.2d, v0.4s, v0.4s
+ usubl2 v0.2d, v31.4s, v0.4s
+ usubl2 v0.2d, v0.4s, v31.4s
+
+ usubw v0.8h, v0.8h, v0.8b
+ usubw v31.8h, v0.8h, v0.8b
+ usubw v0.8h, v31.8h, v0.8b
+ usubw v0.8h, v0.8h, v31.8b
+ usubw v0.4s, v0.4s, v0.4h
+ usubw v31.4s, v0.4s, v0.4h
+ usubw v0.4s, v31.4s, v0.4h
+ usubw v0.4s, v0.4s, v31.4h
+ usubw v0.2d, v0.2d, v0.2s
+ usubw v31.2d, v0.2d, v0.2s
+ usubw v0.2d, v31.2d, v0.2s
+ usubw v0.2d, v0.2d, v31.2s
+
+ usubw2 v0.8h, v0.8h, v0.16b
+ usubw2 v31.8h, v0.8h, v0.16b
+ usubw2 v0.8h, v31.8h, v0.16b
+ usubw2 v0.8h, v0.8h, v31.16b
+ usubw2 v0.4s, v0.4s, v0.8h
+ usubw2 v31.4s, v0.4s, v0.8h
+ usubw2 v0.4s, v31.4s, v0.8h
+ usubw2 v0.4s, v0.4s, v31.8h
+ usubw2 v0.2d, v0.2d, v0.4s
+ usubw2 v31.2d, v0.2d, v0.4s
+ usubw2 v0.2d, v31.2d, v0.4s
+ usubw2 v0.2d, v0.2d, v31.4s
+
+ raddhn v0.8b, v0.8h, v0.8h
+ raddhn v31.8b, v0.8h, v0.8h
+ raddhn v0.8b, v31.8h, v0.8h
+ raddhn v0.8b, v0.8h, v31.8h
+ raddhn v0.4h, v0.4s, v0.4s
+ raddhn v31.4h, v0.4s, v0.4s
+ raddhn v0.4h, v31.4s, v0.4s
+ raddhn v0.4h, v0.4s, v31.4s
+ raddhn v0.2s, v0.2d, v0.2d
+ raddhn v31.2s, v0.2d, v0.2d
+ raddhn v0.2s, v31.2d, v0.2d
+ raddhn v0.2s, v0.2d, v31.2d
+
+ raddhn2 v0.16b, v0.8h, v0.8h
+ raddhn2 v31.16b, v0.8h, v0.8h
+ raddhn2 v0.16b, v31.8h, v0.8h
+ raddhn2 v0.16b, v0.8h, v31.8h
+ raddhn2 v0.8h, v0.4s, v0.4s
+ raddhn2 v31.8h, v0.4s, v0.4s
+ raddhn2 v0.8h, v31.4s, v0.4s
+ raddhn2 v0.8h, v0.4s, v31.4s
+ raddhn2 v0.4s, v0.2d, v0.2d
+ raddhn2 v31.4s, v0.2d, v0.2d
+ raddhn2 v0.4s, v31.2d, v0.2d
+ raddhn2 v0.4s, v0.2d, v31.2d
+
+ uabal v0.8h, v0.8b, v0.8b
+ uabal v31.8h, v0.8b, v0.8b
+ uabal v0.8h, v31.8b, v0.8b
+ uabal v0.8h, v0.8b, v31.8b
+ uabal v0.4s, v0.4h, v0.4h
+ uabal v31.4s, v0.4h, v0.4h
+ uabal v0.4s, v31.4h, v0.4h
+ uabal v0.4s, v0.4h, v31.4h
+ uabal v0.2d, v0.2s, v0.2s
+ uabal v31.2d, v0.2s, v0.2s
+ uabal v0.2d, v31.2s, v0.2s
+ uabal v0.2d, v0.2s, v31.2s
+
+ uabal2 v0.8h, v0.16b, v0.16b
+ uabal2 v31.8h, v0.16b, v0.16b
+ uabal2 v0.8h, v31.16b, v0.16b
+ uabal2 v0.8h, v0.16b, v31.16b
+ uabal2 v0.4s, v0.8h, v0.8h
+ uabal2 v31.4s, v0.8h, v0.8h
+ uabal2 v0.4s, v31.8h, v0.8h
+ uabal2 v0.4s, v0.8h, v31.8h
+ uabal2 v0.2d, v0.4s, v0.4s
+ uabal2 v31.2d, v0.4s, v0.4s
+ uabal2 v0.2d, v31.4s, v0.4s
+ uabal2 v0.2d, v0.4s, v31.4s
+
+ rsubhn v0.8b, v0.8h, v0.8h
+ rsubhn v31.8b, v0.8h, v0.8h
+ rsubhn v0.8b, v31.8h, v0.8h
+ rsubhn v0.8b, v0.8h, v31.8h
+ rsubhn v0.4h, v0.4s, v0.4s
+ rsubhn v31.4h, v0.4s, v0.4s
+ rsubhn v0.4h, v31.4s, v0.4s
+ rsubhn v0.4h, v0.4s, v31.4s
+ rsubhn v0.2s, v0.2d, v0.2d
+ rsubhn v31.2s, v0.2d, v0.2d
+ rsubhn v0.2s, v31.2d, v0.2d
+ rsubhn v0.2s, v0.2d, v31.2d
+
+ rsubhn2 v0.16b, v0.8h, v0.8h
+ rsubhn2 v31.16b, v0.8h, v0.8h
+ rsubhn2 v0.16b, v31.8h, v0.8h
+ rsubhn2 v0.16b, v0.8h, v31.8h
+ rsubhn2 v0.8h, v0.4s, v0.4s
+ rsubhn2 v31.8h, v0.4s, v0.4s
+ rsubhn2 v0.8h, v31.4s, v0.4s
+ rsubhn2 v0.8h, v0.4s, v31.4s
+ rsubhn2 v0.4s, v0.2d, v0.2d
+ rsubhn2 v31.4s, v0.2d, v0.2d
+ rsubhn2 v0.4s, v31.2d, v0.2d
+ rsubhn2 v0.4s, v0.2d, v31.2d
+
+ uabdl v0.8h, v0.8b, v0.8b
+ uabdl v31.8h, v0.8b, v0.8b
+ uabdl v0.8h, v31.8b, v0.8b
+ uabdl v0.8h, v0.8b, v31.8b
+ uabdl v0.4s, v0.4h, v0.4h
+ uabdl v31.4s, v0.4h, v0.4h
+ uabdl v0.4s, v31.4h, v0.4h
+ uabdl v0.4s, v0.4h, v31.4h
+ uabdl v0.2d, v0.2s, v0.2s
+ uabdl v31.2d, v0.2s, v0.2s
+ uabdl v0.2d, v31.2s, v0.2s
+ uabdl v0.2d, v0.2s, v31.2s
+
+ uabdl2 v0.8h, v0.16b, v0.16b
+ uabdl2 v31.8h, v0.16b, v0.16b
+ uabdl2 v0.8h, v31.16b, v0.16b
+ uabdl2 v0.8h, v0.16b, v31.16b
+ uabdl2 v0.4s, v0.8h, v0.8h
+ uabdl2 v31.4s, v0.8h, v0.8h
+ uabdl2 v0.4s, v31.8h, v0.8h
+ uabdl2 v0.4s, v0.8h, v31.8h
+ uabdl2 v0.2d, v0.4s, v0.4s
+ uabdl2 v31.2d, v0.4s, v0.4s
+ uabdl2 v0.2d, v31.4s, v0.4s
+ uabdl2 v0.2d, v0.4s, v31.4s
+
+ umlal v0.8h, v0.8b, v0.8b
+ umlal v31.8h, v0.8b, v0.8b
+ umlal v0.8h, v31.8b, v0.8b
+ umlal v0.8h, v0.8b, v31.8b
+ umlal v0.4s, v0.4h, v0.4h
+ umlal v31.4s, v0.4h, v0.4h
+ umlal v0.4s, v31.4h, v0.4h
+ umlal v0.4s, v0.4h, v31.4h
+ umlal v0.2d, v0.2s, v0.2s
+ umlal v31.2d, v0.2s, v0.2s
+ umlal v0.2d, v31.2s, v0.2s
+ umlal v0.2d, v0.2s, v31.2s
+
+ umlal2 v0.8h, v0.16b, v0.16b
+ umlal2 v31.8h, v0.16b, v0.16b
+ umlal2 v0.8h, v31.16b, v0.16b
+ umlal2 v0.8h, v0.16b, v31.16b
+ umlal2 v0.4s, v0.8h, v0.8h
+ umlal2 v31.4s, v0.8h, v0.8h
+ umlal2 v0.4s, v31.8h, v0.8h
+ umlal2 v0.4s, v0.8h, v31.8h
+ umlal2 v0.2d, v0.4s, v0.4s
+ umlal2 v31.2d, v0.4s, v0.4s
+ umlal2 v0.2d, v31.4s, v0.4s
+ umlal2 v0.2d, v0.4s, v31.4s
+
+ umlsl v0.8h, v0.8b, v0.8b
+ umlsl v31.8h, v0.8b, v0.8b
+ umlsl v0.8h, v31.8b, v0.8b
+ umlsl v0.8h, v0.8b, v31.8b
+ umlsl v0.4s, v0.4h, v0.4h
+ umlsl v31.4s, v0.4h, v0.4h
+ umlsl v0.4s, v31.4h, v0.4h
+ umlsl v0.4s, v0.4h, v31.4h
+ umlsl v0.2d, v0.2s, v0.2s
+ umlsl v31.2d, v0.2s, v0.2s
+ umlsl v0.2d, v31.2s, v0.2s
+ umlsl v0.2d, v0.2s, v31.2s
+
+ umlsl2 v0.8h, v0.16b, v0.16b
+ umlsl2 v31.8h, v0.16b, v0.16b
+ umlsl2 v0.8h, v31.16b, v0.16b
+ umlsl2 v0.8h, v0.16b, v31.16b
+ umlsl2 v0.4s, v0.8h, v0.8h
+ umlsl2 v31.4s, v0.8h, v0.8h
+ umlsl2 v0.4s, v31.8h, v0.8h
+ umlsl2 v0.4s, v0.8h, v31.8h
+ umlsl2 v0.2d, v0.4s, v0.4s
+ umlsl2 v31.2d, v0.4s, v0.4s
+ umlsl2 v0.2d, v31.4s, v0.4s
+ umlsl2 v0.2d, v0.4s, v31.4s
+
+ umull v0.8h, v0.8b, v0.8b
+ umull v31.8h, v0.8b, v0.8b
+ umull v0.8h, v31.8b, v0.8b
+ umull v0.8h, v0.8b, v31.8b
+ umull v0.4s, v0.4h, v0.4h
+ umull v31.4s, v0.4h, v0.4h
+ umull v0.4s, v31.4h, v0.4h
+ umull v0.4s, v0.4h, v31.4h
+ umull v0.2d, v0.2s, v0.2s
+ umull v31.2d, v0.2s, v0.2s
+ umull v0.2d, v31.2s, v0.2s
+ umull v0.2d, v0.2s, v31.2s
+
+ umull2 v0.8h, v0.16b, v0.16b
+ umull2 v31.8h, v0.16b, v0.16b
+ umull2 v0.8h, v31.16b, v0.16b
+ umull2 v0.8h, v0.16b, v31.16b
+ umull2 v0.4s, v0.8h, v0.8h
+ umull2 v31.4s, v0.8h, v0.8h
+ umull2 v0.4s, v31.8h, v0.8h
+ umull2 v0.4s, v0.8h, v31.8h
+ umull2 v0.2d, v0.4s, v0.4s
+ umull2 v31.2d, v0.4s, v0.4s
+ umull2 v0.2d, v31.4s, v0.4s
+ umull2 v0.2d, v0.4s, v31.4s
diff --git a/gas/testsuite/gas/aarch64/branch-cond-pseudos.d b/gas/testsuite/gas/aarch64/branch-cond-pseudos.d
new file mode 100644
index 0000000..92a7592
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/branch-cond-pseudos.d
@@ -0,0 +1,41 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 54000000 b.eq 0 \<\.text\> // b\.none
+ *[0-9a-f]+: 54ffffe0 b.eq 0 \<\.text\> // b\.none
+ *[0-9a-f]+: 54000001 b.ne 8 \<\.text\+0x8\> // b\.any
+ *[0-9a-f]+: 54ffffe1 b.ne 8 \<\.text\+0x8\> // b\.any
+ *[0-9a-f]+: 54000002 b.cs 10 \<\.text\+0x10\> // b\.hs, b\.nlast
+ *[0-9a-f]+: 54ffffe2 b.cs 10 \<\.text\+0x10\> // b\.hs, b\.nlast
+ *[0-9a-f]+: 54000002 b.cs 18 \<\.text\+0x18\> // b\.hs, b\.nlast
+ *[0-9a-f]+: 54ffffe2 b.cs 18 \<\.text\+0x18\> // b\.hs, b\.nlast
+ *[0-9a-f]+: 54000003 b.cc 20 \<\.text\+0x20\> // b\.lo, b\.ul, b\.last
+ *[0-9a-f]+: 54ffffe3 b.cc 20 \<\.text\+0x20\> // b\.lo, b\.ul, b\.last
+ *[0-9a-f]+: 54000003 b.cc 28 \<\.text\+0x28\> // b\.lo, b\.ul, b\.last
+ *[0-9a-f]+: 54ffffe3 b.cc 28 \<\.text\+0x28\> // b\.lo, b\.ul, b\.last
+ *[0-9a-f]+: 54000004 b.mi 30 \<\.text\+0x30\> // b\.first
+ *[0-9a-f]+: 54ffffe4 b.mi 30 \<\.text\+0x30\> // b\.first
+ *[0-9a-f]+: 54000005 b.pl 38 \<\.text\+0x38\> // b\.nfrst
+ *[0-9a-f]+: 54ffffe5 b.pl 38 \<\.text\+0x38\> // b\.nfrst
+ *[0-9a-f]+: 54000006 b.vs 40 \<\.text\+0x40\>
+ *[0-9a-f]+: 54ffffe6 b.vs 40 \<\.text\+0x40\>
+ *[0-9a-f]+: 54000007 b.vc 48 \<\.text\+0x48\>
+ *[0-9a-f]+: 54ffffe7 b.vc 48 \<\.text\+0x48\>
+ *[0-9a-f]+: 54000008 b.hi 50 \<\.text\+0x50\> // b\.pmore
+ *[0-9a-f]+: 54ffffe8 b.hi 50 \<\.text\+0x50\> // b\.pmore
+ *[0-9a-f]+: 54000009 b.ls 58 \<\.text\+0x58\> // b\.plast
+ *[0-9a-f]+: 54ffffe9 b.ls 58 \<\.text\+0x58\> // b\.plast
+ *[0-9a-f]+: 5400000a b.ge 60 \<\.text\+0x60\> // b\.tcont
+ *[0-9a-f]+: 54ffffea b.ge 60 \<\.text\+0x60\> // b\.tcont
+ *[0-9a-f]+: 5400000b b.lt 68 \<\.text\+0x68\> // b\.tstop
+ *[0-9a-f]+: 54ffffeb b.lt 68 \<\.text\+0x68\> // b\.tstop
+ *[0-9a-f]+: 5400000c b.gt 70 \<\.text\+0x70\>
+ *[0-9a-f]+: 54ffffec b.gt 70 \<\.text\+0x70\>
+ *[0-9a-f]+: 5400000d b.le 78 \<\.text\+0x78\>
+ *[0-9a-f]+: 54ffffed b.le 78 \<\.text\+0x78\>
diff --git a/gas/testsuite/gas/aarch64/branch-cond-pseudos.s b/gas/testsuite/gas/aarch64/branch-cond-pseudos.s
new file mode 100644
index 0000000..381ce8e
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/branch-cond-pseudos.s
@@ -0,0 +1,32 @@
+1: beq 1b
+ beq 1b
+2: bne 2b
+ bne 2b
+3: bcs 3b
+ bcs 3b
+4: bhs 4b
+ bhs 4b
+5: bcc 5b
+ bcc 5b
+6: blo 6b
+ blo 6b
+7: bmi 7b
+ bmi 7b
+8: bpl 8b
+ bpl 8b
+9: bvs 9b
+ bvs 9b
+10: bvc 10b
+ bvc 10b
+11: bhi 11b
+ bhi 11b
+12: bls 12b
+ bls 12b
+13: bge 13b
+ bge 13b
+14: blt 14b
+ blt 14b
+15: bgt 15b
+ bgt 15b
+16: ble 16b
+ ble 16b
diff --git a/gas/testsuite/gas/aarch64/cmpbr-bad.d b/gas/testsuite/gas/aarch64/cmpbr-bad.d
new file mode 100644
index 0000000..6487979
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-bad.d
@@ -0,0 +1,4 @@
+#name: Test of invalid cmpbr operands
+#source: cmpbr-bad.s
+#as: -march=armv8-a+cmpbr
+#error_output: cmpbr-bad.l
diff --git a/gas/testsuite/gas/aarch64/cmpbr-bad.l b/gas/testsuite/gas/aarch64/cmpbr-bad.l
new file mode 100644
index 0000000..f705cfd
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-bad.l
@@ -0,0 +1,13 @@
+.[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: operand mismatch -- `cbgt w0,x1,a'
+[^ :]+:[0-9]+: Info: did you mean this\?
+[^ :]+:[0-9]+: Info: cbgt w0, w1, #0x0
+[^ :]+:[0-9]+: Info: other valid variant\(s\):
+[^ :]+:[0-9]+: Info: cbgt x0, x1, #0x0
+[^ :]+:[0-9]+: Error: immediate value out of range 0 to 63 at operand 2 -- `cbgt w0,#64,a'
+[^ :]+:[0-9]+: Error: operand mismatch -- `cbbgt x0,x1,a'
+[^ :]+:[0-9]+: Info: did you mean this\?
+[^ :]+:[0-9]+: Info: cbbgt w0, w1, #0x0
+[^ :]+:[0-9]+: Error: operand mismatch -- `cbhgt x0,x1,a'
+[^ :]+:[0-9]+: Info: did you mean this\?
+[^ :]+:[0-9]+: Info: cbhgt w0, w1, #0x0
diff --git a/gas/testsuite/gas/aarch64/cmpbr-bad.s b/gas/testsuite/gas/aarch64/cmpbr-bad.s
new file mode 100644
index 0000000..8fb1e61
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-bad.s
@@ -0,0 +1,5 @@
+a:
+ cbgt w0, x1, a
+ cbgt w0, #64, a
+ cbbgt x0, x1, a
+ cbhgt x0, x1, a
diff --git a/gas/testsuite/gas/aarch64/cmpbr-far.d b/gas/testsuite/gas/aarch64/cmpbr-far.d
new file mode 100644
index 0000000..a027cdf
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-far.d
@@ -0,0 +1,4 @@
+#name: CMPBR instructions that branch too far
+#source: cmpbr-far.s
+#as: -march=armv8-a+cmpbr
+#error_output: cmpbr-far.l
diff --git a/gas/testsuite/gas/aarch64/cmpbr-far.l b/gas/testsuite/gas/aarch64/cmpbr-far.l
new file mode 100644
index 0000000..6432035
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-far.l
@@ -0,0 +1,3 @@
+.[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: conditional branch out of range
+[^ :]+:[0-9]+: Error: conditional branch out of range
diff --git a/gas/testsuite/gas/aarch64/cmpbr-far.s b/gas/testsuite/gas/aarch64/cmpbr-far.s
new file mode 100644
index 0000000..927d422
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-far.s
@@ -0,0 +1,13 @@
+a:
+ .rept 257
+ nop
+ .endr
+ cbgt w0, w1, a
+
+ cbgt w0, w1, b
+ .rept 255
+ nop
+ .endr
+
+b:
+ nop
diff --git a/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.d b/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.d
new file mode 100644
index 0000000..444b554
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.d
@@ -0,0 +1,4 @@
+#name: Test of out-of-range cmpbr operands
+#source: cmpbr-pseudo-bad.s
+#as: -march=armv8-a+cmpbr
+#error_output: cmpbr-pseudo-bad.l
diff --git a/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.l b/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.l
new file mode 100644
index 0000000..3839baf
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.l
@@ -0,0 +1,3 @@
+.[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: immediate value out of range 1 to 64 at operand 2 -- `cbge w0,#0,a'
+[^ :]+:[0-9]+: Error: immediate value out of range -1 to 62 at operand 2 -- `cble w0,#63,a'
diff --git a/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.s b/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.s
new file mode 100644
index 0000000..1fd0c3a
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr-pseudo-bad.s
@@ -0,0 +1,3 @@
+a:
+ cbge w0, #0, a
+ cble w0, #63, a
diff --git a/gas/testsuite/gas/aarch64/cmpbr.d b/gas/testsuite/gas/aarch64/cmpbr.d
new file mode 100644
index 0000000..457fdd7
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr.d
@@ -0,0 +1,967 @@
+#name: Test for FEAT_CMPBR
+#as: -march=armv8-a+cmpbr
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section .text:
+
+.* <cbgt_0>:
+.*: 75000000 cbgt w0, #0, 0 <cbgt_0>
+.*: 75003fe0 cbgt w0, #0, 0 <cbgt_0>
+
+.* <cbgt_1>:
+.*: 751f8000 cbgt w0, #63, 8 <cbgt_1>
+.*: 751fbfe0 cbgt w0, #63, 8 <cbgt_1>
+
+.* <cbgt_2>:
+.*: 7500001f cbgt wzr, #0, 10 <cbgt_2>
+.*: 75003fff cbgt wzr, #0, 10 <cbgt_2>
+
+.* <cbgt_3>:
+.*: 751f801f cbgt wzr, #63, 18 <cbgt_3>
+.*: 751fbfff cbgt wzr, #63, 18 <cbgt_3>
+
+.* <cbgt_4>:
+.*: f5000000 cbgt x0, #0, 20 <cbgt_4>
+.*: f5003fe0 cbgt x0, #0, 20 <cbgt_4>
+
+.* <cbgt_5>:
+.*: f51f8000 cbgt x0, #63, 28 <cbgt_5>
+.*: f51fbfe0 cbgt x0, #63, 28 <cbgt_5>
+
+.* <cbgt_6>:
+.*: f500001f cbgt xzr, #0, 30 <cbgt_6>
+.*: f5003fff cbgt xzr, #0, 30 <cbgt_6>
+
+.* <cbgt_7>:
+.*: f51f801f cbgt xzr, #63, 38 <cbgt_7>
+.*: f51fbfff cbgt xzr, #63, 38 <cbgt_7>
+
+.* <cblt_0>:
+.*: 75200000 cblt w0, #0, 40 <cblt_0>
+.*: 75203fe0 cblt w0, #0, 40 <cblt_0>
+
+.* <cblt_1>:
+.*: 753f8000 cblt w0, #63, 48 <cblt_1>
+.*: 753fbfe0 cblt w0, #63, 48 <cblt_1>
+
+.* <cblt_2>:
+.*: 7520001f cblt wzr, #0, 50 <cblt_2>
+.*: 75203fff cblt wzr, #0, 50 <cblt_2>
+
+.* <cblt_3>:
+.*: 753f801f cblt wzr, #63, 58 <cblt_3>
+.*: 753fbfff cblt wzr, #63, 58 <cblt_3>
+
+.* <cblt_4>:
+.*: f5200000 cblt x0, #0, 60 <cblt_4>
+.*: f5203fe0 cblt x0, #0, 60 <cblt_4>
+
+.* <cblt_5>:
+.*: f53f8000 cblt x0, #63, 68 <cblt_5>
+.*: f53fbfe0 cblt x0, #63, 68 <cblt_5>
+
+.* <cblt_6>:
+.*: f520001f cblt xzr, #0, 70 <cblt_6>
+.*: f5203fff cblt xzr, #0, 70 <cblt_6>
+
+.* <cblt_7>:
+.*: f53f801f cblt xzr, #63, 78 <cblt_7>
+.*: f53fbfff cblt xzr, #63, 78 <cblt_7>
+
+.* <cbhi_0>:
+.*: 75400000 cbhi w0, #0, 80 <cbhi_0>
+.*: 75403fe0 cbhi w0, #0, 80 <cbhi_0>
+
+.* <cbhi_1>:
+.*: 755f8000 cbhi w0, #63, 88 <cbhi_1>
+.*: 755fbfe0 cbhi w0, #63, 88 <cbhi_1>
+
+.* <cbhi_2>:
+.*: 7540001f cbhi wzr, #0, 90 <cbhi_2>
+.*: 75403fff cbhi wzr, #0, 90 <cbhi_2>
+
+.* <cbhi_3>:
+.*: 755f801f cbhi wzr, #63, 98 <cbhi_3>
+.*: 755fbfff cbhi wzr, #63, 98 <cbhi_3>
+
+.* <cbhi_4>:
+.*: f5400000 cbhi x0, #0, a0 <cbhi_4>
+.*: f5403fe0 cbhi x0, #0, a0 <cbhi_4>
+
+.* <cbhi_5>:
+.*: f55f8000 cbhi x0, #63, a8 <cbhi_5>
+.*: f55fbfe0 cbhi x0, #63, a8 <cbhi_5>
+
+.* <cbhi_6>:
+.*: f540001f cbhi xzr, #0, b0 <cbhi_6>
+.*: f5403fff cbhi xzr, #0, b0 <cbhi_6>
+
+.* <cbhi_7>:
+.*: f55f801f cbhi xzr, #63, b8 <cbhi_7>
+.*: f55fbfff cbhi xzr, #63, b8 <cbhi_7>
+
+.* <cblo_0>:
+.*: 75600000 cblo w0, #0, c0 <cblo_0>
+.*: 75603fe0 cblo w0, #0, c0 <cblo_0>
+
+.* <cblo_1>:
+.*: 757f8000 cblo w0, #63, c8 <cblo_1>
+.*: 757fbfe0 cblo w0, #63, c8 <cblo_1>
+
+.* <cblo_2>:
+.*: 7560001f cblo wzr, #0, d0 <cblo_2>
+.*: 75603fff cblo wzr, #0, d0 <cblo_2>
+
+.* <cblo_3>:
+.*: 757f801f cblo wzr, #63, d8 <cblo_3>
+.*: 757fbfff cblo wzr, #63, d8 <cblo_3>
+
+.* <cblo_4>:
+.*: f5600000 cblo x0, #0, e0 <cblo_4>
+.*: f5603fe0 cblo x0, #0, e0 <cblo_4>
+
+.* <cblo_5>:
+.*: f57f8000 cblo x0, #63, e8 <cblo_5>
+.*: f57fbfe0 cblo x0, #63, e8 <cblo_5>
+
+.* <cblo_6>:
+.*: f560001f cblo xzr, #0, f0 <cblo_6>
+.*: f5603fff cblo xzr, #0, f0 <cblo_6>
+
+.* <cblo_7>:
+.*: f57f801f cblo xzr, #63, f8 <cblo_7>
+.*: f57fbfff cblo xzr, #63, f8 <cblo_7>
+
+.* <cbeq_0>:
+.*: 75c00000 cbeq w0, #0, 100 <cbeq_0>
+.*: 75c03fe0 cbeq w0, #0, 100 <cbeq_0>
+
+.* <cbeq_1>:
+.*: 75df8000 cbeq w0, #63, 108 <cbeq_1>
+.*: 75dfbfe0 cbeq w0, #63, 108 <cbeq_1>
+
+.* <cbeq_2>:
+.*: 75c0001f cbeq wzr, #0, 110 <cbeq_2>
+.*: 75c03fff cbeq wzr, #0, 110 <cbeq_2>
+
+.* <cbeq_3>:
+.*: 75df801f cbeq wzr, #63, 118 <cbeq_3>
+.*: 75dfbfff cbeq wzr, #63, 118 <cbeq_3>
+
+.* <cbeq_4>:
+.*: f5c00000 cbeq x0, #0, 120 <cbeq_4>
+.*: f5c03fe0 cbeq x0, #0, 120 <cbeq_4>
+
+.* <cbeq_5>:
+.*: f5df8000 cbeq x0, #63, 128 <cbeq_5>
+.*: f5dfbfe0 cbeq x0, #63, 128 <cbeq_5>
+
+.* <cbeq_6>:
+.*: f5c0001f cbeq xzr, #0, 130 <cbeq_6>
+.*: f5c03fff cbeq xzr, #0, 130 <cbeq_6>
+
+.* <cbeq_7>:
+.*: f5df801f cbeq xzr, #63, 138 <cbeq_7>
+.*: f5dfbfff cbeq xzr, #63, 138 <cbeq_7>
+
+.* <cbne_0>:
+.*: 75e00000 cbne w0, #0, 140 <cbne_0>
+.*: 75e03fe0 cbne w0, #0, 140 <cbne_0>
+
+.* <cbne_1>:
+.*: 75ff8000 cbne w0, #63, 148 <cbne_1>
+.*: 75ffbfe0 cbne w0, #63, 148 <cbne_1>
+
+.* <cbne_2>:
+.*: 75e0001f cbne wzr, #0, 150 <cbne_2>
+.*: 75e03fff cbne wzr, #0, 150 <cbne_2>
+
+.* <cbne_3>:
+.*: 75ff801f cbne wzr, #63, 158 <cbne_3>
+.*: 75ffbfff cbne wzr, #63, 158 <cbne_3>
+
+.* <cbne_4>:
+.*: f5e00000 cbne x0, #0, 160 <cbne_4>
+.*: f5e03fe0 cbne x0, #0, 160 <cbne_4>
+
+.* <cbne_5>:
+.*: f5ff8000 cbne x0, #63, 168 <cbne_5>
+.*: f5ffbfe0 cbne x0, #63, 168 <cbne_5>
+
+.* <cbne_6>:
+.*: f5e0001f cbne xzr, #0, 170 <cbne_6>
+.*: f5e03fff cbne xzr, #0, 170 <cbne_6>
+
+.* <cbne_7>:
+.*: f5ff801f cbne xzr, #63, 178 <cbne_7>
+.*: f5ffbfff cbne xzr, #63, 178 <cbne_7>
+
+.* <cbgt_8>:
+.*: 74000000 cbgt w0, w0, 180 <cbgt_8>
+.*: 74003fe0 cbgt w0, w0, 180 <cbgt_8>
+
+.* <cbgt_9>:
+.*: 741f0000 cbgt w0, wzr, 188 <cbgt_9>
+.*: 741f3fe0 cbgt w0, wzr, 188 <cbgt_9>
+
+.* <cbgt_10>:
+.*: 7400001f cbgt wzr, w0, 190 <cbgt_10>
+.*: 74003fff cbgt wzr, w0, 190 <cbgt_10>
+
+.* <cbgt_11>:
+.*: 741f001f cbgt wzr, wzr, 198 <cbgt_11>
+.*: 741f3fff cbgt wzr, wzr, 198 <cbgt_11>
+
+.* <cbgt_12>:
+.*: f4000000 cbgt x0, x0, 1a0 <cbgt_12>
+.*: f4003fe0 cbgt x0, x0, 1a0 <cbgt_12>
+
+.* <cbgt_13>:
+.*: f41f0000 cbgt x0, xzr, 1a8 <cbgt_13>
+.*: f41f3fe0 cbgt x0, xzr, 1a8 <cbgt_13>
+
+.* <cbgt_14>:
+.*: f400001f cbgt xzr, x0, 1b0 <cbgt_14>
+.*: f4003fff cbgt xzr, x0, 1b0 <cbgt_14>
+
+.* <cbgt_15>:
+.*: f41f001f cbgt xzr, xzr, 1b8 <cbgt_15>
+.*: f41f3fff cbgt xzr, xzr, 1b8 <cbgt_15>
+
+.* <cbge_8>:
+.*: 74200000 cbge w0, w0, 1c0 <cbge_8>
+.*: 74203fe0 cbge w0, w0, 1c0 <cbge_8>
+
+.* <cbge_9>:
+.*: 743f0000 cbge w0, wzr, 1c8 <cbge_9>
+.*: 743f3fe0 cbge w0, wzr, 1c8 <cbge_9>
+
+.* <cbge_10>:
+.*: 7420001f cbge wzr, w0, 1d0 <cbge_10>
+.*: 74203fff cbge wzr, w0, 1d0 <cbge_10>
+
+.* <cbge_11>:
+.*: 743f001f cbge wzr, wzr, 1d8 <cbge_11>
+.*: 743f3fff cbge wzr, wzr, 1d8 <cbge_11>
+
+.* <cbge_12>:
+.*: f4200000 cbge x0, x0, 1e0 <cbge_12>
+.*: f4203fe0 cbge x0, x0, 1e0 <cbge_12>
+
+.* <cbge_13>:
+.*: f43f0000 cbge x0, xzr, 1e8 <cbge_13>
+.*: f43f3fe0 cbge x0, xzr, 1e8 <cbge_13>
+
+.* <cbge_14>:
+.*: f420001f cbge xzr, x0, 1f0 <cbge_14>
+.*: f4203fff cbge xzr, x0, 1f0 <cbge_14>
+
+.* <cbge_15>:
+.*: f43f001f cbge xzr, xzr, 1f8 <cbge_15>
+.*: f43f3fff cbge xzr, xzr, 1f8 <cbge_15>
+
+.* <cbhi_8>:
+.*: 74400000 cbhi w0, w0, 200 <cbhi_8>
+.*: 74403fe0 cbhi w0, w0, 200 <cbhi_8>
+
+.* <cbhi_9>:
+.*: 745f0000 cbhi w0, wzr, 208 <cbhi_9>
+.*: 745f3fe0 cbhi w0, wzr, 208 <cbhi_9>
+
+.* <cbhi_10>:
+.*: 7440001f cbhi wzr, w0, 210 <cbhi_10>
+.*: 74403fff cbhi wzr, w0, 210 <cbhi_10>
+
+.* <cbhi_11>:
+.*: 745f001f cbhi wzr, wzr, 218 <cbhi_11>
+.*: 745f3fff cbhi wzr, wzr, 218 <cbhi_11>
+
+.* <cbhi_12>:
+.*: f4400000 cbhi x0, x0, 220 <cbhi_12>
+.*: f4403fe0 cbhi x0, x0, 220 <cbhi_12>
+
+.* <cbhi_13>:
+.*: f45f0000 cbhi x0, xzr, 228 <cbhi_13>
+.*: f45f3fe0 cbhi x0, xzr, 228 <cbhi_13>
+
+.* <cbhi_14>:
+.*: f440001f cbhi xzr, x0, 230 <cbhi_14>
+.*: f4403fff cbhi xzr, x0, 230 <cbhi_14>
+
+.* <cbhi_15>:
+.*: f45f001f cbhi xzr, xzr, 238 <cbhi_15>
+.*: f45f3fff cbhi xzr, xzr, 238 <cbhi_15>
+
+.* <cbhs_8>:
+.*: 74600000 cbhs w0, w0, 240 <cbhs_8>
+.*: 74603fe0 cbhs w0, w0, 240 <cbhs_8>
+
+.* <cbhs_9>:
+.*: 747f0000 cbhs w0, wzr, 248 <cbhs_9>
+.*: 747f3fe0 cbhs w0, wzr, 248 <cbhs_9>
+
+.* <cbhs_10>:
+.*: 7460001f cbhs wzr, w0, 250 <cbhs_10>
+.*: 74603fff cbhs wzr, w0, 250 <cbhs_10>
+
+.* <cbhs_11>:
+.*: 747f001f cbhs wzr, wzr, 258 <cbhs_11>
+.*: 747f3fff cbhs wzr, wzr, 258 <cbhs_11>
+
+.* <cbhs_12>:
+.*: f4600000 cbhs x0, x0, 260 <cbhs_12>
+.*: f4603fe0 cbhs x0, x0, 260 <cbhs_12>
+
+.* <cbhs_13>:
+.*: f47f0000 cbhs x0, xzr, 268 <cbhs_13>
+.*: f47f3fe0 cbhs x0, xzr, 268 <cbhs_13>
+
+.* <cbhs_14>:
+.*: f460001f cbhs xzr, x0, 270 <cbhs_14>
+.*: f4603fff cbhs xzr, x0, 270 <cbhs_14>
+
+.* <cbhs_15>:
+.*: f47f001f cbhs xzr, xzr, 278 <cbhs_15>
+.*: f47f3fff cbhs xzr, xzr, 278 <cbhs_15>
+
+.* <cbeq_8>:
+.*: 74c00000 cbeq w0, w0, 280 <cbeq_8>
+.*: 74c03fe0 cbeq w0, w0, 280 <cbeq_8>
+
+.* <cbeq_9>:
+.*: 74df0000 cbeq w0, wzr, 288 <cbeq_9>
+.*: 74df3fe0 cbeq w0, wzr, 288 <cbeq_9>
+
+.* <cbeq_10>:
+.*: 74c0001f cbeq wzr, w0, 290 <cbeq_10>
+.*: 74c03fff cbeq wzr, w0, 290 <cbeq_10>
+
+.* <cbeq_11>:
+.*: 74df001f cbeq wzr, wzr, 298 <cbeq_11>
+.*: 74df3fff cbeq wzr, wzr, 298 <cbeq_11>
+
+.* <cbeq_12>:
+.*: f4c00000 cbeq x0, x0, 2a0 <cbeq_12>
+.*: f4c03fe0 cbeq x0, x0, 2a0 <cbeq_12>
+
+.* <cbeq_13>:
+.*: f4df0000 cbeq x0, xzr, 2a8 <cbeq_13>
+.*: f4df3fe0 cbeq x0, xzr, 2a8 <cbeq_13>
+
+.* <cbeq_14>:
+.*: f4c0001f cbeq xzr, x0, 2b0 <cbeq_14>
+.*: f4c03fff cbeq xzr, x0, 2b0 <cbeq_14>
+
+.* <cbeq_15>:
+.*: f4df001f cbeq xzr, xzr, 2b8 <cbeq_15>
+.*: f4df3fff cbeq xzr, xzr, 2b8 <cbeq_15>
+
+.* <cbne_8>:
+.*: 74e00000 cbne w0, w0, 2c0 <cbne_8>
+.*: 74e03fe0 cbne w0, w0, 2c0 <cbne_8>
+
+.* <cbne_9>:
+.*: 74ff0000 cbne w0, wzr, 2c8 <cbne_9>
+.*: 74ff3fe0 cbne w0, wzr, 2c8 <cbne_9>
+
+.* <cbne_10>:
+.*: 74e0001f cbne wzr, w0, 2d0 <cbne_10>
+.*: 74e03fff cbne wzr, w0, 2d0 <cbne_10>
+
+.* <cbne_11>:
+.*: 74ff001f cbne wzr, wzr, 2d8 <cbne_11>
+.*: 74ff3fff cbne wzr, wzr, 2d8 <cbne_11>
+
+.* <cbne_12>:
+.*: f4e00000 cbne x0, x0, 2e0 <cbne_12>
+.*: f4e03fe0 cbne x0, x0, 2e0 <cbne_12>
+
+.* <cbne_13>:
+.*: f4ff0000 cbne x0, xzr, 2e8 <cbne_13>
+.*: f4ff3fe0 cbne x0, xzr, 2e8 <cbne_13>
+
+.* <cbne_14>:
+.*: f4e0001f cbne xzr, x0, 2f0 <cbne_14>
+.*: f4e03fff cbne xzr, x0, 2f0 <cbne_14>
+
+.* <cbne_15>:
+.*: f4ff001f cbne xzr, xzr, 2f8 <cbne_15>
+.*: f4ff3fff cbne xzr, xzr, 2f8 <cbne_15>
+
+.* <cbbgt_0>:
+.*: 74008000 cbbgt w0, w0, 300 <cbbgt_0>
+.*: 7400bfe0 cbbgt w0, w0, 300 <cbbgt_0>
+
+.* <cbbgt_1>:
+.*: 741f8000 cbbgt w0, wzr, 308 <cbbgt_1>
+.*: 741fbfe0 cbbgt w0, wzr, 308 <cbbgt_1>
+
+.* <cbbgt_2>:
+.*: 7400801f cbbgt wzr, w0, 310 <cbbgt_2>
+.*: 7400bfff cbbgt wzr, w0, 310 <cbbgt_2>
+
+.* <cbbgt_3>:
+.*: 741f801f cbbgt wzr, wzr, 318 <cbbgt_3>
+.*: 741fbfff cbbgt wzr, wzr, 318 <cbbgt_3>
+
+.* <cbbge_0>:
+.*: 74208000 cbbge w0, w0, 320 <cbbge_0>
+.*: 7420bfe0 cbbge w0, w0, 320 <cbbge_0>
+
+.* <cbbge_1>:
+.*: 743f8000 cbbge w0, wzr, 328 <cbbge_1>
+.*: 743fbfe0 cbbge w0, wzr, 328 <cbbge_1>
+
+.* <cbbge_2>:
+.*: 7420801f cbbge wzr, w0, 330 <cbbge_2>
+.*: 7420bfff cbbge wzr, w0, 330 <cbbge_2>
+
+.* <cbbge_3>:
+.*: 743f801f cbbge wzr, wzr, 338 <cbbge_3>
+.*: 743fbfff cbbge wzr, wzr, 338 <cbbge_3>
+
+.* <cbbhi_0>:
+.*: 74408000 cbbhi w0, w0, 340 <cbbhi_0>
+.*: 7440bfe0 cbbhi w0, w0, 340 <cbbhi_0>
+
+.* <cbbhi_1>:
+.*: 745f8000 cbbhi w0, wzr, 348 <cbbhi_1>
+.*: 745fbfe0 cbbhi w0, wzr, 348 <cbbhi_1>
+
+.* <cbbhi_2>:
+.*: 7440801f cbbhi wzr, w0, 350 <cbbhi_2>
+.*: 7440bfff cbbhi wzr, w0, 350 <cbbhi_2>
+
+.* <cbbhi_3>:
+.*: 745f801f cbbhi wzr, wzr, 358 <cbbhi_3>
+.*: 745fbfff cbbhi wzr, wzr, 358 <cbbhi_3>
+
+.* <cbbhs_0>:
+.*: 74608000 cbbhs w0, w0, 360 <cbbhs_0>
+.*: 7460bfe0 cbbhs w0, w0, 360 <cbbhs_0>
+
+.* <cbbhs_1>:
+.*: 747f8000 cbbhs w0, wzr, 368 <cbbhs_1>
+.*: 747fbfe0 cbbhs w0, wzr, 368 <cbbhs_1>
+
+.* <cbbhs_2>:
+.*: 7460801f cbbhs wzr, w0, 370 <cbbhs_2>
+.*: 7460bfff cbbhs wzr, w0, 370 <cbbhs_2>
+
+.* <cbbhs_3>:
+.*: 747f801f cbbhs wzr, wzr, 378 <cbbhs_3>
+.*: 747fbfff cbbhs wzr, wzr, 378 <cbbhs_3>
+
+.* <cbbeq_0>:
+.*: 74c08000 cbbeq w0, w0, 380 <cbbeq_0>
+.*: 74c0bfe0 cbbeq w0, w0, 380 <cbbeq_0>
+
+.* <cbbeq_1>:
+.*: 74df8000 cbbeq w0, wzr, 388 <cbbeq_1>
+.*: 74dfbfe0 cbbeq w0, wzr, 388 <cbbeq_1>
+
+.* <cbbeq_2>:
+.*: 74c0801f cbbeq wzr, w0, 390 <cbbeq_2>
+.*: 74c0bfff cbbeq wzr, w0, 390 <cbbeq_2>
+
+.* <cbbeq_3>:
+.*: 74df801f cbbeq wzr, wzr, 398 <cbbeq_3>
+.*: 74dfbfff cbbeq wzr, wzr, 398 <cbbeq_3>
+
+.* <cbbne_0>:
+.*: 74e08000 cbbne w0, w0, 3a0 <cbbne_0>
+.*: 74e0bfe0 cbbne w0, w0, 3a0 <cbbne_0>
+
+.* <cbbne_1>:
+.*: 74ff8000 cbbne w0, wzr, 3a8 <cbbne_1>
+.*: 74ffbfe0 cbbne w0, wzr, 3a8 <cbbne_1>
+
+.* <cbbne_2>:
+.*: 74e0801f cbbne wzr, w0, 3b0 <cbbne_2>
+.*: 74e0bfff cbbne wzr, w0, 3b0 <cbbne_2>
+
+.* <cbbne_3>:
+.*: 74ff801f cbbne wzr, wzr, 3b8 <cbbne_3>
+.*: 74ffbfff cbbne wzr, wzr, 3b8 <cbbne_3>
+
+.* <cbhgt_0>:
+.*: 7400c000 cbhgt w0, w0, 3c0 <cbhgt_0>
+.*: 7400ffe0 cbhgt w0, w0, 3c0 <cbhgt_0>
+
+.* <cbhgt_1>:
+.*: 741fc000 cbhgt w0, wzr, 3c8 <cbhgt_1>
+.*: 741fffe0 cbhgt w0, wzr, 3c8 <cbhgt_1>
+
+.* <cbhgt_2>:
+.*: 7400c01f cbhgt wzr, w0, 3d0 <cbhgt_2>
+.*: 7400ffff cbhgt wzr, w0, 3d0 <cbhgt_2>
+
+.* <cbhgt_3>:
+.*: 741fc01f cbhgt wzr, wzr, 3d8 <cbhgt_3>
+.*: 741fffff cbhgt wzr, wzr, 3d8 <cbhgt_3>
+
+.* <cbhge_0>:
+.*: 7420c000 cbhge w0, w0, 3e0 <cbhge_0>
+.*: 7420ffe0 cbhge w0, w0, 3e0 <cbhge_0>
+
+.* <cbhge_1>:
+.*: 743fc000 cbhge w0, wzr, 3e8 <cbhge_1>
+.*: 743fffe0 cbhge w0, wzr, 3e8 <cbhge_1>
+
+.* <cbhge_2>:
+.*: 7420c01f cbhge wzr, w0, 3f0 <cbhge_2>
+.*: 7420ffff cbhge wzr, w0, 3f0 <cbhge_2>
+
+.* <cbhge_3>:
+.*: 743fc01f cbhge wzr, wzr, 3f8 <cbhge_3>
+.*: 743fffff cbhge wzr, wzr, 3f8 <cbhge_3>
+
+.* <cbhhi_0>:
+.*: 7440c000 cbhhi w0, w0, 400 <cbhhi_0>
+.*: 7440ffe0 cbhhi w0, w0, 400 <cbhhi_0>
+
+.* <cbhhi_1>:
+.*: 745fc000 cbhhi w0, wzr, 408 <cbhhi_1>
+.*: 745fffe0 cbhhi w0, wzr, 408 <cbhhi_1>
+
+.* <cbhhi_2>:
+.*: 7440c01f cbhhi wzr, w0, 410 <cbhhi_2>
+.*: 7440ffff cbhhi wzr, w0, 410 <cbhhi_2>
+
+.* <cbhhi_3>:
+.*: 745fc01f cbhhi wzr, wzr, 418 <cbhhi_3>
+.*: 745fffff cbhhi wzr, wzr, 418 <cbhhi_3>
+
+.* <cbhhs_0>:
+.*: 7460c000 cbhhs w0, w0, 420 <cbhhs_0>
+.*: 7460ffe0 cbhhs w0, w0, 420 <cbhhs_0>
+
+.* <cbhhs_1>:
+.*: 747fc000 cbhhs w0, wzr, 428 <cbhhs_1>
+.*: 747fffe0 cbhhs w0, wzr, 428 <cbhhs_1>
+
+.* <cbhhs_2>:
+.*: 7460c01f cbhhs wzr, w0, 430 <cbhhs_2>
+.*: 7460ffff cbhhs wzr, w0, 430 <cbhhs_2>
+
+.* <cbhhs_3>:
+.*: 747fc01f cbhhs wzr, wzr, 438 <cbhhs_3>
+.*: 747fffff cbhhs wzr, wzr, 438 <cbhhs_3>
+
+.* <cbheq_0>:
+.*: 74c0c000 cbheq w0, w0, 440 <cbheq_0>
+.*: 74c0ffe0 cbheq w0, w0, 440 <cbheq_0>
+
+.* <cbheq_1>:
+.*: 74dfc000 cbheq w0, wzr, 448 <cbheq_1>
+.*: 74dfffe0 cbheq w0, wzr, 448 <cbheq_1>
+
+.* <cbheq_2>:
+.*: 74c0c01f cbheq wzr, w0, 450 <cbheq_2>
+.*: 74c0ffff cbheq wzr, w0, 450 <cbheq_2>
+
+.* <cbheq_3>:
+.*: 74dfc01f cbheq wzr, wzr, 458 <cbheq_3>
+.*: 74dfffff cbheq wzr, wzr, 458 <cbheq_3>
+
+.* <cbhne_0>:
+.*: 74e0c000 cbhne w0, w0, 460 <cbhne_0>
+.*: 74e0ffe0 cbhne w0, w0, 460 <cbhne_0>
+
+.* <cbhne_1>:
+.*: 74ffc000 cbhne w0, wzr, 468 <cbhne_1>
+.*: 74ffffe0 cbhne w0, wzr, 468 <cbhne_1>
+
+.* <cbhne_2>:
+.*: 74e0c01f cbhne wzr, w0, 470 <cbhne_2>
+.*: 74e0ffff cbhne wzr, w0, 470 <cbhne_2>
+
+.* <cbhne_3>:
+.*: 74ffc01f cbhne wzr, wzr, 478 <cbhne_3>
+.*: 74ffffff cbhne wzr, wzr, 478 <cbhne_3>
+
+.* <cbge_0>:
+.*: 75000000 cbgt w0, #0, 480 <cbge_0>
+.*: 75003fe0 cbgt w0, #0, 480 <cbge_0>
+
+.* <cbge_1>:
+.*: 751f8000 cbgt w0, #63, 488 <cbge_1>
+.*: 751fbfe0 cbgt w0, #63, 488 <cbge_1>
+
+.* <cbge_2>:
+.*: 7500001f cbgt wzr, #0, 490 <cbge_2>
+.*: 75003fff cbgt wzr, #0, 490 <cbge_2>
+
+.* <cbge_3>:
+.*: 751f801f cbgt wzr, #63, 498 <cbge_3>
+.*: 751fbfff cbgt wzr, #63, 498 <cbge_3>
+
+.* <cbge_4>:
+.*: f5000000 cbgt x0, #0, 4a0 <cbge_4>
+.*: f5003fe0 cbgt x0, #0, 4a0 <cbge_4>
+
+.* <cbge_5>:
+.*: f51f8000 cbgt x0, #63, 4a8 <cbge_5>
+.*: f51fbfe0 cbgt x0, #63, 4a8 <cbge_5>
+
+.* <cbge_6>:
+.*: f500001f cbgt xzr, #0, 4b0 <cbge_6>
+.*: f5003fff cbgt xzr, #0, 4b0 <cbge_6>
+
+.* <cbge_7>:
+.*: f51f801f cbgt xzr, #63, 4b8 <cbge_7>
+.*: f51fbfff cbgt xzr, #63, 4b8 <cbge_7>
+
+.* <cble_0>:
+.*: 75200000 cblt w0, #0, 4c0 <cble_0>
+.*: 75203fe0 cblt w0, #0, 4c0 <cble_0>
+
+.* <cble_1>:
+.*: 753f8000 cblt w0, #63, 4c8 <cble_1>
+.*: 753fbfe0 cblt w0, #63, 4c8 <cble_1>
+
+.* <cble_2>:
+.*: 7520001f cblt wzr, #0, 4d0 <cble_2>
+.*: 75203fff cblt wzr, #0, 4d0 <cble_2>
+
+.* <cble_3>:
+.*: 753f801f cblt wzr, #63, 4d8 <cble_3>
+.*: 753fbfff cblt wzr, #63, 4d8 <cble_3>
+
+.* <cble_4>:
+.*: f5200000 cblt x0, #0, 4e0 <cble_4>
+.*: f5203fe0 cblt x0, #0, 4e0 <cble_4>
+
+.* <cble_5>:
+.*: f53f8000 cblt x0, #63, 4e8 <cble_5>
+.*: f53fbfe0 cblt x0, #63, 4e8 <cble_5>
+
+.* <cble_6>:
+.*: f520001f cblt xzr, #0, 4f0 <cble_6>
+.*: f5203fff cblt xzr, #0, 4f0 <cble_6>
+
+.* <cble_7>:
+.*: f53f801f cblt xzr, #63, 4f8 <cble_7>
+.*: f53fbfff cblt xzr, #63, 4f8 <cble_7>
+
+.* <cbhs_0>:
+.*: 75400000 cbhi w0, #0, 500 <cbhs_0>
+.*: 75403fe0 cbhi w0, #0, 500 <cbhs_0>
+
+.* <cbhs_1>:
+.*: 755f8000 cbhi w0, #63, 508 <cbhs_1>
+.*: 755fbfe0 cbhi w0, #63, 508 <cbhs_1>
+
+.* <cbhs_2>:
+.*: 7540001f cbhi wzr, #0, 510 <cbhs_2>
+.*: 75403fff cbhi wzr, #0, 510 <cbhs_2>
+
+.* <cbhs_3>:
+.*: 755f801f cbhi wzr, #63, 518 <cbhs_3>
+.*: 755fbfff cbhi wzr, #63, 518 <cbhs_3>
+
+.* <cbhs_4>:
+.*: f5400000 cbhi x0, #0, 520 <cbhs_4>
+.*: f5403fe0 cbhi x0, #0, 520 <cbhs_4>
+
+.* <cbhs_5>:
+.*: f55f8000 cbhi x0, #63, 528 <cbhs_5>
+.*: f55fbfe0 cbhi x0, #63, 528 <cbhs_5>
+
+.* <cbhs_6>:
+.*: f540001f cbhi xzr, #0, 530 <cbhs_6>
+.*: f5403fff cbhi xzr, #0, 530 <cbhs_6>
+
+.* <cbhs_7>:
+.*: f55f801f cbhi xzr, #63, 538 <cbhs_7>
+.*: f55fbfff cbhi xzr, #63, 538 <cbhs_7>
+
+.* <cbls_0>:
+.*: 75600000 cblo w0, #0, 540 <cbls_0>
+.*: 75603fe0 cblo w0, #0, 540 <cbls_0>
+
+.* <cbls_1>:
+.*: 757f8000 cblo w0, #63, 548 <cbls_1>
+.*: 757fbfe0 cblo w0, #63, 548 <cbls_1>
+
+.* <cbls_2>:
+.*: 7560001f cblo wzr, #0, 550 <cbls_2>
+.*: 75603fff cblo wzr, #0, 550 <cbls_2>
+
+.* <cbls_3>:
+.*: 757f801f cblo wzr, #63, 558 <cbls_3>
+.*: 757fbfff cblo wzr, #63, 558 <cbls_3>
+
+.* <cbls_4>:
+.*: f5600000 cblo x0, #0, 560 <cbls_4>
+.*: f5603fe0 cblo x0, #0, 560 <cbls_4>
+
+.* <cbls_5>:
+.*: f57f8000 cblo x0, #63, 568 <cbls_5>
+.*: f57fbfe0 cblo x0, #63, 568 <cbls_5>
+
+.* <cbls_6>:
+.*: f560001f cblo xzr, #0, 570 <cbls_6>
+.*: f5603fff cblo xzr, #0, 570 <cbls_6>
+
+.* <cbls_7>:
+.*: f57f801f cblo xzr, #63, 578 <cbls_7>
+.*: f57fbfff cblo xzr, #63, 578 <cbls_7>
+
+.* <cblt_8>:
+.*: 74000000 cbgt w0, w0, 580 <cblt_8>
+.*: 74003fe0 cbgt w0, w0, 580 <cblt_8>
+
+.* <cblt_9>:
+.*: 7400001f cbgt wzr, w0, 588 <cblt_9>
+.*: 74003fff cbgt wzr, w0, 588 <cblt_9>
+
+.* <cblt_10>:
+.*: 741f0000 cbgt w0, wzr, 590 <cblt_10>
+.*: 741f3fe0 cbgt w0, wzr, 590 <cblt_10>
+
+.* <cblt_11>:
+.*: 741f001f cbgt wzr, wzr, 598 <cblt_11>
+.*: 741f3fff cbgt wzr, wzr, 598 <cblt_11>
+
+.* <cblt_12>:
+.*: f4000000 cbgt x0, x0, 5a0 <cblt_12>
+.*: f4003fe0 cbgt x0, x0, 5a0 <cblt_12>
+
+.* <cblt_13>:
+.*: f400001f cbgt xzr, x0, 5a8 <cblt_13>
+.*: f4003fff cbgt xzr, x0, 5a8 <cblt_13>
+
+.* <cblt_14>:
+.*: f41f0000 cbgt x0, xzr, 5b0 <cblt_14>
+.*: f41f3fe0 cbgt x0, xzr, 5b0 <cblt_14>
+
+.* <cblt_15>:
+.*: f41f001f cbgt xzr, xzr, 5b8 <cblt_15>
+.*: f41f3fff cbgt xzr, xzr, 5b8 <cblt_15>
+
+.* <cble_8>:
+.*: 74200000 cbge w0, w0, 5c0 <cble_8>
+.*: 74203fe0 cbge w0, w0, 5c0 <cble_8>
+
+.* <cble_9>:
+.*: 7420001f cbge wzr, w0, 5c8 <cble_9>
+.*: 74203fff cbge wzr, w0, 5c8 <cble_9>
+
+.* <cble_10>:
+.*: 743f0000 cbge w0, wzr, 5d0 <cble_10>
+.*: 743f3fe0 cbge w0, wzr, 5d0 <cble_10>
+
+.* <cble_11>:
+.*: 743f001f cbge wzr, wzr, 5d8 <cble_11>
+.*: 743f3fff cbge wzr, wzr, 5d8 <cble_11>
+
+.* <cble_12>:
+.*: f4200000 cbge x0, x0, 5e0 <cble_12>
+.*: f4203fe0 cbge x0, x0, 5e0 <cble_12>
+
+.* <cble_13>:
+.*: f420001f cbge xzr, x0, 5e8 <cble_13>
+.*: f4203fff cbge xzr, x0, 5e8 <cble_13>
+
+.* <cble_14>:
+.*: f43f0000 cbge x0, xzr, 5f0 <cble_14>
+.*: f43f3fe0 cbge x0, xzr, 5f0 <cble_14>
+
+.* <cble_15>:
+.*: f43f001f cbge xzr, xzr, 5f8 <cble_15>
+.*: f43f3fff cbge xzr, xzr, 5f8 <cble_15>
+
+.* <cblo_8>:
+.*: 74400000 cbhi w0, w0, 600 <cblo_8>
+.*: 74403fe0 cbhi w0, w0, 600 <cblo_8>
+
+.* <cblo_9>:
+.*: 7440001f cbhi wzr, w0, 608 <cblo_9>
+.*: 74403fff cbhi wzr, w0, 608 <cblo_9>
+
+.* <cblo_10>:
+.*: 745f0000 cbhi w0, wzr, 610 <cblo_10>
+.*: 745f3fe0 cbhi w0, wzr, 610 <cblo_10>
+
+.* <cblo_11>:
+.*: 745f001f cbhi wzr, wzr, 618 <cblo_11>
+.*: 745f3fff cbhi wzr, wzr, 618 <cblo_11>
+
+.* <cblo_12>:
+.*: f4400000 cbhi x0, x0, 620 <cblo_12>
+.*: f4403fe0 cbhi x0, x0, 620 <cblo_12>
+
+.* <cblo_13>:
+.*: f440001f cbhi xzr, x0, 628 <cblo_13>
+.*: f4403fff cbhi xzr, x0, 628 <cblo_13>
+
+.* <cblo_14>:
+.*: f45f0000 cbhi x0, xzr, 630 <cblo_14>
+.*: f45f3fe0 cbhi x0, xzr, 630 <cblo_14>
+
+.* <cblo_15>:
+.*: f45f001f cbhi xzr, xzr, 638 <cblo_15>
+.*: f45f3fff cbhi xzr, xzr, 638 <cblo_15>
+
+.* <cbls_8>:
+.*: 74600000 cbhs w0, w0, 640 <cbls_8>
+.*: 74603fe0 cbhs w0, w0, 640 <cbls_8>
+
+.* <cbls_9>:
+.*: 7460001f cbhs wzr, w0, 648 <cbls_9>
+.*: 74603fff cbhs wzr, w0, 648 <cbls_9>
+
+.* <cbls_10>:
+.*: 747f0000 cbhs w0, wzr, 650 <cbls_10>
+.*: 747f3fe0 cbhs w0, wzr, 650 <cbls_10>
+
+.* <cbls_11>:
+.*: 747f001f cbhs wzr, wzr, 658 <cbls_11>
+.*: 747f3fff cbhs wzr, wzr, 658 <cbls_11>
+
+.* <cbls_12>:
+.*: f4600000 cbhs x0, x0, 660 <cbls_12>
+.*: f4603fe0 cbhs x0, x0, 660 <cbls_12>
+
+.* <cbls_13>:
+.*: f460001f cbhs xzr, x0, 668 <cbls_13>
+.*: f4603fff cbhs xzr, x0, 668 <cbls_13>
+
+.* <cbls_14>:
+.*: f47f0000 cbhs x0, xzr, 670 <cbls_14>
+.*: f47f3fe0 cbhs x0, xzr, 670 <cbls_14>
+
+.* <cbls_15>:
+.*: f47f001f cbhs xzr, xzr, 678 <cbls_15>
+.*: f47f3fff cbhs xzr, xzr, 678 <cbls_15>
+
+.* <cbblt_0>:
+.*: 74008000 cbbgt w0, w0, 680 <cbblt_0>
+.*: 7400bfe0 cbbgt w0, w0, 680 <cbblt_0>
+
+.* <cbblt_1>:
+.*: 7400801f cbbgt wzr, w0, 688 <cbblt_1>
+.*: 7400bfff cbbgt wzr, w0, 688 <cbblt_1>
+
+.* <cbblt_2>:
+.*: 741f8000 cbbgt w0, wzr, 690 <cbblt_2>
+.*: 741fbfe0 cbbgt w0, wzr, 690 <cbblt_2>
+
+.* <cbblt_3>:
+.*: 741f801f cbbgt wzr, wzr, 698 <cbblt_3>
+.*: 741fbfff cbbgt wzr, wzr, 698 <cbblt_3>
+
+.* <cbble_0>:
+.*: 74208000 cbbge w0, w0, 6a0 <cbble_0>
+.*: 7420bfe0 cbbge w0, w0, 6a0 <cbble_0>
+
+.* <cbble_1>:
+.*: 7420801f cbbge wzr, w0, 6a8 <cbble_1>
+.*: 7420bfff cbbge wzr, w0, 6a8 <cbble_1>
+
+.* <cbble_2>:
+.*: 743f8000 cbbge w0, wzr, 6b0 <cbble_2>
+.*: 743fbfe0 cbbge w0, wzr, 6b0 <cbble_2>
+
+.* <cbble_3>:
+.*: 743f801f cbbge wzr, wzr, 6b8 <cbble_3>
+.*: 743fbfff cbbge wzr, wzr, 6b8 <cbble_3>
+
+.* <cbblo_0>:
+.*: 74408000 cbbhi w0, w0, 6c0 <cbblo_0>
+.*: 7440bfe0 cbbhi w0, w0, 6c0 <cbblo_0>
+
+.* <cbblo_1>:
+.*: 7440801f cbbhi wzr, w0, 6c8 <cbblo_1>
+.*: 7440bfff cbbhi wzr, w0, 6c8 <cbblo_1>
+
+.* <cbblo_2>:
+.*: 745f8000 cbbhi w0, wzr, 6d0 <cbblo_2>
+.*: 745fbfe0 cbbhi w0, wzr, 6d0 <cbblo_2>
+
+.* <cbblo_3>:
+.*: 745f801f cbbhi wzr, wzr, 6d8 <cbblo_3>
+.*: 745fbfff cbbhi wzr, wzr, 6d8 <cbblo_3>
+
+.* <cbbls_0>:
+.*: 74608000 cbbhs w0, w0, 6e0 <cbbls_0>
+.*: 7460bfe0 cbbhs w0, w0, 6e0 <cbbls_0>
+
+.* <cbbls_1>:
+.*: 7460801f cbbhs wzr, w0, 6e8 <cbbls_1>
+.*: 7460bfff cbbhs wzr, w0, 6e8 <cbbls_1>
+
+.* <cbbls_2>:
+.*: 747f8000 cbbhs w0, wzr, 6f0 <cbbls_2>
+.*: 747fbfe0 cbbhs w0, wzr, 6f0 <cbbls_2>
+
+.* <cbbls_3>:
+.*: 747f801f cbbhs wzr, wzr, 6f8 <cbbls_3>
+.*: 747fbfff cbbhs wzr, wzr, 6f8 <cbbls_3>
+
+.* <cbhlt_0>:
+.*: 7400c000 cbhgt w0, w0, 700 <cbhlt_0>
+.*: 7400ffe0 cbhgt w0, w0, 700 <cbhlt_0>
+
+.* <cbhlt_1>:
+.*: 7400c01f cbhgt wzr, w0, 708 <cbhlt_1>
+.*: 7400ffff cbhgt wzr, w0, 708 <cbhlt_1>
+
+.* <cbhlt_2>:
+.*: 741fc000 cbhgt w0, wzr, 710 <cbhlt_2>
+.*: 741fffe0 cbhgt w0, wzr, 710 <cbhlt_2>
+
+.* <cbhlt_3>:
+.*: 741fc01f cbhgt wzr, wzr, 718 <cbhlt_3>
+.*: 741fffff cbhgt wzr, wzr, 718 <cbhlt_3>
+
+.* <cbhle_0>:
+.*: 7420c000 cbhge w0, w0, 720 <cbhle_0>
+.*: 7420ffe0 cbhge w0, w0, 720 <cbhle_0>
+
+.* <cbhle_1>:
+.*: 7420c01f cbhge wzr, w0, 728 <cbhle_1>
+.*: 7420ffff cbhge wzr, w0, 728 <cbhle_1>
+
+.* <cbhle_2>:
+.*: 743fc000 cbhge w0, wzr, 730 <cbhle_2>
+.*: 743fffe0 cbhge w0, wzr, 730 <cbhle_2>
+
+.* <cbhle_3>:
+.*: 743fc01f cbhge wzr, wzr, 738 <cbhle_3>
+.*: 743fffff cbhge wzr, wzr, 738 <cbhle_3>
+
+.* <cbhlo_0>:
+.*: 7440c000 cbhhi w0, w0, 740 <cbhlo_0>
+.*: 7440ffe0 cbhhi w0, w0, 740 <cbhlo_0>
+
+.* <cbhlo_1>:
+.*: 7440c01f cbhhi wzr, w0, 748 <cbhlo_1>
+.*: 7440ffff cbhhi wzr, w0, 748 <cbhlo_1>
+
+.* <cbhlo_2>:
+.*: 745fc000 cbhhi w0, wzr, 750 <cbhlo_2>
+.*: 745fffe0 cbhhi w0, wzr, 750 <cbhlo_2>
+
+.* <cbhlo_3>:
+.*: 745fc01f cbhhi wzr, wzr, 758 <cbhlo_3>
+.*: 745fffff cbhhi wzr, wzr, 758 <cbhlo_3>
+
+.* <cbhls_0>:
+.*: 7460c000 cbhhs w0, w0, 760 <cbhls_0>
+.*: 7460ffe0 cbhhs w0, w0, 760 <cbhls_0>
+
+.* <cbhls_1>:
+.*: 7460c01f cbhhs wzr, w0, 768 <cbhls_1>
+.*: 7460ffff cbhhs wzr, w0, 768 <cbhls_1>
+
+.* <cbhls_2>:
+.*: 747fc000 cbhhs w0, wzr, 770 <cbhls_2>
+.*: 747fffe0 cbhhs w0, wzr, 770 <cbhls_2>
+
+.* <cbhls_3>:
+.*: 747fc01f cbhhs wzr, wzr, 778 <cbhls_3>
+.*: 747fffff cbhhs wzr, wzr, 778 <cbhls_3>
diff --git a/gas/testsuite/gas/aarch64/cmpbr.s b/gas/testsuite/gas/aarch64/cmpbr.s
new file mode 100644
index 0000000..ed6b179
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/cmpbr.s
@@ -0,0 +1,727 @@
+cbgt_0:
+ cbgt w0, #0, cbgt_0
+ cbgt w0, #0, cbgt_0
+cbgt_1:
+ cbgt w0, #63, cbgt_1
+ cbgt w0, #63, cbgt_1
+cbgt_2:
+ cbgt wzr, #0, cbgt_2
+ cbgt wzr, #0, cbgt_2
+cbgt_3:
+ cbgt wzr, #63, cbgt_3
+ cbgt wzr, #63, cbgt_3
+cbgt_4:
+ cbgt x0, #0, cbgt_4
+ cbgt x0, #0, cbgt_4
+cbgt_5:
+ cbgt x0, #63, cbgt_5
+ cbgt x0, #63, cbgt_5
+cbgt_6:
+ cbgt xzr, #0, cbgt_6
+ cbgt xzr, #0, cbgt_6
+cbgt_7:
+ cbgt xzr, #63, cbgt_7
+ cbgt xzr, #63, cbgt_7
+cblt_0:
+ cblt w0, #0, cblt_0
+ cblt w0, #0, cblt_0
+cblt_1:
+ cblt w0, #63, cblt_1
+ cblt w0, #63, cblt_1
+cblt_2:
+ cblt wzr, #0, cblt_2
+ cblt wzr, #0, cblt_2
+cblt_3:
+ cblt wzr, #63, cblt_3
+ cblt wzr, #63, cblt_3
+cblt_4:
+ cblt x0, #0, cblt_4
+ cblt x0, #0, cblt_4
+cblt_5:
+ cblt x0, #63, cblt_5
+ cblt x0, #63, cblt_5
+cblt_6:
+ cblt xzr, #0, cblt_6
+ cblt xzr, #0, cblt_6
+cblt_7:
+ cblt xzr, #63, cblt_7
+ cblt xzr, #63, cblt_7
+cbhi_0:
+ cbhi w0, #0, cbhi_0
+ cbhi w0, #0, cbhi_0
+cbhi_1:
+ cbhi w0, #63, cbhi_1
+ cbhi w0, #63, cbhi_1
+cbhi_2:
+ cbhi wzr, #0, cbhi_2
+ cbhi wzr, #0, cbhi_2
+cbhi_3:
+ cbhi wzr, #63, cbhi_3
+ cbhi wzr, #63, cbhi_3
+cbhi_4:
+ cbhi x0, #0, cbhi_4
+ cbhi x0, #0, cbhi_4
+cbhi_5:
+ cbhi x0, #63, cbhi_5
+ cbhi x0, #63, cbhi_5
+cbhi_6:
+ cbhi xzr, #0, cbhi_6
+ cbhi xzr, #0, cbhi_6
+cbhi_7:
+ cbhi xzr, #63, cbhi_7
+ cbhi xzr, #63, cbhi_7
+cblo_0:
+ cblo w0, #0, cblo_0
+ cblo w0, #0, cblo_0
+cblo_1:
+ cblo w0, #63, cblo_1
+ cblo w0, #63, cblo_1
+cblo_2:
+ cblo wzr, #0, cblo_2
+ cblo wzr, #0, cblo_2
+cblo_3:
+ cblo wzr, #63, cblo_3
+ cblo wzr, #63, cblo_3
+cblo_4:
+ cblo x0, #0, cblo_4
+ cblo x0, #0, cblo_4
+cblo_5:
+ cblo x0, #63, cblo_5
+ cblo x0, #63, cblo_5
+cblo_6:
+ cblo xzr, #0, cblo_6
+ cblo xzr, #0, cblo_6
+cblo_7:
+ cblo xzr, #63, cblo_7
+ cblo xzr, #63, cblo_7
+cbeq_0:
+ cbeq w0, #0, cbeq_0
+ cbeq w0, #0, cbeq_0
+cbeq_1:
+ cbeq w0, #63, cbeq_1
+ cbeq w0, #63, cbeq_1
+cbeq_2:
+ cbeq wzr, #0, cbeq_2
+ cbeq wzr, #0, cbeq_2
+cbeq_3:
+ cbeq wzr, #63, cbeq_3
+ cbeq wzr, #63, cbeq_3
+cbeq_4:
+ cbeq x0, #0, cbeq_4
+ cbeq x0, #0, cbeq_4
+cbeq_5:
+ cbeq x0, #63, cbeq_5
+ cbeq x0, #63, cbeq_5
+cbeq_6:
+ cbeq xzr, #0, cbeq_6
+ cbeq xzr, #0, cbeq_6
+cbeq_7:
+ cbeq xzr, #63, cbeq_7
+ cbeq xzr, #63, cbeq_7
+cbne_0:
+ cbne w0, #0, cbne_0
+ cbne w0, #0, cbne_0
+cbne_1:
+ cbne w0, #63, cbne_1
+ cbne w0, #63, cbne_1
+cbne_2:
+ cbne wzr, #0, cbne_2
+ cbne wzr, #0, cbne_2
+cbne_3:
+ cbne wzr, #63, cbne_3
+ cbne wzr, #63, cbne_3
+cbne_4:
+ cbne x0, #0, cbne_4
+ cbne x0, #0, cbne_4
+cbne_5:
+ cbne x0, #63, cbne_5
+ cbne x0, #63, cbne_5
+cbne_6:
+ cbne xzr, #0, cbne_6
+ cbne xzr, #0, cbne_6
+cbne_7:
+ cbne xzr, #63, cbne_7
+ cbne xzr, #63, cbne_7
+
+cbgt_8:
+ cbgt w0, w0, cbgt_8
+ cbgt w0, w0, cbgt_8
+cbgt_9:
+ cbgt w0, wzr, cbgt_9
+ cbgt w0, wzr, cbgt_9
+cbgt_10:
+ cbgt wzr, w0, cbgt_10
+ cbgt wzr, w0, cbgt_10
+cbgt_11:
+ cbgt wzr, wzr, cbgt_11
+ cbgt wzr, wzr, cbgt_11
+cbgt_12:
+ cbgt x0, x0, cbgt_12
+ cbgt x0, x0, cbgt_12
+cbgt_13:
+ cbgt x0, xzr, cbgt_13
+ cbgt x0, xzr, cbgt_13
+cbgt_14:
+ cbgt xzr, x0, cbgt_14
+ cbgt xzr, x0, cbgt_14
+cbgt_15:
+ cbgt xzr, xzr, cbgt_15
+ cbgt xzr, xzr, cbgt_15
+cbge_8:
+ cbge w0, w0, cbge_8
+ cbge w0, w0, cbge_8
+cbge_9:
+ cbge w0, wzr, cbge_9
+ cbge w0, wzr, cbge_9
+cbge_10:
+ cbge wzr, w0, cbge_10
+ cbge wzr, w0, cbge_10
+cbge_11:
+ cbge wzr, wzr, cbge_11
+ cbge wzr, wzr, cbge_11
+cbge_12:
+ cbge x0, x0, cbge_12
+ cbge x0, x0, cbge_12
+cbge_13:
+ cbge x0, xzr, cbge_13
+ cbge x0, xzr, cbge_13
+cbge_14:
+ cbge xzr, x0, cbge_14
+ cbge xzr, x0, cbge_14
+cbge_15:
+ cbge xzr, xzr, cbge_15
+ cbge xzr, xzr, cbge_15
+cbhi_8:
+ cbhi w0, w0, cbhi_8
+ cbhi w0, w0, cbhi_8
+cbhi_9:
+ cbhi w0, wzr, cbhi_9
+ cbhi w0, wzr, cbhi_9
+cbhi_10:
+ cbhi wzr, w0, cbhi_10
+ cbhi wzr, w0, cbhi_10
+cbhi_11:
+ cbhi wzr, wzr, cbhi_11
+ cbhi wzr, wzr, cbhi_11
+cbhi_12:
+ cbhi x0, x0, cbhi_12
+ cbhi x0, x0, cbhi_12
+cbhi_13:
+ cbhi x0, xzr, cbhi_13
+ cbhi x0, xzr, cbhi_13
+cbhi_14:
+ cbhi xzr, x0, cbhi_14
+ cbhi xzr, x0, cbhi_14
+cbhi_15:
+ cbhi xzr, xzr, cbhi_15
+ cbhi xzr, xzr, cbhi_15
+cbhs_8:
+ cbhs w0, w0, cbhs_8
+ cbhs w0, w0, cbhs_8
+cbhs_9:
+ cbhs w0, wzr, cbhs_9
+ cbhs w0, wzr, cbhs_9
+cbhs_10:
+ cbhs wzr, w0, cbhs_10
+ cbhs wzr, w0, cbhs_10
+cbhs_11:
+ cbhs wzr, wzr, cbhs_11
+ cbhs wzr, wzr, cbhs_11
+cbhs_12:
+ cbhs x0, x0, cbhs_12
+ cbhs x0, x0, cbhs_12
+cbhs_13:
+ cbhs x0, xzr, cbhs_13
+ cbhs x0, xzr, cbhs_13
+cbhs_14:
+ cbhs xzr, x0, cbhs_14
+ cbhs xzr, x0, cbhs_14
+cbhs_15:
+ cbhs xzr, xzr, cbhs_15
+ cbhs xzr, xzr, cbhs_15
+cbeq_8:
+ cbeq w0, w0, cbeq_8
+ cbeq w0, w0, cbeq_8
+cbeq_9:
+ cbeq w0, wzr, cbeq_9
+ cbeq w0, wzr, cbeq_9
+cbeq_10:
+ cbeq wzr, w0, cbeq_10
+ cbeq wzr, w0, cbeq_10
+cbeq_11:
+ cbeq wzr, wzr, cbeq_11
+ cbeq wzr, wzr, cbeq_11
+cbeq_12:
+ cbeq x0, x0, cbeq_12
+ cbeq x0, x0, cbeq_12
+cbeq_13:
+ cbeq x0, xzr, cbeq_13
+ cbeq x0, xzr, cbeq_13
+cbeq_14:
+ cbeq xzr, x0, cbeq_14
+ cbeq xzr, x0, cbeq_14
+cbeq_15:
+ cbeq xzr, xzr, cbeq_15
+ cbeq xzr, xzr, cbeq_15
+cbne_8:
+ cbne w0, w0, cbne_8
+ cbne w0, w0, cbne_8
+cbne_9:
+ cbne w0, wzr, cbne_9
+ cbne w0, wzr, cbne_9
+cbne_10:
+ cbne wzr, w0, cbne_10
+ cbne wzr, w0, cbne_10
+cbne_11:
+ cbne wzr, wzr, cbne_11
+ cbne wzr, wzr, cbne_11
+cbne_12:
+ cbne x0, x0, cbne_12
+ cbne x0, x0, cbne_12
+cbne_13:
+ cbne x0, xzr, cbne_13
+ cbne x0, xzr, cbne_13
+cbne_14:
+ cbne xzr, x0, cbne_14
+ cbne xzr, x0, cbne_14
+cbne_15:
+ cbne xzr, xzr, cbne_15
+ cbne xzr, xzr, cbne_15
+
+cbbgt_0:
+ cbbgt w0, w0, cbbgt_0
+ cbbgt w0, w0, cbbgt_0
+cbbgt_1:
+ cbbgt w0, wzr, cbbgt_1
+ cbbgt w0, wzr, cbbgt_1
+cbbgt_2:
+ cbbgt wzr, w0, cbbgt_2
+ cbbgt wzr, w0, cbbgt_2
+cbbgt_3:
+ cbbgt wzr, wzr, cbbgt_3
+ cbbgt wzr, wzr, cbbgt_3
+cbbge_0:
+ cbbge w0, w0, cbbge_0
+ cbbge w0, w0, cbbge_0
+cbbge_1:
+ cbbge w0, wzr, cbbge_1
+ cbbge w0, wzr, cbbge_1
+cbbge_2:
+ cbbge wzr, w0, cbbge_2
+ cbbge wzr, w0, cbbge_2
+cbbge_3:
+ cbbge wzr, wzr, cbbge_3
+ cbbge wzr, wzr, cbbge_3
+cbbhi_0:
+ cbbhi w0, w0, cbbhi_0
+ cbbhi w0, w0, cbbhi_0
+cbbhi_1:
+ cbbhi w0, wzr, cbbhi_1
+ cbbhi w0, wzr, cbbhi_1
+cbbhi_2:
+ cbbhi wzr, w0, cbbhi_2
+ cbbhi wzr, w0, cbbhi_2
+cbbhi_3:
+ cbbhi wzr, wzr, cbbhi_3
+ cbbhi wzr, wzr, cbbhi_3
+cbbhs_0:
+ cbbhs w0, w0, cbbhs_0
+ cbbhs w0, w0, cbbhs_0
+cbbhs_1:
+ cbbhs w0, wzr, cbbhs_1
+ cbbhs w0, wzr, cbbhs_1
+cbbhs_2:
+ cbbhs wzr, w0, cbbhs_2
+ cbbhs wzr, w0, cbbhs_2
+cbbhs_3:
+ cbbhs wzr, wzr, cbbhs_3
+ cbbhs wzr, wzr, cbbhs_3
+cbbeq_0:
+ cbbeq w0, w0, cbbeq_0
+ cbbeq w0, w0, cbbeq_0
+cbbeq_1:
+ cbbeq w0, wzr, cbbeq_1
+ cbbeq w0, wzr, cbbeq_1
+cbbeq_2:
+ cbbeq wzr, w0, cbbeq_2
+ cbbeq wzr, w0, cbbeq_2
+cbbeq_3:
+ cbbeq wzr, wzr, cbbeq_3
+ cbbeq wzr, wzr, cbbeq_3
+cbbne_0:
+ cbbne w0, w0, cbbne_0
+ cbbne w0, w0, cbbne_0
+cbbne_1:
+ cbbne w0, wzr, cbbne_1
+ cbbne w0, wzr, cbbne_1
+cbbne_2:
+ cbbne wzr, w0, cbbne_2
+ cbbne wzr, w0, cbbne_2
+cbbne_3:
+ cbbne wzr, wzr, cbbne_3
+ cbbne wzr, wzr, cbbne_3
+
+cbhgt_0:
+ cbhgt w0, w0, cbhgt_0
+ cbhgt w0, w0, cbhgt_0
+cbhgt_1:
+ cbhgt w0, wzr, cbhgt_1
+ cbhgt w0, wzr, cbhgt_1
+cbhgt_2:
+ cbhgt wzr, w0, cbhgt_2
+ cbhgt wzr, w0, cbhgt_2
+cbhgt_3:
+ cbhgt wzr, wzr, cbhgt_3
+ cbhgt wzr, wzr, cbhgt_3
+cbhge_0:
+ cbhge w0, w0, cbhge_0
+ cbhge w0, w0, cbhge_0
+cbhge_1:
+ cbhge w0, wzr, cbhge_1
+ cbhge w0, wzr, cbhge_1
+cbhge_2:
+ cbhge wzr, w0, cbhge_2
+ cbhge wzr, w0, cbhge_2
+cbhge_3:
+ cbhge wzr, wzr, cbhge_3
+ cbhge wzr, wzr, cbhge_3
+cbhhi_0:
+ cbhhi w0, w0, cbhhi_0
+ cbhhi w0, w0, cbhhi_0
+cbhhi_1:
+ cbhhi w0, wzr, cbhhi_1
+ cbhhi w0, wzr, cbhhi_1
+cbhhi_2:
+ cbhhi wzr, w0, cbhhi_2
+ cbhhi wzr, w0, cbhhi_2
+cbhhi_3:
+ cbhhi wzr, wzr, cbhhi_3
+ cbhhi wzr, wzr, cbhhi_3
+cbhhs_0:
+ cbhhs w0, w0, cbhhs_0
+ cbhhs w0, w0, cbhhs_0
+cbhhs_1:
+ cbhhs w0, wzr, cbhhs_1
+ cbhhs w0, wzr, cbhhs_1
+cbhhs_2:
+ cbhhs wzr, w0, cbhhs_2
+ cbhhs wzr, w0, cbhhs_2
+cbhhs_3:
+ cbhhs wzr, wzr, cbhhs_3
+ cbhhs wzr, wzr, cbhhs_3
+cbheq_0:
+ cbheq w0, w0, cbheq_0
+ cbheq w0, w0, cbheq_0
+cbheq_1:
+ cbheq w0, wzr, cbheq_1
+ cbheq w0, wzr, cbheq_1
+cbheq_2:
+ cbheq wzr, w0, cbheq_2
+ cbheq wzr, w0, cbheq_2
+cbheq_3:
+ cbheq wzr, wzr, cbheq_3
+ cbheq wzr, wzr, cbheq_3
+cbhne_0:
+ cbhne w0, w0, cbhne_0
+ cbhne w0, w0, cbhne_0
+cbhne_1:
+ cbhne w0, wzr, cbhne_1
+ cbhne w0, wzr, cbhne_1
+cbhne_2:
+ cbhne wzr, w0, cbhne_2
+ cbhne wzr, w0, cbhne_2
+cbhne_3:
+ cbhne wzr, wzr, cbhne_3
+ cbhne wzr, wzr, cbhne_3
+
+cbge_0:
+ cbge w0, #1, cbge_0
+ cbge w0, #1, cbge_0
+cbge_1:
+ cbge w0, #64, cbge_1
+ cbge w0, #64, cbge_1
+cbge_2:
+ cbge wzr, #1, cbge_2
+ cbge wzr, #1, cbge_2
+cbge_3:
+ cbge wzr, #64, cbge_3
+ cbge wzr, #64, cbge_3
+cbge_4:
+ cbge x0, #1, cbge_4
+ cbge x0, #1, cbge_4
+cbge_5:
+ cbge x0, #64, cbge_5
+ cbge x0, #64, cbge_5
+cbge_6:
+ cbge xzr, #1, cbge_6
+ cbge xzr, #1, cbge_6
+cbge_7:
+ cbge xzr, #64, cbge_7
+ cbge xzr, #64, cbge_7
+cble_0:
+ cble w0, #-1, cble_0
+ cble w0, #-1, cble_0
+cble_1:
+ cble w0, #62, cble_1
+ cble w0, #62, cble_1
+cble_2:
+ cble wzr, #-1, cble_2
+ cble wzr, #-1, cble_2
+cble_3:
+ cble wzr, #62, cble_3
+ cble wzr, #62, cble_3
+cble_4:
+ cble x0, #-1, cble_4
+ cble x0, #-1, cble_4
+cble_5:
+ cble x0, #62, cble_5
+ cble x0, #62, cble_5
+cble_6:
+ cble xzr, #-1, cble_6
+ cble xzr, #-1, cble_6
+cble_7:
+ cble xzr, #62, cble_7
+ cble xzr, #62, cble_7
+cbhs_0:
+ cbhs w0, #1, cbhs_0
+ cbhs w0, #1, cbhs_0
+cbhs_1:
+ cbhs w0, #64, cbhs_1
+ cbhs w0, #64, cbhs_1
+cbhs_2:
+ cbhs wzr, #1, cbhs_2
+ cbhs wzr, #1, cbhs_2
+cbhs_3:
+ cbhs wzr, #64, cbhs_3
+ cbhs wzr, #64, cbhs_3
+cbhs_4:
+ cbhs x0, #1, cbhs_4
+ cbhs x0, #1, cbhs_4
+cbhs_5:
+ cbhs x0, #64, cbhs_5
+ cbhs x0, #64, cbhs_5
+cbhs_6:
+ cbhs xzr, #1, cbhs_6
+ cbhs xzr, #1, cbhs_6
+cbhs_7:
+ cbhs xzr, #64, cbhs_7
+ cbhs xzr, #64, cbhs_7
+cbls_0:
+ cbls w0, #-1, cbls_0
+ cbls w0, #-1, cbls_0
+cbls_1:
+ cbls w0, #62, cbls_1
+ cbls w0, #62, cbls_1
+cbls_2:
+ cbls wzr, #-1, cbls_2
+ cbls wzr, #-1, cbls_2
+cbls_3:
+ cbls wzr, #62, cbls_3
+ cbls wzr, #62, cbls_3
+cbls_4:
+ cbls x0, #-1, cbls_4
+ cbls x0, #-1, cbls_4
+cbls_5:
+ cbls x0, #62, cbls_5
+ cbls x0, #62, cbls_5
+cbls_6:
+ cbls xzr, #-1, cbls_6
+ cbls xzr, #-1, cbls_6
+cbls_7:
+ cbls xzr, #62, cbls_7
+ cbls xzr, #62, cbls_7
+
+cblt_8:
+ cblt w0, w0, cblt_8
+ cblt w0, w0, cblt_8
+cblt_9:
+ cblt w0, wzr, cblt_9
+ cblt w0, wzr, cblt_9
+cblt_10:
+ cblt wzr, w0, cblt_10
+ cblt wzr, w0, cblt_10
+cblt_11:
+ cblt wzr, wzr, cblt_11
+ cblt wzr, wzr, cblt_11
+cblt_12:
+ cblt x0, x0, cblt_12
+ cblt x0, x0, cblt_12
+cblt_13:
+ cblt x0, xzr, cblt_13
+ cblt x0, xzr, cblt_13
+cblt_14:
+ cblt xzr, x0, cblt_14
+ cblt xzr, x0, cblt_14
+cblt_15:
+ cblt xzr, xzr, cblt_15
+ cblt xzr, xzr, cblt_15
+cble_8:
+ cble w0, w0, cble_8
+ cble w0, w0, cble_8
+cble_9:
+ cble w0, wzr, cble_9
+ cble w0, wzr, cble_9
+cble_10:
+ cble wzr, w0, cble_10
+ cble wzr, w0, cble_10
+cble_11:
+ cble wzr, wzr, cble_11
+ cble wzr, wzr, cble_11
+cble_12:
+ cble x0, x0, cble_12
+ cble x0, x0, cble_12
+cble_13:
+ cble x0, xzr, cble_13
+ cble x0, xzr, cble_13
+cble_14:
+ cble xzr, x0, cble_14
+ cble xzr, x0, cble_14
+cble_15:
+ cble xzr, xzr, cble_15
+ cble xzr, xzr, cble_15
+cblo_8:
+ cblo w0, w0, cblo_8
+ cblo w0, w0, cblo_8
+cblo_9:
+ cblo w0, wzr, cblo_9
+ cblo w0, wzr, cblo_9
+cblo_10:
+ cblo wzr, w0, cblo_10
+ cblo wzr, w0, cblo_10
+cblo_11:
+ cblo wzr, wzr, cblo_11
+ cblo wzr, wzr, cblo_11
+cblo_12:
+ cblo x0, x0, cblo_12
+ cblo x0, x0, cblo_12
+cblo_13:
+ cblo x0, xzr, cblo_13
+ cblo x0, xzr, cblo_13
+cblo_14:
+ cblo xzr, x0, cblo_14
+ cblo xzr, x0, cblo_14
+cblo_15:
+ cblo xzr, xzr, cblo_15
+ cblo xzr, xzr, cblo_15
+cbls_8:
+ cbls w0, w0, cbls_8
+ cbls w0, w0, cbls_8
+cbls_9:
+ cbls w0, wzr, cbls_9
+ cbls w0, wzr, cbls_9
+cbls_10:
+ cbls wzr, w0, cbls_10
+ cbls wzr, w0, cbls_10
+cbls_11:
+ cbls wzr, wzr, cbls_11
+ cbls wzr, wzr, cbls_11
+cbls_12:
+ cbls x0, x0, cbls_12
+ cbls x0, x0, cbls_12
+cbls_13:
+ cbls x0, xzr, cbls_13
+ cbls x0, xzr, cbls_13
+cbls_14:
+ cbls xzr, x0, cbls_14
+ cbls xzr, x0, cbls_14
+cbls_15:
+ cbls xzr, xzr, cbls_15
+ cbls xzr, xzr, cbls_15
+
+cbblt_0:
+ cbblt w0, w0, cbblt_0
+ cbblt w0, w0, cbblt_0
+cbblt_1:
+ cbblt w0, wzr, cbblt_1
+ cbblt w0, wzr, cbblt_1
+cbblt_2:
+ cbblt wzr, w0, cbblt_2
+ cbblt wzr, w0, cbblt_2
+cbblt_3:
+ cbblt wzr, wzr, cbblt_3
+ cbblt wzr, wzr, cbblt_3
+cbble_0:
+ cbble w0, w0, cbble_0
+ cbble w0, w0, cbble_0
+cbble_1:
+ cbble w0, wzr, cbble_1
+ cbble w0, wzr, cbble_1
+cbble_2:
+ cbble wzr, w0, cbble_2
+ cbble wzr, w0, cbble_2
+cbble_3:
+ cbble wzr, wzr, cbble_3
+ cbble wzr, wzr, cbble_3
+cbblo_0:
+ cbblo w0, w0, cbblo_0
+ cbblo w0, w0, cbblo_0
+cbblo_1:
+ cbblo w0, wzr, cbblo_1
+ cbblo w0, wzr, cbblo_1
+cbblo_2:
+ cbblo wzr, w0, cbblo_2
+ cbblo wzr, w0, cbblo_2
+cbblo_3:
+ cbblo wzr, wzr, cbblo_3
+ cbblo wzr, wzr, cbblo_3
+cbbls_0:
+ cbbls w0, w0, cbbls_0
+ cbbls w0, w0, cbbls_0
+cbbls_1:
+ cbbls w0, wzr, cbbls_1
+ cbbls w0, wzr, cbbls_1
+cbbls_2:
+ cbbls wzr, w0, cbbls_2
+ cbbls wzr, w0, cbbls_2
+cbbls_3:
+ cbbls wzr, wzr, cbbls_3
+ cbbls wzr, wzr, cbbls_3
+
+cbhlt_0:
+ cbhlt w0, w0, cbhlt_0
+ cbhlt w0, w0, cbhlt_0
+cbhlt_1:
+ cbhlt w0, wzr, cbhlt_1
+ cbhlt w0, wzr, cbhlt_1
+cbhlt_2:
+ cbhlt wzr, w0, cbhlt_2
+ cbhlt wzr, w0, cbhlt_2
+cbhlt_3:
+ cbhlt wzr, wzr, cbhlt_3
+ cbhlt wzr, wzr, cbhlt_3
+cbhle_0:
+ cbhle w0, w0, cbhle_0
+ cbhle w0, w0, cbhle_0
+cbhle_1:
+ cbhle w0, wzr, cbhle_1
+ cbhle w0, wzr, cbhle_1
+cbhle_2:
+ cbhle wzr, w0, cbhle_2
+ cbhle wzr, w0, cbhle_2
+cbhle_3:
+ cbhle wzr, wzr, cbhle_3
+ cbhle wzr, wzr, cbhle_3
+cbhlo_0:
+ cbhlo w0, w0, cbhlo_0
+ cbhlo w0, w0, cbhlo_0
+cbhlo_1:
+ cbhlo w0, wzr, cbhlo_1
+ cbhlo w0, wzr, cbhlo_1
+cbhlo_2:
+ cbhlo wzr, w0, cbhlo_2
+ cbhlo wzr, w0, cbhlo_2
+cbhlo_3:
+ cbhlo wzr, wzr, cbhlo_3
+ cbhlo wzr, wzr, cbhlo_3
+cbhls_0:
+ cbhls w0, w0, cbhls_0
+ cbhls w0, w0, cbhls_0
+cbhls_1:
+ cbhls w0, wzr, cbhls_1
+ cbhls w0, wzr, cbhls_1
+cbhls_2:
+ cbhls wzr, w0, cbhls_2
+ cbhls wzr, w0, cbhls_2
+cbhls_3:
+ cbhls wzr, wzr, cbhls_3
+ cbhls wzr, wzr, cbhls_3
diff --git a/gas/testsuite/gas/aarch64/conditional-compare.d b/gas/testsuite/gas/aarch64/conditional-compare.d
new file mode 100644
index 0000000..294e0c9
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/conditional-compare.d
@@ -0,0 +1,77 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 3a400800 ccmn w0, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a400be0 ccmn wzr, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a5f0800 ccmn w0, #0x1f, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a40080f ccmn w0, #0x0, #0xf, eq // eq = none
+ *[0-9a-f]+: 3a40f800 ccmn w0, #0x0, #0x0, nv
+ *[0-9a-f]+: ba400800 ccmn x0, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: ba400be0 ccmn xzr, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: ba5f0800 ccmn x0, #0x1f, #0x0, eq // eq = none
+ *[0-9a-f]+: ba40080f ccmn x0, #0x0, #0xf, eq // eq = none
+ *[0-9a-f]+: ba40f800 ccmn x0, #0x0, #0x0, nv
+ *[0-9a-f]+: 7a400800 ccmp w0, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: 7a400be0 ccmp wzr, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: 7a5f0800 ccmp w0, #0x1f, #0x0, eq // eq = none
+ *[0-9a-f]+: 7a40080f ccmp w0, #0x0, #0xf, eq // eq = none
+ *[0-9a-f]+: 7a40f800 ccmp w0, #0x0, #0x0, nv
+ *[0-9a-f]+: fa400800 ccmp x0, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: fa400be0 ccmp xzr, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: fa5f0800 ccmp x0, #0x1f, #0x0, eq // eq = none
+ *[0-9a-f]+: fa40080f ccmp x0, #0x0, #0xf, eq // eq = none
+ *[0-9a-f]+: fa40f800 ccmp x0, #0x0, #0x0, nv
+ *[0-9a-f]+: 3a400000 ccmn w0, w0, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a4003e0 ccmn wzr, w0, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a5f0000 ccmn w0, wzr, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a40000f ccmn w0, w0, #0xf, eq // eq = none
+ *[0-9a-f]+: 3a40f000 ccmn w0, w0, #0x0, nv
+ *[0-9a-f]+: ba400000 ccmn x0, x0, #0x0, eq // eq = none
+ *[0-9a-f]+: ba4003e0 ccmn xzr, x0, #0x0, eq // eq = none
+ *[0-9a-f]+: ba5f0000 ccmn x0, xzr, #0x0, eq // eq = none
+ *[0-9a-f]+: ba40000f ccmn x0, x0, #0xf, eq // eq = none
+ *[0-9a-f]+: ba40f000 ccmn x0, x0, #0x0, nv
+ *[0-9a-f]+: 7a400000 ccmp w0, w0, #0x0, eq // eq = none
+ *[0-9a-f]+: 7a4003e0 ccmp wzr, w0, #0x0, eq // eq = none
+ *[0-9a-f]+: 7a5f0000 ccmp w0, wzr, #0x0, eq // eq = none
+ *[0-9a-f]+: 7a40000f ccmp w0, w0, #0xf, eq // eq = none
+ *[0-9a-f]+: 7a40f000 ccmp w0, w0, #0x0, nv
+ *[0-9a-f]+: fa400000 ccmp x0, x0, #0x0, eq // eq = none
+ *[0-9a-f]+: fa4003e0 ccmp xzr, x0, #0x0, eq // eq = none
+ *[0-9a-f]+: fa5f0000 ccmp x0, xzr, #0x0, eq // eq = none
+ *[0-9a-f]+: fa40000f ccmp x0, x0, #0xf, eq // eq = none
+ *[0-9a-f]+: fa40f000 ccmp x0, x0, #0x0, nv
+ *[0-9a-f]+: 3a400800 ccmn w0, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a400800 ccmn w0, #0x0, #0x0, eq // eq = none
+ *[0-9a-f]+: 3a401800 ccmn w0, #0x0, #0x0, ne // ne = any
+ *[0-9a-f]+: 3a401800 ccmn w0, #0x0, #0x0, ne // ne = any
+ *[0-9a-f]+: 3a402800 ccmn w0, #0x0, #0x0, cs // cs = hs, nlast
+ *[0-9a-f]+: 3a402800 ccmn w0, #0x0, #0x0, cs // cs = hs, nlast
+ *[0-9a-f]+: 3a402800 ccmn w0, #0x0, #0x0, cs // cs = hs, nlast
+ *[0-9a-f]+: 3a403800 ccmn w0, #0x0, #0x0, cc // cc = lo, ul, last
+ *[0-9a-f]+: 3a403800 ccmn w0, #0x0, #0x0, cc // cc = lo, ul, last
+ *[0-9a-f]+: 3a403800 ccmn w0, #0x0, #0x0, cc // cc = lo, ul, last
+ *[0-9a-f]+: 3a404800 ccmn w0, #0x0, #0x0, mi // mi = first
+ *[0-9a-f]+: 3a404800 ccmn w0, #0x0, #0x0, mi // mi = first
+ *[0-9a-f]+: 3a405800 ccmn w0, #0x0, #0x0, pl // pl = nfrst
+ *[0-9a-f]+: 3a405800 ccmn w0, #0x0, #0x0, pl // pl = nfrst
+ *[0-9a-f]+: 3a406800 ccmn w0, #0x0, #0x0, vs
+ *[0-9a-f]+: 3a407800 ccmn w0, #0x0, #0x0, vc
+ *[0-9a-f]+: 3a408800 ccmn w0, #0x0, #0x0, hi // hi = pmore
+ *[0-9a-f]+: 3a408800 ccmn w0, #0x0, #0x0, hi // hi = pmore
+ *[0-9a-f]+: 3a409800 ccmn w0, #0x0, #0x0, ls // ls = plast
+ *[0-9a-f]+: 3a409800 ccmn w0, #0x0, #0x0, ls // ls = plast
+ *[0-9a-f]+: 3a40a800 ccmn w0, #0x0, #0x0, ge // ge = tcont
+ *[0-9a-f]+: 3a40a800 ccmn w0, #0x0, #0x0, ge // ge = tcont
+ *[0-9a-f]+: 3a40b800 ccmn w0, #0x0, #0x0, lt // lt = tstop
+ *[0-9a-f]+: 3a40b800 ccmn w0, #0x0, #0x0, lt // lt = tstop
+ *[0-9a-f]+: 3a40c800 ccmn w0, #0x0, #0x0, gt
+ *[0-9a-f]+: 3a40d800 ccmn w0, #0x0, #0x0, le
+ *[0-9a-f]+: 3a40e800 ccmn w0, #0x0, #0x0, al
+ *[0-9a-f]+: 3a40f800 ccmn w0, #0x0, #0x0, nv
diff --git a/gas/testsuite/gas/aarch64/conditional-compare.s b/gas/testsuite/gas/aarch64/conditional-compare.s
new file mode 100644
index 0000000..1fe23d3
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/conditional-compare.s
@@ -0,0 +1,76 @@
+ ccmn w0, #0, #0, eq
+ ccmn wzr, #0, #0, eq
+ ccmn w0, #31, #0, eq
+ ccmn w0, #0, #15, eq
+ ccmn w0, #0, #0, nv
+
+ ccmn x0, #0, #0, eq
+ ccmn xzr, #0, #0, eq
+ ccmn x0, #31, #0, eq
+ ccmn x0, #0, #15, eq
+ ccmn x0, #0, #0, nv
+
+ ccmp w0, #0, #0, eq
+ ccmp wzr, #0, #0, eq
+ ccmp w0, #31, #0, eq
+ ccmp w0, #0, #15, eq
+ ccmp w0, #0, #0, nv
+
+ ccmp x0, #0, #0, eq
+ ccmp xzr, #0, #0, eq
+ ccmp x0, #31, #0, eq
+ ccmp x0, #0, #15, eq
+ ccmp x0, #0, #0, nv
+
+ ccmn w0, w0, #0, eq
+ ccmn wzr, w0, #0, eq
+ ccmn w0, wzr, #0, eq
+ ccmn w0, w0, #15, eq
+ ccmn w0, w0, #0, nv
+
+ ccmn x0, x0, #0, eq
+ ccmn xzr, x0, #0, eq
+ ccmn x0, xzr, #0, eq
+ ccmn x0, x0, #15, eq
+ ccmn x0, x0, #0, nv
+
+ ccmp w0, w0, #0, eq
+ ccmp wzr, w0, #0, eq
+ ccmp w0, wzr, #0, eq
+ ccmp w0, w0, #15, eq
+ ccmp w0, w0, #0, nv
+
+ ccmp x0, x0, #0, eq
+ ccmp xzr, x0, #0, eq
+ ccmp x0, xzr, #0, eq
+ ccmp x0, x0, #15, eq
+ ccmp x0, x0, #0, nv
+
+ ccmn w0, #0, #0, eq
+ ccmn w0, #0, #0, none
+ ccmn w0, #0, #0, ne
+ ccmn w0, #0, #0, any
+ ccmn w0, #0, #0, hs
+ ccmn w0, #0, #0, cs
+ ccmn w0, #0, #0, nlast
+ ccmn w0, #0, #0, lo
+ ccmn w0, #0, #0, cc
+ ccmn w0, #0, #0, last
+ ccmn w0, #0, #0, mi
+ ccmn w0, #0, #0, first
+ ccmn w0, #0, #0, pl
+ ccmn w0, #0, #0, nfrst
+ ccmn w0, #0, #0, vs
+ ccmn w0, #0, #0, vc
+ ccmn w0, #0, #0, hi
+ ccmn w0, #0, #0, pmore
+ ccmn w0, #0, #0, ls
+ ccmn w0, #0, #0, plast
+ ccmn w0, #0, #0, ge
+ ccmn w0, #0, #0, tcont
+ ccmn w0, #0, #0, lt
+ ccmn w0, #0, #0, tstop
+ ccmn w0, #0, #0, gt
+ ccmn w0, #0, #0, le
+ ccmn w0, #0, #0, al
+ ccmn w0, #0, #0, nv
diff --git a/gas/testsuite/gas/aarch64/dgh.d b/gas/testsuite/gas/aarch64/dgh.d
deleted file mode 100644
index 9d11bec..0000000
--- a/gas/testsuite/gas/aarch64/dgh.d
+++ /dev/null
@@ -1,11 +0,0 @@
-#name: V8.6 Data Gathering Hint
-#as: -march=armv8.6-a
-#objdump: -dr
-
-.* file format .*
-
-Disassembly of section \.text:
-
-0+ <\.text>:
- *[0-9a-f]*: d50320df hint #0x6
- *[0-9a-f]*: d50320df hint #0x6
diff --git a/gas/testsuite/gas/aarch64/dgh.s b/gas/testsuite/gas/aarch64/dgh.s
deleted file mode 100644
index 6470cd0..0000000
--- a/gas/testsuite/gas/aarch64/dgh.s
+++ /dev/null
@@ -1,4 +0,0 @@
-# Test for the V8.6-a Data Gathering Hint instruction
-
-dgh
-hint #6
diff --git a/gas/testsuite/gas/aarch64/dp-general-one-source.d b/gas/testsuite/gas/aarch64/dp-general-one-source.d
new file mode 100644
index 0000000..56d4700
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dp-general-one-source.d
@@ -0,0 +1,45 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5ac00000 rbit w0, w0
+ *[0-9a-f]+: 5ac0001f rbit wzr, w0
+ *[0-9a-f]+: 5ac003e0 rbit w0, wzr
+ *[0-9a-f]+: dac00000 rbit x0, x0
+ *[0-9a-f]+: dac0001f rbit xzr, x0
+ *[0-9a-f]+: dac003e0 rbit x0, xzr
+ *[0-9a-f]+: 5ac00400 rev16 w0, w0
+ *[0-9a-f]+: 5ac0041f rev16 wzr, w0
+ *[0-9a-f]+: 5ac007e0 rev16 w0, wzr
+ *[0-9a-f]+: dac00400 rev16 x0, x0
+ *[0-9a-f]+: dac0041f rev16 xzr, x0
+ *[0-9a-f]+: dac007e0 rev16 x0, xzr
+ *[0-9a-f]+: 5ac00800 rev w0, w0
+ *[0-9a-f]+: 5ac0081f rev wzr, w0
+ *[0-9a-f]+: 5ac00be0 rev w0, wzr
+ *[0-9a-f]+: dac00800 rev32 x0, x0
+ *[0-9a-f]+: dac0081f rev32 xzr, x0
+ *[0-9a-f]+: dac00be0 rev32 x0, xzr
+ *[0-9a-f]+: dac00c00 rev x0, x0
+ *[0-9a-f]+: dac00c1f rev xzr, x0
+ *[0-9a-f]+: dac00fe0 rev x0, xzr
+ *[0-9a-f]+: dac00c00 rev x0, x0
+ *[0-9a-f]+: dac00c1f rev xzr, x0
+ *[0-9a-f]+: dac00fe0 rev x0, xzr
+ *[0-9a-f]+: 5ac01000 clz w0, w0
+ *[0-9a-f]+: 5ac0101f clz wzr, w0
+ *[0-9a-f]+: 5ac013e0 clz w0, wzr
+ *[0-9a-f]+: dac01000 clz x0, x0
+ *[0-9a-f]+: dac0101f clz xzr, x0
+ *[0-9a-f]+: dac013e0 clz x0, xzr
+ *[0-9a-f]+: 5ac01400 cls w0, w0
+ *[0-9a-f]+: 5ac0141f cls wzr, w0
+ *[0-9a-f]+: 5ac017e0 cls w0, wzr
+ *[0-9a-f]+: dac01400 cls x0, x0
+ *[0-9a-f]+: dac0141f cls xzr, x0
+ *[0-9a-f]+: dac017e0 cls x0, xzr
diff --git a/gas/testsuite/gas/aarch64/dp-general-one-source.s b/gas/testsuite/gas/aarch64/dp-general-one-source.s
new file mode 100644
index 0000000..5bdb754
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dp-general-one-source.s
@@ -0,0 +1,43 @@
+ rbit w0, w0
+ rbit wzr, w0
+ rbit w0, wzr
+ rbit x0, x0
+ rbit xzr, x0
+ rbit x0, xzr
+
+ rev16 w0, w0
+ rev16 wzr, w0
+ rev16 w0, wzr
+ rev16 x0, x0
+ rev16 xzr, x0
+ rev16 x0, xzr
+
+ rev w0, w0
+ rev wzr, w0
+ rev w0, wzr
+
+ rev32 x0, x0
+ rev32 xzr, x0
+ rev32 x0, xzr
+
+ rev x0, x0
+ rev xzr, x0
+ rev x0, xzr
+
+ rev64 x0, x0
+ rev64 xzr, x0
+ rev64 x0, xzr
+
+ clz w0, w0
+ clz wzr, w0
+ clz w0, wzr
+ clz x0, x0
+ clz xzr, x0
+ clz x0, xzr
+
+ cls w0, w0
+ cls wzr, w0
+ cls w0, wzr
+ cls x0, x0
+ cls xzr, x0
+ cls x0, xzr
diff --git a/gas/testsuite/gas/aarch64/dp-general-two-source.d b/gas/testsuite/gas/aarch64/dp-general-two-source.d
new file mode 100644
index 0000000..5c0d816
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dp-general-two-source.d
@@ -0,0 +1,89 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 1ac00800 udiv w0, w0, w0
+ *[0-9a-f]+: 1ac0081f udiv wzr, w0, w0
+ *[0-9a-f]+: 1ac00be0 udiv w0, wzr, w0
+ *[0-9a-f]+: 1adf0800 udiv w0, w0, wzr
+ *[0-9a-f]+: 9ac00800 udiv x0, x0, x0
+ *[0-9a-f]+: 9ac0081f udiv xzr, x0, x0
+ *[0-9a-f]+: 9ac00be0 udiv x0, xzr, x0
+ *[0-9a-f]+: 9adf0800 udiv x0, x0, xzr
+ *[0-9a-f]+: 1ac00c00 sdiv w0, w0, w0
+ *[0-9a-f]+: 1ac00c1f sdiv wzr, w0, w0
+ *[0-9a-f]+: 1ac00fe0 sdiv w0, wzr, w0
+ *[0-9a-f]+: 1adf0c00 sdiv w0, w0, wzr
+ *[0-9a-f]+: 9ac00c00 sdiv x0, x0, x0
+ *[0-9a-f]+: 9ac00c1f sdiv xzr, x0, x0
+ *[0-9a-f]+: 9ac00fe0 sdiv x0, xzr, x0
+ *[0-9a-f]+: 9adf0c00 sdiv x0, x0, xzr
+ *[0-9a-f]+: 1ac02000 lsl w0, w0, w0
+ *[0-9a-f]+: 1ac0201f lsl wzr, w0, w0
+ *[0-9a-f]+: 1ac023e0 lsl w0, wzr, w0
+ *[0-9a-f]+: 1adf2000 lsl w0, w0, wzr
+ *[0-9a-f]+: 9ac02000 lsl x0, x0, x0
+ *[0-9a-f]+: 9ac0201f lsl xzr, x0, x0
+ *[0-9a-f]+: 9ac023e0 lsl x0, xzr, x0
+ *[0-9a-f]+: 9adf2000 lsl x0, x0, xzr
+ *[0-9a-f]+: 1ac02000 lsl w0, w0, w0
+ *[0-9a-f]+: 1ac0201f lsl wzr, w0, w0
+ *[0-9a-f]+: 1ac023e0 lsl w0, wzr, w0
+ *[0-9a-f]+: 1adf2000 lsl w0, w0, wzr
+ *[0-9a-f]+: 9ac02000 lsl x0, x0, x0
+ *[0-9a-f]+: 9ac0201f lsl xzr, x0, x0
+ *[0-9a-f]+: 9ac023e0 lsl x0, xzr, x0
+ *[0-9a-f]+: 9adf2000 lsl x0, x0, xzr
+ *[0-9a-f]+: 1ac02400 lsr w0, w0, w0
+ *[0-9a-f]+: 1ac0241f lsr wzr, w0, w0
+ *[0-9a-f]+: 1ac027e0 lsr w0, wzr, w0
+ *[0-9a-f]+: 1adf2400 lsr w0, w0, wzr
+ *[0-9a-f]+: 9ac02400 lsr x0, x0, x0
+ *[0-9a-f]+: 9ac0241f lsr xzr, x0, x0
+ *[0-9a-f]+: 9ac027e0 lsr x0, xzr, x0
+ *[0-9a-f]+: 9adf2400 lsr x0, x0, xzr
+ *[0-9a-f]+: 1ac02400 lsr w0, w0, w0
+ *[0-9a-f]+: 1ac0241f lsr wzr, w0, w0
+ *[0-9a-f]+: 1ac027e0 lsr w0, wzr, w0
+ *[0-9a-f]+: 1adf2400 lsr w0, w0, wzr
+ *[0-9a-f]+: 9ac02400 lsr x0, x0, x0
+ *[0-9a-f]+: 9ac0241f lsr xzr, x0, x0
+ *[0-9a-f]+: 9ac027e0 lsr x0, xzr, x0
+ *[0-9a-f]+: 9adf2400 lsr x0, x0, xzr
+ *[0-9a-f]+: 1ac02800 asr w0, w0, w0
+ *[0-9a-f]+: 1ac0281f asr wzr, w0, w0
+ *[0-9a-f]+: 1ac02be0 asr w0, wzr, w0
+ *[0-9a-f]+: 1adf2800 asr w0, w0, wzr
+ *[0-9a-f]+: 9ac02800 asr x0, x0, x0
+ *[0-9a-f]+: 9ac0281f asr xzr, x0, x0
+ *[0-9a-f]+: 9ac02be0 asr x0, xzr, x0
+ *[0-9a-f]+: 9adf2800 asr x0, x0, xzr
+ *[0-9a-f]+: 1ac02800 asr w0, w0, w0
+ *[0-9a-f]+: 1ac0281f asr wzr, w0, w0
+ *[0-9a-f]+: 1ac02be0 asr w0, wzr, w0
+ *[0-9a-f]+: 1adf2800 asr w0, w0, wzr
+ *[0-9a-f]+: 9ac02800 asr x0, x0, x0
+ *[0-9a-f]+: 9ac0281f asr xzr, x0, x0
+ *[0-9a-f]+: 9ac02be0 asr x0, xzr, x0
+ *[0-9a-f]+: 9adf2800 asr x0, x0, xzr
+ *[0-9a-f]+: 1ac02c00 ror w0, w0, w0
+ *[0-9a-f]+: 1ac02c1f ror wzr, w0, w0
+ *[0-9a-f]+: 1ac02fe0 ror w0, wzr, w0
+ *[0-9a-f]+: 1adf2c00 ror w0, w0, wzr
+ *[0-9a-f]+: 9ac02c00 ror x0, x0, x0
+ *[0-9a-f]+: 9ac02c1f ror xzr, x0, x0
+ *[0-9a-f]+: 9ac02fe0 ror x0, xzr, x0
+ *[0-9a-f]+: 9adf2c00 ror x0, x0, xzr
+ *[0-9a-f]+: 1ac02c00 ror w0, w0, w0
+ *[0-9a-f]+: 1ac02c1f ror wzr, w0, w0
+ *[0-9a-f]+: 1ac02fe0 ror w0, wzr, w0
+ *[0-9a-f]+: 1adf2c00 ror w0, w0, wzr
+ *[0-9a-f]+: 9ac02c00 ror x0, x0, x0
+ *[0-9a-f]+: 9ac02c1f ror xzr, x0, x0
+ *[0-9a-f]+: 9ac02fe0 ror x0, xzr, x0
+ *[0-9a-f]+: 9adf2c00 ror x0, x0, xzr
diff --git a/gas/testsuite/gas/aarch64/dp-general-two-source.s b/gas/testsuite/gas/aarch64/dp-general-two-source.s
new file mode 100644
index 0000000..95f2f00
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dp-general-two-source.s
@@ -0,0 +1,89 @@
+ udiv w0, w0, w0
+ udiv wzr, w0, w0
+ udiv w0, wzr, w0
+ udiv w0, w0, wzr
+ udiv x0, x0, x0
+ udiv xzr, x0, x0
+ udiv x0, xzr, x0
+ udiv x0, x0, xzr
+
+ sdiv w0, w0, w0
+ sdiv wzr, w0, w0
+ sdiv w0, wzr, w0
+ sdiv w0, w0, wzr
+ sdiv x0, x0, x0
+ sdiv xzr, x0, x0
+ sdiv x0, xzr, x0
+ sdiv x0, x0, xzr
+
+ lslv w0, w0, w0
+ lslv wzr, w0, w0
+ lslv w0, wzr, w0
+ lslv w0, w0, wzr
+ lslv x0, x0, x0
+ lslv xzr, x0, x0
+ lslv x0, xzr, x0
+ lslv x0, x0, xzr
+
+ lsl w0, w0, w0
+ lsl wzr, w0, w0
+ lsl w0, wzr, w0
+ lsl w0, w0, wzr
+ lsl x0, x0, x0
+ lsl xzr, x0, x0
+ lsl x0, xzr, x0
+ lsl x0, x0, xzr
+
+ lsrv w0, w0, w0
+ lsrv wzr, w0, w0
+ lsrv w0, wzr, w0
+ lsrv w0, w0, wzr
+ lsrv x0, x0, x0
+ lsrv xzr, x0, x0
+ lsrv x0, xzr, x0
+ lsrv x0, x0, xzr
+
+ lsr w0, w0, w0
+ lsr wzr, w0, w0
+ lsr w0, wzr, w0
+ lsr w0, w0, wzr
+ lsr x0, x0, x0
+ lsr xzr, x0, x0
+ lsr x0, xzr, x0
+ lsr x0, x0, xzr
+
+ asrv w0, w0, w0
+ asrv wzr, w0, w0
+ asrv w0, wzr, w0
+ asrv w0, w0, wzr
+ asrv x0, x0, x0
+ asrv xzr, x0, x0
+ asrv x0, xzr, x0
+ asrv x0, x0, xzr
+
+ asr w0, w0, w0
+ asr wzr, w0, w0
+ asr w0, wzr, w0
+ asr w0, w0, wzr
+ asr x0, x0, x0
+ asr xzr, x0, x0
+ asr x0, xzr, x0
+ asr x0, x0, xzr
+
+ rorv w0, w0, w0
+ rorv wzr, w0, w0
+ rorv w0, wzr, w0
+ rorv w0, w0, wzr
+ rorv x0, x0, x0
+ rorv xzr, x0, x0
+ rorv x0, xzr, x0
+ rorv x0, x0, xzr
+
+ ror w0, w0, w0
+ ror wzr, w0, w0
+ ror w0, wzr, w0
+ ror w0, w0, wzr
+ ror x0, x0, x0
+ ror xzr, x0, x0
+ ror x0, xzr, x0
+ ror x0, x0, xzr
diff --git a/gas/testsuite/gas/aarch64/exception-generation.d b/gas/testsuite/gas/aarch64/exception-generation.d
new file mode 100644
index 0000000..e35cccd
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/exception-generation.d
@@ -0,0 +1,28 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: d4000001 svc #0x0
+ *[0-9a-f]+: d41fffe1 svc #0xffff
+ *[0-9a-f]+: d4000002 hvc #0x0
+ *[0-9a-f]+: d41fffe2 hvc #0xffff
+ *[0-9a-f]+: d4000003 smc #0x0
+ *[0-9a-f]+: d41fffe3 smc #0xffff
+ *[0-9a-f]+: d4200000 brk #0x0
+ *[0-9a-f]+: d43fffe0 brk #0xffff
+ *[0-9a-f]+: d4400000 hlt #0x0
+ *[0-9a-f]+: d45fffe0 hlt #0xffff
+ *[0-9a-f]+: d4a00001 dcps1
+ *[0-9a-f]+: d4a00001 dcps1
+ *[0-9a-f]+: d4bfffe1 dcps1 #0xffff
+ *[0-9a-f]+: d4a00002 dcps2
+ *[0-9a-f]+: d4a00002 dcps2
+ *[0-9a-f]+: d4bfffe2 dcps2 #0xffff
+ *[0-9a-f]+: d4a00003 dcps3
+ *[0-9a-f]+: d4a00003 dcps3
+ *[0-9a-f]+: d4bfffe3 dcps3 #0xffff
diff --git a/gas/testsuite/gas/aarch64/exception-generation.s b/gas/testsuite/gas/aarch64/exception-generation.s
new file mode 100644
index 0000000..56294fe
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/exception-generation.s
@@ -0,0 +1,26 @@
+ svc #0
+ svc #65535
+
+ hvc #0
+ hvc #65535
+
+ smc #0
+ smc #65535
+
+ brk #0
+ brk #65535
+
+ hlt #0
+ hlt #65535
+
+ dcps1
+ dcps1 #0
+ dcps1 #65535
+
+ dcps2
+ dcps2 #0
+ dcps2 #65535
+
+ dcps3
+ dcps3 #0
+ dcps3 #65535
diff --git a/gas/testsuite/gas/aarch64/f8f16mm-bad.d b/gas/testsuite/gas/aarch64/f8f16mm-bad.d
new file mode 100644
index 0000000..9e034e1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm-bad.d
@@ -0,0 +1,4 @@
+#name: Illegal test of F8F16MM FMMLA instruction
+#as: -march=armv8-a
+#source: f8f16mm.s
+#error_output: f8f16mm-bad.l
diff --git a/gas/testsuite/gas/aarch64/f8f16mm-bad.l b/gas/testsuite/gas/aarch64/f8f16mm-bad.l
new file mode 100644
index 0000000..01acbac
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm-bad.l
@@ -0,0 +1,9 @@
+[^:]*: Assembler messages:
+.*: Error: selected processor does not support `fmmla v0.8h,v0.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v0.8h,v0.16b,v31.16b'
+.*: Error: selected processor does not support `fmmla v0.8h,v31.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v0.8h,v31.16b,v31.16b'
+.*: Error: selected processor does not support `fmmla v31.8h,v0.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v31.8h,v0.16b,v31.16b'
+.*: Error: selected processor does not support `fmmla v31.8h,v31.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v31.8h,v31.16b,v31.16b'
diff --git a/gas/testsuite/gas/aarch64/f8f16mm.d b/gas/testsuite/gas/aarch64/f8f16mm.d
new file mode 100644
index 0000000..bcfc919
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm.d
@@ -0,0 +1,18 @@
+#name: F8F16MM FMMLA instructions
+#as: -march=armv8-a+f8f16mm
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 6e00ec00 fmmla v0.8h, v0.16b, v0.16b
+.*: 6e1fec00 fmmla v0.8h, v0.16b, v31.16b
+.*: 6e00efe0 fmmla v0.8h, v31.16b, v0.16b
+.*: 6e1fefe0 fmmla v0.8h, v31.16b, v31.16b
+.*: 6e00ec1f fmmla v31.8h, v0.16b, v0.16b
+.*: 6e1fec1f fmmla v31.8h, v0.16b, v31.16b
+.*: 6e00efff fmmla v31.8h, v31.16b, v0.16b
+.*: 6e1fefff fmmla v31.8h, v31.16b, v31.16b
diff --git a/gas/testsuite/gas/aarch64/f8f16mm.s b/gas/testsuite/gas/aarch64/f8f16mm.s
new file mode 100644
index 0000000..41d6100
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm.s
@@ -0,0 +1,9 @@
+a:
+ fmmla v0.8h, v0.16b, v0.16b
+ fmmla v0.8h, v0.16b, v31.16b
+ fmmla v0.8h, v31.16b, v0.16b
+ fmmla v0.8h, v31.16b, v31.16b
+ fmmla v31.8h, v0.16b, v0.16b
+ fmmla v31.8h, v0.16b, v31.16b
+ fmmla v31.8h, v31.16b, v0.16b
+ fmmla v31.8h, v31.16b, v31.16b
diff --git a/gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.d b/gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.d
new file mode 100644
index 0000000..4e1f53b
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.d
@@ -0,0 +1,4 @@
+#name: Illegal test of F8F16MM SVE2 FMMLA instruction
+#as: -march=armv8-a
+#source: f8f16mm_sve2.s
+#error_output: f8f16mm_sve2-bad.l
diff --git a/gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.l b/gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.l
new file mode 100644
index 0000000..3560c17
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm_sve2-bad.l
@@ -0,0 +1,9 @@
+[^:]*: Assembler messages:
+.*: Error: selected processor does not support `fmmla z0.h,z0.b,z0.b'
+.*: Error: selected processor does not support `fmmla z0.h,z0.b,z31.b'
+.*: Error: selected processor does not support `fmmla z0.h,z31.b,z0.b'
+.*: Error: selected processor does not support `fmmla z0.h,z31.b,z31.b'
+.*: Error: selected processor does not support `fmmla z31.h,z0.b,z0.b'
+.*: Error: selected processor does not support `fmmla z31.h,z0.b,z31.b'
+.*: Error: selected processor does not support `fmmla z31.h,z31.b,z0.b'
+.*: Error: selected processor does not support `fmmla z31.h,z31.b,z31.b'
diff --git a/gas/testsuite/gas/aarch64/f8f16mm_sve2.d b/gas/testsuite/gas/aarch64/f8f16mm_sve2.d
new file mode 100644
index 0000000..3bb69ce
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm_sve2.d
@@ -0,0 +1,18 @@
+#name: F8F16MM SVE2 FMMLA instructions
+#as: -march=armv8-a+sve2+f8f16mm
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 6460e000 fmmla z0.h, z0.b, z0.b
+.*: 647fe000 fmmla z0.h, z0.b, z31.b
+.*: 6460e3e0 fmmla z0.h, z31.b, z0.b
+.*: 647fe3e0 fmmla z0.h, z31.b, z31.b
+.*: 6460e01f fmmla z31.h, z0.b, z0.b
+.*: 647fe01f fmmla z31.h, z0.b, z31.b
+.*: 6460e3ff fmmla z31.h, z31.b, z0.b
+.*: 647fe3ff fmmla z31.h, z31.b, z31.b
diff --git a/gas/testsuite/gas/aarch64/f8f16mm_sve2.s b/gas/testsuite/gas/aarch64/f8f16mm_sve2.s
new file mode 100644
index 0000000..c1a32c9
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f16mm_sve2.s
@@ -0,0 +1,9 @@
+a:
+ fmmla z0.h, z0.b, z0.b
+ fmmla z0.h, z0.b, z31.b
+ fmmla z0.h, z31.b, z0.b
+ fmmla z0.h, z31.b, z31.b
+ fmmla z31.h, z0.b, z0.b
+ fmmla z31.h, z0.b, z31.b
+ fmmla z31.h, z31.b, z0.b
+ fmmla z31.h, z31.b, z31.b
diff --git a/gas/testsuite/gas/aarch64/f8f32mm-bad.d b/gas/testsuite/gas/aarch64/f8f32mm-bad.d
new file mode 100644
index 0000000..3d920f0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm-bad.d
@@ -0,0 +1,4 @@
+#name: Illegal test of F8F32MM FMMLA instruction
+#as: -march=armv8-a
+#source: f8f32mm.s
+#error_output: f8f32mm-bad.l
diff --git a/gas/testsuite/gas/aarch64/f8f32mm-bad.l b/gas/testsuite/gas/aarch64/f8f32mm-bad.l
new file mode 100644
index 0000000..910a2e1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm-bad.l
@@ -0,0 +1,9 @@
+[^:]*: Assembler messages:
+.*: Error: selected processor does not support `fmmla v0.4s,v0.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v0.4s,v0.16b,v31.16b'
+.*: Error: selected processor does not support `fmmla v0.4s,v31.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v0.4s,v31.16b,v31.16b'
+.*: Error: selected processor does not support `fmmla v31.4s,v0.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v31.4s,v0.16b,v31.16b'
+.*: Error: selected processor does not support `fmmla v31.4s,v31.16b,v0.16b'
+.*: Error: selected processor does not support `fmmla v31.4s,v31.16b,v31.16b'
diff --git a/gas/testsuite/gas/aarch64/f8f32mm.d b/gas/testsuite/gas/aarch64/f8f32mm.d
new file mode 100644
index 0000000..b1e6beb
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm.d
@@ -0,0 +1,18 @@
+#name: F8F32MM FMMLA instructions
+#as: -march=armv8-a+f8f32mm
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 6e80ec00 fmmla v0.4s, v0.16b, v0.16b
+.*: 6e9fec00 fmmla v0.4s, v0.16b, v31.16b
+.*: 6e80efe0 fmmla v0.4s, v31.16b, v0.16b
+.*: 6e9fefe0 fmmla v0.4s, v31.16b, v31.16b
+.*: 6e80ec1f fmmla v31.4s, v0.16b, v0.16b
+.*: 6e9fec1f fmmla v31.4s, v0.16b, v31.16b
+.*: 6e80efff fmmla v31.4s, v31.16b, v0.16b
+.*: 6e9fefff fmmla v31.4s, v31.16b, v31.16b
diff --git a/gas/testsuite/gas/aarch64/f8f32mm.s b/gas/testsuite/gas/aarch64/f8f32mm.s
new file mode 100644
index 0000000..4c8421d
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm.s
@@ -0,0 +1,9 @@
+a:
+ fmmla v0.4s, v0.16b, v0.16b
+ fmmla v0.4s, v0.16b, v31.16b
+ fmmla v0.4s, v31.16b, v0.16b
+ fmmla v0.4s, v31.16b, v31.16b
+ fmmla v31.4s, v0.16b, v0.16b
+ fmmla v31.4s, v0.16b, v31.16b
+ fmmla v31.4s, v31.16b, v0.16b
+ fmmla v31.4s, v31.16b, v31.16b
diff --git a/gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.d b/gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.d
new file mode 100644
index 0000000..200f49c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.d
@@ -0,0 +1,4 @@
+#name: Illegal test of F8F32MM SVE2 FMMLA instruction
+#as: -march=armv8-a
+#source: f8f32mm_sve2.s
+#error_output: f8f32mm_sve2-bad.l
diff --git a/gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.l b/gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.l
new file mode 100644
index 0000000..46b62b2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm_sve2-bad.l
@@ -0,0 +1,9 @@
+[^:]*: Assembler messages:
+.*: Error: selected processor does not support `fmmla z0.s,z0.b,z0.b'
+.*: Error: selected processor does not support `fmmla z0.s,z0.b,z31.b'
+.*: Error: selected processor does not support `fmmla z0.s,z31.b,z0.b'
+.*: Error: selected processor does not support `fmmla z0.s,z31.b,z31.b'
+.*: Error: selected processor does not support `fmmla z31.s,z0.b,z0.b'
+.*: Error: selected processor does not support `fmmla z31.s,z0.b,z31.b'
+.*: Error: selected processor does not support `fmmla z31.s,z31.b,z0.b'
+.*: Error: selected processor does not support `fmmla z31.s,z31.b,z31.b'
diff --git a/gas/testsuite/gas/aarch64/f8f32mm_sve2.d b/gas/testsuite/gas/aarch64/f8f32mm_sve2.d
new file mode 100644
index 0000000..30670c9
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm_sve2.d
@@ -0,0 +1,18 @@
+#name: F8F32MM SVE2 FMMLA instructions
+#as: -march=armv8-a+sve2+f8f32mm
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 6420e000 fmmla z0.s, z0.b, z0.b
+.*: 643fe000 fmmla z0.s, z0.b, z31.b
+.*: 6420e3e0 fmmla z0.s, z31.b, z0.b
+.*: 643fe3e0 fmmla z0.s, z31.b, z31.b
+.*: 6420e01f fmmla z31.s, z0.b, z0.b
+.*: 643fe01f fmmla z31.s, z0.b, z31.b
+.*: 6420e3ff fmmla z31.s, z31.b, z0.b
+.*: 643fe3ff fmmla z31.s, z31.b, z31.b
diff --git a/gas/testsuite/gas/aarch64/f8f32mm_sve2.s b/gas/testsuite/gas/aarch64/f8f32mm_sve2.s
new file mode 100644
index 0000000..a293e3f
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/f8f32mm_sve2.s
@@ -0,0 +1,9 @@
+a:
+ fmmla z0.s, z0.b, z0.b
+ fmmla z0.s, z0.b, z31.b
+ fmmla z0.s, z31.b, z0.b
+ fmmla z0.s, z31.b, z31.b
+ fmmla z31.s, z0.b, z0.b
+ fmmla z31.s, z0.b, z31.b
+ fmmla z31.s, z31.b, z0.b
+ fmmla z31.s, z31.b, z31.b
diff --git a/gas/testsuite/gas/aarch64/float-fp16.d b/gas/testsuite/gas/aarch64/float-fp16.d
index 3d96a45..c7a1200 100644
--- a/gas/testsuite/gas/aarch64/float-fp16.d
+++ b/gas/testsuite/gas/aarch64/float-fp16.d
@@ -6,167 +6,193 @@
Disassembly of section \.text:
0+ <.*>:
- [0-9a-f]+: 1e200400 fccmp s0, s0, #0x0, eq // eq = none
- [0-9a-f]+: 1ee00400 fccmp h0, h0, #0x0, eq // eq = none
- [0-9a-f]+: 1e22d420 fccmp s1, s2, #0x0, le
- [0-9a-f]+: 1ee2d420 fccmp h1, h2, #0x0, le
- [0-9a-f]+: 1e200410 fccmpe s0, s0, #0x0, eq // eq = none
- [0-9a-f]+: 1ee00410 fccmpe h0, h0, #0x0, eq // eq = none
- [0-9a-f]+: 1e22d430 fccmpe s1, s2, #0x0, le
- [0-9a-f]+: 1ee2d430 fccmpe h1, h2, #0x0, le
- [0-9a-f]+: 1e202000 fcmp s0, s0
- [0-9a-f]+: 1ee02000 fcmp h0, h0
- [0-9a-f]+: 1e222020 fcmp s1, s2
- [0-9a-f]+: 1ee22020 fcmp h1, h2
- [0-9a-f]+: 1e202010 fcmpe s0, s0
- [0-9a-f]+: 1ee02010 fcmpe h0, h0
- [0-9a-f]+: 1e222030 fcmpe s1, s2
- [0-9a-f]+: 1ee22030 fcmpe h1, h2
- [0-9a-f]+: 1e202008 fcmp s0, #0\.0
- [0-9a-f]+: 1ee02008 fcmp h0, #0\.0
- [0-9a-f]+: 1e202018 fcmpe s0, #0\.0
- [0-9a-f]+: 1ee02018 fcmpe h0, #0\.0
- [0-9a-f]+: 1e210c00 fcsel s0, s0, s1, eq // eq = none
- [0-9a-f]+: 1ee10c00 fcsel h0, h0, h1, eq // eq = none
- [0-9a-f]+: 9ee60000 fmov x0, h0
- [0-9a-f]+: 1ee60000 fmov w0, h0
- [0-9a-f]+: 9ee70001 fmov h1, x0
- [0-9a-f]+: 1ee70001 fmov h1, w0
- [0-9a-f]+: 1ee0c020 fabs h0, h1
- [0-9a-f]+: 1e20c020 fabs s0, s1
- [0-9a-f]+: 1e60c020 fabs d0, d1
- [0-9a-f]+: 1ee14020 fneg h0, h1
- [0-9a-f]+: 1e214020 fneg s0, s1
- [0-9a-f]+: 1e614020 fneg d0, d1
- [0-9a-f]+: 1ee1c020 fsqrt h0, h1
- [0-9a-f]+: 1e21c020 fsqrt s0, s1
- [0-9a-f]+: 1e61c020 fsqrt d0, d1
- [0-9a-f]+: 1ee44020 frintn h0, h1
- [0-9a-f]+: 1e244020 frintn s0, s1
- [0-9a-f]+: 1e644020 frintn d0, d1
- [0-9a-f]+: 1ee4c020 frintp h0, h1
- [0-9a-f]+: 1e24c020 frintp s0, s1
- [0-9a-f]+: 1e64c020 frintp d0, d1
- [0-9a-f]+: 1ee54020 frintm h0, h1
- [0-9a-f]+: 1e254020 frintm s0, s1
- [0-9a-f]+: 1e654020 frintm d0, d1
- [0-9a-f]+: 1ee5c020 frintz h0, h1
- [0-9a-f]+: 1e25c020 frintz s0, s1
- [0-9a-f]+: 1e65c020 frintz d0, d1
- [0-9a-f]+: 1ee64020 frinta h0, h1
- [0-9a-f]+: 1e264020 frinta s0, s1
- [0-9a-f]+: 1e664020 frinta d0, d1
- [0-9a-f]+: 1ee74020 frintx h0, h1
- [0-9a-f]+: 1e274020 frintx s0, s1
- [0-9a-f]+: 1e674020 frintx d0, d1
- [0-9a-f]+: 1ee7c020 frinti h0, h1
- [0-9a-f]+: 1e27c020 frinti s0, s1
- [0-9a-f]+: 1e67c020 frinti d0, d1
- [0-9a-f]+: 1ee20820 fmul h0, h1, h2
- [0-9a-f]+: 1e220820 fmul s0, s1, s2
- [0-9a-f]+: 1e620820 fmul d0, d1, d2
- [0-9a-f]+: 1ee21820 fdiv h0, h1, h2
- [0-9a-f]+: 1e221820 fdiv s0, s1, s2
- [0-9a-f]+: 1e621820 fdiv d0, d1, d2
- [0-9a-f]+: 1ee22820 fadd h0, h1, h2
- [0-9a-f]+: 1e222820 fadd s0, s1, s2
- [0-9a-f]+: 1e622820 fadd d0, d1, d2
- [0-9a-f]+: 1ee23820 fsub h0, h1, h2
- [0-9a-f]+: 1e223820 fsub s0, s1, s2
- [0-9a-f]+: 1e623820 fsub d0, d1, d2
- [0-9a-f]+: 1ee24820 fmax h0, h1, h2
- [0-9a-f]+: 1e224820 fmax s0, s1, s2
- [0-9a-f]+: 1e624820 fmax d0, d1, d2
- [0-9a-f]+: 1ee25820 fmin h0, h1, h2
- [0-9a-f]+: 1e225820 fmin s0, s1, s2
- [0-9a-f]+: 1e625820 fmin d0, d1, d2
- [0-9a-f]+: 1ee26820 fmaxnm h0, h1, h2
- [0-9a-f]+: 1e226820 fmaxnm s0, s1, s2
- [0-9a-f]+: 1e626820 fmaxnm d0, d1, d2
- [0-9a-f]+: 1ee27820 fminnm h0, h1, h2
- [0-9a-f]+: 1e227820 fminnm s0, s1, s2
- [0-9a-f]+: 1e627820 fminnm d0, d1, d2
- [0-9a-f]+: 1ee28820 fnmul h0, h1, h2
- [0-9a-f]+: 1e228820 fnmul s0, s1, s2
- [0-9a-f]+: 1e628820 fnmul d0, d1, d2
- [0-9a-f]+: 1fc20c20 fmadd h0, h1, h2, h3
- [0-9a-f]+: 1f020c20 fmadd s0, s1, s2, s3
- [0-9a-f]+: 1f420c20 fmadd d0, d1, d2, d3
- [0-9a-f]+: 1fc28c20 fmsub h0, h1, h2, h3
- [0-9a-f]+: 1f028c20 fmsub s0, s1, s2, s3
- [0-9a-f]+: 1f428c20 fmsub d0, d1, d2, d3
- [0-9a-f]+: 1fe20c20 fnmadd h0, h1, h2, h3
- [0-9a-f]+: 1f220c20 fnmadd s0, s1, s2, s3
- [0-9a-f]+: 1f620c20 fnmadd d0, d1, d2, d3
- [0-9a-f]+: 1fe28c20 fnmsub h0, h1, h2, h3
- [0-9a-f]+: 1f228c20 fnmsub s0, s1, s2, s3
- [0-9a-f]+: 1f628c20 fnmsub d0, d1, d2, d3
- [0-9a-f]+: 1e2e1000 fmov s0, #1\.000000000000000000e\+00
- [0-9a-f]+: 1eee1000 fmov h0, #1\.000000000000000000e\+00
- [0-9a-f]+: 1e02f820 scvtf s0, w1, #2
- [0-9a-f]+: 9e02f420 scvtf s0, x1, #3
- [0-9a-f]+: 1ec2f820 scvtf h0, w1, #2
- [0-9a-f]+: 9ec2f420 scvtf h0, x1, #3
- [0-9a-f]+: 1e03f820 ucvtf s0, w1, #2
- [0-9a-f]+: 9e03f420 ucvtf s0, x1, #3
- [0-9a-f]+: 1ec3f820 ucvtf h0, w1, #2
- [0-9a-f]+: 9ec3f420 ucvtf h0, x1, #3
- [0-9a-f]+: 1e58f801 fcvtzs w1, d0, #2
- [0-9a-f]+: 9e58f401 fcvtzs x1, d0, #3
- [0-9a-f]+: 1ed8f801 fcvtzs w1, h0, #2
- [0-9a-f]+: 9ed8f401 fcvtzs x1, h0, #3
- [0-9a-f]+: 1e59f801 fcvtzu w1, d0, #2
- [0-9a-f]+: 9e59f401 fcvtzu x1, d0, #3
- [0-9a-f]+: 1ed9f801 fcvtzu w1, h0, #2
- [0-9a-f]+: 9ed9f401 fcvtzu x1, h0, #3
- [0-9a-f]+: 1e200001 fcvtns w1, s0
- [0-9a-f]+: 9e600001 fcvtns x1, d0
- [0-9a-f]+: 1ee00001 fcvtns w1, h0
- [0-9a-f]+: 9ee00001 fcvtns x1, h0
- [0-9a-f]+: 1e210001 fcvtnu w1, s0
- [0-9a-f]+: 9e610001 fcvtnu x1, d0
- [0-9a-f]+: 1ee10001 fcvtnu w1, h0
- [0-9a-f]+: 9ee10001 fcvtnu x1, h0
- [0-9a-f]+: 1e250001 fcvtau w1, s0
- [0-9a-f]+: 9e650001 fcvtau x1, d0
- [0-9a-f]+: 1ee50001 fcvtau w1, h0
- [0-9a-f]+: 9ee50001 fcvtau x1, h0
- [0-9a-f]+: 1e240001 fcvtas w1, s0
- [0-9a-f]+: 9e640001 fcvtas x1, d0
- [0-9a-f]+: 1ee40001 fcvtas w1, h0
- [0-9a-f]+: 9ee40001 fcvtas x1, h0
- [0-9a-f]+: 1e280001 fcvtps w1, s0
- [0-9a-f]+: 9e680001 fcvtps x1, d0
- [0-9a-f]+: 1ee80001 fcvtps w1, h0
- [0-9a-f]+: 9ee80001 fcvtps x1, h0
- [0-9a-f]+: 1e290001 fcvtpu w1, s0
- [0-9a-f]+: 9e690001 fcvtpu x1, d0
- [0-9a-f]+: 1ee90001 fcvtpu w1, h0
- [0-9a-f]+: 9ee90001 fcvtpu x1, h0
- [0-9a-f]+: 1e300001 fcvtms w1, s0
- [0-9a-f]+: 9e700001 fcvtms x1, d0
- [0-9a-f]+: 1ef00001 fcvtms w1, h0
- [0-9a-f]+: 9ef00001 fcvtms x1, h0
- [0-9a-f]+: 1e310001 fcvtmu w1, s0
- [0-9a-f]+: 9e710001 fcvtmu x1, d0
- [0-9a-f]+: 1ef10001 fcvtmu w1, h0
- [0-9a-f]+: 9ef10001 fcvtmu x1, h0
- [0-9a-f]+: 1e220020 scvtf s0, w1
- [0-9a-f]+: 9e620020 scvtf d0, x1
- [0-9a-f]+: 1ee20020 scvtf h0, w1
- [0-9a-f]+: 9ee20020 scvtf h0, x1
- [0-9a-f]+: 1e230020 ucvtf s0, w1
- [0-9a-f]+: 9e630020 ucvtf d0, x1
- [0-9a-f]+: 1ee30020 ucvtf h0, w1
- [0-9a-f]+: 9ee30020 ucvtf h0, x1
- [0-9a-f]+: 1e604020 fmov d0, d1
- [0-9a-f]+: 1e204020 fmov s0, s1
- [0-9a-f]+: 1ee04020 fmov h0, h1
- [0-9a-f]+: 9ee60020 fmov x0, h1
- [0-9a-f]+: 1ee60020 fmov w0, h1
- [0-9a-f]+: 9ee70001 fmov h1, x0
- [0-9a-f]+: 1ee70001 fmov h1, w0
- [0-9a-f]+: 1e260020 fmov w0, s1
- [0-9a-f]+: 9e660020 fmov x0, d1
- [0-9a-f]+: 1e270001 fmov s1, w0
- [0-9a-f]+: 9e670001 fmov d1, x0
+ *[0-9a-f]+: 1e200400 fccmp s0, s0, #0x0, eq // eq = none
+ *[0-9a-f]+: 1ee00400 fccmp h0, h0, #0x0, eq // eq = none
+ *[0-9a-f]+: 1e22d420 fccmp s1, s2, #0x0, le
+ *[0-9a-f]+: 1ee2d420 fccmp h1, h2, #0x0, le
+ *[0-9a-f]+: 1e200410 fccmpe s0, s0, #0x0, eq // eq = none
+ *[0-9a-f]+: 1ee00410 fccmpe h0, h0, #0x0, eq // eq = none
+ *[0-9a-f]+: 1e22d430 fccmpe s1, s2, #0x0, le
+ *[0-9a-f]+: 1ee2d430 fccmpe h1, h2, #0x0, le
+ *[0-9a-f]+: 1e202000 fcmp s0, s0
+ *[0-9a-f]+: 1ee02000 fcmp h0, h0
+ *[0-9a-f]+: 1e222020 fcmp s1, s2
+ *[0-9a-f]+: 1ee22020 fcmp h1, h2
+ *[0-9a-f]+: 1e202010 fcmpe s0, s0
+ *[0-9a-f]+: 1ee02010 fcmpe h0, h0
+ *[0-9a-f]+: 1e222030 fcmpe s1, s2
+ *[0-9a-f]+: 1ee22030 fcmpe h1, h2
+ *[0-9a-f]+: 1e202008 fcmp s0, #0\.0
+ *[0-9a-f]+: 1ee02008 fcmp h0, #0\.0
+ *[0-9a-f]+: 1e202018 fcmpe s0, #0\.0
+ *[0-9a-f]+: 1ee02018 fcmpe h0, #0\.0
+ *[0-9a-f]+: 1e210c00 fcsel s0, s0, s1, eq // eq = none
+ *[0-9a-f]+: 1ee10c00 fcsel h0, h0, h1, eq // eq = none
+ *[0-9a-f]+: 9ee60000 fmov x0, h0
+ *[0-9a-f]+: 1ee60000 fmov w0, h0
+ *[0-9a-f]+: 9ee70001 fmov h1, x0
+ *[0-9a-f]+: 1ee70001 fmov h1, w0
+ *[0-9a-f]+: 1ee0c020 fabs h0, h1
+ *[0-9a-f]+: 1e20c020 fabs s0, s1
+ *[0-9a-f]+: 1e60c020 fabs d0, d1
+ *[0-9a-f]+: 1ee14020 fneg h0, h1
+ *[0-9a-f]+: 1e214020 fneg s0, s1
+ *[0-9a-f]+: 1e614020 fneg d0, d1
+ *[0-9a-f]+: 1ee1c020 fsqrt h0, h1
+ *[0-9a-f]+: 1e21c020 fsqrt s0, s1
+ *[0-9a-f]+: 1e61c020 fsqrt d0, d1
+ *[0-9a-f]+: 1ee24000 fcvt s0, h0
+ *[0-9a-f]+: 1ee2401f fcvt s31, h0
+ *[0-9a-f]+: 1ee243e0 fcvt s0, h31
+ *[0-9a-f]+: 1ee2c000 fcvt d0, h0
+ *[0-9a-f]+: 1ee2c01f fcvt d31, h0
+ *[0-9a-f]+: 1ee2c3e0 fcvt d0, h31
+ *[0-9a-f]+: 1e23c000 fcvt h0, s0
+ *[0-9a-f]+: 1e23c01f fcvt h31, s0
+ *[0-9a-f]+: 1e23c3e0 fcvt h0, s31
+ *[0-9a-f]+: 1e22c000 fcvt d0, s0
+ *[0-9a-f]+: 1e22c01f fcvt d31, s0
+ *[0-9a-f]+: 1e22c3e0 fcvt d0, s31
+ *[0-9a-f]+: 1e63c000 fcvt h0, d0
+ *[0-9a-f]+: 1e63c01f fcvt h31, d0
+ *[0-9a-f]+: 1e63c3e0 fcvt h0, d31
+ *[0-9a-f]+: 1e624000 fcvt s0, d0
+ *[0-9a-f]+: 1e62401f fcvt s31, d0
+ *[0-9a-f]+: 1e6243e0 fcvt s0, d31
+ *[0-9a-f]+: 1ee44020 frintn h0, h1
+ *[0-9a-f]+: 1e244020 frintn s0, s1
+ *[0-9a-f]+: 1e644020 frintn d0, d1
+ *[0-9a-f]+: 1ee4c020 frintp h0, h1
+ *[0-9a-f]+: 1e24c020 frintp s0, s1
+ *[0-9a-f]+: 1e64c020 frintp d0, d1
+ *[0-9a-f]+: 1ee54020 frintm h0, h1
+ *[0-9a-f]+: 1e254020 frintm s0, s1
+ *[0-9a-f]+: 1e654020 frintm d0, d1
+ *[0-9a-f]+: 1ee5c020 frintz h0, h1
+ *[0-9a-f]+: 1e25c020 frintz s0, s1
+ *[0-9a-f]+: 1e65c020 frintz d0, d1
+ *[0-9a-f]+: 1ee64020 frinta h0, h1
+ *[0-9a-f]+: 1e264020 frinta s0, s1
+ *[0-9a-f]+: 1e664020 frinta d0, d1
+ *[0-9a-f]+: 1ee74020 frintx h0, h1
+ *[0-9a-f]+: 1e274020 frintx s0, s1
+ *[0-9a-f]+: 1e674020 frintx d0, d1
+ *[0-9a-f]+: 1ee7c020 frinti h0, h1
+ *[0-9a-f]+: 1e27c020 frinti s0, s1
+ *[0-9a-f]+: 1e67c020 frinti d0, d1
+ *[0-9a-f]+: 1ee20820 fmul h0, h1, h2
+ *[0-9a-f]+: 1e220820 fmul s0, s1, s2
+ *[0-9a-f]+: 1e620820 fmul d0, d1, d2
+ *[0-9a-f]+: 1ee21820 fdiv h0, h1, h2
+ *[0-9a-f]+: 1e221820 fdiv s0, s1, s2
+ *[0-9a-f]+: 1e621820 fdiv d0, d1, d2
+ *[0-9a-f]+: 1ee22820 fadd h0, h1, h2
+ *[0-9a-f]+: 1e222820 fadd s0, s1, s2
+ *[0-9a-f]+: 1e622820 fadd d0, d1, d2
+ *[0-9a-f]+: 1ee23820 fsub h0, h1, h2
+ *[0-9a-f]+: 1e223820 fsub s0, s1, s2
+ *[0-9a-f]+: 1e623820 fsub d0, d1, d2
+ *[0-9a-f]+: 1ee24820 fmax h0, h1, h2
+ *[0-9a-f]+: 1e224820 fmax s0, s1, s2
+ *[0-9a-f]+: 1e624820 fmax d0, d1, d2
+ *[0-9a-f]+: 1ee25820 fmin h0, h1, h2
+ *[0-9a-f]+: 1e225820 fmin s0, s1, s2
+ *[0-9a-f]+: 1e625820 fmin d0, d1, d2
+ *[0-9a-f]+: 1ee26820 fmaxnm h0, h1, h2
+ *[0-9a-f]+: 1e226820 fmaxnm s0, s1, s2
+ *[0-9a-f]+: 1e626820 fmaxnm d0, d1, d2
+ *[0-9a-f]+: 1ee27820 fminnm h0, h1, h2
+ *[0-9a-f]+: 1e227820 fminnm s0, s1, s2
+ *[0-9a-f]+: 1e627820 fminnm d0, d1, d2
+ *[0-9a-f]+: 1ee28820 fnmul h0, h1, h2
+ *[0-9a-f]+: 1e228820 fnmul s0, s1, s2
+ *[0-9a-f]+: 1e628820 fnmul d0, d1, d2
+ *[0-9a-f]+: 1fc20c20 fmadd h0, h1, h2, h3
+ *[0-9a-f]+: 1f020c20 fmadd s0, s1, s2, s3
+ *[0-9a-f]+: 1f420c20 fmadd d0, d1, d2, d3
+ *[0-9a-f]+: 1fc28c20 fmsub h0, h1, h2, h3
+ *[0-9a-f]+: 1f028c20 fmsub s0, s1, s2, s3
+ *[0-9a-f]+: 1f428c20 fmsub d0, d1, d2, d3
+ *[0-9a-f]+: 1fe20c20 fnmadd h0, h1, h2, h3
+ *[0-9a-f]+: 1f220c20 fnmadd s0, s1, s2, s3
+ *[0-9a-f]+: 1f620c20 fnmadd d0, d1, d2, d3
+ *[0-9a-f]+: 1fe28c20 fnmsub h0, h1, h2, h3
+ *[0-9a-f]+: 1f228c20 fnmsub s0, s1, s2, s3
+ *[0-9a-f]+: 1f628c20 fnmsub d0, d1, d2, d3
+ *[0-9a-f]+: 1e2e1000 fmov s0, #1\.000000000000000000e\+00
+ *[0-9a-f]+: 1eee1000 fmov h0, #1\.000000000000000000e\+00
+ *[0-9a-f]+: 1e02f820 scvtf s0, w1, #2
+ *[0-9a-f]+: 9e02f420 scvtf s0, x1, #3
+ *[0-9a-f]+: 1ec2f820 scvtf h0, w1, #2
+ *[0-9a-f]+: 9ec2f420 scvtf h0, x1, #3
+ *[0-9a-f]+: 1e03f820 ucvtf s0, w1, #2
+ *[0-9a-f]+: 9e03f420 ucvtf s0, x1, #3
+ *[0-9a-f]+: 1ec3f820 ucvtf h0, w1, #2
+ *[0-9a-f]+: 9ec3f420 ucvtf h0, x1, #3
+ *[0-9a-f]+: 1e58f801 fcvtzs w1, d0, #2
+ *[0-9a-f]+: 9e58f401 fcvtzs x1, d0, #3
+ *[0-9a-f]+: 1ed8f801 fcvtzs w1, h0, #2
+ *[0-9a-f]+: 9ed8f401 fcvtzs x1, h0, #3
+ *[0-9a-f]+: 1e59f801 fcvtzu w1, d0, #2
+ *[0-9a-f]+: 9e59f401 fcvtzu x1, d0, #3
+ *[0-9a-f]+: 1ed9f801 fcvtzu w1, h0, #2
+ *[0-9a-f]+: 9ed9f401 fcvtzu x1, h0, #3
+ *[0-9a-f]+: 1e200001 fcvtns w1, s0
+ *[0-9a-f]+: 9e600001 fcvtns x1, d0
+ *[0-9a-f]+: 1ee00001 fcvtns w1, h0
+ *[0-9a-f]+: 9ee00001 fcvtns x1, h0
+ *[0-9a-f]+: 1e210001 fcvtnu w1, s0
+ *[0-9a-f]+: 9e610001 fcvtnu x1, d0
+ *[0-9a-f]+: 1ee10001 fcvtnu w1, h0
+ *[0-9a-f]+: 9ee10001 fcvtnu x1, h0
+ *[0-9a-f]+: 1e250001 fcvtau w1, s0
+ *[0-9a-f]+: 9e650001 fcvtau x1, d0
+ *[0-9a-f]+: 1ee50001 fcvtau w1, h0
+ *[0-9a-f]+: 9ee50001 fcvtau x1, h0
+ *[0-9a-f]+: 1e240001 fcvtas w1, s0
+ *[0-9a-f]+: 9e640001 fcvtas x1, d0
+ *[0-9a-f]+: 1ee40001 fcvtas w1, h0
+ *[0-9a-f]+: 9ee40001 fcvtas x1, h0
+ *[0-9a-f]+: 1e280001 fcvtps w1, s0
+ *[0-9a-f]+: 9e680001 fcvtps x1, d0
+ *[0-9a-f]+: 1ee80001 fcvtps w1, h0
+ *[0-9a-f]+: 9ee80001 fcvtps x1, h0
+ *[0-9a-f]+: 1e290001 fcvtpu w1, s0
+ *[0-9a-f]+: 9e690001 fcvtpu x1, d0
+ *[0-9a-f]+: 1ee90001 fcvtpu w1, h0
+ *[0-9a-f]+: 9ee90001 fcvtpu x1, h0
+ *[0-9a-f]+: 1e300001 fcvtms w1, s0
+ *[0-9a-f]+: 9e700001 fcvtms x1, d0
+ *[0-9a-f]+: 1ef00001 fcvtms w1, h0
+ *[0-9a-f]+: 9ef00001 fcvtms x1, h0
+ *[0-9a-f]+: 1e310001 fcvtmu w1, s0
+ *[0-9a-f]+: 9e710001 fcvtmu x1, d0
+ *[0-9a-f]+: 1ef10001 fcvtmu w1, h0
+ *[0-9a-f]+: 9ef10001 fcvtmu x1, h0
+ *[0-9a-f]+: 1e380001 fcvtzs w1, s0
+ *[0-9a-f]+: 9e780001 fcvtzs x1, d0
+ *[0-9a-f]+: 1ef80001 fcvtzs w1, h0
+ *[0-9a-f]+: 9ef80001 fcvtzs x1, h0
+ *[0-9a-f]+: 1e390001 fcvtzu w1, s0
+ *[0-9a-f]+: 9e790001 fcvtzu x1, d0
+ *[0-9a-f]+: 1ef90001 fcvtzu w1, h0
+ *[0-9a-f]+: 9ef90001 fcvtzu x1, h0
+ *[0-9a-f]+: 1e220020 scvtf s0, w1
+ *[0-9a-f]+: 9e620020 scvtf d0, x1
+ *[0-9a-f]+: 1ee20020 scvtf h0, w1
+ *[0-9a-f]+: 9ee20020 scvtf h0, x1
+ *[0-9a-f]+: 1e230020 ucvtf s0, w1
+ *[0-9a-f]+: 9e630020 ucvtf d0, x1
+ *[0-9a-f]+: 1ee30020 ucvtf h0, w1
+ *[0-9a-f]+: 9ee30020 ucvtf h0, x1
+ *[0-9a-f]+: 1e604020 fmov d0, d1
+ *[0-9a-f]+: 1e204020 fmov s0, s1
+ *[0-9a-f]+: 1ee04020 fmov h0, h1
+ *[0-9a-f]+: 9ee60020 fmov x0, h1
+ *[0-9a-f]+: 1ee60020 fmov w0, h1
+ *[0-9a-f]+: 9ee70001 fmov h1, x0
+ *[0-9a-f]+: 1ee70001 fmov h1, w0
+ *[0-9a-f]+: 1e260020 fmov w0, s1
+ *[0-9a-f]+: 9e660020 fmov x0, d1
+ *[0-9a-f]+: 1e270001 fmov s1, w0
+ *[0-9a-f]+: 9e670001 fmov d1, x0
diff --git a/gas/testsuite/gas/aarch64/float-fp16.s b/gas/testsuite/gas/aarch64/float-fp16.s
index 0c30038..e5d13bd 100644
--- a/gas/testsuite/gas/aarch64/float-fp16.s
+++ b/gas/testsuite/gas/aarch64/float-fp16.s
@@ -43,11 +43,30 @@
.endm
.text
- .irp op, fabs, fneg, fsqrt, frintn, frintp, frintm, frintz
+ .irp op, fabs, fneg, fsqrt
sdp1src \op
.endr
- .irp op, frinta, frintx, frinti
+ fcvt s0, h0
+ fcvt s31, h0
+ fcvt s0, h31
+ fcvt d0, h0
+ fcvt d31, h0
+ fcvt d0, h31
+ fcvt h0, s0
+ fcvt h31, s0
+ fcvt h0, s31
+ fcvt d0, s0
+ fcvt d31, s0
+ fcvt d0, s31
+ fcvt h0, d0
+ fcvt h31, d0
+ fcvt h0, d31
+ fcvt s0, d0
+ fcvt s31, d0
+ fcvt s0, d31
+
+ .irp op, frintn, frintp, frintm, frintz, frinta, frintx, frinti
sdp1src \op
.endr
@@ -128,6 +147,11 @@
scvt_fp2int \op
.endr
+ .text
+ .irp op, fcvtzs, fcvtzu
+ scvt_fp2int \op
+ .endr
+
.irp op, scvtf, ucvtf
scvt_int2fp \op
.endr
diff --git a/gas/testsuite/gas/aarch64/fprcvt.d b/gas/testsuite/gas/aarch64/fprcvt.d
new file mode 100644
index 0000000..9129858
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/fprcvt.d
@@ -0,0 +1,176 @@
+#name: FPRCVT instructions
+#as: -march=armv8-a+fprcvt
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 1efa0000 fcvtas s0, h0
+.*: 1efa001f fcvtas s31, h0
+.*: 1efa03e0 fcvtas s0, h31
+.*: 9e3a0000 fcvtas d0, s0
+.*: 9e3a001f fcvtas d31, s0
+.*: 9e3a03e0 fcvtas d0, s31
+.*: 9efa0000 fcvtas d0, h0
+.*: 9efa001f fcvtas d31, h0
+.*: 9efa03e0 fcvtas d0, h31
+.*: 1e7a0000 fcvtas s0, d0
+.*: 1e7a001f fcvtas s31, d0
+.*: 1e7a03e0 fcvtas s0, d31
+
+.* <b>:
+.*: 1efb0000 fcvtau s0, h0
+.*: 1efb001f fcvtau s31, h0
+.*: 1efb03e0 fcvtau s0, h31
+.*: 9e3b0000 fcvtau d0, s0
+.*: 9e3b001f fcvtau d31, s0
+.*: 9e3b03e0 fcvtau d0, s31
+.*: 9efb0000 fcvtau d0, h0
+.*: 9efb001f fcvtau d31, h0
+.*: 9efb03e0 fcvtau d0, h31
+.*: 1e7b0000 fcvtau s0, d0
+.*: 1e7b001f fcvtau s31, d0
+.*: 1e7b03e0 fcvtau s0, d31
+
+.* <c>:
+.*: 1ef40000 fcvtms s0, h0
+.*: 1ef4001f fcvtms s31, h0
+.*: 1ef403e0 fcvtms s0, h31
+.*: 9e340000 fcvtms d0, s0
+.*: 9e34001f fcvtms d31, s0
+.*: 9e3403e0 fcvtms d0, s31
+.*: 9ef40000 fcvtms d0, h0
+.*: 9ef4001f fcvtms d31, h0
+.*: 9ef403e0 fcvtms d0, h31
+.*: 1e740000 fcvtms s0, d0
+.*: 1e74001f fcvtms s31, d0
+.*: 1e7403e0 fcvtms s0, d31
+
+.* <d>:
+.*: 1ef50000 fcvtmu s0, h0
+.*: 1ef5001f fcvtmu s31, h0
+.*: 1ef503e0 fcvtmu s0, h31
+.*: 9e350000 fcvtmu d0, s0
+.*: 9e35001f fcvtmu d31, s0
+.*: 9e3503e0 fcvtmu d0, s31
+.*: 9ef50000 fcvtmu d0, h0
+.*: 9ef5001f fcvtmu d31, h0
+.*: 9ef503e0 fcvtmu d0, h31
+.*: 1e750000 fcvtmu s0, d0
+.*: 1e75001f fcvtmu s31, d0
+.*: 1e7503e0 fcvtmu s0, d31
+
+.* <e>:
+.*: 1eea0000 fcvtns s0, h0
+.*: 1eea001f fcvtns s31, h0
+.*: 1eea03e0 fcvtns s0, h31
+.*: 9e2a0000 fcvtns d0, s0
+.*: 9e2a001f fcvtns d31, s0
+.*: 9e2a03e0 fcvtns d0, s31
+.*: 9eea0000 fcvtns d0, h0
+.*: 9eea001f fcvtns d31, h0
+.*: 9eea03e0 fcvtns d0, h31
+.*: 1e6a0000 fcvtns s0, d0
+.*: 1e6a001f fcvtns s31, d0
+.*: 1e6a03e0 fcvtns s0, d31
+
+.* <f>:
+.*: 1eeb0000 fcvtnu s0, h0
+.*: 1eeb001f fcvtnu s31, h0
+.*: 1eeb03e0 fcvtnu s0, h31
+.*: 9e2b0000 fcvtnu d0, s0
+.*: 9e2b001f fcvtnu d31, s0
+.*: 9e2b03e0 fcvtnu d0, s31
+.*: 9eeb0000 fcvtnu d0, h0
+.*: 9eeb001f fcvtnu d31, h0
+.*: 9eeb03e0 fcvtnu d0, h31
+.*: 1e6b0000 fcvtnu s0, d0
+.*: 1e6b001f fcvtnu s31, d0
+.*: 1e6b03e0 fcvtnu s0, d31
+
+.* <g>:
+.*: 1ef20000 fcvtps s0, h0
+.*: 1ef2001f fcvtps s31, h0
+.*: 1ef203e0 fcvtps s0, h31
+.*: 9e320000 fcvtps d0, s0
+.*: 9e32001f fcvtps d31, s0
+.*: 9e3203e0 fcvtps d0, s31
+.*: 9ef20000 fcvtps d0, h0
+.*: 9ef2001f fcvtps d31, h0
+.*: 9ef203e0 fcvtps d0, h31
+.*: 1e720000 fcvtps s0, d0
+.*: 1e72001f fcvtps s31, d0
+.*: 1e7203e0 fcvtps s0, d31
+
+.* <h>:
+.*: 1ef30000 fcvtpu s0, h0
+.*: 1ef3001f fcvtpu s31, h0
+.*: 1ef303e0 fcvtpu s0, h31
+.*: 9e330000 fcvtpu d0, s0
+.*: 9e33001f fcvtpu d31, s0
+.*: 9e3303e0 fcvtpu d0, s31
+.*: 9ef30000 fcvtpu d0, h0
+.*: 9ef3001f fcvtpu d31, h0
+.*: 9ef303e0 fcvtpu d0, h31
+.*: 1e730000 fcvtpu s0, d0
+.*: 1e73001f fcvtpu s31, d0
+.*: 1e7303e0 fcvtpu s0, d31
+
+.* <i>:
+.*: 1ef60000 fcvtzs s0, h0
+.*: 1ef6001f fcvtzs s31, h0
+.*: 1ef603e0 fcvtzs s0, h31
+.*: 9e360000 fcvtzs d0, s0
+.*: 9e36001f fcvtzs d31, s0
+.*: 9e3603e0 fcvtzs d0, s31
+.*: 9ef60000 fcvtzs d0, h0
+.*: 9ef6001f fcvtzs d31, h0
+.*: 9ef603e0 fcvtzs d0, h31
+.*: 1e760000 fcvtzs s0, d0
+.*: 1e76001f fcvtzs s31, d0
+.*: 1e7603e0 fcvtzs s0, d31
+
+.* <j>:
+.*: 1ef70000 fcvtzu s0, h0
+.*: 1ef7001f fcvtzu s31, h0
+.*: 1ef703e0 fcvtzu s0, h31
+.*: 9e370000 fcvtzu d0, s0
+.*: 9e37001f fcvtzu d31, s0
+.*: 9e3703e0 fcvtzu d0, s31
+.*: 9ef70000 fcvtzu d0, h0
+.*: 9ef7001f fcvtzu d31, h0
+.*: 9ef703e0 fcvtzu d0, h31
+.*: 1e770000 fcvtzu s0, d0
+.*: 1e77001f fcvtzu s31, d0
+.*: 1e7703e0 fcvtzu s0, d31
+
+.* <k>:
+.*: 1efc0000 scvtf h0, s0
+.*: 1efc001f scvtf h31, s0
+.*: 1efc03e0 scvtf h0, s31
+.*: 1e7c0000 scvtf d0, s0
+.*: 1e7c001f scvtf d31, s0
+.*: 1e7c03e0 scvtf d0, s31
+.*: 9efc0000 scvtf h0, d0
+.*: 9efc001f scvtf h31, d0
+.*: 9efc03e0 scvtf h0, d31
+.*: 9e3c0000 scvtf s0, d0
+.*: 9e3c001f scvtf s31, d0
+.*: 9e3c03e0 scvtf s0, d31
+
+.* <l>:
+.*: 1efd0000 ucvtf h0, s0
+.*: 1efd001f ucvtf h31, s0
+.*: 1efd03e0 ucvtf h0, s31
+.*: 1e7d0000 ucvtf d0, s0
+.*: 1e7d001f ucvtf d31, s0
+.*: 1e7d03e0 ucvtf d0, s31
+.*: 9efd0000 ucvtf h0, d0
+.*: 9efd001f ucvtf h31, d0
+.*: 9efd03e0 ucvtf h0, d31
+.*: 9e3d0000 ucvtf s0, d0
+.*: 9e3d001f ucvtf s31, d0
+.*: 9e3d03e0 ucvtf s0, d31
diff --git a/gas/testsuite/gas/aarch64/fprcvt.s b/gas/testsuite/gas/aarch64/fprcvt.s
new file mode 100644
index 0000000..3b09195
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/fprcvt.s
@@ -0,0 +1,159 @@
+/* fprcvt.s Test file for AArch64 floating-point<->fixed-point
+ conversion and floating-point<->integer conversion instructions. */
+
+a:
+ fcvtas s0, h0
+ fcvtas s31, h0
+ fcvtas s0, h31
+ fcvtas d0, s0
+ fcvtas d31, s0
+ fcvtas d0, s31
+ fcvtas d0, h0
+ fcvtas d31, h0
+ fcvtas d0, h31
+ fcvtas s0, d0
+ fcvtas s31, d0
+ fcvtas s0, d31
+b:
+ fcvtau s0, h0
+ fcvtau s31, h0
+ fcvtau s0, h31
+ fcvtau d0, s0
+ fcvtau d31, s0
+ fcvtau d0, s31
+ fcvtau d0, h0
+ fcvtau d31, h0
+ fcvtau d0, h31
+ fcvtau s0, d0
+ fcvtau s31, d0
+ fcvtau s0, d31
+c:
+ fcvtms s0, h0
+ fcvtms s31, h0
+ fcvtms s0, h31
+ fcvtms d0, s0
+ fcvtms d31, s0
+ fcvtms d0, s31
+ fcvtms d0, h0
+ fcvtms d31, h0
+ fcvtms d0, h31
+ fcvtms s0, d0
+ fcvtms s31, d0
+ fcvtms s0, d31
+d:
+ fcvtmu s0, h0
+ fcvtmu s31, h0
+ fcvtmu s0, h31
+ fcvtmu d0, s0
+ fcvtmu d31, s0
+ fcvtmu d0, s31
+ fcvtmu d0, h0
+ fcvtmu d31, h0
+ fcvtmu d0, h31
+ fcvtmu s0, d0
+ fcvtmu s31, d0
+ fcvtmu s0, d31
+e:
+ fcvtns s0, h0
+ fcvtns s31, h0
+ fcvtns s0, h31
+ fcvtns d0, s0
+ fcvtns d31, s0
+ fcvtns d0, s31
+ fcvtns d0, h0
+ fcvtns d31, h0
+ fcvtns d0, h31
+ fcvtns s0, d0
+ fcvtns s31, d0
+ fcvtns s0, d31
+f:
+ fcvtnu s0, h0
+ fcvtnu s31, h0
+ fcvtnu s0, h31
+ fcvtnu d0, s0
+ fcvtnu d31, s0
+ fcvtnu d0, s31
+ fcvtnu d0, h0
+ fcvtnu d31, h0
+ fcvtnu d0, h31
+ fcvtnu s0, d0
+ fcvtnu s31, d0
+ fcvtnu s0, d31
+g:
+ fcvtps s0, h0
+ fcvtps s31, h0
+ fcvtps s0, h31
+ fcvtps d0, s0
+ fcvtps d31, s0
+ fcvtps d0, s31
+ fcvtps d0, h0
+ fcvtps d31, h0
+ fcvtps d0, h31
+ fcvtps s0, d0
+ fcvtps s31, d0
+ fcvtps s0, d31
+h:
+ fcvtpu s0, h0
+ fcvtpu s31, h0
+ fcvtpu s0, h31
+ fcvtpu d0, s0
+ fcvtpu d31, s0
+ fcvtpu d0, s31
+ fcvtpu d0, h0
+ fcvtpu d31, h0
+ fcvtpu d0, h31
+ fcvtpu s0, d0
+ fcvtpu s31, d0
+ fcvtpu s0, d31
+i:
+ fcvtzs s0, h0
+ fcvtzs s31, h0
+ fcvtzs s0, h31
+ fcvtzs d0, s0
+ fcvtzs d31, s0
+ fcvtzs d0, s31
+ fcvtzs d0, h0
+ fcvtzs d31, h0
+ fcvtzs d0, h31
+ fcvtzs s0, d0
+ fcvtzs s31, d0
+ fcvtzs s0, d31
+j:
+ fcvtzu s0, h0
+ fcvtzu s31, h0
+ fcvtzu s0, h31
+ fcvtzu d0, s0
+ fcvtzu d31, s0
+ fcvtzu d0, s31
+ fcvtzu d0, h0
+ fcvtzu d31, h0
+ fcvtzu d0, h31
+ fcvtzu s0, d0
+ fcvtzu s31, d0
+ fcvtzu s0, d31
+k:
+ scvtf h0, s0
+ scvtf h31, s0
+ scvtf h0, s31
+ scvtf d0, s0
+ scvtf d31, s0
+ scvtf d0, s31
+ scvtf h0, d0
+ scvtf h31, d0
+ scvtf h0, d31
+ scvtf s0, d0
+ scvtf s31, d0
+ scvtf s0, d31
+l:
+ ucvtf h0, s0
+ ucvtf h31, s0
+ ucvtf h0, s31
+ ucvtf d0, s0
+ ucvtf d31, s0
+ ucvtf d0, s31
+ ucvtf h0, d0
+ ucvtf h31, d0
+ ucvtf h0, d31
+ ucvtf s0, d0
+ ucvtf s31, d0
+ ucvtf s0, d31
diff --git a/gas/testsuite/gas/aarch64/gpc3.d b/gas/testsuite/gas/aarch64/gpc3.d
new file mode 100644
index 0000000..2535aef
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/gpc3.d
@@ -0,0 +1,11 @@
+#name: RME_GPC3 System register
+#as: -march=armv9.5-a
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+[^:]*: d53e21a0 mrs x0, gpcbw_el3
+[^:]*: d51e21a0 msr gpcbw_el3, x0
diff --git a/gas/testsuite/gas/aarch64/gpc3.s b/gas/testsuite/gas/aarch64/gpc3.s
new file mode 100644
index 0000000..349cc08
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/gpc3.s
@@ -0,0 +1,7 @@
+/* RME Granule Protection Check 3 Extension. */
+
+ /* Read from system register. */
+ mrs x0, gpcbw_el3
+
+ /* Write to system register. */
+ msr gpcbw_el3, x0
diff --git a/gas/testsuite/gas/aarch64/ldst-extend-general.d b/gas/testsuite/gas/aarch64/ldst-extend-general.d
new file mode 100644
index 0000000..7cd4871
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/ldst-extend-general.d
@@ -0,0 +1,155 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 38204800 strb w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 3820481f strb wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 38204be0 strb w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 383f4800 strb w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 38205800 strb w0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+: 3820c800 strb w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 383fc800 strb w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 3820d800 strb w0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+: 38206800 strb w0, \[x0, x0\]
+ *[0-9a-f]+: 383f6800 strb w0, \[x0, xzr\]
+ *[0-9a-f]+: 38207800 strb w0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+: 3820e800 strb w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 383fe800 strb w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 3820f800 strb w0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+: 38604800 ldrb w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 3860481f ldrb wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 38604be0 ldrb w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 387f4800 ldrb w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 38605800 ldrb w0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+: 3860c800 ldrb w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 387fc800 ldrb w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 3860d800 ldrb w0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+: 38606800 ldrb w0, \[x0, x0\]
+ *[0-9a-f]+: 387f6800 ldrb w0, \[x0, xzr\]
+ *[0-9a-f]+: 38607800 ldrb w0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+: 3860e800 ldrb w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 387fe800 ldrb w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 3860f800 ldrb w0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+: 38a04800 ldrsb x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 38a0481f ldrsb xzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 38a04be0 ldrsb x0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 38bf4800 ldrsb x0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 38a05800 ldrsb x0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+: 38a0c800 ldrsb x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 38bfc800 ldrsb x0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 38a0d800 ldrsb x0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+: 38a06800 ldrsb x0, \[x0, x0\]
+ *[0-9a-f]+: 38bf6800 ldrsb x0, \[x0, xzr\]
+ *[0-9a-f]+: 38a07800 ldrsb x0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+: 38a0e800 ldrsb x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 38bfe800 ldrsb x0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 38a0f800 ldrsb x0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+: 38e04800 ldrsb w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 38e0481f ldrsb wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 38e04be0 ldrsb w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 38ff4800 ldrsb w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 38e05800 ldrsb w0, \[x0, w0, uxtw #0\]
+ *[0-9a-f]+: 38e0c800 ldrsb w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 38ffc800 ldrsb w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 38e0d800 ldrsb w0, \[x0, w0, sxtw #0\]
+ *[0-9a-f]+: 38e06800 ldrsb w0, \[x0, x0\]
+ *[0-9a-f]+: 38ff6800 ldrsb w0, \[x0, xzr\]
+ *[0-9a-f]+: 38e07800 ldrsb w0, \[x0, x0, lsl #0\]
+ *[0-9a-f]+: 38e0e800 ldrsb w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 38ffe800 ldrsb w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 38e0f800 ldrsb w0, \[x0, x0, sxtx #0\]
+ *[0-9a-f]+: 78204800 strh w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 7820481f strh wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78204be0 strh w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 783f4800 strh w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 78204800 strh w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78205800 strh w0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+: 7820c800 strh w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 783fc800 strh w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 7820c800 strh w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 7820d800 strh w0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+: 78206800 strh w0, \[x0, x0\]
+ *[0-9a-f]+: 783f6800 strh w0, \[x0, xzr\]
+ *[0-9a-f]+: 78206800 strh w0, \[x0, x0\]
+ *[0-9a-f]+: 78207800 strh w0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+: 7820e800 strh w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 783fe800 strh w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 7820e800 strh w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 7820f800 strh w0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+: 78604800 ldrh w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 7860481f ldrh wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78604be0 ldrh w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 787f4800 ldrh w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 78604800 ldrh w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78605800 ldrh w0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+: 7860c800 ldrh w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 787fc800 ldrh w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 7860c800 ldrh w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 7860d800 ldrh w0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+: 78606800 ldrh w0, \[x0, x0\]
+ *[0-9a-f]+: 787f6800 ldrh w0, \[x0, xzr\]
+ *[0-9a-f]+: 78606800 ldrh w0, \[x0, x0\]
+ *[0-9a-f]+: 78607800 ldrh w0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+: 7860e800 ldrh w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 787fe800 ldrh w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 7860e800 ldrh w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 7860f800 ldrh w0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+: 78a04800 ldrsh x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78a0481f ldrsh xzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78a04be0 ldrsh x0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 78bf4800 ldrsh x0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 78a04800 ldrsh x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78a05800 ldrsh x0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+: 78a0c800 ldrsh x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 78bfc800 ldrsh x0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 78a0c800 ldrsh x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 78a0d800 ldrsh x0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+: 78a06800 ldrsh x0, \[x0, x0\]
+ *[0-9a-f]+: 78bf6800 ldrsh x0, \[x0, xzr\]
+ *[0-9a-f]+: 78a06800 ldrsh x0, \[x0, x0\]
+ *[0-9a-f]+: 78a07800 ldrsh x0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+: 78a0e800 ldrsh x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 78bfe800 ldrsh x0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 78a0e800 ldrsh x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 78a0f800 ldrsh x0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+: 78e04800 ldrsh w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78e0481f ldrsh wzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78e04be0 ldrsh w0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: 78ff4800 ldrsh w0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: 78e04800 ldrsh w0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: 78e05800 ldrsh w0, \[x0, w0, uxtw #1\]
+ *[0-9a-f]+: 78e0c800 ldrsh w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 78ffc800 ldrsh w0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: 78e0c800 ldrsh w0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: 78e0d800 ldrsh w0, \[x0, w0, sxtw #1\]
+ *[0-9a-f]+: 78e06800 ldrsh w0, \[x0, x0\]
+ *[0-9a-f]+: 78ff6800 ldrsh w0, \[x0, xzr\]
+ *[0-9a-f]+: 78e06800 ldrsh w0, \[x0, x0\]
+ *[0-9a-f]+: 78e07800 ldrsh w0, \[x0, x0, lsl #1\]
+ *[0-9a-f]+: 78e0e800 ldrsh w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 78ffe800 ldrsh w0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: 78e0e800 ldrsh w0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: 78e0f800 ldrsh w0, \[x0, x0, sxtx #1\]
+ *[0-9a-f]+: b8a04800 ldrsw x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: b8a0481f ldrsw xzr, \[x0, w0, uxtw\]
+ *[0-9a-f]+: b8a04be0 ldrsw x0, \[sp, w0, uxtw\]
+ *[0-9a-f]+: b8bf4800 ldrsw x0, \[x0, wzr, uxtw\]
+ *[0-9a-f]+: b8a04800 ldrsw x0, \[x0, w0, uxtw\]
+ *[0-9a-f]+: b8a05800 ldrsw x0, \[x0, w0, uxtw #2\]
+ *[0-9a-f]+: b8a0c800 ldrsw x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: b8bfc800 ldrsw x0, \[x0, wzr, sxtw\]
+ *[0-9a-f]+: b8a0c800 ldrsw x0, \[x0, w0, sxtw\]
+ *[0-9a-f]+: b8a0d800 ldrsw x0, \[x0, w0, sxtw #2\]
+ *[0-9a-f]+: b8a06800 ldrsw x0, \[x0, x0\]
+ *[0-9a-f]+: b8bf6800 ldrsw x0, \[x0, xzr\]
+ *[0-9a-f]+: b8a06800 ldrsw x0, \[x0, x0\]
+ *[0-9a-f]+: b8a07800 ldrsw x0, \[x0, x0, lsl #2\]
+ *[0-9a-f]+: b8a0e800 ldrsw x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: b8bfe800 ldrsw x0, \[x0, xzr, sxtx\]
+ *[0-9a-f]+: b8a0e800 ldrsw x0, \[x0, x0, sxtx\]
+ *[0-9a-f]+: b8a0f800 ldrsw x0, \[x0, x0, sxtx #2\]
diff --git a/gas/testsuite/gas/aarch64/ldst-extend-general.s b/gas/testsuite/gas/aarch64/ldst-extend-general.s
new file mode 100644
index 0000000..892d8c4
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/ldst-extend-general.s
@@ -0,0 +1,152 @@
+ strb w0, [x0, w0, uxtw]
+ strb wzr, [x0, w0, uxtw]
+ strb w0, [sp, w0, uxtw]
+ strb w0, [x0, wzr, uxtw]
+ strb w0, [x0, w0, uxtw #0]
+ strb w0, [x0, w0, sxtw]
+ strb w0, [x0, wzr, sxtw]
+ strb w0, [x0, w0, sxtw #0]
+ strb w0, [x0, x0]
+ strb w0, [x0, xzr]
+ strb w0, [x0, x0, lsl #0]
+ strb w0, [x0, x0, sxtx]
+ strb w0, [x0, xzr, sxtx]
+ strb w0, [x0, x0, sxtx #0]
+
+ ldrb w0, [x0, w0, uxtw]
+ ldrb wzr, [x0, w0, uxtw]
+ ldrb w0, [sp, w0, uxtw]
+ ldrb w0, [x0, wzr, uxtw]
+ ldrb w0, [x0, w0, uxtw #0]
+ ldrb w0, [x0, w0, sxtw]
+ ldrb w0, [x0, wzr, sxtw]
+ ldrb w0, [x0, w0, sxtw #0]
+ ldrb w0, [x0, x0]
+ ldrb w0, [x0, xzr]
+ ldrb w0, [x0, x0, lsl #0]
+ ldrb w0, [x0, x0, sxtx]
+ ldrb w0, [x0, xzr, sxtx]
+ ldrb w0, [x0, x0, sxtx #0]
+
+ ldrsb x0, [x0, w0, uxtw]
+ ldrsb xzr, [x0, w0, uxtw]
+ ldrsb x0, [sp, w0, uxtw]
+ ldrsb x0, [x0, wzr, uxtw]
+ ldrsb x0, [x0, w0, uxtw #0]
+ ldrsb x0, [x0, w0, sxtw]
+ ldrsb x0, [x0, wzr, sxtw]
+ ldrsb x0, [x0, w0, sxtw #0]
+ ldrsb x0, [x0, x0]
+ ldrsb x0, [x0, xzr]
+ ldrsb x0, [x0, x0, lsl #0]
+ ldrsb x0, [x0, x0, sxtx]
+ ldrsb x0, [x0, xzr, sxtx]
+ ldrsb x0, [x0, x0, sxtx #0]
+ ldrsb w0, [x0, w0, uxtw]
+ ldrsb wzr, [x0, w0, uxtw]
+ ldrsb w0, [sp, w0, uxtw]
+ ldrsb w0, [x0, wzr, uxtw]
+ ldrsb w0, [x0, w0, uxtw #0]
+ ldrsb w0, [x0, w0, sxtw]
+ ldrsb w0, [x0, wzr, sxtw]
+ ldrsb w0, [x0, w0, sxtw #0]
+ ldrsb w0, [x0, x0]
+ ldrsb w0, [x0, xzr]
+ ldrsb w0, [x0, x0, lsl #0]
+ ldrsb w0, [x0, x0, sxtx]
+ ldrsb w0, [x0, xzr, sxtx]
+ ldrsb w0, [x0, x0, sxtx #0]
+
+ strh w0, [x0, w0, uxtw]
+ strh wzr, [x0, w0, uxtw]
+ strh w0, [sp, w0, uxtw]
+ strh w0, [x0, wzr, uxtw]
+ strh w0, [x0, w0, uxtw #0]
+ strh w0, [x0, w0, uxtw #1]
+ strh w0, [x0, w0, sxtw]
+ strh w0, [x0, wzr, sxtw]
+ strh w0, [x0, w0, sxtw #0]
+ strh w0, [x0, w0, sxtw #1]
+ strh w0, [x0, x0]
+ strh w0, [x0, xzr]
+ strh w0, [x0, x0, lsl #0]
+ strh w0, [x0, x0, lsl #1]
+ strh w0, [x0, x0, sxtx]
+ strh w0, [x0, xzr, sxtx]
+ strh w0, [x0, x0, sxtx #0]
+ strh w0, [x0, x0, sxtx #1]
+
+ ldrh w0, [x0, w0, uxtw]
+ ldrh wzr, [x0, w0, uxtw]
+ ldrh w0, [sp, w0, uxtw]
+ ldrh w0, [x0, wzr, uxtw]
+ ldrh w0, [x0, w0, uxtw #0]
+ ldrh w0, [x0, w0, uxtw #1]
+ ldrh w0, [x0, w0, sxtw]
+ ldrh w0, [x0, wzr, sxtw]
+ ldrh w0, [x0, w0, sxtw #0]
+ ldrh w0, [x0, w0, sxtw #1]
+ ldrh w0, [x0, x0]
+ ldrh w0, [x0, xzr]
+ ldrh w0, [x0, x0, lsl #0]
+ ldrh w0, [x0, x0, lsl #1]
+ ldrh w0, [x0, x0, sxtx]
+ ldrh w0, [x0, xzr, sxtx]
+ ldrh w0, [x0, x0, sxtx #0]
+ ldrh w0, [x0, x0, sxtx #1]
+
+ ldrsh x0, [x0, w0, uxtw]
+ ldrsh xzr, [x0, w0, uxtw]
+ ldrsh x0, [sp, w0, uxtw]
+ ldrsh x0, [x0, wzr, uxtw]
+ ldrsh x0, [x0, w0, uxtw #0]
+ ldrsh x0, [x0, w0, uxtw #1]
+ ldrsh x0, [x0, w0, sxtw]
+ ldrsh x0, [x0, wzr, sxtw]
+ ldrsh x0, [x0, w0, sxtw #0]
+ ldrsh x0, [x0, w0, sxtw #1]
+ ldrsh x0, [x0, x0]
+ ldrsh x0, [x0, xzr]
+ ldrsh x0, [x0, x0, lsl #0]
+ ldrsh x0, [x0, x0, lsl #1]
+ ldrsh x0, [x0, x0, sxtx]
+ ldrsh x0, [x0, xzr, sxtx]
+ ldrsh x0, [x0, x0, sxtx #0]
+ ldrsh x0, [x0, x0, sxtx #1]
+ ldrsh w0, [x0, w0, uxtw]
+ ldrsh wzr, [x0, w0, uxtw]
+ ldrsh w0, [sp, w0, uxtw]
+ ldrsh w0, [x0, wzr, uxtw]
+ ldrsh w0, [x0, w0, uxtw #0]
+ ldrsh w0, [x0, w0, uxtw #1]
+ ldrsh w0, [x0, w0, sxtw]
+ ldrsh w0, [x0, wzr, sxtw]
+ ldrsh w0, [x0, w0, sxtw #0]
+ ldrsh w0, [x0, w0, sxtw #1]
+ ldrsh w0, [x0, x0]
+ ldrsh w0, [x0, xzr]
+ ldrsh w0, [x0, x0, lsl #0]
+ ldrsh w0, [x0, x0, lsl #1]
+ ldrsh w0, [x0, x0, sxtx]
+ ldrsh w0, [x0, xzr, sxtx]
+ ldrsh w0, [x0, x0, sxtx #0]
+ ldrsh w0, [x0, x0, sxtx #1]
+
+ ldrsw x0, [x0, w0, uxtw]
+ ldrsw xzr, [x0, w0, uxtw]
+ ldrsw x0, [sp, w0, uxtw]
+ ldrsw x0, [x0, wzr, uxtw]
+ ldrsw x0, [x0, w0, uxtw #0]
+ ldrsw x0, [x0, w0, uxtw #2]
+ ldrsw x0, [x0, w0, sxtw]
+ ldrsw x0, [x0, wzr, sxtw]
+ ldrsw x0, [x0, w0, sxtw #0]
+ ldrsw x0, [x0, w0, sxtw #2]
+ ldrsw x0, [x0, x0]
+ ldrsw x0, [x0, xzr]
+ ldrsw x0, [x0, x0, lsl #0]
+ ldrsw x0, [x0, x0, lsl #2]
+ ldrsw x0, [x0, x0, sxtx]
+ ldrsw x0, [x0, xzr, sxtx]
+ ldrsw x0, [x0, x0, sxtx #0]
+ ldrsw x0, [x0, x0, sxtx #2]
diff --git a/gas/testsuite/gas/aarch64/ldst-unpriv.d b/gas/testsuite/gas/aarch64/ldst-unpriv.d
new file mode 100644
index 0000000..9c33678
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/ldst-unpriv.d
@@ -0,0 +1,61 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 38000800 sttrb w0, \[x0\]
+ *[0-9a-f]+: 3800081f sttrb wzr, \[x0\]
+ *[0-9a-f]+: 38000be0 sttrb w0, \[sp\]
+ *[0-9a-f]+: 381ff800 sttrb w0, \[x0, #-1\]
+ *[0-9a-f]+: 38400800 ldtrb w0, \[x0\]
+ *[0-9a-f]+: 3840081f ldtrb wzr, \[x0\]
+ *[0-9a-f]+: 38400be0 ldtrb w0, \[sp\]
+ *[0-9a-f]+: 385ff800 ldtrb w0, \[x0, #-1\]
+ *[0-9a-f]+: 38800800 ldtrsb x0, \[x0\]
+ *[0-9a-f]+: 3880081f ldtrsb xzr, \[x0\]
+ *[0-9a-f]+: 38800be0 ldtrsb x0, \[sp\]
+ *[0-9a-f]+: 389ff800 ldtrsb x0, \[x0, #-1\]
+ *[0-9a-f]+: 38c00800 ldtrsb w0, \[x0\]
+ *[0-9a-f]+: 38c0081f ldtrsb wzr, \[x0\]
+ *[0-9a-f]+: 38c00be0 ldtrsb w0, \[sp\]
+ *[0-9a-f]+: 38dff800 ldtrsb w0, \[x0, #-1\]
+ *[0-9a-f]+: 78000800 sttrh w0, \[x0\]
+ *[0-9a-f]+: 7800081f sttrh wzr, \[x0\]
+ *[0-9a-f]+: 78000be0 sttrh w0, \[sp\]
+ *[0-9a-f]+: 781ff800 sttrh w0, \[x0, #-1\]
+ *[0-9a-f]+: 78400800 ldtrh w0, \[x0\]
+ *[0-9a-f]+: 7840081f ldtrh wzr, \[x0\]
+ *[0-9a-f]+: 78400be0 ldtrh w0, \[sp\]
+ *[0-9a-f]+: 785ff800 ldtrh w0, \[x0, #-1\]
+ *[0-9a-f]+: 78800800 ldtrsh x0, \[x0\]
+ *[0-9a-f]+: 7880081f ldtrsh xzr, \[x0\]
+ *[0-9a-f]+: 78800be0 ldtrsh x0, \[sp\]
+ *[0-9a-f]+: 789ff800 ldtrsh x0, \[x0, #-1\]
+ *[0-9a-f]+: 78c00800 ldtrsh w0, \[x0\]
+ *[0-9a-f]+: 78c0081f ldtrsh wzr, \[x0\]
+ *[0-9a-f]+: 78c00be0 ldtrsh w0, \[sp\]
+ *[0-9a-f]+: 78dff800 ldtrsh w0, \[x0, #-1\]
+ *[0-9a-f]+: b8000800 sttr w0, \[x0\]
+ *[0-9a-f]+: b800081f sttr wzr, \[x0\]
+ *[0-9a-f]+: b8000be0 sttr w0, \[sp\]
+ *[0-9a-f]+: b81ff800 sttr w0, \[x0, #-1\]
+ *[0-9a-f]+: b8400800 ldtr w0, \[x0\]
+ *[0-9a-f]+: b840081f ldtr wzr, \[x0\]
+ *[0-9a-f]+: b8400be0 ldtr w0, \[sp\]
+ *[0-9a-f]+: b85ff800 ldtr w0, \[x0, #-1\]
+ *[0-9a-f]+: b8800800 ldtrsw x0, \[x0\]
+ *[0-9a-f]+: b880081f ldtrsw xzr, \[x0\]
+ *[0-9a-f]+: b8800be0 ldtrsw x0, \[sp\]
+ *[0-9a-f]+: b89ff800 ldtrsw x0, \[x0, #-1\]
+ *[0-9a-f]+: f8000800 sttr x0, \[x0\]
+ *[0-9a-f]+: f800081f sttr xzr, \[x0\]
+ *[0-9a-f]+: f8000be0 sttr x0, \[sp\]
+ *[0-9a-f]+: f81ff800 sttr x0, \[x0, #-1\]
+ *[0-9a-f]+: f8400800 ldtr x0, \[x0\]
+ *[0-9a-f]+: f840081f ldtr xzr, \[x0\]
+ *[0-9a-f]+: f8400be0 ldtr x0, \[sp\]
+ *[0-9a-f]+: f85ff800 ldtr x0, \[x0, #-1\]
diff --git a/gas/testsuite/gas/aarch64/ldst-unpriv.s b/gas/testsuite/gas/aarch64/ldst-unpriv.s
new file mode 100644
index 0000000..52f6461
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/ldst-unpriv.s
@@ -0,0 +1,64 @@
+ sttrb w0, [x0]
+ sttrb wzr, [x0, #0]
+ sttrb w0, [sp]
+ sttrb w0, [x0, #-1]
+
+ ldtrb w0, [x0]
+ ldtrb wzr, [x0, #0]
+ ldtrb w0, [sp]
+ ldtrb w0, [x0, #-1]
+
+ ldtrsb x0, [x0]
+ ldtrsb xzr, [x0, #0]
+ ldtrsb x0, [sp]
+ ldtrsb x0, [x0, #-1]
+
+ ldtrsb w0, [x0]
+ ldtrsb wzr, [x0, #0]
+ ldtrsb w0, [sp]
+ ldtrsb w0, [x0, #-1]
+
+ sttrh w0, [x0]
+ sttrh wzr, [x0, #0]
+ sttrh w0, [sp]
+ sttrh w0, [x0, #-1]
+
+ ldtrh w0, [x0]
+ ldtrh wzr, [x0, #0]
+ ldtrh w0, [sp]
+ ldtrh w0, [x0, #-1]
+
+ ldtrsh x0, [x0]
+ ldtrsh xzr, [x0, #0]
+ ldtrsh x0, [sp]
+ ldtrsh x0, [x0, #-1]
+
+ ldtrsh w0, [x0]
+ ldtrsh wzr, [x0, #0]
+ ldtrsh w0, [sp]
+ ldtrsh w0, [x0, #-1]
+
+ sttr w0, [x0]
+ sttr wzr, [x0, #0]
+ sttr w0, [sp]
+ sttr w0, [x0, #-1]
+
+ ldtr w0, [x0]
+ ldtr wzr, [x0, #0]
+ ldtr w0, [sp]
+ ldtr w0, [x0, #-1]
+
+ ldtrsw x0, [x0]
+ ldtrsw xzr, [x0, #0]
+ ldtrsw x0, [sp]
+ ldtrsw x0, [x0, #-1]
+
+ sttr x0, [x0]
+ sttr xzr, [x0, #0]
+ sttr x0, [sp]
+ sttr x0, [x0, #-1]
+
+ ldtr x0, [x0]
+ ldtr xzr, [x0, #0]
+ ldtr x0, [sp]
+ ldtr x0, [x0, #-1]
diff --git a/gas/testsuite/gas/aarch64/lsfe-bad.d b/gas/testsuite/gas/aarch64/lsfe-bad.d
new file mode 100644
index 0000000..d2bf4a8
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsfe-bad.d
@@ -0,0 +1,4 @@
+#name: Bad FEAT_LSFE instructions
+#source: lsfe-bad.s
+#as: -march=armv8-a+lsfe
+#error_output: lsfe-bad.l
diff --git a/gas/testsuite/gas/aarch64/lsfe-bad.l b/gas/testsuite/gas/aarch64/lsfe-bad.l
new file mode 100644
index 0000000..b6937be
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsfe-bad.l
@@ -0,0 +1,17 @@
+
+.*: Assembler messages:
+.*: Error: operand mismatch -- `ldfadd h0,s1,\[x2\]'
+.*: Info: did you mean this\?
+.*: Info: ldfadd h0, h1, \[x2\]
+.*: Info: other valid variant\(s\):
+.*: Info: ldfadd s0, s1, \[x2\]
+.*: Info: ldfadd d0, d1, \[x2\]
+.*: Error: operand mismatch -- `ldbfadd s0,s1,\[x2\]'
+.*: Info: did you mean this\?
+.*: Info: ldbfadd h0, h1, \[x2\]
+.*: Error: expected a scalar SIMD or floating-point register at operand 1 -- `stfmax w0,w1,\[x2\]'
+.*: Error: unknown mnemonic `stfmaxa' -- `stfmaxa s0,s1,\[x2\]'
+.*: Error: unknown mnemonic `stfmaxal' -- `stfmaxal s0,s1,\[x2\]'
+.*: Error: operand mismatch -- `stbfmin s0,\[x2\]'
+.*: Info: did you mean this\?
+.*: Info: stbfmin h0, \[x2\]
diff --git a/gas/testsuite/gas/aarch64/lsfe-bad.s b/gas/testsuite/gas/aarch64/lsfe-bad.s
new file mode 100644
index 0000000..2b4b111
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsfe-bad.s
@@ -0,0 +1,6 @@
+ ldfadd h0, s1, [x2]
+ ldbfadd s0, s1, [x2]
+ stfmax w0, w1, [x2]
+ stfmaxa s0, s1, [x2]
+ stfmaxal s0, s1, [x2]
+ stbfmin s0, [x2]
diff --git a/gas/testsuite/gas/aarch64/lsfe.d b/gas/testsuite/gas/aarch64/lsfe.d
new file mode 100644
index 0000000..4a3ba97
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsfe.d
@@ -0,0 +1,815 @@
+#name: FEAT_LSFE instructions
+#as: -march=armv8-a+lsfe
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+.* <ldf>:
+.*: 7c200000 ldfadd h0, h0, \[x0\]
+.*: 7c2003e0 ldfadd h0, h0, \[sp\]
+.*: 7c20001f ldfadd h0, h31, \[x0\]
+.*: 7c2003ff ldfadd h0, h31, \[sp\]
+.*: 7c3f0000 ldfadd h31, h0, \[x0\]
+.*: 7c3f03e0 ldfadd h31, h0, \[sp\]
+.*: 7c3f001f ldfadd h31, h31, \[x0\]
+.*: 7c3f03ff ldfadd h31, h31, \[sp\]
+.*: bc200000 ldfadd s0, s0, \[x0\]
+.*: bc2003e0 ldfadd s0, s0, \[sp\]
+.*: bc20001f ldfadd s0, s31, \[x0\]
+.*: bc2003ff ldfadd s0, s31, \[sp\]
+.*: bc3f0000 ldfadd s31, s0, \[x0\]
+.*: bc3f03e0 ldfadd s31, s0, \[sp\]
+.*: bc3f001f ldfadd s31, s31, \[x0\]
+.*: bc3f03ff ldfadd s31, s31, \[sp\]
+.*: fc200000 ldfadd d0, d0, \[x0\]
+.*: fc2003e0 ldfadd d0, d0, \[sp\]
+.*: fc20001f ldfadd d0, d31, \[x0\]
+.*: fc2003ff ldfadd d0, d31, \[sp\]
+.*: fc3f0000 ldfadd d31, d0, \[x0\]
+.*: fc3f03e0 ldfadd d31, d0, \[sp\]
+.*: fc3f001f ldfadd d31, d31, \[x0\]
+.*: fc3f03ff ldfadd d31, d31, \[sp\]
+.*: 7ca00000 ldfadda h0, h0, \[x0\]
+.*: 7ca003e0 ldfadda h0, h0, \[sp\]
+.*: 7ca0001f ldfadda h0, h31, \[x0\]
+.*: 7ca003ff ldfadda h0, h31, \[sp\]
+.*: 7cbf0000 ldfadda h31, h0, \[x0\]
+.*: 7cbf03e0 ldfadda h31, h0, \[sp\]
+.*: 7cbf001f ldfadda h31, h31, \[x0\]
+.*: 7cbf03ff ldfadda h31, h31, \[sp\]
+.*: bca00000 ldfadda s0, s0, \[x0\]
+.*: bca003e0 ldfadda s0, s0, \[sp\]
+.*: bca0001f ldfadda s0, s31, \[x0\]
+.*: bca003ff ldfadda s0, s31, \[sp\]
+.*: bcbf0000 ldfadda s31, s0, \[x0\]
+.*: bcbf03e0 ldfadda s31, s0, \[sp\]
+.*: bcbf001f ldfadda s31, s31, \[x0\]
+.*: bcbf03ff ldfadda s31, s31, \[sp\]
+.*: fca00000 ldfadda d0, d0, \[x0\]
+.*: fca003e0 ldfadda d0, d0, \[sp\]
+.*: fca0001f ldfadda d0, d31, \[x0\]
+.*: fca003ff ldfadda d0, d31, \[sp\]
+.*: fcbf0000 ldfadda d31, d0, \[x0\]
+.*: fcbf03e0 ldfadda d31, d0, \[sp\]
+.*: fcbf001f ldfadda d31, d31, \[x0\]
+.*: fcbf03ff ldfadda d31, d31, \[sp\]
+.*: 7ce00000 ldfaddal h0, h0, \[x0\]
+.*: 7ce003e0 ldfaddal h0, h0, \[sp\]
+.*: 7ce0001f ldfaddal h0, h31, \[x0\]
+.*: 7ce003ff ldfaddal h0, h31, \[sp\]
+.*: 7cff0000 ldfaddal h31, h0, \[x0\]
+.*: 7cff03e0 ldfaddal h31, h0, \[sp\]
+.*: 7cff001f ldfaddal h31, h31, \[x0\]
+.*: 7cff03ff ldfaddal h31, h31, \[sp\]
+.*: bce00000 ldfaddal s0, s0, \[x0\]
+.*: bce003e0 ldfaddal s0, s0, \[sp\]
+.*: bce0001f ldfaddal s0, s31, \[x0\]
+.*: bce003ff ldfaddal s0, s31, \[sp\]
+.*: bcff0000 ldfaddal s31, s0, \[x0\]
+.*: bcff03e0 ldfaddal s31, s0, \[sp\]
+.*: bcff001f ldfaddal s31, s31, \[x0\]
+.*: bcff03ff ldfaddal s31, s31, \[sp\]
+.*: fce00000 ldfaddal d0, d0, \[x0\]
+.*: fce003e0 ldfaddal d0, d0, \[sp\]
+.*: fce0001f ldfaddal d0, d31, \[x0\]
+.*: fce003ff ldfaddal d0, d31, \[sp\]
+.*: fcff0000 ldfaddal d31, d0, \[x0\]
+.*: fcff03e0 ldfaddal d31, d0, \[sp\]
+.*: fcff001f ldfaddal d31, d31, \[x0\]
+.*: fcff03ff ldfaddal d31, d31, \[sp\]
+.*: 7c600000 ldfaddl h0, h0, \[x0\]
+.*: 7c6003e0 ldfaddl h0, h0, \[sp\]
+.*: 7c60001f ldfaddl h0, h31, \[x0\]
+.*: 7c6003ff ldfaddl h0, h31, \[sp\]
+.*: 7c7f0000 ldfaddl h31, h0, \[x0\]
+.*: 7c7f03e0 ldfaddl h31, h0, \[sp\]
+.*: 7c7f001f ldfaddl h31, h31, \[x0\]
+.*: 7c7f03ff ldfaddl h31, h31, \[sp\]
+.*: bc600000 ldfaddl s0, s0, \[x0\]
+.*: bc6003e0 ldfaddl s0, s0, \[sp\]
+.*: bc60001f ldfaddl s0, s31, \[x0\]
+.*: bc6003ff ldfaddl s0, s31, \[sp\]
+.*: bc7f0000 ldfaddl s31, s0, \[x0\]
+.*: bc7f03e0 ldfaddl s31, s0, \[sp\]
+.*: bc7f001f ldfaddl s31, s31, \[x0\]
+.*: bc7f03ff ldfaddl s31, s31, \[sp\]
+.*: fc600000 ldfaddl d0, d0, \[x0\]
+.*: fc6003e0 ldfaddl d0, d0, \[sp\]
+.*: fc60001f ldfaddl d0, d31, \[x0\]
+.*: fc6003ff ldfaddl d0, d31, \[sp\]
+.*: fc7f0000 ldfaddl d31, d0, \[x0\]
+.*: fc7f03e0 ldfaddl d31, d0, \[sp\]
+.*: fc7f001f ldfaddl d31, d31, \[x0\]
+.*: fc7f03ff ldfaddl d31, d31, \[sp\]
+.*: 7c204000 ldfmax h0, h0, \[x0\]
+.*: 7c2043e0 ldfmax h0, h0, \[sp\]
+.*: 7c20401f ldfmax h0, h31, \[x0\]
+.*: 7c2043ff ldfmax h0, h31, \[sp\]
+.*: 7c3f4000 ldfmax h31, h0, \[x0\]
+.*: 7c3f43e0 ldfmax h31, h0, \[sp\]
+.*: 7c3f401f ldfmax h31, h31, \[x0\]
+.*: 7c3f43ff ldfmax h31, h31, \[sp\]
+.*: bc204000 ldfmax s0, s0, \[x0\]
+.*: bc2043e0 ldfmax s0, s0, \[sp\]
+.*: bc20401f ldfmax s0, s31, \[x0\]
+.*: bc2043ff ldfmax s0, s31, \[sp\]
+.*: bc3f4000 ldfmax s31, s0, \[x0\]
+.*: bc3f43e0 ldfmax s31, s0, \[sp\]
+.*: bc3f401f ldfmax s31, s31, \[x0\]
+.*: bc3f43ff ldfmax s31, s31, \[sp\]
+.*: fc204000 ldfmax d0, d0, \[x0\]
+.*: fc2043e0 ldfmax d0, d0, \[sp\]
+.*: fc20401f ldfmax d0, d31, \[x0\]
+.*: fc2043ff ldfmax d0, d31, \[sp\]
+.*: fc3f4000 ldfmax d31, d0, \[x0\]
+.*: fc3f43e0 ldfmax d31, d0, \[sp\]
+.*: fc3f401f ldfmax d31, d31, \[x0\]
+.*: fc3f43ff ldfmax d31, d31, \[sp\]
+.*: 7ca04000 ldfmaxa h0, h0, \[x0\]
+.*: 7ca043e0 ldfmaxa h0, h0, \[sp\]
+.*: 7ca0401f ldfmaxa h0, h31, \[x0\]
+.*: 7ca043ff ldfmaxa h0, h31, \[sp\]
+.*: 7cbf4000 ldfmaxa h31, h0, \[x0\]
+.*: 7cbf43e0 ldfmaxa h31, h0, \[sp\]
+.*: 7cbf401f ldfmaxa h31, h31, \[x0\]
+.*: 7cbf43ff ldfmaxa h31, h31, \[sp\]
+.*: bca04000 ldfmaxa s0, s0, \[x0\]
+.*: bca043e0 ldfmaxa s0, s0, \[sp\]
+.*: bca0401f ldfmaxa s0, s31, \[x0\]
+.*: bca043ff ldfmaxa s0, s31, \[sp\]
+.*: bcbf4000 ldfmaxa s31, s0, \[x0\]
+.*: bcbf43e0 ldfmaxa s31, s0, \[sp\]
+.*: bcbf401f ldfmaxa s31, s31, \[x0\]
+.*: bcbf43ff ldfmaxa s31, s31, \[sp\]
+.*: fca04000 ldfmaxa d0, d0, \[x0\]
+.*: fca043e0 ldfmaxa d0, d0, \[sp\]
+.*: fca0401f ldfmaxa d0, d31, \[x0\]
+.*: fca043ff ldfmaxa d0, d31, \[sp\]
+.*: fcbf4000 ldfmaxa d31, d0, \[x0\]
+.*: fcbf43e0 ldfmaxa d31, d0, \[sp\]
+.*: fcbf401f ldfmaxa d31, d31, \[x0\]
+.*: fcbf43ff ldfmaxa d31, d31, \[sp\]
+.*: 7ce04000 ldfmaxal h0, h0, \[x0\]
+.*: 7ce043e0 ldfmaxal h0, h0, \[sp\]
+.*: 7ce0401f ldfmaxal h0, h31, \[x0\]
+.*: 7ce043ff ldfmaxal h0, h31, \[sp\]
+.*: 7cff4000 ldfmaxal h31, h0, \[x0\]
+.*: 7cff43e0 ldfmaxal h31, h0, \[sp\]
+.*: 7cff401f ldfmaxal h31, h31, \[x0\]
+.*: 7cff43ff ldfmaxal h31, h31, \[sp\]
+.*: bce04000 ldfmaxal s0, s0, \[x0\]
+.*: bce043e0 ldfmaxal s0, s0, \[sp\]
+.*: bce0401f ldfmaxal s0, s31, \[x0\]
+.*: bce043ff ldfmaxal s0, s31, \[sp\]
+.*: bcff4000 ldfmaxal s31, s0, \[x0\]
+.*: bcff43e0 ldfmaxal s31, s0, \[sp\]
+.*: bcff401f ldfmaxal s31, s31, \[x0\]
+.*: bcff43ff ldfmaxal s31, s31, \[sp\]
+.*: fce04000 ldfmaxal d0, d0, \[x0\]
+.*: fce043e0 ldfmaxal d0, d0, \[sp\]
+.*: fce0401f ldfmaxal d0, d31, \[x0\]
+.*: fce043ff ldfmaxal d0, d31, \[sp\]
+.*: fcff4000 ldfmaxal d31, d0, \[x0\]
+.*: fcff43e0 ldfmaxal d31, d0, \[sp\]
+.*: fcff401f ldfmaxal d31, d31, \[x0\]
+.*: fcff43ff ldfmaxal d31, d31, \[sp\]
+.*: 7c604000 ldfmaxl h0, h0, \[x0\]
+.*: 7c6043e0 ldfmaxl h0, h0, \[sp\]
+.*: 7c60401f ldfmaxl h0, h31, \[x0\]
+.*: 7c6043ff ldfmaxl h0, h31, \[sp\]
+.*: 7c7f4000 ldfmaxl h31, h0, \[x0\]
+.*: 7c7f43e0 ldfmaxl h31, h0, \[sp\]
+.*: 7c7f401f ldfmaxl h31, h31, \[x0\]
+.*: 7c7f43ff ldfmaxl h31, h31, \[sp\]
+.*: bc604000 ldfmaxl s0, s0, \[x0\]
+.*: bc6043e0 ldfmaxl s0, s0, \[sp\]
+.*: bc60401f ldfmaxl s0, s31, \[x0\]
+.*: bc6043ff ldfmaxl s0, s31, \[sp\]
+.*: bc7f4000 ldfmaxl s31, s0, \[x0\]
+.*: bc7f43e0 ldfmaxl s31, s0, \[sp\]
+.*: bc7f401f ldfmaxl s31, s31, \[x0\]
+.*: bc7f43ff ldfmaxl s31, s31, \[sp\]
+.*: fc604000 ldfmaxl d0, d0, \[x0\]
+.*: fc6043e0 ldfmaxl d0, d0, \[sp\]
+.*: fc60401f ldfmaxl d0, d31, \[x0\]
+.*: fc6043ff ldfmaxl d0, d31, \[sp\]
+.*: fc7f4000 ldfmaxl d31, d0, \[x0\]
+.*: fc7f43e0 ldfmaxl d31, d0, \[sp\]
+.*: fc7f401f ldfmaxl d31, d31, \[x0\]
+.*: fc7f43ff ldfmaxl d31, d31, \[sp\]
+.*: 7c206000 ldfmaxnm h0, h0, \[x0\]
+.*: 7c2063e0 ldfmaxnm h0, h0, \[sp\]
+.*: 7c20601f ldfmaxnm h0, h31, \[x0\]
+.*: 7c2063ff ldfmaxnm h0, h31, \[sp\]
+.*: 7c3f6000 ldfmaxnm h31, h0, \[x0\]
+.*: 7c3f63e0 ldfmaxnm h31, h0, \[sp\]
+.*: 7c3f601f ldfmaxnm h31, h31, \[x0\]
+.*: 7c3f63ff ldfmaxnm h31, h31, \[sp\]
+.*: bc206000 ldfmaxnm s0, s0, \[x0\]
+.*: bc2063e0 ldfmaxnm s0, s0, \[sp\]
+.*: bc20601f ldfmaxnm s0, s31, \[x0\]
+.*: bc2063ff ldfmaxnm s0, s31, \[sp\]
+.*: bc3f6000 ldfmaxnm s31, s0, \[x0\]
+.*: bc3f63e0 ldfmaxnm s31, s0, \[sp\]
+.*: bc3f601f ldfmaxnm s31, s31, \[x0\]
+.*: bc3f63ff ldfmaxnm s31, s31, \[sp\]
+.*: fc206000 ldfmaxnm d0, d0, \[x0\]
+.*: fc2063e0 ldfmaxnm d0, d0, \[sp\]
+.*: fc20601f ldfmaxnm d0, d31, \[x0\]
+.*: fc2063ff ldfmaxnm d0, d31, \[sp\]
+.*: fc3f6000 ldfmaxnm d31, d0, \[x0\]
+.*: fc3f63e0 ldfmaxnm d31, d0, \[sp\]
+.*: fc3f601f ldfmaxnm d31, d31, \[x0\]
+.*: fc3f63ff ldfmaxnm d31, d31, \[sp\]
+.*: 7ca06000 ldfmaxnma h0, h0, \[x0\]
+.*: 7ca063e0 ldfmaxnma h0, h0, \[sp\]
+.*: 7ca0601f ldfmaxnma h0, h31, \[x0\]
+.*: 7ca063ff ldfmaxnma h0, h31, \[sp\]
+.*: 7cbf6000 ldfmaxnma h31, h0, \[x0\]
+.*: 7cbf63e0 ldfmaxnma h31, h0, \[sp\]
+.*: 7cbf601f ldfmaxnma h31, h31, \[x0\]
+.*: 7cbf63ff ldfmaxnma h31, h31, \[sp\]
+.*: bca06000 ldfmaxnma s0, s0, \[x0\]
+.*: bca063e0 ldfmaxnma s0, s0, \[sp\]
+.*: bca0601f ldfmaxnma s0, s31, \[x0\]
+.*: bca063ff ldfmaxnma s0, s31, \[sp\]
+.*: bcbf6000 ldfmaxnma s31, s0, \[x0\]
+.*: bcbf63e0 ldfmaxnma s31, s0, \[sp\]
+.*: bcbf601f ldfmaxnma s31, s31, \[x0\]
+.*: bcbf63ff ldfmaxnma s31, s31, \[sp\]
+.*: fca06000 ldfmaxnma d0, d0, \[x0\]
+.*: fca063e0 ldfmaxnma d0, d0, \[sp\]
+.*: fca0601f ldfmaxnma d0, d31, \[x0\]
+.*: fca063ff ldfmaxnma d0, d31, \[sp\]
+.*: fcbf6000 ldfmaxnma d31, d0, \[x0\]
+.*: fcbf63e0 ldfmaxnma d31, d0, \[sp\]
+.*: fcbf601f ldfmaxnma d31, d31, \[x0\]
+.*: fcbf63ff ldfmaxnma d31, d31, \[sp\]
+.*: 7ce06000 ldfmaxnmal h0, h0, \[x0\]
+.*: 7ce063e0 ldfmaxnmal h0, h0, \[sp\]
+.*: 7ce0601f ldfmaxnmal h0, h31, \[x0\]
+.*: 7ce063ff ldfmaxnmal h0, h31, \[sp\]
+.*: 7cff6000 ldfmaxnmal h31, h0, \[x0\]
+.*: 7cff63e0 ldfmaxnmal h31, h0, \[sp\]
+.*: 7cff601f ldfmaxnmal h31, h31, \[x0\]
+.*: 7cff63ff ldfmaxnmal h31, h31, \[sp\]
+.*: bce06000 ldfmaxnmal s0, s0, \[x0\]
+.*: bce063e0 ldfmaxnmal s0, s0, \[sp\]
+.*: bce0601f ldfmaxnmal s0, s31, \[x0\]
+.*: bce063ff ldfmaxnmal s0, s31, \[sp\]
+.*: bcff6000 ldfmaxnmal s31, s0, \[x0\]
+.*: bcff63e0 ldfmaxnmal s31, s0, \[sp\]
+.*: bcff601f ldfmaxnmal s31, s31, \[x0\]
+.*: bcff63ff ldfmaxnmal s31, s31, \[sp\]
+.*: fce06000 ldfmaxnmal d0, d0, \[x0\]
+.*: fce063e0 ldfmaxnmal d0, d0, \[sp\]
+.*: fce0601f ldfmaxnmal d0, d31, \[x0\]
+.*: fce063ff ldfmaxnmal d0, d31, \[sp\]
+.*: fcff6000 ldfmaxnmal d31, d0, \[x0\]
+.*: fcff63e0 ldfmaxnmal d31, d0, \[sp\]
+.*: fcff601f ldfmaxnmal d31, d31, \[x0\]
+.*: fcff63ff ldfmaxnmal d31, d31, \[sp\]
+.*: 7c606000 ldfmaxnml h0, h0, \[x0\]
+.*: 7c6063e0 ldfmaxnml h0, h0, \[sp\]
+.*: 7c60601f ldfmaxnml h0, h31, \[x0\]
+.*: 7c6063ff ldfmaxnml h0, h31, \[sp\]
+.*: 7c7f6000 ldfmaxnml h31, h0, \[x0\]
+.*: 7c7f63e0 ldfmaxnml h31, h0, \[sp\]
+.*: 7c7f601f ldfmaxnml h31, h31, \[x0\]
+.*: 7c7f63ff ldfmaxnml h31, h31, \[sp\]
+.*: bc606000 ldfmaxnml s0, s0, \[x0\]
+.*: bc6063e0 ldfmaxnml s0, s0, \[sp\]
+.*: bc60601f ldfmaxnml s0, s31, \[x0\]
+.*: bc6063ff ldfmaxnml s0, s31, \[sp\]
+.*: bc7f6000 ldfmaxnml s31, s0, \[x0\]
+.*: bc7f63e0 ldfmaxnml s31, s0, \[sp\]
+.*: bc7f601f ldfmaxnml s31, s31, \[x0\]
+.*: bc7f63ff ldfmaxnml s31, s31, \[sp\]
+.*: fc606000 ldfmaxnml d0, d0, \[x0\]
+.*: fc6063e0 ldfmaxnml d0, d0, \[sp\]
+.*: fc60601f ldfmaxnml d0, d31, \[x0\]
+.*: fc6063ff ldfmaxnml d0, d31, \[sp\]
+.*: fc7f6000 ldfmaxnml d31, d0, \[x0\]
+.*: fc7f63e0 ldfmaxnml d31, d0, \[sp\]
+.*: fc7f601f ldfmaxnml d31, d31, \[x0\]
+.*: fc7f63ff ldfmaxnml d31, d31, \[sp\]
+.*: 7c205000 ldfmin h0, h0, \[x0\]
+.*: 7c2053e0 ldfmin h0, h0, \[sp\]
+.*: 7c20501f ldfmin h0, h31, \[x0\]
+.*: 7c2053ff ldfmin h0, h31, \[sp\]
+.*: 7c3f5000 ldfmin h31, h0, \[x0\]
+.*: 7c3f53e0 ldfmin h31, h0, \[sp\]
+.*: 7c3f501f ldfmin h31, h31, \[x0\]
+.*: 7c3f53ff ldfmin h31, h31, \[sp\]
+.*: bc205000 ldfmin s0, s0, \[x0\]
+.*: bc2053e0 ldfmin s0, s0, \[sp\]
+.*: bc20501f ldfmin s0, s31, \[x0\]
+.*: bc2053ff ldfmin s0, s31, \[sp\]
+.*: bc3f5000 ldfmin s31, s0, \[x0\]
+.*: bc3f53e0 ldfmin s31, s0, \[sp\]
+.*: bc3f501f ldfmin s31, s31, \[x0\]
+.*: bc3f53ff ldfmin s31, s31, \[sp\]
+.*: fc205000 ldfmin d0, d0, \[x0\]
+.*: fc2053e0 ldfmin d0, d0, \[sp\]
+.*: fc20501f ldfmin d0, d31, \[x0\]
+.*: fc2053ff ldfmin d0, d31, \[sp\]
+.*: fc3f5000 ldfmin d31, d0, \[x0\]
+.*: fc3f53e0 ldfmin d31, d0, \[sp\]
+.*: fc3f501f ldfmin d31, d31, \[x0\]
+.*: fc3f53ff ldfmin d31, d31, \[sp\]
+.*: 7ca05000 ldfmina h0, h0, \[x0\]
+.*: 7ca053e0 ldfmina h0, h0, \[sp\]
+.*: 7ca0501f ldfmina h0, h31, \[x0\]
+.*: 7ca053ff ldfmina h0, h31, \[sp\]
+.*: 7cbf5000 ldfmina h31, h0, \[x0\]
+.*: 7cbf53e0 ldfmina h31, h0, \[sp\]
+.*: 7cbf501f ldfmina h31, h31, \[x0\]
+.*: 7cbf53ff ldfmina h31, h31, \[sp\]
+.*: bca05000 ldfmina s0, s0, \[x0\]
+.*: bca053e0 ldfmina s0, s0, \[sp\]
+.*: bca0501f ldfmina s0, s31, \[x0\]
+.*: bca053ff ldfmina s0, s31, \[sp\]
+.*: bcbf5000 ldfmina s31, s0, \[x0\]
+.*: bcbf53e0 ldfmina s31, s0, \[sp\]
+.*: bcbf501f ldfmina s31, s31, \[x0\]
+.*: bcbf53ff ldfmina s31, s31, \[sp\]
+.*: fca05000 ldfmina d0, d0, \[x0\]
+.*: fca053e0 ldfmina d0, d0, \[sp\]
+.*: fca0501f ldfmina d0, d31, \[x0\]
+.*: fca053ff ldfmina d0, d31, \[sp\]
+.*: fcbf5000 ldfmina d31, d0, \[x0\]
+.*: fcbf53e0 ldfmina d31, d0, \[sp\]
+.*: fcbf501f ldfmina d31, d31, \[x0\]
+.*: fcbf53ff ldfmina d31, d31, \[sp\]
+.*: 7ce05000 ldfminal h0, h0, \[x0\]
+.*: 7ce053e0 ldfminal h0, h0, \[sp\]
+.*: 7ce0501f ldfminal h0, h31, \[x0\]
+.*: 7ce053ff ldfminal h0, h31, \[sp\]
+.*: 7cff5000 ldfminal h31, h0, \[x0\]
+.*: 7cff53e0 ldfminal h31, h0, \[sp\]
+.*: 7cff501f ldfminal h31, h31, \[x0\]
+.*: 7cff53ff ldfminal h31, h31, \[sp\]
+.*: bce05000 ldfminal s0, s0, \[x0\]
+.*: bce053e0 ldfminal s0, s0, \[sp\]
+.*: bce0501f ldfminal s0, s31, \[x0\]
+.*: bce053ff ldfminal s0, s31, \[sp\]
+.*: bcff5000 ldfminal s31, s0, \[x0\]
+.*: bcff53e0 ldfminal s31, s0, \[sp\]
+.*: bcff501f ldfminal s31, s31, \[x0\]
+.*: bcff53ff ldfminal s31, s31, \[sp\]
+.*: fce05000 ldfminal d0, d0, \[x0\]
+.*: fce053e0 ldfminal d0, d0, \[sp\]
+.*: fce0501f ldfminal d0, d31, \[x0\]
+.*: fce053ff ldfminal d0, d31, \[sp\]
+.*: fcff5000 ldfminal d31, d0, \[x0\]
+.*: fcff53e0 ldfminal d31, d0, \[sp\]
+.*: fcff501f ldfminal d31, d31, \[x0\]
+.*: fcff53ff ldfminal d31, d31, \[sp\]
+.*: 7c605000 ldfminl h0, h0, \[x0\]
+.*: 7c6053e0 ldfminl h0, h0, \[sp\]
+.*: 7c60501f ldfminl h0, h31, \[x0\]
+.*: 7c6053ff ldfminl h0, h31, \[sp\]
+.*: 7c7f5000 ldfminl h31, h0, \[x0\]
+.*: 7c7f53e0 ldfminl h31, h0, \[sp\]
+.*: 7c7f501f ldfminl h31, h31, \[x0\]
+.*: 7c7f53ff ldfminl h31, h31, \[sp\]
+.*: bc605000 ldfminl s0, s0, \[x0\]
+.*: bc6053e0 ldfminl s0, s0, \[sp\]
+.*: bc60501f ldfminl s0, s31, \[x0\]
+.*: bc6053ff ldfminl s0, s31, \[sp\]
+.*: bc7f5000 ldfminl s31, s0, \[x0\]
+.*: bc7f53e0 ldfminl s31, s0, \[sp\]
+.*: bc7f501f ldfminl s31, s31, \[x0\]
+.*: bc7f53ff ldfminl s31, s31, \[sp\]
+.*: fc605000 ldfminl d0, d0, \[x0\]
+.*: fc6053e0 ldfminl d0, d0, \[sp\]
+.*: fc60501f ldfminl d0, d31, \[x0\]
+.*: fc6053ff ldfminl d0, d31, \[sp\]
+.*: fc7f5000 ldfminl d31, d0, \[x0\]
+.*: fc7f53e0 ldfminl d31, d0, \[sp\]
+.*: fc7f501f ldfminl d31, d31, \[x0\]
+.*: fc7f53ff ldfminl d31, d31, \[sp\]
+.*: 7c207000 ldfminnm h0, h0, \[x0\]
+.*: 7c2073e0 ldfminnm h0, h0, \[sp\]
+.*: 7c20701f ldfminnm h0, h31, \[x0\]
+.*: 7c2073ff ldfminnm h0, h31, \[sp\]
+.*: 7c3f7000 ldfminnm h31, h0, \[x0\]
+.*: 7c3f73e0 ldfminnm h31, h0, \[sp\]
+.*: 7c3f701f ldfminnm h31, h31, \[x0\]
+.*: 7c3f73ff ldfminnm h31, h31, \[sp\]
+.*: bc207000 ldfminnm s0, s0, \[x0\]
+.*: bc2073e0 ldfminnm s0, s0, \[sp\]
+.*: bc20701f ldfminnm s0, s31, \[x0\]
+.*: bc2073ff ldfminnm s0, s31, \[sp\]
+.*: bc3f7000 ldfminnm s31, s0, \[x0\]
+.*: bc3f73e0 ldfminnm s31, s0, \[sp\]
+.*: bc3f701f ldfminnm s31, s31, \[x0\]
+.*: bc3f73ff ldfminnm s31, s31, \[sp\]
+.*: fc207000 ldfminnm d0, d0, \[x0\]
+.*: fc2073e0 ldfminnm d0, d0, \[sp\]
+.*: fc20701f ldfminnm d0, d31, \[x0\]
+.*: fc2073ff ldfminnm d0, d31, \[sp\]
+.*: fc3f7000 ldfminnm d31, d0, \[x0\]
+.*: fc3f73e0 ldfminnm d31, d0, \[sp\]
+.*: fc3f701f ldfminnm d31, d31, \[x0\]
+.*: fc3f73ff ldfminnm d31, d31, \[sp\]
+.*: 7ca07000 ldfminnma h0, h0, \[x0\]
+.*: 7ca073e0 ldfminnma h0, h0, \[sp\]
+.*: 7ca0701f ldfminnma h0, h31, \[x0\]
+.*: 7ca073ff ldfminnma h0, h31, \[sp\]
+.*: 7cbf7000 ldfminnma h31, h0, \[x0\]
+.*: 7cbf73e0 ldfminnma h31, h0, \[sp\]
+.*: 7cbf701f ldfminnma h31, h31, \[x0\]
+.*: 7cbf73ff ldfminnma h31, h31, \[sp\]
+.*: bca07000 ldfminnma s0, s0, \[x0\]
+.*: bca073e0 ldfminnma s0, s0, \[sp\]
+.*: bca0701f ldfminnma s0, s31, \[x0\]
+.*: bca073ff ldfminnma s0, s31, \[sp\]
+.*: bcbf7000 ldfminnma s31, s0, \[x0\]
+.*: bcbf73e0 ldfminnma s31, s0, \[sp\]
+.*: bcbf701f ldfminnma s31, s31, \[x0\]
+.*: bcbf73ff ldfminnma s31, s31, \[sp\]
+.*: fca07000 ldfminnma d0, d0, \[x0\]
+.*: fca073e0 ldfminnma d0, d0, \[sp\]
+.*: fca0701f ldfminnma d0, d31, \[x0\]
+.*: fca073ff ldfminnma d0, d31, \[sp\]
+.*: fcbf7000 ldfminnma d31, d0, \[x0\]
+.*: fcbf73e0 ldfminnma d31, d0, \[sp\]
+.*: fcbf701f ldfminnma d31, d31, \[x0\]
+.*: fcbf73ff ldfminnma d31, d31, \[sp\]
+.*: 7ce07000 ldfminnmal h0, h0, \[x0\]
+.*: 7ce073e0 ldfminnmal h0, h0, \[sp\]
+.*: 7ce0701f ldfminnmal h0, h31, \[x0\]
+.*: 7ce073ff ldfminnmal h0, h31, \[sp\]
+.*: 7cff7000 ldfminnmal h31, h0, \[x0\]
+.*: 7cff73e0 ldfminnmal h31, h0, \[sp\]
+.*: 7cff701f ldfminnmal h31, h31, \[x0\]
+.*: 7cff73ff ldfminnmal h31, h31, \[sp\]
+.*: bce07000 ldfminnmal s0, s0, \[x0\]
+.*: bce073e0 ldfminnmal s0, s0, \[sp\]
+.*: bce0701f ldfminnmal s0, s31, \[x0\]
+.*: bce073ff ldfminnmal s0, s31, \[sp\]
+.*: bcff7000 ldfminnmal s31, s0, \[x0\]
+.*: bcff73e0 ldfminnmal s31, s0, \[sp\]
+.*: bcff701f ldfminnmal s31, s31, \[x0\]
+.*: bcff73ff ldfminnmal s31, s31, \[sp\]
+.*: fce07000 ldfminnmal d0, d0, \[x0\]
+.*: fce073e0 ldfminnmal d0, d0, \[sp\]
+.*: fce0701f ldfminnmal d0, d31, \[x0\]
+.*: fce073ff ldfminnmal d0, d31, \[sp\]
+.*: fcff7000 ldfminnmal d31, d0, \[x0\]
+.*: fcff73e0 ldfminnmal d31, d0, \[sp\]
+.*: fcff701f ldfminnmal d31, d31, \[x0\]
+.*: fcff73ff ldfminnmal d31, d31, \[sp\]
+.*: 7c607000 ldfminnml h0, h0, \[x0\]
+.*: 7c6073e0 ldfminnml h0, h0, \[sp\]
+.*: 7c60701f ldfminnml h0, h31, \[x0\]
+.*: 7c6073ff ldfminnml h0, h31, \[sp\]
+.*: 7c7f7000 ldfminnml h31, h0, \[x0\]
+.*: 7c7f73e0 ldfminnml h31, h0, \[sp\]
+.*: 7c7f701f ldfminnml h31, h31, \[x0\]
+.*: 7c7f73ff ldfminnml h31, h31, \[sp\]
+.*: bc607000 ldfminnml s0, s0, \[x0\]
+.*: bc6073e0 ldfminnml s0, s0, \[sp\]
+.*: bc60701f ldfminnml s0, s31, \[x0\]
+.*: bc6073ff ldfminnml s0, s31, \[sp\]
+.*: bc7f7000 ldfminnml s31, s0, \[x0\]
+.*: bc7f73e0 ldfminnml s31, s0, \[sp\]
+.*: bc7f701f ldfminnml s31, s31, \[x0\]
+.*: bc7f73ff ldfminnml s31, s31, \[sp\]
+.*: fc607000 ldfminnml d0, d0, \[x0\]
+.*: fc6073e0 ldfminnml d0, d0, \[sp\]
+.*: fc60701f ldfminnml d0, d31, \[x0\]
+.*: fc6073ff ldfminnml d0, d31, \[sp\]
+.*: fc7f7000 ldfminnml d31, d0, \[x0\]
+.*: fc7f73e0 ldfminnml d31, d0, \[sp\]
+.*: fc7f701f ldfminnml d31, d31, \[x0\]
+.*: fc7f73ff ldfminnml d31, d31, \[sp\]
+
+.* <ldbf>:
+.*: 3c200000 ldbfadd h0, h0, \[x0\]
+.*: 3c2003e0 ldbfadd h0, h0, \[sp\]
+.*: 3c20001f ldbfadd h0, h31, \[x0\]
+.*: 3c2003ff ldbfadd h0, h31, \[sp\]
+.*: 3c3f0000 ldbfadd h31, h0, \[x0\]
+.*: 3c3f03e0 ldbfadd h31, h0, \[sp\]
+.*: 3c3f001f ldbfadd h31, h31, \[x0\]
+.*: 3c3f03ff ldbfadd h31, h31, \[sp\]
+.*: 3ca00000 ldbfadda h0, h0, \[x0\]
+.*: 3ca003e0 ldbfadda h0, h0, \[sp\]
+.*: 3ca0001f ldbfadda h0, h31, \[x0\]
+.*: 3ca003ff ldbfadda h0, h31, \[sp\]
+.*: 3cbf0000 ldbfadda h31, h0, \[x0\]
+.*: 3cbf03e0 ldbfadda h31, h0, \[sp\]
+.*: 3cbf001f ldbfadda h31, h31, \[x0\]
+.*: 3cbf03ff ldbfadda h31, h31, \[sp\]
+.*: 3ce00000 ldbfaddal h0, h0, \[x0\]
+.*: 3ce003e0 ldbfaddal h0, h0, \[sp\]
+.*: 3ce0001f ldbfaddal h0, h31, \[x0\]
+.*: 3ce003ff ldbfaddal h0, h31, \[sp\]
+.*: 3cff0000 ldbfaddal h31, h0, \[x0\]
+.*: 3cff03e0 ldbfaddal h31, h0, \[sp\]
+.*: 3cff001f ldbfaddal h31, h31, \[x0\]
+.*: 3cff03ff ldbfaddal h31, h31, \[sp\]
+.*: 3c600000 ldbfaddl h0, h0, \[x0\]
+.*: 3c6003e0 ldbfaddl h0, h0, \[sp\]
+.*: 3c60001f ldbfaddl h0, h31, \[x0\]
+.*: 3c6003ff ldbfaddl h0, h31, \[sp\]
+.*: 3c7f0000 ldbfaddl h31, h0, \[x0\]
+.*: 3c7f03e0 ldbfaddl h31, h0, \[sp\]
+.*: 3c7f001f ldbfaddl h31, h31, \[x0\]
+.*: 3c7f03ff ldbfaddl h31, h31, \[sp\]
+.*: 3c204000 ldbfmax h0, h0, \[x0\]
+.*: 3c2043e0 ldbfmax h0, h0, \[sp\]
+.*: 3c20401f ldbfmax h0, h31, \[x0\]
+.*: 3c2043ff ldbfmax h0, h31, \[sp\]
+.*: 3c3f4000 ldbfmax h31, h0, \[x0\]
+.*: 3c3f43e0 ldbfmax h31, h0, \[sp\]
+.*: 3c3f401f ldbfmax h31, h31, \[x0\]
+.*: 3c3f43ff ldbfmax h31, h31, \[sp\]
+.*: 3ca04000 ldbfmaxa h0, h0, \[x0\]
+.*: 3ca043e0 ldbfmaxa h0, h0, \[sp\]
+.*: 3ca0401f ldbfmaxa h0, h31, \[x0\]
+.*: 3ca043ff ldbfmaxa h0, h31, \[sp\]
+.*: 3cbf4000 ldbfmaxa h31, h0, \[x0\]
+.*: 3cbf43e0 ldbfmaxa h31, h0, \[sp\]
+.*: 3cbf401f ldbfmaxa h31, h31, \[x0\]
+.*: 3cbf43ff ldbfmaxa h31, h31, \[sp\]
+.*: 3ce04000 ldbfmaxal h0, h0, \[x0\]
+.*: 3ce043e0 ldbfmaxal h0, h0, \[sp\]
+.*: 3ce0401f ldbfmaxal h0, h31, \[x0\]
+.*: 3ce043ff ldbfmaxal h0, h31, \[sp\]
+.*: 3cff4000 ldbfmaxal h31, h0, \[x0\]
+.*: 3cff43e0 ldbfmaxal h31, h0, \[sp\]
+.*: 3cff401f ldbfmaxal h31, h31, \[x0\]
+.*: 3cff43ff ldbfmaxal h31, h31, \[sp\]
+.*: 3c604000 ldbfmaxl h0, h0, \[x0\]
+.*: 3c6043e0 ldbfmaxl h0, h0, \[sp\]
+.*: 3c60401f ldbfmaxl h0, h31, \[x0\]
+.*: 3c6043ff ldbfmaxl h0, h31, \[sp\]
+.*: 3c7f4000 ldbfmaxl h31, h0, \[x0\]
+.*: 3c7f43e0 ldbfmaxl h31, h0, \[sp\]
+.*: 3c7f401f ldbfmaxl h31, h31, \[x0\]
+.*: 3c7f43ff ldbfmaxl h31, h31, \[sp\]
+.*: 3c206000 ldbfmaxnm h0, h0, \[x0\]
+.*: 3c2063e0 ldbfmaxnm h0, h0, \[sp\]
+.*: 3c20601f ldbfmaxnm h0, h31, \[x0\]
+.*: 3c2063ff ldbfmaxnm h0, h31, \[sp\]
+.*: 3c3f6000 ldbfmaxnm h31, h0, \[x0\]
+.*: 3c3f63e0 ldbfmaxnm h31, h0, \[sp\]
+.*: 3c3f601f ldbfmaxnm h31, h31, \[x0\]
+.*: 3c3f63ff ldbfmaxnm h31, h31, \[sp\]
+.*: 3ca06000 ldbfmaxnma h0, h0, \[x0\]
+.*: 3ca063e0 ldbfmaxnma h0, h0, \[sp\]
+.*: 3ca0601f ldbfmaxnma h0, h31, \[x0\]
+.*: 3ca063ff ldbfmaxnma h0, h31, \[sp\]
+.*: 3cbf6000 ldbfmaxnma h31, h0, \[x0\]
+.*: 3cbf63e0 ldbfmaxnma h31, h0, \[sp\]
+.*: 3cbf601f ldbfmaxnma h31, h31, \[x0\]
+.*: 3cbf63ff ldbfmaxnma h31, h31, \[sp\]
+.*: 3ce06000 ldbfmaxnmal h0, h0, \[x0\]
+.*: 3ce063e0 ldbfmaxnmal h0, h0, \[sp\]
+.*: 3ce0601f ldbfmaxnmal h0, h31, \[x0\]
+.*: 3ce063ff ldbfmaxnmal h0, h31, \[sp\]
+.*: 3cff6000 ldbfmaxnmal h31, h0, \[x0\]
+.*: 3cff63e0 ldbfmaxnmal h31, h0, \[sp\]
+.*: 3cff601f ldbfmaxnmal h31, h31, \[x0\]
+.*: 3cff63ff ldbfmaxnmal h31, h31, \[sp\]
+.*: 3c606000 ldbfmaxnml h0, h0, \[x0\]
+.*: 3c6063e0 ldbfmaxnml h0, h0, \[sp\]
+.*: 3c60601f ldbfmaxnml h0, h31, \[x0\]
+.*: 3c6063ff ldbfmaxnml h0, h31, \[sp\]
+.*: 3c7f6000 ldbfmaxnml h31, h0, \[x0\]
+.*: 3c7f63e0 ldbfmaxnml h31, h0, \[sp\]
+.*: 3c7f601f ldbfmaxnml h31, h31, \[x0\]
+.*: 3c7f63ff ldbfmaxnml h31, h31, \[sp\]
+.*: 3c205000 ldbfmin h0, h0, \[x0\]
+.*: 3c2053e0 ldbfmin h0, h0, \[sp\]
+.*: 3c20501f ldbfmin h0, h31, \[x0\]
+.*: 3c2053ff ldbfmin h0, h31, \[sp\]
+.*: 3c3f5000 ldbfmin h31, h0, \[x0\]
+.*: 3c3f53e0 ldbfmin h31, h0, \[sp\]
+.*: 3c3f501f ldbfmin h31, h31, \[x0\]
+.*: 3c3f53ff ldbfmin h31, h31, \[sp\]
+.*: 3ca05000 ldbfmina h0, h0, \[x0\]
+.*: 3ca053e0 ldbfmina h0, h0, \[sp\]
+.*: 3ca0501f ldbfmina h0, h31, \[x0\]
+.*: 3ca053ff ldbfmina h0, h31, \[sp\]
+.*: 3cbf5000 ldbfmina h31, h0, \[x0\]
+.*: 3cbf53e0 ldbfmina h31, h0, \[sp\]
+.*: 3cbf501f ldbfmina h31, h31, \[x0\]
+.*: 3cbf53ff ldbfmina h31, h31, \[sp\]
+.*: 3ce05000 ldbfminal h0, h0, \[x0\]
+.*: 3ce053e0 ldbfminal h0, h0, \[sp\]
+.*: 3ce0501f ldbfminal h0, h31, \[x0\]
+.*: 3ce053ff ldbfminal h0, h31, \[sp\]
+.*: 3cff5000 ldbfminal h31, h0, \[x0\]
+.*: 3cff53e0 ldbfminal h31, h0, \[sp\]
+.*: 3cff501f ldbfminal h31, h31, \[x0\]
+.*: 3cff53ff ldbfminal h31, h31, \[sp\]
+.*: 3c605000 ldbfminl h0, h0, \[x0\]
+.*: 3c6053e0 ldbfminl h0, h0, \[sp\]
+.*: 3c60501f ldbfminl h0, h31, \[x0\]
+.*: 3c6053ff ldbfminl h0, h31, \[sp\]
+.*: 3c7f5000 ldbfminl h31, h0, \[x0\]
+.*: 3c7f53e0 ldbfminl h31, h0, \[sp\]
+.*: 3c7f501f ldbfminl h31, h31, \[x0\]
+.*: 3c7f53ff ldbfminl h31, h31, \[sp\]
+.*: 3c207000 ldbfminnm h0, h0, \[x0\]
+.*: 3c2073e0 ldbfminnm h0, h0, \[sp\]
+.*: 3c20701f ldbfminnm h0, h31, \[x0\]
+.*: 3c2073ff ldbfminnm h0, h31, \[sp\]
+.*: 3c3f7000 ldbfminnm h31, h0, \[x0\]
+.*: 3c3f73e0 ldbfminnm h31, h0, \[sp\]
+.*: 3c3f701f ldbfminnm h31, h31, \[x0\]
+.*: 3c3f73ff ldbfminnm h31, h31, \[sp\]
+.*: 3ca07000 ldbfminnma h0, h0, \[x0\]
+.*: 3ca073e0 ldbfminnma h0, h0, \[sp\]
+.*: 3ca0701f ldbfminnma h0, h31, \[x0\]
+.*: 3ca073ff ldbfminnma h0, h31, \[sp\]
+.*: 3cbf7000 ldbfminnma h31, h0, \[x0\]
+.*: 3cbf73e0 ldbfminnma h31, h0, \[sp\]
+.*: 3cbf701f ldbfminnma h31, h31, \[x0\]
+.*: 3cbf73ff ldbfminnma h31, h31, \[sp\]
+.*: 3ce07000 ldbfminnmal h0, h0, \[x0\]
+.*: 3ce073e0 ldbfminnmal h0, h0, \[sp\]
+.*: 3ce0701f ldbfminnmal h0, h31, \[x0\]
+.*: 3ce073ff ldbfminnmal h0, h31, \[sp\]
+.*: 3cff7000 ldbfminnmal h31, h0, \[x0\]
+.*: 3cff73e0 ldbfminnmal h31, h0, \[sp\]
+.*: 3cff701f ldbfminnmal h31, h31, \[x0\]
+.*: 3cff73ff ldbfminnmal h31, h31, \[sp\]
+.*: 3c607000 ldbfminnml h0, h0, \[x0\]
+.*: 3c6073e0 ldbfminnml h0, h0, \[sp\]
+.*: 3c60701f ldbfminnml h0, h31, \[x0\]
+.*: 3c6073ff ldbfminnml h0, h31, \[sp\]
+.*: 3c7f7000 ldbfminnml h31, h0, \[x0\]
+.*: 3c7f73e0 ldbfminnml h31, h0, \[sp\]
+.*: 3c7f701f ldbfminnml h31, h31, \[x0\]
+.*: 3c7f73ff ldbfminnml h31, h31, \[sp\]
+
+.* <stf>:
+.*: 7c20801f stfadd h0, \[x0\]
+.*: 7c2083ff stfadd h0, \[sp\]
+.*: 7c3f801f stfadd h31, \[x0\]
+.*: 7c3f83ff stfadd h31, \[sp\]
+.*: bc20801f stfadd s0, \[x0\]
+.*: bc2083ff stfadd s0, \[sp\]
+.*: bc3f801f stfadd s31, \[x0\]
+.*: bc3f83ff stfadd s31, \[sp\]
+.*: fc20801f stfadd d0, \[x0\]
+.*: fc2083ff stfadd d0, \[sp\]
+.*: fc3f801f stfadd d31, \[x0\]
+.*: fc3f83ff stfadd d31, \[sp\]
+.*: 7c60801f stfaddl h0, \[x0\]
+.*: 7c6083ff stfaddl h0, \[sp\]
+.*: 7c7f801f stfaddl h31, \[x0\]
+.*: 7c7f83ff stfaddl h31, \[sp\]
+.*: bc60801f stfaddl s0, \[x0\]
+.*: bc6083ff stfaddl s0, \[sp\]
+.*: bc7f801f stfaddl s31, \[x0\]
+.*: bc7f83ff stfaddl s31, \[sp\]
+.*: fc60801f stfaddl d0, \[x0\]
+.*: fc6083ff stfaddl d0, \[sp\]
+.*: fc7f801f stfaddl d31, \[x0\]
+.*: fc7f83ff stfaddl d31, \[sp\]
+.*: 7c20c01f stfmax h0, \[x0\]
+.*: 7c20c3ff stfmax h0, \[sp\]
+.*: 7c3fc01f stfmax h31, \[x0\]
+.*: 7c3fc3ff stfmax h31, \[sp\]
+.*: bc20c01f stfmax s0, \[x0\]
+.*: bc20c3ff stfmax s0, \[sp\]
+.*: bc3fc01f stfmax s31, \[x0\]
+.*: bc3fc3ff stfmax s31, \[sp\]
+.*: fc20c01f stfmax d0, \[x0\]
+.*: fc20c3ff stfmax d0, \[sp\]
+.*: fc3fc01f stfmax d31, \[x0\]
+.*: fc3fc3ff stfmax d31, \[sp\]
+.*: 7c60c01f stfmaxl h0, \[x0\]
+.*: 7c60c3ff stfmaxl h0, \[sp\]
+.*: 7c7fc01f stfmaxl h31, \[x0\]
+.*: 7c7fc3ff stfmaxl h31, \[sp\]
+.*: bc60c01f stfmaxl s0, \[x0\]
+.*: bc60c3ff stfmaxl s0, \[sp\]
+.*: bc7fc01f stfmaxl s31, \[x0\]
+.*: bc7fc3ff stfmaxl s31, \[sp\]
+.*: fc60c01f stfmaxl d0, \[x0\]
+.*: fc60c3ff stfmaxl d0, \[sp\]
+.*: fc7fc01f stfmaxl d31, \[x0\]
+.*: fc7fc3ff stfmaxl d31, \[sp\]
+.*: 7c20e01f stfmaxnm h0, \[x0\]
+.*: 7c20e3ff stfmaxnm h0, \[sp\]
+.*: 7c3fe01f stfmaxnm h31, \[x0\]
+.*: 7c3fe3ff stfmaxnm h31, \[sp\]
+.*: bc20e01f stfmaxnm s0, \[x0\]
+.*: bc20e3ff stfmaxnm s0, \[sp\]
+.*: bc3fe01f stfmaxnm s31, \[x0\]
+.*: bc3fe3ff stfmaxnm s31, \[sp\]
+.*: fc20e01f stfmaxnm d0, \[x0\]
+.*: fc20e3ff stfmaxnm d0, \[sp\]
+.*: fc3fe01f stfmaxnm d31, \[x0\]
+.*: fc3fe3ff stfmaxnm d31, \[sp\]
+.*: 7c60e01f stfmaxnml h0, \[x0\]
+.*: 7c60e3ff stfmaxnml h0, \[sp\]
+.*: 7c7fe01f stfmaxnml h31, \[x0\]
+.*: 7c7fe3ff stfmaxnml h31, \[sp\]
+.*: bc60e01f stfmaxnml s0, \[x0\]
+.*: bc60e3ff stfmaxnml s0, \[sp\]
+.*: bc7fe01f stfmaxnml s31, \[x0\]
+.*: bc7fe3ff stfmaxnml s31, \[sp\]
+.*: fc60e01f stfmaxnml d0, \[x0\]
+.*: fc60e3ff stfmaxnml d0, \[sp\]
+.*: fc7fe01f stfmaxnml d31, \[x0\]
+.*: fc7fe3ff stfmaxnml d31, \[sp\]
+.*: 7c20d01f stfmin h0, \[x0\]
+.*: 7c20d3ff stfmin h0, \[sp\]
+.*: 7c3fd01f stfmin h31, \[x0\]
+.*: 7c3fd3ff stfmin h31, \[sp\]
+.*: bc20d01f stfmin s0, \[x0\]
+.*: bc20d3ff stfmin s0, \[sp\]
+.*: bc3fd01f stfmin s31, \[x0\]
+.*: bc3fd3ff stfmin s31, \[sp\]
+.*: fc20d01f stfmin d0, \[x0\]
+.*: fc20d3ff stfmin d0, \[sp\]
+.*: fc3fd01f stfmin d31, \[x0\]
+.*: fc3fd3ff stfmin d31, \[sp\]
+.*: 7c60d01f stfminl h0, \[x0\]
+.*: 7c60d3ff stfminl h0, \[sp\]
+.*: 7c7fd01f stfminl h31, \[x0\]
+.*: 7c7fd3ff stfminl h31, \[sp\]
+.*: bc60d01f stfminl s0, \[x0\]
+.*: bc60d3ff stfminl s0, \[sp\]
+.*: bc7fd01f stfminl s31, \[x0\]
+.*: bc7fd3ff stfminl s31, \[sp\]
+.*: fc60d01f stfminl d0, \[x0\]
+.*: fc60d3ff stfminl d0, \[sp\]
+.*: fc7fd01f stfminl d31, \[x0\]
+.*: fc7fd3ff stfminl d31, \[sp\]
+.*: 7c20f01f stfminnm h0, \[x0\]
+.*: 7c20f3ff stfminnm h0, \[sp\]
+.*: 7c3ff01f stfminnm h31, \[x0\]
+.*: 7c3ff3ff stfminnm h31, \[sp\]
+.*: bc20f01f stfminnm s0, \[x0\]
+.*: bc20f3ff stfminnm s0, \[sp\]
+.*: bc3ff01f stfminnm s31, \[x0\]
+.*: bc3ff3ff stfminnm s31, \[sp\]
+.*: fc20f01f stfminnm d0, \[x0\]
+.*: fc20f3ff stfminnm d0, \[sp\]
+.*: fc3ff01f stfminnm d31, \[x0\]
+.*: fc3ff3ff stfminnm d31, \[sp\]
+.*: 7c60f01f stfminnml h0, \[x0\]
+.*: 7c60f3ff stfminnml h0, \[sp\]
+.*: 7c7ff01f stfminnml h31, \[x0\]
+.*: 7c7ff3ff stfminnml h31, \[sp\]
+.*: bc60f01f stfminnml s0, \[x0\]
+.*: bc60f3ff stfminnml s0, \[sp\]
+.*: bc7ff01f stfminnml s31, \[x0\]
+.*: bc7ff3ff stfminnml s31, \[sp\]
+.*: fc60f01f stfminnml d0, \[x0\]
+.*: fc60f3ff stfminnml d0, \[sp\]
+.*: fc7ff01f stfminnml d31, \[x0\]
+.*: fc7ff3ff stfminnml d31, \[sp\]
+
+.* <stbf>:
+.*: 3c20801f stbfadd h0, \[x0\]
+.*: 3c2083ff stbfadd h0, \[sp\]
+.*: 3c3f801f stbfadd h31, \[x0\]
+.*: 3c3f83ff stbfadd h31, \[sp\]
+.*: 3c60801f stbfaddl h0, \[x0\]
+.*: 3c6083ff stbfaddl h0, \[sp\]
+.*: 3c7f801f stbfaddl h31, \[x0\]
+.*: 3c7f83ff stbfaddl h31, \[sp\]
+.*: 3c20c01f stbfmax h0, \[x0\]
+.*: 3c20c3ff stbfmax h0, \[sp\]
+.*: 3c3fc01f stbfmax h31, \[x0\]
+.*: 3c3fc3ff stbfmax h31, \[sp\]
+.*: 3c60c01f stbfmaxl h0, \[x0\]
+.*: 3c60c3ff stbfmaxl h0, \[sp\]
+.*: 3c7fc01f stbfmaxl h31, \[x0\]
+.*: 3c7fc3ff stbfmaxl h31, \[sp\]
+.*: 3c20e01f stbfmaxnm h0, \[x0\]
+.*: 3c20e3ff stbfmaxnm h0, \[sp\]
+.*: 3c3fe01f stbfmaxnm h31, \[x0\]
+.*: 3c3fe3ff stbfmaxnm h31, \[sp\]
+.*: 3c60e01f stbfmaxnml h0, \[x0\]
+.*: 3c60e3ff stbfmaxnml h0, \[sp\]
+.*: 3c7fe01f stbfmaxnml h31, \[x0\]
+.*: 3c7fe3ff stbfmaxnml h31, \[sp\]
+.*: 3c20d01f stbfmin h0, \[x0\]
+.*: 3c20d3ff stbfmin h0, \[sp\]
+.*: 3c3fd01f stbfmin h31, \[x0\]
+.*: 3c3fd3ff stbfmin h31, \[sp\]
+.*: 3c60d01f stbfminl h0, \[x0\]
+.*: 3c60d3ff stbfminl h0, \[sp\]
+.*: 3c7fd01f stbfminl h31, \[x0\]
+.*: 3c7fd3ff stbfminl h31, \[sp\]
+.*: 3c20f01f stbfminnm h0, \[x0\]
+.*: 3c20f3ff stbfminnm h0, \[sp\]
+.*: 3c3ff01f stbfminnm h31, \[x0\]
+.*: 3c3ff3ff stbfminnm h31, \[sp\]
+.*: 3c60f01f stbfminnml h0, \[x0\]
+.*: 3c60f3ff stbfminnml h0, \[sp\]
+.*: 3c7ff01f stbfminnml h31, \[x0\]
+.*: 3c7ff3ff stbfminnml h31, \[sp\]
diff --git a/gas/testsuite/gas/aarch64/lsfe.s b/gas/testsuite/gas/aarch64/lsfe.s
new file mode 100644
index 0000000..ff11f92
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lsfe.s
@@ -0,0 +1,71 @@
+ldf:
+ .irp op, add, max, maxnm, min, minnm
+ .irp suffix, , a, al, l
+ ldf\op\suffix h0, h0, [x0]
+ ldf\op\suffix h0, h0, [sp]
+ ldf\op\suffix h0, h31, [x0]
+ ldf\op\suffix h0, h31, [sp]
+ ldf\op\suffix h31, h0, [x0]
+ ldf\op\suffix h31, h0, [sp]
+ ldf\op\suffix h31, h31, [x0]
+ ldf\op\suffix h31, h31, [sp]
+ ldf\op\suffix s0, s0, [x0]
+ ldf\op\suffix s0, s0, [sp]
+ ldf\op\suffix s0, s31, [x0]
+ ldf\op\suffix s0, s31, [sp]
+ ldf\op\suffix s31, s0, [x0]
+ ldf\op\suffix s31, s0, [sp]
+ ldf\op\suffix s31, s31, [x0]
+ ldf\op\suffix s31, s31, [sp]
+ ldf\op\suffix d0, d0, [x0]
+ ldf\op\suffix d0, d0, [sp]
+ ldf\op\suffix d0, d31, [x0]
+ ldf\op\suffix d0, d31, [sp]
+ ldf\op\suffix d31, d0, [x0]
+ ldf\op\suffix d31, d0, [sp]
+ ldf\op\suffix d31, d31, [x0]
+ ldf\op\suffix d31, d31, [sp]
+ .endr
+ .endr
+
+ldbf:
+ .irp op, add, max, maxnm, min, minnm
+ .irp suffix, , a, al, l
+ ldbf\op\suffix h0, h0, [x0]
+ ldbf\op\suffix h0, h0, [sp]
+ ldbf\op\suffix h0, h31, [x0]
+ ldbf\op\suffix h0, h31, [sp]
+ ldbf\op\suffix h31, h0, [x0]
+ ldbf\op\suffix h31, h0, [sp]
+ ldbf\op\suffix h31, h31, [x0]
+ ldbf\op\suffix h31, h31, [sp]
+ .endr
+ .endr
+
+stf:
+ .irp op, add, max, maxnm, min, minnm
+ .irp suffix, , l
+ stf\op\suffix h0, [x0]
+ stf\op\suffix h0, [sp]
+ stf\op\suffix h31, [x0]
+ stf\op\suffix h31, [sp]
+ stf\op\suffix s0, [x0]
+ stf\op\suffix s0, [sp]
+ stf\op\suffix s31, [x0]
+ stf\op\suffix s31, [sp]
+ stf\op\suffix d0, [x0]
+ stf\op\suffix d0, [sp]
+ stf\op\suffix d31, [x0]
+ stf\op\suffix d31, [sp]
+ .endr
+ .endr
+
+stbf:
+ .irp op, add, max, maxnm, min, minnm
+ .irp suffix, , l
+ stbf\op\suffix h0, [x0]
+ stbf\op\suffix h0, [sp]
+ stbf\op\suffix h31, [x0]
+ stbf\op\suffix h31, [sp]
+ .endr
+ .endr
diff --git a/gas/testsuite/gas/aarch64/mov-wide.d b/gas/testsuite/gas/aarch64/mov-wide.d
new file mode 100644
index 0000000..6627902
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/mov-wide.d
@@ -0,0 +1,46 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 12800000 mov w0, #0xffffffff // #-1
+ *[0-9a-f]+: 1280001f mov wzr, #0xffffffff // #-1
+ *[0-9a-f]+: 129fffe0 movn w0, #0xffff
+ *[0-9a-f]+: 12a00000 movn w0, #0x0, lsl #16
+ *[0-9a-f]+: 92800000 mov x0, #0xffffffffffffffff // #-1
+ *[0-9a-f]+: 9280001f mov xzr, #0xffffffffffffffff // #-1
+ *[0-9a-f]+: 929fffe0 mov x0, #0xffffffffffff0000 // #-65536
+ *[0-9a-f]+: 92e00000 movn x0, #0x0, lsl #48
+ *[0-9a-f]+: 52800000 mov w0, #0x0 // #0
+ *[0-9a-f]+: 5280001f mov wzr, #0x0 // #0
+ *[0-9a-f]+: 529fffe0 mov w0, #0xffff // #65535
+ *[0-9a-f]+: 52a00000 movz w0, #0x0, lsl #16
+ *[0-9a-f]+: d2800000 mov x0, #0x0 // #0
+ *[0-9a-f]+: d280001f mov xzr, #0x0 // #0
+ *[0-9a-f]+: d29fffe0 mov x0, #0xffff // #65535
+ *[0-9a-f]+: d2e00000 movz x0, #0x0, lsl #48
+ *[0-9a-f]+: 72800000 movk w0, #0x0
+ *[0-9a-f]+: 7280001f movk wzr, #0x0
+ *[0-9a-f]+: 729fffe0 movk w0, #0xffff
+ *[0-9a-f]+: 72a00000 movk w0, #0x0, lsl #16
+ *[0-9a-f]+: f2800000 movk x0, #0x0
+ *[0-9a-f]+: f280001f movk xzr, #0x0
+ *[0-9a-f]+: f29fffe0 movk x0, #0xffff
+ *[0-9a-f]+: f2e00000 movk x0, #0x0, lsl #48
+ *[0-9a-f]+: 52800000 mov w0, #0x0 // #0
+ *[0-9a-f]+: 5280001f mov wzr, #0x0 // #0
+ *[0-9a-f]+: 529fffe0 mov w0, #0xffff // #65535
+ *[0-9a-f]+: 52bfffe0 mov w0, #0xffff0000 // #-65536
+ *[0-9a-f]+: 12800000 mov w0, #0xffffffff // #-1
+ *[0-9a-f]+: 12b00000 mov w0, #0x7fffffff // #2147483647
+ *[0-9a-f]+: d2800000 mov x0, #0x0 // #0
+ *[0-9a-f]+: d280001f mov xzr, #0x0 // #0
+ *[0-9a-f]+: d29fffe0 mov x0, #0xffff // #65535
+ *[0-9a-f]+: d2ffffe0 mov x0, #0xffff000000000000 // #-281474976710656
+ *[0-9a-f]+: 92800000 mov x0, #0xffffffffffffffff // #-1
+ *[0-9a-f]+: 929fffe0 mov x0, #0xffffffffffff0000 // #-65536
+ *[0-9a-f]+: 92ffffe0 mov x0, #0xffffffffffff // #281474976710655
diff --git a/gas/testsuite/gas/aarch64/mov-wide.s b/gas/testsuite/gas/aarch64/mov-wide.s
new file mode 100644
index 0000000..058e23e
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/mov-wide.s
@@ -0,0 +1,40 @@
+ movn w0, #0
+ movn wzr, #0, lsl #0
+ movn w0, #65535
+ movn w0, #0, lsl #16
+ movn x0, #0
+ movn xzr, #0, lsl #0
+ movn x0, #65535
+ movn x0, #0, lsl #48
+
+ movz w0, #0
+ movz wzr, #0, lsl #0
+ movz w0, #65535
+ movz w0, #0, lsl #16
+ movz x0, #0
+ movz xzr, #0, lsl #0
+ movz x0, #65535
+ movz x0, #0, lsl #48
+
+ movk w0, #0
+ movk wzr, #0, lsl #0
+ movk w0, #65535
+ movk w0, #0, lsl #16
+ movk x0, #0
+ movk xzr, #0, lsl #0
+ movk x0, #65535
+ movk x0, #0, lsl #48
+
+ mov w0, #0
+ mov wzr, #0
+ mov w0, #65535
+ mov w0, #4294901760
+ mov w0, #-1
+ mov w0, #2147483647
+ mov x0, #0
+ mov xzr, #0
+ mov x0, #65535
+ mov x0, #18446462598732840960
+ mov x0, #-1
+ mov x0, #-65536
+ mov x0, #281474976710655
diff --git a/gas/testsuite/gas/aarch64/occmo-memtag.d b/gas/testsuite/gas/aarch64/occmo-memtag.d
new file mode 100644
index 0000000..0dbbab0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/occmo-memtag.d
@@ -0,0 +1,13 @@
+#name: FEAT_OCCMO + MEMTAG Test
+#as: -march=armv8-a+occmo+memtag
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section .text:
+
+0+ <.*>:
+[^:]*: d50b7be0 dc cgdvaoc, x0
+[^:]*: d50b7bff dc cgdvaoc, xzr
+[^:]*: d50b7fe0 dc cigdvaoc, x0
+[^:]*: d50b7fff dc cigdvaoc, xzr
diff --git a/gas/testsuite/gas/aarch64/occmo-memtag.s b/gas/testsuite/gas/aarch64/occmo-memtag.s
new file mode 100644
index 0000000..2426dfb
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/occmo-memtag.s
@@ -0,0 +1,4 @@
+ dc cgdvaoc, x0
+ dc cgdvaoc, xzr
+ dc cigdvaoc, x0
+ dc cigdvaoc, xzr
diff --git a/gas/testsuite/gas/aarch64/occmo.d b/gas/testsuite/gas/aarch64/occmo.d
new file mode 100644
index 0000000..0ec68e8
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/occmo.d
@@ -0,0 +1,13 @@
+#name: FEAT_OCCMO Test
+#as: -march=armv8-a+occmo
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section .text:
+
+0+ <.*>:
+[^:]*: d50b7b00 dc cvaoc, x0
+[^:]*: d50b7b1f dc cvaoc, xzr
+[^:]*: d50b7f00 dc civaoc, x0
+[^:]*: d50b7f1f dc civaoc, xzr
diff --git a/gas/testsuite/gas/aarch64/occmo.s b/gas/testsuite/gas/aarch64/occmo.s
new file mode 100644
index 0000000..750341d
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/occmo.s
@@ -0,0 +1,4 @@
+ dc cvaoc, x0
+ dc cvaoc, xzr
+ dc civaoc, x0
+ dc civaoc, xzr
diff --git a/gas/testsuite/gas/aarch64/original-missing-misc.d b/gas/testsuite/gas/aarch64/original-missing-misc.d
new file mode 100644
index 0000000..7971e64
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/original-missing-misc.d
@@ -0,0 +1,46 @@
+#as: -march=armv8-a
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ *[0-9a-f]+: 5ef1b800 addp d0, v0\.2d
+ *[0-9a-f]+: 5ef1b81f addp d31, v0\.2d
+ *[0-9a-f]+: 5ef1bbe0 addp d0, v31\.2d
+ *[0-9a-f]+: 9b407c00 smulh x0, x0, x0
+ *[0-9a-f]+: 9b407c1f smulh xzr, x0, x0
+ *[0-9a-f]+: 9b407fe0 smulh x0, xzr, x0
+ *[0-9a-f]+: 9b5f7c00 smulh x0, x0, xzr
+ *[0-9a-f]+: 9bc07c00 umulh x0, x0, x0
+ *[0-9a-f]+: 9bc07c1f umulh xzr, x0, x0
+ *[0-9a-f]+: 9bc07fe0 umulh x0, xzr, x0
+ *[0-9a-f]+: 9bdf7c00 umulh x0, x0, xzr
+ *[0-9a-f]+: f8800000 prfum pldl1keep, \[x0\]
+ *[0-9a-f]+: f880001f prfum #0x1f, \[x0\]
+ *[0-9a-f]+: f88003e0 prfum pldl1keep, \[sp\]
+ *[0-9a-f]+: f89ff000 prfum pldl1keep, \[x0, #-1\]
+ *[0-9a-f]+: f8800008 prfum plil1keep, \[x0\]
+ *[0-9a-f]+: f8800010 prfum pstl1keep, \[x0\]
+ *[0-9a-f]+: f8800002 prfum pldl2keep, \[x0\]
+ *[0-9a-f]+: f8800004 prfum pldl3keep, \[x0\]
+ *[0-9a-f]+: f8800001 prfum pldl1strm, \[x0\]
+ *[0-9a-f]+: f8800018 prfum #0x18, \[x0\]
+ *[0-9a-f]+: 52000000 eor w0, w0, #0x1
+ *[0-9a-f]+: 5200001f eor wsp, w0, #0x1
+ *[0-9a-f]+: 520003e0 eor w0, wzr, #0x1
+ *[0-9a-f]+: 521f0000 eor w0, w0, #0x2
+ *[0-9a-f]+: 52000400 eor w0, w0, #0x3
+ *[0-9a-f]+: 52007800 eor w0, w0, #0x7fffffff
+ *[0-9a-f]+: 5200f000 eor w0, w0, #0x55555555
+ *[0-9a-f]+: 5233f000 eor w0, w0, #0xaaaaaaaa
+ *[0-9a-f]+: d2400000 eor x0, x0, #0x1
+ *[0-9a-f]+: d240001f eor sp, x0, #0x1
+ *[0-9a-f]+: d24003e0 eor x0, xzr, #0x1
+ *[0-9a-f]+: d27f0000 eor x0, x0, #0x2
+ *[0-9a-f]+: d2400400 eor x0, x0, #0x3
+ *[0-9a-f]+: d240f800 eor x0, x0, #0x7fffffffffffffff
+ *[0-9a-f]+: d200f000 eor x0, x0, #0x5555555555555555
+ *[0-9a-f]+: d233f000 eor x0, x0, #0xaaaaaaaaaaaaaaaa
diff --git a/gas/testsuite/gas/aarch64/original-missing-misc.s b/gas/testsuite/gas/aarch64/original-missing-misc.s
new file mode 100644
index 0000000..83d5482
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/original-missing-misc.s
@@ -0,0 +1,42 @@
+ addp d0, v0.2d
+ addp d31, v0.2d
+ addp d0, v31.2d
+
+ smulh x0, x0, x0
+ smulh xzr, x0, x0
+ smulh x0, xzr, x0
+ smulh x0, x0, xzr
+
+ umulh x0, x0, x0
+ umulh xzr, x0, x0
+ umulh x0, xzr, x0
+ umulh x0, x0, xzr
+
+ prfum pldl1keep, [x0, #0]
+ prfum #31, [x0, #0]
+ prfum #0, [sp, #0]
+ prfum #0, [x0, #-1]
+ prfum plil1keep, [x0]
+ prfum pstl1keep, [x0]
+ prfum pldl2keep, [x0]
+ prfum pldl3keep, [x0]
+ prfum pldl1strm, [x0]
+// Verify that we don't use the IR symbol in disassembly.
+ prfum #0x18, [x0, #0]
+
+ eor w0, w0, 0x1
+ eor wsp, w0, 0x1
+ eor w0, wzr, 0x1
+ eor w0, w0, 0x2
+ eor w0, w0, 0x3
+ eor w0, w0, 0x7fffffff
+ eor w0, w0, 0x55555555
+ .inst 0x5233f000
+ eor x0, x0, 0x1
+ eor sp, x0, 0x1
+ eor x0, xzr, 0x1
+ eor x0, x0, 0x2
+ eor x0, x0, 0x3
+ eor x0, x0, 0x7fffffffffffffff
+ eor x0, x0, 0x5555555555555555
+ .inst 0xd233f000
diff --git a/gas/testsuite/gas/aarch64/shifted.d b/gas/testsuite/gas/aarch64/shifted.d
index 288ee21..5f8e511 100644
--- a/gas/testsuite/gas/aarch64/shifted.d
+++ b/gas/testsuite/gas/aarch64/shifted.d
@@ -5,730 +5,834 @@
Disassembly of section \.text:
0+ <.*>:
- 0: aa030041 orr x1, x2, x3
- 4: aa030441 orr x1, x2, x3, lsl #1
- 8: aa030c41 orr x1, x2, x3, lsl #3
- c: aa031c41 orr x1, x2, x3, lsl #7
- 10: aa033c41 orr x1, x2, x3, lsl #15
- 14: aa037c41 orr x1, x2, x3, lsl #31
- 18: aa03fc41 orr x1, x2, x3, lsl #63
- 1c: aa430041 orr x1, x2, x3, lsr #0
- 20: aa430441 orr x1, x2, x3, lsr #1
- 24: aa430c41 orr x1, x2, x3, lsr #3
- 28: aa431c41 orr x1, x2, x3, lsr #7
- 2c: aa433c41 orr x1, x2, x3, lsr #15
- 30: aa437c41 orr x1, x2, x3, lsr #31
- 34: aa43fc41 orr x1, x2, x3, lsr #63
- 38: aa830041 orr x1, x2, x3, asr #0
- 3c: aa830441 orr x1, x2, x3, asr #1
- 40: aa830c41 orr x1, x2, x3, asr #3
- 44: aa831c41 orr x1, x2, x3, asr #7
- 48: aa833c41 orr x1, x2, x3, asr #15
- 4c: aa837c41 orr x1, x2, x3, asr #31
- 50: aa83fc41 orr x1, x2, x3, asr #63
- 54: aac30041 orr x1, x2, x3, ror #0
- 58: aac30441 orr x1, x2, x3, ror #1
- 5c: aac30c41 orr x1, x2, x3, ror #3
- 60: aac31c41 orr x1, x2, x3, ror #7
- 64: aac33c41 orr x1, x2, x3, ror #15
- 68: aac37c41 orr x1, x2, x3, ror #31
- 6c: aac3fc41 orr x1, x2, x3, ror #63
- 70: 2a030041 orr w1, w2, w3
- 74: 2a030441 orr w1, w2, w3, lsl #1
- 78: 2a030c41 orr w1, w2, w3, lsl #3
- 7c: 2a031c41 orr w1, w2, w3, lsl #7
- 80: 2a033c41 orr w1, w2, w3, lsl #15
- 84: 2a037c41 orr w1, w2, w3, lsl #31
- 88: 2a430041 orr w1, w2, w3, lsr #0
- 8c: 2a430441 orr w1, w2, w3, lsr #1
- 90: 2a430c41 orr w1, w2, w3, lsr #3
- 94: 2a431c41 orr w1, w2, w3, lsr #7
- 98: 2a433c41 orr w1, w2, w3, lsr #15
- 9c: 2a437c41 orr w1, w2, w3, lsr #31
- a0: 2a830041 orr w1, w2, w3, asr #0
- a4: 2a830441 orr w1, w2, w3, asr #1
- a8: 2a830c41 orr w1, w2, w3, asr #3
- ac: 2a831c41 orr w1, w2, w3, asr #7
- b0: 2a833c41 orr w1, w2, w3, asr #15
- b4: 2a837c41 orr w1, w2, w3, asr #31
- b8: 2ac30041 orr w1, w2, w3, ror #0
- bc: 2ac30441 orr w1, w2, w3, ror #1
- c0: 2ac30c41 orr w1, w2, w3, ror #3
- c4: 2ac31c41 orr w1, w2, w3, ror #7
- c8: 2ac33c41 orr w1, w2, w3, ror #15
- cc: 2ac37c41 orr w1, w2, w3, ror #31
- d0: 8a030041 and x1, x2, x3
- d4: 8a030441 and x1, x2, x3, lsl #1
- d8: 8a030c41 and x1, x2, x3, lsl #3
- dc: 8a031c41 and x1, x2, x3, lsl #7
- e0: 8a033c41 and x1, x2, x3, lsl #15
- e4: 8a037c41 and x1, x2, x3, lsl #31
- e8: 8a03fc41 and x1, x2, x3, lsl #63
- ec: 8a430041 and x1, x2, x3, lsr #0
- f0: 8a430441 and x1, x2, x3, lsr #1
- f4: 8a430c41 and x1, x2, x3, lsr #3
- f8: 8a431c41 and x1, x2, x3, lsr #7
- fc: 8a433c41 and x1, x2, x3, lsr #15
- 100: 8a437c41 and x1, x2, x3, lsr #31
- 104: 8a43fc41 and x1, x2, x3, lsr #63
- 108: 8a830041 and x1, x2, x3, asr #0
- 10c: 8a830441 and x1, x2, x3, asr #1
- 110: 8a830c41 and x1, x2, x3, asr #3
- 114: 8a831c41 and x1, x2, x3, asr #7
- 118: 8a833c41 and x1, x2, x3, asr #15
- 11c: 8a837c41 and x1, x2, x3, asr #31
- 120: 8a83fc41 and x1, x2, x3, asr #63
- 124: 8ac30041 and x1, x2, x3, ror #0
- 128: 8ac30441 and x1, x2, x3, ror #1
- 12c: 8ac30c41 and x1, x2, x3, ror #3
- 130: 8ac31c41 and x1, x2, x3, ror #7
- 134: 8ac33c41 and x1, x2, x3, ror #15
- 138: 8ac37c41 and x1, x2, x3, ror #31
- 13c: 8ac3fc41 and x1, x2, x3, ror #63
- 140: 0a030041 and w1, w2, w3
- 144: 0a030441 and w1, w2, w3, lsl #1
- 148: 0a030c41 and w1, w2, w3, lsl #3
- 14c: 0a031c41 and w1, w2, w3, lsl #7
- 150: 0a033c41 and w1, w2, w3, lsl #15
- 154: 0a037c41 and w1, w2, w3, lsl #31
- 158: 0a430041 and w1, w2, w3, lsr #0
- 15c: 0a430441 and w1, w2, w3, lsr #1
- 160: 0a430c41 and w1, w2, w3, lsr #3
- 164: 0a431c41 and w1, w2, w3, lsr #7
- 168: 0a433c41 and w1, w2, w3, lsr #15
- 16c: 0a437c41 and w1, w2, w3, lsr #31
- 170: 0a830041 and w1, w2, w3, asr #0
- 174: 0a830441 and w1, w2, w3, asr #1
- 178: 0a830c41 and w1, w2, w3, asr #3
- 17c: 0a831c41 and w1, w2, w3, asr #7
- 180: 0a833c41 and w1, w2, w3, asr #15
- 184: 0a837c41 and w1, w2, w3, asr #31
- 188: 0ac30041 and w1, w2, w3, ror #0
- 18c: 0ac30441 and w1, w2, w3, ror #1
- 190: 0ac30c41 and w1, w2, w3, ror #3
- 194: 0ac31c41 and w1, w2, w3, ror #7
- 198: 0ac33c41 and w1, w2, w3, ror #15
- 19c: 0ac37c41 and w1, w2, w3, ror #31
- 1a0: ca030041 eor x1, x2, x3
- 1a4: ca030441 eor x1, x2, x3, lsl #1
- 1a8: ca030c41 eor x1, x2, x3, lsl #3
- 1ac: ca031c41 eor x1, x2, x3, lsl #7
- 1b0: ca033c41 eor x1, x2, x3, lsl #15
- 1b4: ca037c41 eor x1, x2, x3, lsl #31
- 1b8: ca03fc41 eor x1, x2, x3, lsl #63
- 1bc: ca430041 eor x1, x2, x3, lsr #0
- 1c0: ca430441 eor x1, x2, x3, lsr #1
- 1c4: ca430c41 eor x1, x2, x3, lsr #3
- 1c8: ca431c41 eor x1, x2, x3, lsr #7
- 1cc: ca433c41 eor x1, x2, x3, lsr #15
- 1d0: ca437c41 eor x1, x2, x3, lsr #31
- 1d4: ca43fc41 eor x1, x2, x3, lsr #63
- 1d8: ca830041 eor x1, x2, x3, asr #0
- 1dc: ca830441 eor x1, x2, x3, asr #1
- 1e0: ca830c41 eor x1, x2, x3, asr #3
- 1e4: ca831c41 eor x1, x2, x3, asr #7
- 1e8: ca833c41 eor x1, x2, x3, asr #15
- 1ec: ca837c41 eor x1, x2, x3, asr #31
- 1f0: ca83fc41 eor x1, x2, x3, asr #63
- 1f4: cac30041 eor x1, x2, x3, ror #0
- 1f8: cac30441 eor x1, x2, x3, ror #1
- 1fc: cac30c41 eor x1, x2, x3, ror #3
- 200: cac31c41 eor x1, x2, x3, ror #7
- 204: cac33c41 eor x1, x2, x3, ror #15
- 208: cac37c41 eor x1, x2, x3, ror #31
- 20c: cac3fc41 eor x1, x2, x3, ror #63
- 210: 4a030041 eor w1, w2, w3
- 214: 4a030441 eor w1, w2, w3, lsl #1
- 218: 4a030c41 eor w1, w2, w3, lsl #3
- 21c: 4a031c41 eor w1, w2, w3, lsl #7
- 220: 4a033c41 eor w1, w2, w3, lsl #15
- 224: 4a037c41 eor w1, w2, w3, lsl #31
- 228: 4a430041 eor w1, w2, w3, lsr #0
- 22c: 4a430441 eor w1, w2, w3, lsr #1
- 230: 4a430c41 eor w1, w2, w3, lsr #3
- 234: 4a431c41 eor w1, w2, w3, lsr #7
- 238: 4a433c41 eor w1, w2, w3, lsr #15
- 23c: 4a437c41 eor w1, w2, w3, lsr #31
- 240: 4a830041 eor w1, w2, w3, asr #0
- 244: 4a830441 eor w1, w2, w3, asr #1
- 248: 4a830c41 eor w1, w2, w3, asr #3
- 24c: 4a831c41 eor w1, w2, w3, asr #7
- 250: 4a833c41 eor w1, w2, w3, asr #15
- 254: 4a837c41 eor w1, w2, w3, asr #31
- 258: 4ac30041 eor w1, w2, w3, ror #0
- 25c: 4ac30441 eor w1, w2, w3, ror #1
- 260: 4ac30c41 eor w1, w2, w3, ror #3
- 264: 4ac31c41 eor w1, w2, w3, ror #7
- 268: 4ac33c41 eor w1, w2, w3, ror #15
- 26c: 4ac37c41 eor w1, w2, w3, ror #31
- 270: 8a230041 bic x1, x2, x3
- 274: 8a230441 bic x1, x2, x3, lsl #1
- 278: 8a230c41 bic x1, x2, x3, lsl #3
- 27c: 8a231c41 bic x1, x2, x3, lsl #7
- 280: 8a233c41 bic x1, x2, x3, lsl #15
- 284: 8a237c41 bic x1, x2, x3, lsl #31
- 288: 8a23fc41 bic x1, x2, x3, lsl #63
- 28c: 8a630041 bic x1, x2, x3, lsr #0
- 290: 8a630441 bic x1, x2, x3, lsr #1
- 294: 8a630c41 bic x1, x2, x3, lsr #3
- 298: 8a631c41 bic x1, x2, x3, lsr #7
- 29c: 8a633c41 bic x1, x2, x3, lsr #15
- 2a0: 8a637c41 bic x1, x2, x3, lsr #31
- 2a4: 8a63fc41 bic x1, x2, x3, lsr #63
- 2a8: 8aa30041 bic x1, x2, x3, asr #0
- 2ac: 8aa30441 bic x1, x2, x3, asr #1
- 2b0: 8aa30c41 bic x1, x2, x3, asr #3
- 2b4: 8aa31c41 bic x1, x2, x3, asr #7
- 2b8: 8aa33c41 bic x1, x2, x3, asr #15
- 2bc: 8aa37c41 bic x1, x2, x3, asr #31
- 2c0: 8aa3fc41 bic x1, x2, x3, asr #63
- 2c4: 8ae30041 bic x1, x2, x3, ror #0
- 2c8: 8ae30441 bic x1, x2, x3, ror #1
- 2cc: 8ae30c41 bic x1, x2, x3, ror #3
- 2d0: 8ae31c41 bic x1, x2, x3, ror #7
- 2d4: 8ae33c41 bic x1, x2, x3, ror #15
- 2d8: 8ae37c41 bic x1, x2, x3, ror #31
- 2dc: 8ae3fc41 bic x1, x2, x3, ror #63
- 2e0: 0a230041 bic w1, w2, w3
- 2e4: 0a230441 bic w1, w2, w3, lsl #1
- 2e8: 0a230c41 bic w1, w2, w3, lsl #3
- 2ec: 0a231c41 bic w1, w2, w3, lsl #7
- 2f0: 0a233c41 bic w1, w2, w3, lsl #15
- 2f4: 0a237c41 bic w1, w2, w3, lsl #31
- 2f8: 0a630041 bic w1, w2, w3, lsr #0
- 2fc: 0a630441 bic w1, w2, w3, lsr #1
- 300: 0a630c41 bic w1, w2, w3, lsr #3
- 304: 0a631c41 bic w1, w2, w3, lsr #7
- 308: 0a633c41 bic w1, w2, w3, lsr #15
- 30c: 0a637c41 bic w1, w2, w3, lsr #31
- 310: 0aa30041 bic w1, w2, w3, asr #0
- 314: 0aa30441 bic w1, w2, w3, asr #1
- 318: 0aa30c41 bic w1, w2, w3, asr #3
- 31c: 0aa31c41 bic w1, w2, w3, asr #7
- 320: 0aa33c41 bic w1, w2, w3, asr #15
- 324: 0aa37c41 bic w1, w2, w3, asr #31
- 328: 0ae30041 bic w1, w2, w3, ror #0
- 32c: 0ae30441 bic w1, w2, w3, ror #1
- 330: 0ae30c41 bic w1, w2, w3, ror #3
- 334: 0ae31c41 bic w1, w2, w3, ror #7
- 338: 0ae33c41 bic w1, w2, w3, ror #15
- 33c: 0ae37c41 bic w1, w2, w3, ror #31
- 340: aa230041 orn x1, x2, x3
- 344: aa230441 orn x1, x2, x3, lsl #1
- 348: aa230c41 orn x1, x2, x3, lsl #3
- 34c: aa231c41 orn x1, x2, x3, lsl #7
- 350: aa233c41 orn x1, x2, x3, lsl #15
- 354: aa237c41 orn x1, x2, x3, lsl #31
- 358: aa23fc41 orn x1, x2, x3, lsl #63
- 35c: aa630041 orn x1, x2, x3, lsr #0
- 360: aa630441 orn x1, x2, x3, lsr #1
- 364: aa630c41 orn x1, x2, x3, lsr #3
- 368: aa631c41 orn x1, x2, x3, lsr #7
- 36c: aa633c41 orn x1, x2, x3, lsr #15
- 370: aa637c41 orn x1, x2, x3, lsr #31
- 374: aa63fc41 orn x1, x2, x3, lsr #63
- 378: aaa30041 orn x1, x2, x3, asr #0
- 37c: aaa30441 orn x1, x2, x3, asr #1
- 380: aaa30c41 orn x1, x2, x3, asr #3
- 384: aaa31c41 orn x1, x2, x3, asr #7
- 388: aaa33c41 orn x1, x2, x3, asr #15
- 38c: aaa37c41 orn x1, x2, x3, asr #31
- 390: aaa3fc41 orn x1, x2, x3, asr #63
- 394: aae30041 orn x1, x2, x3, ror #0
- 398: aae30441 orn x1, x2, x3, ror #1
- 39c: aae30c41 orn x1, x2, x3, ror #3
- 3a0: aae31c41 orn x1, x2, x3, ror #7
- 3a4: aae33c41 orn x1, x2, x3, ror #15
- 3a8: aae37c41 orn x1, x2, x3, ror #31
- 3ac: aae3fc41 orn x1, x2, x3, ror #63
- 3b0: 2a230041 orn w1, w2, w3
- 3b4: 2a230441 orn w1, w2, w3, lsl #1
- 3b8: 2a230c41 orn w1, w2, w3, lsl #3
- 3bc: 2a231c41 orn w1, w2, w3, lsl #7
- 3c0: 2a233c41 orn w1, w2, w3, lsl #15
- 3c4: 2a237c41 orn w1, w2, w3, lsl #31
- 3c8: 2a630041 orn w1, w2, w3, lsr #0
- 3cc: 2a630441 orn w1, w2, w3, lsr #1
- 3d0: 2a630c41 orn w1, w2, w3, lsr #3
- 3d4: 2a631c41 orn w1, w2, w3, lsr #7
- 3d8: 2a633c41 orn w1, w2, w3, lsr #15
- 3dc: 2a637c41 orn w1, w2, w3, lsr #31
- 3e0: 2aa30041 orn w1, w2, w3, asr #0
- 3e4: 2aa30441 orn w1, w2, w3, asr #1
- 3e8: 2aa30c41 orn w1, w2, w3, asr #3
- 3ec: 2aa31c41 orn w1, w2, w3, asr #7
- 3f0: 2aa33c41 orn w1, w2, w3, asr #15
- 3f4: 2aa37c41 orn w1, w2, w3, asr #31
- 3f8: 2ae30041 orn w1, w2, w3, ror #0
- 3fc: 2ae30441 orn w1, w2, w3, ror #1
- 400: 2ae30c41 orn w1, w2, w3, ror #3
- 404: 2ae31c41 orn w1, w2, w3, ror #7
- 408: 2ae33c41 orn w1, w2, w3, ror #15
- 40c: 2ae37c41 orn w1, w2, w3, ror #31
- 410: ca230041 eon x1, x2, x3
- 414: ca230441 eon x1, x2, x3, lsl #1
- 418: ca230c41 eon x1, x2, x3, lsl #3
- 41c: ca231c41 eon x1, x2, x3, lsl #7
- 420: ca233c41 eon x1, x2, x3, lsl #15
- 424: ca237c41 eon x1, x2, x3, lsl #31
- 428: ca23fc41 eon x1, x2, x3, lsl #63
- 42c: ca630041 eon x1, x2, x3, lsr #0
- 430: ca630441 eon x1, x2, x3, lsr #1
- 434: ca630c41 eon x1, x2, x3, lsr #3
- 438: ca631c41 eon x1, x2, x3, lsr #7
- 43c: ca633c41 eon x1, x2, x3, lsr #15
- 440: ca637c41 eon x1, x2, x3, lsr #31
- 444: ca63fc41 eon x1, x2, x3, lsr #63
- 448: caa30041 eon x1, x2, x3, asr #0
- 44c: caa30441 eon x1, x2, x3, asr #1
- 450: caa30c41 eon x1, x2, x3, asr #3
- 454: caa31c41 eon x1, x2, x3, asr #7
- 458: caa33c41 eon x1, x2, x3, asr #15
- 45c: caa37c41 eon x1, x2, x3, asr #31
- 460: caa3fc41 eon x1, x2, x3, asr #63
- 464: cae30041 eon x1, x2, x3, ror #0
- 468: cae30441 eon x1, x2, x3, ror #1
- 46c: cae30c41 eon x1, x2, x3, ror #3
- 470: cae31c41 eon x1, x2, x3, ror #7
- 474: cae33c41 eon x1, x2, x3, ror #15
- 478: cae37c41 eon x1, x2, x3, ror #31
- 47c: cae3fc41 eon x1, x2, x3, ror #63
- 480: 4a230041 eon w1, w2, w3
- 484: 4a230441 eon w1, w2, w3, lsl #1
- 488: 4a230c41 eon w1, w2, w3, lsl #3
- 48c: 4a231c41 eon w1, w2, w3, lsl #7
- 490: 4a233c41 eon w1, w2, w3, lsl #15
- 494: 4a237c41 eon w1, w2, w3, lsl #31
- 498: 4a630041 eon w1, w2, w3, lsr #0
- 49c: 4a630441 eon w1, w2, w3, lsr #1
- 4a0: 4a630c41 eon w1, w2, w3, lsr #3
- 4a4: 4a631c41 eon w1, w2, w3, lsr #7
- 4a8: 4a633c41 eon w1, w2, w3, lsr #15
- 4ac: 4a637c41 eon w1, w2, w3, lsr #31
- 4b0: 4aa30041 eon w1, w2, w3, asr #0
- 4b4: 4aa30441 eon w1, w2, w3, asr #1
- 4b8: 4aa30c41 eon w1, w2, w3, asr #3
- 4bc: 4aa31c41 eon w1, w2, w3, asr #7
- 4c0: 4aa33c41 eon w1, w2, w3, asr #15
- 4c4: 4aa37c41 eon w1, w2, w3, asr #31
- 4c8: 4ae30041 eon w1, w2, w3, ror #0
- 4cc: 4ae30441 eon w1, w2, w3, ror #1
- 4d0: 4ae30c41 eon w1, w2, w3, ror #3
- 4d4: 4ae31c41 eon w1, w2, w3, ror #7
- 4d8: 4ae33c41 eon w1, w2, w3, ror #15
- 4dc: 4ae37c41 eon w1, w2, w3, ror #31
- 4e0: 8b030041 add x1, x2, x3
- 4e4: 8b030441 add x1, x2, x3, lsl #1
- 4e8: 8b030c41 add x1, x2, x3, lsl #3
- 4ec: 8b031c41 add x1, x2, x3, lsl #7
- 4f0: 8b033c41 add x1, x2, x3, lsl #15
- 4f4: 8b037c41 add x1, x2, x3, lsl #31
- 4f8: 8b03fc41 add x1, x2, x3, lsl #63
- 4fc: 8b430041 add x1, x2, x3, lsr #0
- 500: 8b430441 add x1, x2, x3, lsr #1
- 504: 8b430c41 add x1, x2, x3, lsr #3
- 508: 8b431c41 add x1, x2, x3, lsr #7
- 50c: 8b433c41 add x1, x2, x3, lsr #15
- 510: 8b437c41 add x1, x2, x3, lsr #31
- 514: 8b43fc41 add x1, x2, x3, lsr #63
- 518: 8b830041 add x1, x2, x3, asr #0
- 51c: 8b830441 add x1, x2, x3, asr #1
- 520: 8b830c41 add x1, x2, x3, asr #3
- 524: 8b831c41 add x1, x2, x3, asr #7
- 528: 8b833c41 add x1, x2, x3, asr #15
- 52c: 8b837c41 add x1, x2, x3, asr #31
- 530: 8b83fc41 add x1, x2, x3, asr #63
- 534: 8b230041 add x1, x2, w3, uxtb
- 538: 8b230441 add x1, x2, w3, uxtb #1
- 53c: 8b230841 add x1, x2, w3, uxtb #2
- 540: 8b230c41 add x1, x2, w3, uxtb #3
- 544: 8b231041 add x1, x2, w3, uxtb #4
- 548: 8b232041 add x1, x2, w3, uxth
- 54c: 8b232441 add x1, x2, w3, uxth #1
- 550: 8b232841 add x1, x2, w3, uxth #2
- 554: 8b232c41 add x1, x2, w3, uxth #3
- 558: 8b233041 add x1, x2, w3, uxth #4
- 55c: 8b234041 add x1, x2, w3, uxtw
- 560: 8b234441 add x1, x2, w3, uxtw #1
- 564: 8b234841 add x1, x2, w3, uxtw #2
- 568: 8b234c41 add x1, x2, w3, uxtw #3
- 56c: 8b235041 add x1, x2, w3, uxtw #4
- 570: 8b236041 add x1, x2, x3, uxtx
- 574: 8b236441 add x1, x2, x3, uxtx #1
- 578: 8b236841 add x1, x2, x3, uxtx #2
- 57c: 8b236c41 add x1, x2, x3, uxtx #3
- 580: 8b237041 add x1, x2, x3, uxtx #4
- 584: 8b238041 add x1, x2, w3, sxtb
- 588: 8b238441 add x1, x2, w3, sxtb #1
- 58c: 8b238841 add x1, x2, w3, sxtb #2
- 590: 8b238c41 add x1, x2, w3, sxtb #3
- 594: 8b239041 add x1, x2, w3, sxtb #4
- 598: 8b23a041 add x1, x2, w3, sxth
- 59c: 8b23a441 add x1, x2, w3, sxth #1
- 5a0: 8b23a841 add x1, x2, w3, sxth #2
- 5a4: 8b23ac41 add x1, x2, w3, sxth #3
- 5a8: 8b23b041 add x1, x2, w3, sxth #4
- 5ac: 8b23c041 add x1, x2, w3, sxtw
- 5b0: 8b23c441 add x1, x2, w3, sxtw #1
- 5b4: 8b23c841 add x1, x2, w3, sxtw #2
- 5b8: 8b23cc41 add x1, x2, w3, sxtw #3
- 5bc: 8b23d041 add x1, x2, w3, sxtw #4
- 5c0: 8b23e041 add x1, x2, x3, sxtx
- 5c4: 8b23e441 add x1, x2, x3, sxtx #1
- 5c8: 8b23e841 add x1, x2, x3, sxtx #2
- 5cc: 8b23ec41 add x1, x2, x3, sxtx #3
- 5d0: 8b23f041 add x1, x2, x3, sxtx #4
- 5d4: 0b030041 add w1, w2, w3
- 5d8: 0b030441 add w1, w2, w3, lsl #1
- 5dc: 0b030c41 add w1, w2, w3, lsl #3
- 5e0: 0b031c41 add w1, w2, w3, lsl #7
- 5e4: 0b033c41 add w1, w2, w3, lsl #15
- 5e8: 0b037c41 add w1, w2, w3, lsl #31
- 5ec: 0b430041 add w1, w2, w3, lsr #0
- 5f0: 0b430441 add w1, w2, w3, lsr #1
- 5f4: 0b430c41 add w1, w2, w3, lsr #3
- 5f8: 0b431c41 add w1, w2, w3, lsr #7
- 5fc: 0b433c41 add w1, w2, w3, lsr #15
- 600: 0b437c41 add w1, w2, w3, lsr #31
- 604: 0b830041 add w1, w2, w3, asr #0
- 608: 0b830441 add w1, w2, w3, asr #1
- 60c: 0b830c41 add w1, w2, w3, asr #3
- 610: 0b831c41 add w1, w2, w3, asr #7
- 614: 0b833c41 add w1, w2, w3, asr #15
- 618: 0b837c41 add w1, w2, w3, asr #31
- 61c: 0b230041 add w1, w2, w3, uxtb
- 620: 0b230441 add w1, w2, w3, uxtb #1
- 624: 0b230841 add w1, w2, w3, uxtb #2
- 628: 0b230c41 add w1, w2, w3, uxtb #3
- 62c: 0b231041 add w1, w2, w3, uxtb #4
- 630: 0b232041 add w1, w2, w3, uxth
- 634: 0b232441 add w1, w2, w3, uxth #1
- 638: 0b232841 add w1, w2, w3, uxth #2
- 63c: 0b232c41 add w1, w2, w3, uxth #3
- 640: 0b233041 add w1, w2, w3, uxth #4
- 644: 0b238041 add w1, w2, w3, sxtb
- 648: 0b238441 add w1, w2, w3, sxtb #1
- 64c: 0b238841 add w1, w2, w3, sxtb #2
- 650: 0b238c41 add w1, w2, w3, sxtb #3
- 654: 0b239041 add w1, w2, w3, sxtb #4
- 658: 0b23a041 add w1, w2, w3, sxth
- 65c: 0b23a441 add w1, w2, w3, sxth #1
- 660: 0b23a841 add w1, w2, w3, sxth #2
- 664: 0b23ac41 add w1, w2, w3, sxth #3
- 668: 0b23b041 add w1, w2, w3, sxth #4
- 66c: cb030041 sub x1, x2, x3
- 670: cb030441 sub x1, x2, x3, lsl #1
- 674: cb030c41 sub x1, x2, x3, lsl #3
- 678: cb031c41 sub x1, x2, x3, lsl #7
- 67c: cb033c41 sub x1, x2, x3, lsl #15
- 680: cb037c41 sub x1, x2, x3, lsl #31
- 684: cb03fc41 sub x1, x2, x3, lsl #63
- 688: cb430041 sub x1, x2, x3, lsr #0
- 68c: cb430441 sub x1, x2, x3, lsr #1
- 690: cb430c41 sub x1, x2, x3, lsr #3
- 694: cb431c41 sub x1, x2, x3, lsr #7
- 698: cb433c41 sub x1, x2, x3, lsr #15
- 69c: cb437c41 sub x1, x2, x3, lsr #31
- 6a0: cb43fc41 sub x1, x2, x3, lsr #63
- 6a4: cb830041 sub x1, x2, x3, asr #0
- 6a8: cb830441 sub x1, x2, x3, asr #1
- 6ac: cb830c41 sub x1, x2, x3, asr #3
- 6b0: cb831c41 sub x1, x2, x3, asr #7
- 6b4: cb833c41 sub x1, x2, x3, asr #15
- 6b8: cb837c41 sub x1, x2, x3, asr #31
- 6bc: cb83fc41 sub x1, x2, x3, asr #63
- 6c0: cb230041 sub x1, x2, w3, uxtb
- 6c4: cb230441 sub x1, x2, w3, uxtb #1
- 6c8: cb230841 sub x1, x2, w3, uxtb #2
- 6cc: cb230c41 sub x1, x2, w3, uxtb #3
- 6d0: cb231041 sub x1, x2, w3, uxtb #4
- 6d4: cb232041 sub x1, x2, w3, uxth
- 6d8: cb232441 sub x1, x2, w3, uxth #1
- 6dc: cb232841 sub x1, x2, w3, uxth #2
- 6e0: cb232c41 sub x1, x2, w3, uxth #3
- 6e4: cb233041 sub x1, x2, w3, uxth #4
- 6e8: cb234041 sub x1, x2, w3, uxtw
- 6ec: cb234441 sub x1, x2, w3, uxtw #1
- 6f0: cb234841 sub x1, x2, w3, uxtw #2
- 6f4: cb234c41 sub x1, x2, w3, uxtw #3
- 6f8: cb235041 sub x1, x2, w3, uxtw #4
- 6fc: cb236041 sub x1, x2, x3, uxtx
- 700: cb236441 sub x1, x2, x3, uxtx #1
- 704: cb236841 sub x1, x2, x3, uxtx #2
- 708: cb236c41 sub x1, x2, x3, uxtx #3
- 70c: cb237041 sub x1, x2, x3, uxtx #4
- 710: cb238041 sub x1, x2, w3, sxtb
- 714: cb238441 sub x1, x2, w3, sxtb #1
- 718: cb238841 sub x1, x2, w3, sxtb #2
- 71c: cb238c41 sub x1, x2, w3, sxtb #3
- 720: cb239041 sub x1, x2, w3, sxtb #4
- 724: cb23a041 sub x1, x2, w3, sxth
- 728: cb23a441 sub x1, x2, w3, sxth #1
- 72c: cb23a841 sub x1, x2, w3, sxth #2
- 730: cb23ac41 sub x1, x2, w3, sxth #3
- 734: cb23b041 sub x1, x2, w3, sxth #4
- 738: cb23c041 sub x1, x2, w3, sxtw
- 73c: cb23c441 sub x1, x2, w3, sxtw #1
- 740: cb23c841 sub x1, x2, w3, sxtw #2
- 744: cb23cc41 sub x1, x2, w3, sxtw #3
- 748: cb23d041 sub x1, x2, w3, sxtw #4
- 74c: cb23e041 sub x1, x2, x3, sxtx
- 750: cb23e441 sub x1, x2, x3, sxtx #1
- 754: cb23e841 sub x1, x2, x3, sxtx #2
- 758: cb23ec41 sub x1, x2, x3, sxtx #3
- 75c: cb23f041 sub x1, x2, x3, sxtx #4
- 760: 4b030041 sub w1, w2, w3
- 764: 4b030441 sub w1, w2, w3, lsl #1
- 768: 4b030c41 sub w1, w2, w3, lsl #3
- 76c: 4b031c41 sub w1, w2, w3, lsl #7
- 770: 4b033c41 sub w1, w2, w3, lsl #15
- 774: 4b037c41 sub w1, w2, w3, lsl #31
- 778: 4b430041 sub w1, w2, w3, lsr #0
- 77c: 4b430441 sub w1, w2, w3, lsr #1
- 780: 4b430c41 sub w1, w2, w3, lsr #3
- 784: 4b431c41 sub w1, w2, w3, lsr #7
- 788: 4b433c41 sub w1, w2, w3, lsr #15
- 78c: 4b437c41 sub w1, w2, w3, lsr #31
- 790: 4b830041 sub w1, w2, w3, asr #0
- 794: 4b830441 sub w1, w2, w3, asr #1
- 798: 4b830c41 sub w1, w2, w3, asr #3
- 79c: 4b831c41 sub w1, w2, w3, asr #7
- 7a0: 4b833c41 sub w1, w2, w3, asr #15
- 7a4: 4b837c41 sub w1, w2, w3, asr #31
- 7a8: 4b230041 sub w1, w2, w3, uxtb
- 7ac: 4b230441 sub w1, w2, w3, uxtb #1
- 7b0: 4b230841 sub w1, w2, w3, uxtb #2
- 7b4: 4b230c41 sub w1, w2, w3, uxtb #3
- 7b8: 4b231041 sub w1, w2, w3, uxtb #4
- 7bc: 4b232041 sub w1, w2, w3, uxth
- 7c0: 4b232441 sub w1, w2, w3, uxth #1
- 7c4: 4b232841 sub w1, w2, w3, uxth #2
- 7c8: 4b232c41 sub w1, w2, w3, uxth #3
- 7cc: 4b233041 sub w1, w2, w3, uxth #4
- 7d0: 4b238041 sub w1, w2, w3, sxtb
- 7d4: 4b238441 sub w1, w2, w3, sxtb #1
- 7d8: 4b238841 sub w1, w2, w3, sxtb #2
- 7dc: 4b238c41 sub w1, w2, w3, sxtb #3
- 7e0: 4b239041 sub w1, w2, w3, sxtb #4
- 7e4: 4b23a041 sub w1, w2, w3, sxth
- 7e8: 4b23a441 sub w1, w2, w3, sxth #1
- 7ec: 4b23a841 sub w1, w2, w3, sxth #2
- 7f0: 4b23ac41 sub w1, w2, w3, sxth #3
- 7f4: 4b23b041 sub w1, w2, w3, sxth #4
- 7f8: cb0303e2 neg x2, x3
- 7fc: cb0307e2 neg x2, x3, lsl #1
- 800: cb030fe2 neg x2, x3, lsl #3
- 804: cb031fe2 neg x2, x3, lsl #7
- 808: cb033fe2 neg x2, x3, lsl #15
- 80c: cb037fe2 neg x2, x3, lsl #31
- 810: cb03ffe2 neg x2, x3, lsl #63
- 814: cb4303e2 neg x2, x3, lsr #0
- 818: cb4307e2 neg x2, x3, lsr #1
- 81c: cb430fe2 neg x2, x3, lsr #3
- 820: cb431fe2 neg x2, x3, lsr #7
- 824: cb433fe2 neg x2, x3, lsr #15
- 828: cb437fe2 neg x2, x3, lsr #31
- 82c: cb43ffe2 neg x2, x3, lsr #63
- 830: cb8303e2 neg x2, x3, asr #0
- 834: cb8307e2 neg x2, x3, asr #1
- 838: cb830fe2 neg x2, x3, asr #3
- 83c: cb831fe2 neg x2, x3, asr #7
- 840: cb833fe2 neg x2, x3, asr #15
- 844: cb837fe2 neg x2, x3, asr #31
- 848: cb83ffe2 neg x2, x3, asr #63
- 84c: 4b0303e2 neg w2, w3
- 850: 4b0307e2 neg w2, w3, lsl #1
- 854: 4b030fe2 neg w2, w3, lsl #3
- 858: 4b031fe2 neg w2, w3, lsl #7
- 85c: 4b033fe2 neg w2, w3, lsl #15
- 860: 4b037fe2 neg w2, w3, lsl #31
- 864: 4b4303e2 neg w2, w3, lsr #0
- 868: 4b4307e2 neg w2, w3, lsr #1
- 86c: 4b430fe2 neg w2, w3, lsr #3
- 870: 4b431fe2 neg w2, w3, lsr #7
- 874: 4b433fe2 neg w2, w3, lsr #15
- 878: 4b437fe2 neg w2, w3, lsr #31
- 87c: 4b8303e2 neg w2, w3, asr #0
- 880: 4b8307e2 neg w2, w3, asr #1
- 884: 4b830fe2 neg w2, w3, asr #3
- 888: 4b831fe2 neg w2, w3, asr #7
- 88c: 4b833fe2 neg w2, w3, asr #15
- 890: 4b837fe2 neg w2, w3, asr #31
- 894: eb03005f cmp x2, x3
- 898: eb03045f cmp x2, x3, lsl #1
- 89c: eb030c5f cmp x2, x3, lsl #3
- 8a0: eb031c5f cmp x2, x3, lsl #7
- 8a4: eb033c5f cmp x2, x3, lsl #15
- 8a8: eb037c5f cmp x2, x3, lsl #31
- 8ac: eb03fc5f cmp x2, x3, lsl #63
- 8b0: eb43005f cmp x2, x3, lsr #0
- 8b4: eb43045f cmp x2, x3, lsr #1
- 8b8: eb430c5f cmp x2, x3, lsr #3
- 8bc: eb431c5f cmp x2, x3, lsr #7
- 8c0: eb433c5f cmp x2, x3, lsr #15
- 8c4: eb437c5f cmp x2, x3, lsr #31
- 8c8: eb43fc5f cmp x2, x3, lsr #63
- 8cc: eb83005f cmp x2, x3, asr #0
- 8d0: eb83045f cmp x2, x3, asr #1
- 8d4: eb830c5f cmp x2, x3, asr #3
- 8d8: eb831c5f cmp x2, x3, asr #7
- 8dc: eb833c5f cmp x2, x3, asr #15
- 8e0: eb837c5f cmp x2, x3, asr #31
- 8e4: eb83fc5f cmp x2, x3, asr #63
- 8e8: eb23005f cmp x2, w3, uxtb
- 8ec: eb23045f cmp x2, w3, uxtb #1
- 8f0: eb23085f cmp x2, w3, uxtb #2
- 8f4: eb230c5f cmp x2, w3, uxtb #3
- 8f8: eb23105f cmp x2, w3, uxtb #4
- 8fc: eb23205f cmp x2, w3, uxth
- 900: eb23245f cmp x2, w3, uxth #1
- 904: eb23285f cmp x2, w3, uxth #2
- 908: eb232c5f cmp x2, w3, uxth #3
- 90c: eb23305f cmp x2, w3, uxth #4
- 910: eb23405f cmp x2, w3, uxtw
- 914: eb23445f cmp x2, w3, uxtw #1
- 918: eb23485f cmp x2, w3, uxtw #2
- 91c: eb234c5f cmp x2, w3, uxtw #3
- 920: eb23505f cmp x2, w3, uxtw #4
- 924: eb23805f cmp x2, w3, sxtb
- 928: eb23845f cmp x2, w3, sxtb #1
- 92c: eb23885f cmp x2, w3, sxtb #2
- 930: eb238c5f cmp x2, w3, sxtb #3
- 934: eb23905f cmp x2, w3, sxtb #4
- 938: eb23a05f cmp x2, w3, sxth
- 93c: eb23a45f cmp x2, w3, sxth #1
- 940: eb23a85f cmp x2, w3, sxth #2
- 944: eb23ac5f cmp x2, w3, sxth #3
- 948: eb23b05f cmp x2, w3, sxth #4
- 94c: eb23c05f cmp x2, w3, sxtw
- 950: eb23c45f cmp x2, w3, sxtw #1
- 954: eb23c85f cmp x2, w3, sxtw #2
- 958: eb23cc5f cmp x2, w3, sxtw #3
- 95c: eb23d05f cmp x2, w3, sxtw #4
- 960: 6b03005f cmp w2, w3
- 964: 6b03045f cmp w2, w3, lsl #1
- 968: 6b030c5f cmp w2, w3, lsl #3
- 96c: 6b031c5f cmp w2, w3, lsl #7
- 970: 6b033c5f cmp w2, w3, lsl #15
- 974: 6b037c5f cmp w2, w3, lsl #31
- 978: 6b43005f cmp w2, w3, lsr #0
- 97c: 6b43045f cmp w2, w3, lsr #1
- 980: 6b430c5f cmp w2, w3, lsr #3
- 984: 6b431c5f cmp w2, w3, lsr #7
- 988: 6b433c5f cmp w2, w3, lsr #15
- 98c: 6b437c5f cmp w2, w3, lsr #31
- 990: 6b83005f cmp w2, w3, asr #0
- 994: 6b83045f cmp w2, w3, asr #1
- 998: 6b830c5f cmp w2, w3, asr #3
- 99c: 6b831c5f cmp w2, w3, asr #7
- 9a0: 6b833c5f cmp w2, w3, asr #15
- 9a4: 6b837c5f cmp w2, w3, asr #31
- 9a8: 6b23005f cmp w2, w3, uxtb
- 9ac: 6b23045f cmp w2, w3, uxtb #1
- 9b0: 6b23085f cmp w2, w3, uxtb #2
- 9b4: 6b230c5f cmp w2, w3, uxtb #3
- 9b8: 6b23105f cmp w2, w3, uxtb #4
- 9bc: 6b23205f cmp w2, w3, uxth
- 9c0: 6b23245f cmp w2, w3, uxth #1
- 9c4: 6b23285f cmp w2, w3, uxth #2
- 9c8: 6b232c5f cmp w2, w3, uxth #3
- 9cc: 6b23305f cmp w2, w3, uxth #4
- 9d0: 6b23805f cmp w2, w3, sxtb
- 9d4: 6b23845f cmp w2, w3, sxtb #1
- 9d8: 6b23885f cmp w2, w3, sxtb #2
- 9dc: 6b238c5f cmp w2, w3, sxtb #3
- 9e0: 6b23905f cmp w2, w3, sxtb #4
- 9e4: 6b23a05f cmp w2, w3, sxth
- 9e8: 6b23a45f cmp w2, w3, sxth #1
- 9ec: 6b23a85f cmp w2, w3, sxth #2
- 9f0: 6b23ac5f cmp w2, w3, sxth #3
- 9f4: 6b23b05f cmp w2, w3, sxth #4
- 9f8: ab03005f cmn x2, x3
- 9fc: ab03045f cmn x2, x3, lsl #1
- a00: ab030c5f cmn x2, x3, lsl #3
- a04: ab031c5f cmn x2, x3, lsl #7
- a08: ab033c5f cmn x2, x3, lsl #15
- a0c: ab037c5f cmn x2, x3, lsl #31
- a10: ab03fc5f cmn x2, x3, lsl #63
- a14: ab43005f cmn x2, x3, lsr #0
- a18: ab43045f cmn x2, x3, lsr #1
- a1c: ab430c5f cmn x2, x3, lsr #3
- a20: ab431c5f cmn x2, x3, lsr #7
- a24: ab433c5f cmn x2, x3, lsr #15
- a28: ab437c5f cmn x2, x3, lsr #31
- a2c: ab43fc5f cmn x2, x3, lsr #63
- a30: ab83005f cmn x2, x3, asr #0
- a34: ab83045f cmn x2, x3, asr #1
- a38: ab830c5f cmn x2, x3, asr #3
- a3c: ab831c5f cmn x2, x3, asr #7
- a40: ab833c5f cmn x2, x3, asr #15
- a44: ab837c5f cmn x2, x3, asr #31
- a48: ab83fc5f cmn x2, x3, asr #63
- a4c: ab23005f cmn x2, w3, uxtb
- a50: ab23045f cmn x2, w3, uxtb #1
- a54: ab23085f cmn x2, w3, uxtb #2
- a58: ab230c5f cmn x2, w3, uxtb #3
- a5c: ab23105f cmn x2, w3, uxtb #4
- a60: ab23205f cmn x2, w3, uxth
- a64: ab23245f cmn x2, w3, uxth #1
- a68: ab23285f cmn x2, w3, uxth #2
- a6c: ab232c5f cmn x2, w3, uxth #3
- a70: ab23305f cmn x2, w3, uxth #4
- a74: ab23405f cmn x2, w3, uxtw
- a78: ab23445f cmn x2, w3, uxtw #1
- a7c: ab23485f cmn x2, w3, uxtw #2
- a80: ab234c5f cmn x2, w3, uxtw #3
- a84: ab23505f cmn x2, w3, uxtw #4
- a88: ab23805f cmn x2, w3, sxtb
- a8c: ab23845f cmn x2, w3, sxtb #1
- a90: ab23885f cmn x2, w3, sxtb #2
- a94: ab238c5f cmn x2, w3, sxtb #3
- a98: ab23905f cmn x2, w3, sxtb #4
- a9c: ab23a05f cmn x2, w3, sxth
- aa0: ab23a45f cmn x2, w3, sxth #1
- aa4: ab23a85f cmn x2, w3, sxth #2
- aa8: ab23ac5f cmn x2, w3, sxth #3
- aac: ab23b05f cmn x2, w3, sxth #4
- ab0: ab23c05f cmn x2, w3, sxtw
- ab4: ab23c45f cmn x2, w3, sxtw #1
- ab8: ab23c85f cmn x2, w3, sxtw #2
- abc: ab23cc5f cmn x2, w3, sxtw #3
- ac0: ab23d05f cmn x2, w3, sxtw #4
- ac4: 2b03005f cmn w2, w3
- ac8: 2b03045f cmn w2, w3, lsl #1
- acc: 2b030c5f cmn w2, w3, lsl #3
- ad0: 2b031c5f cmn w2, w3, lsl #7
- ad4: 2b033c5f cmn w2, w3, lsl #15
- ad8: 2b037c5f cmn w2, w3, lsl #31
- adc: 2b43005f cmn w2, w3, lsr #0
- ae0: 2b43045f cmn w2, w3, lsr #1
- ae4: 2b430c5f cmn w2, w3, lsr #3
- ae8: 2b431c5f cmn w2, w3, lsr #7
- aec: 2b433c5f cmn w2, w3, lsr #15
- af0: 2b437c5f cmn w2, w3, lsr #31
- af4: 2b83005f cmn w2, w3, asr #0
- af8: 2b83045f cmn w2, w3, asr #1
- afc: 2b830c5f cmn w2, w3, asr #3
- b00: 2b831c5f cmn w2, w3, asr #7
- b04: 2b833c5f cmn w2, w3, asr #15
- b08: 2b837c5f cmn w2, w3, asr #31
- b0c: 2b23005f cmn w2, w3, uxtb
- b10: 2b23045f cmn w2, w3, uxtb #1
- b14: 2b23085f cmn w2, w3, uxtb #2
- b18: 2b230c5f cmn w2, w3, uxtb #3
- b1c: 2b23105f cmn w2, w3, uxtb #4
- b20: 2b23205f cmn w2, w3, uxth
- b24: 2b23245f cmn w2, w3, uxth #1
- b28: 2b23285f cmn w2, w3, uxth #2
- b2c: 2b232c5f cmn w2, w3, uxth #3
- b30: 2b23305f cmn w2, w3, uxth #4
- b34: 2b23805f cmn w2, w3, sxtb
- b38: 2b23845f cmn w2, w3, sxtb #1
- b3c: 2b23885f cmn w2, w3, sxtb #2
- b40: 2b238c5f cmn w2, w3, sxtb #3
- b44: 2b23905f cmn w2, w3, sxtb #4
- b48: 2b23a05f cmn w2, w3, sxth
- b4c: 2b23a45f cmn w2, w3, sxth #1
- b50: 2b23a85f cmn w2, w3, sxth #2
- b54: 2b23ac5f cmn w2, w3, sxth #3
- b58: 2b23b05f cmn w2, w3, sxth #4
+ *[0-9a-f]+: aa030041 orr x1, x2, x3
+ *[0-9a-f]+: aa030441 orr x1, x2, x3, lsl #1
+ *[0-9a-f]+: aa030c41 orr x1, x2, x3, lsl #3
+ *[0-9a-f]+: aa031c41 orr x1, x2, x3, lsl #7
+ *[0-9a-f]+: aa033c41 orr x1, x2, x3, lsl #15
+ *[0-9a-f]+: aa037c41 orr x1, x2, x3, lsl #31
+ *[0-9a-f]+: aa03fc41 orr x1, x2, x3, lsl #63
+ *[0-9a-f]+: aa430041 orr x1, x2, x3, lsr #0
+ *[0-9a-f]+: aa430441 orr x1, x2, x3, lsr #1
+ *[0-9a-f]+: aa430c41 orr x1, x2, x3, lsr #3
+ *[0-9a-f]+: aa431c41 orr x1, x2, x3, lsr #7
+ *[0-9a-f]+: aa433c41 orr x1, x2, x3, lsr #15
+ *[0-9a-f]+: aa437c41 orr x1, x2, x3, lsr #31
+ *[0-9a-f]+: aa43fc41 orr x1, x2, x3, lsr #63
+ *[0-9a-f]+: aa830041 orr x1, x2, x3, asr #0
+ *[0-9a-f]+: aa830441 orr x1, x2, x3, asr #1
+ *[0-9a-f]+: aa830c41 orr x1, x2, x3, asr #3
+ *[0-9a-f]+: aa831c41 orr x1, x2, x3, asr #7
+ *[0-9a-f]+: aa833c41 orr x1, x2, x3, asr #15
+ *[0-9a-f]+: aa837c41 orr x1, x2, x3, asr #31
+ *[0-9a-f]+: aa83fc41 orr x1, x2, x3, asr #63
+ *[0-9a-f]+: aac30041 orr x1, x2, x3, ror #0
+ *[0-9a-f]+: aac30441 orr x1, x2, x3, ror #1
+ *[0-9a-f]+: aac30c41 orr x1, x2, x3, ror #3
+ *[0-9a-f]+: aac31c41 orr x1, x2, x3, ror #7
+ *[0-9a-f]+: aac33c41 orr x1, x2, x3, ror #15
+ *[0-9a-f]+: aac37c41 orr x1, x2, x3, ror #31
+ *[0-9a-f]+: aac3fc41 orr x1, x2, x3, ror #63
+ *[0-9a-f]+: 2a030041 orr w1, w2, w3
+ *[0-9a-f]+: 2a030441 orr w1, w2, w3, lsl #1
+ *[0-9a-f]+: 2a030c41 orr w1, w2, w3, lsl #3
+ *[0-9a-f]+: 2a031c41 orr w1, w2, w3, lsl #7
+ *[0-9a-f]+: 2a033c41 orr w1, w2, w3, lsl #15
+ *[0-9a-f]+: 2a037c41 orr w1, w2, w3, lsl #31
+ *[0-9a-f]+: 2a430041 orr w1, w2, w3, lsr #0
+ *[0-9a-f]+: 2a430441 orr w1, w2, w3, lsr #1
+ *[0-9a-f]+: 2a430c41 orr w1, w2, w3, lsr #3
+ *[0-9a-f]+: 2a431c41 orr w1, w2, w3, lsr #7
+ *[0-9a-f]+: 2a433c41 orr w1, w2, w3, lsr #15
+ *[0-9a-f]+: 2a437c41 orr w1, w2, w3, lsr #31
+ *[0-9a-f]+: 2a830041 orr w1, w2, w3, asr #0
+ *[0-9a-f]+: 2a830441 orr w1, w2, w3, asr #1
+ *[0-9a-f]+: 2a830c41 orr w1, w2, w3, asr #3
+ *[0-9a-f]+: 2a831c41 orr w1, w2, w3, asr #7
+ *[0-9a-f]+: 2a833c41 orr w1, w2, w3, asr #15
+ *[0-9a-f]+: 2a837c41 orr w1, w2, w3, asr #31
+ *[0-9a-f]+: 2ac30041 orr w1, w2, w3, ror #0
+ *[0-9a-f]+: 2ac30441 orr w1, w2, w3, ror #1
+ *[0-9a-f]+: 2ac30c41 orr w1, w2, w3, ror #3
+ *[0-9a-f]+: 2ac31c41 orr w1, w2, w3, ror #7
+ *[0-9a-f]+: 2ac33c41 orr w1, w2, w3, ror #15
+ *[0-9a-f]+: 2ac37c41 orr w1, w2, w3, ror #31
+ *[0-9a-f]+: 8a030041 and x1, x2, x3
+ *[0-9a-f]+: 8a030441 and x1, x2, x3, lsl #1
+ *[0-9a-f]+: 8a030c41 and x1, x2, x3, lsl #3
+ *[0-9a-f]+: 8a031c41 and x1, x2, x3, lsl #7
+ *[0-9a-f]+: 8a033c41 and x1, x2, x3, lsl #15
+ *[0-9a-f]+: 8a037c41 and x1, x2, x3, lsl #31
+ *[0-9a-f]+: 8a03fc41 and x1, x2, x3, lsl #63
+ *[0-9a-f]+: 8a430041 and x1, x2, x3, lsr #0
+ *[0-9a-f]+: 8a430441 and x1, x2, x3, lsr #1
+ *[0-9a-f]+: 8a430c41 and x1, x2, x3, lsr #3
+ *[0-9a-f]+: 8a431c41 and x1, x2, x3, lsr #7
+ *[0-9a-f]+: 8a433c41 and x1, x2, x3, lsr #15
+ *[0-9a-f]+: 8a437c41 and x1, x2, x3, lsr #31
+ *[0-9a-f]+: 8a43fc41 and x1, x2, x3, lsr #63
+ *[0-9a-f]+: 8a830041 and x1, x2, x3, asr #0
+ *[0-9a-f]+: 8a830441 and x1, x2, x3, asr #1
+ *[0-9a-f]+: 8a830c41 and x1, x2, x3, asr #3
+ *[0-9a-f]+: 8a831c41 and x1, x2, x3, asr #7
+ *[0-9a-f]+: 8a833c41 and x1, x2, x3, asr #15
+ *[0-9a-f]+: 8a837c41 and x1, x2, x3, asr #31
+ *[0-9a-f]+: 8a83fc41 and x1, x2, x3, asr #63
+ *[0-9a-f]+: 8ac30041 and x1, x2, x3, ror #0
+ *[0-9a-f]+: 8ac30441 and x1, x2, x3, ror #1
+ *[0-9a-f]+: 8ac30c41 and x1, x2, x3, ror #3
+ *[0-9a-f]+: 8ac31c41 and x1, x2, x3, ror #7
+ *[0-9a-f]+: 8ac33c41 and x1, x2, x3, ror #15
+ *[0-9a-f]+: 8ac37c41 and x1, x2, x3, ror #31
+ *[0-9a-f]+: 8ac3fc41 and x1, x2, x3, ror #63
+ *[0-9a-f]+: 0a030041 and w1, w2, w3
+ *[0-9a-f]+: 0a030441 and w1, w2, w3, lsl #1
+ *[0-9a-f]+: 0a030c41 and w1, w2, w3, lsl #3
+ *[0-9a-f]+: 0a031c41 and w1, w2, w3, lsl #7
+ *[0-9a-f]+: 0a033c41 and w1, w2, w3, lsl #15
+ *[0-9a-f]+: 0a037c41 and w1, w2, w3, lsl #31
+ *[0-9a-f]+: 0a430041 and w1, w2, w3, lsr #0
+ *[0-9a-f]+: 0a430441 and w1, w2, w3, lsr #1
+ *[0-9a-f]+: 0a430c41 and w1, w2, w3, lsr #3
+ *[0-9a-f]+: 0a431c41 and w1, w2, w3, lsr #7
+ *[0-9a-f]+: 0a433c41 and w1, w2, w3, lsr #15
+ *[0-9a-f]+: 0a437c41 and w1, w2, w3, lsr #31
+ *[0-9a-f]+: 0a830041 and w1, w2, w3, asr #0
+ *[0-9a-f]+: 0a830441 and w1, w2, w3, asr #1
+ *[0-9a-f]+: 0a830c41 and w1, w2, w3, asr #3
+ *[0-9a-f]+: 0a831c41 and w1, w2, w3, asr #7
+ *[0-9a-f]+: 0a833c41 and w1, w2, w3, asr #15
+ *[0-9a-f]+: 0a837c41 and w1, w2, w3, asr #31
+ *[0-9a-f]+: 0ac30041 and w1, w2, w3, ror #0
+ *[0-9a-f]+: 0ac30441 and w1, w2, w3, ror #1
+ *[0-9a-f]+: 0ac30c41 and w1, w2, w3, ror #3
+ *[0-9a-f]+: 0ac31c41 and w1, w2, w3, ror #7
+ *[0-9a-f]+: 0ac33c41 and w1, w2, w3, ror #15
+ *[0-9a-f]+: 0ac37c41 and w1, w2, w3, ror #31
+ *[0-9a-f]+: ca030041 eor x1, x2, x3
+ *[0-9a-f]+: ca030441 eor x1, x2, x3, lsl #1
+ *[0-9a-f]+: ca030c41 eor x1, x2, x3, lsl #3
+ *[0-9a-f]+: ca031c41 eor x1, x2, x3, lsl #7
+ *[0-9a-f]+: ca033c41 eor x1, x2, x3, lsl #15
+ *[0-9a-f]+: ca037c41 eor x1, x2, x3, lsl #31
+ *[0-9a-f]+: ca03fc41 eor x1, x2, x3, lsl #63
+ *[0-9a-f]+: ca430041 eor x1, x2, x3, lsr #0
+ *[0-9a-f]+: ca430441 eor x1, x2, x3, lsr #1
+ *[0-9a-f]+: ca430c41 eor x1, x2, x3, lsr #3
+ *[0-9a-f]+: ca431c41 eor x1, x2, x3, lsr #7
+ *[0-9a-f]+: ca433c41 eor x1, x2, x3, lsr #15
+ *[0-9a-f]+: ca437c41 eor x1, x2, x3, lsr #31
+ *[0-9a-f]+: ca43fc41 eor x1, x2, x3, lsr #63
+ *[0-9a-f]+: ca830041 eor x1, x2, x3, asr #0
+ *[0-9a-f]+: ca830441 eor x1, x2, x3, asr #1
+ *[0-9a-f]+: ca830c41 eor x1, x2, x3, asr #3
+ *[0-9a-f]+: ca831c41 eor x1, x2, x3, asr #7
+ *[0-9a-f]+: ca833c41 eor x1, x2, x3, asr #15
+ *[0-9a-f]+: ca837c41 eor x1, x2, x3, asr #31
+ *[0-9a-f]+: ca83fc41 eor x1, x2, x3, asr #63
+ *[0-9a-f]+: cac30041 eor x1, x2, x3, ror #0
+ *[0-9a-f]+: cac30441 eor x1, x2, x3, ror #1
+ *[0-9a-f]+: cac30c41 eor x1, x2, x3, ror #3
+ *[0-9a-f]+: cac31c41 eor x1, x2, x3, ror #7
+ *[0-9a-f]+: cac33c41 eor x1, x2, x3, ror #15
+ *[0-9a-f]+: cac37c41 eor x1, x2, x3, ror #31
+ *[0-9a-f]+: cac3fc41 eor x1, x2, x3, ror #63
+ *[0-9a-f]+: 4a030041 eor w1, w2, w3
+ *[0-9a-f]+: 4a030441 eor w1, w2, w3, lsl #1
+ *[0-9a-f]+: 4a030c41 eor w1, w2, w3, lsl #3
+ *[0-9a-f]+: 4a031c41 eor w1, w2, w3, lsl #7
+ *[0-9a-f]+: 4a033c41 eor w1, w2, w3, lsl #15
+ *[0-9a-f]+: 4a037c41 eor w1, w2, w3, lsl #31
+ *[0-9a-f]+: 4a430041 eor w1, w2, w3, lsr #0
+ *[0-9a-f]+: 4a430441 eor w1, w2, w3, lsr #1
+ *[0-9a-f]+: 4a430c41 eor w1, w2, w3, lsr #3
+ *[0-9a-f]+: 4a431c41 eor w1, w2, w3, lsr #7
+ *[0-9a-f]+: 4a433c41 eor w1, w2, w3, lsr #15
+ *[0-9a-f]+: 4a437c41 eor w1, w2, w3, lsr #31
+ *[0-9a-f]+: 4a830041 eor w1, w2, w3, asr #0
+ *[0-9a-f]+: 4a830441 eor w1, w2, w3, asr #1
+ *[0-9a-f]+: 4a830c41 eor w1, w2, w3, asr #3
+ *[0-9a-f]+: 4a831c41 eor w1, w2, w3, asr #7
+ *[0-9a-f]+: 4a833c41 eor w1, w2, w3, asr #15
+ *[0-9a-f]+: 4a837c41 eor w1, w2, w3, asr #31
+ *[0-9a-f]+: 4ac30041 eor w1, w2, w3, ror #0
+ *[0-9a-f]+: 4ac30441 eor w1, w2, w3, ror #1
+ *[0-9a-f]+: 4ac30c41 eor w1, w2, w3, ror #3
+ *[0-9a-f]+: 4ac31c41 eor w1, w2, w3, ror #7
+ *[0-9a-f]+: 4ac33c41 eor w1, w2, w3, ror #15
+ *[0-9a-f]+: 4ac37c41 eor w1, w2, w3, ror #31
+ *[0-9a-f]+: 8a230041 bic x1, x2, x3
+ *[0-9a-f]+: 8a230441 bic x1, x2, x3, lsl #1
+ *[0-9a-f]+: 8a230c41 bic x1, x2, x3, lsl #3
+ *[0-9a-f]+: 8a231c41 bic x1, x2, x3, lsl #7
+ *[0-9a-f]+: 8a233c41 bic x1, x2, x3, lsl #15
+ *[0-9a-f]+: 8a237c41 bic x1, x2, x3, lsl #31
+ *[0-9a-f]+: 8a23fc41 bic x1, x2, x3, lsl #63
+ *[0-9a-f]+: 8a630041 bic x1, x2, x3, lsr #0
+ *[0-9a-f]+: 8a630441 bic x1, x2, x3, lsr #1
+ *[0-9a-f]+: 8a630c41 bic x1, x2, x3, lsr #3
+ *[0-9a-f]+: 8a631c41 bic x1, x2, x3, lsr #7
+ *[0-9a-f]+: 8a633c41 bic x1, x2, x3, lsr #15
+ *[0-9a-f]+: 8a637c41 bic x1, x2, x3, lsr #31
+ *[0-9a-f]+: 8a63fc41 bic x1, x2, x3, lsr #63
+ *[0-9a-f]+: 8aa30041 bic x1, x2, x3, asr #0
+ *[0-9a-f]+: 8aa30441 bic x1, x2, x3, asr #1
+ *[0-9a-f]+: 8aa30c41 bic x1, x2, x3, asr #3
+ *[0-9a-f]+: 8aa31c41 bic x1, x2, x3, asr #7
+ *[0-9a-f]+: 8aa33c41 bic x1, x2, x3, asr #15
+ *[0-9a-f]+: 8aa37c41 bic x1, x2, x3, asr #31
+ *[0-9a-f]+: 8aa3fc41 bic x1, x2, x3, asr #63
+ *[0-9a-f]+: 8ae30041 bic x1, x2, x3, ror #0
+ *[0-9a-f]+: 8ae30441 bic x1, x2, x3, ror #1
+ *[0-9a-f]+: 8ae30c41 bic x1, x2, x3, ror #3
+ *[0-9a-f]+: 8ae31c41 bic x1, x2, x3, ror #7
+ *[0-9a-f]+: 8ae33c41 bic x1, x2, x3, ror #15
+ *[0-9a-f]+: 8ae37c41 bic x1, x2, x3, ror #31
+ *[0-9a-f]+: 8ae3fc41 bic x1, x2, x3, ror #63
+ *[0-9a-f]+: 0a230041 bic w1, w2, w3
+ *[0-9a-f]+: 0a230441 bic w1, w2, w3, lsl #1
+ *[0-9a-f]+: 0a230c41 bic w1, w2, w3, lsl #3
+ *[0-9a-f]+: 0a231c41 bic w1, w2, w3, lsl #7
+ *[0-9a-f]+: 0a233c41 bic w1, w2, w3, lsl #15
+ *[0-9a-f]+: 0a237c41 bic w1, w2, w3, lsl #31
+ *[0-9a-f]+: 0a630041 bic w1, w2, w3, lsr #0
+ *[0-9a-f]+: 0a630441 bic w1, w2, w3, lsr #1
+ *[0-9a-f]+: 0a630c41 bic w1, w2, w3, lsr #3
+ *[0-9a-f]+: 0a631c41 bic w1, w2, w3, lsr #7
+ *[0-9a-f]+: 0a633c41 bic w1, w2, w3, lsr #15
+ *[0-9a-f]+: 0a637c41 bic w1, w2, w3, lsr #31
+ *[0-9a-f]+: 0aa30041 bic w1, w2, w3, asr #0
+ *[0-9a-f]+: 0aa30441 bic w1, w2, w3, asr #1
+ *[0-9a-f]+: 0aa30c41 bic w1, w2, w3, asr #3
+ *[0-9a-f]+: 0aa31c41 bic w1, w2, w3, asr #7
+ *[0-9a-f]+: 0aa33c41 bic w1, w2, w3, asr #15
+ *[0-9a-f]+: 0aa37c41 bic w1, w2, w3, asr #31
+ *[0-9a-f]+: 0ae30041 bic w1, w2, w3, ror #0
+ *[0-9a-f]+: 0ae30441 bic w1, w2, w3, ror #1
+ *[0-9a-f]+: 0ae30c41 bic w1, w2, w3, ror #3
+ *[0-9a-f]+: 0ae31c41 bic w1, w2, w3, ror #7
+ *[0-9a-f]+: 0ae33c41 bic w1, w2, w3, ror #15
+ *[0-9a-f]+: 0ae37c41 bic w1, w2, w3, ror #31
+ *[0-9a-f]+: aa230041 orn x1, x2, x3
+ *[0-9a-f]+: aa230441 orn x1, x2, x3, lsl #1
+ *[0-9a-f]+: aa230c41 orn x1, x2, x3, lsl #3
+ *[0-9a-f]+: aa231c41 orn x1, x2, x3, lsl #7
+ *[0-9a-f]+: aa233c41 orn x1, x2, x3, lsl #15
+ *[0-9a-f]+: aa237c41 orn x1, x2, x3, lsl #31
+ *[0-9a-f]+: aa23fc41 orn x1, x2, x3, lsl #63
+ *[0-9a-f]+: aa630041 orn x1, x2, x3, lsr #0
+ *[0-9a-f]+: aa630441 orn x1, x2, x3, lsr #1
+ *[0-9a-f]+: aa630c41 orn x1, x2, x3, lsr #3
+ *[0-9a-f]+: aa631c41 orn x1, x2, x3, lsr #7
+ *[0-9a-f]+: aa633c41 orn x1, x2, x3, lsr #15
+ *[0-9a-f]+: aa637c41 orn x1, x2, x3, lsr #31
+ *[0-9a-f]+: aa63fc41 orn x1, x2, x3, lsr #63
+ *[0-9a-f]+: aaa30041 orn x1, x2, x3, asr #0
+ *[0-9a-f]+: aaa30441 orn x1, x2, x3, asr #1
+ *[0-9a-f]+: aaa30c41 orn x1, x2, x3, asr #3
+ *[0-9a-f]+: aaa31c41 orn x1, x2, x3, asr #7
+ *[0-9a-f]+: aaa33c41 orn x1, x2, x3, asr #15
+ *[0-9a-f]+: aaa37c41 orn x1, x2, x3, asr #31
+ *[0-9a-f]+: aaa3fc41 orn x1, x2, x3, asr #63
+ *[0-9a-f]+: aae30041 orn x1, x2, x3, ror #0
+ *[0-9a-f]+: aae30441 orn x1, x2, x3, ror #1
+ *[0-9a-f]+: aae30c41 orn x1, x2, x3, ror #3
+ *[0-9a-f]+: aae31c41 orn x1, x2, x3, ror #7
+ *[0-9a-f]+: aae33c41 orn x1, x2, x3, ror #15
+ *[0-9a-f]+: aae37c41 orn x1, x2, x3, ror #31
+ *[0-9a-f]+: aae3fc41 orn x1, x2, x3, ror #63
+ *[0-9a-f]+: 2a230041 orn w1, w2, w3
+ *[0-9a-f]+: 2a230441 orn w1, w2, w3, lsl #1
+ *[0-9a-f]+: 2a230c41 orn w1, w2, w3, lsl #3
+ *[0-9a-f]+: 2a231c41 orn w1, w2, w3, lsl #7
+ *[0-9a-f]+: 2a233c41 orn w1, w2, w3, lsl #15
+ *[0-9a-f]+: 2a237c41 orn w1, w2, w3, lsl #31
+ *[0-9a-f]+: 2a630041 orn w1, w2, w3, lsr #0
+ *[0-9a-f]+: 2a630441 orn w1, w2, w3, lsr #1
+ *[0-9a-f]+: 2a630c41 orn w1, w2, w3, lsr #3
+ *[0-9a-f]+: 2a631c41 orn w1, w2, w3, lsr #7
+ *[0-9a-f]+: 2a633c41 orn w1, w2, w3, lsr #15
+ *[0-9a-f]+: 2a637c41 orn w1, w2, w3, lsr #31
+ *[0-9a-f]+: 2aa30041 orn w1, w2, w3, asr #0
+ *[0-9a-f]+: 2aa30441 orn w1, w2, w3, asr #1
+ *[0-9a-f]+: 2aa30c41 orn w1, w2, w3, asr #3
+ *[0-9a-f]+: 2aa31c41 orn w1, w2, w3, asr #7
+ *[0-9a-f]+: 2aa33c41 orn w1, w2, w3, asr #15
+ *[0-9a-f]+: 2aa37c41 orn w1, w2, w3, asr #31
+ *[0-9a-f]+: 2ae30041 orn w1, w2, w3, ror #0
+ *[0-9a-f]+: 2ae30441 orn w1, w2, w3, ror #1
+ *[0-9a-f]+: 2ae30c41 orn w1, w2, w3, ror #3
+ *[0-9a-f]+: 2ae31c41 orn w1, w2, w3, ror #7
+ *[0-9a-f]+: 2ae33c41 orn w1, w2, w3, ror #15
+ *[0-9a-f]+: 2ae37c41 orn w1, w2, w3, ror #31
+ *[0-9a-f]+: ca230041 eon x1, x2, x3
+ *[0-9a-f]+: ca230441 eon x1, x2, x3, lsl #1
+ *[0-9a-f]+: ca230c41 eon x1, x2, x3, lsl #3
+ *[0-9a-f]+: ca231c41 eon x1, x2, x3, lsl #7
+ *[0-9a-f]+: ca233c41 eon x1, x2, x3, lsl #15
+ *[0-9a-f]+: ca237c41 eon x1, x2, x3, lsl #31
+ *[0-9a-f]+: ca23fc41 eon x1, x2, x3, lsl #63
+ *[0-9a-f]+: ca630041 eon x1, x2, x3, lsr #0
+ *[0-9a-f]+: ca630441 eon x1, x2, x3, lsr #1
+ *[0-9a-f]+: ca630c41 eon x1, x2, x3, lsr #3
+ *[0-9a-f]+: ca631c41 eon x1, x2, x3, lsr #7
+ *[0-9a-f]+: ca633c41 eon x1, x2, x3, lsr #15
+ *[0-9a-f]+: ca637c41 eon x1, x2, x3, lsr #31
+ *[0-9a-f]+: ca63fc41 eon x1, x2, x3, lsr #63
+ *[0-9a-f]+: caa30041 eon x1, x2, x3, asr #0
+ *[0-9a-f]+: caa30441 eon x1, x2, x3, asr #1
+ *[0-9a-f]+: caa30c41 eon x1, x2, x3, asr #3
+ *[0-9a-f]+: caa31c41 eon x1, x2, x3, asr #7
+ *[0-9a-f]+: caa33c41 eon x1, x2, x3, asr #15
+ *[0-9a-f]+: caa37c41 eon x1, x2, x3, asr #31
+ *[0-9a-f]+: caa3fc41 eon x1, x2, x3, asr #63
+ *[0-9a-f]+: cae30041 eon x1, x2, x3, ror #0
+ *[0-9a-f]+: cae30441 eon x1, x2, x3, ror #1
+ *[0-9a-f]+: cae30c41 eon x1, x2, x3, ror #3
+ *[0-9a-f]+: cae31c41 eon x1, x2, x3, ror #7
+ *[0-9a-f]+: cae33c41 eon x1, x2, x3, ror #15
+ *[0-9a-f]+: cae37c41 eon x1, x2, x3, ror #31
+ *[0-9a-f]+: cae3fc41 eon x1, x2, x3, ror #63
+ *[0-9a-f]+: 4a230041 eon w1, w2, w3
+ *[0-9a-f]+: 4a230441 eon w1, w2, w3, lsl #1
+ *[0-9a-f]+: 4a230c41 eon w1, w2, w3, lsl #3
+ *[0-9a-f]+: 4a231c41 eon w1, w2, w3, lsl #7
+ *[0-9a-f]+: 4a233c41 eon w1, w2, w3, lsl #15
+ *[0-9a-f]+: 4a237c41 eon w1, w2, w3, lsl #31
+ *[0-9a-f]+: 4a630041 eon w1, w2, w3, lsr #0
+ *[0-9a-f]+: 4a630441 eon w1, w2, w3, lsr #1
+ *[0-9a-f]+: 4a630c41 eon w1, w2, w3, lsr #3
+ *[0-9a-f]+: 4a631c41 eon w1, w2, w3, lsr #7
+ *[0-9a-f]+: 4a633c41 eon w1, w2, w3, lsr #15
+ *[0-9a-f]+: 4a637c41 eon w1, w2, w3, lsr #31
+ *[0-9a-f]+: 4aa30041 eon w1, w2, w3, asr #0
+ *[0-9a-f]+: 4aa30441 eon w1, w2, w3, asr #1
+ *[0-9a-f]+: 4aa30c41 eon w1, w2, w3, asr #3
+ *[0-9a-f]+: 4aa31c41 eon w1, w2, w3, asr #7
+ *[0-9a-f]+: 4aa33c41 eon w1, w2, w3, asr #15
+ *[0-9a-f]+: 4aa37c41 eon w1, w2, w3, asr #31
+ *[0-9a-f]+: 4ae30041 eon w1, w2, w3, ror #0
+ *[0-9a-f]+: 4ae30441 eon w1, w2, w3, ror #1
+ *[0-9a-f]+: 4ae30c41 eon w1, w2, w3, ror #3
+ *[0-9a-f]+: 4ae31c41 eon w1, w2, w3, ror #7
+ *[0-9a-f]+: 4ae33c41 eon w1, w2, w3, ror #15
+ *[0-9a-f]+: 4ae37c41 eon w1, w2, w3, ror #31
+ *[0-9a-f]+: ea030041 ands x1, x2, x3
+ *[0-9a-f]+: ea030441 ands x1, x2, x3, lsl #1
+ *[0-9a-f]+: ea030c41 ands x1, x2, x3, lsl #3
+ *[0-9a-f]+: ea031c41 ands x1, x2, x3, lsl #7
+ *[0-9a-f]+: ea033c41 ands x1, x2, x3, lsl #15
+ *[0-9a-f]+: ea037c41 ands x1, x2, x3, lsl #31
+ *[0-9a-f]+: ea03fc41 ands x1, x2, x3, lsl #63
+ *[0-9a-f]+: ea430041 ands x1, x2, x3, lsr #0
+ *[0-9a-f]+: ea430441 ands x1, x2, x3, lsr #1
+ *[0-9a-f]+: ea430c41 ands x1, x2, x3, lsr #3
+ *[0-9a-f]+: ea431c41 ands x1, x2, x3, lsr #7
+ *[0-9a-f]+: ea433c41 ands x1, x2, x3, lsr #15
+ *[0-9a-f]+: ea437c41 ands x1, x2, x3, lsr #31
+ *[0-9a-f]+: ea43fc41 ands x1, x2, x3, lsr #63
+ *[0-9a-f]+: ea830041 ands x1, x2, x3, asr #0
+ *[0-9a-f]+: ea830441 ands x1, x2, x3, asr #1
+ *[0-9a-f]+: ea830c41 ands x1, x2, x3, asr #3
+ *[0-9a-f]+: ea831c41 ands x1, x2, x3, asr #7
+ *[0-9a-f]+: ea833c41 ands x1, x2, x3, asr #15
+ *[0-9a-f]+: ea837c41 ands x1, x2, x3, asr #31
+ *[0-9a-f]+: ea83fc41 ands x1, x2, x3, asr #63
+ *[0-9a-f]+: eac30041 ands x1, x2, x3, ror #0
+ *[0-9a-f]+: eac30441 ands x1, x2, x3, ror #1
+ *[0-9a-f]+: eac30c41 ands x1, x2, x3, ror #3
+ *[0-9a-f]+: eac31c41 ands x1, x2, x3, ror #7
+ *[0-9a-f]+: eac33c41 ands x1, x2, x3, ror #15
+ *[0-9a-f]+: eac37c41 ands x1, x2, x3, ror #31
+ *[0-9a-f]+: eac3fc41 ands x1, x2, x3, ror #63
+ *[0-9a-f]+: 6a030041 ands w1, w2, w3
+ *[0-9a-f]+: 6a030441 ands w1, w2, w3, lsl #1
+ *[0-9a-f]+: 6a030c41 ands w1, w2, w3, lsl #3
+ *[0-9a-f]+: 6a031c41 ands w1, w2, w3, lsl #7
+ *[0-9a-f]+: 6a033c41 ands w1, w2, w3, lsl #15
+ *[0-9a-f]+: 6a037c41 ands w1, w2, w3, lsl #31
+ *[0-9a-f]+: 6a430041 ands w1, w2, w3, lsr #0
+ *[0-9a-f]+: 6a430441 ands w1, w2, w3, lsr #1
+ *[0-9a-f]+: 6a430c41 ands w1, w2, w3, lsr #3
+ *[0-9a-f]+: 6a431c41 ands w1, w2, w3, lsr #7
+ *[0-9a-f]+: 6a433c41 ands w1, w2, w3, lsr #15
+ *[0-9a-f]+: 6a437c41 ands w1, w2, w3, lsr #31
+ *[0-9a-f]+: 6a830041 ands w1, w2, w3, asr #0
+ *[0-9a-f]+: 6a830441 ands w1, w2, w3, asr #1
+ *[0-9a-f]+: 6a830c41 ands w1, w2, w3, asr #3
+ *[0-9a-f]+: 6a831c41 ands w1, w2, w3, asr #7
+ *[0-9a-f]+: 6a833c41 ands w1, w2, w3, asr #15
+ *[0-9a-f]+: 6a837c41 ands w1, w2, w3, asr #31
+ *[0-9a-f]+: 6ac30041 ands w1, w2, w3, ror #0
+ *[0-9a-f]+: 6ac30441 ands w1, w2, w3, ror #1
+ *[0-9a-f]+: 6ac30c41 ands w1, w2, w3, ror #3
+ *[0-9a-f]+: 6ac31c41 ands w1, w2, w3, ror #7
+ *[0-9a-f]+: 6ac33c41 ands w1, w2, w3, ror #15
+ *[0-9a-f]+: 6ac37c41 ands w1, w2, w3, ror #31
+ *[0-9a-f]+: ea230041 bics x1, x2, x3
+ *[0-9a-f]+: ea230441 bics x1, x2, x3, lsl #1
+ *[0-9a-f]+: ea230c41 bics x1, x2, x3, lsl #3
+ *[0-9a-f]+: ea231c41 bics x1, x2, x3, lsl #7
+ *[0-9a-f]+: ea233c41 bics x1, x2, x3, lsl #15
+ *[0-9a-f]+: ea237c41 bics x1, x2, x3, lsl #31
+ *[0-9a-f]+: ea23fc41 bics x1, x2, x3, lsl #63
+ *[0-9a-f]+: ea630041 bics x1, x2, x3, lsr #0
+ *[0-9a-f]+: ea630441 bics x1, x2, x3, lsr #1
+ *[0-9a-f]+: ea630c41 bics x1, x2, x3, lsr #3
+ *[0-9a-f]+: ea631c41 bics x1, x2, x3, lsr #7
+ *[0-9a-f]+: ea633c41 bics x1, x2, x3, lsr #15
+ *[0-9a-f]+: ea637c41 bics x1, x2, x3, lsr #31
+ *[0-9a-f]+: ea63fc41 bics x1, x2, x3, lsr #63
+ *[0-9a-f]+: eaa30041 bics x1, x2, x3, asr #0
+ *[0-9a-f]+: eaa30441 bics x1, x2, x3, asr #1
+ *[0-9a-f]+: eaa30c41 bics x1, x2, x3, asr #3
+ *[0-9a-f]+: eaa31c41 bics x1, x2, x3, asr #7
+ *[0-9a-f]+: eaa33c41 bics x1, x2, x3, asr #15
+ *[0-9a-f]+: eaa37c41 bics x1, x2, x3, asr #31
+ *[0-9a-f]+: eaa3fc41 bics x1, x2, x3, asr #63
+ *[0-9a-f]+: eae30041 bics x1, x2, x3, ror #0
+ *[0-9a-f]+: eae30441 bics x1, x2, x3, ror #1
+ *[0-9a-f]+: eae30c41 bics x1, x2, x3, ror #3
+ *[0-9a-f]+: eae31c41 bics x1, x2, x3, ror #7
+ *[0-9a-f]+: eae33c41 bics x1, x2, x3, ror #15
+ *[0-9a-f]+: eae37c41 bics x1, x2, x3, ror #31
+ *[0-9a-f]+: eae3fc41 bics x1, x2, x3, ror #63
+ *[0-9a-f]+: 6a230041 bics w1, w2, w3
+ *[0-9a-f]+: 6a230441 bics w1, w2, w3, lsl #1
+ *[0-9a-f]+: 6a230c41 bics w1, w2, w3, lsl #3
+ *[0-9a-f]+: 6a231c41 bics w1, w2, w3, lsl #7
+ *[0-9a-f]+: 6a233c41 bics w1, w2, w3, lsl #15
+ *[0-9a-f]+: 6a237c41 bics w1, w2, w3, lsl #31
+ *[0-9a-f]+: 6a630041 bics w1, w2, w3, lsr #0
+ *[0-9a-f]+: 6a630441 bics w1, w2, w3, lsr #1
+ *[0-9a-f]+: 6a630c41 bics w1, w2, w3, lsr #3
+ *[0-9a-f]+: 6a631c41 bics w1, w2, w3, lsr #7
+ *[0-9a-f]+: 6a633c41 bics w1, w2, w3, lsr #15
+ *[0-9a-f]+: 6a637c41 bics w1, w2, w3, lsr #31
+ *[0-9a-f]+: 6aa30041 bics w1, w2, w3, asr #0
+ *[0-9a-f]+: 6aa30441 bics w1, w2, w3, asr #1
+ *[0-9a-f]+: 6aa30c41 bics w1, w2, w3, asr #3
+ *[0-9a-f]+: 6aa31c41 bics w1, w2, w3, asr #7
+ *[0-9a-f]+: 6aa33c41 bics w1, w2, w3, asr #15
+ *[0-9a-f]+: 6aa37c41 bics w1, w2, w3, asr #31
+ *[0-9a-f]+: 6ae30041 bics w1, w2, w3, ror #0
+ *[0-9a-f]+: 6ae30441 bics w1, w2, w3, ror #1
+ *[0-9a-f]+: 6ae30c41 bics w1, w2, w3, ror #3
+ *[0-9a-f]+: 6ae31c41 bics w1, w2, w3, ror #7
+ *[0-9a-f]+: 6ae33c41 bics w1, w2, w3, ror #15
+ *[0-9a-f]+: 6ae37c41 bics w1, w2, w3, ror #31
+ *[0-9a-f]+: 8b030041 add x1, x2, x3
+ *[0-9a-f]+: 8b030441 add x1, x2, x3, lsl #1
+ *[0-9a-f]+: 8b030c41 add x1, x2, x3, lsl #3
+ *[0-9a-f]+: 8b031c41 add x1, x2, x3, lsl #7
+ *[0-9a-f]+: 8b033c41 add x1, x2, x3, lsl #15
+ *[0-9a-f]+: 8b037c41 add x1, x2, x3, lsl #31
+ *[0-9a-f]+: 8b03fc41 add x1, x2, x3, lsl #63
+ *[0-9a-f]+: 8b430041 add x1, x2, x3, lsr #0
+ *[0-9a-f]+: 8b430441 add x1, x2, x3, lsr #1
+ *[0-9a-f]+: 8b430c41 add x1, x2, x3, lsr #3
+ *[0-9a-f]+: 8b431c41 add x1, x2, x3, lsr #7
+ *[0-9a-f]+: 8b433c41 add x1, x2, x3, lsr #15
+ *[0-9a-f]+: 8b437c41 add x1, x2, x3, lsr #31
+ *[0-9a-f]+: 8b43fc41 add x1, x2, x3, lsr #63
+ *[0-9a-f]+: 8b830041 add x1, x2, x3, asr #0
+ *[0-9a-f]+: 8b830441 add x1, x2, x3, asr #1
+ *[0-9a-f]+: 8b830c41 add x1, x2, x3, asr #3
+ *[0-9a-f]+: 8b831c41 add x1, x2, x3, asr #7
+ *[0-9a-f]+: 8b833c41 add x1, x2, x3, asr #15
+ *[0-9a-f]+: 8b837c41 add x1, x2, x3, asr #31
+ *[0-9a-f]+: 8b83fc41 add x1, x2, x3, asr #63
+ *[0-9a-f]+: 8b230041 add x1, x2, w3, uxtb
+ *[0-9a-f]+: 8b230441 add x1, x2, w3, uxtb #1
+ *[0-9a-f]+: 8b230841 add x1, x2, w3, uxtb #2
+ *[0-9a-f]+: 8b230c41 add x1, x2, w3, uxtb #3
+ *[0-9a-f]+: 8b231041 add x1, x2, w3, uxtb #4
+ *[0-9a-f]+: 8b232041 add x1, x2, w3, uxth
+ *[0-9a-f]+: 8b232441 add x1, x2, w3, uxth #1
+ *[0-9a-f]+: 8b232841 add x1, x2, w3, uxth #2
+ *[0-9a-f]+: 8b232c41 add x1, x2, w3, uxth #3
+ *[0-9a-f]+: 8b233041 add x1, x2, w3, uxth #4
+ *[0-9a-f]+: 8b234041 add x1, x2, w3, uxtw
+ *[0-9a-f]+: 8b234441 add x1, x2, w3, uxtw #1
+ *[0-9a-f]+: 8b234841 add x1, x2, w3, uxtw #2
+ *[0-9a-f]+: 8b234c41 add x1, x2, w3, uxtw #3
+ *[0-9a-f]+: 8b235041 add x1, x2, w3, uxtw #4
+ *[0-9a-f]+: 8b236041 add x1, x2, x3, uxtx
+ *[0-9a-f]+: 8b236441 add x1, x2, x3, uxtx #1
+ *[0-9a-f]+: 8b236841 add x1, x2, x3, uxtx #2
+ *[0-9a-f]+: 8b236c41 add x1, x2, x3, uxtx #3
+ *[0-9a-f]+: 8b237041 add x1, x2, x3, uxtx #4
+ *[0-9a-f]+: 8b238041 add x1, x2, w3, sxtb
+ *[0-9a-f]+: 8b238441 add x1, x2, w3, sxtb #1
+ *[0-9a-f]+: 8b238841 add x1, x2, w3, sxtb #2
+ *[0-9a-f]+: 8b238c41 add x1, x2, w3, sxtb #3
+ *[0-9a-f]+: 8b239041 add x1, x2, w3, sxtb #4
+ *[0-9a-f]+: 8b23a041 add x1, x2, w3, sxth
+ *[0-9a-f]+: 8b23a441 add x1, x2, w3, sxth #1
+ *[0-9a-f]+: 8b23a841 add x1, x2, w3, sxth #2
+ *[0-9a-f]+: 8b23ac41 add x1, x2, w3, sxth #3
+ *[0-9a-f]+: 8b23b041 add x1, x2, w3, sxth #4
+ *[0-9a-f]+: 8b23c041 add x1, x2, w3, sxtw
+ *[0-9a-f]+: 8b23c441 add x1, x2, w3, sxtw #1
+ *[0-9a-f]+: 8b23c841 add x1, x2, w3, sxtw #2
+ *[0-9a-f]+: 8b23cc41 add x1, x2, w3, sxtw #3
+ *[0-9a-f]+: 8b23d041 add x1, x2, w3, sxtw #4
+ *[0-9a-f]+: 8b23e041 add x1, x2, x3, sxtx
+ *[0-9a-f]+: 8b23e441 add x1, x2, x3, sxtx #1
+ *[0-9a-f]+: 8b23e841 add x1, x2, x3, sxtx #2
+ *[0-9a-f]+: 8b23ec41 add x1, x2, x3, sxtx #3
+ *[0-9a-f]+: 8b23f041 add x1, x2, x3, sxtx #4
+ *[0-9a-f]+: 0b030041 add w1, w2, w3
+ *[0-9a-f]+: 0b030441 add w1, w2, w3, lsl #1
+ *[0-9a-f]+: 0b030c41 add w1, w2, w3, lsl #3
+ *[0-9a-f]+: 0b031c41 add w1, w2, w3, lsl #7
+ *[0-9a-f]+: 0b033c41 add w1, w2, w3, lsl #15
+ *[0-9a-f]+: 0b037c41 add w1, w2, w3, lsl #31
+ *[0-9a-f]+: 0b430041 add w1, w2, w3, lsr #0
+ *[0-9a-f]+: 0b430441 add w1, w2, w3, lsr #1
+ *[0-9a-f]+: 0b430c41 add w1, w2, w3, lsr #3
+ *[0-9a-f]+: 0b431c41 add w1, w2, w3, lsr #7
+ *[0-9a-f]+: 0b433c41 add w1, w2, w3, lsr #15
+ *[0-9a-f]+: 0b437c41 add w1, w2, w3, lsr #31
+ *[0-9a-f]+: 0b830041 add w1, w2, w3, asr #0
+ *[0-9a-f]+: 0b830441 add w1, w2, w3, asr #1
+ *[0-9a-f]+: 0b830c41 add w1, w2, w3, asr #3
+ *[0-9a-f]+: 0b831c41 add w1, w2, w3, asr #7
+ *[0-9a-f]+: 0b833c41 add w1, w2, w3, asr #15
+ *[0-9a-f]+: 0b837c41 add w1, w2, w3, asr #31
+ *[0-9a-f]+: 0b230041 add w1, w2, w3, uxtb
+ *[0-9a-f]+: 0b230441 add w1, w2, w3, uxtb #1
+ *[0-9a-f]+: 0b230841 add w1, w2, w3, uxtb #2
+ *[0-9a-f]+: 0b230c41 add w1, w2, w3, uxtb #3
+ *[0-9a-f]+: 0b231041 add w1, w2, w3, uxtb #4
+ *[0-9a-f]+: 0b232041 add w1, w2, w3, uxth
+ *[0-9a-f]+: 0b232441 add w1, w2, w3, uxth #1
+ *[0-9a-f]+: 0b232841 add w1, w2, w3, uxth #2
+ *[0-9a-f]+: 0b232c41 add w1, w2, w3, uxth #3
+ *[0-9a-f]+: 0b233041 add w1, w2, w3, uxth #4
+ *[0-9a-f]+: 0b238041 add w1, w2, w3, sxtb
+ *[0-9a-f]+: 0b238441 add w1, w2, w3, sxtb #1
+ *[0-9a-f]+: 0b238841 add w1, w2, w3, sxtb #2
+ *[0-9a-f]+: 0b238c41 add w1, w2, w3, sxtb #3
+ *[0-9a-f]+: 0b239041 add w1, w2, w3, sxtb #4
+ *[0-9a-f]+: 0b23a041 add w1, w2, w3, sxth
+ *[0-9a-f]+: 0b23a441 add w1, w2, w3, sxth #1
+ *[0-9a-f]+: 0b23a841 add w1, w2, w3, sxth #2
+ *[0-9a-f]+: 0b23ac41 add w1, w2, w3, sxth #3
+ *[0-9a-f]+: 0b23b041 add w1, w2, w3, sxth #4
+ *[0-9a-f]+: cb030041 sub x1, x2, x3
+ *[0-9a-f]+: cb030441 sub x1, x2, x3, lsl #1
+ *[0-9a-f]+: cb030c41 sub x1, x2, x3, lsl #3
+ *[0-9a-f]+: cb031c41 sub x1, x2, x3, lsl #7
+ *[0-9a-f]+: cb033c41 sub x1, x2, x3, lsl #15
+ *[0-9a-f]+: cb037c41 sub x1, x2, x3, lsl #31
+ *[0-9a-f]+: cb03fc41 sub x1, x2, x3, lsl #63
+ *[0-9a-f]+: cb430041 sub x1, x2, x3, lsr #0
+ *[0-9a-f]+: cb430441 sub x1, x2, x3, lsr #1
+ *[0-9a-f]+: cb430c41 sub x1, x2, x3, lsr #3
+ *[0-9a-f]+: cb431c41 sub x1, x2, x3, lsr #7
+ *[0-9a-f]+: cb433c41 sub x1, x2, x3, lsr #15
+ *[0-9a-f]+: cb437c41 sub x1, x2, x3, lsr #31
+ *[0-9a-f]+: cb43fc41 sub x1, x2, x3, lsr #63
+ *[0-9a-f]+: cb830041 sub x1, x2, x3, asr #0
+ *[0-9a-f]+: cb830441 sub x1, x2, x3, asr #1
+ *[0-9a-f]+: cb830c41 sub x1, x2, x3, asr #3
+ *[0-9a-f]+: cb831c41 sub x1, x2, x3, asr #7
+ *[0-9a-f]+: cb833c41 sub x1, x2, x3, asr #15
+ *[0-9a-f]+: cb837c41 sub x1, x2, x3, asr #31
+ *[0-9a-f]+: cb83fc41 sub x1, x2, x3, asr #63
+ *[0-9a-f]+: cb230041 sub x1, x2, w3, uxtb
+ *[0-9a-f]+: cb230441 sub x1, x2, w3, uxtb #1
+ *[0-9a-f]+: cb230841 sub x1, x2, w3, uxtb #2
+ *[0-9a-f]+: cb230c41 sub x1, x2, w3, uxtb #3
+ *[0-9a-f]+: cb231041 sub x1, x2, w3, uxtb #4
+ *[0-9a-f]+: cb232041 sub x1, x2, w3, uxth
+ *[0-9a-f]+: cb232441 sub x1, x2, w3, uxth #1
+ *[0-9a-f]+: cb232841 sub x1, x2, w3, uxth #2
+ *[0-9a-f]+: cb232c41 sub x1, x2, w3, uxth #3
+ *[0-9a-f]+: cb233041 sub x1, x2, w3, uxth #4
+ *[0-9a-f]+: cb234041 sub x1, x2, w3, uxtw
+ *[0-9a-f]+: cb234441 sub x1, x2, w3, uxtw #1
+ *[0-9a-f]+: cb234841 sub x1, x2, w3, uxtw #2
+ *[0-9a-f]+: cb234c41 sub x1, x2, w3, uxtw #3
+ *[0-9a-f]+: cb235041 sub x1, x2, w3, uxtw #4
+ *[0-9a-f]+: cb236041 sub x1, x2, x3, uxtx
+ *[0-9a-f]+: cb236441 sub x1, x2, x3, uxtx #1
+ *[0-9a-f]+: cb236841 sub x1, x2, x3, uxtx #2
+ *[0-9a-f]+: cb236c41 sub x1, x2, x3, uxtx #3
+ *[0-9a-f]+: cb237041 sub x1, x2, x3, uxtx #4
+ *[0-9a-f]+: cb238041 sub x1, x2, w3, sxtb
+ *[0-9a-f]+: cb238441 sub x1, x2, w3, sxtb #1
+ *[0-9a-f]+: cb238841 sub x1, x2, w3, sxtb #2
+ *[0-9a-f]+: cb238c41 sub x1, x2, w3, sxtb #3
+ *[0-9a-f]+: cb239041 sub x1, x2, w3, sxtb #4
+ *[0-9a-f]+: cb23a041 sub x1, x2, w3, sxth
+ *[0-9a-f]+: cb23a441 sub x1, x2, w3, sxth #1
+ *[0-9a-f]+: cb23a841 sub x1, x2, w3, sxth #2
+ *[0-9a-f]+: cb23ac41 sub x1, x2, w3, sxth #3
+ *[0-9a-f]+: cb23b041 sub x1, x2, w3, sxth #4
+ *[0-9a-f]+: cb23c041 sub x1, x2, w3, sxtw
+ *[0-9a-f]+: cb23c441 sub x1, x2, w3, sxtw #1
+ *[0-9a-f]+: cb23c841 sub x1, x2, w3, sxtw #2
+ *[0-9a-f]+: cb23cc41 sub x1, x2, w3, sxtw #3
+ *[0-9a-f]+: cb23d041 sub x1, x2, w3, sxtw #4
+ *[0-9a-f]+: cb23e041 sub x1, x2, x3, sxtx
+ *[0-9a-f]+: cb23e441 sub x1, x2, x3, sxtx #1
+ *[0-9a-f]+: cb23e841 sub x1, x2, x3, sxtx #2
+ *[0-9a-f]+: cb23ec41 sub x1, x2, x3, sxtx #3
+ *[0-9a-f]+: cb23f041 sub x1, x2, x3, sxtx #4
+ *[0-9a-f]+: 4b030041 sub w1, w2, w3
+ *[0-9a-f]+: 4b030441 sub w1, w2, w3, lsl #1
+ *[0-9a-f]+: 4b030c41 sub w1, w2, w3, lsl #3
+ *[0-9a-f]+: 4b031c41 sub w1, w2, w3, lsl #7
+ *[0-9a-f]+: 4b033c41 sub w1, w2, w3, lsl #15
+ *[0-9a-f]+: 4b037c41 sub w1, w2, w3, lsl #31
+ *[0-9a-f]+: 4b430041 sub w1, w2, w3, lsr #0
+ *[0-9a-f]+: 4b430441 sub w1, w2, w3, lsr #1
+ *[0-9a-f]+: 4b430c41 sub w1, w2, w3, lsr #3
+ *[0-9a-f]+: 4b431c41 sub w1, w2, w3, lsr #7
+ *[0-9a-f]+: 4b433c41 sub w1, w2, w3, lsr #15
+ *[0-9a-f]+: 4b437c41 sub w1, w2, w3, lsr #31
+ *[0-9a-f]+: 4b830041 sub w1, w2, w3, asr #0
+ *[0-9a-f]+: 4b830441 sub w1, w2, w3, asr #1
+ *[0-9a-f]+: 4b830c41 sub w1, w2, w3, asr #3
+ *[0-9a-f]+: 4b831c41 sub w1, w2, w3, asr #7
+ *[0-9a-f]+: 4b833c41 sub w1, w2, w3, asr #15
+ *[0-9a-f]+: 4b837c41 sub w1, w2, w3, asr #31
+ *[0-9a-f]+: 4b230041 sub w1, w2, w3, uxtb
+ *[0-9a-f]+: 4b230441 sub w1, w2, w3, uxtb #1
+ *[0-9a-f]+: 4b230841 sub w1, w2, w3, uxtb #2
+ *[0-9a-f]+: 4b230c41 sub w1, w2, w3, uxtb #3
+ *[0-9a-f]+: 4b231041 sub w1, w2, w3, uxtb #4
+ *[0-9a-f]+: 4b232041 sub w1, w2, w3, uxth
+ *[0-9a-f]+: 4b232441 sub w1, w2, w3, uxth #1
+ *[0-9a-f]+: 4b232841 sub w1, w2, w3, uxth #2
+ *[0-9a-f]+: 4b232c41 sub w1, w2, w3, uxth #3
+ *[0-9a-f]+: 4b233041 sub w1, w2, w3, uxth #4
+ *[0-9a-f]+: 4b238041 sub w1, w2, w3, sxtb
+ *[0-9a-f]+: 4b238441 sub w1, w2, w3, sxtb #1
+ *[0-9a-f]+: 4b238841 sub w1, w2, w3, sxtb #2
+ *[0-9a-f]+: 4b238c41 sub w1, w2, w3, sxtb #3
+ *[0-9a-f]+: 4b239041 sub w1, w2, w3, sxtb #4
+ *[0-9a-f]+: 4b23a041 sub w1, w2, w3, sxth
+ *[0-9a-f]+: 4b23a441 sub w1, w2, w3, sxth #1
+ *[0-9a-f]+: 4b23a841 sub w1, w2, w3, sxth #2
+ *[0-9a-f]+: 4b23ac41 sub w1, w2, w3, sxth #3
+ *[0-9a-f]+: 4b23b041 sub w1, w2, w3, sxth #4
+ *[0-9a-f]+: cb0303e2 neg x2, x3
+ *[0-9a-f]+: cb0307e2 neg x2, x3, lsl #1
+ *[0-9a-f]+: cb030fe2 neg x2, x3, lsl #3
+ *[0-9a-f]+: cb031fe2 neg x2, x3, lsl #7
+ *[0-9a-f]+: cb033fe2 neg x2, x3, lsl #15
+ *[0-9a-f]+: cb037fe2 neg x2, x3, lsl #31
+ *[0-9a-f]+: cb03ffe2 neg x2, x3, lsl #63
+ *[0-9a-f]+: cb4303e2 neg x2, x3, lsr #0
+ *[0-9a-f]+: cb4307e2 neg x2, x3, lsr #1
+ *[0-9a-f]+: cb430fe2 neg x2, x3, lsr #3
+ *[0-9a-f]+: cb431fe2 neg x2, x3, lsr #7
+ *[0-9a-f]+: cb433fe2 neg x2, x3, lsr #15
+ *[0-9a-f]+: cb437fe2 neg x2, x3, lsr #31
+ *[0-9a-f]+: cb43ffe2 neg x2, x3, lsr #63
+ *[0-9a-f]+: cb8303e2 neg x2, x3, asr #0
+ *[0-9a-f]+: cb8307e2 neg x2, x3, asr #1
+ *[0-9a-f]+: cb830fe2 neg x2, x3, asr #3
+ *[0-9a-f]+: cb831fe2 neg x2, x3, asr #7
+ *[0-9a-f]+: cb833fe2 neg x2, x3, asr #15
+ *[0-9a-f]+: cb837fe2 neg x2, x3, asr #31
+ *[0-9a-f]+: cb83ffe2 neg x2, x3, asr #63
+ *[0-9a-f]+: 4b0303e2 neg w2, w3
+ *[0-9a-f]+: 4b0307e2 neg w2, w3, lsl #1
+ *[0-9a-f]+: 4b030fe2 neg w2, w3, lsl #3
+ *[0-9a-f]+: 4b031fe2 neg w2, w3, lsl #7
+ *[0-9a-f]+: 4b033fe2 neg w2, w3, lsl #15
+ *[0-9a-f]+: 4b037fe2 neg w2, w3, lsl #31
+ *[0-9a-f]+: 4b4303e2 neg w2, w3, lsr #0
+ *[0-9a-f]+: 4b4307e2 neg w2, w3, lsr #1
+ *[0-9a-f]+: 4b430fe2 neg w2, w3, lsr #3
+ *[0-9a-f]+: 4b431fe2 neg w2, w3, lsr #7
+ *[0-9a-f]+: 4b433fe2 neg w2, w3, lsr #15
+ *[0-9a-f]+: 4b437fe2 neg w2, w3, lsr #31
+ *[0-9a-f]+: 4b8303e2 neg w2, w3, asr #0
+ *[0-9a-f]+: 4b8307e2 neg w2, w3, asr #1
+ *[0-9a-f]+: 4b830fe2 neg w2, w3, asr #3
+ *[0-9a-f]+: 4b831fe2 neg w2, w3, asr #7
+ *[0-9a-f]+: 4b833fe2 neg w2, w3, asr #15
+ *[0-9a-f]+: 4b837fe2 neg w2, w3, asr #31
+ *[0-9a-f]+: eb03005f cmp x2, x3
+ *[0-9a-f]+: eb03045f cmp x2, x3, lsl #1
+ *[0-9a-f]+: eb030c5f cmp x2, x3, lsl #3
+ *[0-9a-f]+: eb031c5f cmp x2, x3, lsl #7
+ *[0-9a-f]+: eb033c5f cmp x2, x3, lsl #15
+ *[0-9a-f]+: eb037c5f cmp x2, x3, lsl #31
+ *[0-9a-f]+: eb03fc5f cmp x2, x3, lsl #63
+ *[0-9a-f]+: eb43005f cmp x2, x3, lsr #0
+ *[0-9a-f]+: eb43045f cmp x2, x3, lsr #1
+ *[0-9a-f]+: eb430c5f cmp x2, x3, lsr #3
+ *[0-9a-f]+: eb431c5f cmp x2, x3, lsr #7
+ *[0-9a-f]+: eb433c5f cmp x2, x3, lsr #15
+ *[0-9a-f]+: eb437c5f cmp x2, x3, lsr #31
+ *[0-9a-f]+: eb43fc5f cmp x2, x3, lsr #63
+ *[0-9a-f]+: eb83005f cmp x2, x3, asr #0
+ *[0-9a-f]+: eb83045f cmp x2, x3, asr #1
+ *[0-9a-f]+: eb830c5f cmp x2, x3, asr #3
+ *[0-9a-f]+: eb831c5f cmp x2, x3, asr #7
+ *[0-9a-f]+: eb833c5f cmp x2, x3, asr #15
+ *[0-9a-f]+: eb837c5f cmp x2, x3, asr #31
+ *[0-9a-f]+: eb83fc5f cmp x2, x3, asr #63
+ *[0-9a-f]+: eb23005f cmp x2, w3, uxtb
+ *[0-9a-f]+: eb23045f cmp x2, w3, uxtb #1
+ *[0-9a-f]+: eb23085f cmp x2, w3, uxtb #2
+ *[0-9a-f]+: eb230c5f cmp x2, w3, uxtb #3
+ *[0-9a-f]+: eb23105f cmp x2, w3, uxtb #4
+ *[0-9a-f]+: eb23205f cmp x2, w3, uxth
+ *[0-9a-f]+: eb23245f cmp x2, w3, uxth #1
+ *[0-9a-f]+: eb23285f cmp x2, w3, uxth #2
+ *[0-9a-f]+: eb232c5f cmp x2, w3, uxth #3
+ *[0-9a-f]+: eb23305f cmp x2, w3, uxth #4
+ *[0-9a-f]+: eb23405f cmp x2, w3, uxtw
+ *[0-9a-f]+: eb23445f cmp x2, w3, uxtw #1
+ *[0-9a-f]+: eb23485f cmp x2, w3, uxtw #2
+ *[0-9a-f]+: eb234c5f cmp x2, w3, uxtw #3
+ *[0-9a-f]+: eb23505f cmp x2, w3, uxtw #4
+ *[0-9a-f]+: eb23805f cmp x2, w3, sxtb
+ *[0-9a-f]+: eb23845f cmp x2, w3, sxtb #1
+ *[0-9a-f]+: eb23885f cmp x2, w3, sxtb #2
+ *[0-9a-f]+: eb238c5f cmp x2, w3, sxtb #3
+ *[0-9a-f]+: eb23905f cmp x2, w3, sxtb #4
+ *[0-9a-f]+: eb23a05f cmp x2, w3, sxth
+ *[0-9a-f]+: eb23a45f cmp x2, w3, sxth #1
+ *[0-9a-f]+: eb23a85f cmp x2, w3, sxth #2
+ *[0-9a-f]+: eb23ac5f cmp x2, w3, sxth #3
+ *[0-9a-f]+: eb23b05f cmp x2, w3, sxth #4
+ *[0-9a-f]+: eb23c05f cmp x2, w3, sxtw
+ *[0-9a-f]+: eb23c45f cmp x2, w3, sxtw #1
+ *[0-9a-f]+: eb23c85f cmp x2, w3, sxtw #2
+ *[0-9a-f]+: eb23cc5f cmp x2, w3, sxtw #3
+ *[0-9a-f]+: eb23d05f cmp x2, w3, sxtw #4
+ *[0-9a-f]+: 6b03005f cmp w2, w3
+ *[0-9a-f]+: 6b03045f cmp w2, w3, lsl #1
+ *[0-9a-f]+: 6b030c5f cmp w2, w3, lsl #3
+ *[0-9a-f]+: 6b031c5f cmp w2, w3, lsl #7
+ *[0-9a-f]+: 6b033c5f cmp w2, w3, lsl #15
+ *[0-9a-f]+: 6b037c5f cmp w2, w3, lsl #31
+ *[0-9a-f]+: 6b43005f cmp w2, w3, lsr #0
+ *[0-9a-f]+: 6b43045f cmp w2, w3, lsr #1
+ *[0-9a-f]+: 6b430c5f cmp w2, w3, lsr #3
+ *[0-9a-f]+: 6b431c5f cmp w2, w3, lsr #7
+ *[0-9a-f]+: 6b433c5f cmp w2, w3, lsr #15
+ *[0-9a-f]+: 6b437c5f cmp w2, w3, lsr #31
+ *[0-9a-f]+: 6b83005f cmp w2, w3, asr #0
+ *[0-9a-f]+: 6b83045f cmp w2, w3, asr #1
+ *[0-9a-f]+: 6b830c5f cmp w2, w3, asr #3
+ *[0-9a-f]+: 6b831c5f cmp w2, w3, asr #7
+ *[0-9a-f]+: 6b833c5f cmp w2, w3, asr #15
+ *[0-9a-f]+: 6b837c5f cmp w2, w3, asr #31
+ *[0-9a-f]+: 6b23005f cmp w2, w3, uxtb
+ *[0-9a-f]+: 6b23045f cmp w2, w3, uxtb #1
+ *[0-9a-f]+: 6b23085f cmp w2, w3, uxtb #2
+ *[0-9a-f]+: 6b230c5f cmp w2, w3, uxtb #3
+ *[0-9a-f]+: 6b23105f cmp w2, w3, uxtb #4
+ *[0-9a-f]+: 6b23205f cmp w2, w3, uxth
+ *[0-9a-f]+: 6b23245f cmp w2, w3, uxth #1
+ *[0-9a-f]+: 6b23285f cmp w2, w3, uxth #2
+ *[0-9a-f]+: 6b232c5f cmp w2, w3, uxth #3
+ *[0-9a-f]+: 6b23305f cmp w2, w3, uxth #4
+ *[0-9a-f]+: 6b23805f cmp w2, w3, sxtb
+ *[0-9a-f]+: 6b23845f cmp w2, w3, sxtb #1
+ *[0-9a-f]+: 6b23885f cmp w2, w3, sxtb #2
+ *[0-9a-f]+: 6b238c5f cmp w2, w3, sxtb #3
+ *[0-9a-f]+: 6b23905f cmp w2, w3, sxtb #4
+ *[0-9a-f]+: 6b23a05f cmp w2, w3, sxth
+ *[0-9a-f]+: 6b23a45f cmp w2, w3, sxth #1
+ *[0-9a-f]+: 6b23a85f cmp w2, w3, sxth #2
+ *[0-9a-f]+: 6b23ac5f cmp w2, w3, sxth #3
+ *[0-9a-f]+: 6b23b05f cmp w2, w3, sxth #4
+ *[0-9a-f]+: ab03005f cmn x2, x3
+ *[0-9a-f]+: ab03045f cmn x2, x3, lsl #1
+ *[0-9a-f]+: ab030c5f cmn x2, x3, lsl #3
+ *[0-9a-f]+: ab031c5f cmn x2, x3, lsl #7
+ *[0-9a-f]+: ab033c5f cmn x2, x3, lsl #15
+ *[0-9a-f]+: ab037c5f cmn x2, x3, lsl #31
+ *[0-9a-f]+: ab03fc5f cmn x2, x3, lsl #63
+ *[0-9a-f]+: ab43005f cmn x2, x3, lsr #0
+ *[0-9a-f]+: ab43045f cmn x2, x3, lsr #1
+ *[0-9a-f]+: ab430c5f cmn x2, x3, lsr #3
+ *[0-9a-f]+: ab431c5f cmn x2, x3, lsr #7
+ *[0-9a-f]+: ab433c5f cmn x2, x3, lsr #15
+ *[0-9a-f]+: ab437c5f cmn x2, x3, lsr #31
+ *[0-9a-f]+: ab43fc5f cmn x2, x3, lsr #63
+ *[0-9a-f]+: ab83005f cmn x2, x3, asr #0
+ *[0-9a-f]+: ab83045f cmn x2, x3, asr #1
+ *[0-9a-f]+: ab830c5f cmn x2, x3, asr #3
+ *[0-9a-f]+: ab831c5f cmn x2, x3, asr #7
+ *[0-9a-f]+: ab833c5f cmn x2, x3, asr #15
+ *[0-9a-f]+: ab837c5f cmn x2, x3, asr #31
+ *[0-9a-f]+: ab83fc5f cmn x2, x3, asr #63
+ *[0-9a-f]+: ab23005f cmn x2, w3, uxtb
+ *[0-9a-f]+: ab23045f cmn x2, w3, uxtb #1
+ *[0-9a-f]+: ab23085f cmn x2, w3, uxtb #2
+ *[0-9a-f]+: ab230c5f cmn x2, w3, uxtb #3
+ *[0-9a-f]+: ab23105f cmn x2, w3, uxtb #4
+ *[0-9a-f]+: ab23205f cmn x2, w3, uxth
+ *[0-9a-f]+: ab23245f cmn x2, w3, uxth #1
+ *[0-9a-f]+: ab23285f cmn x2, w3, uxth #2
+ *[0-9a-f]+: ab232c5f cmn x2, w3, uxth #3
+ *[0-9a-f]+: ab23305f cmn x2, w3, uxth #4
+ *[0-9a-f]+: ab23405f cmn x2, w3, uxtw
+ *[0-9a-f]+: ab23445f cmn x2, w3, uxtw #1
+ *[0-9a-f]+: ab23485f cmn x2, w3, uxtw #2
+ *[0-9a-f]+: ab234c5f cmn x2, w3, uxtw #3
+ *[0-9a-f]+: ab23505f cmn x2, w3, uxtw #4
+ *[0-9a-f]+: ab23805f cmn x2, w3, sxtb
+ *[0-9a-f]+: ab23845f cmn x2, w3, sxtb #1
+ *[0-9a-f]+: ab23885f cmn x2, w3, sxtb #2
+ *[0-9a-f]+: ab238c5f cmn x2, w3, sxtb #3
+ *[0-9a-f]+: ab23905f cmn x2, w3, sxtb #4
+ *[0-9a-f]+: ab23a05f cmn x2, w3, sxth
+ *[0-9a-f]+: ab23a45f cmn x2, w3, sxth #1
+ *[0-9a-f]+: ab23a85f cmn x2, w3, sxth #2
+ *[0-9a-f]+: ab23ac5f cmn x2, w3, sxth #3
+ *[0-9a-f]+: ab23b05f cmn x2, w3, sxth #4
+ *[0-9a-f]+: ab23c05f cmn x2, w3, sxtw
+ *[0-9a-f]+: ab23c45f cmn x2, w3, sxtw #1
+ *[0-9a-f]+: ab23c85f cmn x2, w3, sxtw #2
+ *[0-9a-f]+: ab23cc5f cmn x2, w3, sxtw #3
+ *[0-9a-f]+: ab23d05f cmn x2, w3, sxtw #4
+ *[0-9a-f]+: 2b03005f cmn w2, w3
+ *[0-9a-f]+: 2b03045f cmn w2, w3, lsl #1
+ *[0-9a-f]+: 2b030c5f cmn w2, w3, lsl #3
+ *[0-9a-f]+: 2b031c5f cmn w2, w3, lsl #7
+ *[0-9a-f]+: 2b033c5f cmn w2, w3, lsl #15
+ *[0-9a-f]+: 2b037c5f cmn w2, w3, lsl #31
+ *[0-9a-f]+: 2b43005f cmn w2, w3, lsr #0
+ *[0-9a-f]+: 2b43045f cmn w2, w3, lsr #1
+ *[0-9a-f]+: 2b430c5f cmn w2, w3, lsr #3
+ *[0-9a-f]+: 2b431c5f cmn w2, w3, lsr #7
+ *[0-9a-f]+: 2b433c5f cmn w2, w3, lsr #15
+ *[0-9a-f]+: 2b437c5f cmn w2, w3, lsr #31
+ *[0-9a-f]+: 2b83005f cmn w2, w3, asr #0
+ *[0-9a-f]+: 2b83045f cmn w2, w3, asr #1
+ *[0-9a-f]+: 2b830c5f cmn w2, w3, asr #3
+ *[0-9a-f]+: 2b831c5f cmn w2, w3, asr #7
+ *[0-9a-f]+: 2b833c5f cmn w2, w3, asr #15
+ *[0-9a-f]+: 2b837c5f cmn w2, w3, asr #31
+ *[0-9a-f]+: 2b23005f cmn w2, w3, uxtb
+ *[0-9a-f]+: 2b23045f cmn w2, w3, uxtb #1
+ *[0-9a-f]+: 2b23085f cmn w2, w3, uxtb #2
+ *[0-9a-f]+: 2b230c5f cmn w2, w3, uxtb #3
+ *[0-9a-f]+: 2b23105f cmn w2, w3, uxtb #4
+ *[0-9a-f]+: 2b23205f cmn w2, w3, uxth
+ *[0-9a-f]+: 2b23245f cmn w2, w3, uxth #1
+ *[0-9a-f]+: 2b23285f cmn w2, w3, uxth #2
+ *[0-9a-f]+: 2b232c5f cmn w2, w3, uxth #3
+ *[0-9a-f]+: 2b23305f cmn w2, w3, uxth #4
+ *[0-9a-f]+: 2b23805f cmn w2, w3, sxtb
+ *[0-9a-f]+: 2b23845f cmn w2, w3, sxtb #1
+ *[0-9a-f]+: 2b23885f cmn w2, w3, sxtb #2
+ *[0-9a-f]+: 2b238c5f cmn w2, w3, sxtb #3
+ *[0-9a-f]+: 2b23905f cmn w2, w3, sxtb #4
+ *[0-9a-f]+: 2b23a05f cmn w2, w3, sxth
+ *[0-9a-f]+: 2b23a45f cmn w2, w3, sxth #1
+ *[0-9a-f]+: 2b23a85f cmn w2, w3, sxth #2
+ *[0-9a-f]+: 2b23ac5f cmn w2, w3, sxth #3
+ *[0-9a-f]+: 2b23b05f cmn w2, w3, sxth #4
diff --git a/gas/testsuite/gas/aarch64/shifted.s b/gas/testsuite/gas/aarch64/shifted.s
index 2b05454..b513a6c 100644
--- a/gas/testsuite/gas/aarch64/shifted.s
+++ b/gas/testsuite/gas/aarch64/shifted.s
@@ -161,6 +161,9 @@ func:
logical bic
logical orn
logical eon
+
+ logical ands
+ logical bics
arith3 add
arith3 sub
diff --git a/gas/testsuite/gas/aarch64/sme-5.d b/gas/testsuite/gas/aarch64/sme-5.d
index 6667534..f6ef16d 100644
--- a/gas/testsuite/gas/aarch64/sme-5.d
+++ b/gas/testsuite/gas/aarch64/sme-5.d
@@ -87,7 +87,3 @@ Disassembly of section \.text:
134: e1dffe2f ld1q {za15v.q\[w15, 0\]}, p7/z, \[x17, xzr, lsl #4\]
138: e000ffef ld1b {za0v.b\[w15, 15\]}, p7/z, \[sp, x0\]
13c: e0010000 ld1b {za0h.b\[w12, 0\]}, p0/z, \[x0, x1\]
- 140: e0410000 ld1h {za0h.h\[w12, 0\]}, p0/z, \[x0, x1, lsl #1\]
- 144: e0819c0f ld1w {za3v.s\[w12, 3\]}, p7/z, \[x0, x1, lsl #2\]
- 148: e0c10000 ld1d {za0h.d\[w12, 0\]}, p0/z, \[x0, x1, lsl #3\]
- 14c: e1c18000 ld1q {za0v.q\[w12, 0\]}, p0/z, \[x0, x1, lsl #4\]
diff --git a/gas/testsuite/gas/aarch64/sme-5.s b/gas/testsuite/gas/aarch64/sme-5.s
index e0d79f6..398153a 100644
--- a/gas/testsuite/gas/aarch64/sme-5.s
+++ b/gas/testsuite/gas/aarch64/sme-5.s
@@ -95,7 +95,3 @@ ld1q {za15v.q[bar, #0]}, p7/z, [x17]
/* Optional LSL operator. */
ld1b {za0v.b[w15, 15]}, p7/z, [sp, x0, lsl #0]
ld1b {za0h.b[w12, 0]}, p0/z, [x0, x1]
-ld1h {za0h.h[w12, 0]}, p0/z, [x0, x1]
-ld1w {za3v.s[w12, 3]}, p7/z, [x0, x1]
-ld1d {za0h.d[w12, 0]}, p0/z, [x0, x1]
-ld1q {za0v.q[w12, 0]}, p0/z, [x0, x1]
diff --git a/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s
index 4bce380..612d2c5 100644
--- a/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s
+++ b/gas/testsuite/gas/aarch64/sme-f16f16-2-bad.s
@@ -1,5 +1,4 @@
/* FMOPA. */
-fmopa ZA0.s, p0/m, p0/m, z0.h, z0.h
fmopa ZA1.h, p0, p0/m, z0.h, z0.h
fmopa ZA0.h, p7/m, p0, z0.h, z0.h
fmopa ZA0.h, p0/m, p7/m, z0.s, z0.s
@@ -8,7 +7,6 @@ fmopa ZA2.h, p0/m, p8/m, z0.s, z31.b
fmopa ZA4.h, p15/m, p11/m, z0.s, z31.b
/* FMOPS. */
-fmops ZA0.s, p0/m, p0/m, z0.h, z0.h
fmops ZA1.h, p0, p0/m, z0.h, z0.h
fmops ZA0.h, p7/m, p0, z0.h, z0.h
fmops ZA0.h, p0/m, p7/m, z0.s, z0.s
diff --git a/gas/testsuite/gas/aarch64/sme.d b/gas/testsuite/gas/aarch64/sme.d
index f5cf1f0..9317163 100644
--- a/gas/testsuite/gas/aarch64/sme.d
+++ b/gas/testsuite/gas/aarch64/sme.d
@@ -39,10 +39,10 @@ Disassembly of section \.text:
74: 80833851 fmops za1.s, p6/m, p1/m, z2.s, z3.s
78: 80825472 fmops za2.s, p5/m, p2/m, z3.s, z2.s
7c: 80817093 fmops za3.s, p4/m, p3/m, z4.s, z1.s
- 80: 80842030 fmops za0.s, p0/m, p1/m, z1.s, z4.s
- 84: 80836851 fmops za1.s, p2/m, p3/m, z2.s, z3.s
- 88: 8082b072 fmops za2.s, p4/m, p5/m, z3.s, z2.s
- 8c: 8081f893 fmops za3.s, p6/m, p7/m, z4.s, z1.s
+ 80: 81a42030 fmops za0.s, p0/m, p1/m, z1.h, z4.h
+ 84: 81a36851 fmops za1.s, p2/m, p3/m, z2.h, z3.h
+ 88: 81a2b072 fmops za2.s, p4/m, p5/m, z3.h, z2.h
+ 8c: 81a1f893 fmops za3.s, p6/m, p7/m, z4.h, z1.h
90: a0842020 smopa za0.s, p0/m, p1/m, z1.b, z4.b
94: a0836841 smopa za1.s, p2/m, p3/m, z2.b, z3.b
98: a082b062 smopa za2.s, p4/m, p5/m, z3.b, z2.b
diff --git a/gas/testsuite/gas/aarch64/sme.s b/gas/testsuite/gas/aarch64/sme.s
index 659f141..e4e5ed6 100644
--- a/gas/testsuite/gas/aarch64/sme.s
+++ b/gas/testsuite/gas/aarch64/sme.s
@@ -47,10 +47,10 @@ fmops za2.s, p5/m, p2/m, z3.s, z2.s
fmops za3.s, p4/m, p3/m, z4.s, z1.s
/* FMOPS (widening) */
-fmops za0.s, p0/m, p1/m, z1.s, z4.s
-fmops za1.s, p2/m, p3/m, z2.s, z3.s
-fmops za2.s, p4/m, p5/m, z3.s, z2.s
-fmops za3.s, p6/m, p7/m, z4.s, z1.s
+fmops za0.s, p0/m, p1/m, z1.h, z4.h
+fmops za1.s, p2/m, p3/m, z2.h, z3.h
+fmops za2.s, p4/m, p5/m, z3.h, z2.h
+fmops za3.s, p6/m, p7/m, z4.h, z1.h
/* SMOPA 32-bit variant. */
smopa za0.s, p0/m, p1/m, z1.b, z4.b
diff --git a/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l b/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l
index 83f00f5..2ede0c9 100644
--- a/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l
+++ b/gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.l
@@ -237,8 +237,8 @@
.*: Error: operand mismatch -- `bfmul z31.b,z31.s,z31.d\[8\]'
.*: Info: did you mean this\?
.*: Info: bfmul z31.h, z31.h, z31.h\[8\]
-.*: Error: expected an SVE vector register at operand 1 -- `bfmul { ?z0.h ?},z0.h,z0.h\[1\]'
-.*: Error: expected an SVE vector register at operand 1 -- `bfmul { ?z0.h-z0.h ?},z0.h\[2\]'
+.*: Error: missing braces at operand 2 -- `bfmul { ?z0.h ?},z0.h,z0.h\[1\]'
+.*: Error: invalid range in vector register list at operand 1 -- `bfmul { ?z0.h-z0.h ?},z0.h\[2\]'
.*: Error: expected an SVE predicate register at operand 2 -- `bfmul z0.h,z0.h\[3\]'
.*: Error: operand mismatch -- `bfsub z0.b,z0.h,z0.h'
.*: Info: did you mean this\?
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-bad.d b/gas/testsuite/gas/aarch64/sve-bfscale-bad.d
new file mode 100644
index 0000000..297fb30
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-bad.d
@@ -0,0 +1,4 @@
+#name: Invalid SVE_BFSCALE instructions
+#as: -march=armv8-a+sve-bfscale+sme2
+#source: sve-bfscale-bad.s
+#error_output: sve-bfscale-bad.l
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-bad.l b/gas/testsuite/gas/aarch64/sve-bfscale-bad.l
new file mode 100644
index 0000000..7cddb25
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-bad.l
@@ -0,0 +1,26 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: operand 3 must be the same register as operand 1 -- `bfscale z0\.h,p0/m,z1\.h,z0\.h'
+[^ :]+:[0-9]+: Error: operand mismatch -- `bfscale z0\.h,p0/z,z0\.h,z0\.h'
+[^ :]+:[0-9]+: Info: did you mean this\?
+[^ :]+:[0-9]+: Info: bfscale z0\.h, p0/m, z0\.h, z0\.h
+[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfscale { ?z0\.h-z2\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 1 -- `bfscale { ?z0\.h-z4\.h ?},{ ?z0\.h-z4\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: operand 2 must be the same register as operand 1 -- `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfscale { ?z0\.h-z2\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 1 -- `bfscale { ?z0\.h-z4\.h ?},{ ?z0\.h-z4\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 3 -- `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 3 -- `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: too many registers in vector register list at operand 3 -- `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z4\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfmul { ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z2\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z16\.h'
+[^ :]+:[0-9]+: Error: z0-z15 expected at operand 3 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z16\.h'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 2 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 or 4 registers at operand 1 -- `bfmul { ?z0\.h-z2\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z2\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 2 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 2 registers at operand 3 -- `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z2\.h ?}'
+[^ :]+:[0-9]+: Error: expected a list of 4 registers at operand 3 -- `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z2\.h ?}'
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-bad.s b/gas/testsuite/gas/aarch64/sve-bfscale-bad.s
new file mode 100644
index 0000000..bcb8867
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-bad.s
@@ -0,0 +1,27 @@
+bfscale:
+ bfscale z0.h, p0/m, z1.h, z0.h
+ bfscale z0.h, p0/z, z0.h, z0.h
+ bfscale {z0.h-z1.h}, {z0.h-z2.h}, z0.h
+ bfscale {z0.h-z2.h}, {z0.h-z2.h}, z0.h
+ bfscale {z0.h-z4.h}, {z0.h-z4.h}, z0.h
+ bfscale {z0.h-z1.h}, {z0.h-z2.h}, {z0.h-z1.h}
+ bfscale {z0.h-z2.h}, {z0.h-z2.h}, {z0.h-z1.h}
+ bfscale {z0.h-z4.h}, {z0.h-z4.h}, {z0.h-z1.h}
+ bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z2.h}
+ bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z1.h}
+ bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z4.h}
+
+bfmul:
+ bfmul {z0.h-z1.h}, {z0.h-z2.h}, z0.h
+ bfmul {z0.h-z2.h}, {z0.h-z1.h}, z0.h
+ bfmul {z0.h-z3.h}, {z0.h-z2.h}, z0.h
+ bfmul {z0.h-z3.h}, {z0.h-z1.h}, z0.h
+ bfmul {z0.h-z1.h}, {z0.h-z1.h}, z16.h
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, z16.h
+ bfmul {z0.h-z1.h}, {z0.h-z2.h}, {z0.h-z1.h}
+ bfmul {z0.h-z2.h}, {z0.h-z1.h}, {z0.h-z1.h}
+ bfmul {z0.h-z3.h}, {z0.h-z2.h}, {z0.h-z3.h}
+ bfmul {z0.h-z3.h}, {z0.h-z1.h}, {z0.h-z3.h}
+ bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z2.h}
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z2.h}
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d
new file mode 100644
index 0000000..ad6d365
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.d
@@ -0,0 +1,4 @@
+#name: Negative SVE_BFSCALE test with missing +sme2 flag.
+#as: -march=armv8-a+sve-bfscale
+#source: sve-bfscale-sme2.s
+#error_output: sve-bfscale-sme2-bad.l
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l
new file mode 100644
index 0000000..79ae851
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2-bad.l
@@ -0,0 +1,41 @@
+[^ :]+: Assembler messages:
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p0/m,z0\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p0/m,z0\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p7/m,z0\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z0\.h,p7/m,z0\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p0/m,z31\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p0/m,z31\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p7/m,z31\.h,z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale z31\.h,p7/m,z31\.h,z31\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z28\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfscale { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z0\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},z15\.h'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z1\.h ?},{ ?z0\.h-z1\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z0\.h-z1\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?},{ ?z30\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z0\.h-z3\.h ?},{ ?z0\.h-z3\.h ?},{ ?z28\.h-z31\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z0\.h-z3\.h ?}'
+[^ :]+:[0-9]+: Error: selected processor does not support `bfmul { ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?},{ ?z28\.h-z31\.h ?}'
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2.d b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.d
new file mode 100644
index 0000000..84b7647
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.d
@@ -0,0 +1,66 @@
+#name: SVE_BFSCALE + SME2 instructions test
+#as: -march=armv8-a+sve-bfscale+sme2
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <bfscale>:
+.*: 65098000 bfscale z0.h, p0/m, z0.h, z0.h
+.*: 650983e0 bfscale z0.h, p0/m, z0.h, z31.h
+.*: 65099c00 bfscale z0.h, p7/m, z0.h, z0.h
+.*: 65099fe0 bfscale z0.h, p7/m, z0.h, z31.h
+.*: 6509801f bfscale z31.h, p0/m, z31.h, z0.h
+.*: 650983ff bfscale z31.h, p0/m, z31.h, z31.h
+.*: 65099c1f bfscale z31.h, p7/m, z31.h, z0.h
+.*: 65099fff bfscale z31.h, p7/m, z31.h, z31.h
+
+.* <bfscale_2x1>:
+.*: c120a180 bfscale {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+.*: c12fa180 bfscale {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+.*: c120a19e bfscale {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+.*: c12fa19e bfscale {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+.* <bfscale_4x1>:
+.*: c120a980 bfscale {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+.*: c12fa980 bfscale {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+.*: c120a99c bfscale {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+.*: c12fa99c bfscale {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+.* <bfscale_2x2>:
+.*: c120b180 bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+.*: c13eb180 bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+.*: c120b19e bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+.*: c13eb19e bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+.* <bfscale_4x4>:
+.*: c120b980 bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+.*: c13cb980 bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+.*: c120b99c bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+.*: c13cb99c bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
+
+.* <bfmul_2x1>:
+.*: c120e800 bfmul {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+.*: c13ee800 bfmul {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+.*: c120ebde bfmul {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+.*: c13eebde bfmul {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+.* <bfmul_4x1>:
+.*: c121e800 bfmul {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+.*: c13fe800 bfmul {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+.*: c121eb9c bfmul {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+.*: c13feb9c bfmul {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+.* <bfmul_2x2>:
+.*: c120e400 bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+.*: c13ee400 bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+.*: c120e7de bfmul {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+.*: c13ee7de bfmul {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+.* <bfmul_4x4>:
+.*: c121e400 bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+.*: c13de400 bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+.*: c121e79c bfmul {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+.*: c13de79c bfmul {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sme2.s b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.s
new file mode 100644
index 0000000..46bc6c6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-sme2.s
@@ -0,0 +1,57 @@
+bfscale:
+ bfscale z0.h, p0/m, z0.h, z0.h
+ bfscale z0.h, p0/m, z0.h, z31.h
+ bfscale z0.h, p7/m, z0.h, z0.h
+ bfscale z0.h, p7/m, z0.h, z31.h
+ bfscale z31.h, p0/m, z31.h, z0.h
+ bfscale z31.h, p0/m, z31.h, z31.h
+ bfscale z31.h, p7/m, z31.h, z0.h
+ bfscale z31.h, p7/m, z31.h, z31.h
+
+bfscale_2x1:
+ bfscale {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+ bfscale {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+ bfscale {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+ bfscale {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+bfscale_4x1:
+ bfscale {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+ bfscale {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+ bfscale {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+ bfscale {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+bfscale_2x2:
+ bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+ bfscale {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+ bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+ bfscale {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+bfscale_4x4:
+ bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+ bfscale {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+ bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+ bfscale {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
+
+bfmul_2x1:
+ bfmul {z0.h-z1.h}, {z0.h-z1.h}, z0.h
+ bfmul {z0.h-z1.h}, {z0.h-z1.h}, z15.h
+ bfmul {z30.h-z31.h}, {z30.h-z31.h}, z0.h
+ bfmul {z30.h-z31.h}, {z30.h-z31.h}, z15.h
+
+bfmul_4x1:
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, z0.h
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, z15.h
+ bfmul {z28.h-z31.h}, {z28.h-z31.h}, z0.h
+ bfmul {z28.h-z31.h}, {z28.h-z31.h}, z15.h
+
+bfmul_2x2:
+ bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z0.h-z1.h}
+ bfmul {z0.h-z1.h}, {z0.h-z1.h}, {z30.h-z31.h}
+ bfmul {z30.h-z31.h}, {z30.h-z31.h}, {z0.h-z1.h}
+ bfmul {z30.h-z31.h}, {z30.h-z31.h}, {z30.h-z31.h}
+
+bfmul_4x4:
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z0.h-z3.h}
+ bfmul {z0.h-z3.h}, {z0.h-z3.h}, {z28.h-z31.h}
+ bfmul {z28.h-z31.h}, {z28.h-z31.h}, {z0.h-z3.h}
+ bfmul {z28.h-z31.h}, {z28.h-z31.h}, {z28.h-z31.h}
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sve2.d b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.d
new file mode 100644
index 0000000..874dda0
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.d
@@ -0,0 +1,18 @@
+#name: FEAT_SVE_BFSCALE instruction test
+#as: -march=armv8-a+sve-bfscale+sve2
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <bfscale>:
+.*: 65098000 bfscale z0.h, p0/m, z0.h, z0.h
+.*: 650983e0 bfscale z0.h, p0/m, z0.h, z31.h
+.*: 65099c00 bfscale z0.h, p7/m, z0.h, z0.h
+.*: 65099fe0 bfscale z0.h, p7/m, z0.h, z31.h
+.*: 6509801f bfscale z31.h, p0/m, z31.h, z0.h
+.*: 650983ff bfscale z31.h, p0/m, z31.h, z31.h
+.*: 65099c1f bfscale z31.h, p7/m, z31.h, z0.h
+.*: 65099fff bfscale z31.h, p7/m, z31.h, z31.h
diff --git a/gas/testsuite/gas/aarch64/sve-bfscale-sve2.s b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.s
new file mode 100644
index 0000000..3315524
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-bfscale-sve2.s
@@ -0,0 +1,9 @@
+bfscale:
+ bfscale z0.h, p0/m, z0.h, z0.h
+ bfscale z0.h, p0/m, z0.h, z31.h
+ bfscale z0.h, p7/m, z0.h, z0.h
+ bfscale z0.h, p7/m, z0.h, z31.h
+ bfscale z31.h, p0/m, z31.h, z0.h
+ bfscale z31.h, p0/m, z31.h, z31.h
+ bfscale z31.h, p7/m, z31.h, z0.h
+ bfscale z31.h, p7/m, z31.h, z31.h
diff --git a/gas/testsuite/gas/aarch64/sve-f16f32mm-bad.d b/gas/testsuite/gas/aarch64/sve-f16f32mm-bad.d
new file mode 100644
index 0000000..3adce33
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-f16f32mm-bad.d
@@ -0,0 +1,4 @@
+#name: Illegal test of SVE_F16F32MM FMMLA instruction
+#as: -march=armv8-a
+#source: sve-f16f32mm.s
+#error_output: sve-f16f32mm-bad.l
diff --git a/gas/testsuite/gas/aarch64/sve-f16f32mm-bad.l b/gas/testsuite/gas/aarch64/sve-f16f32mm-bad.l
new file mode 100644
index 0000000..bb95568
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-f16f32mm-bad.l
@@ -0,0 +1,9 @@
+[^:]*: Assembler messages:
+.*: Error: selected processor does not support `fmmla z0.s,z0.h,z0.h'
+.*: Error: selected processor does not support `fmmla z0.s,z0.h,z31.h'
+.*: Error: selected processor does not support `fmmla z0.s,z31.h,z0.h'
+.*: Error: selected processor does not support `fmmla z0.s,z31.h,z31.h'
+.*: Error: selected processor does not support `fmmla z31.s,z0.h,z0.h'
+.*: Error: selected processor does not support `fmmla z31.s,z0.h,z31.h'
+.*: Error: selected processor does not support `fmmla z31.s,z31.h,z0.h'
+.*: Error: selected processor does not support `fmmla z31.s,z31.h,z31.h'
diff --git a/gas/testsuite/gas/aarch64/sve-f16f32mm.d b/gas/testsuite/gas/aarch64/sve-f16f32mm.d
new file mode 100644
index 0000000..8b72bf2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-f16f32mm.d
@@ -0,0 +1,18 @@
+#name: SVE_F16F32MM FMMLA instructions
+#as: -march=armv8-a+sve-f16f32mm
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section .*:
+
+.* <a>:
+.*: 6420e400 fmmla z0.s, z0.h, z0.h
+.*: 643fe400 fmmla z0.s, z0.h, z31.h
+.*: 6420e7e0 fmmla z0.s, z31.h, z0.h
+.*: 643fe7e0 fmmla z0.s, z31.h, z31.h
+.*: 6420e41f fmmla z31.s, z0.h, z0.h
+.*: 643fe41f fmmla z31.s, z0.h, z31.h
+.*: 6420e7ff fmmla z31.s, z31.h, z0.h
+.*: 643fe7ff fmmla z31.s, z31.h, z31.h
diff --git a/gas/testsuite/gas/aarch64/sve-f16f32mm.s b/gas/testsuite/gas/aarch64/sve-f16f32mm.s
new file mode 100644
index 0000000..4979258
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-f16f32mm.s
@@ -0,0 +1,9 @@
+a:
+ fmmla z0.s, z0.h, z0.h
+ fmmla z0.s, z0.h, z31.h
+ fmmla z0.s, z31.h, z0.h
+ fmmla z0.s, z31.h, z31.h
+ fmmla z31.s, z0.h, z0.h
+ fmmla z31.s, z0.h, z31.h
+ fmmla z31.s, z31.h, z0.h
+ fmmla z31.s, z31.h, z31.h
diff --git a/gas/testsuite/gas/aarch64/sve-ldff1-invalid.d b/gas/testsuite/gas/aarch64/sve-ldff1-invalid.d
new file mode 100644
index 0000000..07fac45
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-ldff1-invalid.d
@@ -0,0 +1,4 @@
+#as: -march=armv8-a+sve
+#source: sve-ldff1-invalid.s
+#error_output: sve-ldff1-invalid.l
+
diff --git a/gas/testsuite/gas/aarch64/sve-ldff1-invalid.l b/gas/testsuite/gas/aarch64/sve-ldff1-invalid.l
new file mode 100644
index 0000000..3f101f1
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-ldff1-invalid.l
@@ -0,0 +1,58 @@
+[^:]*: Assembler messages:
+.*: Error: operand mismatch -- `ldff1b {z1\.b},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1b {z1\.d}, p1/z, \[z1\.d\]
+.*: Error: operand mismatch -- `ldff1b {z1\.h},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1b {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1b {z1\.s},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1b {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1b {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1b {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1d {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1d {z1\.d}, p1/z, \[z1\.d\]
+.*: Error: operand mismatch -- `ldff1h {z1\.h},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1h {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1h {z1\.s},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1h {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1h {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1h {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1sb {z1\.h},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1sb {z1\.d}, p1/z, \[z1\.d\]
+.*: Error: operand mismatch -- `ldff1sb {z1\.s},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1sb {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1sb {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1sb {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1sh {z1\.s},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1sh {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1sh {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1sh {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1sw {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1sw {z1\.d}, p1/z, \[z1\.d\]
+.*: Error: operand mismatch -- `ldff1w {z1\.s},p1/z,\[z1\.d\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1w {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: operand mismatch -- `ldff1w {z1\.d},p1/z,\[z1\.s\]'
+.*: Info: did you mean this\?
+.*: Info: ldff1w {z1\.s}, p1/z, \[z1\.s\]
+.*: Error: invalid addressing mode at operand 3 -- `ldff1d {z1\.d},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1h {z1\.h},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1h {z1\.s},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1h {z1\.d},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1sh {z1\.s},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1sh {z1\.d},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1sw {z1\.d},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1w {z1\.s},p1/z,\[x1,x1\]'
+.*: Error: invalid addressing mode at operand 3 -- `ldff1w {z1\.d},p1/z,\[x1,x1\]'
diff --git a/gas/testsuite/gas/aarch64/sve-ldff1-invalid.s b/gas/testsuite/gas/aarch64/sve-ldff1-invalid.s
new file mode 100644
index 0000000..ba56f03
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sve-ldff1-invalid.s
@@ -0,0 +1,35 @@
+// The fix for PR22988 accidentally allowed invalid addressing mode
+// ldff1b z1.d, p1/z, [z1.d]
+// which was parsed equivalently to the valid instruction:
+// ldff1b z1.d, p1/z, [x1.d, xzr];
+// and
+// ldff1h{z1.s}, p1/z, [x1, x1]
+// which was parsed as:
+// ldff1h{z1.s}, p1/z, [x1, x1, lsl #1]
+
+ ldff1b {z1.b}, p1/z, [z1.d]
+ ldff1b {z1.h}, p1/z, [z1.s]
+ ldff1b {z1.s}, p1/z, [z1.d]
+ ldff1b {z1.d}, p1/z, [z1.s]
+ ldff1d {z1.d}, p1/z, [z1.s]
+ ldff1h {z1.h}, p1/z, [z1.s]
+ ldff1h {z1.s}, p1/z, [z1.d]
+ ldff1h {z1.d}, p1/z, [z1.s]
+ ldff1sb {z1.h}, p1/z, [z1.d]
+ ldff1sb {z1.s}, p1/z, [z1.d]
+ ldff1sb {z1.d}, p1/z, [z1.s]
+ ldff1sh {z1.s}, p1/z, [z1.d]
+ ldff1sh {z1.d}, p1/z, [z1.s]
+ ldff1sw {z1.d}, p1/z, [z1.s]
+ ldff1w {z1.s}, p1/z, [z1.d]
+ ldff1w {z1.d}, p1/z, [z1.s]
+
+ ldff1d {z1.d}, p1/z, [x1, x1]
+ ldff1h {z1.h}, p1/z, [x1, x1]
+ ldff1h {z1.s}, p1/z, [x1, x1]
+ ldff1h {z1.d}, p1/z, [x1, x1]
+ ldff1sh {z1.s}, p1/z, [x1, x1]
+ ldff1sh {z1.d}, p1/z, [x1, x1]
+ ldff1sw {z1.d}, p1/z, [x1, x1]
+ ldff1w {z1.s}, p1/z, [x1, x1]
+ ldff1w {z1.d}, p1/z, [x1, x1]
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.d b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.d
new file mode 100644
index 0000000..a40995c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.d
@@ -0,0 +1,10 @@
+#as: -march=armv9.3-a+sme
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+.*: d538a5e0 mrs x0, mpambwsm_el1
+.*: d518a5e0 msr mpambwsm_el1, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.s b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.s
new file mode 100644
index 0000000..e5ac128
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sme-sysregs.s
@@ -0,0 +1,2 @@
+ mrs x0, mpambwsm_el1
+ msr mpambwsm_el1, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.d b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.d
new file mode 100644
index 0000000..46a05d2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.d
@@ -0,0 +1,21 @@
+#as: -march=armv9.3-a
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0+ <.*>:
+[^:]+:\s+d538a5a0 mrs x0, mpambw0_el1
+[^:]+:\s+d518a5a0 msr mpambw0_el1, x0
+[^:]+:\s+d538a580 mrs x0, mpambw1_el1
+[^:]+:\s+d518a580 msr mpambw1_el1, x0
+[^:]+:\s+d53da580 mrs x0, mpambw1_el12
+[^:]+:\s+d51da580 msr mpambw1_el12, x0
+[^:]+:\s+d53ca580 mrs x0, mpambw2_el2
+[^:]+:\s+d51ca580 msr mpambw2_el2, x0
+[^:]+:\s+d53ea580 mrs x0, mpambw3_el3
+[^:]+:\s+d51ea580 msr mpambw3_el3, x0
+[^:]+:\s+d53ca5c0 mrs x0, mpambwcap_el2
+[^:]+:\s+d51ca5c0 msr mpambwcap_el2, x0
+[^:]+:\s+d538a4a0 mrs x0, mpambwidr_el1
diff --git a/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.s b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.s
new file mode 100644
index 0000000..546bdbf
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/armv9_3-a-sysregs.s
@@ -0,0 +1,13 @@
+ mrs x0, mpambw0_el1
+ msr mpambw0_el1, x0
+ mrs x0, mpambw1_el1
+ msr mpambw1_el1, x0
+ mrs x0, mpambw1_el12
+ msr mpambw1_el12, x0
+ mrs x0, mpambw2_el2
+ msr mpambw2_el2, x0
+ mrs x0, mpambw3_el3
+ msr mpambw3_el3, x0
+ mrs x0, mpambwcap_el2
+ msr mpambwcap_el2, x0
+ mrs x0, mpambwidr_el1
diff --git a/gas/testsuite/gas/aarch64/sysreg/mpam-bad.d b/gas/testsuite/gas/aarch64/sysreg/mpam-bad.d
new file mode 100644
index 0000000..c3ec372
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/mpam-bad.d
@@ -0,0 +1,3 @@
+#as: -march=armv9.3-a
+#source: mpam-bad.s
+#error_output: mpam-bad.l
diff --git a/gas/testsuite/gas/aarch64/sysreg/mpam-bad.l b/gas/testsuite/gas/aarch64/sysreg/mpam-bad.l
new file mode 100644
index 0000000..34e9197
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/mpam-bad.l
@@ -0,0 +1,4 @@
+.*: Assembler messages:
+.*: Warning: specified register cannot be written to at operand 1 -- `msr mpambwidr_el1,x0'
+.*: Error: selected processor does not support system register name 'mpambwsm_el1'
+.*: Error: selected processor does not support system register name 'mpambwsm_el1'
diff --git a/gas/testsuite/gas/aarch64/sysreg/mpam-bad.s b/gas/testsuite/gas/aarch64/sysreg/mpam-bad.s
new file mode 100644
index 0000000..2a0f94f
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/mpam-bad.s
@@ -0,0 +1,6 @@
+/* This is read-only register */
+msr mpambwidr_el1, x0
+
+/* This register is not available without +sme flag */
+mrs x0, mpambwsm_el1
+msr mpambwsm_el1, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.d b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.d
new file mode 100644
index 0000000..61a6b21
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.d
@@ -0,0 +1,3 @@
+#source: pops-sysregs-bad.s
+#as: -I$srcdir/$subdir
+#error_output: pops-sysregs-bad.l
diff --git a/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.l b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.l
new file mode 100644
index 0000000..510bf3a
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.l
@@ -0,0 +1,8 @@
+.*: Assembler messages:
+.*: Error: selected processor does not support system register name 'cigdvaps'
+.*: Error: selected processor does not support system register name 'civaps'
+.*: Error: selected processor does not support system register name 'cigdvaps'
+.*: Error: selected processor does not support system register name 'civaps'
+.*: Error: selected processor does not support system register name 'cigdvaps'
+.*: Error: comma expected between operands at operand 2 -- `dc civaps'
+.*: Error: comma expected between operands at operand 2 -- `dc cigdvaps'
diff --git a/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.s b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.s
new file mode 100644
index 0000000..2783272
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs-bad.s
@@ -0,0 +1,20 @@
+ .arch armv8-a+memtag
+ dc cigdvaps, x19
+
+ .arch armv8-a+memtag
+ dc civaps, x20
+
+ .arch armv8-a+pops
+ dc cigdvaps, x21
+
+ .arch armv8-a
+ dc civaps, x22
+
+ .arch armv8-a
+ dc cigdvaps, x23
+
+ .arch armv8-a+pops
+ dc civaps
+
+ .arch armv8-a+memtag+pops
+ dc cigdvaps
diff --git a/gas/testsuite/gas/aarch64/sysreg/pops-sysregs.d b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs.d
new file mode 100644
index 0000000..db04ab8
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs.d
@@ -0,0 +1,12 @@
+#source: pops-sysregs.s
+#as: -I$srcdir/$subdir
+#objdump: -dr
+
+[^:]+: file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*: d5087fb3 dc cigdvaps, x19
+.*: d5087f34 dc civaps, x20
diff --git a/gas/testsuite/gas/aarch64/sysreg/pops-sysregs.s b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs.s
new file mode 100644
index 0000000..7da4dc9
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/pops-sysregs.s
@@ -0,0 +1,7 @@
+ .arch armv8-a+memtag+pops
+
+ dc cigdvaps, x19
+
+ .arch armv8-a+pops
+
+ dc civaps, x20
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.d b/gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.d
new file mode 100644
index 0000000..628de52
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.d
@@ -0,0 +1,3 @@
+#source: sysreg-10.s
+#as: -march=armv8.7-a -I$srcdir/$subdir
+#error_output: sysreg-10-bad.l
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.l b/gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.l
new file mode 100644
index 0000000..c3387cb
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-10-bad.l
@@ -0,0 +1,3 @@
+.*: Assembler messages:
+.*: Error: selected processor does not support system register name 'hfgitr2_el2'
+.*: Error: selected processor does not support system register name 'hfgitr2_el2'
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-10.d b/gas/testsuite/gas/aarch64/sysreg/sysreg-10.d
new file mode 100644
index 0000000..f07df91
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-10.d
@@ -0,0 +1,12 @@
+#source: sysreg-10.s
+#as: -march=armv8.8-a -I$srcdir/$subdir
+#objdump: -dr
+
+[^:]+: file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*: d53c31e0 mrs x0, hfgitr2_el2
+.*: d51c31e0 msr hfgitr2_el2, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-10.s b/gas/testsuite/gas/aarch64/sysreg/sysreg-10.s
new file mode 100644
index 0000000..bab7564
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-10.s
@@ -0,0 +1,2 @@
+ mrs x0, hfgitr2_el2
+ msr hfgitr2_el2, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.d b/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.d
new file mode 100644
index 0000000..a1ebac6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.d
@@ -0,0 +1,3 @@
+#source: sysreg-9-bad.s
+#as: -I$srcdir/$subdir
+#error_output: sysreg-9-bad.l
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.l b/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.l
new file mode 100644
index 0000000..b4874c2
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.l
@@ -0,0 +1,61 @@
+.*: Assembler messages:
+.*: Error: selected processor does not support system register name 'pmbmar_el1'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbmar_el1'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbmar_el1'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbmar_el1'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbmar_el1'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbmar_el1'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'pmbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'trbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'trbsr_el12'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'trbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'trbsr_el2'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'trbsr_el3'
+.*: Info: macro invoked from here
+.*: Error: selected processor does not support system register name 'trbsr_el3'
+.*: Info: macro invoked from here
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.s b/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.s
new file mode 100644
index 0000000..9429b44
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-9-bad.s
@@ -0,0 +1,26 @@
+.include "sysreg-test-utils.inc"
+
+.text
+
+.arch armv9.4-a+profile
+rw_sys_reg pmbmar_el1
+rw_sys_reg pmbsr_el12
+rw_sys_reg pmbsr_el2
+rw_sys_reg pmbsr_el3
+
+.arch armv9.5-a
+rw_sys_reg pmbmar_el1
+rw_sys_reg pmbsr_el12
+rw_sys_reg pmbsr_el2
+rw_sys_reg pmbsr_el3
+
+.arch armv9.4-a
+rw_sys_reg pmbmar_el1
+rw_sys_reg pmbsr_el12
+rw_sys_reg pmbsr_el2
+rw_sys_reg pmbsr_el3
+
+.arch armv9.4-a
+rw_sys_reg trbsr_el12
+rw_sys_reg trbsr_el2
+rw_sys_reg trbsr_el3
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-9.d b/gas/testsuite/gas/aarch64/sysreg/sysreg-9.d
new file mode 100644
index 0000000..61b63ce
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-9.d
@@ -0,0 +1,25 @@
+#source: sysreg-9.s
+#as: -I$srcdir/$subdir
+#objdump: -dr
+
+
+[^:]+: file format .*
+
+
+[^:]+:
+
+[^:]+:
+.*: d5189aa0 msr pmbmar_el1, x0
+.*: d5389aa0 mrs x0, pmbmar_el1
+.*: d51d9a60 msr pmbsr_el12, x0
+.*: d53d9a60 mrs x0, pmbsr_el12
+.*: d51c9a60 msr pmbsr_el2, x0
+.*: d53c9a60 mrs x0, pmbsr_el2
+.*: d51e9a60 msr pmbsr_el3, x0
+.*: d53e9a60 mrs x0, pmbsr_el3
+.*: d51d9b60 msr trbsr_el12, x0
+.*: d53d9b60 mrs x0, trbsr_el12
+.*: d51c9b60 msr trbsr_el2, x0
+.*: d53c9b60 mrs x0, trbsr_el2
+.*: d51e9b60 msr trbsr_el3, x0
+.*: d53e9b60 mrs x0, trbsr_el3
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg-9.s b/gas/testsuite/gas/aarch64/sysreg/sysreg-9.s
new file mode 100644
index 0000000..85a7335
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg-9.s
@@ -0,0 +1,14 @@
+.include "sysreg-test-utils.inc"
+
+.text
+
+.arch armv9.5-a+profile
+rw_sys_reg pmbmar_el1
+rw_sys_reg pmbsr_el12
+rw_sys_reg pmbsr_el2
+rw_sys_reg pmbsr_el3
+
+.arch armv9.5-a
+rw_sys_reg trbsr_el12
+rw_sys_reg trbsr_el2
+rw_sys_reg trbsr_el3
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg.d b/gas/testsuite/gas/aarch64/sysreg/sysreg.d
index 4fa9f0d..9aba548 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sysreg.d
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg.d
@@ -40,3 +40,5 @@ Disassembly of section \.text:
.*: d5384b00 mrs x0, s3_0_c4_c11_0
.*: d5110300 msr trcstatr, x0
.*: d5310300 mrs x0, trcstatr
+.*: d53804e0 mrs x0, id_aa64fpfr0_el1
+.*: d5380440 mrs x0, id_aa64pfr2_el1
diff --git a/gas/testsuite/gas/aarch64/sysreg/sysreg.s b/gas/testsuite/gas/aarch64/sysreg/sysreg.s
index cf04614..cd33810 100644
--- a/gas/testsuite/gas/aarch64/sysreg/sysreg.s
+++ b/gas/testsuite/gas/aarch64/sysreg/sysreg.s
@@ -34,3 +34,5 @@
rw_sys_reg sys_reg=s3_0_c12_c15_0 w=0
rw_sys_reg sys_reg=s3_0_c4_c11_0
rw_sys_reg sys_reg=s2_1_c0_c3_0
+ rw_sys_reg sys_reg=id_aa64fpfr0_el1 w=0
+ rw_sys_reg sys_reg=id_aa64pfr2_el1 w=0
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index c140077..8c1a113 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -8,12 +8,15 @@ Disassembly of section \.text:
0+ <.*>:
.*: d6bf03e0 drps
+.*: d69f03e0 eret
.*: d503201f nop
.*: d503203f yield
.*: d503205f wfe
.*: d503207f wfi
.*: d503209f sev
.*: d50320bf sevl
+.*: d50320df dgh
+.*: d503229f csdb
.*: d50322df clrbhb
.*: d503201f nop
.*: d503203f yield
@@ -21,7 +24,7 @@ Disassembly of section \.text:
.*: d503207f wfi
.*: d503209f sev
.*: d50320bf sevl
-.*: d50320df hint #0x6
+.*: d50320df dgh
.*: d50320ff (hint #0x7|xpaclri)
.*: d503211f (hint #0x8|pacia1716)
.*: d503213f hint #0x9
diff --git a/gas/testsuite/gas/aarch64/system.s b/gas/testsuite/gas/aarch64/system.s
index 9457b39..db35e7d 100644
--- a/gas/testsuite/gas/aarch64/system.s
+++ b/gas/testsuite/gas/aarch64/system.s
@@ -1,5 +1,6 @@
.text
drps
+ eret
//
// HINTS
@@ -11,6 +12,8 @@
wfi
sev
sevl
+ dgh
+ csdb
clearbhb
.macro all_hints from=0, to=127
diff --git a/gas/testsuite/gas/all/gas.exp b/gas/testsuite/gas/all/gas.exp
index f8bab3c..780838d 100644
--- a/gas/testsuite/gas/all/gas.exp
+++ b/gas/testsuite/gas/all/gas.exp
@@ -330,21 +330,6 @@ switch -glob $target_triplet {
}
}
-# This test is for any COFF target.
-# We omit the ARM toolchains because they define locals to
-# start with '.', which eliminates .eos, .text etc from the output.
-# Omit c54x, since .tag and .def mean something different on that target
-if { ([istarget *-*-coff*] && ![istarget *c4x*-*-coff] && ![istarget *c54x*-*-coff]) \
- ||([istarget *-*-pe*] && ![istarget arm*-*-pe*]) \
- || [istarget i*86-*-aix*] \
- || [istarget i*86-*-go32*] \
- || [istarget i*86-*-cygwin*] \
- || [istarget x86_64-*-mingw*] \
- || [istarget i*86-*-*nt] \
- || [istarget i*86-*-interix*] } {
- run_dump_test cofftag
-}
-
# Test omitting conditionals from listings.
proc test_cond {} {
global comp_output
diff --git a/gas/testsuite/gas/all/octa.d b/gas/testsuite/gas/all/octa.d
index e8eff2c..9c91206 100644
--- a/gas/testsuite/gas/all/octa.d
+++ b/gas/testsuite/gas/all/octa.d
@@ -14,3 +14,11 @@ Contents of section .data:
[^ ]* (00000000 ffffffff ffffffff ffffffff|ffffffff ffffffff ffffffff 00000000) .*
[^ ]* (00000080 ffffffff ffffffff ffffffff|ffffffff ffffffff ffffffff 80000000) .*
[^ ]* (01000000 ffffffff ffffffff ffffffff|ffffffff ffffffff ffffffff 00000001) .*
+ [^ ]* (00000000 000000f0 ffffffff ffffffff|ffffffff ffffffff f0000000 00000000) .*
+ [^ ]* (00000000 00000010 00000000 00000000|00000000 00000000 10000000 00000000) .*
+ [^ ]* (ffffffff ffffffef ffffffff ffffffff|ffffffff ffffffff efffffff ffffffff) .*
+ [^ ]* (01000000 00000010 00000000 00000000|00000000 00000000 10000000 00000001) .*
+ [^ ]* (01000000 000000f0 ffffffff ffffffff|ffffffff ffffffff f0000000 00000001) .*
+ [^ ]* (feffffff ffffff0f 00000000 00000000|00000000 00000000 0fffffff fffffffe) .*
+ [^ ]* (02000000 000000f0 ffffffff ffffffff|ffffffff ffffffff f0000000 00000002) .*
+ [^ ]* (fdffffff ffffff0f 00000000 00000000|00000000 00000000 0fffffff fffffffd) .*
diff --git a/gas/testsuite/gas/all/octa.s b/gas/testsuite/gas/all/octa.s
index faa21fa..037941f 100644
--- a/gas/testsuite/gas/all/octa.s
+++ b/gas/testsuite/gas/all/octa.s
@@ -9,3 +9,13 @@
.octa ~0xffffffff
.octa 0 - 0x80000000
.octa 0 - 0xffffffff
+
+ .octa ~0xfffffffffffffff
+ .octa -~0xfffffffffffffff
+ .octa ~-~0xfffffffffffffff
+ .octa -~-~0xfffffffffffffff
+
+ .octa -0xfffffffffffffff
+ .octa ~-0xfffffffffffffff
+ .octa -~-0xfffffffffffffff
+ .octa ~-~-0xfffffffffffffff
diff --git a/gas/testsuite/gas/arm/attr-empty-string.d b/gas/testsuite/gas/arm/attr-empty-string.d
new file mode 100644
index 0000000..b4a9141
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-empty-string.d
@@ -0,0 +1,10 @@
+# name: EABI attribute - empy string
+# source: attr-empty-string.s
+# as:
+# readelf: -T -A
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+
+Attribute Section: aeabi
+File Attributes
+ Tag_CPU_raw_name: ""
diff --git a/gas/testsuite/gas/arm/attr-empty-string.s b/gas/testsuite/gas/arm/attr-empty-string.s
new file mode 100644
index 0000000..f8ed373
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-empty-string.s
@@ -0,0 +1,14 @@
+ .section .XXX.attributes, "", %0x70000003
+ # Format version
+ .byte 'A'
+ # Size
+ .4byte (.Lend_attrs - .)
+ # "Vendor"
+ .asciz "aeabi"
+ # File scope
+ .byte 1
+ # Size
+ .4byte (.Lend_attrs - . + 1)
+ .uleb128 4
+ .asciz ""
+.Lend_attrs:
diff --git a/gas/testsuite/gas/arm/attr-non-null-terminated-string.d b/gas/testsuite/gas/arm/attr-non-null-terminated-string.d
new file mode 100644
index 0000000..ac376a9
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-non-null-terminated-string.d
@@ -0,0 +1,9 @@
+# name: EABI attribute - non-null terminated string
+# source: attr-non-null-terminated-string.s
+# This test is only valid on EABI based ports.
+# target: *-*-*eabi* *-*-nacl*
+# as:
+# readelf: --silent-truncation -A
+Attribute Section: aeabi
+File Attributes
+ Tag_CPU_raw_name: "ab<corrupt string tag>"
diff --git a/gas/testsuite/gas/arm/attr-non-null-terminated-string.s b/gas/testsuite/gas/arm/attr-non-null-terminated-string.s
new file mode 100644
index 0000000..f886f39
--- /dev/null
+++ b/gas/testsuite/gas/arm/attr-non-null-terminated-string.s
@@ -0,0 +1,14 @@
+ .section .XXX.attributes, "", %0x70000003
+ # Format version
+ .byte 'A'
+ # Size
+ .4byte (.Lend_attrs - .)
+ # "Vendor"
+ .asciz "aeabi"
+ # File scope
+ .byte 1
+ # Size
+ .4byte (.Lend_attrs - . + 1)
+ .uleb128 4
+ .byte 'a', 'b', 'c'
+.Lend_attrs:
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-4.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-4.d
index c81888b..51fad9c 100644
--- a/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-4.d
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-aarch64-4.d
@@ -1,7 +1,7 @@
#as: --gsframe
#objdump: --sframe=.sframe
#name: SFrame cfi_negate_ra_state_with_pc test
-#warning: Warning: skipping SFrame FDE; \.cfi_negate_ra_state_with_pc
+#warning: \.cfi_negate_ra_state_with_pc
## The support for .cfi_negate_ra_state_with_pc is currently pending on SFrame
## v3 (currently in development). The unimplemented support is reported to the
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.d
new file mode 100644
index 0000000..106e05d
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.d
@@ -0,0 +1,22 @@
+#as: --gsframe
+#objdump: --sframe=.sframe
+#name: SFrame cfi_undefined test
+#...
+Contents of the SFrame section .sframe:
+
+ Header :
+
+ Version: SFRAME_VERSION_2
+ Flags: NONE
+#? CFA fixed FP offset: \-?\d+
+#? CFA fixed RA offset: \-?\d+
+ Num FDEs: 1
+ Num FREs: 2
+
+ Function Index :
+ func idx \[0\]: pc = 0x0, size = 8 bytes
+ STARTPC + CFA + FP + RA +
+#...
+ 0+0004 +sp\+16 +u +[uf] +
+
+#pass
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.s
new file mode 100644
index 0000000..7761eda
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-10.s
@@ -0,0 +1,12 @@
+## cfi_undefined when used with "not interesting" registers (from the
+## perspective of SFrame section, non SP/FP/RA registers are not
+## interesting) does not affect the asynchronicity of the SFrame
+## stack trace information. Such CFI directives can be skipped for SFrame
+## stack trace info generation.
+ .cfi_startproc
+ .long 0
+ .cfi_def_cfa_offset 16
+ .cfi_undefined 1
+ .cfi_undefined 2
+ .long 0
+ .cfi_endproc
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.d
new file mode 100644
index 0000000..2584815
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.d
@@ -0,0 +1,22 @@
+#as: --gsframe
+#objdump: --sframe=.sframe
+#name: SFrame cfi_same_value test
+#...
+Contents of the SFrame section .sframe:
+
+ Header :
+
+ Version: SFRAME_VERSION_2
+ Flags: NONE
+#? CFA fixed FP offset: \-?\d+
+#? CFA fixed RA offset: \-?\d+
+ Num FDEs: 1
+ Num FREs: 2
+
+ Function Index :
+ func idx \[0\]: pc = 0x0, size = 8 bytes
+ STARTPC + CFA + FP + RA +
+#...
+ 0+0004 +sp\+16 +u +[uf] +
+
+#pass
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.s
new file mode 100644
index 0000000..e299f58
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-common-11.s
@@ -0,0 +1,12 @@
+## cfi_same_value when used with "not interesting" registers (from the
+## perspective of SFrame section, non SP/FP/RA registers are not
+## interesting) does not affect the asynchronicity of the SFrame stack
+## trace information. Such CFI directives can be skipped for SFrame
+## stack trace info generation.
+ .cfi_startproc
+ .long 0
+ .cfi_def_cfa_offset 16
+ .cfi_same_value 1
+ .cfi_same_value 2
+ .long 0
+ .cfi_endproc
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.d
new file mode 100644
index 0000000..d779b6d
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.d
@@ -0,0 +1,21 @@
+#as: --gsframe
+#objdump: --sframe=.sframe
+#name: Check .cfi_def_cfa_register with no previous offset
+#...
+Contents of the SFrame section .sframe:
+
+ Header :
+
+ Version: SFRAME_VERSION_2
+ Flags: NONE
+#? CFA fixed FP offset: \-?\d+
+#? CFA fixed RA offset: \-?\d+
+ Num FDEs: 1
+ Num FREs: 1
+
+ Function Index :
+
+ func idx \[0\]: pc = 0x0, size = 0 bytes
+ STARTPC +CFA +FP +RA +
+ 0+0000 +fp\+8 +u +f +
+#pass
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.s
new file mode 100644
index 0000000..f3f9859
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-2.s
@@ -0,0 +1,4 @@
+# Although not a useful construct by itself, ensure graceful handling.
+ .cfi_startproc
+ .cfi_def_cfa_register 6
+ .cfi_endproc
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-1.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-1.d
index 0123994..0bae4b9 100644
--- a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-1.d
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-1.d
@@ -1,5 +1,5 @@
#as: --gsframe
-#warning: skipping SFrame FDE; \.cfi_escape DW\_CFA\_expression with SP reg 7
+#warning: \.cfi_escape DW\_CFA\_expression with SP reg 7
#objdump: --sframe=.sframe
#name: CFI_escape with register of significance to SFrame
#...
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-2.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-2.d
index 482803b..f1ba044 100644
--- a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-2.d
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-2.d
@@ -1,5 +1,5 @@
#as: --gsframe
-#warning: skipping SFrame FDE; \.cfi\_escape DW\_CFA\_val\_offset with FP reg 6
+#warning: \.cfi\_escape DW\_CFA\_val\_offset with FP reg 6
#objdump: --sframe=.sframe
#name: CFI_escape with register of significance to SFrame II
#...
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-3.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-3.d
index 177fb21..c8fc7a4 100644
--- a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-3.d
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-3.d
@@ -1,5 +1,5 @@
#as: --gsframe
-#warning: skipping SFrame FDE; \.cfi\_escape with op \(0x14\)
+#warning: \.cfi\_escape with op \(0x14\)
#objdump: --sframe=.sframe
#name: CFI_escape with multiple DWARF expr
#...
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.d b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.d
new file mode 100644
index 0000000..43f09e0
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.d
@@ -0,0 +1,17 @@
+#as: --gsframe
+#warning: SP reg 7 in \.cfi\_undefined
+#objdump: --sframe=.sframe
+#name: DW_CFA_undefined with register SP
+#...
+Contents of the SFrame section .sframe:
+
+ Header :
+
+ Version: SFRAME_VERSION_2
+ Flags: NONE
+#? CFA fixed FP offset: \-?\d+
+#? CFA fixed RA offset: \-?\d+
+ Num FDEs: 0
+ Num FREs: 0
+
+#pass
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.s b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.s
new file mode 100644
index 0000000..fae3bbf
--- /dev/null
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe-x86_64-empty-4.s
@@ -0,0 +1,6 @@
+ .cfi_startproc
+ .long 0
+ .cfi_def_cfa_offset 16
+ .cfi_undefined 7
+ .long 0
+ .cfi_endproc
diff --git a/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp b/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp
index a099466..341a56a 100644
--- a/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp
+++ b/gas/testsuite/gas/cfi-sframe/cfi-sframe.exp
@@ -79,6 +79,8 @@ if { ([istarget "x86_64-*-*"] || [istarget "aarch64*-*-*"]) \
run_dump_test "cfi-sframe-common-7"
run_dump_test "cfi-sframe-common-8"
run_dump_test "cfi-sframe-common-9"
+ run_dump_test "cfi-sframe-common-10"
+ run_dump_test "cfi-sframe-common-11"
run_dump_test "common-empty-1"
run_dump_test "common-empty-2"
@@ -90,9 +92,11 @@ if { [istarget "x86_64-*-*"] && [gas_sframe_check] } then {
if { [gas_x86_64_check] } then {
set ASFLAGS "$ASFLAGS --64"
run_dump_test "cfi-sframe-x86_64-1"
+ run_dump_test "cfi-sframe-x86_64-2"
run_dump_test "cfi-sframe-x86_64-empty-1"
run_dump_test "cfi-sframe-x86_64-empty-2"
run_dump_test "cfi-sframe-x86_64-empty-3"
+ run_dump_test "cfi-sframe-x86_64-empty-4"
set ASFLAGS "$old_ASFLAGS"
}
}
diff --git a/gas/testsuite/gas/cfi-sframe/common-empty-1.d b/gas/testsuite/gas/cfi-sframe/common-empty-1.d
index 6e99dd5..736aea8 100644
--- a/gas/testsuite/gas/cfi-sframe/common-empty-1.d
+++ b/gas/testsuite/gas/cfi-sframe/common-empty-1.d
@@ -1,5 +1,5 @@
#as: --gsframe
-#warning: skipping SFrame FDE; \.cfi_remember_state without prior SFrame FRE state
+#warning: \.cfi_remember_state without prior SFrame FRE state
#objdump: --sframe=.sframe
#name: Uninteresting cfi directives generate an empty SFrame section
#...
diff --git a/gas/testsuite/gas/cfi-sframe/common-empty-2.d b/gas/testsuite/gas/cfi-sframe/common-empty-2.d
index 77c303e..163b504 100644
--- a/gas/testsuite/gas/cfi-sframe/common-empty-2.d
+++ b/gas/testsuite/gas/cfi-sframe/common-empty-2.d
@@ -1,5 +1,5 @@
#as: --gsframe
-#warning: skipping SFrame FDE; \.cfi_def_cfa_offset without CFA base register in effect
+#warning: \.cfi_def_cfa_offset without CFA base register in effect
#objdump: --sframe=.sframe
#name: SFrame supports only FP/SP based CFA
#...
diff --git a/gas/testsuite/gas/cfi-sframe/common-empty-3.d b/gas/testsuite/gas/cfi-sframe/common-empty-3.d
index 4ec5b44..39caad5 100644
--- a/gas/testsuite/gas/cfi-sframe/common-empty-3.d
+++ b/gas/testsuite/gas/cfi-sframe/common-empty-3.d
@@ -1,5 +1,5 @@
#as: --gsframe
-#warning: skipping SFrame FDE; non-default RA register 0
+#warning: non-default RA register 0
#objdump: --sframe=.sframe
#name: SFrame supports only default return column
#...
diff --git a/gas/testsuite/gas/coff/coff.exp b/gas/testsuite/gas/coff/coff.exp
new file mode 100644
index 0000000..b5e7d24
--- /dev/null
+++ b/gas/testsuite/gas/coff/coff.exp
@@ -0,0 +1,40 @@
+# Copyright (C) 2012-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+
+#
+# coff tests
+#
+
+if { ![is_coff_format] } then {
+ return
+}
+
+# We omit the ARM toolchains because they define locals to start with '.',
+# which eliminates .eos, .text etc from the output.
+# Also omit c4x and c54x, since .tag and .def mean something different there.
+if { ![istarget arm*-*-*]
+ && ![istarget *c4x*-*-*]
+ && ![istarget *c54x*-*-*] } {
+ run_dump_test tag
+}
+
+# Omit c4x and c54x, since .def means something different there.
+if { ![istarget *c4x*-*-*] && ![istarget *c54x*-*-*] } {
+ run_dump_test func1
+ run_dump_test func2
+ run_dump_test func3
+ run_dump_test func4
+}
diff --git a/gas/testsuite/gas/coff/func1.d b/gas/testsuite/gas/coff/func1.d
new file mode 100644
index 0000000..c0bfa83
--- /dev/null
+++ b/gas/testsuite/gas/coff/func1.d
@@ -0,0 +1,16 @@
+#xfail: aarch64-*-*
+#objdump: -t
+#name: functions w/o C_EFCN
+
+.*: file format .*
+
+SYMBOL TABLE:
+\[ 0\]\(sec -2\)\(fl 0x00\)\(ty 0\)\(scl 103\) \(nx 1\) 0x0+0000 func1.c
+File *
+\[ 2\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+0000 inner
+AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 4
+\[ 4\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+000. outer
+AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 6
+\[ 6\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 2\) \(nx 1\) 0x0+000. test
+AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 0
+#pass
diff --git a/gas/testsuite/gas/coff/func1.s b/gas/testsuite/gas/coff/func1.s
new file mode 100644
index 0000000..28300e7
--- /dev/null
+++ b/gas/testsuite/gas/coff/func1.s
@@ -0,0 +1,22 @@
+ .file "func1.c"
+ .text
+ .macro fcn, name
+ .def \name
+ .scl 3 /* C_STAT */
+ .type 32 /* DT_FUNC */
+ .endef
+\name:
+ .endm
+
+ fcn inner
+ .nop
+
+ fcn outer
+ .nop
+ .nop
+
+ .global test
+ fcn test
+ .nop
+ .nop
+ .nop
diff --git a/gas/testsuite/gas/coff/func2.d b/gas/testsuite/gas/coff/func2.d
new file mode 100644
index 0000000..55a3a25
--- /dev/null
+++ b/gas/testsuite/gas/coff/func2.d
@@ -0,0 +1,16 @@
+#xfail: aarch64-*-*
+#objdump: -t
+#name: functions w/ C_EFCN
+
+.*: file format .*
+
+SYMBOL TABLE:
+\[ 0\]\(sec -2\)\(fl 0x00\)\(ty 0\)\(scl 103\) \(nx 1\) 0x0+0000 func2.c
+File *
+\[ 2\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+0000 inner
+AUX tagndx 0 ttlsiz 0x[124] lnnos 0 next 4
+\[ 4\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+000. outer
+AUX tagndx 0 ttlsiz 0x[248] lnnos 0 next 6
+\[ 6\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 2\) \(nx 1\) 0x0+000. test
+AUX tagndx 0 ttlsiz 0x[36c] lnnos 0 next 0
+#pass
diff --git a/gas/testsuite/gas/coff/func2.s b/gas/testsuite/gas/coff/func2.s
new file mode 100644
index 0000000..75f2069
--- /dev/null
+++ b/gas/testsuite/gas/coff/func2.s
@@ -0,0 +1,34 @@
+ .file "func2.c"
+
+ .macro fcn, name
+ .def \name
+ .scl 3 /* C_STAT */
+ .type 32 /* DT_FUNC */
+ .endef
+\name:
+ .endm
+
+ .macro efcn, name
+ .def .\name
+ .scl 255 /* C_EFCN */
+ .val .
+ .endef
+ .endm
+
+ .text
+
+ fcn inner
+ .nop
+ efcn inner
+
+ fcn outer
+ .nop
+ .nop
+ efcn outer
+
+ .global test
+ fcn test
+ .nop
+ .nop
+ .nop
+ efcn test
diff --git a/gas/testsuite/gas/coff/func3.d b/gas/testsuite/gas/coff/func3.d
new file mode 100644
index 0000000..06b37f8
--- /dev/null
+++ b/gas/testsuite/gas/coff/func3.d
@@ -0,0 +1,16 @@
+#xfail: aarch64-*-*
+#objdump: -t
+#name: functions mixed C_EFCN
+
+.*: file format .*
+
+SYMBOL TABLE:
+\[ 0\]\(sec -2\)\(fl 0x00\)\(ty 0\)\(scl 103\) \(nx 1\) 0x0+0000 func3.c
+File *
+\[ 2\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+0000 inner
+AUX tagndx 0 ttlsiz 0x0 lnnos 0 next 4
+\[ 4\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+000. outer
+AUX tagndx 0 ttlsiz 0x[248] lnnos 0 next 6
+\[ 6\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 2\) \(nx 1\) 0x0+000. test
+AUX tagndx 0 ttlsiz 0x[36c] lnnos 0 next 0
+#pass
diff --git a/gas/testsuite/gas/coff/func3.s b/gas/testsuite/gas/coff/func3.s
new file mode 100644
index 0000000..5d41171
--- /dev/null
+++ b/gas/testsuite/gas/coff/func3.s
@@ -0,0 +1,33 @@
+ .file "func3.c"
+
+ .macro fcn, name
+ .def \name
+ .scl 3 /* C_STAT */
+ .type 32 /* DT_FUNC */
+ .endef
+\name:
+ .endm
+
+ .macro efcn, name
+ .def .\name
+ .scl 255 /* C_EFCN */
+ .val .
+ .endef
+ .endm
+
+ .text
+
+ fcn inner
+ .nop
+
+ fcn outer
+ .nop
+ .nop
+ efcn outer
+
+ .global test
+ fcn test
+ .nop
+ .nop
+ .nop
+ efcn test
diff --git a/gas/testsuite/gas/coff/func4.d b/gas/testsuite/gas/coff/func4.d
new file mode 100644
index 0000000..e7cd444
--- /dev/null
+++ b/gas/testsuite/gas/coff/func4.d
@@ -0,0 +1,18 @@
+#xfail: aarch64-*-*
+#objdump: -t
+#name: functions interleaved with data
+
+.*: file format .*
+
+SYMBOL TABLE:
+\[ 0\]\(sec -2\)\(fl 0x00\)\(ty 0\)\(scl 103\) \(nx 1\) 0x0+0000 func4.c
+File *
+\[ 2\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+0000 inner
+AUX tagndx 0 ttlsiz 0x[124] lnnos 0 next 5
+\[ 4\]\(sec 2\)\(fl 0x00\)\(ty 0\)\(scl 3\) \(nx 0\) 0x0+0000 item1
+\[ 5\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 3\) \(nx 1\) 0x0+000. outer
+AUX tagndx 0 ttlsiz 0x[248] lnnos 0 next 8
+\[ 7\]\(sec 2\)\(fl 0x00\)\(ty 0\)\(scl 3\) \(nx 0\) 0x0+000. item2
+\[ 8\]\(sec 1\)\(fl 0x00\)\(ty 20\)\(scl 2\) \(nx 1\) 0x0+000. test
+AUX tagndx 0 ttlsiz 0x[36c] lnnos 0 next 0
+#pass
diff --git a/gas/testsuite/gas/coff/func4.s b/gas/testsuite/gas/coff/func4.s
new file mode 100644
index 0000000..e9c75f4
--- /dev/null
+++ b/gas/testsuite/gas/coff/func4.s
@@ -0,0 +1,41 @@
+ .file "func4.c"
+
+ .macro fcn, name
+ .def \name
+ .scl 3 /* C_STAT */
+ .type 32 /* DT_FUNC */
+ .endef
+\name:
+ .endm
+
+ .macro efcn, name
+ .def .\name
+ .scl 255 /* C_EFCN */
+ .val .
+ .endef
+ .endm
+
+ .text
+ fcn inner
+ .nop
+ efcn inner
+
+ .data
+item1: .long -1
+
+ .text
+ fcn outer
+ .nop
+ .nop
+ efcn outer
+
+ .data
+item2: .long -2
+
+ .text
+ .global test
+ fcn test
+ .nop
+ .nop
+ .nop
+ efcn test
diff --git a/gas/testsuite/gas/all/cofftag.d b/gas/testsuite/gas/coff/tag.d
index 2d2a4cc..e366d4f 100644
--- a/gas/testsuite/gas/all/cofftag.d
+++ b/gas/testsuite/gas/coff/tag.d
@@ -5,7 +5,7 @@
SYMBOL TABLE:
\[ 0\]\(sec -2\)\(fl 0x00\)\(ty 0\)\(scl 103\) \(nx 1\) 0x0+0000 foo.c
-File
+File *
\[ 2\]\(sec 1\)\(fl 0x00\)\(ty 0\)\(scl 6\) \(nx 0\) 0x0+0000 gcc2_compiled.
\[ 3\]\(sec 1\)\(fl 0x00\)\(ty 0\)\(scl 6\) \(nx 0\) 0x0+0000 ___gnu_compiled_c
\[ 4\]\(sec -2\)\(fl 0x00\)\(ty a\)\(scl 15\) \(nx 1\) 0x0+0000 _token
diff --git a/gas/testsuite/gas/all/cofftag.s b/gas/testsuite/gas/coff/tag.s
index 814d3ed..a17c7f5 100644
--- a/gas/testsuite/gas/all/cofftag.s
+++ b/gas/testsuite/gas/coff/tag.s
@@ -4,7 +4,7 @@
operator,
flags
};
-
+
enum token what= operator;
Type numbers have been converted to decimal to make this test pass on
diff --git a/gas/testsuite/gas/epiphany/allinsn.exp b/gas/testsuite/gas/epiphany/allinsn.exp
index 5ac2ef0..b4f10a6 100644
--- a/gas/testsuite/gas/epiphany/allinsn.exp
+++ b/gas/testsuite/gas/epiphany/allinsn.exp
@@ -24,4 +24,5 @@ if [istarget epiphany*-*-*] {
run_dump_test "badrelax"
gas_test_error "badpostmod" "" "destination register modified by displacement-post-modified address"
run_dump_test "addr-syntax"
+ run_dump_test nop
}
diff --git a/gas/testsuite/gas/epiphany/nop.d b/gas/testsuite/gas/epiphany/nop.d
new file mode 100644
index 0000000..23f457b
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/nop.d
@@ -0,0 +1,16 @@
+#as:
+#objdump: -dr
+
+.*: file format elf32-epiphany
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+ 0: 01b2 idle
+ 2: 01a2 nop
+ 4: 01a2 nop
+ 6: 01a2 nop
+ 8: 01b2 idle
+ a: 01b2 idle
+ c: 01a2 nop
+ e: 01a2 nop
diff --git a/gas/testsuite/gas/epiphany/nop.s b/gas/testsuite/gas/epiphany/nop.s
new file mode 100644
index 0000000..ce5cb67
--- /dev/null
+++ b/gas/testsuite/gas/epiphany/nop.s
@@ -0,0 +1,5 @@
+ .text
+ idle
+ .p2align 3
+ idle
+ idle
diff --git a/gas/testsuite/gas/i386/align-branch-6.d b/gas/testsuite/gas/i386/align-branch-6.d
index 11dc03c..cd0a162 100644
--- a/gas/testsuite/gas/i386/align-branch-6.d
+++ b/gas/testsuite/gas/i386/align-branch-6.d
@@ -8,6 +8,7 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: eb 3c jmp 3e <_start\+0x3e>
+ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -15,7 +16,6 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: f2 73 bf bnd jae 0 <_start>
+[a-f0-9]+: c3 ret
#pass
diff --git a/gas/testsuite/gas/i386/arch-4.d b/gas/testsuite/gas/i386/arch-4.d
index 54fde15..6ebd456 100644
--- a/gas/testsuite/gas/i386/arch-4.d
+++ b/gas/testsuite/gas/i386/arch-4.d
@@ -6,7 +6,9 @@
Disassembly of section .text:
0+ <.text>:
+[ ]*[a-f0-9]+: 0f ff cc [ ]*ud0 %esp,%ecx
[ ]*[a-f0-9]+: 0f ff 07 [ ]*ud0 \(%edi\),%eax
+[ ]*[a-f0-9]+: 0f b9 cc [ ]*ud1 %esp,%ecx
[ ]*[a-f0-9]+: 0f b9 07 [ ]*ud1 \(%edi\),%eax
[ ]*[a-f0-9]+: 0f 0b ud2
[ ]*[a-f0-9]+: 0f 0b ud2
diff --git a/gas/testsuite/gas/i386/arch-4.s b/gas/testsuite/gas/i386/arch-4.s
index cf14d73..62c3f8a 100644
--- a/gas/testsuite/gas/i386/arch-4.s
+++ b/gas/testsuite/gas/i386/arch-4.s
@@ -1,5 +1,9 @@
.text
+ ud0
+ int3
ud0 (%edi),%eax
+ ud1
+ int3
ud1 (%edi),%eax
ud2
ud2a
diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp
index d48dd89..b068b32 100644
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -833,6 +833,7 @@ if {![istarget "i*86-*-elfiamcu"] && [gas_64_check]} then {
}
run_list_test "string-bad" ""
run_list_test "reg-bad" ""
+run_list_test "inval-type"
run_list_test "space1" "-al"
if {![istarget "i*86-*-elfiamcu"]} then {
run_list_test "xmmword"
diff --git a/gas/testsuite/gas/i386/inval-type.l b/gas/testsuite/gas/i386/inval-type.l
new file mode 100644
index 0000000..c029a9f
--- /dev/null
+++ b/gas/testsuite/gas/i386/inval-type.l
@@ -0,0 +1,13 @@
+.*: Assembler messages:
+.*: Error: operand type mismatch for .blendvps.
+.*: Error: operand type mismatch for .blendvps.
+.*: Error: operand type mismatch for .bsf.
+.*: Error: operand type mismatch for .bswap.
+.*: Error: operand type mismatch for .bswap.
+.*: Error: operand type mismatch for .bswap.
+.*: Error: operand type mismatch for .fcomi.
+.*: Error: operand type mismatch for .fcomi.
+.*: Error: operand type mismatch for .in.
+.*: Error: operand type mismatch for .in.
+.*: Error: operand type mismatch for .movntdqa.
+.*: Error: operand type mismatch for .movntdq.
diff --git a/gas/testsuite/gas/i386/inval-type.s b/gas/testsuite/gas/i386/inval-type.s
new file mode 100644
index 0000000..6490acd
--- /dev/null
+++ b/gas/testsuite/gas/i386/inval-type.s
@@ -0,0 +1,17 @@
+ .text
+
+# All the following should yield "operand type mismatch" (or something yet more
+# specific), but _not_ "operand size mismatch".
+
+ blendvps %eax, %xmm1, %xmm2
+ blendvps %st, %xmm1, %xmm2
+ bsf %eax, (%eax)
+ bswap %st
+ bswap %mm0
+ bswapl %xmm0
+ fcomi %st(1), %eax
+ fcomi %st(1), %xmm0
+ inl $0, %st
+ inl $0, %xmm0
+ movntdqa %xmm0, (%eax)
+ movntdq (%eax), %xmm0
diff --git a/gas/testsuite/gas/i386/nop-1-suffix.d b/gas/testsuite/gas/i386/nop-1-suffix.d
index dbea21b..ff9c7ee 100644
--- a/gas/testsuite/gas/i386/nop-1-suffix.d
+++ b/gas/testsuite/gas/i386/nop-1-suffix.d
@@ -21,19 +21,20 @@ Disassembly of section .text:
+[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi
0+12 <pseudo_20>:
+ +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi
0+26 <pseudo_30>:
+[a-f0-9]+: eb 1c jmp 44 <pseudo_129>
+ +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 leal 0x0\(%esi,%eiz,1\),%esi
0+44 <pseudo_129>:
+[a-f0-9]+: eb 7f jmp c5 <end>
+ +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -49,7 +50,6 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 leal %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d b4 26 00 00 00 00 leal 0x0\(%esi,%eiz,1\),%esi
0+c5 <end>:
+[a-f0-9]+: 31 c0 xorl %eax,%eax
diff --git a/gas/testsuite/gas/i386/nop-1.d b/gas/testsuite/gas/i386/nop-1.d
index 93c7c3a..3c5e946 100644
--- a/gas/testsuite/gas/i386/nop-1.d
+++ b/gas/testsuite/gas/i386/nop-1.d
@@ -20,19 +20,20 @@ Disassembly of section .text:
+[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+12 <pseudo_20>:
+ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+26 <pseudo_30>:
+[a-f0-9]+: eb 1c jmp 44 <pseudo_129>
+ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+44 <pseudo_129>:
+[a-f0-9]+: eb 7f jmp c5 <end>
+ +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -48,7 +49,6 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi
0+c5 <end>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/nop-1.l b/gas/testsuite/gas/i386/nop-1.l
index a818708..39260bb 100644
--- a/gas/testsuite/gas/i386/nop-1.l
+++ b/gas/testsuite/gas/i386/nop-1.l
@@ -15,25 +15,25 @@
[ ]*[0-9]+[ ]+8D742600 *
[ ]*[0-9]+[ ]*
[ ]*[0-9]+[ ]+pseudo_20:
-[ ]*[0-9]+[ ]+.... 2E8DB426[ ]+\.nops 20
+[ ]*[0-9]+[ ]+.... 8D742600[ ]+\.nops 20
+[ ]*[0-9]+[ ]+2E8DB426 *
[ ]*[0-9]+[ ]+00000000 *
[ ]*[0-9]+[ ]+2E8DB426 *
[ ]*[0-9]+[ ]+00000000 *
-[ ]*[0-9]+[ ]+8D742600 *
[ ]*[0-9]+[ ]*
[ ]*[0-9]+[ ]+pseudo_30:
-[ ]*[0-9]+[ ]+.... EB1C2E8D[ ]+\.nops 30
+[ ]*[0-9]+[ ]+.... EB1C8D74[ ]+\.nops 30
+[ ]*[0-9]+[ ]+26002E8D *
[ ]*[0-9]+[ ]+B4260000 *
[ ]*[0-9]+[ ]+00002E8D *
[ ]*[0-9]+[ ]+B4260000 *
-[ ]*[0-9]+[ ]+00002E8D *
[ ]*[0-9]+[ ]*
[ ]*[0-9]+[ ]+pseudo_129:
-[ ]*[0-9]+[ ]+.... EB7F2E8D[ ]+\.nops 129
-[ ]*[0-9]+[ ]+B4260000 *
-[ ]*[0-9]+[ ]+00002E8D *
-[ ]*[0-9]+[ ]+B4260000 *
-[ ]*[0-9]+[ ]+00002E8D *
+[ ]*[0-9]+[ ]+.... EB7F8DB4[ ]+\.nops 129
+[ ]*[0-9]+[ ]+26000000 *
+[ ]*[0-9]+[ ]+002E8DB4 *
+[ ]*[0-9]+[ ]+26000000 *
+[ ]*[0-9]+[ ]+002E8DB4 *
[ ]*[0-9]+[ ]*
[ ]*[0-9]+[ ]+end:
#pass
diff --git a/gas/testsuite/gas/i386/nop-2.d b/gas/testsuite/gas/i386/nop-2.d
index d87ab7e..f29df32 100644
--- a/gas/testsuite/gas/i386/nop-2.d
+++ b/gas/testsuite/gas/i386/nop-2.d
@@ -13,8 +13,8 @@ Disassembly of section .text:
+[a-f0-9]+: 90 nop
0+2 <pseudo_8>:
- +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
+ +[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+a <pseudo_8_4>:
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
@@ -22,22 +22,23 @@ Disassembly of section .text:
0+12 <pseudo_20>:
+[a-f0-9]+: eb 12 jmp 26 <pseudo_30>
+ +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
- +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+26 <pseudo_30>:
+[a-f0-9]+: eb 1c jmp 44 <pseudo_129>
+ +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
- +[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+44 <pseudo_129>:
+[a-f0-9]+: eb 7f jmp c5 <end>
+ +[a-f0-9]+: 89 f6 mov %si,%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
@@ -63,7 +64,6 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
- +[a-f0-9]+: 89 f6 mov %si,%si
0+c5 <end>:
+[a-f0-9]+: 66 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/nop-4.d b/gas/testsuite/gas/i386/nop-4.d
index 5953652..5f9e0b9 100644
--- a/gas/testsuite/gas/i386/nop-4.d
+++ b/gas/testsuite/gas/i386/nop-4.d
@@ -9,8 +9,8 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 85 c0 test %eax,%eax
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 90 nop
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/nop-5.d b/gas/testsuite/gas/i386/nop-5.d
index 193e0cd..71f1259 100644
--- a/gas/testsuite/gas/i386/nop-5.d
+++ b/gas/testsuite/gas/i386/nop-5.d
@@ -9,9 +9,9 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 85 c0 test %eax,%eax
+ +[a-f0-9]+: 90 nop
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 90 nop
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/nops-1-core2.d b/gas/testsuite/gas/i386/nops-1-core2.d
index bd5ad37..c783324 100644
--- a/gas/testsuite/gas/i386/nops-1-core2.d
+++ b/gas/testsuite/gas/i386/nops-1-core2.d
@@ -9,153 +9,153 @@
Disassembly of section .text:
0+ <nop15>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+10 <nop14>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+20 <nop13>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+30 <nop12>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 90 nop
0+40 <nop11>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+50 <nop10>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0\(%eax,%eax,1\)
0+60 <nop9>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%eax,%eax,1\)
0+70 <nop8>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\)
0+80 <nop7>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\)
0+90 <nop6>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
0+a0 <nop5>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\)
0+b0 <nop4>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
0+c0 <nop3>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\)
0+d0 <nop2>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/nops-1.d b/gas/testsuite/gas/i386/nops-1.d
index ff6444a..71c1721 100644
--- a/gas/testsuite/gas/i386/nops-1.d
+++ b/gas/testsuite/gas/i386/nops-1.d
@@ -8,156 +8,156 @@
Disassembly of section .text:
0+ <nop15>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+10 <nop14>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+20 <nop13>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+30 <nop12>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+40 <nop11>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+50 <nop10>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 90 xchg %ax,%ax
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+60 <nop9>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 90 nop
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 90 nop
0+70 <nop8>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+80 <nop7>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi
0+90 <nop6>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi
0+a0 <nop5>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+b0 <nop4>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+c0 <nop3>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi
0+d0 <nop2>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/nops-1.s b/gas/testsuite/gas/i386/nops-1.s
index a4fd769..77cb9a8 100644
--- a/gas/testsuite/gas/i386/nops-1.s
+++ b/gas/testsuite/gas/i386/nops-1.s
@@ -1,147 +1,147 @@
.text
nop15:
- nop
+ clc
.p2align 4
nop14:
- nop
- nop
+ clc
+ clc
.p2align 4
nop13:
- nop
- nop
- nop
+ clc
+ clc
+ clc
.p2align 4
nop12:
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop11:
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop10:
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop9:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop8:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop7:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop6:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop5:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop4:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop3:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop2:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
diff --git a/gas/testsuite/gas/i386/nops-10.d b/gas/testsuite/gas/i386/nops-10.d
index be9d4f7..6aeaaa0 100644
--- a/gas/testsuite/gas/i386/nops-10.d
+++ b/gas/testsuite/gas/i386/nops-10.d
@@ -8,6 +8,6 @@ Disassembly of section .text:
0+ <default>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
#pass
diff --git a/gas/testsuite/gas/i386/nops-2.d b/gas/testsuite/gas/i386/nops-2.d
index 79baee5..b7c1d81 100644
--- a/gas/testsuite/gas/i386/nops-2.d
+++ b/gas/testsuite/gas/i386/nops-2.d
@@ -9,160 +9,160 @@ Disassembly of section .text:
0+ <nop>:
+[a-f0-9]+: 0f be f0 movsbl %al,%esi
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+10 <nop15>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+20 <nop14>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+30 <nop13>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+40 <nop12>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+50 <nop11>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+60 <nop10>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 90 xchg %ax,%ax
+ +[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+70 <nop9>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 90 nop
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 90 nop
0+80 <nop8>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+90 <nop7>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b4 26 00 00 00 00 lea 0x0\(%esi,%eiz,1\),%esi
0+a0 <nop6>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d b6 00 00 00 00 lea 0x0\(%esi\),%esi
0+b0 <nop5>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+c0 <nop4>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+d0 <nop3>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 8d 76 00 lea 0x0\(%esi\),%esi
0+e0 <nop2>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/nops-2.s b/gas/testsuite/gas/i386/nops-2.s
index 6de16f2..23466e2 100644
--- a/gas/testsuite/gas/i386/nops-2.s
+++ b/gas/testsuite/gas/i386/nops-2.s
@@ -4,148 +4,148 @@ nop:
.p2align 4
nop15:
- nop
+ clc
.p2align 4
nop14:
- nop
- nop
+ clc
+ clc
.p2align 4
nop13:
- nop
- nop
- nop
+ clc
+ clc
+ clc
.p2align 4
nop12:
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop11:
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop10:
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop9:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop8:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop7:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop6:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop5:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop4:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop3:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop2:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
diff --git a/gas/testsuite/gas/i386/nops-3.d b/gas/testsuite/gas/i386/nops-3.d
index 2de34bd..d0539b0 100644
--- a/gas/testsuite/gas/i386/nops-3.d
+++ b/gas/testsuite/gas/i386/nops-3.d
@@ -8,13 +8,13 @@
Disassembly of section .text:
0+ <nop>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1d jmp 20 <nop\+0x20>
+[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
#pass
diff --git a/gas/testsuite/gas/i386/nops-3.s b/gas/testsuite/gas/i386/nops-3.s
index c42b354..293758a 100644
--- a/gas/testsuite/gas/i386/nops-3.s
+++ b/gas/testsuite/gas/i386/nops-3.s
@@ -1,6 +1,6 @@
.text
nop:
- nop
+ clc
.p2align 5
mov %eax,%ebx
.p2align 4
diff --git a/gas/testsuite/gas/i386/nops-4.d b/gas/testsuite/gas/i386/nops-4.d
index b311db2..8afbb17 100644
--- a/gas/testsuite/gas/i386/nops-4.d
+++ b/gas/testsuite/gas/i386/nops-4.d
@@ -7,230 +7,230 @@
Disassembly of section .text:
0+ <nop31>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1d jmp 20 <nop30>
+[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+20 <nop30>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1c jmp 40 <nop29>
+[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
0+40 <nop29>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1b jmp 60 <nop28>
+[ ]*[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi
0+60 <nop28>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1a jmp 80 <nop27>
+[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
0+80 <nop27>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 19 jmp a0 <nop26>
+[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 90 nop
0+a0 <nop26>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 18 jmp c0 <nop25>
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+c0 <nop25>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 17 jmp e0 <nop24>
+[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi
0+e0 <nop24>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 16 jmp 100 <nop23>
+[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
0+100 <nop23>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d b4 26 00 00 00 00 lea (0x)?0\(%esi,%eiz,1\),%esi
0+120 <nop22>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d b6 00 00 00 00 lea (0x)?0\(%esi\),%esi
0+140 <nop21>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+160 <nop20>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
0+180 <nop19>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 8d 76 00 lea (0x)?0\(%esi\),%esi
0+1a0 <nop18>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
0+1c0 <nop17>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
-[ ]*[a-f0-9]+: 90 nop
0+1e0 <nop16>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
#pass
diff --git a/gas/testsuite/gas/i386/nops-4.s b/gas/testsuite/gas/i386/nops-4.s
index 103ca36..b455f49 100644
--- a/gas/testsuite/gas/i386/nops-4.s
+++ b/gas/testsuite/gas/i386/nops-4.s
@@ -1,187 +1,187 @@
.text
nop31:
- nop
+ clc
.p2align 5
nop30:
- nop
- nop
+ clc
+ clc
.p2align 5
nop29:
- nop
- nop
- nop
+ clc
+ clc
+ clc
.p2align 5
nop28:
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop27:
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop26:
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop25:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop24:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop23:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop22:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop21:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop20:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop19:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop18:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop17:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop16:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
align:
diff --git a/gas/testsuite/gas/i386/nops-4a-i686.d b/gas/testsuite/gas/i386/nops-4a-i686.d
index dfd3217..56ce6d7 100644
--- a/gas/testsuite/gas/i386/nops-4a-i686.d
+++ b/gas/testsuite/gas/i386/nops-4a-i686.d
@@ -8,211 +8,211 @@
Disassembly of section .text:
0+ <nop31>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%eax,%eax,1\)
0+20 <nop30>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\)
0+40 <nop29>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\)
0+60 <nop28>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
0+80 <nop27>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\)
0+a0 <nop26>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%eax\)
0+c0 <nop25>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%eax\)
0+e0 <nop24>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
0+100 <nop23>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
-[ ]*[a-f0-9]+: 90 nop
0+120 <nop22>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+140 <nop21>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+160 <nop20>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+180 <nop19>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+1a0 <nop18>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%eax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+1c0 <nop17>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+1e0 <nop16>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%eax,%eax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/nops-5.d b/gas/testsuite/gas/i386/nops-5.d
index d87f950..7ca694e 100644
--- a/gas/testsuite/gas/i386/nops-5.d
+++ b/gas/testsuite/gas/i386/nops-5.d
@@ -7,71 +7,71 @@ Disassembly of section .text:
0+ <i386>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+10 <i486>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+20 <i586>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+30 <i686>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+40 <pentium4>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+50 <nocona>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+60 <core>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+70 <core2>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+80 <k6>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+90 <athlon>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+a0 <k8>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+b0 <generic32>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+c0 <generic64>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
0+d0 <amdfam10>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/nops-6.d b/gas/testsuite/gas/i386/nops-6.d
index c56c9d1..7dfb730 100644
--- a/gas/testsuite/gas/i386/nops-6.d
+++ b/gas/testsuite/gas/i386/nops-6.d
@@ -7,11 +7,11 @@ Disassembly of section .text:
0+ <i386>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+10 <i386_nop>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/nops-7.d b/gas/testsuite/gas/i386/nops-7.d
index 2290ab7..1ae8efa 100644
--- a/gas/testsuite/gas/i386/nops-7.d
+++ b/gas/testsuite/gas/i386/nops-7.d
@@ -8,6 +8,7 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: e9 f9 01 00 00 jmp 200 <func1>
+ +[a-f0-9]+: 90 nop
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -71,11 +72,11 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 90 nop
0+200 <func1>:
+[a-f0-9]+: 31 db xor %ebx,%ebx
+[a-f0-9]+: e9 f9 00 00 00 jmp 300 <func2>
+ +[a-f0-9]+: 90 nop
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -107,11 +108,11 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 90 nop
0+300 <func2>:
+[a-f0-9]+: 31 db xor %ebx,%ebx
+[a-f0-9]+: eb 7c jmp 380 <func3>
+ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -127,11 +128,11 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+380 <func3>:
+[a-f0-9]+: 31 c9 xor %ecx,%ecx
+[a-f0-9]+: eb 3c jmp 3c0 <func4>
+ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
@@ -139,15 +140,14 @@ Disassembly of section .text:
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+3c0 <func4>:
+[a-f0-9]+: 31 d2 xor %edx,%edx
+[a-f0-9]+: eb 1c jmp 3e0 <func5>
+ +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
- +[a-f0-9]+: 8d 74 26 00 lea 0x0\(%esi,%eiz,1\),%esi
0+3e0 <func5>:
+[a-f0-9]+: 31 ff xor %edi,%edi
diff --git a/gas/testsuite/gas/i386/nops-9.d b/gas/testsuite/gas/i386/nops-9.d
index ba8707f..62fc954 100644
--- a/gas/testsuite/gas/i386/nops-9.d
+++ b/gas/testsuite/gas/i386/nops-9.d
@@ -7,21 +7,21 @@ Disassembly of section .text:
0+ <default>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+10 <nopopcnt>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+20 <popcnt>:
[ ]*[a-f0-9]+: f3 0f b8 f0 popcnt %eax,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
[ ]*[a-f0-9]+: 8d 74 26 00 lea (0x)?0\(%esi,%eiz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 lea %cs:(0x)?0\(%esi,%eiz,1\),%esi
0+30 <nop>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 nopw %cs:0x0\(%eax,%eax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/nops16-1.d b/gas/testsuite/gas/i386/nops16-1.d
index 5cc860b..dd1219e 100644
--- a/gas/testsuite/gas/i386/nops16-1.d
+++ b/gas/testsuite/gas/i386/nops16-1.d
@@ -7,57 +7,57 @@
Disassembly of section .text:
0+ <nop31>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1d jmp 20 <nop30>
+[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
0+20 <nop30>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1c jmp 40 <nop29>
+[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+40 <nop29>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1b jmp 60 <nop28>
+[ ]*[a-f0-9]+: 89 f6 mov %si,%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+60 <nop28>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 1a jmp 80 <nop27>
+[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 90 nop
0+80 <nop27>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 19 jmp a0 <nop26>
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
@@ -66,78 +66,78 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+a0 <nop26>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 18 jmp c0 <nop25>
+[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
0+c0 <nop25>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 17 jmp e0 <nop24>
+[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+e0 <nop24>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 16 jmp 100 <nop23>
+[ ]*[a-f0-9]+: 89 f6 mov %si,%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+100 <nop23>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 15 jmp 120 <nop22>
+[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 90 nop
0+120 <nop22>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 14 jmp 140 <nop21>
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
@@ -145,286 +145,286 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+140 <nop21>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 13 jmp 160 <nop20>
+[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
0+160 <nop20>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 12 jmp 180 <nop19>
+[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+180 <nop19>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 11 jmp 1a0 <nop18>
+[ ]*[a-f0-9]+: 89 f6 mov %si,%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+1a0 <nop18>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 10 jmp 1c0 <nop17>
+[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 90 nop
0+1c0 <nop17>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 0f jmp 1e0 <nop16>
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+1e0 <nop16>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 0e jmp 200 <nop15>
+[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
0+200 <nop15>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: eb 0d jmp 210 <nop14>
+[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+210 <nop14>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
0+220 <nop13>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
0+230 <nop12>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 89 f6 mov %si,%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+240 <nop11>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 90 nop
0+250 <nop10>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+260 <nop9>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 8d b4 00 00 lea (0x)?0\(%si\),%si
+[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+270 <nop8>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 8d 74 00 lea (0x)?0\(%si\),%si
+[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+280 <nop7>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
+[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+290 <nop6>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
-[ ]*[a-f0-9]+: 90 nop
0+2a0 <nop5>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 2e 8d b4 00 00 lea %cs:(0x)?0\(%si\),%si
0+2b0 <nop4>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
0+2c0 <nop3>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 8d 74 00 lea 0x0\(%si\),%si
0+2d0 <nop2>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
#pass
diff --git a/gas/testsuite/gas/i386/nops16-1.s b/gas/testsuite/gas/i386/nops16-1.s
index 8e13bb6..570711d5 100644
--- a/gas/testsuite/gas/i386/nops16-1.s
+++ b/gas/testsuite/gas/i386/nops16-1.s
@@ -1,332 +1,332 @@
.text
.code16
nop31:
- nop
+ clc
.p2align 5
nop30:
- nop
- nop
+ clc
+ clc
.p2align 5
nop29:
- nop
- nop
- nop
+ clc
+ clc
+ clc
.p2align 5
nop28:
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop27:
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop26:
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop25:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop24:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop23:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop22:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop21:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop20:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop19:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop18:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop17:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop16:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 5
nop15:
- nop
+ clc
.p2align 4
nop14:
- nop
- nop
+ clc
+ clc
.p2align 4
nop13:
- nop
- nop
- nop
+ clc
+ clc
+ clc
.p2align 4
nop12:
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop11:
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop10:
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop9:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop8:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop7:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop6:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop5:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop4:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop3:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
nop2:
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
- nop
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
+ clc
.p2align 4
diff --git a/gas/testsuite/gas/i386/solaris/x86-64-nop-5.d b/gas/testsuite/gas/i386/solaris/x86-64-nop-5.d
index 3ca31a0..76e02fd 100644
--- a/gas/testsuite/gas/i386/solaris/x86-64-nop-5.d
+++ b/gas/testsuite/gas/i386/solaris/x86-64-nop-5.d
@@ -10,9 +10,9 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 85 c0 test %eax,%eax
+ +[a-f0-9]+: 90 nop
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 90 nop
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/x86-64-align-branch-6.d b/gas/testsuite/gas/i386/x86-64-align-branch-6.d
index 01a28ae..f198401 100644
--- a/gas/testsuite/gas/i386/x86-64-align-branch-6.d
+++ b/gas/testsuite/gas/i386/x86-64-align-branch-6.d
@@ -8,12 +8,12 @@
Disassembly of section .text:
0+ <_start>:
+ +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
+[a-f0-9]+: f2 73 bf bnd jae 0 <_start>
+[a-f0-9]+: c3 ret
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l
index c4d774b..5e334a0 100644
--- a/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l
+++ b/gas/testsuite/gas/i386/x86-64-apx-pushp-popp-inval.l
@@ -1,5 +1,5 @@
.* Assembler messages:
.*:4: Error: operand size mismatch for `pushp'
.*:5: Error: operand size mismatch for `popp'
-.*:6: Error: operand size mismatch for `pushp'
-.*:7: Error: operand size mismatch for `popp'
+.*:6: Error: operand type mismatch for `pushp'
+.*:7: Error: operand type mismatch for `popp'
diff --git a/gas/testsuite/gas/i386/x86-64-lkgs-inval.l b/gas/testsuite/gas/i386/x86-64-lkgs-inval.l
index 77ee7d7..29da973 100644
--- a/gas/testsuite/gas/i386/x86-64-lkgs-inval.l
+++ b/gas/testsuite/gas/i386/x86-64-lkgs-inval.l
@@ -5,5 +5,5 @@
.*:8: Error: invalid instruction suffix for `lkgs'
.*:11: Error: invalid instruction suffix for `lkgs'
.*:12: Error: invalid instruction suffix for `lkgs'
-.*:13: Error: invalid instruction suffix for `lkgs'
-.*:14: Error: invalid instruction suffix for `lkgs'
+.*:13: Error: .* for `lkgs'
+.*:14: Error: .* for `lkgs'
diff --git a/gas/testsuite/gas/i386/x86-64-nop-1.d b/gas/testsuite/gas/i386/x86-64-nop-1.d
index 5778021..3e52c70 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-1.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-1.d
@@ -21,16 +21,17 @@ Disassembly of section .text:
+[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
0+12 <pseudo_20>:
- +[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+26 <pseudo_30>:
+ +[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
0+44 <pseudo_129>:
+[a-f0-9]+: eb 7f jmp c5 <end>
+ +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
@@ -42,7 +43,6 @@ Disassembly of section .text:
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
0+c5 <end>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/x86-64-nop-5.d b/gas/testsuite/gas/i386/x86-64-nop-5.d
index d5c84c1..b8c0ea7 100644
--- a/gas/testsuite/gas/i386/x86-64-nop-5.d
+++ b/gas/testsuite/gas/i386/x86-64-nop-5.d
@@ -11,9 +11,9 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 85 c0 test %eax,%eax
+ +[a-f0-9]+: 90 nop
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 90 nop
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: 31 c0 xor %eax,%eax
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-core2.d b/gas/testsuite/gas/i386/x86-64-nops-1-core2.d
index 3fe7f3f..5acc63c 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1-core2.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1-core2.d
@@ -9,149 +9,149 @@
Disassembly of section .text:
0+ <nop15>:
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+10 <nop14>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+20 <nop13>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+30 <nop12>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+40 <nop11>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 2e 48 0f 1f 84 00 00 00 00 00 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+50 <nop10>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 48 0f 1f 84 00 00 00 00 00 cs nopq (0x)?0\(%rax,%rax,1\)
0+60 <nop9>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 48 0f 1f 84 00 00 00 00 00 nopq (0x)?0\(%rax,%rax,1\)
0+70 <nop8>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl (0x)?0\(%rax,%rax,1\)
0+80 <nop7>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl (0x)?0\(%rax\)
0+90 <nop6>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw (0x)?0\(%rax,%rax,1\)
0+a0 <nop5>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 44 00 00 nopl (0x)?0\(%rax,%rax,1\)
0+b0 <nop4>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 40 00 nopl (0x)?0\(%rax\)
0+c0 <nop3>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
0+d0 <nop2>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d b/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d
index a888208..571ec95 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1-pentium.d
@@ -8,155 +8,155 @@
Disassembly of section .text:
0+ <nop15>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 2e 48 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+10 <nop14>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 8d 74 26 00 lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+20 <nop13>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 8d 76 00 lea (0x)?0\(%rsi\),%rsi
+[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+30 <nop12>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 89 f6 mov %rsi,%rsi
+[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+40 <nop11>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+50 <nop10>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
-[ ]*[a-f0-9]+: 90 nop
0+60 <nop9>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 2e 48 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+70 <nop8>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 8d b4 26 00 00 00 00 lea (0x)?0\(%rsi,%riz,1\),%rsi
0+80 <nop7>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 8d b6 00 00 00 00 lea (0x)?0\(%rsi\),%rsi
0+90 <nop6>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 2e 48 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%rsi
0+a0 <nop5>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 8d 74 26 00 lea (0x)?0\(%rsi,%riz,1\),%rsi
0+b0 <nop4>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 8d 76 00 lea (0x)?0\(%rsi\),%rsi
0+c0 <nop3>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 48 89 f6 mov %rsi,%rsi
0+d0 <nop2>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-1.d b/gas/testsuite/gas/i386/x86-64-nops-1.d
index ab99e56..45867a4 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-1.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-1.d
@@ -8,153 +8,153 @@
Disassembly of section .text:
0+ <nop15>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+10 <nop14>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+20 <nop13>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+30 <nop12>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 90 nop
0+40 <nop11>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+50 <nop10>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\)
0+60 <nop9>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
0+70 <nop8>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
0+80 <nop7>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
0+90 <nop6>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
0+a0 <nop5>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
0+b0 <nop4>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
0+c0 <nop3>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
0+d0 <nop2>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-2.d b/gas/testsuite/gas/i386/x86-64-nops-2.d
index fa07de7..b184888 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-2.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-2.d
@@ -10,157 +10,157 @@ Disassembly of section .text:
0+ <nop>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+10 <nop15>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+20 <nop14>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+30 <nop13>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+40 <nop12>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 90 nop
0+50 <nop11>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+60 <nop10>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\)
0+70 <nop9>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
0+80 <nop8>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
0+90 <nop7>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
0+a0 <nop6>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
0+b0 <nop5>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
0+c0 <nop4>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
0+d0 <nop3>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
0+e0 <nop2>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-3.d b/gas/testsuite/gas/i386/x86-64-nops-3.d
index 74c4d9c..899affb 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-3.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-3.d
@@ -9,11 +9,11 @@
Disassembly of section .text:
0+ <nop>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 89 c3 mov %eax,%ebx
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-4-core2.d b/gas/testsuite/gas/i386/x86-64-nops-4-core2.d
index 8154ca9..eb5cb16 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-4-core2.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-4-core2.d
@@ -9,203 +9,203 @@
Disassembly of section .text:
0+ <nop31>:
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 90 nop
+[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
- +[a-f0-9]+: 90 nop
0+20 <nop30>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+40 <nop29>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+60 <nop28>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+80 <nop27>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+a0 <nop26>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 2e 48 0f 1f 84 00 00 00 00 00 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+c0 <nop25>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 2e 48 0f 1f 84 00 00 00 00 00 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+e0 <nop24>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 48 0f 1f 84 00 00 00 00 00 nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+100 <nop23>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+120 <nop22>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl (0x)?0\(%rax\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+140 <nop21>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 0f 1f 44 00 00 nopw (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+160 <nop20>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 44 00 00 nopl (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+180 <nop19>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 40 00 nopl (0x)?0\(%rax\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+1a0 <nop18>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+1c0 <nop17>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 66 90 xchg %ax,%ax
+ +[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
0+1e0 <nop16>:
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
- +[a-f0-9]+: 90 nop
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+ +[a-f0-9]+: f8 clc
+[a-f0-9]+: 90 nop
+[a-f0-9]+: 66 66 66 66 66 2e 48 0f 1f 84 00 00 00 00 00 data16 data16 data16 data16 data16 cs nopq (0x)?0\(%rax,%rax,1\)
- +[a-f0-9]+: 90 nop
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-4.d b/gas/testsuite/gas/i386/x86-64-nops-4.d
index 7a922c9..778f9b2 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-4.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-4.d
@@ -9,211 +9,211 @@
Disassembly of section .text:
0+ <nop31>:
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
0+20 <nop30>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
0+40 <nop29>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
0+60 <nop28>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
0+80 <nop27>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
0+a0 <nop26>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 0f 1f 40 00 nopl 0x0\(%rax\)
0+c0 <nop25>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
0+e0 <nop24>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
0+100 <nop23>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
-[ ]*[a-f0-9]+: 90 nop
0+120 <nop22>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+140 <nop21>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+160 <nop20>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 84 00 00 00 00 00 nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+180 <nop19>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+1a0 <nop18>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+1c0 <nop17>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 66 0f 1f 44 00 00 nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+1e0 <nop16>:
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 90 nop
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
+[ ]*[a-f0-9]+: f8 clc
[ ]*[a-f0-9]+: 0f 1f 44 00 00 nopl 0x0\(%rax,%rax,1\)
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-5.d b/gas/testsuite/gas/i386/x86-64-nops-5.d
index 3d18825..290f1d0 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-5.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-5.d
@@ -9,71 +9,71 @@ Disassembly of section .text:
0+ <i386>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
0+10 <i486>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
0+20 <i586>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
0+30 <i686>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
0+40 <pentium4>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+50 <nocona>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+60 <core>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+70 <core2>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+80 <k6>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
0+90 <athlon>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+a0 <k8>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+b0 <generic32>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
[ ]*[a-f0-9]+: 2e 8d 74 26 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
+[ ]*[a-f0-9]+: 2e 8d b4 26 00 00 00 00 cs lea (0x)?0\(%rsi,%riz,1\),%esi
0+c0 <generic64>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
0+d0 <amdfam10>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-6.d b/gas/testsuite/gas/i386/x86-64-nops-6.d
index e962350..94bb966 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-6.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-6.d
@@ -8,6 +8,6 @@ Disassembly of section .text:
0+ <default>:
[ ]*[a-f0-9]+: 0f be f0 movsbl %al,%esi
-[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw (0x)?0\(%rax,%rax,1\)
[ ]*[a-f0-9]+: 66 90 xchg %ax,%ax
+[ ]*[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw (0x)?0\(%rax,%rax,1\)
#pass
diff --git a/gas/testsuite/gas/i386/x86-64-nops-7.d b/gas/testsuite/gas/i386/x86-64-nops-7.d
index 859dfd8..d26c239 100644
--- a/gas/testsuite/gas/i386/x86-64-nops-7.d
+++ b/gas/testsuite/gas/i386/x86-64-nops-7.d
@@ -10,6 +10,7 @@ Disassembly of section .text:
0+ <_start>:
+[a-f0-9]+: 31 c0 xor %eax,%eax
+[a-f0-9]+: e9 f9 01 00 00 jmp 200 <func1>
+ +[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
@@ -55,11 +56,11 @@ Disassembly of section .text:
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 66 2e 0f 1f 84 00 00 00 00 00 cs nopw 0x0\(%rax,%rax,1\)
0+200 <func1>:
+[a-f0-9]+: 31 db xor %ebx,%ebx
+[a-f0-9]+: e9 f9 00 00 00 jmp 300 <func2>
+ +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
@@ -82,11 +83,11 @@ Disassembly of section .text:
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
0+300 <func2>:
+[a-f0-9]+: 31 db xor %ebx,%ebx
+[a-f0-9]+: eb 7c jmp 380 <func3>
+ +[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
@@ -98,22 +99,21 @@ Disassembly of section .text:
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 0f 1f 00 nopl \(%rax\)
0+380 <func3>:
+[a-f0-9]+: 31 c9 xor %ecx,%ecx
+ +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 0f 1f 80 00 00 00 00 nopl 0x0\(%rax\)
0+3c0 <func4>:
+[a-f0-9]+: 31 d2 xor %edx,%edx
+ +[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
+[a-f0-9]+: 66 66 2e 0f 1f 84 00 00 00 00 00 data16 cs nopw 0x0\(%rax,%rax,1\)
- +[a-f0-9]+: 0f 1f 84 00 00 00 00 00 nopl 0x0\(%rax,%rax,1\)
0+3e0 <func5>:
+[a-f0-9]+: 31 ff xor %edi,%edi
diff --git a/gas/testsuite/gas/i386/x86-64-reg-bad.l b/gas/testsuite/gas/i386/x86-64-reg-bad.l
deleted file mode 100644
index 88184b6..0000000
--- a/gas/testsuite/gas/i386/x86-64-reg-bad.l
+++ /dev/null
@@ -1,21 +0,0 @@
-.*: Assembler messages:
-.*:6: Error: .* mismatch for `div'
-.*:7: Error: .* mismatch for `in'
-.*:8: Error: .* mismatch for `lods'
-.*:9: Error: .* mismatch for `movabs'
-.*:10: Error: .* mismatch for `shl'
-GAS LISTING .*
-
-
-[ ]*[1-9][0-9]*[ ]+\# Check %axl / %cxl aren't permitted as accumulator / shift count
-[ ]*[1-9][0-9]*[ ]+
-[ ]*[1-9][0-9]*[ ]+\.text
-[ ]*[1-9][0-9]*[ ]+reg:
-[ ]*[1-9][0-9]*[ ]+\?* 4080C001[ ]+add \$1, %axl
-[ ]*[1-9][0-9]*[ ]+div %bl, %axl
-[ ]*[1-9][0-9]*[ ]+in %dx, %axl
-[ ]*[1-9][0-9]*[ ]+lods \(%rsi\), %axl
-[ ]*[1-9][0-9]*[ ]+movabs -1, %axl
-[ ]*[1-9][0-9]*[ ]+shl %cxl, %eax
-[ ]*[1-9][0-9]*[ ]+\?* 40F6C001[ ]+test \$1, %axl
-#pass
diff --git a/gas/testsuite/gas/i386/x86-64-reg-bad.s b/gas/testsuite/gas/i386/x86-64-reg-bad.s
deleted file mode 100644
index d7e0c7c..0000000
--- a/gas/testsuite/gas/i386/x86-64-reg-bad.s
+++ /dev/null
@@ -1,11 +0,0 @@
-# Check %axl / %cxl aren't permitted as accumulator / shift count
-
- .text
-reg:
- add $1, %axl
- div %bl, %axl
- in %dx, %axl
- lods (%rsi), %axl
- movabs -1, %axl
- shl %cxl, %eax
- test $1, %axl
diff --git a/gas/testsuite/gas/i386/x86-64-reg-intel.d b/gas/testsuite/gas/i386/x86-64-reg-intel.d
index f6974c8..023aad9 100644
--- a/gas/testsuite/gas/i386/x86-64-reg-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-reg-intel.d
@@ -26,7 +26,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 0f 73 f6 02 psllq mm6,0x2
[ ]*[a-f0-9]+: 66 41 0f 73 f2 02 psllq xmm10,0x2
[ ]*[a-f0-9]+: 66 41 0f 73 fa 02 pslldq xmm10,0x2
-[ ]*[a-f0-9]+: 40 80 c0 01[ ]+rex add al,0x1
+[ ]*[a-f0-9]+: 40 04 01[ ]+rex add al,0x1
[ ]*[a-f0-9]+: 40 80 c1 01[ ]+rex add cl,0x1
[ ]*[a-f0-9]+: 40 80 c2 01[ ]+rex add dl,0x1
[ ]*[a-f0-9]+: 40 80 c3 01[ ]+rex add bl,0x1
@@ -34,6 +34,9 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 40 80 c5 01[ ]+add bpl,0x1
[ ]*[a-f0-9]+: 40 80 c6 01[ ]+add sil,0x1
[ ]*[a-f0-9]+: 40 80 c7 01[ ]+add dil,0x1
+[ ]*[a-f0-9]+: 40 e4 00[ ]+rex in al,0x0
+[ ]*[a-f0-9]+: 40 e6 00[ ]+rex out 0x0,al
+[ ]*[a-f0-9]+: 40 d3 e0[ ]+rex shl eax,cl
[ ]*[a-f0-9]+: 0f 71 d6 02 psrlw mm6,0x2
[ ]*[a-f0-9]+: 66 0f 71 d2 02 psrlw xmm2,0x2
[ ]*[a-f0-9]+: 0f 71 e6 02 psraw mm6,0x2
diff --git a/gas/testsuite/gas/i386/x86-64-reg.d b/gas/testsuite/gas/i386/x86-64-reg.d
index ae9c054..e644a46 100644
--- a/gas/testsuite/gas/i386/x86-64-reg.d
+++ b/gas/testsuite/gas/i386/x86-64-reg.d
@@ -25,7 +25,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 0f 73 f6 02 psllq \$0x2,%mm6
[ ]*[a-f0-9]+: 66 41 0f 73 f2 02 psllq \$0x2,%xmm10
[ ]*[a-f0-9]+: 66 41 0f 73 fa 02 pslldq \$0x2,%xmm10
-[ ]*[a-f0-9]+: 40 80 c0 01[ ]+rex add \$0x1,%al
+[ ]*[a-f0-9]+: 40 04 01[ ]+rex add \$0x1,%al
[ ]*[a-f0-9]+: 40 80 c1 01[ ]+rex add \$0x1,%cl
[ ]*[a-f0-9]+: 40 80 c2 01[ ]+rex add \$0x1,%dl
[ ]*[a-f0-9]+: 40 80 c3 01[ ]+rex add \$0x1,%bl
@@ -33,6 +33,9 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 40 80 c5 01[ ]+add \$0x1,%bpl
[ ]*[a-f0-9]+: 40 80 c6 01[ ]+add \$0x1,%sil
[ ]*[a-f0-9]+: 40 80 c7 01[ ]+add \$0x1,%dil
+[ ]*[a-f0-9]+: 40 e4 00[ ]+rex in \$0x0,%al
+[ ]*[a-f0-9]+: 40 e6 00[ ]+rex out %al,\$0x0
+[ ]*[a-f0-9]+: 40 d3 e0[ ]+rex shl %cl,%eax
[ ]*[a-f0-9]+: 0f 71 d6 02 psrlw \$0x2,%mm6
[ ]*[a-f0-9]+: 66 0f 71 d2 02 psrlw \$0x2,%xmm2
[ ]*[a-f0-9]+: 0f 71 e6 02 psraw \$0x2,%mm6
diff --git a/gas/testsuite/gas/i386/x86-64-reg.s b/gas/testsuite/gas/i386/x86-64-reg.s
index 69ac24b..b1e13e4 100644
--- a/gas/testsuite/gas/i386/x86-64-reg.s
+++ b/gas/testsuite/gas/i386/x86-64-reg.s
@@ -30,6 +30,10 @@ pslldq $2, %xmm10
add $1, %sil
add $1, %dil
+ in $0, %axl
+ out %axl, $0
+ shl %cxl, %eax
+
.intel_syntax noprefix
psrlw mm6, 2
psrlw xmm2, 2
diff --git a/gas/testsuite/gas/i386/x86-64.exp b/gas/testsuite/gas/i386/x86-64.exp
index 2a460c9..d24e910 100644
--- a/gas/testsuite/gas/i386/x86-64.exp
+++ b/gas/testsuite/gas/i386/x86-64.exp
@@ -156,7 +156,6 @@ run_dump_test "x86-64-simd-suffix"
run_dump_test "x86-64-mem"
run_dump_test "x86-64-mem-intel"
run_dump_test "x86-64-reg"
-run_list_test "x86-64-reg-bad" "-al"
run_dump_test "x86-64-reg-intel"
run_dump_test "x86-64-sib"
run_dump_test "x86-64-sib-intel"
diff --git a/gas/testsuite/gas/kvx/nop-align.d b/gas/testsuite/gas/kvx/nop-align.d
index 5fbb571..755cf8d 100644
--- a/gas/testsuite/gas/kvx/nop-align.d
+++ b/gas/testsuite/gas/kvx/nop-align.d
@@ -20,9 +20,9 @@ Disassembly of section .text:
[0-9a-f]+ <g\+0xc> nop
[0-9a-f]+ <g\+0x10> nop
-[0-9a-f]+ <g\+0x14> nop
-[0-9a-f]+ <g\+0x18> nop;;
+[0-9a-f]+ <g\+0x14> nop;;
+[0-9a-f]+ <g\+0x18> nop
[0-9a-f]+ <g\+0x1c> nop
[0-9a-f]+ <g\+0x20> nop
[0-9a-f]+ <g\+0x24> nop;;
diff --git a/gas/testsuite/gas/loongarch/div_zero.l b/gas/testsuite/gas/loongarch/div_zero.l
new file mode 100644
index 0000000..b30c665
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/div_zero.l
@@ -0,0 +1,4 @@
+#source: div_zero.s
+.*: Assembler messages:
+.*: Warning: Divide by zero!
+.*: Warning: Divide by zero!
diff --git a/gas/testsuite/gas/loongarch/div_zero.s b/gas/testsuite/gas/loongarch/div_zero.s
new file mode 100644
index 0000000..44a5c26
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/div_zero.s
@@ -0,0 +1,2 @@
+addi.w $a0,$a1,2/0
+addi.d $a0,$a1,4%0
diff --git a/gas/testsuite/gas/loongarch/loongarch.exp b/gas/testsuite/gas/loongarch/loongarch.exp
index 0e836f7..d2008f4 100644
--- a/gas/testsuite/gas/loongarch/loongarch.exp
+++ b/gas/testsuite/gas/loongarch/loongarch.exp
@@ -37,5 +37,6 @@ if [istarget loongarch*-*-*] {
run_list_test "illegal-operand"
run_list_test "pseudo_op_option_fail"
run_list_test "negative_right_shift"
+ run_list_test "div_zero"
}
}
diff --git a/gas/testsuite/gas/loongarch/relax_align.d b/gas/testsuite/gas/loongarch/relax_align.d
index fc1fd03..a92df37 100644
--- a/gas/testsuite/gas/loongarch/relax_align.d
+++ b/gas/testsuite/gas/loongarch/relax_align.d
@@ -1,6 +1,7 @@
#as:
#objdump: -dr
#skip: loongarch32-*-*
+#warning_output: relax_align.l
.*:[ ]+file format .*
@@ -44,3 +45,8 @@ Disassembly of section .text:
[ ]+68:[ ]+03400000[ ]+nop
[ ]+6c:[ ]+03400000[ ]+nop
[ ]+70:[ ]+4c000020[ ]+ret
+[ ]+74:[ ]+03400000[ ]+nop
+[ ]+74: R_LARCH_ALIGN[ ]+\*ABS\*\+0xc
+[ ]+78:[ ]+03400000[ ]+nop
+[ ]+7c:[ ]+03400000[ ]+nop
+[ ]+80:[ ]+4c000020[ ]+ret
diff --git a/gas/testsuite/gas/loongarch/relax_align.l b/gas/testsuite/gas/loongarch/relax_align.l
new file mode 100644
index 0000000..e33fa86
--- /dev/null
+++ b/gas/testsuite/gas/loongarch/relax_align.l
@@ -0,0 +1,3 @@
+.*Assembler messages:
+.*: Warning: ignoring out of range alignment maximum
+.*: Warning: ignoring out of range alignment maximum
diff --git a/gas/testsuite/gas/loongarch/relax_align.s b/gas/testsuite/gas/loongarch/relax_align.s
index 4f4867f..079f549 100644
--- a/gas/testsuite/gas/loongarch/relax_align.s
+++ b/gas/testsuite/gas/loongarch/relax_align.s
@@ -1,5 +1,4 @@
-# If max < -0x80000000, max becomes a positive number because type conversion
-# (bfd_signed_vma -> unsigned int).
+# Range of max: 0<= max <= 0xffffffff
.text
.L1:
ret
@@ -13,6 +12,9 @@
ret
.align 4, , 12
ret
+ .align 4, , 0xffffffff
+ ret
+# ignore out of range alignment maxumum
.align 4, , -1
ret
.align 4, , -0x80000000
diff --git a/gas/testsuite/gas/ppc/future.d b/gas/testsuite/gas/ppc/future.d
index 76a30a5..5c008b5 100644
--- a/gas/testsuite/gas/ppc/future.d
+++ b/gas/testsuite/gas/ppc/future.d
@@ -57,4 +57,39 @@ Disassembly of section \.text:
.*: (d0 1e 22 f0|f0 22 1e d0) xxgfmul128gcm vs1,vs2,vs3
.*: (d6 0f e0 f3|f3 e0 0f d6) xxgfmul128xts vs31,vs32,vs33
.*: (d6 0f e0 f3|f3 e0 0f d6) xxgfmul128xts vs31,vs32,vs33
+.*: (06 00 00 00|00 00 00 06) paddis r12,r9,15
+.*: (3d 89 00 0f|0f 00 89 3d)
+.*: (06 00 00 00|00 00 00 06) paddis r12,r9,15
+.*: (3d 89 00 0f|0f 00 89 3d)
+.*: (06 00 ff ff|ff ff 00 06) paddis r12,r9,-32769
+.*: (3d 89 7f ff|ff 7f 89 3d)
+.*: (06 00 ff ff|ff ff 00 06) paddis r12,r9,-32769
+.*: (3d 89 7f ff|ff 7f 89 3d)
+.*: (06 10 00 00|00 00 10 06) paddis r9,0,25,1 # e4
+.*: (3d 20 00 19|19 00 20 3d)
+.*: (06 00 7f ff|ff 7f 00 06) plis r24,2147483647
+.*: (3f 00 ff ff|ff ff 00 3f)
+.*: (06 00 7f ff|ff 7f 00 06) plis r24,2147483647
+.*: (3f 00 ff ff|ff ff 00 3f)
+.*: (60 00 00 00|00 00 00 60) nop
+.*: (06 00 7f ff|ff 7f 00 06) plis r24,2147483647
+.*: (3f 00 ff ff|ff ff 00 3f)
+.*: (06 00 80 00|00 80 00 06) paddis r30,r10,-2147483648
+.*: (3f ca 00 00|00 00 ca 3f)
+.*: (06 00 80 00|00 80 00 06) paddis r30,r10,-2147483648
+.*: (3f ca 00 00|00 00 ca 3f)
+.*: (06 00 80 00|00 80 00 06) paddis r30,r10,-2147483648
+.*: (3f ca 00 00|00 00 ca 3f)
+.*: (60 00 00 00|00 00 00 60) nop
+.*: (06 00 7f ff|ff 7f 00 06) paddis r30,r10,2147483647
+.*: (3f ca ff ff|ff ff ca 3f)
+.*: (06 00 7f ff|ff 7f 00 06) paddis r30,r10,2147483647
+.*: (3f ca ff ff|ff ff ca 3f)
+.*: (06 00 7f ff|ff 7f 00 06) paddis r30,r10,2147483647
+.*: (3f ca ff ff|ff ff ca 3f)
+.*: (60 00 00 00|00 00 00 60) nop
+.*: (06 10 7f ff|ff 7f 10 06) paddis r15,0,2147483647,1 # 140
+.* (3d e0 ff ff|ff ff e0 3d)
+.*: (06 10 7f ff|ff 7f 10 06) paddis r15,0,2147483647,1 # 148
+.* (3d e0 ff ff|ff ff e0 3d)
#pass
diff --git a/gas/testsuite/gas/ppc/future.s b/gas/testsuite/gas/ppc/future.s
index fec99e3..55867de 100644
--- a/gas/testsuite/gas/ppc/future.s
+++ b/gas/testsuite/gas/ppc/future.s
@@ -49,3 +49,21 @@ _start:
xxgfmul128gcm 1, 2, 3
xxgfmul128 31, 32, 33, 1
xxgfmul128xts 31, 32, 33
+ paddis 12, 9, 15, 0
+ paddis 12, 9, 15
+ paddis 12, 9, ~(1<<15), 0
+ paddis 12, 9, ~(1<<15)
+ paddis 9, 0, 25, 1
+ paddis 24, 0, 2147483647, 0
+ paddis 24, 0, 2147483647
+ plis 24, 2147483647
+ paddis 30, 10, -2147483648, 0
+ paddis 30, 10, -2147483648
+ psubis 30, 10, 2147483648, 0
+ nop
+ paddis 30, 10, 2147483647, 0
+ paddis 30, 10, 2147483647
+ psubis 30, 10, -2147483647, 0
+ paddis 15, 0, 2147483647, 1
+ psubis 15, 0, -2147483647, 1
+
diff --git a/gas/testsuite/gas/riscv/attribute-15.d b/gas/testsuite/gas/riscv/attribute-15.d
new file mode 100644
index 0000000..929631a
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-15.d
@@ -0,0 +1,8 @@
+#as: -march-attr -mpriv-spec=1.13
+#readelf: -A
+#source: attribute-11.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: [a-zA-Z0-9_\"].*
+ Tag_RISCV_priv_spec: 1
+ Tag_RISCV_priv_spec_minor: 13
diff --git a/gas/testsuite/gas/riscv/attribute-16.d b/gas/testsuite/gas/riscv/attribute-16.d
new file mode 100644
index 0000000..928d8d7
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-16.d
@@ -0,0 +1,6 @@
+#as: -march-attr -mpriv-spec=1.13
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: [a-zA-Z0-9_\"].*
diff --git a/gas/testsuite/gas/riscv/attribute-17.d b/gas/testsuite/gas/riscv/attribute-17.d
new file mode 100644
index 0000000..8e87e8e
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-17.d
@@ -0,0 +1,6 @@
+#as: -march=rva20u64 -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_ziccamoa1p0_ziccif1p0_zicclsm1p0_ziccrse1p0_zicntr2p0_zicsr2p0_zmmul1p0_za128rs1p0_zaamo1p0_zalrsc1p0"
diff --git a/gas/testsuite/gas/riscv/attribute-18.d b/gas/testsuite/gas/riscv/attribute-18.d
new file mode 100644
index 0000000..2bec0df
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-18.d
@@ -0,0 +1,6 @@
+#as: -march=rvi20u32_d -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv32i2p1_f2p2_d2p2_zicsr2p0"
diff --git a/gas/testsuite/gas/riscv/attribute-19.d b/gas/testsuite/gas/riscv/attribute-19.d
new file mode 100644
index 0000000..d73e3f0
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-19.d
@@ -0,0 +1,6 @@
+#as: -march=rva23u64 -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_b1p0_v1p0_zic64b1p0_zicbom1p0_zicbop1p0_zicboz1p0_ziccamoa1p0_ziccif1p0_zicclsm1p0_ziccrse1p0_zicntr2p0_zicond1p0_zicsr2p0_zihintntl1p0_zihintpause2p0_zihpm2p0_zimop1p0_zmmul1p0_za64rs1p0_zaamo1p0_zalrsc1p0_zawrs1p0_zfa1p0_zfhmin1p0_zca1p0_zcb1p0_zcmop1p0_zba1p0_zbb1p0_zbs1p0_zkt1p0_zvbb1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvfhmin1p0_zvkb1p0_zvkt1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0_supm1p0"
diff --git a/gas/testsuite/gas/riscv/attribute-20.d b/gas/testsuite/gas/riscv/attribute-20.d
new file mode 100644
index 0000000..22bcc13
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-20.d
@@ -0,0 +1,6 @@
+#as: -march=rvb23u64 -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_b1p0_zic64b1p0_zicbom1p0_zicbop1p0_zicboz1p0_ziccamoa1p0_ziccif1p0_zicclsm1p0_ziccrse1p0_zicntr2p0_zicond1p0_zicsr2p0_zihintntl1p0_zihintpause2p0_zihpm2p0_zimop1p0_zmmul1p0_za64rs1p0_zaamo1p0_zalrsc1p0_zawrs1p0_zfa1p0_zfhmin1p0_zca1p0_zcb1p0_zcmop1p0_zba1p0_zbb1p0_zbs1p0_zkt1p0_supm1p0"
diff --git a/gas/testsuite/gas/riscv/attribute-rva23s.d b/gas/testsuite/gas/riscv/attribute-rva23s.d
new file mode 100644
index 0000000..54e79aa
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-rva23s.d
@@ -0,0 +1,6 @@
+#as: -march=rva23s64 -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_b1p0_v1p0_h1p0_zic64b1p0_zicbom1p0_zicbop1p0_zicboz1p0_ziccamoa1p0_ziccif1p0_zicclsm1p0_ziccrse1p0_zicntr2p0_zicond1p0_zicsr2p0_zihintntl1p0_zihintpause2p0_zihpm2p0_zimop1p0_zmmul1p0_za64rs1p0_zaamo1p0_zalrsc1p0_zawrs1p0_zfa1p0_zfhmin1p0_zca1p0_zcb1p0_zcmop1p0_zba1p0_zbb1p0_zbs1p0_zkt1p0_zvbb1p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvfhmin1p0_zvkb1p0_zvkt1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0_sha1p0_shcounterenw1p0_shgatpa1p0_shtvala1p0_shvsatpa1p0_shvstvala1p0_shvstvecd1p0_ssccptr1p0_sscofpmf1p0_sscounterenw1p0_ssnpm1p0_ssstateen1p0_sstc1p0_sstvala1p0_sstvecd1p0_ssu64xl1p0_supm1p0_svade1p0_svbare1p0_svinval1p0_svnapot1p0_svpbmt1p0"
diff --git a/gas/testsuite/gas/riscv/attribute-rvb23s.d b/gas/testsuite/gas/riscv/attribute-rvb23s.d
new file mode 100644
index 0000000..5cee65a
--- /dev/null
+++ b/gas/testsuite/gas/riscv/attribute-rvb23s.d
@@ -0,0 +1,6 @@
+#as: -march=rvb23s64 -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_b1p0_zic64b1p0_zicbom1p0_zicbop1p0_zicboz1p0_ziccamoa1p0_ziccif1p0_zicclsm1p0_ziccrse1p0_zicntr2p0_zicond1p0_zicsr2p0_zihintntl1p0_zihintpause2p0_zihpm2p0_zimop1p0_zmmul1p0_za64rs1p0_zaamo1p0_zalrsc1p0_zawrs1p0_zfa1p0_zfhmin1p0_zca1p0_zcb1p0_zcmop1p0_zba1p0_zbb1p0_zbs1p0_zkt1p0_zvbb1p0_zve32f1p0_zve32x1p0_zvfhmin1p0_zvkb1p0_zvkt1p0_zvl32b1p0_ssccptr1p0_sscofpmf1p0_sscounterenw1p0_sstc1p0_sstvala1p0_sstvecd1p0_ssu64xl1p0_supm1p0_svade1p0_svbare1p0_svinval1p0_svnapot1p0_svpbmt1p0"
diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.d b/gas/testsuite/gas/riscv/csr-version-1p10.d
index 6896e7b..f05b3b5 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p10.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p10.d
@@ -175,6 +175,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+30159073[ ]+csrw[ ]+misa,a1
[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
[ ]+[0-9a-f]+:[ ]+30259073[ ]+csrw[ ]+medeleg,a1
+[ ]+[0-9a-f]+:[ ]+31202573[ ]+csrr[ ]+a0,0x312
+[ ]+[0-9a-f]+:[ ]+31259073[ ]+csrw[ ]+0x312,a1
[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
[ ]+[0-9a-f]+:[ ]+30359073[ ]+csrw[ ]+mideleg,a1
[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
@@ -555,6 +557,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+60059073[ ]+csrw[ ]+hstatus,a1
[ ]+[0-9a-f]+:[ ]+60202573[ ]+csrr[ ]+a0,hedeleg
[ ]+[0-9a-f]+:[ ]+60259073[ ]+csrw[ ]+hedeleg,a1
+[ ]+[0-9a-f]+:[ ]+61202573[ ]+csrr[ ]+a0,0x612
+[ ]+[0-9a-f]+:[ ]+61259073[ ]+csrw[ ]+0x612,a1
[ ]+[0-9a-f]+:[ ]+60302573[ ]+csrr[ ]+a0,hideleg
[ ]+[0-9a-f]+:[ ]+60359073[ ]+csrw[ ]+hideleg,a1
[ ]+[0-9a-f]+:[ ]+60402573[ ]+csrr[ ]+a0,hie
@@ -735,6 +739,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
+[ ]+[0-9a-f]+:[ ]+12002573[ ]+csrr[ ]+a0,scountinhibit
+[ ]+[0-9a-f]+:[ ]+12059073[ ]+csrw[ ]+scountinhibit,a1
[ ]+[0-9a-f]+:[ ]+01102573[ ]+csrr[ ]+a0,ssp
[ ]+[0-9a-f]+:[ ]+01159073[ ]+csrw[ ]+ssp,a1
[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect
diff --git a/gas/testsuite/gas/riscv/csr-version-1p10.l b/gas/testsuite/gas/riscv/csr-version-1p10.l
index 46d1e4e..4b6f573 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p10.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p10.l
@@ -273,6 +273,14 @@
.*Info: macro .*
.*Warning: read-only CSR is written `csrw mconfigptr,a1'
.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh' for the privileged spec `1.10'
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh' for the privileged spec `1.10'
+.*Info: macro .*
.*Warning: invalid CSR `mstatush', needs rv32i extension
.*Info: macro .*
.*Warning: invalid CSR `mstatush' for the privileged spec `1.10'
@@ -721,6 +729,14 @@
.*Info: macro .*
.*Warning: invalid CSR `hedeleg', needs `h' extension
.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
.*Warning: invalid CSR `hideleg', needs `h' extension
.*Info: macro .*
.*Warning: invalid CSR `hideleg', needs `h' extension
@@ -1285,6 +1301,10 @@
.*Info: macro .*
.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
.*Warning: invalid CSR `ssp', needs `zicfiss' extension
.*Info: macro .*
.*Warning: invalid CSR `ssp', needs `zicfiss' extension
diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.d b/gas/testsuite/gas/riscv/csr-version-1p11.d
index 308140a..f2f8af9 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p11.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p11.d
@@ -175,6 +175,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+30159073[ ]+csrw[ ]+misa,a1
[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
[ ]+[0-9a-f]+:[ ]+30259073[ ]+csrw[ ]+medeleg,a1
+[ ]+[0-9a-f]+:[ ]+31202573[ ]+csrr[ ]+a0,0x312
+[ ]+[0-9a-f]+:[ ]+31259073[ ]+csrw[ ]+0x312,a1
[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
[ ]+[0-9a-f]+:[ ]+30359073[ ]+csrw[ ]+mideleg,a1
[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
@@ -555,6 +557,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+60059073[ ]+csrw[ ]+hstatus,a1
[ ]+[0-9a-f]+:[ ]+60202573[ ]+csrr[ ]+a0,hedeleg
[ ]+[0-9a-f]+:[ ]+60259073[ ]+csrw[ ]+hedeleg,a1
+[ ]+[0-9a-f]+:[ ]+61202573[ ]+csrr[ ]+a0,0x612
+[ ]+[0-9a-f]+:[ ]+61259073[ ]+csrw[ ]+0x612,a1
[ ]+[0-9a-f]+:[ ]+60302573[ ]+csrr[ ]+a0,hideleg
[ ]+[0-9a-f]+:[ ]+60359073[ ]+csrw[ ]+hideleg,a1
[ ]+[0-9a-f]+:[ ]+60402573[ ]+csrr[ ]+a0,hie
@@ -735,6 +739,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
+[ ]+[0-9a-f]+:[ ]+12002573[ ]+csrr[ ]+a0,scountinhibit
+[ ]+[0-9a-f]+:[ ]+12059073[ ]+csrw[ ]+scountinhibit,a1
[ ]+[0-9a-f]+:[ ]+01102573[ ]+csrr[ ]+a0,ssp
[ ]+[0-9a-f]+:[ ]+01159073[ ]+csrw[ ]+ssp,a1
[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect
diff --git a/gas/testsuite/gas/riscv/csr-version-1p11.l b/gas/testsuite/gas/riscv/csr-version-1p11.l
index 9e813e2..eb2322b 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p11.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p11.l
@@ -273,6 +273,14 @@
.*Info: macro .*
.*Warning: read-only CSR is written `csrw mconfigptr,a1'
.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh' for the privileged spec `1.11'
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh' for the privileged spec `1.11'
+.*Info: macro .*
.*Warning: invalid CSR `mstatush', needs rv32i extension
.*Info: macro .*
.*Warning: invalid CSR `mstatush' for the privileged spec `1.11'
@@ -717,6 +725,14 @@
.*Info: macro .*
.*Warning: invalid CSR `hedeleg', needs `h' extension
.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
.*Warning: invalid CSR `hideleg', needs `h' extension
.*Info: macro .*
.*Warning: invalid CSR `hideleg', needs `h' extension
@@ -1281,6 +1297,10 @@
.*Info: macro .*
.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
.*Warning: invalid CSR `ssp', needs `zicfiss' extension
.*Info: macro .*
.*Warning: invalid CSR `ssp', needs `zicfiss' extension
diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.d b/gas/testsuite/gas/riscv/csr-version-1p12.d
index 5fe3316..d9d3529 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p12.d
+++ b/gas/testsuite/gas/riscv/csr-version-1p12.d
@@ -175,6 +175,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+30159073[ ]+csrw[ ]+misa,a1
[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
[ ]+[0-9a-f]+:[ ]+30259073[ ]+csrw[ ]+medeleg,a1
+[ ]+[0-9a-f]+:[ ]+31202573[ ]+csrr[ ]+a0,0x312
+[ ]+[0-9a-f]+:[ ]+31259073[ ]+csrw[ ]+0x312,a1
[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
[ ]+[0-9a-f]+:[ ]+30359073[ ]+csrw[ ]+mideleg,a1
[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
@@ -555,6 +557,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+60059073[ ]+csrw[ ]+hstatus,a1
[ ]+[0-9a-f]+:[ ]+60202573[ ]+csrr[ ]+a0,hedeleg
[ ]+[0-9a-f]+:[ ]+60259073[ ]+csrw[ ]+hedeleg,a1
+[ ]+[0-9a-f]+:[ ]+61202573[ ]+csrr[ ]+a0,0x612
+[ ]+[0-9a-f]+:[ ]+61259073[ ]+csrw[ ]+0x612,a1
[ ]+[0-9a-f]+:[ ]+60302573[ ]+csrr[ ]+a0,hideleg
[ ]+[0-9a-f]+:[ ]+60359073[ ]+csrw[ ]+hideleg,a1
[ ]+[0-9a-f]+:[ ]+60402573[ ]+csrr[ ]+a0,hie
@@ -735,6 +739,8 @@ Disassembly of section .text:
[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
+[ ]+[0-9a-f]+:[ ]+12002573[ ]+csrr[ ]+a0,scountinhibit
+[ ]+[0-9a-f]+:[ ]+12059073[ ]+csrw[ ]+scountinhibit,a1
[ ]+[0-9a-f]+:[ ]+01102573[ ]+csrr[ ]+a0,ssp
[ ]+[0-9a-f]+:[ ]+01159073[ ]+csrw[ ]+ssp,a1
[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect
diff --git a/gas/testsuite/gas/riscv/csr-version-1p12.l b/gas/testsuite/gas/riscv/csr-version-1p12.l
index ff60ec0..13c63e1 100644
--- a/gas/testsuite/gas/riscv/csr-version-1p12.l
+++ b/gas/testsuite/gas/riscv/csr-version-1p12.l
@@ -265,6 +265,14 @@
.*Info: macro .*
.*Warning: read-only CSR is written `csrw mconfigptr,a1'
.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh' for the privileged spec `1.12'
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh' for the privileged spec `1.12'
+.*Info: macro .*
.*Warning: invalid CSR `mstatush', needs rv32i extension
.*Info: macro .*
.*Warning: invalid CSR `mstatush', needs rv32i extension
@@ -441,6 +449,14 @@
.*Info: macro .*
.*Warning: invalid CSR `hedeleg', needs `h' extension
.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
.*Warning: invalid CSR `hideleg', needs `h' extension
.*Info: macro .*
.*Warning: invalid CSR `hideleg', needs `h' extension
@@ -1005,6 +1021,10 @@
.*Info: macro .*
.*Warning: invalid CSR `vsiph', needs `ssaia' extension
.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
.*Warning: invalid CSR `ssp', needs `zicfiss' extension
.*Info: macro .*
.*Warning: invalid CSR `ssp', needs `zicfiss' extension
diff --git a/gas/testsuite/gas/riscv/csr-version-1p13.d b/gas/testsuite/gas/riscv/csr-version-1p13.d
new file mode 100644
index 0000000..5d3cef8
--- /dev/null
+++ b/gas/testsuite/gas/riscv/csr-version-1p13.d
@@ -0,0 +1,943 @@
+#as: -march=rv64i_zicsr -mcsr-check -mpriv-spec=1.13
+#source: csr.s
+#warning_output: csr-version-1p13.l
+#objdump: -dr -Mpriv-spec=1.13
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+[ ]+[0-9a-f]+:[ ]+c0002573[ ]+rdcycle[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0059073[ ]+csrw[ ]+cycle,a1
+[ ]+[0-9a-f]+:[ ]+c0102573[ ]+rdtime[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0159073[ ]+csrw[ ]+time,a1
+[ ]+[0-9a-f]+:[ ]+c0202573[ ]+rdinstret[ ]+a0
+[ ]+[0-9a-f]+:[ ]+c0259073[ ]+csrw[ ]+instret,a1
+[ ]+[0-9a-f]+:[ ]+c0302573[ ]+csrr[ ]+a0,hpmcounter3
+[ ]+[0-9a-f]+:[ ]+c0359073[ ]+csrw[ ]+hpmcounter3,a1
+[ ]+[0-9a-f]+:[ ]+c0402573[ ]+csrr[ ]+a0,hpmcounter4
+[ ]+[0-9a-f]+:[ ]+c0459073[ ]+csrw[ ]+hpmcounter4,a1
+[ ]+[0-9a-f]+:[ ]+c0502573[ ]+csrr[ ]+a0,hpmcounter5
+[ ]+[0-9a-f]+:[ ]+c0559073[ ]+csrw[ ]+hpmcounter5,a1
+[ ]+[0-9a-f]+:[ ]+c0602573[ ]+csrr[ ]+a0,hpmcounter6
+[ ]+[0-9a-f]+:[ ]+c0659073[ ]+csrw[ ]+hpmcounter6,a1
+[ ]+[0-9a-f]+:[ ]+c0702573[ ]+csrr[ ]+a0,hpmcounter7
+[ ]+[0-9a-f]+:[ ]+c0759073[ ]+csrw[ ]+hpmcounter7,a1
+[ ]+[0-9a-f]+:[ ]+c0802573[ ]+csrr[ ]+a0,hpmcounter8
+[ ]+[0-9a-f]+:[ ]+c0859073[ ]+csrw[ ]+hpmcounter8,a1
+[ ]+[0-9a-f]+:[ ]+c0902573[ ]+csrr[ ]+a0,hpmcounter9
+[ ]+[0-9a-f]+:[ ]+c0959073[ ]+csrw[ ]+hpmcounter9,a1
+[ ]+[0-9a-f]+:[ ]+c0a02573[ ]+csrr[ ]+a0,hpmcounter10
+[ ]+[0-9a-f]+:[ ]+c0a59073[ ]+csrw[ ]+hpmcounter10,a1
+[ ]+[0-9a-f]+:[ ]+c0b02573[ ]+csrr[ ]+a0,hpmcounter11
+[ ]+[0-9a-f]+:[ ]+c0b59073[ ]+csrw[ ]+hpmcounter11,a1
+[ ]+[0-9a-f]+:[ ]+c0c02573[ ]+csrr[ ]+a0,hpmcounter12
+[ ]+[0-9a-f]+:[ ]+c0c59073[ ]+csrw[ ]+hpmcounter12,a1
+[ ]+[0-9a-f]+:[ ]+c0d02573[ ]+csrr[ ]+a0,hpmcounter13
+[ ]+[0-9a-f]+:[ ]+c0d59073[ ]+csrw[ ]+hpmcounter13,a1
+[ ]+[0-9a-f]+:[ ]+c0e02573[ ]+csrr[ ]+a0,hpmcounter14
+[ ]+[0-9a-f]+:[ ]+c0e59073[ ]+csrw[ ]+hpmcounter14,a1
+[ ]+[0-9a-f]+:[ ]+c0f02573[ ]+csrr[ ]+a0,hpmcounter15
+[ ]+[0-9a-f]+:[ ]+c0f59073[ ]+csrw[ ]+hpmcounter15,a1
+[ ]+[0-9a-f]+:[ ]+c1002573[ ]+csrr[ ]+a0,hpmcounter16
+[ ]+[0-9a-f]+:[ ]+c1059073[ ]+csrw[ ]+hpmcounter16,a1
+[ ]+[0-9a-f]+:[ ]+c1102573[ ]+csrr[ ]+a0,hpmcounter17
+[ ]+[0-9a-f]+:[ ]+c1159073[ ]+csrw[ ]+hpmcounter17,a1
+[ ]+[0-9a-f]+:[ ]+c1202573[ ]+csrr[ ]+a0,hpmcounter18
+[ ]+[0-9a-f]+:[ ]+c1259073[ ]+csrw[ ]+hpmcounter18,a1
+[ ]+[0-9a-f]+:[ ]+c1302573[ ]+csrr[ ]+a0,hpmcounter19
+[ ]+[0-9a-f]+:[ ]+c1359073[ ]+csrw[ ]+hpmcounter19,a1
+[ ]+[0-9a-f]+:[ ]+c1402573[ ]+csrr[ ]+a0,hpmcounter20
+[ ]+[0-9a-f]+:[ ]+c1459073[ ]+csrw[ ]+hpmcounter20,a1
+[ ]+[0-9a-f]+:[ ]+c1502573[ ]+csrr[ ]+a0,hpmcounter21
+[ ]+[0-9a-f]+:[ ]+c1559073[ ]+csrw[ ]+hpmcounter21,a1
+[ ]+[0-9a-f]+:[ ]+c1602573[ ]+csrr[ ]+a0,hpmcounter22
+[ ]+[0-9a-f]+:[ ]+c1659073[ ]+csrw[ ]+hpmcounter22,a1
+[ ]+[0-9a-f]+:[ ]+c1702573[ ]+csrr[ ]+a0,hpmcounter23
+[ ]+[0-9a-f]+:[ ]+c1759073[ ]+csrw[ ]+hpmcounter23,a1
+[ ]+[0-9a-f]+:[ ]+c1802573[ ]+csrr[ ]+a0,hpmcounter24
+[ ]+[0-9a-f]+:[ ]+c1859073[ ]+csrw[ ]+hpmcounter24,a1
+[ ]+[0-9a-f]+:[ ]+c1902573[ ]+csrr[ ]+a0,hpmcounter25
+[ ]+[0-9a-f]+:[ ]+c1959073[ ]+csrw[ ]+hpmcounter25,a1
+[ ]+[0-9a-f]+:[ ]+c1a02573[ ]+csrr[ ]+a0,hpmcounter26
+[ ]+[0-9a-f]+:[ ]+c1a59073[ ]+csrw[ ]+hpmcounter26,a1
+[ ]+[0-9a-f]+:[ ]+c1b02573[ ]+csrr[ ]+a0,hpmcounter27
+[ ]+[0-9a-f]+:[ ]+c1b59073[ ]+csrw[ ]+hpmcounter27,a1
+[ ]+[0-9a-f]+:[ ]+c1c02573[ ]+csrr[ ]+a0,hpmcounter28
+[ ]+[0-9a-f]+:[ ]+c1c59073[ ]+csrw[ ]+hpmcounter28,a1
+[ ]+[0-9a-f]+:[ ]+c1d02573[ ]+csrr[ ]+a0,hpmcounter29
+[ ]+[0-9a-f]+:[ ]+c1d59073[ ]+csrw[ ]+hpmcounter29,a1
+[ ]+[0-9a-f]+:[ ]+c1e02573[ ]+csrr[ ]+a0,hpmcounter30
+[ ]+[0-9a-f]+:[ ]+c1e59073[ ]+csrw[ ]+hpmcounter30,a1
+[ ]+[0-9a-f]+:[ ]+c1f02573[ ]+csrr[ ]+a0,hpmcounter31
+[ ]+[0-9a-f]+:[ ]+c1f59073[ ]+csrw[ ]+hpmcounter31,a1
+[ ]+[0-9a-f]+:[ ]+c8002573[ ]+csrr[ ]+a0,cycleh
+[ ]+[0-9a-f]+:[ ]+c8059073[ ]+csrw[ ]+cycleh,a1
+[ ]+[0-9a-f]+:[ ]+c8102573[ ]+csrr[ ]+a0,timeh
+[ ]+[0-9a-f]+:[ ]+c8159073[ ]+csrw[ ]+timeh,a1
+[ ]+[0-9a-f]+:[ ]+c8202573[ ]+csrr[ ]+a0,instreth
+[ ]+[0-9a-f]+:[ ]+c8259073[ ]+csrw[ ]+instreth,a1
+[ ]+[0-9a-f]+:[ ]+c8302573[ ]+csrr[ ]+a0,hpmcounter3h
+[ ]+[0-9a-f]+:[ ]+c8359073[ ]+csrw[ ]+hpmcounter3h,a1
+[ ]+[0-9a-f]+:[ ]+c8402573[ ]+csrr[ ]+a0,hpmcounter4h
+[ ]+[0-9a-f]+:[ ]+c8459073[ ]+csrw[ ]+hpmcounter4h,a1
+[ ]+[0-9a-f]+:[ ]+c8502573[ ]+csrr[ ]+a0,hpmcounter5h
+[ ]+[0-9a-f]+:[ ]+c8559073[ ]+csrw[ ]+hpmcounter5h,a1
+[ ]+[0-9a-f]+:[ ]+c8602573[ ]+csrr[ ]+a0,hpmcounter6h
+[ ]+[0-9a-f]+:[ ]+c8659073[ ]+csrw[ ]+hpmcounter6h,a1
+[ ]+[0-9a-f]+:[ ]+c8702573[ ]+csrr[ ]+a0,hpmcounter7h
+[ ]+[0-9a-f]+:[ ]+c8759073[ ]+csrw[ ]+hpmcounter7h,a1
+[ ]+[0-9a-f]+:[ ]+c8802573[ ]+csrr[ ]+a0,hpmcounter8h
+[ ]+[0-9a-f]+:[ ]+c8859073[ ]+csrw[ ]+hpmcounter8h,a1
+[ ]+[0-9a-f]+:[ ]+c8902573[ ]+csrr[ ]+a0,hpmcounter9h
+[ ]+[0-9a-f]+:[ ]+c8959073[ ]+csrw[ ]+hpmcounter9h,a1
+[ ]+[0-9a-f]+:[ ]+c8a02573[ ]+csrr[ ]+a0,hpmcounter10h
+[ ]+[0-9a-f]+:[ ]+c8a59073[ ]+csrw[ ]+hpmcounter10h,a1
+[ ]+[0-9a-f]+:[ ]+c8b02573[ ]+csrr[ ]+a0,hpmcounter11h
+[ ]+[0-9a-f]+:[ ]+c8b59073[ ]+csrw[ ]+hpmcounter11h,a1
+[ ]+[0-9a-f]+:[ ]+c8c02573[ ]+csrr[ ]+a0,hpmcounter12h
+[ ]+[0-9a-f]+:[ ]+c8c59073[ ]+csrw[ ]+hpmcounter12h,a1
+[ ]+[0-9a-f]+:[ ]+c8d02573[ ]+csrr[ ]+a0,hpmcounter13h
+[ ]+[0-9a-f]+:[ ]+c8d59073[ ]+csrw[ ]+hpmcounter13h,a1
+[ ]+[0-9a-f]+:[ ]+c8e02573[ ]+csrr[ ]+a0,hpmcounter14h
+[ ]+[0-9a-f]+:[ ]+c8e59073[ ]+csrw[ ]+hpmcounter14h,a1
+[ ]+[0-9a-f]+:[ ]+c8f02573[ ]+csrr[ ]+a0,hpmcounter15h
+[ ]+[0-9a-f]+:[ ]+c8f59073[ ]+csrw[ ]+hpmcounter15h,a1
+[ ]+[0-9a-f]+:[ ]+c9002573[ ]+csrr[ ]+a0,hpmcounter16h
+[ ]+[0-9a-f]+:[ ]+c9059073[ ]+csrw[ ]+hpmcounter16h,a1
+[ ]+[0-9a-f]+:[ ]+c9102573[ ]+csrr[ ]+a0,hpmcounter17h
+[ ]+[0-9a-f]+:[ ]+c9159073[ ]+csrw[ ]+hpmcounter17h,a1
+[ ]+[0-9a-f]+:[ ]+c9202573[ ]+csrr[ ]+a0,hpmcounter18h
+[ ]+[0-9a-f]+:[ ]+c9259073[ ]+csrw[ ]+hpmcounter18h,a1
+[ ]+[0-9a-f]+:[ ]+c9302573[ ]+csrr[ ]+a0,hpmcounter19h
+[ ]+[0-9a-f]+:[ ]+c9359073[ ]+csrw[ ]+hpmcounter19h,a1
+[ ]+[0-9a-f]+:[ ]+c9402573[ ]+csrr[ ]+a0,hpmcounter20h
+[ ]+[0-9a-f]+:[ ]+c9459073[ ]+csrw[ ]+hpmcounter20h,a1
+[ ]+[0-9a-f]+:[ ]+c9502573[ ]+csrr[ ]+a0,hpmcounter21h
+[ ]+[0-9a-f]+:[ ]+c9559073[ ]+csrw[ ]+hpmcounter21h,a1
+[ ]+[0-9a-f]+:[ ]+c9602573[ ]+csrr[ ]+a0,hpmcounter22h
+[ ]+[0-9a-f]+:[ ]+c9659073[ ]+csrw[ ]+hpmcounter22h,a1
+[ ]+[0-9a-f]+:[ ]+c9702573[ ]+csrr[ ]+a0,hpmcounter23h
+[ ]+[0-9a-f]+:[ ]+c9759073[ ]+csrw[ ]+hpmcounter23h,a1
+[ ]+[0-9a-f]+:[ ]+c9802573[ ]+csrr[ ]+a0,hpmcounter24h
+[ ]+[0-9a-f]+:[ ]+c9859073[ ]+csrw[ ]+hpmcounter24h,a1
+[ ]+[0-9a-f]+:[ ]+c9902573[ ]+csrr[ ]+a0,hpmcounter25h
+[ ]+[0-9a-f]+:[ ]+c9959073[ ]+csrw[ ]+hpmcounter25h,a1
+[ ]+[0-9a-f]+:[ ]+c9a02573[ ]+csrr[ ]+a0,hpmcounter26h
+[ ]+[0-9a-f]+:[ ]+c9a59073[ ]+csrw[ ]+hpmcounter26h,a1
+[ ]+[0-9a-f]+:[ ]+c9b02573[ ]+csrr[ ]+a0,hpmcounter27h
+[ ]+[0-9a-f]+:[ ]+c9b59073[ ]+csrw[ ]+hpmcounter27h,a1
+[ ]+[0-9a-f]+:[ ]+c9c02573[ ]+csrr[ ]+a0,hpmcounter28h
+[ ]+[0-9a-f]+:[ ]+c9c59073[ ]+csrw[ ]+hpmcounter28h,a1
+[ ]+[0-9a-f]+:[ ]+c9d02573[ ]+csrr[ ]+a0,hpmcounter29h
+[ ]+[0-9a-f]+:[ ]+c9d59073[ ]+csrw[ ]+hpmcounter29h,a1
+[ ]+[0-9a-f]+:[ ]+c9e02573[ ]+csrr[ ]+a0,hpmcounter30h
+[ ]+[0-9a-f]+:[ ]+c9e59073[ ]+csrw[ ]+hpmcounter30h,a1
+[ ]+[0-9a-f]+:[ ]+c9f02573[ ]+csrr[ ]+a0,hpmcounter31h
+[ ]+[0-9a-f]+:[ ]+c9f59073[ ]+csrw[ ]+hpmcounter31h,a1
+[ ]+[0-9a-f]+:[ ]+10002573[ ]+csrr[ ]+a0,sstatus
+[ ]+[0-9a-f]+:[ ]+10059073[ ]+csrw[ ]+sstatus,a1
+[ ]+[0-9a-f]+:[ ]+10402573[ ]+csrr[ ]+a0,sie
+[ ]+[0-9a-f]+:[ ]+10459073[ ]+csrw[ ]+sie,a1
+[ ]+[0-9a-f]+:[ ]+10502573[ ]+csrr[ ]+a0,stvec
+[ ]+[0-9a-f]+:[ ]+10559073[ ]+csrw[ ]+stvec,a1
+[ ]+[0-9a-f]+:[ ]+10602573[ ]+csrr[ ]+a0,scounteren
+[ ]+[0-9a-f]+:[ ]+10659073[ ]+csrw[ ]+scounteren,a1
+[ ]+[0-9a-f]+:[ ]+10a02573[ ]+csrr[ ]+a0,senvcfg
+[ ]+[0-9a-f]+:[ ]+10a59073[ ]+csrw[ ]+senvcfg,a1
+[ ]+[0-9a-f]+:[ ]+14002573[ ]+csrr[ ]+a0,sscratch
+[ ]+[0-9a-f]+:[ ]+14059073[ ]+csrw[ ]+sscratch,a1
+[ ]+[0-9a-f]+:[ ]+14102573[ ]+csrr[ ]+a0,sepc
+[ ]+[0-9a-f]+:[ ]+14159073[ ]+csrw[ ]+sepc,a1
+[ ]+[0-9a-f]+:[ ]+14202573[ ]+csrr[ ]+a0,scause
+[ ]+[0-9a-f]+:[ ]+14259073[ ]+csrw[ ]+scause,a1
+[ ]+[0-9a-f]+:[ ]+14302573[ ]+csrr[ ]+a0,stval
+[ ]+[0-9a-f]+:[ ]+14359073[ ]+csrw[ ]+stval,a1
+[ ]+[0-9a-f]+:[ ]+14402573[ ]+csrr[ ]+a0,sip
+[ ]+[0-9a-f]+:[ ]+14459073[ ]+csrw[ ]+sip,a1
+[ ]+[0-9a-f]+:[ ]+18002573[ ]+csrr[ ]+a0,satp
+[ ]+[0-9a-f]+:[ ]+18059073[ ]+csrw[ ]+satp,a1
+[ ]+[0-9a-f]+:[ ]+f1102573[ ]+csrr[ ]+a0,mvendorid
+[ ]+[0-9a-f]+:[ ]+f1159073[ ]+csrw[ ]+mvendorid,a1
+[ ]+[0-9a-f]+:[ ]+f1202573[ ]+csrr[ ]+a0,marchid
+[ ]+[0-9a-f]+:[ ]+f1259073[ ]+csrw[ ]+marchid,a1
+[ ]+[0-9a-f]+:[ ]+f1302573[ ]+csrr[ ]+a0,mimpid
+[ ]+[0-9a-f]+:[ ]+f1359073[ ]+csrw[ ]+mimpid,a1
+[ ]+[0-9a-f]+:[ ]+f1402573[ ]+csrr[ ]+a0,mhartid
+[ ]+[0-9a-f]+:[ ]+f1459073[ ]+csrw[ ]+mhartid,a1
+[ ]+[0-9a-f]+:[ ]+f1502573[ ]+csrr[ ]+a0,mconfigptr
+[ ]+[0-9a-f]+:[ ]+f1559073[ ]+csrw[ ]+mconfigptr,a1
+[ ]+[0-9a-f]+:[ ]+30002573[ ]+csrr[ ]+a0,mstatus
+[ ]+[0-9a-f]+:[ ]+30059073[ ]+csrw[ ]+mstatus,a1
+[ ]+[0-9a-f]+:[ ]+30102573[ ]+csrr[ ]+a0,misa
+[ ]+[0-9a-f]+:[ ]+30159073[ ]+csrw[ ]+misa,a1
+[ ]+[0-9a-f]+:[ ]+30202573[ ]+csrr[ ]+a0,medeleg
+[ ]+[0-9a-f]+:[ ]+30259073[ ]+csrw[ ]+medeleg,a1
+[ ]+[0-9a-f]+:[ ]+31202573[ ]+csrr[ ]+a0,medelegh
+[ ]+[0-9a-f]+:[ ]+31259073[ ]+csrw[ ]+medelegh,a1
+[ ]+[0-9a-f]+:[ ]+30302573[ ]+csrr[ ]+a0,mideleg
+[ ]+[0-9a-f]+:[ ]+30359073[ ]+csrw[ ]+mideleg,a1
+[ ]+[0-9a-f]+:[ ]+30402573[ ]+csrr[ ]+a0,mie
+[ ]+[0-9a-f]+:[ ]+30459073[ ]+csrw[ ]+mie,a1
+[ ]+[0-9a-f]+:[ ]+30502573[ ]+csrr[ ]+a0,mtvec
+[ ]+[0-9a-f]+:[ ]+30559073[ ]+csrw[ ]+mtvec,a1
+[ ]+[0-9a-f]+:[ ]+30602573[ ]+csrr[ ]+a0,mcounteren
+[ ]+[0-9a-f]+:[ ]+30659073[ ]+csrw[ ]+mcounteren,a1
+[ ]+[0-9a-f]+:[ ]+31002573[ ]+csrr[ ]+a0,mstatush
+[ ]+[0-9a-f]+:[ ]+31059073[ ]+csrw[ ]+mstatush,a1
+[ ]+[0-9a-f]+:[ ]+34002573[ ]+csrr[ ]+a0,mscratch
+[ ]+[0-9a-f]+:[ ]+34059073[ ]+csrw[ ]+mscratch,a1
+[ ]+[0-9a-f]+:[ ]+34102573[ ]+csrr[ ]+a0,mepc
+[ ]+[0-9a-f]+:[ ]+34159073[ ]+csrw[ ]+mepc,a1
+[ ]+[0-9a-f]+:[ ]+34202573[ ]+csrr[ ]+a0,mcause
+[ ]+[0-9a-f]+:[ ]+34259073[ ]+csrw[ ]+mcause,a1
+[ ]+[0-9a-f]+:[ ]+34302573[ ]+csrr[ ]+a0,mtval
+[ ]+[0-9a-f]+:[ ]+34359073[ ]+csrw[ ]+mtval,a1
+[ ]+[0-9a-f]+:[ ]+34402573[ ]+csrr[ ]+a0,mip
+[ ]+[0-9a-f]+:[ ]+34459073[ ]+csrw[ ]+mip,a1
+[ ]+[0-9a-f]+:[ ]+34a02573[ ]+csrr[ ]+a0,mtinst
+[ ]+[0-9a-f]+:[ ]+34a59073[ ]+csrw[ ]+mtinst,a1
+[ ]+[0-9a-f]+:[ ]+34b02573[ ]+csrr[ ]+a0,mtval2
+[ ]+[0-9a-f]+:[ ]+34b59073[ ]+csrw[ ]+mtval2,a1
+[ ]+[0-9a-f]+:[ ]+30a02573[ ]+csrr[ ]+a0,menvcfg
+[ ]+[0-9a-f]+:[ ]+30a59073[ ]+csrw[ ]+menvcfg,a1
+[ ]+[0-9a-f]+:[ ]+31a02573[ ]+csrr[ ]+a0,menvcfgh
+[ ]+[0-9a-f]+:[ ]+31a59073[ ]+csrw[ ]+menvcfgh,a1
+[ ]+[0-9a-f]+:[ ]+74702573[ ]+csrr[ ]+a0,mseccfg
+[ ]+[0-9a-f]+:[ ]+74759073[ ]+csrw[ ]+mseccfg,a1
+[ ]+[0-9a-f]+:[ ]+75702573[ ]+csrr[ ]+a0,mseccfgh
+[ ]+[0-9a-f]+:[ ]+75759073[ ]+csrw[ ]+mseccfgh,a1
+[ ]+[0-9a-f]+:[ ]+3a002573[ ]+csrr[ ]+a0,pmpcfg0
+[ ]+[0-9a-f]+:[ ]+3a059073[ ]+csrw[ ]+pmpcfg0,a1
+[ ]+[0-9a-f]+:[ ]+3a102573[ ]+csrr[ ]+a0,pmpcfg1
+[ ]+[0-9a-f]+:[ ]+3a159073[ ]+csrw[ ]+pmpcfg1,a1
+[ ]+[0-9a-f]+:[ ]+3a202573[ ]+csrr[ ]+a0,pmpcfg2
+[ ]+[0-9a-f]+:[ ]+3a259073[ ]+csrw[ ]+pmpcfg2,a1
+[ ]+[0-9a-f]+:[ ]+3a302573[ ]+csrr[ ]+a0,pmpcfg3
+[ ]+[0-9a-f]+:[ ]+3a359073[ ]+csrw[ ]+pmpcfg3,a1
+[ ]+[0-9a-f]+:[ ]+3a402573[ ]+csrr[ ]+a0,pmpcfg4
+[ ]+[0-9a-f]+:[ ]+3a459073[ ]+csrw[ ]+pmpcfg4,a1
+[ ]+[0-9a-f]+:[ ]+3a502573[ ]+csrr[ ]+a0,pmpcfg5
+[ ]+[0-9a-f]+:[ ]+3a559073[ ]+csrw[ ]+pmpcfg5,a1
+[ ]+[0-9a-f]+:[ ]+3a602573[ ]+csrr[ ]+a0,pmpcfg6
+[ ]+[0-9a-f]+:[ ]+3a659073[ ]+csrw[ ]+pmpcfg6,a1
+[ ]+[0-9a-f]+:[ ]+3a702573[ ]+csrr[ ]+a0,pmpcfg7
+[ ]+[0-9a-f]+:[ ]+3a759073[ ]+csrw[ ]+pmpcfg7,a1
+[ ]+[0-9a-f]+:[ ]+3a802573[ ]+csrr[ ]+a0,pmpcfg8
+[ ]+[0-9a-f]+:[ ]+3a859073[ ]+csrw[ ]+pmpcfg8,a1
+[ ]+[0-9a-f]+:[ ]+3a902573[ ]+csrr[ ]+a0,pmpcfg9
+[ ]+[0-9a-f]+:[ ]+3a959073[ ]+csrw[ ]+pmpcfg9,a1
+[ ]+[0-9a-f]+:[ ]+3aa02573[ ]+csrr[ ]+a0,pmpcfg10
+[ ]+[0-9a-f]+:[ ]+3aa59073[ ]+csrw[ ]+pmpcfg10,a1
+[ ]+[0-9a-f]+:[ ]+3ab02573[ ]+csrr[ ]+a0,pmpcfg11
+[ ]+[0-9a-f]+:[ ]+3ab59073[ ]+csrw[ ]+pmpcfg11,a1
+[ ]+[0-9a-f]+:[ ]+3ac02573[ ]+csrr[ ]+a0,pmpcfg12
+[ ]+[0-9a-f]+:[ ]+3ac59073[ ]+csrw[ ]+pmpcfg12,a1
+[ ]+[0-9a-f]+:[ ]+3ad02573[ ]+csrr[ ]+a0,pmpcfg13
+[ ]+[0-9a-f]+:[ ]+3ad59073[ ]+csrw[ ]+pmpcfg13,a1
+[ ]+[0-9a-f]+:[ ]+3ae02573[ ]+csrr[ ]+a0,pmpcfg14
+[ ]+[0-9a-f]+:[ ]+3ae59073[ ]+csrw[ ]+pmpcfg14,a1
+[ ]+[0-9a-f]+:[ ]+3af02573[ ]+csrr[ ]+a0,pmpcfg15
+[ ]+[0-9a-f]+:[ ]+3af59073[ ]+csrw[ ]+pmpcfg15,a1
+[ ]+[0-9a-f]+:[ ]+3b002573[ ]+csrr[ ]+a0,pmpaddr0
+[ ]+[0-9a-f]+:[ ]+3b059073[ ]+csrw[ ]+pmpaddr0,a1
+[ ]+[0-9a-f]+:[ ]+3b102573[ ]+csrr[ ]+a0,pmpaddr1
+[ ]+[0-9a-f]+:[ ]+3b159073[ ]+csrw[ ]+pmpaddr1,a1
+[ ]+[0-9a-f]+:[ ]+3b202573[ ]+csrr[ ]+a0,pmpaddr2
+[ ]+[0-9a-f]+:[ ]+3b259073[ ]+csrw[ ]+pmpaddr2,a1
+[ ]+[0-9a-f]+:[ ]+3b302573[ ]+csrr[ ]+a0,pmpaddr3
+[ ]+[0-9a-f]+:[ ]+3b359073[ ]+csrw[ ]+pmpaddr3,a1
+[ ]+[0-9a-f]+:[ ]+3b402573[ ]+csrr[ ]+a0,pmpaddr4
+[ ]+[0-9a-f]+:[ ]+3b459073[ ]+csrw[ ]+pmpaddr4,a1
+[ ]+[0-9a-f]+:[ ]+3b502573[ ]+csrr[ ]+a0,pmpaddr5
+[ ]+[0-9a-f]+:[ ]+3b559073[ ]+csrw[ ]+pmpaddr5,a1
+[ ]+[0-9a-f]+:[ ]+3b602573[ ]+csrr[ ]+a0,pmpaddr6
+[ ]+[0-9a-f]+:[ ]+3b659073[ ]+csrw[ ]+pmpaddr6,a1
+[ ]+[0-9a-f]+:[ ]+3b702573[ ]+csrr[ ]+a0,pmpaddr7
+[ ]+[0-9a-f]+:[ ]+3b759073[ ]+csrw[ ]+pmpaddr7,a1
+[ ]+[0-9a-f]+:[ ]+3b802573[ ]+csrr[ ]+a0,pmpaddr8
+[ ]+[0-9a-f]+:[ ]+3b859073[ ]+csrw[ ]+pmpaddr8,a1
+[ ]+[0-9a-f]+:[ ]+3b902573[ ]+csrr[ ]+a0,pmpaddr9
+[ ]+[0-9a-f]+:[ ]+3b959073[ ]+csrw[ ]+pmpaddr9,a1
+[ ]+[0-9a-f]+:[ ]+3ba02573[ ]+csrr[ ]+a0,pmpaddr10
+[ ]+[0-9a-f]+:[ ]+3ba59073[ ]+csrw[ ]+pmpaddr10,a1
+[ ]+[0-9a-f]+:[ ]+3bb02573[ ]+csrr[ ]+a0,pmpaddr11
+[ ]+[0-9a-f]+:[ ]+3bb59073[ ]+csrw[ ]+pmpaddr11,a1
+[ ]+[0-9a-f]+:[ ]+3bc02573[ ]+csrr[ ]+a0,pmpaddr12
+[ ]+[0-9a-f]+:[ ]+3bc59073[ ]+csrw[ ]+pmpaddr12,a1
+[ ]+[0-9a-f]+:[ ]+3bd02573[ ]+csrr[ ]+a0,pmpaddr13
+[ ]+[0-9a-f]+:[ ]+3bd59073[ ]+csrw[ ]+pmpaddr13,a1
+[ ]+[0-9a-f]+:[ ]+3be02573[ ]+csrr[ ]+a0,pmpaddr14
+[ ]+[0-9a-f]+:[ ]+3be59073[ ]+csrw[ ]+pmpaddr14,a1
+[ ]+[0-9a-f]+:[ ]+3bf02573[ ]+csrr[ ]+a0,pmpaddr15
+[ ]+[0-9a-f]+:[ ]+3bf59073[ ]+csrw[ ]+pmpaddr15,a1
+[ ]+[0-9a-f]+:[ ]+3c002573[ ]+csrr[ ]+a0,pmpaddr16
+[ ]+[0-9a-f]+:[ ]+3c059073[ ]+csrw[ ]+pmpaddr16,a1
+[ ]+[0-9a-f]+:[ ]+3c102573[ ]+csrr[ ]+a0,pmpaddr17
+[ ]+[0-9a-f]+:[ ]+3c159073[ ]+csrw[ ]+pmpaddr17,a1
+[ ]+[0-9a-f]+:[ ]+3c202573[ ]+csrr[ ]+a0,pmpaddr18
+[ ]+[0-9a-f]+:[ ]+3c259073[ ]+csrw[ ]+pmpaddr18,a1
+[ ]+[0-9a-f]+:[ ]+3c302573[ ]+csrr[ ]+a0,pmpaddr19
+[ ]+[0-9a-f]+:[ ]+3c359073[ ]+csrw[ ]+pmpaddr19,a1
+[ ]+[0-9a-f]+:[ ]+3c402573[ ]+csrr[ ]+a0,pmpaddr20
+[ ]+[0-9a-f]+:[ ]+3c459073[ ]+csrw[ ]+pmpaddr20,a1
+[ ]+[0-9a-f]+:[ ]+3c502573[ ]+csrr[ ]+a0,pmpaddr21
+[ ]+[0-9a-f]+:[ ]+3c559073[ ]+csrw[ ]+pmpaddr21,a1
+[ ]+[0-9a-f]+:[ ]+3c602573[ ]+csrr[ ]+a0,pmpaddr22
+[ ]+[0-9a-f]+:[ ]+3c659073[ ]+csrw[ ]+pmpaddr22,a1
+[ ]+[0-9a-f]+:[ ]+3c702573[ ]+csrr[ ]+a0,pmpaddr23
+[ ]+[0-9a-f]+:[ ]+3c759073[ ]+csrw[ ]+pmpaddr23,a1
+[ ]+[0-9a-f]+:[ ]+3c802573[ ]+csrr[ ]+a0,pmpaddr24
+[ ]+[0-9a-f]+:[ ]+3c859073[ ]+csrw[ ]+pmpaddr24,a1
+[ ]+[0-9a-f]+:[ ]+3c902573[ ]+csrr[ ]+a0,pmpaddr25
+[ ]+[0-9a-f]+:[ ]+3c959073[ ]+csrw[ ]+pmpaddr25,a1
+[ ]+[0-9a-f]+:[ ]+3ca02573[ ]+csrr[ ]+a0,pmpaddr26
+[ ]+[0-9a-f]+:[ ]+3ca59073[ ]+csrw[ ]+pmpaddr26,a1
+[ ]+[0-9a-f]+:[ ]+3cb02573[ ]+csrr[ ]+a0,pmpaddr27
+[ ]+[0-9a-f]+:[ ]+3cb59073[ ]+csrw[ ]+pmpaddr27,a1
+[ ]+[0-9a-f]+:[ ]+3cc02573[ ]+csrr[ ]+a0,pmpaddr28
+[ ]+[0-9a-f]+:[ ]+3cc59073[ ]+csrw[ ]+pmpaddr28,a1
+[ ]+[0-9a-f]+:[ ]+3cd02573[ ]+csrr[ ]+a0,pmpaddr29
+[ ]+[0-9a-f]+:[ ]+3cd59073[ ]+csrw[ ]+pmpaddr29,a1
+[ ]+[0-9a-f]+:[ ]+3ce02573[ ]+csrr[ ]+a0,pmpaddr30
+[ ]+[0-9a-f]+:[ ]+3ce59073[ ]+csrw[ ]+pmpaddr30,a1
+[ ]+[0-9a-f]+:[ ]+3cf02573[ ]+csrr[ ]+a0,pmpaddr31
+[ ]+[0-9a-f]+:[ ]+3cf59073[ ]+csrw[ ]+pmpaddr31,a1
+[ ]+[0-9a-f]+:[ ]+3d002573[ ]+csrr[ ]+a0,pmpaddr32
+[ ]+[0-9a-f]+:[ ]+3d059073[ ]+csrw[ ]+pmpaddr32,a1
+[ ]+[0-9a-f]+:[ ]+3d102573[ ]+csrr[ ]+a0,pmpaddr33
+[ ]+[0-9a-f]+:[ ]+3d159073[ ]+csrw[ ]+pmpaddr33,a1
+[ ]+[0-9a-f]+:[ ]+3d202573[ ]+csrr[ ]+a0,pmpaddr34
+[ ]+[0-9a-f]+:[ ]+3d259073[ ]+csrw[ ]+pmpaddr34,a1
+[ ]+[0-9a-f]+:[ ]+3d302573[ ]+csrr[ ]+a0,pmpaddr35
+[ ]+[0-9a-f]+:[ ]+3d359073[ ]+csrw[ ]+pmpaddr35,a1
+[ ]+[0-9a-f]+:[ ]+3d402573[ ]+csrr[ ]+a0,pmpaddr36
+[ ]+[0-9a-f]+:[ ]+3d459073[ ]+csrw[ ]+pmpaddr36,a1
+[ ]+[0-9a-f]+:[ ]+3d502573[ ]+csrr[ ]+a0,pmpaddr37
+[ ]+[0-9a-f]+:[ ]+3d559073[ ]+csrw[ ]+pmpaddr37,a1
+[ ]+[0-9a-f]+:[ ]+3d602573[ ]+csrr[ ]+a0,pmpaddr38
+[ ]+[0-9a-f]+:[ ]+3d659073[ ]+csrw[ ]+pmpaddr38,a1
+[ ]+[0-9a-f]+:[ ]+3d702573[ ]+csrr[ ]+a0,pmpaddr39
+[ ]+[0-9a-f]+:[ ]+3d759073[ ]+csrw[ ]+pmpaddr39,a1
+[ ]+[0-9a-f]+:[ ]+3d802573[ ]+csrr[ ]+a0,pmpaddr40
+[ ]+[0-9a-f]+:[ ]+3d859073[ ]+csrw[ ]+pmpaddr40,a1
+[ ]+[0-9a-f]+:[ ]+3d902573[ ]+csrr[ ]+a0,pmpaddr41
+[ ]+[0-9a-f]+:[ ]+3d959073[ ]+csrw[ ]+pmpaddr41,a1
+[ ]+[0-9a-f]+:[ ]+3da02573[ ]+csrr[ ]+a0,pmpaddr42
+[ ]+[0-9a-f]+:[ ]+3da59073[ ]+csrw[ ]+pmpaddr42,a1
+[ ]+[0-9a-f]+:[ ]+3db02573[ ]+csrr[ ]+a0,pmpaddr43
+[ ]+[0-9a-f]+:[ ]+3db59073[ ]+csrw[ ]+pmpaddr43,a1
+[ ]+[0-9a-f]+:[ ]+3dc02573[ ]+csrr[ ]+a0,pmpaddr44
+[ ]+[0-9a-f]+:[ ]+3dc59073[ ]+csrw[ ]+pmpaddr44,a1
+[ ]+[0-9a-f]+:[ ]+3dd02573[ ]+csrr[ ]+a0,pmpaddr45
+[ ]+[0-9a-f]+:[ ]+3dd59073[ ]+csrw[ ]+pmpaddr45,a1
+[ ]+[0-9a-f]+:[ ]+3de02573[ ]+csrr[ ]+a0,pmpaddr46
+[ ]+[0-9a-f]+:[ ]+3de59073[ ]+csrw[ ]+pmpaddr46,a1
+[ ]+[0-9a-f]+:[ ]+3df02573[ ]+csrr[ ]+a0,pmpaddr47
+[ ]+[0-9a-f]+:[ ]+3df59073[ ]+csrw[ ]+pmpaddr47,a1
+[ ]+[0-9a-f]+:[ ]+3e002573[ ]+csrr[ ]+a0,pmpaddr48
+[ ]+[0-9a-f]+:[ ]+3e059073[ ]+csrw[ ]+pmpaddr48,a1
+[ ]+[0-9a-f]+:[ ]+3e102573[ ]+csrr[ ]+a0,pmpaddr49
+[ ]+[0-9a-f]+:[ ]+3e159073[ ]+csrw[ ]+pmpaddr49,a1
+[ ]+[0-9a-f]+:[ ]+3e202573[ ]+csrr[ ]+a0,pmpaddr50
+[ ]+[0-9a-f]+:[ ]+3e259073[ ]+csrw[ ]+pmpaddr50,a1
+[ ]+[0-9a-f]+:[ ]+3e302573[ ]+csrr[ ]+a0,pmpaddr51
+[ ]+[0-9a-f]+:[ ]+3e359073[ ]+csrw[ ]+pmpaddr51,a1
+[ ]+[0-9a-f]+:[ ]+3e402573[ ]+csrr[ ]+a0,pmpaddr52
+[ ]+[0-9a-f]+:[ ]+3e459073[ ]+csrw[ ]+pmpaddr52,a1
+[ ]+[0-9a-f]+:[ ]+3e502573[ ]+csrr[ ]+a0,pmpaddr53
+[ ]+[0-9a-f]+:[ ]+3e559073[ ]+csrw[ ]+pmpaddr53,a1
+[ ]+[0-9a-f]+:[ ]+3e602573[ ]+csrr[ ]+a0,pmpaddr54
+[ ]+[0-9a-f]+:[ ]+3e659073[ ]+csrw[ ]+pmpaddr54,a1
+[ ]+[0-9a-f]+:[ ]+3e702573[ ]+csrr[ ]+a0,pmpaddr55
+[ ]+[0-9a-f]+:[ ]+3e759073[ ]+csrw[ ]+pmpaddr55,a1
+[ ]+[0-9a-f]+:[ ]+3e802573[ ]+csrr[ ]+a0,pmpaddr56
+[ ]+[0-9a-f]+:[ ]+3e859073[ ]+csrw[ ]+pmpaddr56,a1
+[ ]+[0-9a-f]+:[ ]+3e902573[ ]+csrr[ ]+a0,pmpaddr57
+[ ]+[0-9a-f]+:[ ]+3e959073[ ]+csrw[ ]+pmpaddr57,a1
+[ ]+[0-9a-f]+:[ ]+3ea02573[ ]+csrr[ ]+a0,pmpaddr58
+[ ]+[0-9a-f]+:[ ]+3ea59073[ ]+csrw[ ]+pmpaddr58,a1
+[ ]+[0-9a-f]+:[ ]+3eb02573[ ]+csrr[ ]+a0,pmpaddr59
+[ ]+[0-9a-f]+:[ ]+3eb59073[ ]+csrw[ ]+pmpaddr59,a1
+[ ]+[0-9a-f]+:[ ]+3ec02573[ ]+csrr[ ]+a0,pmpaddr60
+[ ]+[0-9a-f]+:[ ]+3ec59073[ ]+csrw[ ]+pmpaddr60,a1
+[ ]+[0-9a-f]+:[ ]+3ed02573[ ]+csrr[ ]+a0,pmpaddr61
+[ ]+[0-9a-f]+:[ ]+3ed59073[ ]+csrw[ ]+pmpaddr61,a1
+[ ]+[0-9a-f]+:[ ]+3ee02573[ ]+csrr[ ]+a0,pmpaddr62
+[ ]+[0-9a-f]+:[ ]+3ee59073[ ]+csrw[ ]+pmpaddr62,a1
+[ ]+[0-9a-f]+:[ ]+3ef02573[ ]+csrr[ ]+a0,pmpaddr63
+[ ]+[0-9a-f]+:[ ]+3ef59073[ ]+csrw[ ]+pmpaddr63,a1
+[ ]+[0-9a-f]+:[ ]+b0002573[ ]+csrr[ ]+a0,mcycle
+[ ]+[0-9a-f]+:[ ]+b0059073[ ]+csrw[ ]+mcycle,a1
+[ ]+[0-9a-f]+:[ ]+b0202573[ ]+csrr[ ]+a0,minstret
+[ ]+[0-9a-f]+:[ ]+b0259073[ ]+csrw[ ]+minstret,a1
+[ ]+[0-9a-f]+:[ ]+b0302573[ ]+csrr[ ]+a0,mhpmcounter3
+[ ]+[0-9a-f]+:[ ]+b0359073[ ]+csrw[ ]+mhpmcounter3,a1
+[ ]+[0-9a-f]+:[ ]+b0402573[ ]+csrr[ ]+a0,mhpmcounter4
+[ ]+[0-9a-f]+:[ ]+b0459073[ ]+csrw[ ]+mhpmcounter4,a1
+[ ]+[0-9a-f]+:[ ]+b0502573[ ]+csrr[ ]+a0,mhpmcounter5
+[ ]+[0-9a-f]+:[ ]+b0559073[ ]+csrw[ ]+mhpmcounter5,a1
+[ ]+[0-9a-f]+:[ ]+b0602573[ ]+csrr[ ]+a0,mhpmcounter6
+[ ]+[0-9a-f]+:[ ]+b0659073[ ]+csrw[ ]+mhpmcounter6,a1
+[ ]+[0-9a-f]+:[ ]+b0702573[ ]+csrr[ ]+a0,mhpmcounter7
+[ ]+[0-9a-f]+:[ ]+b0759073[ ]+csrw[ ]+mhpmcounter7,a1
+[ ]+[0-9a-f]+:[ ]+b0802573[ ]+csrr[ ]+a0,mhpmcounter8
+[ ]+[0-9a-f]+:[ ]+b0859073[ ]+csrw[ ]+mhpmcounter8,a1
+[ ]+[0-9a-f]+:[ ]+b0902573[ ]+csrr[ ]+a0,mhpmcounter9
+[ ]+[0-9a-f]+:[ ]+b0959073[ ]+csrw[ ]+mhpmcounter9,a1
+[ ]+[0-9a-f]+:[ ]+b0a02573[ ]+csrr[ ]+a0,mhpmcounter10
+[ ]+[0-9a-f]+:[ ]+b0a59073[ ]+csrw[ ]+mhpmcounter10,a1
+[ ]+[0-9a-f]+:[ ]+b0b02573[ ]+csrr[ ]+a0,mhpmcounter11
+[ ]+[0-9a-f]+:[ ]+b0b59073[ ]+csrw[ ]+mhpmcounter11,a1
+[ ]+[0-9a-f]+:[ ]+b0c02573[ ]+csrr[ ]+a0,mhpmcounter12
+[ ]+[0-9a-f]+:[ ]+b0c59073[ ]+csrw[ ]+mhpmcounter12,a1
+[ ]+[0-9a-f]+:[ ]+b0d02573[ ]+csrr[ ]+a0,mhpmcounter13
+[ ]+[0-9a-f]+:[ ]+b0d59073[ ]+csrw[ ]+mhpmcounter13,a1
+[ ]+[0-9a-f]+:[ ]+b0e02573[ ]+csrr[ ]+a0,mhpmcounter14
+[ ]+[0-9a-f]+:[ ]+b0e59073[ ]+csrw[ ]+mhpmcounter14,a1
+[ ]+[0-9a-f]+:[ ]+b0f02573[ ]+csrr[ ]+a0,mhpmcounter15
+[ ]+[0-9a-f]+:[ ]+b0f59073[ ]+csrw[ ]+mhpmcounter15,a1
+[ ]+[0-9a-f]+:[ ]+b1002573[ ]+csrr[ ]+a0,mhpmcounter16
+[ ]+[0-9a-f]+:[ ]+b1059073[ ]+csrw[ ]+mhpmcounter16,a1
+[ ]+[0-9a-f]+:[ ]+b1102573[ ]+csrr[ ]+a0,mhpmcounter17
+[ ]+[0-9a-f]+:[ ]+b1159073[ ]+csrw[ ]+mhpmcounter17,a1
+[ ]+[0-9a-f]+:[ ]+b1202573[ ]+csrr[ ]+a0,mhpmcounter18
+[ ]+[0-9a-f]+:[ ]+b1259073[ ]+csrw[ ]+mhpmcounter18,a1
+[ ]+[0-9a-f]+:[ ]+b1302573[ ]+csrr[ ]+a0,mhpmcounter19
+[ ]+[0-9a-f]+:[ ]+b1359073[ ]+csrw[ ]+mhpmcounter19,a1
+[ ]+[0-9a-f]+:[ ]+b1402573[ ]+csrr[ ]+a0,mhpmcounter20
+[ ]+[0-9a-f]+:[ ]+b1459073[ ]+csrw[ ]+mhpmcounter20,a1
+[ ]+[0-9a-f]+:[ ]+b1502573[ ]+csrr[ ]+a0,mhpmcounter21
+[ ]+[0-9a-f]+:[ ]+b1559073[ ]+csrw[ ]+mhpmcounter21,a1
+[ ]+[0-9a-f]+:[ ]+b1602573[ ]+csrr[ ]+a0,mhpmcounter22
+[ ]+[0-9a-f]+:[ ]+b1659073[ ]+csrw[ ]+mhpmcounter22,a1
+[ ]+[0-9a-f]+:[ ]+b1702573[ ]+csrr[ ]+a0,mhpmcounter23
+[ ]+[0-9a-f]+:[ ]+b1759073[ ]+csrw[ ]+mhpmcounter23,a1
+[ ]+[0-9a-f]+:[ ]+b1802573[ ]+csrr[ ]+a0,mhpmcounter24
+[ ]+[0-9a-f]+:[ ]+b1859073[ ]+csrw[ ]+mhpmcounter24,a1
+[ ]+[0-9a-f]+:[ ]+b1902573[ ]+csrr[ ]+a0,mhpmcounter25
+[ ]+[0-9a-f]+:[ ]+b1959073[ ]+csrw[ ]+mhpmcounter25,a1
+[ ]+[0-9a-f]+:[ ]+b1a02573[ ]+csrr[ ]+a0,mhpmcounter26
+[ ]+[0-9a-f]+:[ ]+b1a59073[ ]+csrw[ ]+mhpmcounter26,a1
+[ ]+[0-9a-f]+:[ ]+b1b02573[ ]+csrr[ ]+a0,mhpmcounter27
+[ ]+[0-9a-f]+:[ ]+b1b59073[ ]+csrw[ ]+mhpmcounter27,a1
+[ ]+[0-9a-f]+:[ ]+b1c02573[ ]+csrr[ ]+a0,mhpmcounter28
+[ ]+[0-9a-f]+:[ ]+b1c59073[ ]+csrw[ ]+mhpmcounter28,a1
+[ ]+[0-9a-f]+:[ ]+b1d02573[ ]+csrr[ ]+a0,mhpmcounter29
+[ ]+[0-9a-f]+:[ ]+b1d59073[ ]+csrw[ ]+mhpmcounter29,a1
+[ ]+[0-9a-f]+:[ ]+b1e02573[ ]+csrr[ ]+a0,mhpmcounter30
+[ ]+[0-9a-f]+:[ ]+b1e59073[ ]+csrw[ ]+mhpmcounter30,a1
+[ ]+[0-9a-f]+:[ ]+b1f02573[ ]+csrr[ ]+a0,mhpmcounter31
+[ ]+[0-9a-f]+:[ ]+b1f59073[ ]+csrw[ ]+mhpmcounter31,a1
+[ ]+[0-9a-f]+:[ ]+b8002573[ ]+csrr[ ]+a0,mcycleh
+[ ]+[0-9a-f]+:[ ]+b8059073[ ]+csrw[ ]+mcycleh,a1
+[ ]+[0-9a-f]+:[ ]+b8202573[ ]+csrr[ ]+a0,minstreth
+[ ]+[0-9a-f]+:[ ]+b8259073[ ]+csrw[ ]+minstreth,a1
+[ ]+[0-9a-f]+:[ ]+b8302573[ ]+csrr[ ]+a0,mhpmcounter3h
+[ ]+[0-9a-f]+:[ ]+b8359073[ ]+csrw[ ]+mhpmcounter3h,a1
+[ ]+[0-9a-f]+:[ ]+b8402573[ ]+csrr[ ]+a0,mhpmcounter4h
+[ ]+[0-9a-f]+:[ ]+b8459073[ ]+csrw[ ]+mhpmcounter4h,a1
+[ ]+[0-9a-f]+:[ ]+b8502573[ ]+csrr[ ]+a0,mhpmcounter5h
+[ ]+[0-9a-f]+:[ ]+b8559073[ ]+csrw[ ]+mhpmcounter5h,a1
+[ ]+[0-9a-f]+:[ ]+b8602573[ ]+csrr[ ]+a0,mhpmcounter6h
+[ ]+[0-9a-f]+:[ ]+b8659073[ ]+csrw[ ]+mhpmcounter6h,a1
+[ ]+[0-9a-f]+:[ ]+b8702573[ ]+csrr[ ]+a0,mhpmcounter7h
+[ ]+[0-9a-f]+:[ ]+b8759073[ ]+csrw[ ]+mhpmcounter7h,a1
+[ ]+[0-9a-f]+:[ ]+b8802573[ ]+csrr[ ]+a0,mhpmcounter8h
+[ ]+[0-9a-f]+:[ ]+b8859073[ ]+csrw[ ]+mhpmcounter8h,a1
+[ ]+[0-9a-f]+:[ ]+b8902573[ ]+csrr[ ]+a0,mhpmcounter9h
+[ ]+[0-9a-f]+:[ ]+b8959073[ ]+csrw[ ]+mhpmcounter9h,a1
+[ ]+[0-9a-f]+:[ ]+b8a02573[ ]+csrr[ ]+a0,mhpmcounter10h
+[ ]+[0-9a-f]+:[ ]+b8a59073[ ]+csrw[ ]+mhpmcounter10h,a1
+[ ]+[0-9a-f]+:[ ]+b8b02573[ ]+csrr[ ]+a0,mhpmcounter11h
+[ ]+[0-9a-f]+:[ ]+b8b59073[ ]+csrw[ ]+mhpmcounter11h,a1
+[ ]+[0-9a-f]+:[ ]+b8c02573[ ]+csrr[ ]+a0,mhpmcounter12h
+[ ]+[0-9a-f]+:[ ]+b8c59073[ ]+csrw[ ]+mhpmcounter12h,a1
+[ ]+[0-9a-f]+:[ ]+b8d02573[ ]+csrr[ ]+a0,mhpmcounter13h
+[ ]+[0-9a-f]+:[ ]+b8d59073[ ]+csrw[ ]+mhpmcounter13h,a1
+[ ]+[0-9a-f]+:[ ]+b8e02573[ ]+csrr[ ]+a0,mhpmcounter14h
+[ ]+[0-9a-f]+:[ ]+b8e59073[ ]+csrw[ ]+mhpmcounter14h,a1
+[ ]+[0-9a-f]+:[ ]+b8f02573[ ]+csrr[ ]+a0,mhpmcounter15h
+[ ]+[0-9a-f]+:[ ]+b8f59073[ ]+csrw[ ]+mhpmcounter15h,a1
+[ ]+[0-9a-f]+:[ ]+b9002573[ ]+csrr[ ]+a0,mhpmcounter16h
+[ ]+[0-9a-f]+:[ ]+b9059073[ ]+csrw[ ]+mhpmcounter16h,a1
+[ ]+[0-9a-f]+:[ ]+b9102573[ ]+csrr[ ]+a0,mhpmcounter17h
+[ ]+[0-9a-f]+:[ ]+b9159073[ ]+csrw[ ]+mhpmcounter17h,a1
+[ ]+[0-9a-f]+:[ ]+b9202573[ ]+csrr[ ]+a0,mhpmcounter18h
+[ ]+[0-9a-f]+:[ ]+b9259073[ ]+csrw[ ]+mhpmcounter18h,a1
+[ ]+[0-9a-f]+:[ ]+b9302573[ ]+csrr[ ]+a0,mhpmcounter19h
+[ ]+[0-9a-f]+:[ ]+b9359073[ ]+csrw[ ]+mhpmcounter19h,a1
+[ ]+[0-9a-f]+:[ ]+b9402573[ ]+csrr[ ]+a0,mhpmcounter20h
+[ ]+[0-9a-f]+:[ ]+b9459073[ ]+csrw[ ]+mhpmcounter20h,a1
+[ ]+[0-9a-f]+:[ ]+b9502573[ ]+csrr[ ]+a0,mhpmcounter21h
+[ ]+[0-9a-f]+:[ ]+b9559073[ ]+csrw[ ]+mhpmcounter21h,a1
+[ ]+[0-9a-f]+:[ ]+b9602573[ ]+csrr[ ]+a0,mhpmcounter22h
+[ ]+[0-9a-f]+:[ ]+b9659073[ ]+csrw[ ]+mhpmcounter22h,a1
+[ ]+[0-9a-f]+:[ ]+b9702573[ ]+csrr[ ]+a0,mhpmcounter23h
+[ ]+[0-9a-f]+:[ ]+b9759073[ ]+csrw[ ]+mhpmcounter23h,a1
+[ ]+[0-9a-f]+:[ ]+b9802573[ ]+csrr[ ]+a0,mhpmcounter24h
+[ ]+[0-9a-f]+:[ ]+b9859073[ ]+csrw[ ]+mhpmcounter24h,a1
+[ ]+[0-9a-f]+:[ ]+b9902573[ ]+csrr[ ]+a0,mhpmcounter25h
+[ ]+[0-9a-f]+:[ ]+b9959073[ ]+csrw[ ]+mhpmcounter25h,a1
+[ ]+[0-9a-f]+:[ ]+b9a02573[ ]+csrr[ ]+a0,mhpmcounter26h
+[ ]+[0-9a-f]+:[ ]+b9a59073[ ]+csrw[ ]+mhpmcounter26h,a1
+[ ]+[0-9a-f]+:[ ]+b9b02573[ ]+csrr[ ]+a0,mhpmcounter27h
+[ ]+[0-9a-f]+:[ ]+b9b59073[ ]+csrw[ ]+mhpmcounter27h,a1
+[ ]+[0-9a-f]+:[ ]+b9c02573[ ]+csrr[ ]+a0,mhpmcounter28h
+[ ]+[0-9a-f]+:[ ]+b9c59073[ ]+csrw[ ]+mhpmcounter28h,a1
+[ ]+[0-9a-f]+:[ ]+b9d02573[ ]+csrr[ ]+a0,mhpmcounter29h
+[ ]+[0-9a-f]+:[ ]+b9d59073[ ]+csrw[ ]+mhpmcounter29h,a1
+[ ]+[0-9a-f]+:[ ]+b9e02573[ ]+csrr[ ]+a0,mhpmcounter30h
+[ ]+[0-9a-f]+:[ ]+b9e59073[ ]+csrw[ ]+mhpmcounter30h,a1
+[ ]+[0-9a-f]+:[ ]+b9f02573[ ]+csrr[ ]+a0,mhpmcounter31h
+[ ]+[0-9a-f]+:[ ]+b9f59073[ ]+csrw[ ]+mhpmcounter31h,a1
+[ ]+[0-9a-f]+:[ ]+32002573[ ]+csrr[ ]+a0,mcountinhibit
+[ ]+[0-9a-f]+:[ ]+32059073[ ]+csrw[ ]+mcountinhibit,a1
+[ ]+[0-9a-f]+:[ ]+32302573[ ]+csrr[ ]+a0,mhpmevent3
+[ ]+[0-9a-f]+:[ ]+32359073[ ]+csrw[ ]+mhpmevent3,a1
+[ ]+[0-9a-f]+:[ ]+32402573[ ]+csrr[ ]+a0,mhpmevent4
+[ ]+[0-9a-f]+:[ ]+32459073[ ]+csrw[ ]+mhpmevent4,a1
+[ ]+[0-9a-f]+:[ ]+32502573[ ]+csrr[ ]+a0,mhpmevent5
+[ ]+[0-9a-f]+:[ ]+32559073[ ]+csrw[ ]+mhpmevent5,a1
+[ ]+[0-9a-f]+:[ ]+32602573[ ]+csrr[ ]+a0,mhpmevent6
+[ ]+[0-9a-f]+:[ ]+32659073[ ]+csrw[ ]+mhpmevent6,a1
+[ ]+[0-9a-f]+:[ ]+32702573[ ]+csrr[ ]+a0,mhpmevent7
+[ ]+[0-9a-f]+:[ ]+32759073[ ]+csrw[ ]+mhpmevent7,a1
+[ ]+[0-9a-f]+:[ ]+32802573[ ]+csrr[ ]+a0,mhpmevent8
+[ ]+[0-9a-f]+:[ ]+32859073[ ]+csrw[ ]+mhpmevent8,a1
+[ ]+[0-9a-f]+:[ ]+32902573[ ]+csrr[ ]+a0,mhpmevent9
+[ ]+[0-9a-f]+:[ ]+32959073[ ]+csrw[ ]+mhpmevent9,a1
+[ ]+[0-9a-f]+:[ ]+32a02573[ ]+csrr[ ]+a0,mhpmevent10
+[ ]+[0-9a-f]+:[ ]+32a59073[ ]+csrw[ ]+mhpmevent10,a1
+[ ]+[0-9a-f]+:[ ]+32b02573[ ]+csrr[ ]+a0,mhpmevent11
+[ ]+[0-9a-f]+:[ ]+32b59073[ ]+csrw[ ]+mhpmevent11,a1
+[ ]+[0-9a-f]+:[ ]+32c02573[ ]+csrr[ ]+a0,mhpmevent12
+[ ]+[0-9a-f]+:[ ]+32c59073[ ]+csrw[ ]+mhpmevent12,a1
+[ ]+[0-9a-f]+:[ ]+32d02573[ ]+csrr[ ]+a0,mhpmevent13
+[ ]+[0-9a-f]+:[ ]+32d59073[ ]+csrw[ ]+mhpmevent13,a1
+[ ]+[0-9a-f]+:[ ]+32e02573[ ]+csrr[ ]+a0,mhpmevent14
+[ ]+[0-9a-f]+:[ ]+32e59073[ ]+csrw[ ]+mhpmevent14,a1
+[ ]+[0-9a-f]+:[ ]+32f02573[ ]+csrr[ ]+a0,mhpmevent15
+[ ]+[0-9a-f]+:[ ]+32f59073[ ]+csrw[ ]+mhpmevent15,a1
+[ ]+[0-9a-f]+:[ ]+33002573[ ]+csrr[ ]+a0,mhpmevent16
+[ ]+[0-9a-f]+:[ ]+33059073[ ]+csrw[ ]+mhpmevent16,a1
+[ ]+[0-9a-f]+:[ ]+33102573[ ]+csrr[ ]+a0,mhpmevent17
+[ ]+[0-9a-f]+:[ ]+33159073[ ]+csrw[ ]+mhpmevent17,a1
+[ ]+[0-9a-f]+:[ ]+33202573[ ]+csrr[ ]+a0,mhpmevent18
+[ ]+[0-9a-f]+:[ ]+33259073[ ]+csrw[ ]+mhpmevent18,a1
+[ ]+[0-9a-f]+:[ ]+33302573[ ]+csrr[ ]+a0,mhpmevent19
+[ ]+[0-9a-f]+:[ ]+33359073[ ]+csrw[ ]+mhpmevent19,a1
+[ ]+[0-9a-f]+:[ ]+33402573[ ]+csrr[ ]+a0,mhpmevent20
+[ ]+[0-9a-f]+:[ ]+33459073[ ]+csrw[ ]+mhpmevent20,a1
+[ ]+[0-9a-f]+:[ ]+33502573[ ]+csrr[ ]+a0,mhpmevent21
+[ ]+[0-9a-f]+:[ ]+33559073[ ]+csrw[ ]+mhpmevent21,a1
+[ ]+[0-9a-f]+:[ ]+33602573[ ]+csrr[ ]+a0,mhpmevent22
+[ ]+[0-9a-f]+:[ ]+33659073[ ]+csrw[ ]+mhpmevent22,a1
+[ ]+[0-9a-f]+:[ ]+33702573[ ]+csrr[ ]+a0,mhpmevent23
+[ ]+[0-9a-f]+:[ ]+33759073[ ]+csrw[ ]+mhpmevent23,a1
+[ ]+[0-9a-f]+:[ ]+33802573[ ]+csrr[ ]+a0,mhpmevent24
+[ ]+[0-9a-f]+:[ ]+33859073[ ]+csrw[ ]+mhpmevent24,a1
+[ ]+[0-9a-f]+:[ ]+33902573[ ]+csrr[ ]+a0,mhpmevent25
+[ ]+[0-9a-f]+:[ ]+33959073[ ]+csrw[ ]+mhpmevent25,a1
+[ ]+[0-9a-f]+:[ ]+33a02573[ ]+csrr[ ]+a0,mhpmevent26
+[ ]+[0-9a-f]+:[ ]+33a59073[ ]+csrw[ ]+mhpmevent26,a1
+[ ]+[0-9a-f]+:[ ]+33b02573[ ]+csrr[ ]+a0,mhpmevent27
+[ ]+[0-9a-f]+:[ ]+33b59073[ ]+csrw[ ]+mhpmevent27,a1
+[ ]+[0-9a-f]+:[ ]+33c02573[ ]+csrr[ ]+a0,mhpmevent28
+[ ]+[0-9a-f]+:[ ]+33c59073[ ]+csrw[ ]+mhpmevent28,a1
+[ ]+[0-9a-f]+:[ ]+33d02573[ ]+csrr[ ]+a0,mhpmevent29
+[ ]+[0-9a-f]+:[ ]+33d59073[ ]+csrw[ ]+mhpmevent29,a1
+[ ]+[0-9a-f]+:[ ]+33e02573[ ]+csrr[ ]+a0,mhpmevent30
+[ ]+[0-9a-f]+:[ ]+33e59073[ ]+csrw[ ]+mhpmevent30,a1
+[ ]+[0-9a-f]+:[ ]+33f02573[ ]+csrr[ ]+a0,mhpmevent31
+[ ]+[0-9a-f]+:[ ]+33f59073[ ]+csrw[ ]+mhpmevent31,a1
+[ ]+[0-9a-f]+:[ ]+60002573[ ]+csrr[ ]+a0,hstatus
+[ ]+[0-9a-f]+:[ ]+60059073[ ]+csrw[ ]+hstatus,a1
+[ ]+[0-9a-f]+:[ ]+60202573[ ]+csrr[ ]+a0,hedeleg
+[ ]+[0-9a-f]+:[ ]+60259073[ ]+csrw[ ]+hedeleg,a1
+[ ]+[0-9a-f]+:[ ]+61202573[ ]+csrr[ ]+a0,hedelegh
+[ ]+[0-9a-f]+:[ ]+61259073[ ]+csrw[ ]+hedelegh,a1
+[ ]+[0-9a-f]+:[ ]+60302573[ ]+csrr[ ]+a0,hideleg
+[ ]+[0-9a-f]+:[ ]+60359073[ ]+csrw[ ]+hideleg,a1
+[ ]+[0-9a-f]+:[ ]+60402573[ ]+csrr[ ]+a0,hie
+[ ]+[0-9a-f]+:[ ]+60459073[ ]+csrw[ ]+hie,a1
+[ ]+[0-9a-f]+:[ ]+60602573[ ]+csrr[ ]+a0,hcounteren
+[ ]+[0-9a-f]+:[ ]+60659073[ ]+csrw[ ]+hcounteren,a1
+[ ]+[0-9a-f]+:[ ]+60702573[ ]+csrr[ ]+a0,hgeie
+[ ]+[0-9a-f]+:[ ]+60759073[ ]+csrw[ ]+hgeie,a1
+[ ]+[0-9a-f]+:[ ]+64302573[ ]+csrr[ ]+a0,htval
+[ ]+[0-9a-f]+:[ ]+64359073[ ]+csrw[ ]+htval,a1
+[ ]+[0-9a-f]+:[ ]+64402573[ ]+csrr[ ]+a0,hip
+[ ]+[0-9a-f]+:[ ]+64459073[ ]+csrw[ ]+hip,a1
+[ ]+[0-9a-f]+:[ ]+64502573[ ]+csrr[ ]+a0,hvip
+[ ]+[0-9a-f]+:[ ]+64559073[ ]+csrw[ ]+hvip,a1
+[ ]+[0-9a-f]+:[ ]+64a02573[ ]+csrr[ ]+a0,htinst
+[ ]+[0-9a-f]+:[ ]+64a59073[ ]+csrw[ ]+htinst,a1
+[ ]+[0-9a-f]+:[ ]+e1202573[ ]+csrr[ ]+a0,hgeip
+[ ]+[0-9a-f]+:[ ]+e1259073[ ]+csrw[ ]+hgeip,a1
+[ ]+[0-9a-f]+:[ ]+60a02573[ ]+csrr[ ]+a0,henvcfg
+[ ]+[0-9a-f]+:[ ]+60a59073[ ]+csrw[ ]+henvcfg,a1
+[ ]+[0-9a-f]+:[ ]+61a02573[ ]+csrr[ ]+a0,henvcfgh
+[ ]+[0-9a-f]+:[ ]+61a59073[ ]+csrw[ ]+henvcfgh,a1
+[ ]+[0-9a-f]+:[ ]+68002573[ ]+csrr[ ]+a0,hgatp
+[ ]+[0-9a-f]+:[ ]+68059073[ ]+csrw[ ]+hgatp,a1
+[ ]+[0-9a-f]+:[ ]+60502573[ ]+csrr[ ]+a0,htimedelta
+[ ]+[0-9a-f]+:[ ]+60559073[ ]+csrw[ ]+htimedelta,a1
+[ ]+[0-9a-f]+:[ ]+61502573[ ]+csrr[ ]+a0,htimedeltah
+[ ]+[0-9a-f]+:[ ]+61559073[ ]+csrw[ ]+htimedeltah,a1
+[ ]+[0-9a-f]+:[ ]+20002573[ ]+csrr[ ]+a0,vsstatus
+[ ]+[0-9a-f]+:[ ]+20059073[ ]+csrw[ ]+vsstatus,a1
+[ ]+[0-9a-f]+:[ ]+20402573[ ]+csrr[ ]+a0,vsie
+[ ]+[0-9a-f]+:[ ]+20459073[ ]+csrw[ ]+vsie,a1
+[ ]+[0-9a-f]+:[ ]+20502573[ ]+csrr[ ]+a0,vstvec
+[ ]+[0-9a-f]+:[ ]+20559073[ ]+csrw[ ]+vstvec,a1
+[ ]+[0-9a-f]+:[ ]+24002573[ ]+csrr[ ]+a0,vsscratch
+[ ]+[0-9a-f]+:[ ]+24059073[ ]+csrw[ ]+vsscratch,a1
+[ ]+[0-9a-f]+:[ ]+24102573[ ]+csrr[ ]+a0,vsepc
+[ ]+[0-9a-f]+:[ ]+24159073[ ]+csrw[ ]+vsepc,a1
+[ ]+[0-9a-f]+:[ ]+24202573[ ]+csrr[ ]+a0,vscause
+[ ]+[0-9a-f]+:[ ]+24259073[ ]+csrw[ ]+vscause,a1
+[ ]+[0-9a-f]+:[ ]+24302573[ ]+csrr[ ]+a0,vstval
+[ ]+[0-9a-f]+:[ ]+24359073[ ]+csrw[ ]+vstval,a1
+[ ]+[0-9a-f]+:[ ]+24402573[ ]+csrr[ ]+a0,vsip
+[ ]+[0-9a-f]+:[ ]+24459073[ ]+csrw[ ]+vsip,a1
+[ ]+[0-9a-f]+:[ ]+28002573[ ]+csrr[ ]+a0,vsatp
+[ ]+[0-9a-f]+:[ ]+28059073[ ]+csrw[ ]+vsatp,a1
+[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect
+[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1
+[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg
+[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1
+[ ]+[0-9a-f]+:[ ]+35c02573[ ]+csrr[ ]+a0,mtopei
+[ ]+[0-9a-f]+:[ ]+35c59073[ ]+csrw[ ]+mtopei,a1
+[ ]+[0-9a-f]+:[ ]+fb002573[ ]+csrr[ ]+a0,mtopi
+[ ]+[0-9a-f]+:[ ]+fb059073[ ]+csrw[ ]+mtopi,a1
+[ ]+[0-9a-f]+:[ ]+30802573[ ]+csrr[ ]+a0,mvien
+[ ]+[0-9a-f]+:[ ]+30859073[ ]+csrw[ ]+mvien,a1
+[ ]+[0-9a-f]+:[ ]+30902573[ ]+csrr[ ]+a0,mvip
+[ ]+[0-9a-f]+:[ ]+30959073[ ]+csrw[ ]+mvip,a1
+[ ]+[0-9a-f]+:[ ]+31302573[ ]+csrr[ ]+a0,midelegh
+[ ]+[0-9a-f]+:[ ]+31359073[ ]+csrw[ ]+midelegh,a1
+[ ]+[0-9a-f]+:[ ]+31402573[ ]+csrr[ ]+a0,mieh
+[ ]+[0-9a-f]+:[ ]+31459073[ ]+csrw[ ]+mieh,a1
+[ ]+[0-9a-f]+:[ ]+31802573[ ]+csrr[ ]+a0,mvienh
+[ ]+[0-9a-f]+:[ ]+31859073[ ]+csrw[ ]+mvienh,a1
+[ ]+[0-9a-f]+:[ ]+31902573[ ]+csrr[ ]+a0,mviph
+[ ]+[0-9a-f]+:[ ]+31959073[ ]+csrw[ ]+mviph,a1
+[ ]+[0-9a-f]+:[ ]+35402573[ ]+csrr[ ]+a0,miph
+[ ]+[0-9a-f]+:[ ]+35459073[ ]+csrw[ ]+miph,a1
+[ ]+[0-9a-f]+:[ ]+35002573[ ]+csrr[ ]+a0,miselect
+[ ]+[0-9a-f]+:[ ]+35059073[ ]+csrw[ ]+miselect,a1
+[ ]+[0-9a-f]+:[ ]+35102573[ ]+csrr[ ]+a0,mireg
+[ ]+[0-9a-f]+:[ ]+35159073[ ]+csrw[ ]+mireg,a1
+[ ]+[0-9a-f]+:[ ]+35202573[ ]+csrr[ ]+a0,mireg2
+[ ]+[0-9a-f]+:[ ]+35259073[ ]+csrw[ ]+mireg2,a1
+[ ]+[0-9a-f]+:[ ]+35302573[ ]+csrr[ ]+a0,mireg3
+[ ]+[0-9a-f]+:[ ]+35359073[ ]+csrw[ ]+mireg3,a1
+[ ]+[0-9a-f]+:[ ]+35502573[ ]+csrr[ ]+a0,mireg4
+[ ]+[0-9a-f]+:[ ]+35559073[ ]+csrw[ ]+mireg4,a1
+[ ]+[0-9a-f]+:[ ]+35602573[ ]+csrr[ ]+a0,mireg5
+[ ]+[0-9a-f]+:[ ]+35659073[ ]+csrw[ ]+mireg5,a1
+[ ]+[0-9a-f]+:[ ]+35702573[ ]+csrr[ ]+a0,mireg6
+[ ]+[0-9a-f]+:[ ]+35759073[ ]+csrw[ ]+mireg6,a1
+[ ]+[0-9a-f]+:[ ]+32102573[ ]+csrr[ ]+a0,mcyclecfg
+[ ]+[0-9a-f]+:[ ]+32159073[ ]+csrw[ ]+mcyclecfg,a1
+[ ]+[0-9a-f]+:[ ]+32202573[ ]+csrr[ ]+a0,minstretcfg
+[ ]+[0-9a-f]+:[ ]+32259073[ ]+csrw[ ]+minstretcfg,a1
+[ ]+[0-9a-f]+:[ ]+72102573[ ]+csrr[ ]+a0,mcyclecfgh
+[ ]+[0-9a-f]+:[ ]+72159073[ ]+csrw[ ]+mcyclecfgh,a1
+[ ]+[0-9a-f]+:[ ]+72202573[ ]+csrr[ ]+a0,minstretcfgh
+[ ]+[0-9a-f]+:[ ]+72259073[ ]+csrw[ ]+minstretcfgh,a1
+[ ]+[0-9a-f]+:[ ]+74102573[ ]+csrr[ ]+a0,mnepc
+[ ]+[0-9a-f]+:[ ]+74159073[ ]+csrw[ ]+mnepc,a1
+[ ]+[0-9a-f]+:[ ]+74202573[ ]+csrr[ ]+a0,mncause
+[ ]+[0-9a-f]+:[ ]+74259073[ ]+csrw[ ]+mncause,a1
+[ ]+[0-9a-f]+:[ ]+74002573[ ]+csrr[ ]+a0,mnscratch
+[ ]+[0-9a-f]+:[ ]+74059073[ ]+csrw[ ]+mnscratch,a1
+[ ]+[0-9a-f]+:[ ]+74402573[ ]+csrr[ ]+a0,mnstatus
+[ ]+[0-9a-f]+:[ ]+74459073[ ]+csrw[ ]+mnstatus,a1
+[ ]+[0-9a-f]+:[ ]+30c02573[ ]+csrr[ ]+a0,mstateen0
+[ ]+[0-9a-f]+:[ ]+30c59073[ ]+csrw[ ]+mstateen0,a1
+[ ]+[0-9a-f]+:[ ]+30d02573[ ]+csrr[ ]+a0,mstateen1
+[ ]+[0-9a-f]+:[ ]+30d59073[ ]+csrw[ ]+mstateen1,a1
+[ ]+[0-9a-f]+:[ ]+30e02573[ ]+csrr[ ]+a0,mstateen2
+[ ]+[0-9a-f]+:[ ]+30e59073[ ]+csrw[ ]+mstateen2,a1
+[ ]+[0-9a-f]+:[ ]+30f02573[ ]+csrr[ ]+a0,mstateen3
+[ ]+[0-9a-f]+:[ ]+30f59073[ ]+csrw[ ]+mstateen3,a1
+[ ]+[0-9a-f]+:[ ]+10c02573[ ]+csrr[ ]+a0,sstateen0
+[ ]+[0-9a-f]+:[ ]+10c59073[ ]+csrw[ ]+sstateen0,a1
+[ ]+[0-9a-f]+:[ ]+10d02573[ ]+csrr[ ]+a0,sstateen1
+[ ]+[0-9a-f]+:[ ]+10d59073[ ]+csrw[ ]+sstateen1,a1
+[ ]+[0-9a-f]+:[ ]+10e02573[ ]+csrr[ ]+a0,sstateen2
+[ ]+[0-9a-f]+:[ ]+10e59073[ ]+csrw[ ]+sstateen2,a1
+[ ]+[0-9a-f]+:[ ]+10f02573[ ]+csrr[ ]+a0,sstateen3
+[ ]+[0-9a-f]+:[ ]+10f59073[ ]+csrw[ ]+sstateen3,a1
+[ ]+[0-9a-f]+:[ ]+60c02573[ ]+csrr[ ]+a0,hstateen0
+[ ]+[0-9a-f]+:[ ]+60c59073[ ]+csrw[ ]+hstateen0,a1
+[ ]+[0-9a-f]+:[ ]+60d02573[ ]+csrr[ ]+a0,hstateen1
+[ ]+[0-9a-f]+:[ ]+60d59073[ ]+csrw[ ]+hstateen1,a1
+[ ]+[0-9a-f]+:[ ]+60e02573[ ]+csrr[ ]+a0,hstateen2
+[ ]+[0-9a-f]+:[ ]+60e59073[ ]+csrw[ ]+hstateen2,a1
+[ ]+[0-9a-f]+:[ ]+60f02573[ ]+csrr[ ]+a0,hstateen3
+[ ]+[0-9a-f]+:[ ]+60f59073[ ]+csrw[ ]+hstateen3,a1
+[ ]+[0-9a-f]+:[ ]+31c02573[ ]+csrr[ ]+a0,mstateen0h
+[ ]+[0-9a-f]+:[ ]+31c59073[ ]+csrw[ ]+mstateen0h,a1
+[ ]+[0-9a-f]+:[ ]+31d02573[ ]+csrr[ ]+a0,mstateen1h
+[ ]+[0-9a-f]+:[ ]+31d59073[ ]+csrw[ ]+mstateen1h,a1
+[ ]+[0-9a-f]+:[ ]+31e02573[ ]+csrr[ ]+a0,mstateen2h
+[ ]+[0-9a-f]+:[ ]+31e59073[ ]+csrw[ ]+mstateen2h,a1
+[ ]+[0-9a-f]+:[ ]+31f02573[ ]+csrr[ ]+a0,mstateen3h
+[ ]+[0-9a-f]+:[ ]+31f59073[ ]+csrw[ ]+mstateen3h,a1
+[ ]+[0-9a-f]+:[ ]+61c02573[ ]+csrr[ ]+a0,hstateen0h
+[ ]+[0-9a-f]+:[ ]+61c59073[ ]+csrw[ ]+hstateen0h,a1
+[ ]+[0-9a-f]+:[ ]+61d02573[ ]+csrr[ ]+a0,hstateen1h
+[ ]+[0-9a-f]+:[ ]+61d59073[ ]+csrw[ ]+hstateen1h,a1
+[ ]+[0-9a-f]+:[ ]+61e02573[ ]+csrr[ ]+a0,hstateen2h
+[ ]+[0-9a-f]+:[ ]+61e59073[ ]+csrw[ ]+hstateen2h,a1
+[ ]+[0-9a-f]+:[ ]+61f02573[ ]+csrr[ ]+a0,hstateen3h
+[ ]+[0-9a-f]+:[ ]+61f59073[ ]+csrw[ ]+hstateen3h,a1
+[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect
+[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1
+[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg
+[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1
+[ ]+[0-9a-f]+:[ ]+15c02573[ ]+csrr[ ]+a0,stopei
+[ ]+[0-9a-f]+:[ ]+15c59073[ ]+csrw[ ]+stopei,a1
+[ ]+[0-9a-f]+:[ ]+db002573[ ]+csrr[ ]+a0,stopi
+[ ]+[0-9a-f]+:[ ]+db059073[ ]+csrw[ ]+stopi,a1
+[ ]+[0-9a-f]+:[ ]+11402573[ ]+csrr[ ]+a0,sieh
+[ ]+[0-9a-f]+:[ ]+11459073[ ]+csrw[ ]+sieh,a1
+[ ]+[0-9a-f]+:[ ]+15402573[ ]+csrr[ ]+a0,siph
+[ ]+[0-9a-f]+:[ ]+15459073[ ]+csrw[ ]+siph,a1
+[ ]+[0-9a-f]+:[ ]+60802573[ ]+csrr[ ]+a0,hvien
+[ ]+[0-9a-f]+:[ ]+60859073[ ]+csrw[ ]+hvien,a1
+[ ]+[0-9a-f]+:[ ]+60902573[ ]+csrr[ ]+a0,hvictl
+[ ]+[0-9a-f]+:[ ]+60959073[ ]+csrw[ ]+hvictl,a1
+[ ]+[0-9a-f]+:[ ]+64602573[ ]+csrr[ ]+a0,hviprio1
+[ ]+[0-9a-f]+:[ ]+64659073[ ]+csrw[ ]+hviprio1,a1
+[ ]+[0-9a-f]+:[ ]+64702573[ ]+csrr[ ]+a0,hviprio2
+[ ]+[0-9a-f]+:[ ]+64759073[ ]+csrw[ ]+hviprio2,a1
+[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect
+[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1
+[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg
+[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1
+[ ]+[0-9a-f]+:[ ]+25c02573[ ]+csrr[ ]+a0,vstopei
+[ ]+[0-9a-f]+:[ ]+25c59073[ ]+csrw[ ]+vstopei,a1
+[ ]+[0-9a-f]+:[ ]+eb002573[ ]+csrr[ ]+a0,vstopi
+[ ]+[0-9a-f]+:[ ]+eb059073[ ]+csrw[ ]+vstopi,a1
+[ ]+[0-9a-f]+:[ ]+61302573[ ]+csrr[ ]+a0,hidelegh
+[ ]+[0-9a-f]+:[ ]+61359073[ ]+csrw[ ]+hidelegh,a1
+[ ]+[0-9a-f]+:[ ]+61802573[ ]+csrr[ ]+a0,hvienh
+[ ]+[0-9a-f]+:[ ]+61859073[ ]+csrw[ ]+hvienh,a1
+[ ]+[0-9a-f]+:[ ]+65502573[ ]+csrr[ ]+a0,hviph
+[ ]+[0-9a-f]+:[ ]+65559073[ ]+csrw[ ]+hviph,a1
+[ ]+[0-9a-f]+:[ ]+65602573[ ]+csrr[ ]+a0,hviprio1h
+[ ]+[0-9a-f]+:[ ]+65659073[ ]+csrw[ ]+hviprio1h,a1
+[ ]+[0-9a-f]+:[ ]+65702573[ ]+csrr[ ]+a0,hviprio2h
+[ ]+[0-9a-f]+:[ ]+65759073[ ]+csrw[ ]+hviprio2h,a1
+[ ]+[0-9a-f]+:[ ]+21402573[ ]+csrr[ ]+a0,vsieh
+[ ]+[0-9a-f]+:[ ]+21459073[ ]+csrw[ ]+vsieh,a1
+[ ]+[0-9a-f]+:[ ]+25402573[ ]+csrr[ ]+a0,vsiph
+[ ]+[0-9a-f]+:[ ]+25459073[ ]+csrw[ ]+vsiph,a1
+[ ]+[0-9a-f]+:[ ]+12002573[ ]+csrr[ ]+a0,scountinhibit
+[ ]+[0-9a-f]+:[ ]+12059073[ ]+csrw[ ]+scountinhibit,a1
+[ ]+[0-9a-f]+:[ ]+01102573[ ]+csrr[ ]+a0,ssp
+[ ]+[0-9a-f]+:[ ]+01159073[ ]+csrw[ ]+ssp,a1
+[ ]+[0-9a-f]+:[ ]+15002573[ ]+csrr[ ]+a0,siselect
+[ ]+[0-9a-f]+:[ ]+15059073[ ]+csrw[ ]+siselect,a1
+[ ]+[0-9a-f]+:[ ]+15102573[ ]+csrr[ ]+a0,sireg
+[ ]+[0-9a-f]+:[ ]+15159073[ ]+csrw[ ]+sireg,a1
+[ ]+[0-9a-f]+:[ ]+15202573[ ]+csrr[ ]+a0,sireg2
+[ ]+[0-9a-f]+:[ ]+15259073[ ]+csrw[ ]+sireg2,a1
+[ ]+[0-9a-f]+:[ ]+15302573[ ]+csrr[ ]+a0,sireg3
+[ ]+[0-9a-f]+:[ ]+15359073[ ]+csrw[ ]+sireg3,a1
+[ ]+[0-9a-f]+:[ ]+15502573[ ]+csrr[ ]+a0,sireg4
+[ ]+[0-9a-f]+:[ ]+15559073[ ]+csrw[ ]+sireg4,a1
+[ ]+[0-9a-f]+:[ ]+15602573[ ]+csrr[ ]+a0,sireg5
+[ ]+[0-9a-f]+:[ ]+15659073[ ]+csrw[ ]+sireg5,a1
+[ ]+[0-9a-f]+:[ ]+15702573[ ]+csrr[ ]+a0,sireg6
+[ ]+[0-9a-f]+:[ ]+15759073[ ]+csrw[ ]+sireg6,a1
+[ ]+[0-9a-f]+:[ ]+25002573[ ]+csrr[ ]+a0,vsiselect
+[ ]+[0-9a-f]+:[ ]+25059073[ ]+csrw[ ]+vsiselect,a1
+[ ]+[0-9a-f]+:[ ]+25102573[ ]+csrr[ ]+a0,vsireg
+[ ]+[0-9a-f]+:[ ]+25159073[ ]+csrw[ ]+vsireg,a1
+[ ]+[0-9a-f]+:[ ]+25202573[ ]+csrr[ ]+a0,vsireg2
+[ ]+[0-9a-f]+:[ ]+25259073[ ]+csrw[ ]+vsireg2,a1
+[ ]+[0-9a-f]+:[ ]+25302573[ ]+csrr[ ]+a0,vsireg3
+[ ]+[0-9a-f]+:[ ]+25359073[ ]+csrw[ ]+vsireg3,a1
+[ ]+[0-9a-f]+:[ ]+25502573[ ]+csrr[ ]+a0,vsireg4
+[ ]+[0-9a-f]+:[ ]+25559073[ ]+csrw[ ]+vsireg4,a1
+[ ]+[0-9a-f]+:[ ]+25602573[ ]+csrr[ ]+a0,vsireg5
+[ ]+[0-9a-f]+:[ ]+25659073[ ]+csrw[ ]+vsireg5,a1
+[ ]+[0-9a-f]+:[ ]+25702573[ ]+csrr[ ]+a0,vsireg6
+[ ]+[0-9a-f]+:[ ]+25759073[ ]+csrw[ ]+vsireg6,a1
+[ ]+[0-9a-f]+:[ ]+da002573[ ]+csrr[ ]+a0,scountovf
+[ ]+[0-9a-f]+:[ ]+da059073[ ]+csrw[ ]+scountovf,a1
+[ ]+[0-9a-f]+:[ ]+72302573[ ]+csrr[ ]+a0,mhpmevent3h
+[ ]+[0-9a-f]+:[ ]+72359073[ ]+csrw[ ]+mhpmevent3h,a1
+[ ]+[0-9a-f]+:[ ]+72402573[ ]+csrr[ ]+a0,mhpmevent4h
+[ ]+[0-9a-f]+:[ ]+72459073[ ]+csrw[ ]+mhpmevent4h,a1
+[ ]+[0-9a-f]+:[ ]+72502573[ ]+csrr[ ]+a0,mhpmevent5h
+[ ]+[0-9a-f]+:[ ]+72559073[ ]+csrw[ ]+mhpmevent5h,a1
+[ ]+[0-9a-f]+:[ ]+72602573[ ]+csrr[ ]+a0,mhpmevent6h
+[ ]+[0-9a-f]+:[ ]+72659073[ ]+csrw[ ]+mhpmevent6h,a1
+[ ]+[0-9a-f]+:[ ]+72702573[ ]+csrr[ ]+a0,mhpmevent7h
+[ ]+[0-9a-f]+:[ ]+72759073[ ]+csrw[ ]+mhpmevent7h,a1
+[ ]+[0-9a-f]+:[ ]+72802573[ ]+csrr[ ]+a0,mhpmevent8h
+[ ]+[0-9a-f]+:[ ]+72859073[ ]+csrw[ ]+mhpmevent8h,a1
+[ ]+[0-9a-f]+:[ ]+72902573[ ]+csrr[ ]+a0,mhpmevent9h
+[ ]+[0-9a-f]+:[ ]+72959073[ ]+csrw[ ]+mhpmevent9h,a1
+[ ]+[0-9a-f]+:[ ]+72a02573[ ]+csrr[ ]+a0,mhpmevent10h
+[ ]+[0-9a-f]+:[ ]+72a59073[ ]+csrw[ ]+mhpmevent10h,a1
+[ ]+[0-9a-f]+:[ ]+72b02573[ ]+csrr[ ]+a0,mhpmevent11h
+[ ]+[0-9a-f]+:[ ]+72b59073[ ]+csrw[ ]+mhpmevent11h,a1
+[ ]+[0-9a-f]+:[ ]+72c02573[ ]+csrr[ ]+a0,mhpmevent12h
+[ ]+[0-9a-f]+:[ ]+72c59073[ ]+csrw[ ]+mhpmevent12h,a1
+[ ]+[0-9a-f]+:[ ]+72d02573[ ]+csrr[ ]+a0,mhpmevent13h
+[ ]+[0-9a-f]+:[ ]+72d59073[ ]+csrw[ ]+mhpmevent13h,a1
+[ ]+[0-9a-f]+:[ ]+72e02573[ ]+csrr[ ]+a0,mhpmevent14h
+[ ]+[0-9a-f]+:[ ]+72e59073[ ]+csrw[ ]+mhpmevent14h,a1
+[ ]+[0-9a-f]+:[ ]+72f02573[ ]+csrr[ ]+a0,mhpmevent15h
+[ ]+[0-9a-f]+:[ ]+72f59073[ ]+csrw[ ]+mhpmevent15h,a1
+[ ]+[0-9a-f]+:[ ]+73002573[ ]+csrr[ ]+a0,mhpmevent16h
+[ ]+[0-9a-f]+:[ ]+73059073[ ]+csrw[ ]+mhpmevent16h,a1
+[ ]+[0-9a-f]+:[ ]+73102573[ ]+csrr[ ]+a0,mhpmevent17h
+[ ]+[0-9a-f]+:[ ]+73159073[ ]+csrw[ ]+mhpmevent17h,a1
+[ ]+[0-9a-f]+:[ ]+73202573[ ]+csrr[ ]+a0,mhpmevent18h
+[ ]+[0-9a-f]+:[ ]+73259073[ ]+csrw[ ]+mhpmevent18h,a1
+[ ]+[0-9a-f]+:[ ]+73302573[ ]+csrr[ ]+a0,mhpmevent19h
+[ ]+[0-9a-f]+:[ ]+73359073[ ]+csrw[ ]+mhpmevent19h,a1
+[ ]+[0-9a-f]+:[ ]+73402573[ ]+csrr[ ]+a0,mhpmevent20h
+[ ]+[0-9a-f]+:[ ]+73459073[ ]+csrw[ ]+mhpmevent20h,a1
+[ ]+[0-9a-f]+:[ ]+73502573[ ]+csrr[ ]+a0,mhpmevent21h
+[ ]+[0-9a-f]+:[ ]+73559073[ ]+csrw[ ]+mhpmevent21h,a1
+[ ]+[0-9a-f]+:[ ]+73602573[ ]+csrr[ ]+a0,mhpmevent22h
+[ ]+[0-9a-f]+:[ ]+73659073[ ]+csrw[ ]+mhpmevent22h,a1
+[ ]+[0-9a-f]+:[ ]+73702573[ ]+csrr[ ]+a0,mhpmevent23h
+[ ]+[0-9a-f]+:[ ]+73759073[ ]+csrw[ ]+mhpmevent23h,a1
+[ ]+[0-9a-f]+:[ ]+73802573[ ]+csrr[ ]+a0,mhpmevent24h
+[ ]+[0-9a-f]+:[ ]+73859073[ ]+csrw[ ]+mhpmevent24h,a1
+[ ]+[0-9a-f]+:[ ]+73902573[ ]+csrr[ ]+a0,mhpmevent25h
+[ ]+[0-9a-f]+:[ ]+73959073[ ]+csrw[ ]+mhpmevent25h,a1
+[ ]+[0-9a-f]+:[ ]+73a02573[ ]+csrr[ ]+a0,mhpmevent26h
+[ ]+[0-9a-f]+:[ ]+73a59073[ ]+csrw[ ]+mhpmevent26h,a1
+[ ]+[0-9a-f]+:[ ]+73b02573[ ]+csrr[ ]+a0,mhpmevent27h
+[ ]+[0-9a-f]+:[ ]+73b59073[ ]+csrw[ ]+mhpmevent27h,a1
+[ ]+[0-9a-f]+:[ ]+73c02573[ ]+csrr[ ]+a0,mhpmevent28h
+[ ]+[0-9a-f]+:[ ]+73c59073[ ]+csrw[ ]+mhpmevent28h,a1
+[ ]+[0-9a-f]+:[ ]+73d02573[ ]+csrr[ ]+a0,mhpmevent29h
+[ ]+[0-9a-f]+:[ ]+73d59073[ ]+csrw[ ]+mhpmevent29h,a1
+[ ]+[0-9a-f]+:[ ]+73e02573[ ]+csrr[ ]+a0,mhpmevent30h
+[ ]+[0-9a-f]+:[ ]+73e59073[ ]+csrw[ ]+mhpmevent30h,a1
+[ ]+[0-9a-f]+:[ ]+73f02573[ ]+csrr[ ]+a0,mhpmevent31h
+[ ]+[0-9a-f]+:[ ]+73f59073[ ]+csrw[ ]+mhpmevent31h,a1
+[ ]+[0-9a-f]+:[ ]+14d02573[ ]+csrr[ ]+a0,stimecmp
+[ ]+[0-9a-f]+:[ ]+14d59073[ ]+csrw[ ]+stimecmp,a1
+[ ]+[0-9a-f]+:[ ]+15d02573[ ]+csrr[ ]+a0,stimecmph
+[ ]+[0-9a-f]+:[ ]+15d59073[ ]+csrw[ ]+stimecmph,a1
+[ ]+[0-9a-f]+:[ ]+24d02573[ ]+csrr[ ]+a0,vstimecmp
+[ ]+[0-9a-f]+:[ ]+24d59073[ ]+csrw[ ]+vstimecmp,a1
+[ ]+[0-9a-f]+:[ ]+25d02573[ ]+csrr[ ]+a0,vstimecmph
+[ ]+[0-9a-f]+:[ ]+25d59073[ ]+csrw[ ]+vstimecmph,a1
+[ ]+[0-9a-f]+:[ ]+14e02573[ ]+csrr[ ]+a0,sctrctl
+[ ]+[0-9a-f]+:[ ]+14e59073[ ]+csrw[ ]+sctrctl,a1
+[ ]+[0-9a-f]+:[ ]+14f02573[ ]+csrr[ ]+a0,sctrstatus
+[ ]+[0-9a-f]+:[ ]+14f59073[ ]+csrw[ ]+sctrstatus,a1
+[ ]+[0-9a-f]+:[ ]+15f02573[ ]+csrr[ ]+a0,sctrdepth
+[ ]+[0-9a-f]+:[ ]+15f59073[ ]+csrw[ ]+sctrdepth,a1
+[ ]+[0-9a-f]+:[ ]+24e02573[ ]+csrr[ ]+a0,vsctrctl
+[ ]+[0-9a-f]+:[ ]+24e59073[ ]+csrw[ ]+vsctrctl,a1
+[ ]+[0-9a-f]+:[ ]+34e02573[ ]+csrr[ ]+a0,mctrctl
+[ ]+[0-9a-f]+:[ ]+34e59073[ ]+csrw[ ]+mctrctl,a1
+[ ]+[0-9a-f]+:[ ]+00002573[ ]+csrr[ ]+a0,0x0
+[ ]+[0-9a-f]+:[ ]+00059073[ ]+csrw[ ]+0x0,a1
+[ ]+[0-9a-f]+:[ ]+00402573[ ]+csrr[ ]+a0,0x4
+[ ]+[0-9a-f]+:[ ]+00459073[ ]+csrw[ ]+0x4,a1
+[ ]+[0-9a-f]+:[ ]+00502573[ ]+csrr[ ]+a0,0x5
+[ ]+[0-9a-f]+:[ ]+00559073[ ]+csrw[ ]+0x5,a1
+[ ]+[0-9a-f]+:[ ]+04002573[ ]+csrr[ ]+a0,0x40
+[ ]+[0-9a-f]+:[ ]+04059073[ ]+csrw[ ]+0x40,a1
+[ ]+[0-9a-f]+:[ ]+04102573[ ]+csrr[ ]+a0,0x41
+[ ]+[0-9a-f]+:[ ]+04159073[ ]+csrw[ ]+0x41,a1
+[ ]+[0-9a-f]+:[ ]+04202573[ ]+csrr[ ]+a0,0x42
+[ ]+[0-9a-f]+:[ ]+04259073[ ]+csrw[ ]+0x42,a1
+[ ]+[0-9a-f]+:[ ]+04302573[ ]+csrr[ ]+a0,0x43
+[ ]+[0-9a-f]+:[ ]+04359073[ ]+csrw[ ]+0x43,a1
+[ ]+[0-9a-f]+:[ ]+04402573[ ]+csrr[ ]+a0,0x44
+[ ]+[0-9a-f]+:[ ]+04459073[ ]+csrw[ ]+0x44,a1
+[ ]+[0-9a-f]+:[ ]+10202573[ ]+csrr[ ]+a0,0x102
+[ ]+[0-9a-f]+:[ ]+10259073[ ]+csrw[ ]+0x102,a1
+[ ]+[0-9a-f]+:[ ]+10302573[ ]+csrr[ ]+a0,0x103
+[ ]+[0-9a-f]+:[ ]+10359073[ ]+csrw[ ]+0x103,a1
+[ ]+[0-9a-f]+:[ ]+00102573[ ]+csrr[ ]+a0,fflags
+[ ]+[0-9a-f]+:[ ]+00159073[ ]+csrw[ ]+fflags,a1
+[ ]+[0-9a-f]+:[ ]+00202573[ ]+csrr[ ]+a0,frm
+[ ]+[0-9a-f]+:[ ]+00259073[ ]+csrw[ ]+frm,a1
+[ ]+[0-9a-f]+:[ ]+00302573[ ]+csrr[ ]+a0,fcsr
+[ ]+[0-9a-f]+:[ ]+00359073[ ]+csrw[ ]+fcsr,a1
+[ ]+[0-9a-f]+:[ ]+7b002573[ ]+csrr[ ]+a0,dcsr
+[ ]+[0-9a-f]+:[ ]+7b059073[ ]+csrw[ ]+dcsr,a1
+[ ]+[0-9a-f]+:[ ]+7b102573[ ]+csrr[ ]+a0,dpc
+[ ]+[0-9a-f]+:[ ]+7b159073[ ]+csrw[ ]+dpc,a1
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch0
+[ ]+[0-9a-f]+:[ ]+7b259073[ ]+csrw[ ]+dscratch0,a1
+[ ]+[0-9a-f]+:[ ]+7b302573[ ]+csrr[ ]+a0,dscratch1
+[ ]+[0-9a-f]+:[ ]+7b359073[ ]+csrw[ ]+dscratch1,a1
+[ ]+[0-9a-f]+:[ ]+7b202573[ ]+csrr[ ]+a0,dscratch0
+[ ]+[0-9a-f]+:[ ]+7b259073[ ]+csrw[ ]+dscratch0,a1
+[ ]+[0-9a-f]+:[ ]+7a002573[ ]+csrr[ ]+a0,tselect
+[ ]+[0-9a-f]+:[ ]+7a059073[ ]+csrw[ ]+tselect,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a202573[ ]+csrr[ ]+a0,tdata2
+[ ]+[0-9a-f]+:[ ]+7a259073[ ]+csrw[ ]+tdata2,a1
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7a359073[ ]+csrw[ ]+tdata3,a1
+[ ]+[0-9a-f]+:[ ]+7a402573[ ]+csrr[ ]+a0,tinfo
+[ ]+[0-9a-f]+:[ ]+7a459073[ ]+csrw[ ]+tinfo,a1
+[ ]+[0-9a-f]+:[ ]+7a502573[ ]+csrr[ ]+a0,tcontrol
+[ ]+[0-9a-f]+:[ ]+7a559073[ ]+csrw[ ]+tcontrol,a1
+[ ]+[0-9a-f]+:[ ]+6a802573[ ]+csrr[ ]+a0,hcontext
+[ ]+[0-9a-f]+:[ ]+6a859073[ ]+csrw[ ]+hcontext,a1
+[ ]+[0-9a-f]+:[ ]+5a802573[ ]+csrr[ ]+a0,scontext
+[ ]+[0-9a-f]+:[ ]+5a859073[ ]+csrw[ ]+scontext,a1
+[ ]+[0-9a-f]+:[ ]+7a802573[ ]+csrr[ ]+a0,mcontext
+[ ]+[0-9a-f]+:[ ]+7a859073[ ]+csrw[ ]+mcontext,a1
+[ ]+[0-9a-f]+:[ ]+7aa02573[ ]+csrr[ ]+a0,mscontext
+[ ]+[0-9a-f]+:[ ]+7aa59073[ ]+csrw[ ]+mscontext,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a102573[ ]+csrr[ ]+a0,tdata1
+[ ]+[0-9a-f]+:[ ]+7a159073[ ]+csrw[ ]+tdata1,a1
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7a359073[ ]+csrw[ ]+tdata3,a1
+[ ]+[0-9a-f]+:[ ]+7a302573[ ]+csrr[ ]+a0,tdata3
+[ ]+[0-9a-f]+:[ ]+7a359073[ ]+csrw[ ]+tdata3,a1
+[ ]+[0-9a-f]+:[ ]+01502573[ ]+csrr[ ]+a0,seed
+[ ]+[0-9a-f]+:[ ]+01559073[ ]+csrw[ ]+seed,a1
+[ ]+[0-9a-f]+:[ ]+00802573[ ]+csrr[ ]+a0,vstart
+[ ]+[0-9a-f]+:[ ]+00859073[ ]+csrw[ ]+vstart,a1
+[ ]+[0-9a-f]+:[ ]+00902573[ ]+csrr[ ]+a0,vxsat
+[ ]+[0-9a-f]+:[ ]+00959073[ ]+csrw[ ]+vxsat,a1
+[ ]+[0-9a-f]+:[ ]+00a02573[ ]+csrr[ ]+a0,vxrm
+[ ]+[0-9a-f]+:[ ]+00a59073[ ]+csrw[ ]+vxrm,a1
+[ ]+[0-9a-f]+:[ ]+00f02573[ ]+csrr[ ]+a0,vcsr
+[ ]+[0-9a-f]+:[ ]+00f59073[ ]+csrw[ ]+vcsr,a1
+[ ]+[0-9a-f]+:[ ]+c2002573[ ]+csrr[ ]+a0,vl
+[ ]+[0-9a-f]+:[ ]+c2059073[ ]+csrw[ ]+vl,a1
+[ ]+[0-9a-f]+:[ ]+c2102573[ ]+csrr[ ]+a0,vtype
+[ ]+[0-9a-f]+:[ ]+c2159073[ ]+csrw[ ]+vtype,a1
+[ ]+[0-9a-f]+:[ ]+c2202573[ ]+csrr[ ]+a0,vlenb
+[ ]+[0-9a-f]+:[ ]+c2259073[ ]+csrw[ ]+vlenb,a1
+[ ]+[0-9a-f]+:[ ]+01702573[ ]+csrr[ ]+a0,jvt
+[ ]+[0-9a-f]+:[ ]+01759073[ ]+csrw[ ]+jvt,a1
+[ ]+[0-9a-f]+:[ ]+18102573[ ]+csrr[ ]+a0,srmcfg
+[ ]+[0-9a-f]+:[ ]+18159073[ ]+csrw[ ]+srmcfg,a1
diff --git a/gas/testsuite/gas/riscv/csr-version-1p13.l b/gas/testsuite/gas/riscv/csr-version-1p13.l
new file mode 100644
index 0000000..a705581
--- /dev/null
+++ b/gas/testsuite/gas/riscv/csr-version-1p13.l
@@ -0,0 +1,1499 @@
+.*Assembler messages:
+.*Warning: read-only CSR is written `csrw cycle,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw time,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw instret,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter3,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter4,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter5,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter6,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter7,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter8,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter9,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter10,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter11,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter12,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter13,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter14,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter15,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter16,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter17,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter18,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter19,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter20,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter21,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter22,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter23,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter24,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter25,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter26,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter27,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter28,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter29,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter30,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter31,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `cycleh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `cycleh', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw cycleh,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `timeh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `timeh', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw timeh,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `instreth', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `instreth', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw instreth,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter3h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter4h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter4h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter4h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter5h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter5h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter5h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter6h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter6h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter6h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter7h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter7h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter7h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter8h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter8h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter8h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter9h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter9h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter9h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter10h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter10h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter10h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter11h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter11h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter11h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter12h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter12h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter12h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter13h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter13h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter13h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter14h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter14h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter14h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter15h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter15h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter15h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter16h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter16h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter16h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter17h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter17h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter17h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter18h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter18h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter18h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter19h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter19h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter19h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter20h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter20h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter20h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter21h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter21h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter21h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter22h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter22h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter22h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter23h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter23h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter23h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter24h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter24h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter24h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter25h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter25h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter25h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter26h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter26h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter26h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter27h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter27h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter27h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter28h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter28h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter28h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter29h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter29h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter29h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter30h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter30h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter30h,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter31h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hpmcounter31h', needs rv32i extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hpmcounter31h,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw mvendorid,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw marchid,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw mimpid,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw mhartid,a1'
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw mconfigptr,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `medelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstatush', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstatush', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `menvcfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `menvcfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mseccfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mseccfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg1', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg1', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg3', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg3', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg5', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg5', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg7', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg7', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg9', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg9', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg11', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg11', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg13', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg13', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg15', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `pmpcfg15', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcycleh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcycleh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstreth', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstreth', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter4h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter4h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter5h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter5h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter6h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter6h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter7h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter7h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter8h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter8h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter9h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter9h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter10h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter10h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter11h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter11h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter12h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter12h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter13h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter13h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter14h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter14h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter15h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter15h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter16h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter16h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter17h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter17h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter18h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter18h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter19h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter19h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter20h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter20h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter21h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter21h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter22h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter22h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter23h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter23h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter24h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter24h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter25h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter25h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter26h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter26h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter27h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter27h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter28h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter28h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter29h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter29h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter30h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter30h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter31h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmcounter31h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstatus', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstatus', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedeleg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedeleg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hedelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hideleg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hideleg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hie', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hie', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hcounteren', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hcounteren', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hgeie', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hgeie', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htval', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htval', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htinst', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htinst', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hgeip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hgeip', needs `h' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw hgeip,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `henvcfg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `henvcfg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `henvcfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `henvcfgh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `henvcfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `henvcfgh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hgatp', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hgatp', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htimedelta', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htimedelta', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htimedeltah', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `htimedeltah', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `htimedeltah', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `htimedeltah', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsstatus', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsstatus', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsie', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsie', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstvec', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstvec', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsscratch', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsscratch', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsepc', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsepc', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vscause', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vscause', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstval', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstval', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsip', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsatp', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsatp', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mtopei', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mtopi', needs `smaia' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw mtopi,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvien', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvip', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `midelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `midelegh', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mieh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mieh', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvienh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mvienh', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mviph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mviph', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `miph', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `miph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `miph', needs `smaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `miselect', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg', needs `smaia or smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg2', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg2', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg3', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg3', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg4', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg4', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg5', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg5', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg6', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mireg6', needs `smcsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcyclecfg', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstretcfg', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstretcfg', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcyclecfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcyclecfgh', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcyclecfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mcyclecfgh', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstretcfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstretcfgh', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstretcfgh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `minstretcfgh', needs `smcntrpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mnepc', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mnepc', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mncause', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mncause', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mnscratch', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mnscratch', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mnstatus', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mnstatus', needs `smrnmi' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen0', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen1', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen1', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen2', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen2', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen3', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen3', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen0', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen0', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen1', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen1', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen2', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen2', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen3', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sstateen3', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen0h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen0h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen0h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen0h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen1h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen1h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen1h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen1h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen2h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen2h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen2h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen2h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen3h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mstateen3h', needs `smstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen0h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen1h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen2h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hstateen3h', needs `ssstateen' extension
+.*Info: macro .*
+.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stopei', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stopi', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw stopi,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sieh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `sieh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `siph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `siph', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvien', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvien', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvictl', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvictl', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopei', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopei', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopi', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstopi', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw vstopi,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hidelegh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hidelegh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hidelegh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvienh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvienh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hvienh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviph', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviph', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio1h', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2h', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `hviprio2h', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsieh', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsieh', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsieh', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiph', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiph', needs `ssaia' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountinhibit', needs `ssccfg' extension
+.*Info: macro .*
+.*Warning: invalid CSR `ssp', needs `zicfiss' extension
+.*Info: macro .*
+.*Warning: invalid CSR `ssp', needs `zicfiss' extension
+.*Info: macro .*
+.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `siselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg2', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg2', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg3', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg3', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg4', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg4', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg5', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg5', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg6', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sireg6', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsiselect', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg', needs `ssaia or sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg2', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg2', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg2', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg3', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg3', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg3', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg4', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg4', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg4', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg5', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg5', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg5', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg6', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg6', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsireg6', needs `sscsrind' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `scountovf', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw scountovf,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent3h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent3h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent3h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent4h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent4h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent4h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent4h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent5h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent5h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent5h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent5h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent6h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent6h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent6h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent6h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent7h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent7h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent7h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent7h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent8h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent8h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent8h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent8h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent9h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent9h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent9h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent9h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent10h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent10h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent10h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent10h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent11h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent11h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent11h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent11h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent12h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent12h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent12h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent12h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent13h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent13h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent13h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent13h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent14h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent14h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent14h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent14h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent15h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent15h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent15h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent15h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent16h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent16h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent16h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent16h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent17h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent17h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent17h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent17h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent18h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent18h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent18h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent18h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent19h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent19h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent19h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent19h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent20h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent20h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent20h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent20h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent21h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent21h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent21h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent21h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent22h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent22h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent22h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent22h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent23h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent23h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent23h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent23h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent24h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent24h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent24h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent24h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent25h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent25h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent25h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent25h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent26h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent26h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent26h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent26h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent27h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent27h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent27h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent27h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent28h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent28h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent28h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent28h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent29h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent29h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent29h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent29h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent30h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent30h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent30h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent30h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent31h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent31h', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `mhpmevent31h', needs `sscofpmf' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stimecmp', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stimecmp', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stimecmph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `stimecmph', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `stimecmph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `stimecmph', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmp', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmp', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmp', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmp', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmph', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmph', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmph', needs rv32i extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmph', needs `h' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstimecmph', needs `sstc' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sctrctl', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sctrctl', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sctrstatus', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sctrstatus', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sctrdepth', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `sctrdepth', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsctrctl', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vsctrctl', needs `ssctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mctrctl', needs `smctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `mctrctl', needs `smctr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `ustatus' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `ustatus' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uie' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uie' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `utvec' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `utvec' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uscratch' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uscratch' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uepc' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uepc' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `ucause' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `ucause' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `utval' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `utval' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uip' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `uip' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `sedeleg' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `sedeleg' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `sideleg' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `sideleg' for the privileged spec `1.13'
+.*Info: macro .*
+.*Warning: invalid CSR `fflags', needs `f' extension
+.*Info: macro .*
+.*Warning: invalid CSR `fflags', needs `f' extension
+.*Info: macro .*
+.*Warning: invalid CSR `frm', needs `f' extension
+.*Info: macro .*
+.*Warning: invalid CSR `frm', needs `f' extension
+.*Info: macro .*
+.*Warning: invalid CSR `fcsr', needs `f' extension
+.*Info: macro .*
+.*Warning: invalid CSR `fcsr', needs `f' extension
+.*Info: macro .*
+.*Warning: invalid CSR `seed', needs `zkr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `seed', needs `zkr' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstart', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vstart', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vxsat', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vxsat', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vxrm', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vxrm', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vcsr', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vcsr', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vl', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vl', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw vl,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `vtype', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vtype', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw vtype,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `vlenb', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: invalid CSR `vlenb', needs `zve32x' extension
+.*Info: macro .*
+.*Warning: read-only CSR is written `csrw vlenb,a1'
+.*Info: macro .*
+.*Warning: invalid CSR `jvt', needs `zcmt' extension
+.*Info: macro .*
+.*Warning: invalid CSR `jvt', needs `zcmt' extension
+.*Info: macro .*
+.*Warning: invalid CSR `srmcfg', needs `ssqosid' extension
+.*Info: macro .*
+.*Warning: invalid CSR `srmcfg', needs `ssqosid' extension
+.*Info: macro .*
diff --git a/gas/testsuite/gas/riscv/csr.s b/gas/testsuite/gas/riscv/csr.s
index 6244bd7..7920644 100644
--- a/gas/testsuite/gas/riscv/csr.s
+++ b/gas/testsuite/gas/riscv/csr.s
@@ -3,7 +3,7 @@
csrw \val, a1
.endm
- # Supported privileged specs, 1.10, 1.11 and 1.12.
+ # Supported privileged specs, 1.10, 1.11, 1.12 and 1.13.
# User Counter/Timers
csr cycle
@@ -101,6 +101,7 @@
csr mstatus
csr misa
csr medeleg
+ csr medelegh # Added in 1.13
csr mideleg
csr mie
csr mtvec
@@ -303,6 +304,7 @@
# Hypervisor Trap Setup
csr hstatus
csr hedeleg
+ csr hedelegh # Added in 1.13
csr hideleg
csr hie
csr hcounteren
@@ -416,6 +418,9 @@
csr vsieh
csr vsiph
+ # Ssccfg or Smcdeleg
+ csr scountinhibit
+
# Zicfiss
csr ssp
diff --git a/gas/testsuite/gas/riscv/imply.d b/gas/testsuite/gas/riscv/imply.d
index 78ff200..b68da92 100644
--- a/gas/testsuite/gas/riscv/imply.d
+++ b/gas/testsuite/gas/riscv/imply.d
@@ -22,6 +22,8 @@ SYMBOL TABLE:
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_zve32x1p0_zvl128b1p0_zvl256b1p0_zvl32b1p0_zvl64b1p0_xsfvqmaccqoq1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_zve32x1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0_xsfvqmaccdod1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_f2p2_zicsr2p0_zve32f1p0_zve32x1p0_zvl32b1p0_xsfvfnrclipxfqf1p0
+[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_xtheadvector1p0
+[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zaamo1p0_xtheadzvamo1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_f2p2_d2p2_v1p0_zicsr2p0_zve32f1p0_zve32x1p0_zve64d1p0_zve64f1p0_zve64x1p0_zvl128b1p0_zvl32b1p0_zvl64b1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_f2p2_zicsr2p0_zfhmin1p0_zve32f1p0_zve32x1p0_zvfh1p0_zvfhmin1p0_zvl32b1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_f2p2_zicsr2p0_zve32f1p0_zve32x1p0_zvfhmin1p0_zvl32b1p0
@@ -51,6 +53,7 @@ SYMBOL TABLE:
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_zca1p0_zcmt1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicfilp1p0_zicsr2p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicfiss1p0_zicsr2p0_zimop1p0
+[0-9a-f]+ l .text 0+000 \$xrv32i2p1_h1p0_zicsr2p0_sha1p0_shcounterenw1p0_shgatpa1p0_shtvala1p0_shvsatpa1p0_shvstvala1p0_shvstvecd1p0_ssstateen1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_h1p0_zicsr2p0_shcounterenw1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_h1p0_zicsr2p0_shgatpa1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_h1p0_zicsr2p0_shtvala1p0
@@ -82,12 +85,15 @@ SYMBOL TABLE:
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zvbc1p0_zvkb1p0_zvks1p0_zvksc1p0_zvksed1p0_zvksh1p0_zvkt1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zvkb1p0_zvks1p0_zvksed1p0_zvksh1p0_zvkt1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smaia1p0_ssaia1p0
+[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smcdeleg1p0_ssccfg1p0_sscsrind1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smcsrind1p0_sscsrind1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smcntrpmf1p0
+[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smrnmi1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smstateen1p0_ssstateen1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smepmp1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_smdbltrp1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_ssaia1p0
+[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_ssccfg1p0_sscsrind1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_sscsrind1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_sscofpmf1p0
[0-9a-f]+ l .text 0+000 \$xrv32i2p1_zicsr2p0_sscounterenw1p0
diff --git a/gas/testsuite/gas/riscv/imply.s b/gas/testsuite/gas/riscv/imply.s
index d696b52..35c68d3 100644
--- a/gas/testsuite/gas/riscv/imply.s
+++ b/gas/testsuite/gas/riscv/imply.s
@@ -25,6 +25,9 @@ imply xsfvqmaccqoq
imply xsfvqmaccdod
imply xsfvfnrclipxfqf
+imply xtheadvector
+imply xtheadzvamo
+
imply v
imply zvfh
imply zvfhmin
@@ -57,6 +60,8 @@ imply zcmt
imply zicfilp
imply zicfiss
+imply sha
+
imply shcounterenw
imply shgatpa
imply shtvala
@@ -94,13 +99,16 @@ imply zvksc
imply zvks
imply smaia
+imply smcdeleg
imply smcsrind
imply smcntrpmf
+imply smrnmi
imply smstateen
imply smepmp
imply smdbltrp
imply ssaia
+imply ssccfg
imply sscsrind
imply sscofpmf
imply sscounterenw
diff --git a/gas/testsuite/gas/riscv/l-s-macro-zilsd.d b/gas/testsuite/gas/riscv/l-s-macro-zilsd.d
new file mode 100644
index 0000000..c05bae6
--- /dev/null
+++ b/gas/testsuite/gas/riscv/l-s-macro-zilsd.d
@@ -0,0 +1,53 @@
+#as: -march=rv32i_zilsd
+#name: Lx/Sx macro insns for Zilsd
+#source: l-s-macro.s
+#objdump: -dwr
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+ <L>:
+[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00050503[ ]+lb[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00054503[ ]+lbu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00051503[ ]+lh[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00055503[ ]+lhu[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00052503[ ]+lw[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000517[ ]+auipc[ ]+a0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00053503[ ]+ld[ ]+a0,0\(a0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_I[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+
+[0-9a-f]+ <S>:
+[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+bval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00a28023[ ]+sb[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+hval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00a29023[ ]+sh[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+wval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00a2a023[ ]+sw[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00000297[ ]+auipc[ ]+t0,0x0[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_HI20[ ]+dval
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
+[ ]+[0-9a-f]+:[ ]+00a2b023[ ]+sd[ ]+a0,0\(t0\) # [0-9a-f]+( <.*>)?[ ]+[0-9a-f]+:[ ]+R_RISCV_PCREL_LO12_S[ ]+.*
+[ ]+[0-9a-f]+:[ ]+R_RISCV_RELAX.*
diff --git a/gas/testsuite/gas/riscv/l-s-macro.d b/gas/testsuite/gas/riscv/l-s-macro.d
index d6e5993..93753ba 100644
--- a/gas/testsuite/gas/riscv/l-s-macro.d
+++ b/gas/testsuite/gas/riscv/l-s-macro.d
@@ -1,4 +1,4 @@
-#as: -march=rv64i
+#as: -march=rv64i -defsym __64_bit__=1
#name: Lx/Sx macro insns
#objdump: -dwr
diff --git a/gas/testsuite/gas/riscv/l-s-macro.s b/gas/testsuite/gas/riscv/l-s-macro.s
index 316adc4..d46d3b6 100644
--- a/gas/testsuite/gas/riscv/l-s-macro.s
+++ b/gas/testsuite/gas/riscv/l-s-macro.s
@@ -4,7 +4,9 @@ L:
lh a0, hval
lhu a0, hval
lw a0, wval
+.ifdef __64_bit__
lwu a0, wval
+.endif
ld a0, dval
S:
diff --git a/gas/testsuite/gas/riscv/march-fail-rvi20u64v.d b/gas/testsuite/gas/riscv/march-fail-rvi20u64v.d
new file mode 100644
index 0000000..175db99
--- /dev/null
+++ b/gas/testsuite/gas/riscv/march-fail-rvi20u64v.d
@@ -0,0 +1,3 @@
+#as: -march=rvi20u64v
+#source: empty.s
+#warning_output: march-fail-rvi20u64v.l
diff --git a/gas/testsuite/gas/riscv/march-fail-rvi20u64v.l b/gas/testsuite/gas/riscv/march-fail-rvi20u64v.l
new file mode 100644
index 0000000..ef27179
--- /dev/null
+++ b/gas/testsuite/gas/riscv/march-fail-rvi20u64v.l
@@ -0,0 +1 @@
+.*Warning: should use \"_\" to contact Profiles with other extensions
diff --git a/gas/testsuite/gas/riscv/march-help.l b/gas/testsuite/gas/riscv/march-help.l
index d77472f..709ccff 100644
--- a/gas/testsuite/gas/riscv/march-help.l
+++ b/gas/testsuite/gas/riscv/march-help.l
@@ -28,6 +28,7 @@ All available -march extensions for RISC-V:
zimop 1.0
zicfiss 1.0
zicfilp 1.0
+ zilsd 1.0
zmmul 1.0
za64rs 1.0
za128rs 1.0
@@ -102,11 +103,14 @@ All available -march extensions for RISC-V:
ztso 1.0
zca 1.0
zcb 1.0
+ zce 1.0
zcf 1.0
zcd 1.0
zcmop 1.0
zcmp 1.0
zcmt 1.0
+ zclsd 1.0
+ sha 1.0
shcounterenw 1.0
shgatpa 1.0
shtvala 1.0
@@ -114,6 +118,7 @@ All available -march extensions for RISC-V:
shvstvala 1.0
shvstvecd 1.0
smaia 1.0
+ smcdeleg 1.0
smcsrind 1.0
smcntrpmf 1.0
smctr 1.0
@@ -122,6 +127,7 @@ All available -march extensions for RISC-V:
smstateen 1.0
smdbltrp 1.0
ssaia 1.0
+ ssccfg 1.0
ssccptr 1.0
sscsrind 1.0
sscofpmf 1.0
@@ -139,6 +145,7 @@ All available -march extensions for RISC-V:
svinval 1.0
svnapot 1.0
svpbmt 1.0
+ svvptc 1.0
ssqosid 1.0
ssnpm 1.0
smnpm 1.0
@@ -173,3 +180,7 @@ All available -march extensions for RISC-V:
xsfvqmaccqoq 1.0
xsfvqmaccdod 1.0
xsfvfnrclipxfqf 1.0
+ xmipscbop 1.0
+ xmipscmov 1.0
+ xmipsexectl 1.0
+ xmipslsp 1.0
diff --git a/gas/testsuite/gas/riscv/march-imply-zce-f-32.d b/gas/testsuite/gas/riscv/march-imply-zce-f-32.d
new file mode 100644
index 0000000..e0cca82
--- /dev/null
+++ b/gas/testsuite/gas/riscv/march-imply-zce-f-32.d
@@ -0,0 +1,6 @@
+#as: -march=rv32if_zce -march-attr -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv32i2p1_f2p2_zicsr2p0_zca1p0_zcb1p0_zce1p0_zcf1p0_zcmp1p0_zcmt1p0"
diff --git a/gas/testsuite/gas/riscv/march-imply-zce-f-64.d b/gas/testsuite/gas/riscv/march-imply-zce-f-64.d
new file mode 100644
index 0000000..f0ccd7a
--- /dev/null
+++ b/gas/testsuite/gas/riscv/march-imply-zce-f-64.d
@@ -0,0 +1,6 @@
+#as: -march=rv64if_zce -march-attr -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv64i2p1_f2p2_zicsr2p0_zca1p0_zcb1p0_zce1p0_zcmp1p0_zcmt1p0"
diff --git a/gas/testsuite/gas/riscv/march-imply-zce.d b/gas/testsuite/gas/riscv/march-imply-zce.d
new file mode 100644
index 0000000..fd1cd3f
--- /dev/null
+++ b/gas/testsuite/gas/riscv/march-imply-zce.d
@@ -0,0 +1,6 @@
+#as: -march=rv32i_zce -march-attr -misa-spec=20191213
+#readelf: -A
+#source: empty.s
+Attribute Section: riscv
+File Attributes
+ Tag_RISCV_arch: "rv32i2p1_zicsr2p0_zca1p0_zcb1p0_zce1p0_zcmp1p0_zcmt1p0"
diff --git a/gas/testsuite/gas/riscv/mips-insns.d b/gas/testsuite/gas/riscv/mips-insns.d
new file mode 100644
index 0000000..999c433
--- /dev/null
+++ b/gas/testsuite/gas/riscv/mips-insns.d
@@ -0,0 +1,31 @@
+#as:
+#objdump: -dr
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <.text>:
+[ ]+[0-9a-f]+:[ ]+0003000b[ ]+mips.pref[ ]+0x0,0x0\(t1\)
+[ ]+[0-9a-f]+:[ ]+1ff38f8b[ ]+mips.pref[ ]+0x1f,0x1ff\(t2\)
+[ ]+[0-9a-f]+:[ ]+6eb6350b[ ]+mips.ccmov[ ]+a0,a1,a2,a3
+[ ]+[0-9a-f]+:[ ]+00301013[ ]+mips.ehb
+[ ]+[0-9a-f]+:[ ]+00101013[ ]+mips.ihb
+[ ]+[0-9a-f]+:[ ]+00501013[ ]+mips.pause
+[ ]+[0-9a-f]+:[ ]+e80f4e0b[ ]+mips.ldp[ ]+t3,t4,0\(t5\)
+[ ]+[0-9a-f]+:[ ]+e88f4e0b[ ]+mips.ldp[ ]+t3,t4,8\(t5\)
+[ ]+[0-9a-f]+:[ ]+1f00cf8b[ ]+mips.ldp[ ]+t6,gp,112\(ra\)
+[ ]+[0-9a-f]+:[ ]+1f80cf8b[ ]+mips.ldp[ ]+t6,gp,120\(ra\)
+[ ]+[0-9a-f]+:[ ]+5816450b[ ]+mips.lwp[ ]+a0,a1,0\(a2\)
+[ ]+[0-9a-f]+:[ ]+5856450b[ ]+mips.lwp[ ]+a0,a1,4\(a2\)
+[ ]+[0-9a-f]+:[ ]+7797c68b[ ]+mips.lwp[ ]+a3,a4,120\(a5\)
+[ ]+[0-9a-f]+:[ ]+77d7c68b[ ]+mips.lwp[ ]+a3,a4,124\(a5\)
+[ ]+[0-9a-f]+:[ ]+e9cf500b[ ]+mips.sdp[ ]+t3,t4,0\(t5\)
+[ ]+[0-9a-f]+:[ ]+e9cf540b[ ]+mips.sdp[ ]+t3,t4,8\(t5\)
+[ ]+[0-9a-f]+:[ ]+1ff0d80b[ ]+mips.sdp[ ]+t6,gp,112\(ra\)
+[ ]+[0-9a-f]+:[ ]+1ff0dc0b[ ]+mips.sdp[ ]+t6,gp,120\(ra\)
+[ ]+[0-9a-f]+:[ ]+58a6508b[ ]+mips.swp[ ]+a0,a1,0\(a2\)
+[ ]+[0-9a-f]+:[ ]+58a6528b[ ]+mips.swp[ ]+a0,a1,4\(a2\)
+[ ]+[0-9a-f]+:[ ]+76d7dc8b[ ]+mips.swp[ ]+a3,a4,120\(a5\)
+[ ]+[0-9a-f]+:[ ]+76d7de8b[ ]+mips.swp[ ]+a3,a4,124\(a5\)
diff --git a/gas/testsuite/gas/riscv/mips-insns.s b/gas/testsuite/gas/riscv/mips-insns.s
new file mode 100644
index 0000000..793c6ef
--- /dev/null
+++ b/gas/testsuite/gas/riscv/mips-insns.s
@@ -0,0 +1,42 @@
+ .attribute arch, "rv64i"
+ # xmipscbop
+ .option push
+ .option arch, +xmipscbop
+ mips.pref 0, 0(t1)
+ mips.pref 31, 511(t2)
+ .option pop
+
+ # xmipscmov
+ .option push
+ .option arch, +xmipscmov
+ mips.ccmov a0,a1,a2,a3
+ .option pop
+
+ # xmipsexectl
+ .option push
+ .option arch, +xmipsexectl
+ mips.ehb
+ mips.ihb
+ mips.pause
+ .option pop
+
+ # xmipslsp
+ .option push
+ .option arch, +xmipslsp
+ mips.ldp t3, t4, 0(t5)
+ mips.ldp t3, t4, 8(t5)
+ mips.ldp t6, gp, 112(ra)
+ mips.ldp t6, gp, 120(ra)
+ mips.lwp a0, a1, 0(a2)
+ mips.lwp a0, a1, 4(a2)
+ mips.lwp a3, a4, 120(a5)
+ mips.lwp a3, a4, 124(a5)
+ mips.sdp t3, t4, 0(t5)
+ mips.sdp t3, t4, 8(t5)
+ mips.sdp t6, gp, 112(ra)
+ mips.sdp t6, gp, 120(ra)
+ mips.swp a0, a1, 0(a2)
+ mips.swp a0, a1, 4(a2)
+ mips.swp a3, a4, 120(a5)
+ mips.swp a3, a4, 124(a5)
+ .option pop
diff --git a/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.d b/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.d
new file mode 100644
index 0000000..0e84771
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.d
@@ -0,0 +1,2 @@
+#as: -march=rv32ic
+#error_output: no-relax-branch-offset-fail.l
diff --git a/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.l b/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.l
new file mode 100644
index 0000000..8f6b5c9
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.l
@@ -0,0 +1,8 @@
+.*Assembler messages:
+.*:4: Error: invalid J-type offset \(\+1048576\)
+.*:5: Error: invalid J-type offset \(-1048578\)
+.*:8: Error: invalid J-type offset \(\+1048576\)
+.*:10: Error: invalid J-type offset \(-1048578\)
+.*:14: Error: invalid J-type offset \(\+1048576\)
+.*:17: Error: invalid J-type offset \(-1048578\)
+.*:20: Error: invalid CJ-type offset \(\+1\)
diff --git a/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.s b/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.s
new file mode 100644
index 0000000..98a0978
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-branch-offset-fail.s
@@ -0,0 +1,20 @@
+ .option norelax
+
+ # Relative to the current instruction.
+ j .+0x0ffffe+2
+ j .-0x100000-2
+
+ # Relative to local labels (make sure that all instructions except "c.j" occupy 4-bytes).
+ j 1f+0x0ffffe-4+2
+1:
+ j 2f-0x100000-4-2
+2:
+3:
+ lui t0, 0x12345
+ j 3b+0x0ffffe+4+2
+4:
+ lui t0, 0x2abcd
+ j 4b-0x100000+4-2
+
+ # Jump to odd address (violates instruction alignment).
+ c.j .+1
diff --git a/gas/testsuite/gas/riscv/no-relax-branch-offset-ok.d b/gas/testsuite/gas/riscv/no-relax-branch-offset-ok.d
new file mode 100644
index 0000000..6ef31e2
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-branch-offset-ok.d
@@ -0,0 +1,17 @@
+#as: -march=rv32ic
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+[ ]+0:[ ]+7ffff06f[ ]+j[ ][0-9a-f]+.*
+[ ]+4:[ ]+8000006f[ ]+j[ ][0-9a-f]+.*
+[ ]+8:[ ]+7ffff06f[ ]+j[ ][0-9a-f]+.*
+[ ]+c:[ ]+8000006f[ ]+j[ ][0-9a-f]+.*
+[ ]+10:[ ]+123452b7[ ]+lui[ ]t0,0x12345
+[ ]+14:[ ]+7ffff06f[ ]+j[ ][0-9a-f]+.*
+[ ]+18:[ ]+2abcd2b7[ ]+lui[ ]t0,0x2abcd
+[ ]+1c:[ ]+8000006f[ ]+j[ ][0-9a-f]+.*
diff --git a/gas/testsuite/gas/riscv/no-relax-branch-offset-ok.s b/gas/testsuite/gas/riscv/no-relax-branch-offset-ok.s
new file mode 100644
index 0000000..4711c90
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-branch-offset-ok.s
@@ -0,0 +1,17 @@
+ .option norelax
+
+ # Relative to the current instruction.
+ j .+0x0ffffe
+ j .-0x100000
+
+ # Relative to local labels (make sure that all instructions occupy 4-bytes).
+ j 1f+0x0ffffe-4
+1:
+ j 2f-0x100000-4
+2:
+3:
+ lui t0, 0x12345
+ j 3b+0x0ffffe+4
+4:
+ lui t0, 0x2abcd
+ j 4b-0x100000+4
diff --git a/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.d b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.d
new file mode 100644
index 0000000..79d59de
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.d
@@ -0,0 +1,2 @@
+#as: -march=rv64i
+#error_output: no-relax-pcrel-offset-fail-64.l
diff --git a/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.l b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.l
new file mode 100644
index 0000000..bcc0925
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.l
@@ -0,0 +1,7 @@
+.*Assembler messages:
+.*:8: Error: invalid pcrel_hi offset \(\+2147481600\)
+.*:11: Error: invalid pcrel_hi offset \(-2147485697\)
+.*:17: Error: invalid pcrel_hi offset \(\+2147481600\)
+.*:21: Error: invalid pcrel_hi offset \(-2147485697\)
+.*:26: Error: invalid pcrel_hi offset \(\+2147481600\)
+.*:30: Error: invalid pcrel_hi offset \(-2147485697\)
diff --git a/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.s b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.s
new file mode 100644
index 0000000..d01ffe9
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-64.s
@@ -0,0 +1,31 @@
+ .option norelax
+
+ ## Fail on RV64, wrap without errors on RV32.
+
+ # Relative to the current instruction.
+
+1:
+ auipc a0, %pcrel_hi(.+0x7ffff7ff+1)
+ addi a0, a0, %pcrel_lo(1b)
+2:
+ auipc a0, %pcrel_hi(.-0x80000800-1)
+ addi a0, a0, %pcrel_lo(2b)
+
+ # Relative to local labels (all instructions occupy 4-bytes).
+
+3:
+ auipc a0, %pcrel_hi(4f+0x7ffff7ff-4+1)
+4:
+ addi a0, a0, %pcrel_lo(3b)
+5:
+ auipc a0, %pcrel_hi(6f-0x80000800-4-1)
+6:
+ addi a0, a0, %pcrel_lo(5b)
+
+7:
+ auipc a0, %pcrel_hi(6b+0x7ffff7ff+4+1)
+8:
+ addi a0, a0, %pcrel_lo(7b)
+9:
+ auipc a0, %pcrel_hi(8b-0x80000800+4-1)
+ addi a0, a0, %pcrel_lo(9b)
diff --git a/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-not-32.d b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-not-32.d
new file mode 100644
index 0000000..0d7cb7c
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-fail-not-32.d
@@ -0,0 +1,22 @@
+#as: -march=rv32i
+#source: no-relax-pcrel-offset-fail-64.s
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+[ ]+0:[ ]+80000517[ ]+auipc[ ]a0,0x80000
+[ ]+4:[ ]+80050513[ ]+addi[ ]a0,a0,-2048([^0-9].*)?
+[ ]+8:[ ]+7ffff517[ ]+auipc[ ]a0,0x7ffff
+[ ]+c:[ ]+7ff50513[ ]+addi[ ]a0,a0,2047([^0-9].*)?
+[ ]+10:[ ]+80000517[ ]+auipc[ ]a0,0x80000
+[ ]+14:[ ]+80050513[ ]+addi[ ]a0,a0,-2048([^0-9].*)?
+[ ]+18:[ ]+7ffff517[ ]+auipc[ ]a0,0x7ffff
+[ ]+1c:[ ]+7ff50513[ ]+addi[ ]a0,a0,2047([^0-9].*)?
+[ ]+20:[ ]+80000517[ ]+auipc[ ]a0,0x80000
+[ ]+24:[ ]+80050513[ ]+addi[ ]a0,a0,-2048([^0-9].*)?
+[ ]+28:[ ]+7ffff517[ ]+auipc[ ]a0,0x7ffff
+[ ]+2c:[ ]+7ff50513[ ]+addi[ ]a0,a0,2047([^0-9].*)?
diff --git a/gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.d b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.d
new file mode 100644
index 0000000..e585032
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.d
@@ -0,0 +1,21 @@
+#as: -march=rv64i
+#objdump: -dr
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0+ <\.text>:
+[ ]+0:[ ]+7ffff517[ ]+auipc[ ]a0,0x7ffff
+[ ]+4:[ ]+7ff50513[ ]+addi[ ]a0,a0,2047([^0-9].*)?
+[ ]+8:[ ]+80000517[ ]+auipc[ ]a0,0x80000
+[ ]+c:[ ]+80050513[ ]+addi[ ]a0,a0,-2048([^0-9].*)?
+[ ]+10:[ ]+7ffff517[ ]+auipc[ ]a0,0x7ffff
+[ ]+14:[ ]+7ff50513[ ]+addi[ ]a0,a0,2047([^0-9].*)?
+[ ]+18:[ ]+80000517[ ]+auipc[ ]a0,0x80000
+[ ]+1c:[ ]+80050513[ ]+addi[ ]a0,a0,-2048([^0-9].*)?
+[ ]+20:[ ]+7ffff517[ ]+auipc[ ]a0,0x7ffff
+[ ]+24:[ ]+7ff50513[ ]+addi[ ]a0,a0,2047([^0-9].*)?
+[ ]+28:[ ]+80000517[ ]+auipc[ ]a0,0x80000
+[ ]+2c:[ ]+80050513[ ]+addi[ ]a0,a0,-2048([^0-9].*)?
diff --git a/gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.s b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.s
new file mode 100644
index 0000000..ededcca
--- /dev/null
+++ b/gas/testsuite/gas/riscv/no-relax-pcrel-offset-ok.s
@@ -0,0 +1,29 @@
+ .option norelax
+
+ # Relative to the current instruction.
+
+1:
+ auipc a0, %pcrel_hi(.+0x7ffff7ff)
+ addi a0, a0, %pcrel_lo(1b)
+2:
+ auipc a0, %pcrel_hi(.-0x80000800)
+ addi a0, a0, %pcrel_lo(2b)
+
+ # Relative to local labels (all instructions occupy 4-bytes).
+
+3:
+ auipc a0, %pcrel_hi(4f+0x7ffff7ff-4)
+4:
+ addi a0, a0, %pcrel_lo(3b)
+5:
+ auipc a0, %pcrel_hi(6f-0x80000800-4)
+6:
+ addi a0, a0, %pcrel_lo(5b)
+
+7:
+ auipc a0, %pcrel_hi(6b+0x7ffff7ff+4)
+8:
+ addi a0, a0, %pcrel_lo(7b)
+9:
+ auipc a0, %pcrel_hi(8b-0x80000800+4)
+ addi a0, a0, %pcrel_lo(9b)
diff --git a/gas/testsuite/gas/riscv/option-arch-fail.l b/gas/testsuite/gas/riscv/option-arch-fail.l
index b9979a4..d83f01d 100644
--- a/gas/testsuite/gas/riscv/option-arch-fail.l
+++ b/gas/testsuite/gas/riscv/option-arch-fail.l
@@ -1,5 +1,5 @@
.*Assembler messages:
-.*Error: m2p0: ISA string must begin with rv32 or rv64
+.*Error: m2p0: ISA string must begin with rv32, rv64 or Profiles
.*Error: cannot \+ or \- base extension `i' in .option arch `\-i'
.*Error: cannot \+ or \- base extension `e' in .option arch `\+e'
.*Error: cannot \+ or \- base extension `g' in .option arch `\-g'
diff --git a/gas/testsuite/gas/riscv/x-thead-vector-fail.d b/gas/testsuite/gas/riscv/x-thead-vector-fail.d
index ac99c3f..35231d9 100644
--- a/gas/testsuite/gas/riscv/x-thead-vector-fail.d
+++ b/gas/testsuite/gas/riscv/x-thead-vector-fail.d
@@ -1,3 +1,3 @@
-#as: -march=rv64gcv_xtheadvector
+#as: -march=rv64gc_zve32x_xtheadvector
#source: x-thead-vector.s
#error_output: x-thead-vector-fail.l
diff --git a/gas/testsuite/gas/riscv/x-thead-vector-fail.l b/gas/testsuite/gas/riscv/x-thead-vector-fail.l
index 7dd88e3..6b4d828 100644
--- a/gas/testsuite/gas/riscv/x-thead-vector-fail.l
+++ b/gas/testsuite/gas/riscv/x-thead-vector-fail.l
@@ -1,2 +1,2 @@
Assembler messages:
-Error: `xtheadvector' is conflict with the `v' extension \ No newline at end of file
+Error: `xtheadvector' is conflict with the `v/zve32x' extension
diff --git a/gas/testsuite/gas/riscv/zilsd-zclsd-fail.d b/gas/testsuite/gas/riscv/zilsd-zclsd-fail.d
new file mode 100644
index 0000000..da73c2d
--- /dev/null
+++ b/gas/testsuite/gas/riscv/zilsd-zclsd-fail.d
@@ -0,0 +1,3 @@
+#as: -march=rv32ima_zilsd_zclsd
+#source: zilsd-zclsd-fail.s
+#error_output: zilsd-zclsd-fail.l
diff --git a/gas/testsuite/gas/riscv/zilsd-zclsd-fail.l b/gas/testsuite/gas/riscv/zilsd-zclsd-fail.l
new file mode 100644
index 0000000..18e2903
--- /dev/null
+++ b/gas/testsuite/gas/riscv/zilsd-zclsd-fail.l
@@ -0,0 +1,15 @@
+.*: Assembler messages:
+.*: Error: illegal operands `ld x7,\(x5\)'
+.*: Error: illegal operands `ld x9,8\(x11\)'
+.*: Error: illegal operands `ld x13,16\(x16\)'
+.*: Error: illegal operands `sd x7,\(x5\)'
+.*: Error: illegal operands `sd x9,8\(x11\)'
+.*: Error: illegal operands `sd x13,16\(x16\)'
+.*: Error: illegal operands `c.ld x11,\(x9\)'
+.*: Error: illegal operands `c.ld x13,\(x16\)'
+.*: Error: illegal operands `c.ldsp x0,\(x2\)'
+.*: Error: illegal operands `c.ldsp x11,\(x2\)'
+.*: Error: illegal operands `c.sd x11,\(x9\)'
+.*: Error: illegal operands `c.sd x13,\(x16\)'
+.*: Error: illegal operands `c.sdsp x11,\(x2\)'
+.*: Error: illegal operands `c.sdsp x13,8\(x2\)'
diff --git a/gas/testsuite/gas/riscv/zilsd-zclsd-fail.s b/gas/testsuite/gas/riscv/zilsd-zclsd-fail.s
new file mode 100644
index 0000000..925cd48
--- /dev/null
+++ b/gas/testsuite/gas/riscv/zilsd-zclsd-fail.s
@@ -0,0 +1,15 @@
+target:
+ ld x7, (x5)
+ ld x9, 8(x11)
+ ld x13, 16(x16)
+ sd x7, (x5)
+ sd x9, 8(x11)
+ sd x13, 16(x16)
+ c.ld x11, (x9)
+ c.ld x13, (x16)
+ c.ldsp x0, (x2)
+ c.ldsp x11, (x2)
+ c.sd x11, (x9)
+ c.sd x13, (x16)
+ c.sdsp x11, (x2)
+ c.sdsp x13, 8(x2)
diff --git a/gas/testsuite/gas/riscv/zilsd-zclsd.d b/gas/testsuite/gas/riscv/zilsd-zclsd.d
new file mode 100644
index 0000000..816371c
--- /dev/null
+++ b/gas/testsuite/gas/riscv/zilsd-zclsd.d
@@ -0,0 +1,29 @@
+#as: -march=rv32ima_zilsd_zclsd
+#source: zilsd-zclsd.s
+#objdump: -d -Mno-aliases
+
+.*:[ ]+file format .*
+
+
+Disassembly of section .text:
+
+0+000 <target>:
+[ ]+0:[ ]+0007b303[ ]+ld[ ]+t1,0\(a5\)
+[ ]+4:[ ]+00883903[ ]+ld[ ]+s2,8\(a6\)
+[ ]+8:[ ]+0105ba03[ ]+ld[ ]+s4,16\(a1\)
+[ ]+c:[ ]+0067b023[ ]+sd[ ]+t1,0\(a5\)
+[ ]+10:[ ]+01283423[ ]+sd[ ]+s2,8\(a6\)
+[ ]+14:[ ]+0145b823[ ]+sd[ ]+s4,16\(a1\)
+[ ]+18:[ ]+6380[ ]+c.ld[ ]+s0,0\(a5\)
+[ ]+1a:[ ]+6408[ ]+c.ld[ ]+a0,8\(s0\)
+[ ]+1c:[ ]+6a90[ ]+c.ld[ ]+a2,16\(a3\)
+[ ]+1e:[ ]+e380[ ]+c.sd[ ]+s0,0\(a5\)
+[ ]+20:[ ]+e408[ ]+c.sd[ ]+a0,8\(s0\)
+[ ]+22:[ ]+ea90[ ]+c.sd[ ]+a2,16\(a3\)
+[ ]+24:[ ]+6122[ ]+c.ldsp[ ]+sp,8\(sp\)
+[ ]+26:[ ]+652a[ ]+c.ldsp[ ]+a0,136\(sp\)
+[ ]+28:[ ]+7f7e[ ]+c.ldsp[ ]+t5,504\(sp\)
+[ ]+2a:[ ]+e002[ ]+c.sdsp[ ]+zero,0\(sp\)
+[ ]+2c:[ ]+e40a[ ]+c.sdsp[ ]+sp,8\(sp\)
+[ ]+2e:[ ]+e52a[ ]+c.sdsp[ ]+a0,136\(sp\)
+[ ]+30:[ ]+fffa[ ]+c.sdsp[ ]+t5,504\(sp\)
diff --git a/gas/testsuite/gas/riscv/zilsd-zclsd.s b/gas/testsuite/gas/riscv/zilsd-zclsd.s
new file mode 100644
index 0000000..28d83ed
--- /dev/null
+++ b/gas/testsuite/gas/riscv/zilsd-zclsd.s
@@ -0,0 +1,20 @@
+target:
+ ld x6, (x15)
+ ld x18, 8(x16)
+ ld x20, 16(x11)
+ sd x6, (x15)
+ sd x18, 8(x16)
+ sd x20, 16(x11)
+ c.ld x8, (x15)
+ c.ld x10, 8(x8)
+ c.ld x12, 16(x13)
+ c.sd x8, (x15)
+ c.sd x10, 8(x8)
+ c.sd x12, 16(x13)
+ c.ldsp x2, 8(sp)
+ c.ldsp x10, 136(sp)
+ c.ldsp x30, 504(sp)
+ c.sdsp x0, (sp)
+ c.sdsp x2, 8(sp)
+ c.sdsp x10, 136(sp)
+ c.sdsp x30, 504(sp)
diff --git a/gas/write.c b/gas/write.c
index c725841..8ccd996 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -1653,6 +1653,19 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
offsetT count;
gas_assert (f->fr_type == rs_fill || f->fr_type == rs_fill_nop);
+
+ count = f->fr_offset;
+ fill_literal = f->fr_literal + f->fr_fix;
+ if (f->fr_type == rs_fill_nop && count > 0)
+ {
+ md_generate_nops (f, fill_literal, count, *fill_literal);
+ /* md_generate_nops updates fr_fix and fr_var. */
+ f->fr_offset = (f->fr_next->fr_address - f->fr_address
+ - f->fr_fix) / f->fr_var;
+ count = f->fr_offset;
+ fill_literal = f->fr_literal + f->fr_fix;
+ }
+
if (f->fr_fix)
{
x = bfd_set_section_contents (stdoutput, sec,
@@ -1671,39 +1684,6 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
}
fill_size = f->fr_var;
- count = f->fr_offset;
- fill_literal = f->fr_literal + f->fr_fix;
-
- if (f->fr_type == rs_fill_nop)
- {
- gas_assert (count >= 0 && fill_size == 1);
- if (count > 0)
- {
- char *buf = xmalloc (count);
- md_generate_nops (f, buf, count, *fill_literal);
- x = bfd_set_section_contents
- (stdoutput, sec, buf, (file_ptr) offset,
- (bfd_size_type) count);
- if (!x)
- as_fatal (ngettext ("can't fill %ld byte "
- "in section %s of %s: '%s'",
- "can't fill %ld bytes "
- "in section %s of %s: '%s'",
- (long) count),
- (long) count,
- bfd_section_name (sec),
- bfd_get_filename (stdoutput),
- bfd_errmsg (bfd_get_error ()));
- offset += count;
-#ifndef NO_LISTING
- if (listing & LISTING_LISTING)
- f->fr_opcode = buf;
- else
-#endif
- free (buf);
- }
- continue;
- }
gas_assert (count >= 0);
if (fill_size && count)
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 5e1aada..5284110 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -492,7 +492,7 @@ sim/ See sim/MAINTAINERS
readline/ Master version: ftp://ftp.cwru.edu/pub/bash/
ALL
- Host maintainers (host dependant parts)
+ Host maintainers (host dependent parts)
(but get your changes into the master version)
tcl/ tk/ itcl/ ALL
@@ -602,6 +602,7 @@ Klaus Gerlicher klaus.gerlicher@intel.com
Mircea Gherzan mircea.gherzan@intel.com
Paul Gilliam pgilliam@us.ibm.com
Tristan Gingold tgingold@free.fr
+Timur Golubovich timurgol007@gmail.com
Anton Gorenkov xgsa@yandex.ru
Raoul Gough RaoulGough@yahoo.co.uk
Anthony Green green@redhat.com
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 9275f8d..fc0c565 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -265,7 +265,7 @@ INCSUPPORT = \
-I..
#
-# CLI sub directory definitons
+# CLI sub directory definitions
#
SUBDIR_CLI_SRCS = \
cli/cli-cmds.c \
@@ -282,7 +282,7 @@ SUBDIR_CLI_SRCS = \
SUBDIR_CLI_OBS = $(patsubst %.c,%.o,$(SUBDIR_CLI_SRCS))
#
-# MI sub directory definitons
+# MI sub directory definitions
#
SUBDIR_MI_SRCS = \
mi/mi-cmd-break.c \
@@ -350,7 +350,7 @@ SUBDIR_GCC_COMPILE_SRCS = \
SUBDIR_GCC_COMPILE_OBS = $(patsubst %.c,%.o,$(filter %.c,$(SUBDIR_GCC_COMPILE_SRCS)))
#
-# Guile sub directory definitons for guile support.
+# Guile sub directory definitions for guile support.
#
SUBDIR_GUILE_SRCS = \
guile/guile.c \
@@ -387,7 +387,7 @@ SUBDIR_GUILE_LDFLAGS =
SUBDIR_GUILE_CFLAGS =
#
-# python sub directory definitons
+# python sub directory definitions
#
SUBDIR_PYTHON_SRCS = \
python/py-arch.c \
@@ -479,6 +479,7 @@ SELFTESTS_SRCS = \
unittests/ptid-selftests.c \
unittests/main-thread-selftests.c \
unittests/mkdir-recursive-selftests.c \
+ unittests/remote-arg-selftests.c \
unittests/rsp-low-selftests.c \
unittests/scoped_fd-selftests.c \
unittests/scoped_ignore_signal-selftests.c \
@@ -491,7 +492,6 @@ SELFTESTS_SRCS = \
unittests/ui-file-selftests.c \
unittests/unique_xmalloc_ptr_char.c \
unittests/unpack-selftests.c \
- unittests/utils-selftests.c \
unittests/vec-utils-selftests.c \
unittests/xml-utils-selftests.c
@@ -769,6 +769,7 @@ ALL_64_TARGET_OBS = \
mips-sde-tdep.o \
mips-tdep.o \
mips64-obsd-tdep.o \
+ riscv-canonicalize-syscall-gen.o \
riscv-fbsd-tdep.o \
riscv-linux-tdep.o \
riscv-none-tdep.o \
@@ -890,12 +891,14 @@ ALL_TARGET_OBS = \
solib-dsbt.o \
solib-frv.o \
solib-svr4.o \
+ solib-svr4-linux.o \
sparc-linux-tdep.o \
sparc-netbsd-tdep.o \
sparc-obsd-tdep.o \
sparc-ravenscar-thread.o \
sparc-sol2-tdep.o \
sparc-tdep.o \
+ svr4-tls-tdep.o \
symfile-mem.o \
tic6x-linux-tdep.o \
tic6x-tdep.o \
@@ -1090,36 +1093,6 @@ COMMON_SFILES = \
disasm.c \
displaced-stepping.c \
dummy-frame.c \
- dwarf2/abbrev.c \
- dwarf2/abbrev-table-cache.c \
- dwarf2/ada-imported.c \
- dwarf2/aranges.c \
- dwarf2/attribute.c \
- dwarf2/comp-unit-head.c \
- dwarf2/cooked-index.c \
- dwarf2/cooked-index-entry.c \
- dwarf2/cooked-index-shard.c \
- dwarf2/cooked-index-worker.c \
- dwarf2/cooked-indexer.c \
- dwarf2/cu.c \
- dwarf2/die.c \
- dwarf2/dwz.c \
- dwarf2/expr.c \
- dwarf2/frame-tailcall.c \
- dwarf2/frame.c \
- dwarf2/index-cache.c \
- dwarf2/index-common.c \
- dwarf2/index-write.c \
- dwarf2/leb.c \
- dwarf2/line-header.c \
- dwarf2/loc.c \
- dwarf2/macro.c \
- dwarf2/parent-map.c \
- dwarf2/read.c \
- dwarf2/read-debug-names.c \
- dwarf2/read-gdb-index.c \
- dwarf2/section.c \
- dwarf2/stringify.c \
extract-store-integer.c \
eval.c \
event-top.c \
@@ -1170,7 +1143,6 @@ COMMON_SFILES = \
maint.c \
maint-test-options.c \
maint-test-settings.c \
- mdebugread.c \
mem-break.c \
memattr.c \
memory-map.c \
@@ -1507,9 +1479,10 @@ HFILES_NO_SRCDIR = \
solib.h \
solib-aix.h \
solib-darwin.h \
+ solib-frv.h \
solib-svr4.h \
+ solib-svr4-linux.h \
solib-target.h \
- solist.h \
source.h \
source-cache.h \
sparc-nat.h \
@@ -1520,6 +1493,7 @@ HFILES_NO_SRCDIR = \
stabsread.h \
stack.h \
stap-probe.h \
+ svr4-tls-tdep.h \
symfile.h \
symtab.h \
target.h \
@@ -1883,6 +1857,7 @@ ALLDEPFILES = \
sparc64-obsd-tdep.c \
sparc64-sol2-tdep.c \
sparc64-tdep.c \
+ svr4-tls-tdep.c \
tilegx-linux-nat.c \
tilegx-linux-tdep.c \
tilegx-tdep.c \
@@ -1909,6 +1884,40 @@ TAGFILES_NO_SRCDIR = $(SFILES) $(HFILES_NO_SRCDIR) $(ALLDEPFILES) \
$(CONFIG_SRCS)
TAGFILES_WITH_SRCDIR = $(HFILES_WITH_SRCDIR)
+# Files that are used to support certain debuginfo formats
+DWARF2_SRCS = \
+ dwarf2/abbrev.c \
+ dwarf2/abbrev-table-cache.c \
+ dwarf2/ada-imported.c \
+ dwarf2/aranges.c \
+ dwarf2/attribute.c \
+ dwarf2/cooked-index.c \
+ dwarf2/cooked-index-entry.c \
+ dwarf2/cooked-index-shard.c \
+ dwarf2/cooked-index-worker.c \
+ dwarf2/cooked-indexer.c \
+ dwarf2/cu.c \
+ dwarf2/die.c \
+ dwarf2/dwz.c \
+ dwarf2/expr.c \
+ dwarf2/frame-tailcall.c \
+ dwarf2/frame.c \
+ dwarf2/index-cache.c \
+ dwarf2/index-common.c \
+ dwarf2/index-write.c \
+ dwarf2/leb.c \
+ dwarf2/line-header.c \
+ dwarf2/loc.c \
+ dwarf2/macro.c \
+ dwarf2/parent-map.c \
+ dwarf2/read.c \
+ dwarf2/read-debug-names.c \
+ dwarf2/read-gdb-index.c \
+ dwarf2/section.c \
+ dwarf2/stringify.c \
+ dwarf2/unit-head.c
+DWARF2_OBS = $(patsubst %.c,%.o, $(DWARF2_SRCS))
+
COMMON_OBS = $(DEPFILES) $(CONFIG_OBS) $(YYOBJ) \
mi/mi-common.o \
version.o \
diff --git a/gdb/NEWS b/gdb/NEWS
index 99ec392..2abe376 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -35,11 +35,19 @@
a -h or --help option, which prints each options and a brief
description.
-* On systems that support linkage namespaces, the output of the command
+* On systems that support linker namespaces, the output of the command
"info sharedlibraries" may add one more column, NS, which identifies the
namespace into which the library was loaded, if more than one namespace
is active.
+* New built-in convenience variables $_active_linker_namespaces and
+ $_linker_namespace. These show the number of active linker
+ namespaces, and the namespace to which the current location belongs to.
+ In systems that don't support linker namespaces, these always return
+ the integers 1 and 0 respectively.
+
+* Add record full support for rv64gc architectures
+
* New commands
maintenance check psymtabs
@@ -48,12 +56,39 @@ maintenance check psymtabs
maintenance check symtabs
Renamed from maintenance check-symtabs
+maintenance canonicalize
+ Show the canonical form of a C++ name.
+
+maintenance set console-translation-mode <binary|text>
+maintenance show console-translation-mode
+ Controls the translation mode of GDB stdout/stderr. MS-Windows only. In
+ binary mode, no translation is done. In text mode, a Line Feed is
+ translated into a Carriage Return-Line Feed combination.
+
set riscv numeric-register-names on|off
show riscv numeric-register-names
Controls whether GDB refers to risc-v registers by their numeric names
(e.g 'x1') or their abi names (e.g. 'ra').
Defaults to 'off', matching the old behaviour (abi names).
+set style emoji on|off|auto
+show style emoji
+ Controls whether GDB can display emoji. The default is "auto",
+ which means emoji will be displayed in some situations when
+ the host charset is UTF-8.
+
+set style warning-prefix STRING
+set style error-prefix STRING
+ These commands control the prefix that is printed before warnings
+ and errors, respectively. This functionality is intended for use
+ with emoji display, and so the prefixes are only displayed if emoji
+ styling is enabled.
+
+info linker-namespaces
+info linker-namespaces [[N]]
+ Print information about the given linker namespace (identified as N),
+ or about all the namespaces if no argument is given.
+
* Changed commands
info sharedlibrary
@@ -61,8 +96,42 @@ info sharedlibrary
command are now for the full memory range allocated to the shared
library.
+info threads [-gid] [-stopped] [-running] [ID]...
+ If no threads match the given ID(s) or filter options, GDB now prints
+
+ No threads matched.
+
+ without printing the provided arguments. The newly added '-stopped'
+ option makes GDB list the stopped threads only. Similarly,
+ '-running' makes GDB list the running threads only. If both options
+ are given together, both stopped and running threads are listed.
+ These new flags can be useful to get a reduced list when there is a
+ large number of threads.
+
+* GDB-internal Thread Local Storage (TLS) support
+
+ ** Linux targets for the x86_64, aarch64, ppc64, s390x, and riscv
+ architectures now have GDB-internal support for TLS address
+ lookup in addition to that traditionally provided by the
+ libthread_db library. This internal support works for programs
+ linked against either the GLIBC or MUSL C libraries. For
+ programs linked against MUSL, this new internal support provides
+ new debug functionality, allowing access to TLS variables, due to
+ the fact that MUSL does not implement the libthread_db library.
+ Internal TLS support is also useful in cross-debugging
+ situations, debugging statically linked binaries, and debugging
+ programs linked against GLIBC 2.33 and earlier, but which are not
+ linked against libpthread.
+
+ ** The command 'maint set force-internal-tls-address-lookup on' may
+ be used to force the internal TLS lookup mechanisms to be used.
+ Otherwise, TLS lookup via libthread_db will still be preferred,
+ when available.
+
* Python API
+ ** GDB no longer supports Python versions less than 3.4.
+
** New class gdb.Color for dealing with colors.
** New constant gdb.PARAM_COLOR represents color type of a
@@ -79,6 +148,23 @@ info sharedlibrary
when output is going to standard output, and False when output is
going to a string.
+ ** Setting the documentation string (__doc__) of a gdb.Parameter
+ sub-class to the empty string, means GDB will only display the
+ set_doc or show_doc strings in the set/show help output.
+
+ ** New gdb.ParameterPrefix class. This can be used to create 'set'
+ and 'show' gdb.Command prefixes, suitable for use with new
+ gdb.Parameters.
+
+ ** Prefix commands (gdb.Command sub-classes) that don't have an
+ invoke method will now behave like builtin prefix commands when
+ invoked without a sub-command name. This means printing the help
+ text for all sub-commands, unless the prefix command is a 'show'
+ command, in which case the value of all sub-commands is printed.
+
+ ** New gdb.warning() function that takes a string and prints it as a
+ warning, with GDB's standard 'warning' prefix.
+
* Guile API
** New type <gdb:color> for dealing with colors.
@@ -86,6 +172,17 @@ info sharedlibrary
** New constant PARAM_COLOR represents color type of a value
of a <gdb:parameter> object. Parameter's value is <gdb::color> instance.
+ ** Eliding the #:doc string from make-parameter now means that GDB
+ will use a default documentation string. Setting #:doc to the
+ empty string for make-parameter means GDB will only display the
+ #:set_doc or #:show_doc strings in the set/show help output.
+
+ ** Prefix commands (using make-command) that don't have a #:invoke
+ property will now behave like builtin prefix commands when
+ invoked without a sub-command name. This means printing the help
+ text for all sub-commands, unless the prefix command is a 'show'
+ command, in which case the value of all sub-commands is printed.
+
* New remote packets
binary-upload in qSupported reply
@@ -94,6 +191,11 @@ binary-upload in qSupported reply
stub doesn't report this feature supported, then GDB will not use
the 'x' packet.
+vFile:lstat
+ Return information about files on the remote system. Like
+ vFile:stat but if the filename is a symbolic link, return
+ information about the link itself, the file the link refers to.
+
* Changed remote packets
qXfer:threads:read
@@ -102,6 +204,11 @@ qXfer:threads:read
should print as the target ID of the thread, for example in the
"info threads" command or when switching to the thread.
+vFile:stat
+ Previously, gdbserver incorrectly implemented this packet using
+ lstat rather than stat. This has now been corrected. The
+ documentation has also been clarified.
+
* MI changes
** The =library-unloaded event now includes the 'ranges' field, which
@@ -121,6 +228,14 @@ qXfer:threads:read
subsystem to be disabled at configure time, in the form of
--disable-gdb-compile.
+* A new configure option was added, allowing support for DWARF debug
+ information to be disabled at configure time. The flag is
+ --disable-gdb-dwarf-support.
+
+* A new configure option was added, allowing support for mdebug/ecoff
+ debug information to be disabled at configure time. The flag to do
+ that is --disable-gdb-mdebug-support.
+
*** Changes in GDB 16
* Support for Nios II targets has been removed as this architecture
@@ -7496,7 +7611,7 @@ for DW_OP_piece is still missing).
A number of long standing bugs that caused GDB to die while starting a
Java application have been fixed. GDB's Java support is now
-considered "useable".
+considered "usable".
* GNU/Linux support for fork, vfork, and exec.
diff --git a/gdb/README b/gdb/README
index 8836120..eca4181c 100644
--- a/gdb/README
+++ b/gdb/README
@@ -17,7 +17,7 @@ Unpacking and Installation -- quick overview
'gdb-VERSION.tar.gz', where VERSION is the version of GDB.
The GDB debugger sources, the generic GNU include
-files, the BFD ("binary file description") library, the readline
+files, the BFD ("Binary File Descriptor") library, the readline
library, and other libraries all have directories of their own
underneath the gdb-VERSION directory. The idea is that a variety of GNU
tools can share a common copy of these things. Be aware of variation
@@ -443,7 +443,14 @@ more obscure GDB `configure' options are not listed here.
supported).
`--disable-gdb-compile'
- Build GDB without support for the 'compile' command.
+ Build GDB without support for the 'compile' command. DWARF support
+ is required for this feature.
+
+`--disable-gdb-dwarf-support'
+ Build GDB without support for reading DWARF debug information.
+
+`--disable-gdb-mdebug-support'
+ Build GDB without support for reading mdebug debug information.
`--with-curses'
Use the curses library instead of the termcap library, for
@@ -533,7 +540,7 @@ more obscure GDB `configure' options are not listed here.
GDB scripting much more powerful than the restricted CLI
scripting language. If your host does not have Python installed,
you can find it on `http://www.python.org/download/'. The oldest
- version of Python supported by GDB is 3.2. The optional argument
+ version of Python supported by GDB is 3.4. The optional argument
PYTHON is used to find the Python headers and libraries. It can
be either the name of a Python executable, or the name of the
directory in which Python is installed.
diff --git a/gdb/aarch64-fbsd-nat.c b/gdb/aarch64-fbsd-nat.c
index 1746ad1..ecf0bb2 100644
--- a/gdb/aarch64-fbsd-nat.c
+++ b/gdb/aarch64-fbsd-nat.c
@@ -348,9 +348,7 @@ aarch64_notify_debug_reg_change (ptid_t ptid,
}
#endif
-void _initialize_aarch64_fbsd_nat ();
-void
-_initialize_aarch64_fbsd_nat ()
+INIT_GDB_FILE (aarch64_fbsd_nat)
{
#ifdef HAVE_DBREG
aarch64_initialize_hw_point ();
diff --git a/gdb/aarch64-fbsd-tdep.c b/gdb/aarch64-fbsd-tdep.c
index 07fa38a..db9b82f 100644
--- a/gdb/aarch64-fbsd-tdep.c
+++ b/gdb/aarch64-fbsd-tdep.c
@@ -239,8 +239,7 @@ aarch64_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Generic FreeBSD support. */
fbsd_init_abi (info, gdbarch);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
tramp_frame_prepend_unwinder (gdbarch, &aarch64_fbsd_sigframe);
@@ -261,9 +260,7 @@ aarch64_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
}
}
-void _initialize_aarch64_fbsd_tdep ();
-void
-_initialize_aarch64_fbsd_tdep ()
+INIT_GDB_FILE (aarch64_fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_aarch64, 0, GDB_OSABI_FREEBSD,
aarch64_fbsd_init_abi);
diff --git a/gdb/aarch64-linux-nat.c b/gdb/aarch64-linux-nat.c
index d7869f4..725c632 100644
--- a/gdb/aarch64-linux-nat.c
+++ b/gdb/aarch64-linux-nat.c
@@ -1068,9 +1068,7 @@ aarch64_linux_nat_target::is_address_tagged (gdbarch *gdbarch, CORE_ADDR address
return gdbarch_tagged_address_p (gdbarch, address);
}
-void _initialize_aarch64_linux_nat ();
-void
-_initialize_aarch64_linux_nat ()
+INIT_GDB_FILE (aarch64_linux_nat)
{
aarch64_initialize_hw_point ();
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 9cee355..dd35eaf 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -23,7 +23,9 @@
#include "extract-store-integer.h"
#include "gdbarch.h"
#include "glibc-tdep.h"
+#include "solib-svr4-linux.h"
#include "linux-tdep.h"
+#include "svr4-tls-tdep.h"
#include "aarch64-tdep.h"
#include "aarch64-linux-tdep.h"
#include "osabi.h"
@@ -35,6 +37,7 @@
#include "target/target.h"
#include "expop.h"
#include "auxv.h"
+#include "inferior.h"
#include "regcache.h"
#include "regset.h"
@@ -2597,8 +2600,8 @@ aarch64_linux_fill_memtag_section (struct gdbarch *gdbarch, asection *osec)
static_cast<int> (memtag_type::allocation)))
{
warning (_("Failed to read MTE tags from memory range [%s,%s)."),
- phex_nz (start_address, sizeof (start_address)),
- phex_nz (end_address, sizeof (end_address)));
+ phex_nz (start_address),
+ phex_nz (end_address));
return false;
}
@@ -2701,6 +2704,57 @@ aarch64_use_target_description_from_corefile_notes (gdbarch *gdbarch,
return true;
}
+/* Fetch and return the TLS DTV (dynamic thread vector) address for PTID.
+ Throw a suitable TLS error if something goes wrong. */
+
+static CORE_ADDR
+aarch64_linux_get_tls_dtv_addr (struct gdbarch *gdbarch, ptid_t ptid,
+ svr4_tls_libc libc)
+{
+ /* On aarch64, the thread pointer is found in the TPIDR register.
+ Note that this is the first register in the TLS feature - see
+ features/aarch64-tls.c - and it will always be present. */
+ regcache *regcache
+ = get_thread_arch_regcache (current_inferior (), ptid, gdbarch);
+ aarch64_gdbarch_tdep *tdep = gdbarch_tdep<aarch64_gdbarch_tdep> (gdbarch);
+ target_fetch_registers (regcache, tdep->tls_regnum_base);
+ ULONGEST thr_ptr;
+ if (regcache->cooked_read (tdep->tls_regnum_base, &thr_ptr) != REG_VALID)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch thread pointer"));
+
+ CORE_ADDR dtv_ptr_addr;
+ switch (libc)
+ {
+ case svr4_tls_libc_musl:
+ /* MUSL: The DTV pointer is found at the very end of the pthread
+ struct which is located *before* the thread pointer. I.e.
+ the thread pointer will be just beyond the end of the struct,
+ so the address of the DTV pointer is found one pointer-size
+ before the thread pointer. */
+ dtv_ptr_addr = thr_ptr - (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ break;
+ case svr4_tls_libc_glibc:
+ /* GLIBC: The thread pointer (tpidr) points at the TCB (thread control
+ block). On aarch64, this struct (tcbhead_t) is defined to
+ contain two pointers. The first is a pointer to the DTV and
+ the second is a pointer to private data. So the DTV pointer
+ address is the same as the thread pointer. */
+ dtv_ptr_addr = thr_ptr;
+ break;
+ default:
+ throw_error (TLS_GENERIC_ERROR, _("Unknown aarch64 C library"));
+ break;
+ }
+ gdb::byte_vector buf (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ if (target_read_memory (dtv_ptr_addr, buf.data (), buf.size ()) != 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch DTV address"));
+
+ const struct builtin_type *builtin = builtin_type (gdbarch);
+ CORE_ADDR dtv_addr = gdbarch_pointer_to_address
+ (gdbarch, builtin->builtin_data_ptr, buf.data ());
+ return dtv_addr;
+}
+
static void
aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
@@ -2715,13 +2769,14 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->lowest_pc = 0x8000;
linux_init_abi (info, gdbarch, 1);
-
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
+ set_gdbarch_get_thread_local_address (gdbarch,
+ svr4_tls_get_thread_local_address);
+ svr4_tls_register_tls_methods (info, gdbarch, aarch64_linux_get_tls_dtv_addr);
/* Shared library handling. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
@@ -2985,9 +3040,7 @@ aarch64_linux_ltag_tests (void)
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_aarch64_linux_tdep ();
-void
-_initialize_aarch64_linux_tdep ()
+INIT_GDB_FILE (aarch64_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_aarch64, 0, GDB_OSABI_LINUX,
aarch64_linux_init_abi);
diff --git a/gdb/aarch64-newlib-tdep.c b/gdb/aarch64-newlib-tdep.c
index c0ecd3f..5045d5f9 100644
--- a/gdb/aarch64-newlib-tdep.c
+++ b/gdb/aarch64-newlib-tdep.c
@@ -35,9 +35,7 @@ aarch64_newlib_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_pc = 11;
}
-void _initialize_aarch64_newlib_tdep ();
-void
-_initialize_aarch64_newlib_tdep ()
+INIT_GDB_FILE (aarch64_newlib_tdep)
{
gdbarch_register_osabi (bfd_arch_aarch64, 0, GDB_OSABI_NEWLIB,
aarch64_newlib_init_abi);
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index bf5b5d3..f2e3ce2 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -4236,7 +4236,7 @@ aarch64_memtag_to_string (struct gdbarch *gdbarch, struct value *tag_value)
CORE_ADDR tag = value_as_address (tag_value);
- return string_printf ("0x%s", phex_nz (tag, sizeof (tag)));
+ return string_printf ("0x%s", phex_nz (tag));
}
/* See aarch64-tdep.h. */
@@ -4914,9 +4914,7 @@ static void aarch64_process_record_test (void);
}
#endif
-void _initialize_aarch64_tdep ();
-void
-_initialize_aarch64_tdep ()
+INIT_GDB_FILE (aarch64_tdep)
{
gdbarch_register (bfd_arch_aarch64, aarch64_gdbarch_init,
aarch64_dump_tdep);
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 9d35440..329d114 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -36,7 +36,7 @@
#include "objfiles.h"
#include "breakpoint.h"
#include "gdbcore.h"
-#include "hashtab.h"
+#include "gdbsupport/unordered_set.h"
#include "gdbsupport/gdb_obstack.h"
#include "ada-lang.h"
#include "completer.h"
@@ -52,6 +52,7 @@
#include "namespace.h"
#include "cli/cli-style.h"
#include "cli/cli-decode.h"
+#include "gdbsupport/string-set.h"
#include "value.h"
#include "mi/mi-common.h"
@@ -349,56 +350,58 @@ struct cache_entry_search
{
const char *name;
domain_search_flags domain;
+};
+
+/* Hash function for cache entry. */
+
+struct cache_entry_hash
+{
+ using is_transparent = void;
+ using is_avalanching = void;
- hashval_t hash () const
+ /* This implementation works for both cache_entry and
+ cache_entry_search. */
+ template<typename T>
+ uint64_t operator() (const T &entry) const noexcept
{
- /* This must agree with hash_cache_entry, below. */
- return htab_hash_string (name);
+ return ankerl::unordered_dense::hash<std::string_view> () (entry.name);
}
};
-/* Hash function for cache_entry. */
+/* Equality function for cache entry. */
-static hashval_t
-hash_cache_entry (const void *v)
+struct cache_entry_eq
{
- const cache_entry *entry = (const cache_entry *) v;
- return htab_hash_string (entry->name.c_str ());
-}
-
-/* Equality function for cache_entry. */
+ using is_transparent = void;
-static int
-eq_cache_entry (const void *a, const void *b)
-{
- const cache_entry *entrya = (const cache_entry *) a;
- const cache_entry_search *entryb = (const cache_entry_search *) b;
+ /* This implementation works for both cache_entry and
+ cache_entry_search. */
+ template<typename T>
+ bool operator() (const T &lhs, const cache_entry &rhs) const noexcept
+ {
+ return lhs.domain == rhs.domain && lhs.name == rhs.name;
+ }
+};
- return entrya->domain == entryb->domain && entrya->name == entryb->name;
-}
+using cache_entry_set
+ = gdb::unordered_set<cache_entry, cache_entry_hash, cache_entry_eq>;
/* Key to our per-program-space data. */
-static const registry<program_space>::key<htab, htab_deleter>
+static const registry<program_space>::key<cache_entry_set>
ada_pspace_data_handle;
-/* Return this module's data for the given program space (PSPACE).
- If not is found, add a zero'ed one now.
-
- This function always returns a valid object. */
+/* Return this module's data for the given program space (PSPACE). If
+ not is found, one is created. This function always returns a valid
+ object. */
-static htab_t
+static cache_entry_set &
get_ada_pspace_data (struct program_space *pspace)
{
- htab_t data = ada_pspace_data_handle.get (pspace);
+ cache_entry_set *data = ada_pspace_data_handle.get (pspace);
if (data == nullptr)
- {
- data = htab_create_alloc (10, hash_cache_entry, eq_cache_entry,
- htab_delete_entry<cache_entry>,
- xcalloc, xfree);
- ada_pspace_data_handle.set (pspace, data);
- }
+ data = ada_pspace_data_handle.emplace (pspace);
- return data;
+ return *data;
}
/* Utilities */
@@ -1603,7 +1606,7 @@ ada_decode_tests ()
storage leak, it should not be significant unless there are massive
changes in the set of decoded names in successive versions of a
symbol table loaded during a single session. */
-static struct htab *decoded_names_store;
+static gdb::string_set decoded_names_store;
/* Returns the decoded name of GSYMBOL, as for ada_decode, caching it
in the language-specific part of GSYMBOL, if it has not been
@@ -1637,13 +1640,7 @@ ada_decode_symbol (const struct general_symbol_info *arg)
which case, we put the result on the heap. Since we only
decode when needed, we hope this usually does not cause a
significant memory leak (FIXME). */
-
- char **slot = (char **) htab_find_slot (decoded_names_store,
- decoded.c_str (), INSERT);
-
- if (*slot == NULL)
- *slot = xstrdup (decoded.c_str ());
- *resultp = *slot;
+ *resultp = decoded_names_store.insert (decoded);
}
}
@@ -3950,9 +3947,9 @@ ada_type_match (struct type *ftype, struct type *atype)
atype = ada_check_typedef (atype);
if (ftype->code () == TYPE_CODE_REF)
- ftype = ftype->target_type ();
+ ftype = ada_check_typedef (ftype->target_type ());
if (atype->code () == TYPE_CODE_REF)
- atype = atype->target_type ();
+ atype = ada_check_typedef (atype->target_type ());
switch (ftype->code ())
{
@@ -4695,19 +4692,18 @@ static int
lookup_cached_symbol (const char *name, domain_search_flags domain,
struct symbol **sym, const struct block **block)
{
- htab_t tab = get_ada_pspace_data (current_program_space);
+ cache_entry_set &htab = get_ada_pspace_data (current_program_space);
cache_entry_search search;
search.name = name;
search.domain = domain;
- cache_entry *e = (cache_entry *) htab_find_with_hash (tab, &search,
- search.hash ());
- if (e == nullptr)
+ auto iter = htab.find (search);
+ if (iter == htab.end ())
return 0;
if (sym != nullptr)
- *sym = e->sym;
+ *sym = iter->sym;
if (block != nullptr)
- *block = e->block;
+ *block = iter->block;
return 1;
}
@@ -4735,21 +4731,8 @@ cache_symbol (const char *name, domain_search_flags domain,
return;
}
- htab_t tab = get_ada_pspace_data (current_program_space);
- cache_entry_search search;
- search.name = name;
- search.domain = domain;
-
- void **slot = htab_find_slot_with_hash (tab, &search,
- search.hash (), INSERT);
-
- cache_entry *e = new cache_entry;
- e->name = name;
- e->domain = domain;
- e->sym = sym;
- e->block = block;
-
- *slot = e;
+ cache_entry_set &tab = get_ada_pspace_data (current_program_space);
+ tab.insert (cache_entry {name, domain, sym, block});
}
/* Symbol Lookup */
@@ -13945,9 +13928,7 @@ static const char * const gnat_source_charsets[] =
nullptr
};
-void _initialize_ada_language ();
-void
-_initialize_ada_language ()
+INIT_GDB_FILE (ada_language)
{
add_setshow_prefix_cmd
("ada", no_class,
@@ -14049,10 +14030,6 @@ When enabled, the debugger will stop using the DW_AT_GNAT_descriptive_type\n\
DWARF attribute."),
NULL, NULL, &maint_set_ada_cmdlist, &maint_show_ada_cmdlist);
- decoded_names_store = htab_create_alloc (256, htab_hash_string,
- htab_eq_string,
- NULL, xcalloc, xfree);
-
/* The ada-lang observers. */
gdb::observers::new_objfile.attach (ada_new_objfile_observer, "ada-lang");
gdb::observers::all_objfiles_removed.attach (ada_clear_symbol_cache,
diff --git a/gdb/ada-tasks.c b/gdb/ada-tasks.c
index 2595123..f9551d4 100644
--- a/gdb/ada-tasks.c
+++ b/gdb/ada-tasks.c
@@ -1650,9 +1650,7 @@ task_apply_command (const char *tidlist, int from_tty)
from_tty, flags);
}
-void _initialize_tasks ();
-void
-_initialize_tasks ()
+INIT_GDB_FILE (tasks)
{
/* Attach various observers. */
gdb::observers::normal_stop.attach (ada_tasks_normal_stop_observer,
diff --git a/gdb/ada-typeprint.c b/gdb/ada-typeprint.c
index 404d8fe..defd828 100644
--- a/gdb/ada-typeprint.c
+++ b/gdb/ada-typeprint.c
@@ -702,7 +702,7 @@ print_variant_part (const variant_part &part,
name = "?";
else
{
- name = type->field (part.discriminant_index).name ();;
+ name = type->field (part.discriminant_index).name ();
discr_type = type->field (part.discriminant_index).type ();
}
diff --git a/gdb/ada-varobj.c b/gdb/ada-varobj.c
index 140fc71..c87e7be 100644
--- a/gdb/ada-varobj.c
+++ b/gdb/ada-varobj.c
@@ -379,16 +379,14 @@ ada_varobj_get_number_of_children (struct value *parent_value,
whose index is CHILD_INDEX:
- If CHILD_NAME is not NULL, then a copy of the child's name
- is saved in *CHILD_NAME. This copy must be deallocated
- with xfree after use.
+ is saved in *CHILD_NAME.
- If CHILD_VALUE is not NULL, then save the child's value
in *CHILD_VALUE. Same thing for the child's type with
CHILD_TYPE if not NULL.
- If CHILD_PATH_EXPR is not NULL, then compute the child's
- path expression. The resulting string must be deallocated
- after use with xfree.
+ path expression.
Computing the child's path expression requires the PARENT_PATH_EXPR
to be non-NULL. Otherwise, PARENT_PATH_EXPR may be null if
@@ -805,9 +803,7 @@ ada_varobj_get_type_of_child (struct value *parent_value,
}
/* Return a string that contains the image of the given VALUE, using
- the print options OPTS as the options for formatting the result.
-
- The resulting string must be deallocated after use with xfree. */
+ the print options OPTS as the options for formatting the result. */
static std::string
ada_varobj_get_value_image (struct value *value,
@@ -825,9 +821,7 @@ ada_varobj_get_value_image (struct value *value,
in the array inside square brackets, but there are situations where
it's useful to add more info.
- OPTS are the print options used when formatting the result.
-
- The result should be deallocated after use using xfree. */
+ OPTS are the print options used when formatting the result. */
static std::string
ada_varobj_get_value_of_array_variable (struct value *value,
diff --git a/gdb/addrmap.c b/gdb/addrmap.c
index c625973..4549350 100644
--- a/gdb/addrmap.c
+++ b/gdb/addrmap.c
@@ -398,20 +398,20 @@ namespace selftests {
/* Convert P to CORE_ADDR. */
static CORE_ADDR
-core_addr (void *p)
+core_addr (const void *p)
{
- return (CORE_ADDR)(uintptr_t)p;
+ return (CORE_ADDR) (uintptr_t) p;
}
/* Check that &ARRAY[LOW]..&ARRAY[HIGH] has VAL in MAP. */
-#define CHECK_ADDRMAP_FIND(MAP, ARRAY, LOW, HIGH, VAL) \
- do \
- { \
- for (unsigned i = LOW; i <= HIGH; ++i) \
- SELF_CHECK (MAP->find (core_addr (&ARRAY[i])) == VAL); \
- } \
- while (0)
+static void
+check_addrmap_find (const addrmap &map, const char *array, unsigned int low,
+ unsigned int high, const void *val)
+{
+ for (unsigned int i = low; i <= high; ++i)
+ SELF_CHECK (map.find (core_addr (&array[i])) == val);
+}
/* Entry point for addrmap unit tests. */
@@ -427,25 +427,24 @@ test_addrmap ()
/* Create mutable addrmap. */
auto_obstack temp_obstack;
- auto map = std::make_unique<struct addrmap_mutable> ();
- SELF_CHECK (map != nullptr);
+ addrmap_mutable map;
/* Check initial state. */
- CHECK_ADDRMAP_FIND (map, array, 0, 19, nullptr);
+ check_addrmap_find (map, array, 0, 19, nullptr);
/* Insert address range into mutable addrmap. */
- map->set_empty (core_addr (&array[10]), core_addr (&array[12]), val1);
- CHECK_ADDRMAP_FIND (map, array, 0, 9, nullptr);
- CHECK_ADDRMAP_FIND (map, array, 10, 12, val1);
- CHECK_ADDRMAP_FIND (map, array, 13, 19, nullptr);
+ map.set_empty (core_addr (&array[10]), core_addr (&array[12]), val1);
+ check_addrmap_find (map, array, 0, 9, nullptr);
+ check_addrmap_find (map, array, 10, 12, val1);
+ check_addrmap_find (map, array, 13, 19, nullptr);
/* Create corresponding fixed addrmap. */
addrmap_fixed *map2
- = new (&temp_obstack) addrmap_fixed (&temp_obstack, map.get ());
+ = new (&temp_obstack) addrmap_fixed (&temp_obstack, &map);
SELF_CHECK (map2 != nullptr);
- CHECK_ADDRMAP_FIND (map2, array, 0, 9, nullptr);
- CHECK_ADDRMAP_FIND (map2, array, 10, 12, val1);
- CHECK_ADDRMAP_FIND (map2, array, 13, 19, nullptr);
+ check_addrmap_find (*map2, array, 0, 9, nullptr);
+ check_addrmap_find (*map2, array, 10, 12, val1);
+ check_addrmap_find (*map2, array, 13, 19, nullptr);
/* Iterate over both addrmaps. */
auto callback = [&] (CORE_ADDR start_addr, void *obj)
@@ -460,29 +459,27 @@ test_addrmap ()
SELF_CHECK (false);
return 0;
};
- SELF_CHECK (map->foreach (callback) == 0);
+ SELF_CHECK (map.foreach (callback) == 0);
SELF_CHECK (map2->foreach (callback) == 0);
/* Relocate fixed addrmap. */
map2->relocate (1);
- CHECK_ADDRMAP_FIND (map2, array, 0, 10, nullptr);
- CHECK_ADDRMAP_FIND (map2, array, 11, 13, val1);
- CHECK_ADDRMAP_FIND (map2, array, 14, 19, nullptr);
+ check_addrmap_find (*map2, array, 0, 10, nullptr);
+ check_addrmap_find (*map2, array, 11, 13, val1);
+ check_addrmap_find (*map2, array, 14, 19, nullptr);
/* Insert partially overlapping address range into mutable addrmap. */
- map->set_empty (core_addr (&array[11]), core_addr (&array[13]), val2);
- CHECK_ADDRMAP_FIND (map, array, 0, 9, nullptr);
- CHECK_ADDRMAP_FIND (map, array, 10, 12, val1);
- CHECK_ADDRMAP_FIND (map, array, 13, 13, val2);
- CHECK_ADDRMAP_FIND (map, array, 14, 19, nullptr);
+ map.set_empty (core_addr (&array[11]), core_addr (&array[13]), val2);
+ check_addrmap_find (map, array, 0, 9, nullptr);
+ check_addrmap_find (map, array, 10, 12, val1);
+ check_addrmap_find (map, array, 13, 13, val2);
+ check_addrmap_find (map, array, 14, 19, nullptr);
}
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_addrmap ();
-void
-_initialize_addrmap ()
+INIT_GDB_FILE (addrmap)
{
#if GDB_SELF_TEST
selftests::register_test ("addrmap", selftests::test_addrmap);
diff --git a/gdb/agent.c b/gdb/agent.c
index 2009980..dd3a557 100644
--- a/gdb/agent.c
+++ b/gdb/agent.c
@@ -73,9 +73,7 @@ agent_new_objfile (struct objfile *objfile)
agent_look_up_symbols (objfile);
}
-void _initialize_agent ();
-void
-_initialize_agent ()
+INIT_GDB_FILE (agent)
{
gdb::observers::new_objfile.attach (agent_new_objfile,
"agent");
diff --git a/gdb/aix-thread.c b/gdb/aix-thread.c
index 2fd6121..1e3015d 100644
--- a/gdb/aix-thread.c
+++ b/gdb/aix-thread.c
@@ -2062,9 +2062,7 @@ aix_thread_target::get_ada_task_ptid (long lwp, ULONGEST thread)
/* Module startup initialization function, automagically called by
init.c. */
-void _initialize_aix_thread ();
-void
-_initialize_aix_thread ()
+INIT_GDB_FILE (aix_thread)
{
/* Notice when object files get loaded and unloaded. */
gdb::observers::new_objfile.attach (new_objfile, "aix-thread");
diff --git a/gdb/alpha-bsd-nat.c b/gdb/alpha-bsd-nat.c
index 85fb525..5f7d3ef 100644
--- a/gdb/alpha-bsd-nat.c
+++ b/gdb/alpha-bsd-nat.c
@@ -156,9 +156,7 @@ alphabsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
}
-void _initialize_alphabsd_nat ();
-void
-_initialize_alphabsd_nat ()
+INIT_GDB_FILE (alphabsd_nat)
{
add_inf_child_target (&the_alpha_bsd_nat_target);
diff --git a/gdb/alpha-linux-nat.c b/gdb/alpha-linux-nat.c
index 6d9de81..1297a45 100644
--- a/gdb/alpha-linux-nat.c
+++ b/gdb/alpha-linux-nat.c
@@ -100,9 +100,7 @@ alpha_linux_nat_target::register_u_offset (struct gdbarch *gdbarch,
return FPR_BASE + regno - gdbarch_fp0_regnum (gdbarch);
}
-void _initialize_alpha_linux_nat ();
-void
-_initialize_alpha_linux_nat ()
+INIT_GDB_FILE (alpha_linux_nat)
{
linux_target = &the_alpha_linux_nat_target;
add_inf_child_target (&the_alpha_linux_nat_target);
diff --git a/gdb/alpha-linux-tdep.c b/gdb/alpha-linux-tdep.c
index 2f6affa..8b4b4f1 100644
--- a/gdb/alpha-linux-tdep.c
+++ b/gdb/alpha-linux-tdep.c
@@ -17,6 +17,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "frame.h"
+#include "solib-svr4-linux.h"
#include "osabi.h"
#include "solib-svr4.h"
#include "symtab.h"
@@ -369,9 +370,7 @@ alpha_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_elt_size = 8;
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
-
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
@@ -386,9 +385,7 @@ alpha_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
alpha_linux_gdb_signal_to_target);
}
-void _initialize_alpha_linux_tdep ();
-void
-_initialize_alpha_linux_tdep ()
+INIT_GDB_FILE (alpha_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_LINUX,
alpha_linux_init_abi);
diff --git a/gdb/alpha-netbsd-tdep.c b/gdb/alpha-netbsd-tdep.c
index a240039..0f5e305 100644
--- a/gdb/alpha-netbsd-tdep.c
+++ b/gdb/alpha-netbsd-tdep.c
@@ -264,8 +264,7 @@ alphanbsd_init_abi (struct gdbarch_info info,
set_gdbarch_software_single_step (gdbarch, alpha_software_single_step);
/* NetBSD/alpha has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
tdep->dynamic_sigtramp_offset = alphanbsd_sigtramp_offset;
tdep->pc_in_sigtramp = alphanbsd_pc_in_sigtramp;
@@ -279,9 +278,7 @@ alphanbsd_init_abi (struct gdbarch_info info,
}
-void _initialize_alphanbsd_tdep ();
-void
-_initialize_alphanbsd_tdep ()
+INIT_GDB_FILE (alphanbsd_tdep)
{
/* Even though NetBSD/alpha used ELF since day one, it used the
traditional a.out-style core dump format before NetBSD 1.6, but
diff --git a/gdb/alpha-obsd-tdep.c b/gdb/alpha-obsd-tdep.c
index b5ddbbc..63f9050 100644
--- a/gdb/alpha-obsd-tdep.c
+++ b/gdb/alpha-obsd-tdep.c
@@ -109,8 +109,7 @@ alphaobsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_software_single_step (gdbarch, alpha_software_single_step);
/* OpenBSD/alpha has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
set_gdbarch_skip_solib_resolver (gdbarch, obsd_skip_solib_resolver);
tdep->dynamic_sigtramp_offset = alphaobsd_sigtramp_offset;
@@ -125,9 +124,7 @@ alphaobsd_init_abi(struct gdbarch_info info, struct gdbarch *gdbarch)
}
-void _initialize_alphaobsd_tdep ();
-void
-_initialize_alphaobsd_tdep ()
+INIT_GDB_FILE (alphaobsd_tdep)
{
gdbarch_register_osabi (bfd_arch_alpha, 0, GDB_OSABI_OPENBSD,
alphaobsd_init_abi);
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index f0272b0..92a6411 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -1815,9 +1815,7 @@ alpha_dwarf2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_base_append_sniffer (gdbarch, dwarf2_frame_base_sniffer);
}
-void _initialize_alpha_tdep ();
-void
-_initialize_alpha_tdep ()
+INIT_GDB_FILE (alpha_tdep)
{
gdbarch_register (bfd_arch_alpha, alpha_gdbarch_init, NULL);
diff --git a/gdb/amd-dbgapi-target.c b/gdb/amd-dbgapi-target.c
index 8e067b6..a0210f4 100644
--- a/gdb/amd-dbgapi-target.c
+++ b/gdb/amd-dbgapi-target.c
@@ -104,12 +104,26 @@ amd_dbgapi_lib_debug_module ()
static gdb::observers::token amd_dbgapi_target_inferior_created_observer_token;
+/* See amd-dbgapi-target.h. */
+
const gdb::observers::token &
get_amd_dbgapi_target_inferior_created_observer_token ()
{
return amd_dbgapi_target_inferior_created_observer_token;
}
+/* inferior_execd observer token. */
+
+static gdb::observers::token amd_dbgapi_target_inferior_execd_observer_token;
+
+/* See amd-dbgapi-target.h. */
+
+const gdb::observers::token &
+get_amd_dbgapi_target_inferior_execd_observer_token ()
+{
+ return amd_dbgapi_target_inferior_execd_observer_token;
+}
+
/* A type holding coordinates, etc. info for a given wave. */
struct wave_coordinates
@@ -234,7 +248,7 @@ struct amd_dbgapi_inferior_info
};
static amd_dbgapi_event_id_t process_event_queue
- (amd_dbgapi_process_id_t process_id,
+ (amd_dbgapi_inferior_info &info,
amd_dbgapi_event_kind_t until_event_kind = AMD_DBGAPI_EVENT_KIND_NONE);
static const target_info amd_dbgapi_target_info = {
@@ -443,6 +457,32 @@ async_event_handler_mark ()
mark_async_event_handler (amd_dbgapi_async_event_handler);
}
+/* Set forward progress requirement to REQUIRE for inferior INFO. */
+
+static void
+require_forward_progress (amd_dbgapi_inferior_info &info, bool require)
+{
+ /* If we try to disable forward progress requirement but the target expects
+ resumed threads to be committed to the target, we could wait for events
+ that will never arrive. */
+ if (!require)
+ gdb_assert (!info.inf->process_target ()->commit_resumed_state);
+
+ gdb_assert (info.process_id != AMD_DBGAPI_PROCESS_NONE);
+
+ /* Don't do unnecessary calls to amd-dbgapi to avoid polluting the logs. */
+ if (info.forward_progress_required == require)
+ return;
+
+ const auto progress
+ = require ? AMD_DBGAPI_PROGRESS_NORMAL : AMD_DBGAPI_PROGRESS_NO_FORWARD;
+ const auto status
+ = amd_dbgapi_process_set_progress (info.process_id, progress);
+ gdb_assert (status == AMD_DBGAPI_STATUS_SUCCESS);
+
+ info.forward_progress_required = require;
+}
+
/* Set forward progress requirement to REQUIRE for all processes of PROC_TARGET
matching PTID. */
@@ -457,21 +497,8 @@ require_forward_progress (ptid_t ptid, process_stratum_target *proc_target,
amd_dbgapi_inferior_info *info = get_amd_dbgapi_inferior_info (inf);
- if (info->process_id == AMD_DBGAPI_PROCESS_NONE)
- continue;
-
- /* Don't do unnecessary calls to amd-dbgapi to avoid polluting the logs. */
- if (info->forward_progress_required == require)
- continue;
-
- amd_dbgapi_status_t status
- = amd_dbgapi_process_set_progress
- (info->process_id, (require
- ? AMD_DBGAPI_PROGRESS_NORMAL
- : AMD_DBGAPI_PROGRESS_NO_FORWARD));
- gdb_assert (status == AMD_DBGAPI_STATUS_SUCCESS);
-
- info->forward_progress_required = require;
+ if (info->process_id != AMD_DBGAPI_PROCESS_NONE)
+ require_forward_progress (*info, require);
/* If ptid targets a single inferior and we have found it, no need to
continue. */
@@ -555,11 +582,12 @@ amd_dbgapi_target_breakpoint::check_status (struct bpstat *bs)
if (action == AMD_DBGAPI_BREAKPOINT_ACTION_RESUME)
return;
+ require_forward_progress (*info, false);
+
/* If the action is AMD_DBGAPI_BREAKPOINT_ACTION_HALT, we need to wait until
a breakpoint resume event for this breakpoint_id is seen. */
amd_dbgapi_event_id_t resume_event_id
- = process_event_queue (info->process_id,
- AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME);
+ = process_event_queue (*info, AMD_DBGAPI_EVENT_KIND_BREAKPOINT_RESUME);
/* We should always get a breakpoint_resume event after processing all
events generated by reporting the breakpoint hit. */
@@ -1138,32 +1166,14 @@ add_gpu_thread (inferior *inf, ptid_t wave_ptid)
/* Process an event that was just pulled out of the amd-dbgapi library. */
static void
-process_one_event (amd_dbgapi_event_id_t event_id,
+process_one_event (amd_dbgapi_inferior_info &info,
+ amd_dbgapi_event_id_t event_id,
amd_dbgapi_event_kind_t event_kind)
{
/* Automatically mark this event processed when going out of scope. */
scoped_amd_dbgapi_event_processed mark_event_processed (event_id);
- amd_dbgapi_process_id_t process_id;
- amd_dbgapi_status_t status
- = amd_dbgapi_event_get_info (event_id, AMD_DBGAPI_EVENT_INFO_PROCESS,
- sizeof (process_id), &process_id);
- if (status != AMD_DBGAPI_STATUS_SUCCESS)
- error (_("event_get_info for event_%ld failed (%s)"), event_id.handle,
- get_status_string (status));
-
- amd_dbgapi_os_process_id_t pid;
- status = amd_dbgapi_process_get_info (process_id,
- AMD_DBGAPI_PROCESS_INFO_OS_ID,
- sizeof (pid), &pid);
- if (status != AMD_DBGAPI_STATUS_SUCCESS)
- error (_("process_get_info for process_%ld failed (%s)"),
- process_id.handle, get_status_string (status));
-
- auto *proc_target = current_inferior ()->process_target ();
- inferior *inf = find_inferior_pid (proc_target, pid);
- gdb_assert (inf != nullptr);
- amd_dbgapi_inferior_info *info = get_amd_dbgapi_inferior_info (inf);
+ gdb_assert (info.inf != nullptr);
switch (event_kind)
{
@@ -1171,14 +1181,14 @@ process_one_event (amd_dbgapi_event_id_t event_id,
case AMD_DBGAPI_EVENT_KIND_WAVE_STOP:
{
amd_dbgapi_wave_id_t wave_id;
- status
+ amd_dbgapi_status_t status
= amd_dbgapi_event_get_info (event_id, AMD_DBGAPI_EVENT_INFO_WAVE,
sizeof (wave_id), &wave_id);
if (status != AMD_DBGAPI_STATUS_SUCCESS)
error (_("event_get_info for event_%ld failed (%s)"),
event_id.handle, get_status_string (status));
- ptid_t event_ptid = make_gpu_ptid (pid, wave_id);
+ ptid_t event_ptid = make_gpu_ptid (info.inf->pid, wave_id);
target_waitstatus ws;
amd_dbgapi_wave_stop_reasons_t stop_reason;
@@ -1219,9 +1229,10 @@ process_one_event (amd_dbgapi_event_id_t event_id,
else
ws.set_stopped (GDB_SIGNAL_0);
- thread_info *thread = proc_target->find_thread (event_ptid);
+ thread_info *thread
+ = info.inf->process_target ()->find_thread (event_ptid);
if (thread == nullptr)
- thread = add_gpu_thread (inf, event_ptid);
+ thread = add_gpu_thread (info.inf, event_ptid);
/* If the wave is stopped because of a software breakpoint, the
program counter needs to be adjusted so that it points to the
@@ -1243,7 +1254,7 @@ process_one_event (amd_dbgapi_event_id_t event_id,
error (_("wave_get_info for wave_%ld failed (%s)"),
wave_id.handle, get_status_string (status));
- info->wave_events.emplace_back (event_ptid, ws);
+ info.wave_events.emplace_back (event_ptid, ws);
break;
}
@@ -1261,7 +1272,7 @@ process_one_event (amd_dbgapi_event_id_t event_id,
When amd_dbgapi_target_breakpoint::check_status is called, the current
inferior is the inferior that hit the breakpoint, which should still be
the case now. */
- gdb_assert (inf == current_inferior ());
+ gdb_assert (info.inf == current_inferior ());
handle_solib_event ();
break;
@@ -1275,22 +1286,22 @@ process_one_event (amd_dbgapi_event_id_t event_id,
{
amd_dbgapi_runtime_state_t runtime_state;
- status = amd_dbgapi_event_get_info (event_id,
- AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE,
- sizeof (runtime_state),
- &runtime_state);
+ amd_dbgapi_status_t status
+ = amd_dbgapi_event_get_info (event_id,
+ AMD_DBGAPI_EVENT_INFO_RUNTIME_STATE,
+ sizeof (runtime_state), &runtime_state);
if (status != AMD_DBGAPI_STATUS_SUCCESS)
error (_("event_get_info for event_%ld failed (%s)"),
event_id.handle, get_status_string (status));
gdb_assert (runtime_state == AMD_DBGAPI_RUNTIME_STATE_UNLOADED);
gdb_assert
- (info->runtime_state == AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS);
+ (info.runtime_state == AMD_DBGAPI_RUNTIME_STATE_LOADED_SUCCESS);
- info->runtime_state = runtime_state;
+ info.runtime_state = runtime_state;
- gdb_assert (inf->target_is_pushed (&the_amd_dbgapi_target));
- inf->unpush_target (&the_amd_dbgapi_target);
+ gdb_assert (info.inf->target_is_pushed (&the_amd_dbgapi_target));
+ info.inf->unpush_target (&the_amd_dbgapi_target);
}
break;
@@ -1331,20 +1342,18 @@ event_kind_str (amd_dbgapi_event_kind_t kind)
gdb_assert_not_reached ("unhandled amd_dbgapi_event_kind_t value");
}
-/* Drain the dbgapi event queue of a given process_id, or of all processes if
- process_id is AMD_DBGAPI_PROCESS_NONE. Stop processing the events if an
- event of a given kind is requested and `process_id` is not
- AMD_DBGAPI_PROCESS_NONE. Wave stop events that are not returned are queued
- into their inferior's amd_dbgapi_inferior_info pending wave events. */
+/* Drain the dbgapi event queue of a given inferior. Stop processing the
+ events if an event of a given kind is requested (not AMD_DBGAPI_EVENT_NONE).
+ Wave stop events that are not returned are queued into their inferior's
+ amd_dbgapi_inferior_info pending wave events. */
static amd_dbgapi_event_id_t
-process_event_queue (amd_dbgapi_process_id_t process_id,
+process_event_queue (amd_dbgapi_inferior_info &info,
amd_dbgapi_event_kind_t until_event_kind)
{
- /* An event of a given type can only be requested from a single
- process_id. */
- gdb_assert (until_event_kind == AMD_DBGAPI_EVENT_KIND_NONE
- || process_id != AMD_DBGAPI_PROCESS_NONE);
+ /* Pulling events with forward progress required may result in bad
+ performance, make sure it is not required. */
+ gdb_assert (!info.forward_progress_required);
while (true)
{
@@ -1352,7 +1361,7 @@ process_event_queue (amd_dbgapi_process_id_t process_id,
amd_dbgapi_event_kind_t event_kind;
amd_dbgapi_status_t status
- = amd_dbgapi_process_next_pending_event (process_id, &event_id,
+ = amd_dbgapi_process_next_pending_event (info.process_id, &event_id,
&event_kind);
if (status != AMD_DBGAPI_STATUS_SUCCESS)
@@ -1368,7 +1377,7 @@ process_event_queue (amd_dbgapi_process_id_t process_id,
if (event_id == AMD_DBGAPI_EVENT_NONE || event_kind == until_event_kind)
return event_id;
- process_one_event (event_id, event_kind);
+ process_one_event (info, event_id, event_kind);
}
}
@@ -1473,7 +1482,7 @@ amd_dbgapi_target::wait (ptid_t ptid, struct target_waitstatus *ws,
/* Drain the events for the current inferior from the amd_dbgapi and
preserve the ordering. */
auto info = get_amd_dbgapi_inferior_info (current_inferior ());
- process_event_queue (info->process_id, AMD_DBGAPI_EVENT_KIND_NONE);
+ process_event_queue (*info);
std::tie (event_ptid, gpu_waitstatus) = consume_one_event (ptid.pid ());
if (event_ptid == minus_one_ptid)
@@ -1860,13 +1869,14 @@ amd_dbgapi_target::update_thread_list ()
if (changed == AMD_DBGAPI_CHANGED_NO)
continue;
+ gdb::unique_xmalloc_ptr<amd_dbgapi_wave_id_t> wave_list_holder
+ (wave_list);
+
/* Create a set and free the wave list. */
std::set<ptid_t::tid_type> threads;
for (size_t i = 0; i < count; ++i)
threads.emplace (wave_list[i].handle);
- xfree (wave_list);
-
/* Prune the wave_ids that already have a thread_info. Any thread_info
which does not have a corresponding wave_id represents a wave which
is gone at this point and should be deleted. */
@@ -2479,10 +2489,7 @@ maybe_reset_amd_dbgapi ()
get_status_string (status));
}
-extern initialize_file_ftype _initialize_amd_dbgapi_target;
-
-void
-_initialize_amd_dbgapi_target ()
+INIT_GDB_FILE (amd_dbgapi_target)
{
/* Make sure the loaded debugger library version is greater than or equal to
the one used to build GDB. */
@@ -2510,7 +2517,9 @@ _initialize_amd_dbgapi_target ()
gdb::observers::inferior_created.attach
(amd_dbgapi_target_inferior_created,
amd_dbgapi_target_inferior_created_observer_token, "amd-dbgapi");
- gdb::observers::inferior_execd.attach (amd_dbgapi_inferior_execd, "amd-dbgapi");
+ gdb::observers::inferior_execd.attach
+ (amd_dbgapi_inferior_execd, amd_dbgapi_target_inferior_execd_observer_token,
+ "amd-dbgapi");
gdb::observers::inferior_forked.attach (amd_dbgapi_inferior_forked, "amd-dbgapi");
gdb::observers::inferior_exit.attach (amd_dbgapi_inferior_exited, "amd-dbgapi");
gdb::observers::inferior_pre_detach.attach (amd_dbgapi_inferior_pre_detach, "amd-dbgapi");
diff --git a/gdb/amd-dbgapi-target.h b/gdb/amd-dbgapi-target.h
index dd37ba3..fe3a50b 100644
--- a/gdb/amd-dbgapi-target.h
+++ b/gdb/amd-dbgapi-target.h
@@ -54,6 +54,11 @@ using is_amd_dbgapi_handle
const gdb::observers::token &
get_amd_dbgapi_target_inferior_created_observer_token ();
+/* Get the token of amd-dbgapi's inferior_execd observer. */
+
+const gdb::observers::token &
+ get_amd_dbgapi_target_inferior_execd_observer_token ();
+
/* Comparison operators for amd-dbgapi handle types. */
template <typename T,
diff --git a/gdb/amd64-darwin-tdep.c b/gdb/amd64-darwin-tdep.c
index dde023e..c687b1f 100644
--- a/gdb/amd64-darwin-tdep.c
+++ b/gdb/amd64-darwin-tdep.c
@@ -113,12 +113,10 @@ x86_darwin_init_abi_64 (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->jb_pc_offset = 56;
- set_gdbarch_so_ops (gdbarch, &darwin_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_darwin_solib_ops);
}
-void _initialize_amd64_darwin_tdep ();
-void
-_initialize_amd64_darwin_tdep ()
+INIT_GDB_FILE (amd64_darwin_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
GDB_OSABI_DARWIN, x86_darwin_init_abi_64);
diff --git a/gdb/amd64-dicos-tdep.c b/gdb/amd64-dicos-tdep.c
index 3e9b8c7..d7c211b 100644
--- a/gdb/amd64-dicos-tdep.c
+++ b/gdb/amd64-dicos-tdep.c
@@ -45,9 +45,7 @@ amd64_dicos_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_amd64_dicos_tdep ();
-void
-_initialize_amd64_dicos_tdep ()
+INIT_GDB_FILE (amd64_dicos_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_elf_flavour,
amd64_dicos_osabi_sniffer);
diff --git a/gdb/amd64-fbsd-nat.c b/gdb/amd64-fbsd-nat.c
index a783a5d1..89bb049 100644
--- a/gdb/amd64-fbsd-nat.c
+++ b/gdb/amd64-fbsd-nat.c
@@ -324,9 +324,7 @@ amd64_fbsd_nat_target::read_description ()
return i386_target_description (X86_XSTATE_SSE_MASK, true);
}
-void _initialize_amd64fbsd_nat ();
-void
-_initialize_amd64fbsd_nat ()
+INIT_GDB_FILE (amd64fbsd_nat)
{
add_inf_child_target (&the_amd64_fbsd_nat_target);
diff --git a/gdb/amd64-fbsd-tdep.c b/gdb/amd64-fbsd-tdep.c
index eea0105..12f1e22 100644
--- a/gdb/amd64-fbsd-tdep.c
+++ b/gdb/amd64-fbsd-tdep.c
@@ -328,8 +328,7 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
amd64fbsd_core_read_description);
/* FreeBSD uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
@@ -337,9 +336,7 @@ amd64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
amd64fbsd_get_thread_local_address);
}
-void _initialize_amd64fbsd_tdep ();
-void
-_initialize_amd64fbsd_tdep ()
+INIT_GDB_FILE (amd64fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
GDB_OSABI_FREEBSD, amd64fbsd_init_abi);
diff --git a/gdb/amd64-gnu-tdep.c b/gdb/amd64-gnu-tdep.c
index 602fa8e..2b7337b 100644
--- a/gdb/amd64-gnu-tdep.c
+++ b/gdb/amd64-gnu-tdep.c
@@ -218,13 +218,10 @@ amd64_gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_num_regs = ARRAY_SIZE (amd64_gnu_sc_reg_offset);
/* Hurd uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
}
-void _initialize_amd64_gnu_tdep ();
-void
-_initialize_amd64_gnu_tdep ()
+INIT_GDB_FILE (amd64_gnu_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
GDB_OSABI_HURD, amd64_gnu_init_abi);
diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
index 75e63c6..dbb9b32 100644
--- a/gdb/amd64-linux-nat.c
+++ b/gdb/amd64-linux-nat.c
@@ -424,9 +424,7 @@ amd64_linux_nat_target::low_siginfo_fixup (siginfo_t *ptrace,
return false;
}
-void _initialize_amd64_linux_nat ();
-void
-_initialize_amd64_linux_nat ()
+INIT_GDB_FILE (amd64_linux_nat)
{
amd64_native_gregset32_reg_offset = amd64_linux_gregset32_reg_offset;
amd64_native_gregset32_num_regs = I386_LINUX_NUM_REGS;
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index 494e744..13e9c0e 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -33,7 +33,10 @@
#include "amd64-linux-tdep.h"
#include "i386-linux-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
+#include "svr4-tls-tdep.h"
#include "gdbsupport/x86-xstate.h"
+#include "inferior.h"
#include "amd64-tdep.h"
#include "solib-svr4.h"
@@ -1832,6 +1835,39 @@ amd64_linux_remove_non_address_bits_watchpoint (gdbarch *gdbarch,
return (addr & amd64_linux_lam_untag_mask ());
}
+/* Fetch and return the TLS DTV (dynamic thread vector) address for PTID.
+ Throw a suitable TLS error if something goes wrong. */
+
+static CORE_ADDR
+amd64_linux_get_tls_dtv_addr (struct gdbarch *gdbarch, ptid_t ptid,
+ enum svr4_tls_libc libc)
+{
+ /* On x86-64, the thread pointer is found in the fsbase register. */
+ regcache *regcache
+ = get_thread_arch_regcache (current_inferior (), ptid, gdbarch);
+ target_fetch_registers (regcache, AMD64_FSBASE_REGNUM);
+ ULONGEST fsbase;
+ if (regcache->cooked_read (AMD64_FSBASE_REGNUM, &fsbase) != REG_VALID)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch thread pointer"));
+
+ /* The thread pointer (fsbase) points at the TCB (thread control
+ block). The first two members of this struct are both pointers,
+ where the first will be a pointer to the TCB (i.e. it points at
+ itself) and the second will be a pointer to the DTV (dynamic
+ thread vector). There are many other fields too, but the one
+ we care about here is the DTV pointer. Compute the address
+ of the DTV pointer, fetch it, and convert it to an address. */
+ CORE_ADDR dtv_ptr_addr = fsbase + gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
+ gdb::byte_vector buf (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ if (target_read_memory (dtv_ptr_addr, buf.data (), buf.size ()) != 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch DTV address"));
+
+ const struct builtin_type *builtin = builtin_type (gdbarch);
+ CORE_ADDR dtv_addr = gdbarch_pointer_to_address
+ (gdbarch, builtin->builtin_data_ptr, buf.data ());
+ return dtv_addr;
+}
+
static void
amd64_linux_init_abi_common(struct gdbarch_info info, struct gdbarch *gdbarch,
int num_disp_step_buffers)
@@ -1862,6 +1898,9 @@ amd64_linux_init_abi_common(struct gdbarch_info info, struct gdbarch *gdbarch,
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
+ set_gdbarch_get_thread_local_address (gdbarch,
+ svr4_tls_get_thread_local_address);
+ svr4_tls_register_tls_methods (info, gdbarch, amd64_linux_get_tls_dtv_addr);
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
@@ -2092,8 +2131,7 @@ amd64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->i386_syscall_record = amd64_linux_syscall_record;
/* GNU/Linux uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* Register DTrace handlers. */
set_gdbarch_dtrace_parse_probe_argument (gdbarch, amd64_dtrace_parse_probe_argument);
@@ -2306,13 +2344,10 @@ amd64_x32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->i386_syscall_record = amd64_x32_linux_syscall_record;
/* GNU/Linux uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
}
-void _initialize_amd64_linux_tdep ();
-void
-_initialize_amd64_linux_tdep ()
+INIT_GDB_FILE (amd64_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
GDB_OSABI_LINUX, amd64_linux_init_abi);
diff --git a/gdb/amd64-netbsd-nat.c b/gdb/amd64-netbsd-nat.c
index 92ad4b2..c960b3c 100644
--- a/gdb/amd64-netbsd-nat.c
+++ b/gdb/amd64-netbsd-nat.c
@@ -55,9 +55,7 @@ static int amd64nbsd32_r_reg_offset[] =
static amd64_bsd_nat_target<nbsd_nat_target> the_amd64_nbsd_nat_target;
-void _initialize_amd64nbsd_nat ();
-void
-_initialize_amd64nbsd_nat ()
+INIT_GDB_FILE (amd64nbsd_nat)
{
amd64_native_gregset32_reg_offset = amd64nbsd32_r_reg_offset;
amd64_native_gregset32_num_regs = ARRAY_SIZE (amd64nbsd32_r_reg_offset);
diff --git a/gdb/amd64-netbsd-tdep.c b/gdb/amd64-netbsd-tdep.c
index f4464b7..3dbbdd9 100644
--- a/gdb/amd64-netbsd-tdep.c
+++ b/gdb/amd64-netbsd-tdep.c
@@ -116,13 +116,10 @@ amd64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_num_regs = ARRAY_SIZE (amd64nbsd_r_reg_offset);
/* NetBSD uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
}
-void _initialize_amd64nbsd_tdep ();
-void
-_initialize_amd64nbsd_tdep ()
+INIT_GDB_FILE (amd64nbsd_tdep)
{
/* The NetBSD/amd64 native dependent code makes this assumption. */
gdb_assert (ARRAY_SIZE (amd64nbsd_r_reg_offset) == AMD64_NUM_GREGS);
diff --git a/gdb/amd64-obsd-nat.c b/gdb/amd64-obsd-nat.c
index 93d38df..8471520 100644
--- a/gdb/amd64-obsd-nat.c
+++ b/gdb/amd64-obsd-nat.c
@@ -127,9 +127,7 @@ amd64obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
static amd64_bsd_nat_target<obsd_nat_target> the_amd64_obsd_nat_target;
-void _initialize_amd64obsd_nat ();
-void
-_initialize_amd64obsd_nat ()
+INIT_GDB_FILE (amd64obsd_nat)
{
amd64_native_gregset32_reg_offset = amd64obsd32_r_reg_offset;
amd64_native_gregset32_num_regs = ARRAY_SIZE (amd64obsd32_r_reg_offset);
diff --git a/gdb/amd64-obsd-tdep.c b/gdb/amd64-obsd-tdep.c
index 5acc380..6b60e0a 100644
--- a/gdb/amd64-obsd-tdep.c
+++ b/gdb/amd64-obsd-tdep.c
@@ -443,16 +443,13 @@ amd64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
bsd_uthread_set_collect_uthread (gdbarch, amd64obsd_collect_uthread);
/* OpenBSD uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
/* Unwind kernel trap frames correctly. */
frame_unwind_prepend_unwinder (gdbarch, &amd64obsd_trapframe_unwind);
}
-void _initialize_amd64obsd_tdep ();
-void
-_initialize_amd64obsd_tdep ()
+INIT_GDB_FILE (amd64obsd_tdep)
{
/* The OpenBSD/amd64 native dependent code makes this assumption. */
gdb_assert (ARRAY_SIZE (amd64obsd_r_reg_offset) == AMD64_NUM_GREGS);
diff --git a/gdb/amd64-sol2-tdep.c b/gdb/amd64-sol2-tdep.c
index 84d5f87..da551a1 100644
--- a/gdb/amd64-sol2-tdep.c
+++ b/gdb/amd64-sol2-tdep.c
@@ -96,13 +96,10 @@ amd64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_num_regs = tdep->gregset_num_regs;
/* Solaris uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
}
-void _initialize_amd64_sol2_tdep ();
-void
-_initialize_amd64_sol2_tdep ()
+INIT_GDB_FILE (amd64_sol2_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64,
GDB_OSABI_SOLARIS, amd64_sol2_init_abi);
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index e495778..82dd1e0 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -2129,6 +2129,30 @@ amd64_alloc_frame_cache (void)
return cache;
}
+/* Check whether PC is at "endbr64" instruction. If so, return PC past it.
+ Otherwise, return PC passed to this function. */
+
+static CORE_ADDR
+amd64_skip_endbr (gdbarch *gdbarch, CORE_ADDR pc)
+{
+ static const gdb_byte endbr64[4] = { 0xf3, 0x0f, 0x1e, 0xfa };
+
+ bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+ gdb_byte buf[3];
+ gdb_byte op = read_code_unsigned_integer (pc, 1, byte_order);
+
+ /* Check for the `endbr64` instruction, skip it if found. */
+ if (op == endbr64[0])
+ {
+ read_code (pc + 1, buf, 3);
+
+ if (memcmp (buf, &endbr64[1], 3) == 0)
+ return pc + 4;
+ }
+
+ return pc;
+}
+
/* GCC 4.4 and later, can put code in the prologue to realign the
stack pointer. Check whether PC points to such code, and update
CACHE accordingly. Return the first instruction after the code
@@ -2466,35 +2490,18 @@ amd64_x32_analyze_stack_align (CORE_ADDR pc, CORE_ADDR current_pc,
return std::min (pc + offset + 2, current_pc);
}
-/* Do a limited analysis of the prologue at PC and update CACHE
- accordingly. Bail out early if CURRENT_PC is reached. Return the
- address where the analysis stopped.
-
- We will handle only functions beginning with:
-
- pushq %rbp 0x55
- movq %rsp, %rbp 0x48 0x89 0xe5 (or 0x48 0x8b 0xec)
-
- or (for the X32 ABI):
-
- pushq %rbp 0x55
- movl %esp, %ebp 0x89 0xe5 (or 0x8b 0xec)
-
- The `endbr64` instruction can be found before these sequences, and will be
- skipped if found.
+/* Analyze frame setup instructions at PC on behalf of amd64_analyze_prologue
+ and update CACHE accordingly. Bail out early if CURRENT_PC is reached.
+ Return the address where the analysis stopped.
- Any function that doesn't start with one of these sequences will be
- assumed to have no prologue and thus no valid frame pointer in
- %rbp. */
+ See comment on amd64_analyze_prologue for the sequences handled. The
+ movq/movl after the push of %rbp is considered optional. 'endbr64' is
+ handled before this function. */
static CORE_ADDR
-amd64_analyze_prologue (struct gdbarch *gdbarch,
- CORE_ADDR pc, CORE_ADDR current_pc,
- struct amd64_frame_cache *cache)
+amd64_analyze_frame_setup (gdbarch *gdbarch, CORE_ADDR pc,
+ CORE_ADDR current_pc, amd64_frame_cache *cache)
{
- enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
- /* The `endbr64` instruction. */
- static const gdb_byte endbr64[4] = { 0xf3, 0x0f, 0x1e, 0xfa };
/* There are two variations of movq %rsp, %rbp. */
static const gdb_byte mov_rsp_rbp_1[3] = { 0x48, 0x89, 0xe5 };
static const gdb_byte mov_rsp_rbp_2[3] = { 0x48, 0x8b, 0xec };
@@ -2502,34 +2509,11 @@ amd64_analyze_prologue (struct gdbarch *gdbarch,
static const gdb_byte mov_esp_ebp_1[2] = { 0x89, 0xe5 };
static const gdb_byte mov_esp_ebp_2[2] = { 0x8b, 0xec };
+ bfd_endian byte_order = gdbarch_byte_order (gdbarch);
gdb_byte buf[3];
- gdb_byte op;
-
- if (current_pc <= pc)
- return current_pc;
-
- if (gdbarch_ptr_bit (gdbarch) == 32)
- pc = amd64_x32_analyze_stack_align (pc, current_pc, cache);
- else
- pc = amd64_analyze_stack_align (pc, current_pc, cache);
-
- op = read_code_unsigned_integer (pc, 1, byte_order);
-
- /* Check for the `endbr64` instruction, skip it if found. */
- if (op == endbr64[0])
- {
- read_code (pc + 1, buf, 3);
-
- if (memcmp (buf, &endbr64[1], 3) == 0)
- pc += 4;
-
- op = read_code_unsigned_integer (pc, 1, byte_order);
- }
-
- if (current_pc <= pc)
- return current_pc;
+ gdb_byte op = read_code_unsigned_integer (pc, 1, byte_order);
- if (op == 0x55) /* pushq %rbp */
+ if (op == 0x55) /* pushq %rbp. */
{
/* Take into account that we've executed the `pushq %rbp' that
starts this instruction sequence. */
@@ -2569,6 +2553,50 @@ amd64_analyze_prologue (struct gdbarch *gdbarch,
return pc;
}
+/* Do a limited analysis of the prologue at PC and update CACHE
+ accordingly. Bail out early if CURRENT_PC is reached. Return the
+ address where the analysis stopped.
+
+ We will handle only functions beginning with:
+
+ pushq %rbp 0x55
+ movq %rsp, %rbp 0x48 0x89 0xe5 (or 0x48 0x8b 0xec)
+
+ or (for the X32 ABI):
+
+ pushq %rbp 0x55
+ movl %esp, %ebp 0x89 0xe5 (or 0x8b 0xec)
+
+ The `endbr64` instruction can be found before these sequences, and will be
+ skipped if found.
+
+ Any function that doesn't start with one of these sequences will be
+ assumed to have no prologue and thus no valid frame pointer in
+ %rbp. */
+
+static CORE_ADDR
+amd64_analyze_prologue (gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR current_pc,
+ amd64_frame_cache *cache)
+{
+ if (current_pc <= pc)
+ return current_pc;
+
+ /* If generated, 'endbr64' will be placed before stack alignment too. */
+ pc = amd64_skip_endbr (gdbarch, pc);
+ if (current_pc <= pc)
+ return current_pc;
+
+ if (gdbarch_ptr_bit (gdbarch) == 32)
+ pc = amd64_x32_analyze_stack_align (pc, current_pc, cache);
+ else
+ pc = amd64_analyze_stack_align (pc, current_pc, cache);
+
+ if (current_pc <= pc)
+ return current_pc;
+
+ return amd64_analyze_frame_setup (gdbarch, pc, current_pc, cache);
+}
+
/* Work around false termination of prologue - GCC PR debug/48827.
START_PC is the first instruction of a function, PC is its minimal already
@@ -3740,9 +3768,7 @@ amd64_insn_decode (void)
} // namespace selftests
#endif /* GDB_SELF_TEST */
-void _initialize_amd64_tdep ();
-void
-_initialize_amd64_tdep ()
+INIT_GDB_FILE (amd64_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64, GDB_OSABI_NONE,
amd64_none_init_abi);
diff --git a/gdb/amd64-windows-nat.c b/gdb/amd64-windows-nat.c
index 223e078..f5c98f6 100644
--- a/gdb/amd64-windows-nat.c
+++ b/gdb/amd64-windows-nat.c
@@ -94,9 +94,7 @@ amd64_windows_segment_register_p (int regnum)
return regnum >= AMD64_CS_REGNUM && regnum <= AMD64_GS_REGNUM;
}
-void _initialize_amd64_windows_nat ();
-void
-_initialize_amd64_windows_nat ()
+INIT_GDB_FILE (amd64_windows_nat)
{
x86_set_debug_register_length (8);
}
diff --git a/gdb/amd64-windows-tdep.c b/gdb/amd64-windows-tdep.c
index c4719dc..c7977d2 100644
--- a/gdb/amd64-windows-tdep.c
+++ b/gdb/amd64-windows-tdep.c
@@ -1404,9 +1404,7 @@ amd64_cygwin_core_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_amd64_windows_tdep ();
-void
-_initialize_amd64_windows_tdep ()
+INIT_GDB_FILE (amd64_windows_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, bfd_mach_x86_64, GDB_OSABI_WINDOWS,
amd64_windows_init_abi);
diff --git a/gdb/amdgpu-tdep.c b/gdb/amdgpu-tdep.c
index dc1b32f..26e5a27 100644
--- a/gdb/amdgpu-tdep.c
+++ b/gdb/amdgpu-tdep.c
@@ -1371,10 +1371,7 @@ amdgpu_register_type_parse_test ()
#endif
-void _initialize_amdgpu_tdep ();
-
-void
-_initialize_amdgpu_tdep ()
+INIT_GDB_FILE (amdgpu_tdep)
{
gdbarch_register (bfd_arch_amdgcn, amdgpu_gdbarch_init, NULL,
amdgpu_supports_arch_info);
diff --git a/gdb/annotate.c b/gdb/annotate.c
index ea0bfa9..55db2e2 100644
--- a/gdb/annotate.c
+++ b/gdb/annotate.c
@@ -627,9 +627,7 @@ breakpoint_changed (struct breakpoint *b)
annotate_breakpoints_invalid ();
}
-void _initialize_annotate ();
-void
-_initialize_annotate ()
+INIT_GDB_FILE (annotate)
{
gdb::observers::breakpoint_created.attach (breakpoint_changed, "annotate");
gdb::observers::breakpoint_deleted.attach (breakpoint_changed, "annotate");
diff --git a/gdb/arc-linux-nat.c b/gdb/arc-linux-nat.c
index 091a966..75fc4b7 100644
--- a/gdb/arc-linux-nat.c
+++ b/gdb/arc-linux-nat.c
@@ -309,9 +309,7 @@ ps_get_thread_area (struct ps_prochandle *ph, lwpid_t lwpid, int idx,
}
/* Suppress warning from -Wmissing-prototypes. */
-void _initialize_arc_linux_nat ();
-void
-_initialize_arc_linux_nat ()
+INIT_GDB_FILE (arc_linux_nat)
{
/* Register the target. */
linux_target = &the_arc_linux_nat_target;
diff --git a/gdb/arc-linux-tdep.c b/gdb/arc-linux-tdep.c
index adf6691..edbb3f8 100644
--- a/gdb/arc-linux-tdep.c
+++ b/gdb/arc-linux-tdep.c
@@ -19,6 +19,7 @@
/* GDB header files. */
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "objfiles.h"
#include "opcode/arc.h"
#include "osabi.h"
@@ -736,15 +737,10 @@ arc_linux_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux uses SVR4-style shared libraries, with 32-bit ints, longs
and pointers (ILP32). */
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
}
-/* Suppress warning from -Wmissing-prototypes. */
-extern initialize_file_ftype _initialize_arc_linux_tdep;
-
-void
-_initialize_arc_linux_tdep ()
+INIT_GDB_FILE (arc_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_arc, 0, GDB_OSABI_LINUX,
arc_linux_init_osabi);
diff --git a/gdb/arc-newlib-tdep.c b/gdb/arc-newlib-tdep.c
index fd80bfa..9a6f7a8 100644
--- a/gdb/arc-newlib-tdep.c
+++ b/gdb/arc-newlib-tdep.c
@@ -58,9 +58,7 @@ arc_newlib_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_arc_newlib_tdep ();
-void
-_initialize_arc_newlib_tdep ()
+INIT_GDB_FILE (arc_newlib_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_arc, bfd_target_elf_flavour,
arc_newlib_osabi_sniffer);
diff --git a/gdb/arc-tdep.c b/gdb/arc-tdep.c
index 8db6e7b..f5ae11c 100644
--- a/gdb/arc-tdep.c
+++ b/gdb/arc-tdep.c
@@ -2458,9 +2458,7 @@ dump_arc_instruction_command (const char *args, int from_tty)
arc_insn_dump (insn);
}
-void _initialize_arc_tdep ();
-void
-_initialize_arc_tdep ()
+INIT_GDB_FILE (arc_tdep)
{
gdbarch_register (bfd_arch_arc, arc_gdbarch_init, arc_dump_tdep);
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index be0494f..f320d3d 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -1525,9 +1525,7 @@ core_file_exec_context::environment () const
return e;
}
-void _initialize_gdbarch_utils ();
-void
-_initialize_gdbarch_utils ()
+INIT_GDB_FILE (gdbarch_utils)
{
add_setshow_enum_cmd ("endian", class_support,
endian_enum, &set_endian_string,
diff --git a/gdb/arm-fbsd-nat.c b/gdb/arm-fbsd-nat.c
index 2b7b75a..e068023 100644
--- a/gdb/arm-fbsd-nat.c
+++ b/gdb/arm-fbsd-nat.c
@@ -104,9 +104,7 @@ arm_fbsd_nat_target::read_description ()
return desc;
}
-void _initialize_arm_fbsd_nat ();
-void
-_initialize_arm_fbsd_nat ()
+INIT_GDB_FILE (arm_fbsd_nat)
{
add_inf_child_target (&the_arm_fbsd_nat_target);
}
diff --git a/gdb/arm-fbsd-tdep.c b/gdb/arm-fbsd-tdep.c
index c9a466f..a37d8b7 100644
--- a/gdb/arm-fbsd-tdep.c
+++ b/gdb/arm-fbsd-tdep.c
@@ -300,8 +300,7 @@ arm_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tramp_frame_prepend_unwinder (gdbarch, &arm_fbsd_sigframe);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
tdep->jb_pc = 24;
tdep->jb_elt_size = 4;
@@ -322,9 +321,7 @@ arm_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_software_single_step (gdbarch, arm_software_single_step);
}
-void _initialize_arm_fbsd_tdep ();
-void
-_initialize_arm_fbsd_tdep ()
+INIT_GDB_FILE (arm_fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_FREEBSD,
arm_fbsd_init_abi);
diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
index 3ff9fc6..813da8c 100644
--- a/gdb/arm-linux-nat.c
+++ b/gdb/arm-linux-nat.c
@@ -1393,9 +1393,7 @@ arm_linux_nat_target::low_new_fork (struct lwp_info *parent, pid_t child_pid)
*child_state = *parent_state;
}
-void _initialize_arm_linux_nat ();
-void
-_initialize_arm_linux_nat ()
+INIT_GDB_FILE (arm_linux_nat)
{
/* Register the target. */
linux_target = &the_arm_linux_nat_target;
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index 485a5d9..08526d8 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -41,6 +41,7 @@
#include "arm-tdep.h"
#include "arm-linux-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "glibc-tdep.h"
#include "arch-utils.h"
#include "inferior.h"
@@ -1801,8 +1802,7 @@ arm_linux_init_abi (struct gdbarch_info info,
}
tdep->jb_elt_size = ARM_LINUX_JB_ELEMENT_SIZE;
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* Single stepping. */
set_gdbarch_software_single_step (gdbarch, arm_linux_software_single_step);
@@ -2026,9 +2026,7 @@ arm_linux_init_abi (struct gdbarch_info info,
set_gdbarch_gcc_target_options (gdbarch, arm_linux_gcc_target_options);
}
-void _initialize_arm_linux_tdep ();
-void
-_initialize_arm_linux_tdep ()
+INIT_GDB_FILE (arm_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_LINUX,
arm_linux_init_abi);
diff --git a/gdb/arm-netbsd-nat.c b/gdb/arm-netbsd-nat.c
index 3a24f51..ebf4084 100644
--- a/gdb/arm-netbsd-nat.c
+++ b/gdb/arm-netbsd-nat.c
@@ -354,9 +354,7 @@ arm_netbsd_nat_target::read_description ()
return arm_read_description (ARM_FP_TYPE_VFPV3, false);
}
-void _initialize_arm_netbsd_nat ();
-void
-_initialize_arm_netbsd_nat ()
+INIT_GDB_FILE (arm_netbsd_nat)
{
add_inf_child_target (&the_arm_netbsd_nat_target);
}
diff --git a/gdb/arm-netbsd-tdep.c b/gdb/arm-netbsd-tdep.c
index a162054..82ba0c6 100644
--- a/gdb/arm-netbsd-tdep.c
+++ b/gdb/arm-netbsd-tdep.c
@@ -156,13 +156,10 @@ arm_netbsd_elf_init_abi (struct gdbarch_info info,
tdep->fp_model = ARM_FLOAT_SOFT_VFP;
/* NetBSD ELF uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
-void _initialize_arm_netbsd_tdep ();
-void
-_initialize_arm_netbsd_tdep ()
+INIT_GDB_FILE (arm_netbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_NETBSD,
arm_netbsd_elf_init_abi);
diff --git a/gdb/arm-none-tdep.c b/gdb/arm-none-tdep.c
index 81db22f..3ffcd2b 100644
--- a/gdb/arm-none-tdep.c
+++ b/gdb/arm-none-tdep.c
@@ -204,9 +204,7 @@ arm_none_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Initialize ARM bare-metal target support. */
-void _initialize_arm_none_tdep ();
-void
-_initialize_arm_none_tdep ()
+INIT_GDB_FILE (arm_none_tdep)
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_NONE,
arm_none_init_abi);
diff --git a/gdb/arm-obsd-tdep.c b/gdb/arm-obsd-tdep.c
index 6fd4c85..00e4bfd 100644
--- a/gdb/arm-obsd-tdep.c
+++ b/gdb/arm-obsd-tdep.c
@@ -83,8 +83,7 @@ armobsd_init_abi (struct gdbarch_info info,
tramp_frame_prepend_unwinder (gdbarch, &armobsd_sigframe);
/* OpenBSD/arm uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
set_gdbarch_skip_solib_resolver (gdbarch, obsd_skip_solib_resolver);
tdep->jb_pc = 24;
@@ -114,9 +113,7 @@ armobsd_init_abi (struct gdbarch_info info,
}
}
-void _initialize_armobsd_tdep ();
-void
-_initialize_armobsd_tdep ()
+INIT_GDB_FILE (armobsd_tdep)
{
gdbarch_register_osabi (bfd_arch_arm, 0, GDB_OSABI_OPENBSD,
armobsd_init_abi);
diff --git a/gdb/arm-pikeos-tdep.c b/gdb/arm-pikeos-tdep.c
index 428bb7d..12fd9c3 100644
--- a/gdb/arm-pikeos-tdep.c
+++ b/gdb/arm-pikeos-tdep.c
@@ -73,9 +73,7 @@ arm_pikeos_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_arm_pikeos_tdep ();
-void
-_initialize_arm_pikeos_tdep ()
+INIT_GDB_FILE (arm_pikeos_tdep)
{
/* Register the sniffer for the PikeOS targets. */
gdbarch_register_osabi_sniffer (bfd_arch_arm, bfd_target_elf_flavour,
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 5450056..a764825 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -1669,7 +1669,7 @@ arm_analyze_load_stack_chk_guard(CORE_ADDR pc, struct gdbarch *gdbarch,
ldr Rn, .Label
....
- .Lable:
+ .Label:
.word __stack_chk_guard
Since ldr/str is a very popular instruction, we can't use them as
@@ -11015,9 +11015,7 @@ static void arm_analyze_prologue_test ();
}
#endif
-void _initialize_arm_tdep ();
-void
-_initialize_arm_tdep ()
+INIT_GDB_FILE (arm_tdep)
{
long length;
int i, j;
diff --git a/gdb/arm-wince-tdep.c b/gdb/arm-wince-tdep.c
index b1e1304..b9ea59c 100644
--- a/gdb/arm-wince-tdep.c
+++ b/gdb/arm-wince-tdep.c
@@ -152,9 +152,7 @@ arm_wince_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_arm_wince_tdep ();
-void
-_initialize_arm_wince_tdep ()
+INIT_GDB_FILE (arm_wince_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_arm, bfd_target_coff_flavour,
arm_wince_osabi_sniffer);
diff --git a/gdb/auto-load.c b/gdb/auto-load.c
index 4fc5b08..114a7d5 100644
--- a/gdb/auto-load.c
+++ b/gdb/auto-load.c
@@ -41,6 +41,7 @@
#include <algorithm>
#include "gdbsupport/pathstuff.h"
#include "cli/cli-style.h"
+#include "gdbsupport/selftest.h"
/* The section to look in for auto-loaded scripts (in file formats that
support sections).
@@ -162,6 +163,67 @@ show_auto_load_dir (struct ui_file *file, int from_tty,
value);
}
+/* Substitute all occurrences of string FROM by string TO in STRING.
+ STRING will be updated in place as needed. FROM needs to be
+ delimited by IS_DIR_SEPARATOR or DIRNAME_SEPARATOR (or be located
+ at the start or end of STRING. */
+
+static void
+substitute_path_component (std::string &string, std::string_view from,
+ std::string_view to)
+{
+ for (size_t s = 0;;)
+ {
+ s = string.find (from, s);
+ if (s == std::string::npos)
+ break;
+
+ if ((s == 0 || IS_DIR_SEPARATOR (string[s - 1])
+ || string[s - 1] == DIRNAME_SEPARATOR)
+ && (s + from.size () == string.size ()
+ || IS_DIR_SEPARATOR (string[s + from.size ()])
+ || string[s + from.size ()] == DIRNAME_SEPARATOR))
+ {
+ string.replace (s, from.size (), to);
+ s += to.size ();
+ }
+ else
+ s++;
+ }
+}
+
+#if GDB_SELF_TEST
+
+namespace selftests {
+namespace subst_path {
+
+static void
+test_substitute_path_component ()
+{
+ auto test = [] (std::string s, const char *from, const char *to,
+ const char *expected)
+ {
+ substitute_path_component (s, from, to);
+ SELF_CHECK (s == expected);
+ };
+
+ test ("/abc/$def/g", "abc", "xyz", "/xyz/$def/g");
+ test ("abc/$def/g", "abc", "xyz", "xyz/$def/g");
+ test ("/abc/$def/g", "$def", "xyz", "/abc/xyz/g");
+ test ("/abc/$def/g", "g", "xyz", "/abc/$def/xyz");
+ test ("/abc/$def/g", "ab", "xyz", "/abc/$def/g");
+ test ("/abc/$def/g", "def", "xyz", "/abc/$def/g");
+ test ("/abc/$def/g", "abc", "abc", "/abc/$def/g");
+ test ("/abc/$def/g", "abc", "", "//$def/g");
+ test ("/abc/$def/g", "abc/$def", "xyz", "/xyz/g");
+ test ("/abc/$def/abc", "abc", "xyz", "/xyz/$def/xyz");
+}
+
+}
+}
+
+#endif /* GDB_SELF_TEST */
+
/* Directory list safe to hold auto-loaded files. It is not checked for
absolute paths but they are strongly recommended. It is initialized by
_initialize_auto_load. */
@@ -178,16 +240,15 @@ static std::vector<gdb::unique_xmalloc_ptr<char>> auto_load_safe_path_vec;
static std::vector<gdb::unique_xmalloc_ptr<char>>
auto_load_expand_dir_vars (const char *string)
{
- char *s = xstrdup (string);
- substitute_path_component (&s, "$datadir", gdb_datadir.c_str ());
- substitute_path_component (&s, "$debugdir", debug_file_directory.c_str ());
+ std::string s = string;
+ substitute_path_component (s, "$datadir", gdb_datadir.c_str ());
+ substitute_path_component (s, "$debugdir", debug_file_directory.c_str ());
- if (debug_auto_load && strcmp (s, string) != 0)
- auto_load_debug_printf ("Expanded $-variables to \"%s\".", s);
+ if (debug_auto_load && s != string)
+ auto_load_debug_printf ("Expanded $-variables to \"%s\".", s.c_str ());
std::vector<gdb::unique_xmalloc_ptr<char>> dir_vec
- = dirnames_to_char_ptr_vec (s);
- xfree(s);
+ = dirnames_to_char_ptr_vec (s.c_str ());
return dir_vec;
}
@@ -1507,9 +1568,7 @@ found and/or loaded."),
gdb::observers::token auto_load_new_objfile_observer_token;
-void _initialize_auto_load ();
-void
-_initialize_auto_load ()
+INIT_GDB_FILE (auto_load)
{
struct cmd_list_element *cmd;
gdb::unique_xmalloc_ptr<char> scripts_directory_help, gdb_name_help,
@@ -1650,4 +1709,9 @@ When non-zero, debugging output for files of 'set auto-load ...'\n\
is displayed."),
NULL, show_debug_auto_load,
&setdebuglist, &showdebuglist);
+
+#if GDB_SELF_TEST
+ selftests::register_test ("substitute_path_component",
+ selftests::subst_path::test_substitute_path_component);
+#endif
}
diff --git a/gdb/auxv.c b/gdb/auxv.c
index 5ec39ea..06e2fb0 100644
--- a/gdb/auxv.c
+++ b/gdb/auxv.c
@@ -609,9 +609,7 @@ info_auxv_command (const char *cmd, int from_tty)
}
}
-void _initialize_auxv ();
-void
-_initialize_auxv ()
+INIT_GDB_FILE (auxv)
{
add_info ("auxv", info_auxv_command,
_("Display the inferior's auxiliary vector.\n\
diff --git a/gdb/avr-tdep.c b/gdb/avr-tdep.c
index 36e6ec4..6274529 100644
--- a/gdb/avr-tdep.c
+++ b/gdb/avr-tdep.c
@@ -1629,9 +1629,7 @@ avr_io_reg_read_command (const char *args, int from_tty)
}
}
-void _initialize_avr_tdep ();
-void
-_initialize_avr_tdep ()
+INIT_GDB_FILE (avr_tdep)
{
gdbarch_register (bfd_arch_avr, avr_gdbarch_init);
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index e572465..08f542c 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -2634,9 +2634,7 @@ maint_agent_printf_command (const char *cmdrest, int from_tty)
/* Initialization code. */
-void _initialize_ax_gdb ();
-void
-_initialize_ax_gdb ()
+INIT_GDB_FILE (ax_gdb)
{
add_cmd ("agent", class_maintenance, maint_agent_command,
_("\
diff --git a/gdb/bfin-linux-tdep.c b/gdb/bfin-linux-tdep.c
index 3ba3146..d84f800 100644
--- a/gdb/bfin-linux-tdep.c
+++ b/gdb/bfin-linux-tdep.c
@@ -161,9 +161,7 @@ bfin_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
bfin_linux_get_syscall_number);
}
-void _initialize_bfin_linux_tdep ();
-void
-_initialize_bfin_linux_tdep ()
+INIT_GDB_FILE (bfin_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_bfin, 0, GDB_OSABI_LINUX,
bfin_linux_init_abi);
diff --git a/gdb/bfin-tdep.c b/gdb/bfin-tdep.c
index 32d9371..3a96e9f 100644
--- a/gdb/bfin-tdep.c
+++ b/gdb/bfin-tdep.c
@@ -837,9 +837,7 @@ bfin_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_bfin_tdep ();
-void
-_initialize_bfin_tdep ()
+INIT_GDB_FILE (bfin_tdep)
{
gdbarch_register (bfd_arch_bfin, bfin_gdbarch_init);
}
diff --git a/gdb/block.c b/gdb/block.c
index fdf209c..1866c0f 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -924,9 +924,7 @@ maintenance_info_blocks (const char *arg, int from_tty)
-void _initialize_block ();
-void
-_initialize_block ()
+INIT_GDB_FILE (block)
{
add_cmd ("blocks", class_maintenance, maintenance_info_blocks,
_("\
diff --git a/gdb/bpf-tdep.c b/gdb/bpf-tdep.c
index 2c95607..be01e8b 100644
--- a/gdb/bpf-tdep.c
+++ b/gdb/bpf-tdep.c
@@ -368,9 +368,7 @@ bpf_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_bpf_tdep ();
-void
-_initialize_bpf_tdep ()
+INIT_GDB_FILE (bpf_tdep)
{
gdbarch_register (bfd_arch_bpf, bpf_gdbarch_init);
diff --git a/gdb/break-catch-exec.c b/gdb/break-catch-exec.c
index 6716437..570018c 100644
--- a/gdb/break-catch-exec.c
+++ b/gdb/break-catch-exec.c
@@ -213,9 +213,7 @@ catch_exec_command_1 (const char *arg, int from_tty,
install_breakpoint (0, std::move (c), 1);
}
-void _initialize_break_catch_exec ();
-void
-_initialize_break_catch_exec ()
+INIT_GDB_FILE (break_catch_exec)
{
add_catch_command ("exec", _("Catch calls to exec."),
catch_exec_command_1,
diff --git a/gdb/break-catch-fork.c b/gdb/break-catch-fork.c
index cba3753..c8a6330 100644
--- a/gdb/break-catch-fork.c
+++ b/gdb/break-catch-fork.c
@@ -242,9 +242,7 @@ catch_fork_command_1 (const char *arg, int from_tty,
}
}
-void _initialize_break_catch_fork ();
-void
-_initialize_break_catch_fork ()
+INIT_GDB_FILE (break_catch_fork)
{
add_catch_command ("fork", _("Catch calls to fork."),
catch_fork_command_1,
diff --git a/gdb/break-catch-load.c b/gdb/break-catch-load.c
index 5e290fd..594884e 100644
--- a/gdb/break-catch-load.c
+++ b/gdb/break-catch-load.c
@@ -24,7 +24,7 @@
#include "cli/cli-decode.h"
#include "mi/mi-common.h"
#include "progspace.h"
-#include "solist.h"
+#include "solib.h"
#include "target.h"
#include "valprint.h"
@@ -119,7 +119,7 @@ solib_catchpoint::check_status (struct bpstat *bs)
for (solib *iter : current_program_space->added_solibs)
{
if (!regex
- || compiled->exec (iter->so_name.c_str (), 0, nullptr, 0) == 0)
+ || compiled->exec (iter->name.c_str (), 0, nullptr, 0) == 0)
return;
}
}
@@ -264,9 +264,7 @@ catch_unload_command_1 (const char *arg, int from_tty,
catch_load_or_unload (arg, from_tty, 0, command);
}
-void _initialize_break_catch_load ();
-void
-_initialize_break_catch_load ()
+INIT_GDB_FILE (break_catch_load)
{
add_catch_command ("load", _("Catch loads of shared libraries.\n\
Usage: catch load [REGEX]\n\
diff --git a/gdb/break-catch-sig.c b/gdb/break-catch-sig.c
index fb5d202..adfc48f 100644
--- a/gdb/break-catch-sig.c
+++ b/gdb/break-catch-sig.c
@@ -409,9 +409,7 @@ catch_signal_command (const char *arg, int from_tty,
create_signal_catchpoint (tempflag, std::move (filter), catch_all);
}
-void _initialize_break_catch_sig ();
-void
-_initialize_break_catch_sig ()
+INIT_GDB_FILE (break_catch_sig)
{
add_catch_command ("signal", _("\
Catch signals by their names and/or numbers.\n\
diff --git a/gdb/break-catch-syscall.c b/gdb/break-catch-syscall.c
index 348ff41..63bfec6 100644
--- a/gdb/break-catch-syscall.c
+++ b/gdb/break-catch-syscall.c
@@ -423,7 +423,7 @@ catch_syscall_command_1 (const char *arg, int from_tty,
struct syscall s;
struct gdbarch *gdbarch = get_current_arch ();
- /* Checking if the feature if supported. */
+ /* Checking if the feature is supported. */
if (gdbarch_get_syscall_number_p (gdbarch) == 0)
error (_("The feature 'catch syscall' is not supported on \
this architecture yet."));
@@ -570,9 +570,7 @@ clear_syscall_counts (struct inferior *inf)
inf_data->syscalls_counts.clear ();
}
-void _initialize_break_catch_syscall ();
-void
-_initialize_break_catch_syscall ()
+INIT_GDB_FILE (break_catch_syscall)
{
gdb::observers::inferior_exit.attach (clear_syscall_counts,
"break-catch-syscall");
diff --git a/gdb/break-catch-throw.c b/gdb/break-catch-throw.c
index 41213e4..cb682a6 100644
--- a/gdb/break-catch-throw.c
+++ b/gdb/break-catch-throw.c
@@ -499,9 +499,7 @@ static const struct internalvar_funcs exception_funcs =
-void _initialize_break_catch_throw ();
-void
-_initialize_break_catch_throw ()
+INIT_GDB_FILE (break_catch_throw)
{
/* Add catch and tcatch sub-commands. */
add_catch_command ("catch", _("\
diff --git a/gdb/break-cond-parse.c b/gdb/break-cond-parse.c
index 705f4f6..04a8895 100644
--- a/gdb/break-cond-parse.c
+++ b/gdb/break-cond-parse.c
@@ -569,10 +569,10 @@ test (const char *input, const char *condition, int thread = -1,
gdb::unique_xmalloc_ptr<char> extracted_rest;
int extracted_thread, extracted_inferior, extracted_task;
bool extracted_force_condition;
- std::string exception_msg, error_str;
+ std::string exception_msg;
- if (error_msg != nullptr)
- error_str = std::string (error_msg) + "\n";
+ if (error_msg == nullptr)
+ error_msg = "";
try
{
@@ -584,10 +584,7 @@ test (const char *input, const char *condition, int thread = -1,
}
catch (const gdb_exception_error &ex)
{
- string_file buf;
-
- exception_print (&buf, ex);
- exception_msg = buf.release ();
+ exception_msg = ex.what ();
}
if ((condition == nullptr) != (extracted_condition.get () == nullptr)
@@ -599,7 +596,7 @@ test (const char *input, const char *condition, int thread = -1,
|| inferior != extracted_inferior
|| task != extracted_task
|| force != extracted_force_condition
- || exception_msg != error_str)
+ || exception_msg != error_msg)
{
if (run_verbose ())
{
@@ -687,9 +684,7 @@ create_breakpoint_parse_arg_string_tests ()
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_break_cond_parse ();
-void
-_initialize_break_cond_parse ()
+INIT_GDB_FILE (break_cond_parse)
{
#if GDB_SELF_TEST
selftests::register_test
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 23e5051..d704ad1 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -50,7 +50,6 @@
#include "cli/cli-script.h"
#include "block.h"
#include "solib.h"
-#include "solist.h"
#include "observable.h"
#include "memattr.h"
#include "ada-lang.h"
@@ -255,14 +254,22 @@ DIAGNOSTIC_POP
static std::string
breakpoint_location_address_str (const bp_location *bl)
{
- std::string str = string_printf ("Breakpoint %d (%s) at address %s",
+ std::string str = string_printf ("Breakpoint %d (%s) ",
bl->owner->number,
- host_address_to_string (bl),
- paddress (bl->gdbarch, bl->address));
+ host_address_to_string (bl));
- std::string loc_string = bl->to_string ();
- if (!loc_string.empty ())
- str += string_printf (" %s", loc_string.c_str ());
+ if (bl_address_is_meaningful (bl))
+ {
+ gdb_assert (bl->gdbarch != nullptr);
+ str += string_printf ("at address %s",
+ paddress (bl->gdbarch, bl->address));
+
+ std::string loc_string = bl->to_string ();
+ if (!loc_string.empty ())
+ str += string_printf (" %s", loc_string.c_str ());
+ }
+ else
+ str += "with dummy location";
return str;
}
@@ -721,7 +728,8 @@ all_tracepoints ()
tracepoint_iterator (breakpoint_chain.end ()));
}
-/* Array is sorted by bp_location_is_less_than - primarily by the ADDRESS. */
+/* Array is sorted by bp_location_ptr_is_less_than - primarily by the
+ ADDRESS. */
static std::vector<bp_location *> bp_locations;
@@ -5136,7 +5144,7 @@ print_solib_event (bool is_catchpoint)
if (!first)
current_uiout->text (" ");
first = false;
- current_uiout->field_string ("library", iter->so_name);
+ current_uiout->field_string ("library", iter->name);
current_uiout->text ("\n");
}
}
@@ -7504,7 +7512,7 @@ breakpoint_locations_match (const struct bp_location *loc1,
else
/* We compare bp_location.length in order to cover ranged
breakpoints. Keep this in sync with
- bp_location_is_less_than. */
+ bp_location_ptr_is_less_than. */
return (breakpoint_address_match (loc1->pspace->aspace.get (),
loc1->address,
loc2->pspace->aspace.get (),
@@ -8144,7 +8152,7 @@ disable_breakpoints_in_unloaded_shlib (program_space *pspace, const solib &solib
target_terminal::ours_for_output ();
warning (_("Temporarily disabling breakpoints "
"for unloaded shared library \"%s\""),
- solib.so_name.c_str ());
+ solib.name.c_str ());
disabled_shlib_breaks = true;
}
}
@@ -10289,7 +10297,7 @@ masked_watchpoint::print_recreate (struct ui_file *fp) const
}
gdb_printf (fp, " %s mask 0x%s", exp_string.get (),
- phex (hw_wp_mask, sizeof (CORE_ADDR)));
+ phex (hw_wp_mask));
print_recreate_thread (fp);
}
@@ -11205,14 +11213,17 @@ breakpoint_auto_delete (bpstat *bs)
delete_breakpoint (&b);
}
-/* A comparison function for bp_location AP and BP being interfaced to
- std::sort. Sort elements primarily by their ADDRESS (no matter what
- bl_address_is_meaningful says), secondarily by ordering first
- permanent elements and tertiarily just ensuring the array is sorted
- stable way despite std::sort being an unstable algorithm. */
+/* A comparison function for bp_location pointers A and B being interfaced to
+ std::sort, for instance to sort an std::vector<bp_location *>. Sort
+ elements:
+ - primarily by their ADDRESS (no matter what bl_address_is_meaningful
+ says),
+ - secondarily by ordering first permanent elements, and
+ - tertiarily just ensuring the array is sorted in a stable way despite
+ std::sort being an unstable algorithm. */
-static int
-bp_location_is_less_than (const bp_location *a, const bp_location *b)
+static bool
+bp_location_ptr_is_less_than (const bp_location *a, const bp_location *b)
{
if (a->address != b->address)
return a->address < b->address;
@@ -11250,6 +11261,15 @@ bp_location_is_less_than (const bp_location *a, const bp_location *b)
return a < b;
}
+/* A comparison function for bp_locations A and B being interfaced to
+ std::sort, for instance to sort an std::vector<bp_location>. */
+
+static bool
+bp_location_is_less_than (const bp_location &a, const bp_location &b)
+{
+ return bp_location_ptr_is_less_than (&a, &b);
+}
+
/* Set bp_locations_placed_address_before_address_max and
bp_locations_shadow_len_after_address_max according to the current
content of the bp_locations array. */
@@ -11455,7 +11475,7 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
handle_automatic_hardware_breakpoints (loc);
std::sort (bp_locations.begin (), bp_locations.end (),
- bp_location_is_less_than);
+ bp_location_ptr_is_less_than);
bp_locations_target_extensions_update ();
@@ -11903,9 +11923,7 @@ breakpoint::add_location (bp_location &loc)
auto ub = std::upper_bound (m_locations.begin (), m_locations.end (),
loc,
- [] (const bp_location &left,
- const bp_location &right)
- { return left.address < right.address; });
+ bp_location_is_less_than);
m_locations.insert (ub, loc);
}
@@ -14747,9 +14765,7 @@ static struct cmd_list_element *enablebreaklist = NULL;
cmd_list_element *commands_cmd_element = nullptr;
-void _initialize_breakpoint ();
-void
-_initialize_breakpoint ()
+INIT_GDB_FILE (breakpoint)
{
struct cmd_list_element *c;
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 6b421f2..9341112 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -425,7 +425,9 @@ public:
simplicity is more important than memory usage for breakpoints. */
/* Architecture associated with this location's address. May be
- different from the breakpoint architecture. */
+ different from the breakpoint architecture. Not every location has
+ an address (e.g. see add_dummy_location), so not every location has
+ an associated gdbarch -- this can be NULL for a valid location. */
struct gdbarch *gdbarch = NULL;
/* The program space associated with this breakpoint location
diff --git a/gdb/bsd-uthread.c b/gdb/bsd-uthread.c
index 51dafed..4509376 100644
--- a/gdb/bsd-uthread.c
+++ b/gdb/bsd-uthread.c
@@ -25,7 +25,6 @@
#include "observable.h"
#include "regcache.h"
#include "solib.h"
-#include "solist.h"
#include "symfile.h"
#include "target.h"
@@ -280,13 +279,13 @@ bsd_uthread_solib_loaded (solib &so)
for (names = bsd_uthread_solib_names; *names; names++)
{
- if (startswith (so.so_original_name, *names))
+ if (startswith (so.original_name, *names))
{
solib_read_symbols (so, 0);
if (bsd_uthread_activate (so.objfile))
{
- bsd_uthread_solib_name = so.so_original_name;
+ bsd_uthread_solib_name = so.original_name;
return;
}
}
@@ -300,7 +299,7 @@ bsd_uthread_solib_unloaded (program_space *pspace, const solib &so,
if (bsd_uthread_solib_name.empty () || still_in_use)
return;
- if (so.so_original_name == bsd_uthread_solib_name)
+ if (so.original_name == bsd_uthread_solib_name)
bsd_uthread_deactivate ();
}
@@ -536,14 +535,12 @@ bsd_uthread_target::pid_to_str (ptid_t ptid)
if (ptid.tid () != 0)
return string_printf ("process %d, thread 0x%s",
ptid.pid (),
- phex_nz (ptid.tid (), sizeof (ULONGEST)));
+ phex_nz (ptid.tid ()));
return normal_pid_to_str (ptid);
}
-void _initialize_bsd_uthread ();
-void
-_initialize_bsd_uthread ()
+INIT_GDB_FILE (bsd_uthread)
{
gdb::observers::inferior_created.attach (bsd_uthread_inferior_created,
"bsd-uthread");
diff --git a/gdb/bt-utils.c b/gdb/bt-utils.c
index 8e78245..922402e 100644
--- a/gdb/bt-utils.c
+++ b/gdb/bt-utils.c
@@ -40,6 +40,17 @@ gdb_internal_backtrace_set_cmd (const char *args, int from_tty,
#endif
}
+/* See bt-utils.h. */
+
+void
+sig_write (const char *msg)
+{
+ if (gdb_stderr == nullptr || gdb_stderr->fd () == -1)
+ std::ignore = ::write (2, msg, strlen (msg));
+ else
+ gdb_stderr->write_async_safe (msg, strlen (msg));
+}
+
#ifdef GDB_PRINT_INTERNAL_BACKTRACE
#ifdef GDB_PRINT_INTERNAL_BACKTRACE_USING_LIBBACKTRACE
@@ -53,11 +64,6 @@ libbacktrace_error (void *data, const char *errmsg, int errnum)
if (errnum < 0)
return;
- const auto sig_write = [] (const char *msg) -> void
- {
- gdb_stderr->write_async_safe (msg, strlen (msg));
- };
-
sig_write ("error creating backtrace: ");
sig_write (errmsg);
if (errnum > 0)
@@ -77,11 +83,6 @@ static int
libbacktrace_print (void *data, uintptr_t pc, const char *filename,
int lineno, const char *function)
{
- const auto sig_write = [] (const char *msg) -> void
- {
- gdb_stderr->write_async_safe (msg, strlen (msg));
- };
-
/* Buffer to print addresses and line numbers into. An 8-byte address
with '0x' prefix and a null terminator requires 20 characters. This
also feels like it should be enough to represent line numbers in most
@@ -128,16 +129,14 @@ gdb_internal_backtrace_1 ()
static void
gdb_internal_backtrace_1 ()
{
- const auto sig_write = [] (const char *msg) -> void
- {
- gdb_stderr->write_async_safe (msg, strlen (msg));
- };
-
/* Allow up to 25 frames of backtrace. */
void *buffer[25];
int frames = backtrace (buffer, ARRAY_SIZE (buffer));
- backtrace_symbols_fd (buffer, frames, gdb_stderr->fd ());
+ int fd = ((gdb_stderr == nullptr || gdb_stderr->fd () == -1)
+ ? 2
+ : gdb_stderr->fd ());
+ backtrace_symbols_fd (buffer, frames, fd);
if (frames == ARRAY_SIZE (buffer))
sig_write (_("Backtrace might be incomplete.\n"));
}
@@ -171,17 +170,9 @@ gdb_internal_backtrace ()
return;
#ifdef GDB_PRINT_INTERNAL_BACKTRACE
- const auto sig_write = [] (const char *msg) -> void
- {
- gdb_stderr->write_async_safe (msg, strlen (msg));
- };
-
sig_write (str_backtrace);
- if (gdb_stderr->fd () > -1)
- gdb_internal_backtrace_1 ();
- else
- sig_write (str_backtrace_unavailable);
+ gdb_internal_backtrace_1 ();
sig_write ("---------------------\n");
#endif
diff --git a/gdb/bt-utils.h b/gdb/bt-utils.h
index ed381d8..c2fbe97 100644
--- a/gdb/bt-utils.h
+++ b/gdb/bt-utils.h
@@ -75,4 +75,9 @@ extern void gdb_internal_backtrace_set_cmd (const char *args, int from_tty,
extern void gdb_internal_backtrace_init_str ();
+/* Print MSG to gdb_stderr or stderr in a way that is safe to do from an
+ interrupt handler. */
+
+extern void sig_write (const char *msg);
+
#endif /* GDB_BT_UTILS_H */
diff --git a/gdb/btrace.c b/gdb/btrace.c
index 3d883c5..b23de88 100644
--- a/gdb/btrace.c
+++ b/gdb/btrace.c
@@ -3501,9 +3501,7 @@ show_maint_btrace_pt_skip_pad (struct ui_file *file, int from_tty,
/* Initialize btrace maintenance commands. */
-void _initialize_btrace ();
-void
-_initialize_btrace ()
+INIT_GDB_FILE (btrace)
{
add_cmd ("btrace", class_maintenance, maint_info_btrace_cmd,
_("Info about branch tracing data."), &maintenanceinfolist);
diff --git a/gdb/build-id.c b/gdb/build-id.c
index 02602af..0ecd79f 100644
--- a/gdb/build-id.c
+++ b/gdb/build-id.c
@@ -29,6 +29,7 @@
#include "gdbsupport/scoped_fd.h"
#include "debuginfod-support.h"
#include "extension.h"
+#include "inferior.h"
/* See build-id.h. */
@@ -128,8 +129,9 @@ build_id_to_debug_bfd_1 (const std::string &original_link,
if (supports_target_stat != TRIBOOL_FALSE)
{
struct stat sb;
- int res = target_fileio_stat (nullptr, link_on_target, &sb,
- &target_errno);
+ int res = target_fileio_lstat (current_inferior (),
+ link_on_target, &sb,
+ &target_errno);
if (res != 0 && target_errno != FILEIO_ENOSYS)
{
@@ -157,7 +159,7 @@ build_id_to_debug_bfd_1 (const std::string &original_link,
the path doesn't exist, but we just assume that anything
other than EINVAL indicates the path doesn't exist. */
std::optional<std::string> link_target
- = target_fileio_readlink (nullptr, link_on_target,
+ = target_fileio_readlink (current_inferior (), link_on_target,
&target_errno);
if (link_target.has_value ()
|| target_errno == FILEIO_EINVAL)
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index f53a138..14d4b70 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -3042,10 +3042,6 @@ classify_name (struct parser_state *par_state, const struct block *block,
std::string copy = copy_name (yylval.sval);
- /* Initialize this in case we *don't* use it in this call; that way
- we can refer to it unconditionally below. */
- memset (&is_a_field_of_this, 0, sizeof (is_a_field_of_this));
-
bsym = lookup_symbol (copy.c_str (), block, SEARCH_VFT,
par_state->language ()->name_of_this ()
? &is_a_field_of_this : NULL);
@@ -3396,18 +3392,18 @@ c_parse (struct parser_state *par_state)
c_parse_state cstate;
scoped_restore cstate_restore = make_scoped_restore (&cpstate, &cstate);
- gdb::unique_xmalloc_ptr<struct macro_scope> macro_scope;
+ macro_scope macro_scope;
if (par_state->expression_context_block)
macro_scope
= sal_macro_scope (find_pc_line (par_state->expression_context_pc, 0));
else
macro_scope = default_macro_scope ();
- if (! macro_scope)
+ if (!macro_scope.is_valid ())
macro_scope = user_macro_scope ();
scoped_restore restore_macro_scope
- = make_scoped_restore (&expression_macro_scope, macro_scope.get ());
+ = make_scoped_restore (&expression_macro_scope, &macro_scope);
scoped_restore restore_yydebug = make_scoped_restore (&yydebug,
par_state->debug);
diff --git a/gdb/charset.c b/gdb/charset.c
index 3e37ec9..2593625 100644
--- a/gdb/charset.c
+++ b/gdb/charset.c
@@ -983,9 +983,7 @@ intermediate_encoding (void)
#endif /* USE_INTERMEDIATE_ENCODING_FUNCTION */
-void _initialize_charset ();
-void
-_initialize_charset ()
+INIT_GDB_FILE (charset)
{
/* The first element is always "auto". */
charsets.charsets.push_back (xstrdup ("auto"));
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 7e13ef8..5e887f5 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -833,7 +833,7 @@ echo_command (const char *text, int from_tty)
gdb_printf ("%c", c);
}
- gdb_stdout->reset_style ();
+ gdb_stdout->emit_style_escape (ui_file_style ());
/* Force this output to appear now. */
gdb_flush (gdb_stdout);
@@ -952,6 +952,21 @@ shell_command (const char *arg, int from_tty)
shell_escape (arg, from_tty);
}
+/* Completion for the shell command. Currently, this just uses filename
+ completion, but we could, potentially, complete command names from $PATH
+ for the first word, which would make this even more shell like. */
+
+static void
+shell_command_completer (struct cmd_list_element *ignore,
+ completion_tracker &tracker,
+ const char *text, const char * /* word */)
+{
+ tracker.set_use_custom_word_point (true);
+ const char *word
+ = advance_to_filename_maybe_quoted_complete_word_point (tracker, text);
+ filename_maybe_quoted_completer (ignore, tracker, text, word);
+}
+
static void
edit_command (const char *arg, int from_tty)
{
@@ -1178,8 +1193,32 @@ pipe_command_completer (struct cmd_list_element *ignore,
return;
}
- /* We're past the delimiter. What follows is a shell command, which
- we don't know how to complete. */
+ /* We're past the delimiter now, or at least, DELIM points to the
+ delimiter string. Update TEXT to point to the start of whatever
+ appears after the delimiter. */
+ text = skip_spaces (delim + strlen (delimiter));
+
+ /* We really are past the delimiter now, so offer completions. This is
+ like GDB's "shell" command, currently we only offer filename
+ completion, but in the future this could be improved by offering
+ completion of command names from $PATH.
+
+ What we don't do here is offer completions for the empty string. It
+ is assumed that the first word after the delimiter is going to be a
+ command name from $PATH, not a filename, so if the user has typed
+ nothing (yet) and tries to complete, there's no point offering a list
+ of files from the current directory.
+
+ Once the user has started to type something though, then we do start
+ offering filename completions. */
+ if (*text == '\0')
+ return;
+
+ tracker.set_use_custom_word_point (true);
+ tracker.advance_custom_word_point_by (text - org_text);
+ const char *word
+ = advance_to_filename_maybe_quoted_complete_word_point (tracker, text);
+ filename_maybe_quoted_completer (ignore, tracker, text, word);
}
/* Helper for the list_command function. Prints the lines around (and
@@ -2578,9 +2617,7 @@ shell_internal_fn (struct gdbarch *gdbarch,
return value::allocate_optimized_out (int_type);
}
-void _initialize_cli_cmds ();
-void
-_initialize_cli_cmds ()
+INIT_GDB_FILE (cli_cmds)
{
struct cmd_list_element *c;
@@ -2803,7 +2840,7 @@ the previous command number shown."),
= add_com ("shell", class_support, shell_command, _("\
Execute the rest of the line as a shell command.\n\
With no arguments, run an inferior shell."));
- set_cmd_completer (shell_cmd, deprecated_filename_completer);
+ set_cmd_completer_handle_brkchars (shell_cmd, shell_command_completer);
add_com_alias ("!", shell_cmd, class_support, 0);
diff --git a/gdb/cli/cli-dump.c b/gdb/cli/cli-dump.c
index 3055734..afbbea6 100644
--- a/gdb/cli/cli-dump.c
+++ b/gdb/cli/cli-dump.c
@@ -564,9 +564,7 @@ restore_command (const char *args, int from_tty)
}
}
-void _initialize_cli_dump ();
-void
-_initialize_cli_dump ()
+INIT_GDB_FILE (cli_dump)
{
struct cmd_list_element *c;
diff --git a/gdb/cli/cli-interp.c b/gdb/cli/cli-interp.c
index 32ba9d9..d7b73df 100644
--- a/gdb/cli/cli-interp.c
+++ b/gdb/cli/cli-interp.c
@@ -321,9 +321,7 @@ cli_interp_factory (const char *name)
/* Standard gdb initialization hook. */
-void _initialize_cli_interp ();
-void
-_initialize_cli_interp ()
+INIT_GDB_FILE (cli_interp)
{
interp_factory_register (INTERP_CONSOLE, cli_interp_factory);
}
diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c
index d225533..d6eb6c2 100644
--- a/gdb/cli/cli-logging.c
+++ b/gdb/cli/cli-logging.c
@@ -202,9 +202,7 @@ show_logging_enabled (struct ui_file *file, int from_tty,
gdb_printf (file, _("off: Logging is disabled.\n"));
}
-void _initialize_cli_logging ();
-void
-_initialize_cli_logging ()
+INIT_GDB_FILE (cli_logging)
{
static struct cmd_list_element *set_logging_cmdlist, *show_logging_cmdlist;
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index bdbf850..3ea80a5 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -1751,9 +1751,7 @@ show_user_1 (struct cmd_list_element *c, const char *prefix, const char *name,
}
-void _initialize_cli_script ();
-void
-_initialize_cli_script ()
+INIT_GDB_FILE (cli_script)
{
struct cmd_list_element *c;
diff --git a/gdb/cli/cli-style.c b/gdb/cli/cli-style.c
index 30c7afb..d6829f0 100644
--- a/gdb/cli/cli-style.c
+++ b/gdb/cli/cli-style.c
@@ -23,6 +23,7 @@
#include "cli/cli-style.h"
#include "source-cache.h"
#include "observable.h"
+#include "charset.h"
/* True if styling is enabled. */
@@ -42,6 +43,10 @@ bool source_styling = true;
bool disassembler_styling = true;
+/* User-settable variable controlling emoji output. */
+
+static auto_boolean emoji_styling = AUTO_BOOLEAN_AUTO;
+
/* Names of intensities; must correspond to
ui_file_style::intensity. */
static const char * const cli_intensities[] = {
@@ -410,9 +415,86 @@ show_style_disassembler (struct ui_file *file, int from_tty,
gdb_printf (file, _("Disassembler output styling is disabled.\n"));
}
-void _initialize_cli_style ();
+/* Implement 'show style emoji'. */
+
+static void
+show_emoji_styling (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
+{
+ if (emoji_styling == AUTO_BOOLEAN_TRUE)
+ gdb_printf (file, _("CLI emoji styling is enabled.\n"));
+ else if (emoji_styling == AUTO_BOOLEAN_FALSE)
+ gdb_printf (file, _("CLI emoji styling is disabled.\n"));
+ else
+ gdb_printf (file, _("CLI emoji styling is automatic (currently %s).\n"),
+ emojis_ok () ? _("enabled") : _("disabled"));
+}
+
+/* See cli-style.h. */
+
+bool
+emojis_ok ()
+{
+ if (!cli_styling || emoji_styling == AUTO_BOOLEAN_FALSE)
+ return false;
+ if (emoji_styling == AUTO_BOOLEAN_TRUE)
+ return true;
+ return strcmp (host_charset (), "UTF-8") == 0;
+}
+
+/* See cli-style.h. */
+
+void
+no_emojis ()
+{
+ emoji_styling = AUTO_BOOLEAN_FALSE;
+}
+
+/* Emoji warning prefix. */
+static std::string warning_prefix = "⚠️ ";
+
+/* Implement 'show style warning-prefix'. */
+
+static void
+show_warning_prefix (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
+{
+ gdb_printf (file, _("Warning prefix is \"%s\".\n"),
+ warning_prefix.c_str ());
+}
+
+/* See cli-style.h. */
+
+void
+print_warning_prefix (ui_file *file)
+{
+ if (emojis_ok ())
+ gdb_puts (warning_prefix.c_str (), file);
+}
+
+/* Emoji error prefix. */
+static std::string error_prefix = "❌️ ";
+
+/* Implement 'show style error-prefix'. */
+
+static void
+show_error_prefix (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
+{
+ gdb_printf (file, _("Error prefix is \"%s\".\n"),
+ error_prefix.c_str ());
+}
+
+/* See cli-style.h. */
+
void
-_initialize_cli_style ()
+print_error_prefix (ui_file *file)
+{
+ if (emojis_ok ())
+ gdb_puts (error_prefix.c_str (), file);
+}
+
+INIT_GDB_FILE (cli_style)
{
add_setshow_prefix_cmd ("style", no_class,
_("\
@@ -431,6 +513,13 @@ If enabled, output to the terminal is styled."),
set_style_enabled, show_style_enabled,
&style_set_list, &style_show_list);
+ add_setshow_auto_boolean_cmd ("emoji", no_class, &emoji_styling, _("\
+Set whether emoji output is enabled."), _("\
+Show whether emoji output is enabled."), _("\
+If enabled, emojis may be displayed."),
+ nullptr, show_emoji_styling,
+ &style_set_list, &style_show_list);
+
add_setshow_boolean_cmd ("sources", no_class, &source_styling, _("\
Set whether source code styling is enabled."), _("\
Show whether source code styling is enabled."), _("\
@@ -627,4 +716,23 @@ coming from your source code."),
&style_disasm_set_list);
add_alias_cmd ("symbol", function_prefix_cmds.show, no_class, 0,
&style_disasm_show_list);
+
+ add_setshow_string_cmd ("warning-prefix", no_class,
+ &warning_prefix,
+ _("Set the warning prefix text."),
+ _("Show the warning prefix text."),
+ _("\
+The warning prefix text is displayed before any warning, when\n\
+emoji output is enabled."),
+ nullptr, show_warning_prefix,
+ &style_set_list, &style_show_list);
+ add_setshow_string_cmd ("error-prefix", no_class,
+ &error_prefix,
+ _("Set the error prefix text."),
+ _("Show the error prefix text."),
+ _("\
+The error prefix text is displayed before any error, when\n\
+emoji output is enabled."),
+ nullptr, show_error_prefix,
+ &style_set_list, &style_show_list);
}
diff --git a/gdb/cli/cli-style.h b/gdb/cli/cli-style.h
index 77f4ac2..b1a950a 100644
--- a/gdb/cli/cli-style.h
+++ b/gdb/cli/cli-style.h
@@ -190,4 +190,18 @@ private:
bool m_old_value;
};
+/* Return true if emoji styling is allowed. */
+extern bool emojis_ok ();
+
+/* Disable emoji styling. This is here so that Windows can disable
+ emoji when the console is in use. It shouldn't be called
+ elsewhere. */
+extern void no_emojis ();
+
+/* Print the warning prefix, if desired. */
+extern void print_warning_prefix (ui_file *file);
+
+/* Print the error prefix, if desired. */
+extern void print_error_prefix (ui_file *file);
+
#endif /* GDB_CLI_CLI_STYLE_H */
diff --git a/gdb/coff-pe-read.c b/gdb/coff-pe-read.c
index 3a3611e..0061007 100644
--- a/gdb/coff-pe-read.c
+++ b/gdb/coff-pe-read.c
@@ -694,9 +694,7 @@ show_debug_coff_pe_read (struct ui_file *file, int from_tty,
/* Adds "Set/show debug coff_pe_read" commands. */
-void _initialize_coff_pe_read ();
-void
-_initialize_coff_pe_read ()
+INIT_GDB_FILE (coff_pe_read)
{
add_setshow_zuinteger_cmd ("coff-pe-read", class_maintenance,
&debug_coff_pe_read,
diff --git a/gdb/coffread.c b/gdb/coffread.c
index 8a87e9c..db18c43 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -2248,9 +2248,7 @@ static const struct sym_fns coff_sym_fns =
NULL, /* sym_probe_fns */
};
-void _initialize_coffread ();
-void
-_initialize_coffread ()
+INIT_GDB_FILE (coffread)
{
add_symtab_fns (bfd_target_coff_flavour, &coff_sym_fns);
diff --git a/gdb/compile/compile-c-support.c b/gdb/compile/compile-c-support.c
index 0d32350..ac8888f 100644
--- a/gdb/compile/compile-c-support.c
+++ b/gdb/compile/compile-c-support.c
@@ -185,18 +185,18 @@ static void
write_macro_definitions (const struct block *block, CORE_ADDR pc,
struct ui_file *file)
{
- gdb::unique_xmalloc_ptr<struct macro_scope> scope;
+ macro_scope scope;
if (block != NULL)
scope = sal_macro_scope (find_pc_line (pc, 0));
else
scope = default_macro_scope ();
- if (scope == NULL)
+ if (!scope.is_valid ())
scope = user_macro_scope ();
- if (scope != NULL && scope->file != NULL && scope->file->table != NULL)
+ if (scope.is_valid () && scope.file->table != nullptr)
{
- macro_for_each_in_scope (scope->file, scope->line,
+ macro_for_each_in_scope (scope.file, scope.line,
[&] (const char *name,
const macro_definition *macro,
macro_source_file *source,
diff --git a/gdb/compile/compile-cplus-types.c b/gdb/compile/compile-cplus-types.c
index 56ef033..cf70fe4 100644
--- a/gdb/compile/compile-cplus-types.c
+++ b/gdb/compile/compile-cplus-types.c
@@ -1395,9 +1395,7 @@ gcc_cp_plugin::pop_binding_level (const char *debug_name)
return pop_binding_level ();
}
-void _initialize_compile_cplus_types ();
-void
-_initialize_compile_cplus_types ()
+INIT_GDB_FILE (compile_cplus_types)
{
add_setshow_boolean_cmd ("compile-cplus-types", no_class,
&debug_compile_cplus_types, _("\
diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index ab4cb0b..229e155 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -868,9 +868,7 @@ compile_command (const char *args, int from_tty)
/* See compile.h. */
cmd_list_element *compile_cmd_element = nullptr;
-void _initialize_compile ();
-void
-_initialize_compile ()
+INIT_GDB_FILE (compile)
{
compile_cmd_element = add_prefix_cmd ("compile", class_obscure,
compile_command,
diff --git a/gdb/complaints.c b/gdb/complaints.c
index 2f58af2..3c7f9bc 100644
--- a/gdb/complaints.c
+++ b/gdb/complaints.c
@@ -188,9 +188,7 @@ test_complaints ()
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_complaints ();
-void
-_initialize_complaints ()
+INIT_GDB_FILE (complaints)
{
add_setshow_zinteger_cmd ("complaints", class_support,
&stop_whining, _("\
diff --git a/gdb/completer.c b/gdb/completer.c
index 658a0c6..0d68e76 100644
--- a/gdb/completer.c
+++ b/gdb/completer.c
@@ -3513,9 +3513,7 @@ skip_over_slash_fmt (completion_tracker &tracker, const char **args)
return false;
}
-void _initialize_completer ();
-void
-_initialize_completer ()
+INIT_GDB_FILE (completer)
{
/* Setup some readline completion globals. */
rl_completion_word_break_hook = gdb_completion_word_break_characters;
diff --git a/gdb/config.in b/gdb/config.in
index 86ff67d..149aeaf 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -39,6 +39,9 @@
/* Define to BFD's default target vector. */
#undef DEFAULT_BFD_VEC
+/* defined if dwarf format was requested. */
+#undef DWARF_FORMAT_AVAILABLE
+
/* Handle .ctf type-info sections */
#undef ENABLE_LIBCTF
@@ -93,6 +96,9 @@
/* Define if amd-dbgapi is being linked in. */
#undef HAVE_AMD_DBGAPI
+/* Define to 1 if you have the <asm/termios.h> header file. */
+#undef HAVE_ASM_TERMIOS_H
+
/* Define to 1 if you have the `btowc' function. */
#undef HAVE_BTOWC
@@ -244,6 +250,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the <IOKit/serial/ioss.h> header file. */
+#undef HAVE_IOKIT_SERIAL_IOSS_H
+
/* Define to 1 if you have the `kinfo_getfile' function. */
#undef HAVE_KINFO_GETFILE
@@ -639,6 +648,9 @@
*/
#undef LT_OBJDIR
+/* defined if mdebug format was requested. */
+#undef MDEBUG_FORMAT_AVAILABLE
+
/* Name of this package. */
#undef PACKAGE
@@ -722,9 +734,6 @@
/* The size of `unsigned __int128', as computed by sizeof. */
#undef SIZEOF_UNSIGNED___INT128
-/* The size of `void *', as computed by sizeof. */
-#undef SIZEOF_VOID_P
-
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
diff --git a/gdb/configure b/gdb/configure
index e8a649f..8fc3b04 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -761,8 +761,6 @@ TARGET_OBS
AMD_DBGAPI_LIBS
AMD_DBGAPI_CFLAGS
HAVE_GSTACK
-ENABLE_BFD_64_BIT_FALSE
-ENABLE_BFD_64_BIT_TRUE
subdirs
GDB_DATADIR
DEBUGDIR
@@ -934,7 +932,8 @@ with_relocated_sources
with_auto_load_dir
with_auto_load_safe_path
enable_targets
-enable_64_bit_bfd
+enable_gdb_mdebug_support
+enable_gdb_dwarf_support
with_amd_dbgapi
enable_tui
enable_gdbtk
@@ -1646,7 +1645,12 @@ Optional Features:
--disable-nls do not use Native Language Support
--enable-targets=TARGETS
alternative target configurations
- --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
+ --enable-gdb-mdebug-support
+ Enable support for the mdebug debuginfo format
+ (default 'yes')
+ --enable-gdb-dwarf-support
+ Enable support for the dwarf debuginfo format
+ (default 'yes')
--enable-tui enable full-screen terminal user interface (TUI)
--enable-gdbtk enable gdbtk graphical user interface (GUI)
--enable-profiling enable profiling of GDB
@@ -11503,7 +11507,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11506 "configure"
+#line 11510 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11609,7 +11613,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11612 "configure"
+#line 11616 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -24879,70 +24883,90 @@ fi
-# Check whether --enable-64-bit-bfd was given.
-if test "${enable_64_bit_bfd+set}" = set; then :
- enableval=$enable_64_bit_bfd; case $enableval in #(
- yes|no) :
- ;; #(
- *) :
- as_fn_error $? "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;; #(
- *) :
- ;;
-esac
+# Check whether to support mdebug/ecoff debug information.
+# Check whether --enable-gdb-mdebug-support was given.
+if test "${enable_gdb_mdebug_support+set}" = set; then :
+ enableval=$enable_gdb_mdebug_support;
+ case $enableval in
+ yes | no)
+ ;;
+ *)
+ as_fn_error $? "bad value $enableval for --enable-gdb-mdebug-support" "$LINENO" 5
+ ;;
+ esac
+
else
- enable_64_bit_bfd=no
+ enable_gdb_mdebug_support=yes
fi
-if test "x$enable_64_bit_bfd" = "xno"; then :
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
-$as_echo_n "checking size of void *... " >&6; }
-if ${ac_cv_sizeof_void_p+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
+if test "x${enable_gdb_mdebug_support}" != "xno"; then
+ CONFIG_SRCS="$CONFIG_SRCS mdebugread.c"
+ CONFIG_OBS="$CONFIG_OBS mdebugread.o"
-else
- if test "$ac_cv_type_void_p" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (void *)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_void_p=0
- fi
-fi
+$as_echo "#define MDEBUG_FORMAT_AVAILABLE 1" >>confdefs.h
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
-$as_echo "$ac_cv_sizeof_void_p" >&6; }
+# Check whether to support dwarf debug information
+# Check whether --enable-gdb-dwarf-support was given.
+if test "${enable_gdb_dwarf_support+set}" = set; then :
+ enableval=$enable_gdb_dwarf_support;
+ case $enableval in
+ yes | no)
+ ;;
+ *)
+ as_fn_error $? "bad value $enableval for --enable-gdb-dwarf-support" "$LINENO" 5
+ ;;
+ esac
+else
+ enable_gdb_dwarf_support=yes
+fi
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
-_ACEOF
+if test "x${enable_gdb_dwarf_support}" != "xno"; then
- if test "x$ac_cv_sizeof_void_p" = "x8"; then :
- enable_64_bit_bfd=yes
-fi
+$as_echo "#define DWARF_FORMAT_AVAILABLE 1" >>confdefs.h
+ CONFIG_SRCS="$CONFIG_SRCS \$(DWARF2_SRCS)"
+ CONFIG_OBS="$CONFIG_OBS \$(DWARF2_OBS)"
fi
- if test "x$enable_64_bit_bfd" = "xyes"; then
- ENABLE_BFD_64_BIT_TRUE=
- ENABLE_BFD_64_BIT_FALSE='#'
+# See whether 64-bit bfd lib has been enabled.
+OLD_CPPFLAGS=$CPPFLAGS
+# Put the old CPPFLAGS last, in case the user's CPPFLAGS point somewhere
+# with bfd, with -I/foo/include. We always want our bfd.
+CPPFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CPPFLAGS"
+# Note we cannot cache the result of this check because BFD64 may change
+# when a secondary target has been added or removed and we have no access
+# to this information here.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BFD is 64-bit" >&5
+$as_echo_n "checking whether BFD is 64-bit... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "bfd.h"
+int
+main ()
+{
+#ifdef BFD64
+HAVE_BFD64
+#endif
+ ;
+ return 0;
+}
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "HAVE_BFD64" >/dev/null 2>&1; then :
+ have_64_bit_bfd=yes
else
- ENABLE_BFD_64_BIT_TRUE='#'
- ENABLE_BFD_64_BIT_FALSE=
+ have_64_bit_bfd=no
fi
+rm -f conftest*
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_64_bit_bfd" >&5
+$as_echo "$have_64_bit_bfd" >&6; }
+CPPFLAGS=$OLD_CPPFLAGS
# Provide defaults for some variables set by the per-host and per-target
# configuration.
@@ -24992,7 +25016,7 @@ fi
done
# Check whether this target needs 64-bit CORE_ADDR
- if test x${enable_64_bit_bfd} = xno; then
+ if test x${have_64_bit_bfd} = xno; then
. ${srcdir}/../bfd/config.bfd
fi
@@ -25005,19 +25029,10 @@ fi
done
if test x${all_targets} = xtrue; then
- if test x${enable_64_bit_bfd} = xyes; then
+ if test x${have_64_bit_bfd} = xyes; then
TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
else
- case ${host} in
- mips*)
- # If all targets were requested, but 64 bit bfd is not enabled,
- # the build will fail. See PR 28684.
- as_fn_error $? "--enable-targets=all requires --enable-64-bit-bfd" "$LINENO" 5
- ;;
- *)
- TARGET_OBS='$(ALL_TARGET_OBS)'
- ;;
- esac
+ TARGET_OBS='$(ALL_TARGET_OBS)'
fi
fi
@@ -28210,8 +28225,8 @@ int
main ()
{
- #if PY_MAJOR_VERSION != 3
- # error "We only support Python 3"
+ #if PY_VERSION_HEX < 0x03040000
+ # error "Minimum supported Python version is 3.4"
#endif
Py_Initialize ();
@@ -28987,11 +29002,20 @@ if test "${enable_gdb_compile+set}" = set; then :
esac
else
- enable_gdb_compile=yes
+ enable_gdb_compile=default
fi
-if test "${enable_gdb_compile}" == yes; then
+if test "${enable_gdb_compile}" = "default"; then
+ enable_gdb_compile=${enable_gdb_dwarf_support}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Defaulting compile support to '${enable_gdb_dwarf_support}'" >&5
+$as_echo "$as_me: WARNING: Defaulting compile support to '${enable_gdb_dwarf_support}'" >&2;}
+fi
+
+if test "${enable_gdb_compile}" = "yes"; then
+ if test "${enable_gdb_dwarf_support}" = "no"; then
+ as_fn_error $? "enabling gdb compile requires dwarf support" "$LINENO" 5
+ fi
$as_echo "#define HAVE_COMPILE 1" >>confdefs.h
@@ -29239,6 +29263,8 @@ $as_echo "#define STDC_HEADERS 1" >>confdefs.h
fi
for ac_header in \
+ IOKit/serial/ioss.h \
+ asm/termios.h \
machine/reg.h \
nlist.h \
ptrace.h \
@@ -31659,7 +31685,7 @@ if test "$gdb_cv_var_elf" = yes; then
$as_echo "#define HAVE_ELF 1" >>confdefs.h
- # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
+ # -ldl is provided by bfd/Makefile.am (LIBDL) <PLUGINS>.
if test "$plugins" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; }
@@ -33946,10 +33972,6 @@ if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${ENABLE_BFD_64_BIT_TRUE}" && test -z "${ENABLE_BFD_64_BIT_FALSE}"; then
- as_fn_error $? "conditional \"ENABLE_BFD_64_BIT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${HAVE_PYTHON_TRUE}" && test -z "${HAVE_PYTHON_FALSE}"; then
as_fn_error $? "conditional \"HAVE_PYTHON\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/gdb/configure.ac b/gdb/configure.ac
index e0cc3c8..226e27e 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -192,6 +192,34 @@ AS_HELP_STRING([--enable-targets=TARGETS], [alternative target configurations]),
esac])
+# Check whether to support mdebug/ecoff debug information.
+AC_ARG_ENABLE(gdb-mdebug-support,
+AS_HELP_STRING([--enable-gdb-mdebug-support],
+ [Enable support for the mdebug debuginfo format (default 'yes')]),
+[GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdb-mdebug-support])],
+[enable_gdb_mdebug_support=yes])
+
+if test "x${enable_gdb_mdebug_support}" != "xno"; then
+ CONFIG_SRCS="$CONFIG_SRCS mdebugread.c"
+ CONFIG_OBS="$CONFIG_OBS mdebugread.o"
+ AC_DEFINE(MDEBUG_FORMAT_AVAILABLE, 1,
+ [defined if mdebug format was requested.])
+fi
+
+# Check whether to support dwarf debug information
+AC_ARG_ENABLE(gdb-dwarf-support,
+AS_HELP_STRING([--enable-gdb-dwarf-support],
+ [Enable support for the dwarf debuginfo format (default 'yes')]),
+[GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdb-dwarf-support])],
+[enable_gdb_dwarf_support=yes])
+
+if test "x${enable_gdb_dwarf_support}" != "xno"; then
+ AC_DEFINE(DWARF_FORMAT_AVAILABLE, 1,
+ [defined if dwarf format was requested.])
+ CONFIG_SRCS="$CONFIG_SRCS \$(DWARF2_SRCS)"
+ CONFIG_OBS="$CONFIG_OBS \$(DWARF2_OBS)"
+fi
+
BFD_64_BIT
# Provide defaults for some variables set by the per-host and per-target
@@ -241,7 +269,7 @@ do
done
# Check whether this target needs 64-bit CORE_ADDR
- if test x${enable_64_bit_bfd} = xno; then
+ if test x${have_64_bit_bfd} = xno; then
. ${srcdir}/../bfd/config.bfd
fi
@@ -254,19 +282,10 @@ do
done
if test x${all_targets} = xtrue; then
- if test x${enable_64_bit_bfd} = xyes; then
+ if test x${have_64_bit_bfd} = xyes; then
TARGET_OBS='$(ALL_TARGET_OBS) $(ALL_64_TARGET_OBS)'
else
- case ${host} in
- mips*)
- # If all targets were requested, but 64 bit bfd is not enabled,
- # the build will fail. See PR 28684.
- AC_MSG_ERROR([--enable-targets=all requires --enable-64-bit-bfd])
- ;;
- *)
- TARGET_OBS='$(ALL_TARGET_OBS)'
- ;;
- esac
+ TARGET_OBS='$(ALL_TARGET_OBS)'
fi
fi
@@ -749,8 +768,8 @@ AC_DEFUN([AC_TRY_LIBPYTHON],
found_usable_python=no
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include "Python.h"]],
[[
- #if PY_MAJOR_VERSION != 3
- # error "We only support Python 3"
+ #if PY_VERSION_HEX < 0x03040000
+ # error "Minimum supported Python version is 3.4"
#endif
Py_Initialize ();
]])],
@@ -1229,9 +1248,17 @@ AC_ARG_ENABLE([gdb-compile],
AS_HELP_STRING([--enable-gdb-compile],
[enable support for the compile subsystem, default 'yes']),
[GDB_CHECK_YES_NO_VAL([$enableval], [--enable-gdb-compile])],
- [enable_gdb_compile=yes])
+ [enable_gdb_compile=default])
+
+if test "${enable_gdb_compile}" = "default"; then
+ enable_gdb_compile=${enable_gdb_dwarf_support}
+ AC_MSG_WARN([Defaulting compile support to '${enable_gdb_dwarf_support}'])
+fi
-if test "${enable_gdb_compile}" == yes; then
+if test "${enable_gdb_compile}" = "yes"; then
+ if test "${enable_gdb_dwarf_support}" = "no"; then
+ AC_MSG_ERROR([enabling gdb compile requires dwarf support])
+ fi
AC_DEFINE(HAVE_COMPILE, 1, [Define if compiling support to gdb compile.])
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_GCC_COMPILE_OBS)"
else
@@ -1330,6 +1357,8 @@ AC_SUBST(SRCHIGH_CFLAGS)
AC_HEADER_STDC
AC_CHECK_HEADERS([ \
+ IOKit/serial/ioss.h \
+ asm/termios.h \
machine/reg.h \
nlist.h \
ptrace.h \
@@ -1931,7 +1960,7 @@ if test "$gdb_cv_var_elf" = yes; then
gcore-elf.o elf-none-tdep.o"
AC_DEFINE(HAVE_ELF, 1,
[Define if ELF support should be included.])
- # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>.
+ # -ldl is provided by bfd/Makefile.am (LIBDL) <PLUGINS>.
if test "$plugins" = "yes"; then
AC_SEARCH_LIBS(dlopen, dl)
fi
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 18a15c0..255c77e 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -85,7 +85,7 @@ hppa*-*-*)
i[34567]86-*-*)
cpu_obs="${i386_tobjs}"
- if test "x$enable_64_bit_bfd" = "xyes"; then
+ if test "x$have_64_bit_bfd" = "xyes"; then
cpu_obs="${amd64_tobjs} ${cpu_obs}"
fi
;;
@@ -151,13 +151,14 @@ aarch64*-*-linux*)
arch/arm.o arch/arm-linux.o arch/arm-get-next-pcs.o \
arm-tdep.o arm-linux-tdep.o \
glibc-tdep.o linux-tdep.o solib-svr4.o \
+ solib-svr4-linux.o svr4-tls-tdep.o \
symfile-mem.o linux-record.o"
;;
alpha*-*-linux*)
# Target: Little-endian Alpha running Linux
gdb_target_obs="alpha-mdebug-tdep.o alpha-linux-tdep.o \
- linux-tdep.o solib-svr4.o"
+ linux-tdep.o solib-svr4.o solib-svr4-linux.o"
;;
alpha*-*-netbsd* | alpha*-*-knetbsd*-gnu)
# Target: NetBSD/alpha
@@ -179,7 +180,7 @@ amdgcn*-*-*)
am33_2.0*-*-linux*)
# Target: Matsushita mn10300 (AM33) running Linux
gdb_target_obs="mn10300-tdep.o mn10300-linux-tdep.o linux-tdep.o \
- solib-svr4.o"
+ solib-svr4.o solib-svr4-linux.o"
;;
arc*-*-elf32)
@@ -189,7 +190,8 @@ arc*-*-elf32)
arc*-*-linux*)
# Target: ARC machine running Linux
- gdb_target_obs="arc-linux-tdep.o linux-tdep.o solib-svr4.o"
+ gdb_target_obs="arc-linux-tdep.o linux-tdep.o solib-svr4.o \
+ solib-svr4-linux.o"
;;
arm*-wince-pe | arm*-*-mingw32ce*)
@@ -199,7 +201,8 @@ arm*-wince-pe | arm*-*-mingw32ce*)
arm*-*-linux*)
# Target: ARM based machine running GNU/Linux
gdb_target_obs="arch/arm-linux.o arm-linux-tdep.o glibc-tdep.o \
- solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
+ solib-svr4.o solib-svr4-linux.o symfile-mem.o \
+ linux-tdep.o linux-record.o"
;;
arm*-*-freebsd*)
# Target: FreeBSD/arm
@@ -239,13 +242,14 @@ bpf-*-*)
cris*)
# Target: CRIS
- gdb_target_obs="cris-tdep.o cris-linux-tdep.o linux-tdep.o solib-svr4.o"
+ gdb_target_obs="cris-tdep.o cris-linux-tdep.o linux-tdep.o \
+ solib-svr4.o solib-svr4-linux.o"
;;
csky*-*-linux*)
# Target: CSKY running GNU/Linux
gdb_target_obs="csky-tdep.o csky-linux-tdep.o glibc-tdep.o \
- linux-tdep.o solib-svr4.o"
+ linux-tdep.o solib-svr4.o solib-svr4-linux.o"
;;
csky*-*-*)
@@ -270,7 +274,8 @@ h8300-*-*)
hppa*-*-linux*)
# Target: HP PA-RISC running Linux
gdb_target_obs="hppa-linux-tdep.o glibc-tdep.o \
- linux-tdep.o solib-svr4.o symfile-mem.o"
+ linux-tdep.o solib-svr4.o solib-svr4-linux.o \
+ symfile-mem.o"
;;
hppa*-*-netbsd*)
# Target: NetBSD/hppa
@@ -284,7 +289,7 @@ hppa*-*-openbsd*)
i[34567]86-*-darwin*)
# Target: Darwin/i386
gdb_target_obs="i386-darwin-tdep.o solib-darwin.o"
- if test "x$enable_64_bit_bfd" = "xyes"; then
+ if test "x$have_64_bit_bfd" = "xyes"; then
# Target: GNU/Linux x86-64
gdb_target_obs="amd64-darwin-tdep.o ${gdb_target_obs}"
fi
@@ -315,11 +320,11 @@ i[34567]86-*-linux*)
# Target: Intel 386 running GNU/Linux
gdb_target_obs="i386-linux-tdep.o \
glibc-tdep.o \
- solib-svr4.o symfile-mem.o \
+ solib-svr4.o solib-svr4-linux.o symfile-mem.o \
linux-tdep.o linux-record.o \
arch/i386-linux-tdesc.o \
arch/x86-linux-tdesc-features.o"
- if test "x$enable_64_bit_bfd" = "xyes"; then
+ if test "x$have_64_bit_bfd" = "xyes"; then
# Target: GNU/Linux x86-64
gdb_target_obs="amd64-linux-tdep.o \
arch/amd64-linux-tdesc.o ${gdb_target_obs}"
@@ -345,7 +350,7 @@ i[34567]86-*-go32* | i[34567]86-*-msdosdjgpp*)
ia64-*-linux*)
# Target: Intel IA-64 running GNU/Linux
gdb_target_obs="ia64-linux-tdep.o linux-tdep.o \
- solib-svr4.o symfile-mem.o"
+ solib-svr4.o solib-svr4-linux.o symfile-mem.o"
;;
ia64-*-*vms*)
# Target: Intel IA-64 running OpenVMS
@@ -363,7 +368,8 @@ lm32-*-*)
loongarch*-*-linux*)
# Target: LoongArch running Linux
gdb_target_obs="loongarch-linux-tdep.o glibc-tdep.o \
- linux-tdep.o solib-svr4.o linux-record.o"
+ linux-tdep.o solib-svr4.o solib-svr4-linux.o \
+ linux-record.o"
;;
m32c-*-*)
@@ -374,8 +380,8 @@ m32c-*-*)
m32r*-*-linux*)
# Target: Renesas M32R running GNU/Linux
gdb_target_obs="m32r-tdep.o m32r-linux-tdep.o \
- glibc-tdep.o solib-svr4.o symfile-mem.o \
- linux-tdep.o"
+ glibc-tdep.o solib-svr4.o solib-svr4-linux.o \
+ symfile-mem.o linux-tdep.o"
;;
m32r*-*-*)
# Target: Renesas m32r processor
@@ -395,7 +401,8 @@ fido-*-elf*)
m68*-*-linux*)
# Target: Motorola m68k with a.out and ELF
gdb_target_obs="m68k-tdep.o m68k-linux-tdep.o solib-svr4.o \
- linux-tdep.o glibc-tdep.o symfile-mem.o"
+ solib-svr4-linux.o linux-tdep.o glibc-tdep.o \
+ symfile-mem.o"
;;
m68*-*-netbsd* | m68*-*-knetbsd*-gnu)
# Target: NetBSD/m68k
@@ -415,7 +422,7 @@ mep-*-*)
microblaze*-linux-*|microblaze*-*-linux*)
# Target: Xilinx MicroBlaze running Linux
gdb_target_obs="microblaze-tdep.o microblaze-linux-tdep.o solib-svr4.o \
- symfile-mem.o linux-tdep.o"
+ solib-svr4-linux.o symfile-mem.o linux-tdep.o"
;;
microblaze*-*-*)
# Target: Xilinx MicroBlaze running standalone
@@ -425,7 +432,8 @@ microblaze*-*-*)
mips*-*-linux*)
# Target: Linux/MIPS
gdb_target_obs="mips-tdep.o mips-linux-tdep.o glibc-tdep.o \
- solib-svr4.o symfile-mem.o linux-tdep.o"
+ solib-svr4.o solib-svr4-linux.o symfile-mem.o \
+ linux-tdep.o"
;;
mips*-*-netbsd* | mips*-*-knetbsd*-gnu)
# Target: MIPS running NetBSD
@@ -469,7 +477,8 @@ nds32*-*-elf)
or1k*-*-linux*)
# Target: OpenCores OpenRISC 1000 32-bit running Linux
gdb_target_obs="or1k-tdep.o or1k-linux-tdep.o solib-svr4.o \
- symfile-mem.o glibc-tdep.o linux-tdep.o"
+ solib-svr4-linux.o symfile-mem.o glibc-tdep.o \
+ linux-tdep.o"
;;
or1k-*-* | or1knd-*-*)
@@ -503,7 +512,8 @@ powerpc-*-aix* | rs6000-*-* | powerpc64-*-aix*)
powerpc*-*-linux*)
# Target: PowerPC running Linux
gdb_target_obs="rs6000-tdep.o ppc-linux-tdep.o ppc-sysv-tdep.o \
- ppc64-tdep.o solib-svr4.o \
+ ppc64-tdep.o solib-svr4.o solib-svr4-linux.o \
+ svr4-tls-tdep.o \
glibc-tdep.o symfile-mem.o linux-tdep.o \
ravenscar-thread.o ppc-ravenscar-thread.o \
linux-record.o \
@@ -524,7 +534,9 @@ powerpc*-*-*)
s390*-*-linux*)
# Target: S390 running Linux
gdb_target_obs="s390-linux-tdep.o s390-tdep.o solib-svr4.o \
- linux-tdep.o linux-record.o symfile-mem.o"
+ solib-svr4-linux.o \
+ linux-tdep.o linux-record.o symfile-mem.o \
+ svr4-tls-tdep.o"
;;
riscv*-*-freebsd*)
@@ -534,8 +546,10 @@ riscv*-*-freebsd*)
riscv*-*-linux*)
# Target: Linux/RISC-V
- gdb_target_obs="riscv-linux-tdep.o glibc-tdep.o \
- linux-tdep.o solib-svr4.o symfile-mem.o linux-record.o"
+ gdb_target_obs="riscv-linux-tdep.o riscv-canonicalize-syscall-gen.o \
+ glibc-tdep.o linux-tdep.o solib-svr4.o solib-svr4-linux.o \
+ symfile-mem.o \
+ linux-record.o svr4-tls-tdep.o"
;;
riscv*-*-*)
@@ -556,7 +570,7 @@ rx-*-*)
sh*-*-linux*)
# Target: GNU/Linux Super-H
gdb_target_obs="sh-tdep.o sh-linux-tdep.o \
- solib-svr4.o symfile-mem.o \
+ solib-svr4.o solib-svr4-linux.o symfile-mem.o \
glibc-tdep.o linux-tdep.o"
;;
sh*-*-netbsd* | sh*-*-knetbsd*-gnu)
@@ -575,10 +589,11 @@ sh*)
sparc-*-linux*)
# Target: GNU/Linux SPARC
gdb_target_obs="sparc-tdep.o \
- sparc-linux-tdep.o solib-svr4.o symfile-mem.o \
+ sparc-linux-tdep.o solib-svr4.o solib-svr4-linux.o \
+ symfile-mem.o \
linux-tdep.o \
ravenscar-thread.o sparc-ravenscar-thread.o"
- if test "x$enable_64_bit_bfd" = "xyes"; then
+ if test "x$have_64_bit_bfd" = "xyes"; then
# Target: GNU/Linux UltraSPARC
gdb_target_obs="sparc64-tdep.o \
sparc64-linux-tdep.o ${gdb_target_obs}"
@@ -588,7 +603,8 @@ sparc64-*-linux*)
# Target: GNU/Linux UltraSPARC
gdb_target_obs="sparc64-tdep.o \
sparc64-linux-tdep.o sparc-tdep.o \
- sparc-linux-tdep.o solib-svr4.o linux-tdep.o \
+ sparc-linux-tdep.o solib-svr4.o solib-svr4-linux.o \
+ linux-tdep.o \
ravenscar-thread.o sparc-ravenscar-thread.o"
;;
sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu)
@@ -656,6 +672,7 @@ tic6x-*-*)
tilegx-*-linux*)
# Target: TILE-Gx
gdb_target_obs="tilegx-tdep.o tilegx-linux-tdep.o solib-svr4.o \
+ solib-svr4-linux.o \
symfile-mem.o glibc-tdep.o linux-tdep.o"
;;
@@ -705,8 +722,9 @@ x86_64-*-elf*)
x86_64-*-linux*)
# Target: GNU/Linux x86-64
gdb_target_obs="amd64-linux-tdep.o ${i386_tobjs} \
- i386-linux-tdep.o glibc-tdep.o \
- solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o \
+ i386-linux-tdep.o glibc-tdep.o svr4-tls-tdep.o \
+ solib-svr4.o solib-svr4-linux.o symfile-mem.o \
+ linux-tdep.o linux-record.o \
arch/i386-linux-tdesc.o arch/amd64-linux-tdesc.o \
arch/x86-linux-tdesc-features.o"
;;
diff --git a/gdb/contrib/ari/create-web-ari-in-src.sh b/gdb/contrib/ari/create-web-ari-in-src.sh
index 4ea0398..b479ce5 100644
--- a/gdb/contrib/ari/create-web-ari-in-src.sh
+++ b/gdb/contrib/ari/create-web-ari-in-src.sh
@@ -50,7 +50,7 @@ if [ -z "${tempdir}" ] ; then
fi
fi
-# Default location of generate index.hmtl web page.
+# Default location of generated index.html web page.
if [ -z "${webdir}" ] ; then
# Use 'branch' subdir name if Tag contains branch
if [ -f "${srcdir}/gdb/CVS/Tag" ] ; then
diff --git a/gdb/contrib/ari/gdb_ari.sh b/gdb/contrib/ari/gdb_ari.sh
index f539ed1..e10bbe0 100755
--- a/gdb/contrib/ari/gdb_ari.sh
+++ b/gdb/contrib/ari/gdb_ari.sh
@@ -60,7 +60,7 @@ Options:
-Werror Treat all problems as errors.
-Wall Report all problems.
-Wari Report problems that should be fixed in new code.
- -WCATEGORY Report problems in the specifed category. The category
+ -WCATEGORY Report problems in the specified category. The category
can be prefixed with "no-". Valid categories
are: ${all}
EOF
@@ -159,7 +159,7 @@ BEGIN {
PWD = "'`pwd`'"
}
-# Print the error message for BUG. Append SUPLEMENT if non-empty.
+# Print the error message for BUG. Append SUPPLEMENT if non-empty.
function print_bug(file,line,prefix,category,bug,doc,supplement, suffix,idx) {
if (print_idx) {
idx = bug ": "
diff --git a/gdb/contrib/ari/update-web-ari.sh b/gdb/contrib/ari/update-web-ari.sh
index 6e7b5ff..b9ef184 100644
--- a/gdb/contrib/ari/update-web-ari.sh
+++ b/gdb/contrib/ari/update-web-ari.sh
@@ -176,7 +176,7 @@ fi
# THIS HAS SUFFERED BIT ROT
if ${check_indent_p} && test -d "${srcdir}"
then
- printf "Analizing file indentation:" 1>&2
+ printf "Analyzing file indentation:" 1>&2
( cd "${srcdir}" && /bin/sh ${aridir}/gdb_find.sh ${project} | while read f
do
if /bin/sh ${aridir}/gdb_indent.sh < ${f} 2>/dev/null | cmp -s - ${f}
@@ -550,7 +550,7 @@ function print_heading (nb_file, where, bug_i) {
for (bug_i = 1; bug_i <= nr_bug; bug_i++) {
bug = i2bug[bug_i];
printf "<th>"
- # The title names are offset by one. Otherwize, when the browser
+ # The title names are offset by one. Otherwise, when the browser
# jumps to the name it leaves out half the relevant column.
#printf "<a name=\",%s\">&nbsp;</a>", bug
printf "<a name=\",%s\">&nbsp;</a>", i2bug[bug_i-1]
@@ -851,7 +851,7 @@ EOF
print_toc 0 -1 deprecate Deprecate <<EOF
Mechanisms that are a candidate for being made obsolete. Once core
GDB no longer depends on these mechanisms and/or there is a
-replacement available, these mechanims can be deprecated (adding the
+replacement available, these mechanisms can be deprecated (adding the
deprecated prefix) obsoleted (put into category obsolete) or deleted.
See obsolete and deprecated.
EOF
diff --git a/gdb/contrib/cc-with-tweaks.sh b/gdb/contrib/cc-with-tweaks.sh
index de56018..930ba5c 100755
--- a/gdb/contrib/cc-with-tweaks.sh
+++ b/gdb/contrib/cc-with-tweaks.sh
@@ -42,6 +42,7 @@
# -Z invoke objcopy --compress-debug-sections
# -z compress using dwz
# -m compress using dwz -m
+# -5 compress using dwz -m -5
# -i make an index (.gdb_index)
# -c make an index (currently .gdb_index) in a cache dir
# -n make a dwarf5 index (.debug_names)
@@ -88,6 +89,7 @@ want_index=false
index_options=""
want_index_cache=false
want_dwz=false
+dwz_5flag=
want_multi=false
want_dwp=false
want_objcopy_compress=false
@@ -101,6 +103,7 @@ while [ $# -gt 0 ]; do
-n) want_index=true; index_options=-dwarf-5;;
-c) want_index_cache=true ;;
-m) want_multi=true ;;
+ -5) want_multi=true; dwz_5flag=-5 ;;
-p) want_dwp=true ;;
-l) want_gnu_debuglink=true ;;
*) break ;;
@@ -269,7 +272,7 @@ elif [ "$want_multi" = true ]; then
rm -f "$dwz_file"
cp "$output_file" "${output_file}.alt"
- $DWZ -m "$dwz_file" "$output_file" "${output_file}.alt" > /dev/null
+ $DWZ $dwz_5flag -m "$dwz_file" "$output_file" "${output_file}.alt" > /dev/null
rm -f "${output_file}.alt"
# Validate dwz's work by checking if the expected output file exists.
diff --git a/gdb/contrib/codespell-dictionary.txt b/gdb/contrib/codespell-dictionary.txt
new file mode 100644
index 0000000..09bc309
--- /dev/null
+++ b/gdb/contrib/codespell-dictionary.txt
@@ -0,0 +1 @@
+gdbsever->gdbserver
diff --git a/gdb/contrib/codespell-ignore-words.txt b/gdb/contrib/codespell-ignore-words.txt
index 2d6e13a..881b1d2 100644
--- a/gdb/contrib/codespell-ignore-words.txt
+++ b/gdb/contrib/codespell-ignore-words.txt
@@ -1,2 +1,3 @@
configury
SME
+Synopsys
diff --git a/gdb/contrib/codespell-log.sh b/gdb/contrib/codespell-log.sh
new file mode 100755
index 0000000..10780f8
--- /dev/null
+++ b/gdb/contrib/codespell-log.sh
@@ -0,0 +1,95 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2025 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Script to be used as pre-commit commit-msg hook to spell-check the commit
+# log using codespell.
+#
+# Using codespell directly as a pre-commit commit-msg hook has the drawback
+# that:
+# - if codespell fails, the commit fails
+# - if the commit log mentions a typo correction, it'll require a
+# codespell:ignore annotation.
+#
+# This script works around these problems by treating codespell output as a
+# hint, and ignoring codespell exit status.
+#
+# Implementation note: rather than using codespell directly, this script uses
+# pre-commit to call codespell, because it allows us to control the codespell
+# version that is used.
+
+# Exit on error.
+set -e
+
+# Initialize temporary file names.
+cfg=""
+output=""
+
+cleanup()
+{
+ for f in "$cfg" "$output"; do
+ if [ "$f" != "" ]; then
+ rm -f "$f"
+ fi
+ done
+}
+
+# Schedule cleanup.
+trap cleanup EXIT
+
+# Create temporary files.
+cfg=$(mktemp)
+output=$(mktemp)
+
+gen_cfg ()
+{
+ cat > "$1" <<EOF
+repos:
+- repo: https://github.com/codespell-project/codespell
+ rev: v2.4.1
+ hooks:
+ - id: codespell
+ name: codespell-log-internal
+ stages: [manual]
+ args: [--config, gdb/contrib/setup.cfg]
+EOF
+}
+
+# Generate pre-commit configuration file.
+gen_cfg "$cfg"
+
+# Setup pre-commit command to run.
+cmd=(pre-commit \
+ run \
+ -c "$cfg" \
+ codespell \
+ --hook-stage manual \
+ --files "$@")
+
+# Run pre-commit command.
+if "${cmd[@]}" \
+ > "$output" \
+ 2>&1; then
+ # Command succeeded quietly, we're done.
+ exit 0
+fi
+
+# Command failed quietly, now show the output.
+#
+# Simply doing "cat $output" doesn't produce colored output, so we just
+# run the command again, that should be fast enough.
+#
+# Ignore codespell exit status.
+"${cmd[@]}" || true
diff --git a/gdb/contrib/license-check-new-files.sh b/gdb/contrib/license-check-new-files.sh
new file mode 100755
index 0000000..710afa1
--- /dev/null
+++ b/gdb/contrib/license-check-new-files.sh
@@ -0,0 +1,149 @@
+#!/usr/bin/env python3
+
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This file is part of GDB.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This program requires the python modules GitPython (git) and scancode-toolkit.
+# It builds a list of all the newly added files to the repository and scans
+# each file for a license, printing it to the terminal. If "--skip" is used,
+# it will only output non-"common" licenses, e.g., omitting "GPL-3.0-or-later".
+# This makes it a little bit easier to detect any possible new licenses.
+#
+# Example:
+# bash$ cd /path/to/binutils-gdb/gdb
+# bash$ ./contrib/license-check-new-files.sh -s gdb-15-branchpoint gdb-16-branchpoint
+# Scanning directories gdb*/...
+# gdb/contrib/common-misspellings.txt: no longer in repo?
+# gdb/contrib/spellcheck.sh: no longer in repo?
+# gdbsupport/unordered_dense.h: MIT
+
+import os
+import sys
+import argparse
+from pathlib import PurePath
+from git import Repo
+from scancode import api
+
+# A list of "common" licenses. If "--skip" is used, any file
+# with a license in this list will be omitted from the output.
+COMMON_LICENSES = ["GPL-2.0-or-later", "GPL-3.0-or-later"]
+
+# Default list of directories to scan. Default scans are limited to
+# gdb-specific git directories because much of the rest of binutils-gdb
+# is actually owned by other projects/packages.
+DEFAULT_SCAN_DIRS = "gdb*"
+
+
+# Get the commit object associated with the string commit CSTR
+# from the git repository REPO.
+#
+# Returns the object or prints an error and exits.
+def get_commit(repo, cstr):
+ try:
+ return repo.commit(cstr)
+ except:
+ print(f'unknown commit "{cstr}"')
+ sys.exit(2)
+
+
+# Uses scancode-toolkit package to scan FILE's licenses.
+# Returns the full license dict from scancode on success or
+# propagates any exceptions.
+def get_licenses_for_file(file):
+ return api.get_licenses(file)
+
+
+# Helper function to print FILE to the terminal if skipping
+# common licenses.
+def skip_print_file(skip, file):
+ if skip:
+ print(f"{file}: ", end="")
+
+
+def main(argv):
+ parser = argparse.ArgumentParser()
+ parser.add_argument("from_commit")
+ parser.add_argument("to_commit")
+ parser.add_argument(
+ "-s", "--skip", help="skip common licenses in output", action="store_true"
+ )
+ parser.add_argument(
+ "-p",
+ "--paths",
+ help=f'paths to scan (default is "{DEFAULT_SCAN_DIRS}")',
+ type=str,
+ default=DEFAULT_SCAN_DIRS,
+ )
+ args = parser.parse_args()
+
+ # Commit boundaries to search for new files
+ from_commit = args.from_commit
+ to_commit = args.to_commit
+
+ # Get the list of new files from git. Try the current directory,
+ # looping up to the root attempting to find a valid git repository.
+ path = PurePath(os.getcwd())
+ paths = list(path.parents)
+ paths.insert(0, path)
+ for dir in paths:
+ try:
+ repo = Repo(dir)
+ break
+ except:
+ pass
+
+ if dir == path.parents[-1]:
+ print(f'not a git repository (or any parent up to mount point "{dir}")')
+ sys.exit(2)
+
+ # Get from/to commits
+ fc = get_commit(repo, from_commit)
+ tc = get_commit(repo, to_commit)
+
+ # Loop over new files
+ paths = [str(dir) for dir in args.paths.split(",")]
+ print(f'Scanning directories {",".join(f"{s}/" for s in paths)}...')
+ for file in fc.diff(tc, paths=paths).iter_change_type("A"):
+ filename = file.a_path
+ if not args.skip:
+ print(f"checking licenses for {filename}... ", end="", flush=True)
+ try:
+ f = dir.joinpath(dir, filename).as_posix()
+ lic = get_licenses_for_file(f)
+ if len(lic["license_clues"]) > 1:
+ print("multiple licenses detected")
+ elif (
+ not args.skip
+ or lic["detected_license_expression_spdx"] not in COMMON_LICENSES
+ ):
+ skip_print_file(args.skip, filename)
+ print(f"{lic['detected_license_expression_spdx']}")
+ except OSError:
+ # Likely hit a file that was added to the repo and subsequently removed.
+ skip_print_file(args.skip, filename)
+ print("no longer in repo?")
+ except KeyboardInterrupt:
+ print("interrupted")
+ break
+ except Exception as e:
+ # If scanning fails, there is little we can do but print an error.
+ skip_print_file(args.skip, filename)
+ print(e)
+
+
+if __name__ == "__main__":
+ main(sys.argv)
diff --git a/gdb/contrib/setup.cfg b/gdb/contrib/setup.cfg
index 670a850..5541a01 100644
--- a/gdb/contrib/setup.cfg
+++ b/gdb/contrib/setup.cfg
@@ -4,6 +4,16 @@
skip = */ChangeLog*,*/configure,gdbsupport/Makefile.in,*.dat,*.eps,gdb/features/*.c,gdb/ada-casefold.h,gdb/copying.c,gdb/gdbarch-gen.h,gdb/gdbarch-gen.c,gdb/target-delegates-gen.c
ignore-words = gdb/contrib/codespell-ignore-words.txt
+dictionary = gdb/contrib/codespell-dictionary.txt,-
# Ignore all URLs.
uri-ignore-words-list = *
+
+# This codespell issue (
+# https://github.com/codespell-project/codespell/issues/3381 ) reports the
+# need to have support for ignoring blocks of code.
+# A suggestion there is to use ignore-multiline-regex, which does work, but
+# has a bug: using -w drops all newlines in the updated files (
+# https://github.com/codespell-project/codespell/issues/3642 ).
+# Consequently, disabled. To be enabled when the bug is fixed.
+#ignore-multiline-regex = codespell:ignore-begin.*codespell:ignore-end
diff --git a/gdb/copying.c b/gdb/copying.c
index af465e5..a198030 100644
--- a/gdb/copying.c
+++ b/gdb/copying.c
@@ -639,9 +639,7 @@ show_warranty_command (const char *ignore, int from_tty)
gdb_printf ("\n");
}
-void _initialize_copying ();
-void
-_initialize_copying ()
+INIT_GDB_FILE (copying)
{
add_cmd ("copying", no_set_class, show_copying_command,
_("Conditions for redistributing copies of GDB."),
diff --git a/gdb/copyright.py b/gdb/copyright.py
index 5ec9944..bd854dc 100755
--- a/gdb/copyright.py
+++ b/gdb/copyright.py
@@ -30,13 +30,16 @@
#
# This removes the bulk of the changes which are most likely to be correct.
+# pyright: strict
+
import argparse
import locale
import os
import os.path
+import pathlib
import subprocess
import sys
-from typing import List, Optional
+from typing import Iterable
def get_update_list():
@@ -66,24 +69,20 @@ def get_update_list():
.split("\0")
)
- def include_file(filename):
- (dirname, basename) = os.path.split(filename)
- dirbasename = os.path.basename(dirname)
- return not (
- basename in EXCLUDE_ALL_LIST
- or dirbasename in EXCLUDE_ALL_LIST
- or dirname in EXCLUDE_LIST
- or dirname in NOT_FSF_LIST
- or dirname in BY_HAND
- or filename in EXCLUDE_LIST
- or filename in NOT_FSF_LIST
- or filename in BY_HAND
- )
+ full_exclude_list = EXCLUDE_LIST + BY_HAND
+
+ def include_file(filename: str):
+ path = pathlib.Path(filename)
+ for pattern in full_exclude_list:
+ if path.full_match(pattern):
+ return False
+
+ return True
return filter(include_file, result)
-def update_files(update_list):
+def update_files(update_list: Iterable[str]):
"""Update the copyright header of the files in the given list.
We use gnulib's update-copyright script for that.
@@ -128,7 +127,7 @@ def update_files(update_list):
print("*** " + line)
-def may_have_copyright_notice(filename):
+def may_have_copyright_notice(filename: str):
"""Check that the given file does not seem to have a copyright notice.
The filename is relative to the root directory.
@@ -166,7 +165,7 @@ def get_parser() -> argparse.ArgumentParser:
return parser
-def main(argv: List[str]) -> Optional[int]:
+def main(argv: list[str]) -> int | None:
"""The main subprogram."""
parser = get_parser()
_ = parser.parse_args(argv)
@@ -210,8 +209,14 @@ def main(argv: List[str]) -> Optional[int]:
# generated, non-FSF, or otherwise special (e.g. license text,
# or test cases which must be sensitive to line numbering).
#
-# Filenames are relative to the root directory.
+# Entries are treated as glob patterns.
EXCLUDE_LIST = (
+ "**/aclocal.m4",
+ "**/configure",
+ "**/COPYING.LIB",
+ "**/COPYING",
+ "**/fdl.texi",
+ "**/gpl.texi",
"gdb/copying.c",
"gdb/nat/glibc_thread_db.h",
"gdb/CONTRIBUTE",
@@ -219,45 +224,11 @@ EXCLUDE_LIST = (
"gdbsupport/unordered_dense.h",
"gnulib/doc/gendocs_template",
"gnulib/doc/gendocs_template_min",
- "gnulib/import",
+ "gnulib/import/**",
"gnulib/config.in",
"gnulib/Makefile.in",
-)
-
-# Files which should not be modified, either because they are
-# generated, non-FSF, or otherwise special (e.g. license text,
-# or test cases which must be sensitive to line numbering).
-#
-# Matches any file or directory name anywhere. Use with caution.
-# This is mostly for files that can be found in multiple directories.
-# Eg: We want all files named COPYING to be left untouched.
-
-EXCLUDE_ALL_LIST = (
- "COPYING",
- "COPYING.LIB",
- "configure",
- "fdl.texi",
- "gpl.texi",
- "aclocal.m4",
-)
-
-# The list of files to update by hand.
-BY_HAND = (
- # Nothing at the moment :-).
-)
-
-# Files containing multiple copyright headers. This script is only
-# fixing the first one it finds, so we need to finish the update
-# by hand.
-MULTIPLE_COPYRIGHT_HEADERS = (
- "gdb/doc/gdb.texinfo",
- "gdb/doc/refcard.tex",
- "gdb/syscalls/update-netbsd.sh",
-)
-
-# The list of file which have a copyright, but not held by the FSF.
-# Filenames are relative to the root directory.
-NOT_FSF_LIST = (
+ "sim/Makefile.in",
+ # The files below have a copyright, but not held by the FSF.
"gdb/exc_request.defs",
"gdb/gdbtk",
"gdb/testsuite/gdb.gdbtk/",
@@ -294,9 +265,27 @@ NOT_FSF_LIST = (
"sim/mips/sim-main.c",
"sim/moxie/moxie-gdb.dts",
# Not a single file in sim/ppc/ appears to be copyright FSF :-(.
- "sim/ppc",
+ "sim/ppc/**",
"sim/testsuite/mips/mips32-dsp2.s",
)
+# The list of files to update by hand.
+#
+# Entries are treated as glob patterns.
+BY_HAND: tuple[str, ...] = (
+ # Nothing at the moment :-).
+)
+
+# Files containing multiple copyright headers. This script is only
+# fixing the first one it finds, so we need to finish the update
+# by hand.
+#
+# Entries are treated as glob patterns.
+MULTIPLE_COPYRIGHT_HEADERS = (
+ "gdb/doc/gdb.texinfo",
+ "gdb/doc/refcard.tex",
+ "gdb/syscalls/update-netbsd.sh",
+)
+
if __name__ == "__main__":
sys.exit(main(sys.argv[1:]))
diff --git a/gdb/corefile.c b/gdb/corefile.c
index 9f27f14..a2c75c0 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -391,9 +391,7 @@ set_gnutarget (const char *newtarget)
set_gnutarget_command (NULL, 0, NULL);
}
-void _initialize_core ();
-void
-_initialize_core ()
+INIT_GDB_FILE (core)
{
cmd_list_element *core_file_cmd
= add_cmd ("core-file", class_files, core_file_command, _("\
diff --git a/gdb/corelow.c b/gdb/corelow.c
index 4518781..24b949b 100644
--- a/gdb/corelow.c
+++ b/gdb/corelow.c
@@ -37,7 +37,6 @@
#include "exec.h"
#include "readline/tilde.h"
#include "solib.h"
-#include "solist.h"
#include "filenames.h"
#include "progspace.h"
#include "objfiles.h"
@@ -957,7 +956,7 @@ locate_exec_from_corefile_exec_context (bfd *cbfd,
execbfd = open_and_check_build_id (exec_name);
else
{
- std::string p = (ldirname (bfd_get_filename (cbfd))
+ std::string p = (gdb_ldirname (bfd_get_filename (cbfd))
+ '/'
+ exec_name);
execbfd = open_and_check_build_id (p.c_str ());
@@ -971,7 +970,7 @@ locate_exec_from_corefile_exec_context (bfd *cbfd,
if (execbfd == nullptr)
{
const char *base_name = lbasename (exec_name);
- std::string p = (ldirname (bfd_get_filename (cbfd))
+ std::string p = (gdb_ldirname (bfd_get_filename (cbfd))
+ '/'
+ base_name);
execbfd = open_and_check_build_id (p.c_str ());
@@ -1181,7 +1180,7 @@ core_target_open (const char *arg, int from_tty)
if (current_program_space->exec_bfd () == nullptr)
set_gdbarch_from_file (current_program_space->core_bfd ());
- post_create_inferior (from_tty);
+ post_create_inferior (from_tty, true);
/* Now go through the target stack looking for threads since there
may be a thread_stratum target loaded on top of target core by
@@ -2158,9 +2157,7 @@ core_target_find_mapped_file (const char *filename,
return targ->lookup_mapped_file_info (filename, addr);
}
-void _initialize_corelow ();
-void
-_initialize_corelow ()
+INIT_GDB_FILE (corelow)
{
add_target (core_target_info, core_target_open,
filename_maybe_quoted_completer);
diff --git a/gdb/cp-abi.c b/gdb/cp-abi.c
index 8f2067b..d8cfc08 100644
--- a/gdb/cp-abi.c
+++ b/gdb/cp-abi.c
@@ -384,9 +384,7 @@ show_cp_abi_cmd (const char *args, int from_tty)
uiout->text (").\n");
}
-void _initialize_cp_abi ();
-void
-_initialize_cp_abi ()
+INIT_GDB_FILE (cp_abi)
{
struct cmd_list_element *c;
diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y
index 10f6e2d..cafd6b2 100644
--- a/gdb/cp-name-parser.y
+++ b/gdb/cp-name-parser.y
@@ -374,6 +374,22 @@ function
| colon_ext_only function_arglist start_opt
{ $$ = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, $2.comp);
if ($3) $$ = state->fill_comp (DEMANGLE_COMPONENT_LOCAL_NAME, $$, $3); }
+ | colon_ext_only
+ {
+ /* This production is a hack to handle
+ something like "name::operator new[]" --
+ without arguments, this ordinarily would
+ not parse, but canonicalizing it is
+ important. So we infer the "()" and then
+ remove it when converting back to string.
+ Note that this works because this
+ production is terminal. */
+ demangle_component *comp
+ = state->fill_comp (DEMANGLE_COMPONENT_FUNCTION_TYPE,
+ nullptr, nullptr);
+ $$ = state->fill_comp (DEMANGLE_COMPONENT_TYPED_NAME, $1, comp);
+ state->demangle_info->added_parens = true;
+ }
| conversion_op_name start_opt
{ $$ = $1.comp;
@@ -2047,6 +2063,11 @@ cp_demangled_name_to_comp (const char *demangled_name,
auto result = std::make_unique<demangle_parse_info> ();
cpname_state state (demangled_name, result.get ());
+ /* Note that we can't set yydebug here, as is done in the other
+ parsers. Bison implements yydebug as a global, even with a pure
+ parser, and this parser is run from worker threads. So, changing
+ yydebug causes TSan reports. If you need to debug this parser,
+ debug gdb and set the global from the outer gdb. */
if (yyparse (&state))
{
if (state.global_errmsg && errmsg)
@@ -2106,13 +2127,17 @@ canonicalize_tests ()
should_be_the_same ("Foozle<int>::fogey<Empty<int> > (Empty<int>)",
"Foozle<int>::fogey<Empty<int>> (Empty<int>)");
+
+ should_be_the_same ("something :: operator new [ ]",
+ "something::operator new[]");
+ should_be_the_same ("something :: operator new",
+ "something::operator new");
+ should_be_the_same ("operator()", "operator ()");
}
#endif
-void _initialize_cp_name_parser ();
-void
-_initialize_cp_name_parser ()
+INIT_GDB_FILE (cp_name_parser)
{
#if GDB_SELF_TEST
selftests::register_test ("canonicalize", canonicalize_tests);
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index d285e86..009ea4b 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -1049,9 +1049,7 @@ maintenance_cplus_namespace (const char *args, int from_tty)
gdb_printf (_("The `maint namespace' command was removed.\n"));
}
-void _initialize_cp_namespace ();
-void
-_initialize_cp_namespace ()
+INIT_GDB_FILE (cp_namespace)
{
struct cmd_list_element *cmd;
diff --git a/gdb/cp-support.c b/gdb/cp-support.c
index c71b8d9..cab7110 100644
--- a/gdb/cp-support.c
+++ b/gdb/cp-support.c
@@ -573,6 +573,17 @@ replace_typedefs (struct demangle_parse_info *info,
}
}
+/* A helper to strip a trailing "()" from PTR. The string is modified
+ in place. */
+
+static void
+maybe_strip_parens (char *ptr)
+{
+ size_t len = strlen (ptr);
+ if (len > 2 && ptr[len - 2] == '(' && ptr[len - 1] == ')')
+ ptr[len - 2] = '\0';
+}
+
/* Parse STRING and convert it to canonical form, resolving any
typedefs. If parsing fails, or if STRING is already canonical,
return nullptr. Otherwise return the canonical form. If
@@ -599,6 +610,9 @@ cp_canonicalize_string_full (const char *string,
estimated_len);
gdb_assert (us);
+ if (info->added_parens)
+ maybe_strip_parens (us.get ());
+
/* Finally, compare the original string with the computed
name, returning NULL if they are the same. */
if (strcmp (us.get (), string) == 0)
@@ -647,6 +661,9 @@ cp_canonicalize_string (const char *string)
return nullptr;
}
+ if (info->added_parens)
+ maybe_strip_parens (us.get ());
+
if (strcmp (us.get (), string) == 0)
return nullptr;
@@ -2370,9 +2387,7 @@ find_toplevel_char (const char *s, char c)
return 0;
}
-void _initialize_cp_support ();
-void
-_initialize_cp_support ()
+INIT_GDB_FILE (cp_support)
{
cmd_list_element *maintenance_cplus
= add_basic_prefix_cmd ("cplus", class_maintenance,
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index 3ed354c..ffe0ba1 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -63,6 +63,10 @@ struct demangle_parse_info
/* Any memory used during processing. */
auto_obstack obstack;
+ /* True if the parser had to add a dummy '()' at the end of the
+ input text to make it parse. */
+ bool added_parens = false;
+
/* Any other objects referred to by this object, and whose storage
lifetime must be linked. */
std::vector<std::unique_ptr<demangle_parse_info>> infos;
diff --git a/gdb/cp-valprint.c b/gdb/cp-valprint.c
index 2117718..252072b 100644
--- a/gdb/cp-valprint.c
+++ b/gdb/cp-valprint.c
@@ -797,9 +797,7 @@ test_print_fields (gdbarch *arch)
#endif
-void _initialize_cp_valprint ();
-void
-_initialize_cp_valprint ()
+INIT_GDB_FILE (cp_valprint)
{
#if GDB_SELF_TEST
selftests::register_test_foreach_arch ("print-fields", test_print_fields);
diff --git a/gdb/cris-linux-tdep.c b/gdb/cris-linux-tdep.c
index b2ac80d..a39441e 100644
--- a/gdb/cris-linux-tdep.c
+++ b/gdb/cris-linux-tdep.c
@@ -23,6 +23,7 @@
#include "osabi.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "solib-svr4.h"
#include "symtab.h"
#include "gdbarch.h"
@@ -41,14 +42,10 @@ cris_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
-
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
}
-void _initialize_cris_linux_tdep ();
-void
-_initialize_cris_linux_tdep ()
+INIT_GDB_FILE (cris_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_cris, 0, GDB_OSABI_LINUX,
cris_linux_init_abi);
diff --git a/gdb/cris-tdep.c b/gdb/cris-tdep.c
index 722c0a4..b49e641 100644
--- a/gdb/cris-tdep.c
+++ b/gdb/cris-tdep.c
@@ -3816,9 +3816,7 @@ static void cris_iterate_over_regset_sections (struct gdbarch *gdbarch,
&cris_regset, NULL, cb_data);
}
-void _initialize_cris_tdep ();
-void
-_initialize_cris_tdep ()
+INIT_GDB_FILE (cris_tdep)
{
gdbarch_register (bfd_arch_cris, cris_gdbarch_init, cris_dump_tdep);
diff --git a/gdb/csky-linux-tdep.c b/gdb/csky-linux-tdep.c
index 2afb358..0651645 100644
--- a/gdb/csky-linux-tdep.c
+++ b/gdb/csky-linux-tdep.c
@@ -22,6 +22,7 @@
#include "osabi.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "gdbarch.h"
#include "solib-svr4.h"
#include "regset.h"
@@ -407,8 +408,7 @@ csky_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Shared library handling. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
@@ -426,9 +426,7 @@ csky_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
&csky_linux_rt_sigreturn_tramp_frame_kernel_4x);
}
-void _initialize_csky_linux_tdep ();
-void
-_initialize_csky_linux_tdep ()
+INIT_GDB_FILE (csky_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_csky, 0, GDB_OSABI_LINUX,
csky_linux_init_abi);
diff --git a/gdb/csky-tdep.c b/gdb/csky-tdep.c
index 350612f..e6c6e2c 100644
--- a/gdb/csky-tdep.c
+++ b/gdb/csky-tdep.c
@@ -2882,9 +2882,7 @@ csky_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_csky_tdep ();
-void
-_initialize_csky_tdep ()
+INIT_GDB_FILE (csky_tdep)
{
gdbarch_register (bfd_arch_csky, csky_gdbarch_init);
diff --git a/gdb/darwin-nat-info.c b/gdb/darwin-nat-info.c
index b5784be..3ec49af 100644
--- a/gdb/darwin-nat-info.c
+++ b/gdb/darwin-nat-info.c
@@ -839,9 +839,7 @@ info_mach_exceptions_command (const char *args, int from_tty)
}
}
-void _initialize_darwin_info_commands ();
-void
-_initialize_darwin_info_commands ()
+INIT_GDB_FILE (darwin_info_commands)
{
add_info ("mach-tasks", info_mach_tasks_command,
_("Get list of tasks in system."));
diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c
index 6bc0e4f..7acf639 100644
--- a/gdb/darwin-nat.c
+++ b/gdb/darwin-nat.c
@@ -1853,7 +1853,7 @@ copy_shell_to_cache (const char *shell, const std::string &new_name)
error (_("Could not open shell (%s) for reading: %s"),
shell, safe_strerror (errno));
- std::string new_dir = ldirname (new_name.c_str ());
+ std::string new_dir = gdb_ldirname (new_name.c_str ());
if (!mkdir_recursive (new_dir.c_str ()))
error (_("Could not make cache directory \"%s\": %s"),
new_dir.c_str (), safe_strerror (errno));
@@ -2469,9 +2469,7 @@ darwin_nat_target::supports_multi_process ()
return true;
}
-void _initialize_darwin_nat ();
-void
-_initialize_darwin_nat ()
+INIT_GDB_FILE (darwin_nat)
{
kern_return_t kret;
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 8d0ebab..260f583 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -248,9 +248,7 @@ static const struct sym_fns aout_sym_fns =
NULL, /* sym_probe_fns */
};
-void _initialize_dbxread ();
-void
-_initialize_dbxread ()
+INIT_GDB_FILE (dbxread)
{
add_symtab_fns (bfd_target_aout_flavour, &aout_sym_fns);
}
diff --git a/gdb/dcache.c b/gdb/dcache.c
index 2c5484d..7a15278 100644
--- a/gdb/dcache.c
+++ b/gdb/dcache.c
@@ -679,9 +679,7 @@ set_dcache_line_size (const char *args, int from_tty,
target_dcache_invalidate (current_program_space->aspace);
}
-void _initialize_dcache ();
-void
-_initialize_dcache ()
+INIT_GDB_FILE (dcache)
{
add_setshow_boolean_cmd ("remotecache", class_support,
&dcache_enabled_p, _("\
diff --git a/gdb/debuginfod-support.c b/gdb/debuginfod-support.c
index d573b8d..8f28fd5 100644
--- a/gdb/debuginfod-support.c
+++ b/gdb/debuginfod-support.c
@@ -594,9 +594,7 @@ maint_get_debuginfod_download_sections ()
/* Register debuginfod commands. */
-void _initialize_debuginfod ();
-void
-_initialize_debuginfod ()
+INIT_GDB_FILE (debuginfod)
{
/* set/show debuginfod */
add_setshow_prefix_cmd ("debuginfod", class_run,
diff --git a/gdb/defs.h b/gdb/defs.h
index bda4ef6..bb1e119 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -190,8 +190,6 @@ extern std::string relocate_gdb_directory (const char *initial, bool relocatable
/* From top.c */
-typedef void initialize_file_ftype (void);
-
extern char *gdb_readline_wrapper (const char *);
extern const char *command_line_input (std::string &cmd_line_buffer,
@@ -407,4 +405,10 @@ DEF_ENUM_FLAGS_TYPE (enum user_selected_what_flag, user_selected_what);
#include "utils.h"
+/* File initialization macro. This is found by make-init-c and used
+ to construct the gdb initialization function. */
+#define INIT_GDB_FILE(NAME) \
+ extern void _initialize_ ## NAME (); \
+ void _initialize_ ## NAME ()
+
#endif /* GDB_DEFS_H */
diff --git a/gdb/dicos-tdep.c b/gdb/dicos-tdep.c
index 4dfac76..d6bc9a5 100644
--- a/gdb/dicos-tdep.c
+++ b/gdb/dicos-tdep.c
@@ -27,7 +27,7 @@
void
dicos_init_abi (struct gdbarch *gdbarch)
{
- set_gdbarch_so_ops (gdbarch, &solib_target_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_target_solib_ops);
/* Every process, although has its own address space, sees the same
list of shared libraries. There's no "main executable" in DICOS,
diff --git a/gdb/disasm-selftests.c b/gdb/disasm-selftests.c
index ffd25bd..0d06065 100644
--- a/gdb/disasm-selftests.c
+++ b/gdb/disasm-selftests.c
@@ -21,6 +21,7 @@
#include "gdbsupport/selftest.h"
#include "selftest-arch.h"
#include "gdbarch.h"
+#include "disasm-selftests.h"
namespace selftests {
@@ -329,11 +330,95 @@ memory_error_test (struct gdbarch *gdbarch)
SELF_CHECK (saw_memory_error);
}
-} /* namespace selftests */
+/* Disassemble INSN (a GDBARCH insn), and return the result. */
+
+static std::string
+disassemble_one_insn_to_string (struct gdbarch *gdbarch,
+ gdb::array_view<const gdb_byte> insn)
+{
+ string_file buffer;
+
+ class gdb_disassembler_test : public gdb_disassembler
+ {
+ public:
+
+ explicit gdb_disassembler_test (struct gdbarch *gdbarch,
+ gdb::array_view<const gdb_byte> insn,
+ string_file &buffer)
+ : gdb_disassembler (gdbarch,
+ &buffer,
+ gdb_disassembler_test::read_memory),
+ m_insn (insn)
+ {
+ }
+
+ int
+ print_insn (CORE_ADDR memaddr)
+ {
+ try
+ {
+ return gdb_disassembler::print_insn (memaddr);
+ }
+ catch (const gdb_exception_error &)
+ {
+ return -1;
+ }
+ }
+
+ private:
+ gdb::array_view<const gdb_byte> m_insn;
+
+ static int read_memory (bfd_vma memaddr, gdb_byte *myaddr,
+ unsigned int len,
+ struct disassemble_info *info) noexcept
+ {
+ gdb_disassembler_test *self
+ = static_cast<gdb_disassembler_test *>(info->application_data);
+
+ if (len > self->m_insn.size ())
+ return -1;
+
+ for (size_t i = 0; i < len; i++)
+ myaddr[i] = self->m_insn[i];
+
+ return 0;
+ }
+ };
+
+ gdb_disassembler_test di (gdbarch, insn, buffer);
+ if (di.print_insn (0) != insn.size ())
+ return "";
+
+ return buffer.string ();
+}
+
+/* See disasm-selftests.h. */
-void _initialize_disasm_selftests ();
void
-_initialize_disasm_selftests ()
+disassemble_insn (gdbarch *gdbarch, gdb::byte_vector &insn,
+ const std::string &expected)
+{
+ std::string buffer
+ = disassemble_one_insn_to_string (gdbarch, insn);
+
+ bool check_ok = buffer == expected;
+
+ if (run_verbose () || !check_ok)
+ {
+ for (gdb_byte b : insn)
+ debug_printf ("0x%02x ", b);
+ debug_printf ("-> %s\n", buffer.c_str ());
+ }
+
+ if (!check_ok)
+ debug_printf ("expected: %s\n", expected.c_str ());
+
+ SELF_CHECK (check_ok);
+}
+
+} /* namespace selftests */
+
+INIT_GDB_FILE (disasm_selftests)
{
selftests::register_test_foreach_arch ("print_one_insn",
selftests::print_one_insn_test);
diff --git a/gdb/disasm-selftests.h b/gdb/disasm-selftests.h
new file mode 100644
index 0000000..29acf87
--- /dev/null
+++ b/gdb/disasm-selftests.h
@@ -0,0 +1,32 @@
+/* Copyright (C) 2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDB_DISASM_SELFTESTS_H
+#define GDB_DISASM_SELFTESTS_H
+
+namespace selftests
+{
+
+/* Check that disassembly of INSN (a GDBARCH insn) matches EXPECTED. */
+
+void
+disassemble_insn (gdbarch *gdbarch, gdb::byte_vector &insn,
+ const std::string &expected);
+
+}
+
+#endif /* GDB_DISASM_SELFTESTS_H */
diff --git a/gdb/disasm.c b/gdb/disasm.c
index 2a7a80c..b731192 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -1470,9 +1470,7 @@ disassembler_options_completer (struct cmd_list_element *ignore,
/* Initialization code. */
-void _initialize_disasm ();
-void
-_initialize_disasm ()
+INIT_GDB_FILE (disasm)
{
/* Add the command that controls the disassembler options. */
set_show_commands set_show_disas_opts
diff --git a/gdb/displaced-stepping.c b/gdb/displaced-stepping.c
index 7df45d6..6699296 100644
--- a/gdb/displaced-stepping.c
+++ b/gdb/displaced-stepping.c
@@ -315,9 +315,7 @@ displaced_step_buffers::restore_in_ptid (ptid_t ptid)
}
}
-void _initialize_displaced_stepping ();
-void
-_initialize_displaced_stepping ()
+INIT_GDB_FILE (displaced_stepping)
{
add_setshow_boolean_cmd ("displaced", class_maintenance,
&debug_displaced, _("\
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index b251c8e..b6d626b 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -3807,7 +3807,7 @@ Thread 1 "main" received signal SIGINT, Interrupt.
@table @code
@anchor{info_threads}
@kindex info threads
-@item info threads @r{[}-gid@r{]} @r{[}@var{thread-id-list}@r{]}
+@item info threads @r{[}-gid@r{]} @r{[}-stopped@r{]} @r{[}-running@r{]} @r{[}@var{thread-id-list}@r{]}
Display information about one or more threads. With no arguments
displays information about all threads. You can specify the list of
@@ -3857,6 +3857,14 @@ If you're debugging multiple inferiors, @value{GDBN} displays thread
IDs using the qualified @var{inferior-num}.@var{thread-num} format.
Otherwise, only @var{thread-num} is shown.
+If you specify the @samp{-stopped} option, @value{GDBN} filters the
+output of the command to print the stopped threads only. Similarly,
+if you specify the @samp{-running} option, @value{GDBN} filters the
+output to print the running threads only. These options can be
+helpful to reduce the output list if there is a large number of
+threads. If you specify both options, @value{GDBN} prints both
+stopped and running threads.
+
If you specify the @samp{-gid} option, @value{GDBN} displays a column
indicating each thread's global thread ID:
@@ -4090,6 +4098,56 @@ When @samp{on} @value{GDBN} will print additional messages when
threads are created and deleted.
@end table
+@cindex thread local storage
+@cindex @acronym{TLS}
+For some debugging targets, @value{GDBN} has support for accessing
+variables that reside in Thread Local Storage (@acronym{TLS}).
+@acronym{TLS} variables are similar to global variables, except that
+each thread has its own copy of the variable. While often used in
+multi-threaded programs, @acronym{TLS} variables can also be used in
+programs without threads. The C library variable @var{errno} is,
+perhaps, the most prominent example of a @acronym{TLS} variable that
+is frequently used in non-threaded programs. For targets where
+@value{GDBN} does not have good @acronym{TLS} support, printing or
+changing the value of @var{errno} might not be directly possible.
+
+@sc{gnu}/Linux and FreeBSD targets have support for accessing
+@acronym{TLS} variables. On @sc{gnu}/Linux, the helper library,
+@code{libthread_db}, is used to help resolve the addresses of
+@acronym{TLS} variables. Some FreeBSD and some @sc{gnu}/Linux targets
+also have @value{GDBN}-internal @acronym{TLS} resolution code.
+@sc{gnu}/Linux targets will attempt to use the @acronym{TLS} address
+lookup functionality provided by @code{libthread_db}, but will fall
+back to using its internal @acronym{TLS} support when
+@code{libthread_db} is not available. This can happen in
+cross-debugging scenarios or when debugging programs that are linked
+in such a way that @code{libthread_db} support is unavailable -- this
+includes statically linked programs, linking against @acronym{GLIBC}
+versions earlier than 2.34, but not with @code{libpthread}, and use of
+other (non-@acronym{GLIBC}) C libraries.
+
+@table @code
+@kindex maint set force-internal-tls-address-lookup
+@kindex maint show force-internal-tls-address-lookup
+@cindex internal @acronym{TLS} address lookup
+@item maint set force-internal-tls-address-lookup
+@itemx maint show force-internal-tls-address-lookup
+Turns on or off forced use of @value{GDBN}-internal @acronym{TLS}
+address lookup code. Use @code{on} to enable and @code{off} to
+disable. The default for this setting is @code{off}.
+
+When disabled, @value{GDBN} will attempt to use a helper
+@code{libthread_db} library if possible, but will fall back to use of
+its own internal @acronym{TLS} address lookup mechanisms if necessary.
+
+When enabled, @value{GDBN} will only use @value{GDBN}'s internal
+@acronym{TLS} address lookup mechanisms, if they exist.
+
+This command is only available for @sc{gnu}/Linux targets. Its
+primary use is for testing -- certain tests in the @value{GDBN} test
+suite use this command to force use of internal TLS address lookup.
+@end table
+
@node Forks
@section Debugging Forks
@@ -7807,9 +7865,9 @@ previous instruction; otherwise, it will work in record mode, if the
platform supports reverse execution, or stop if not.
Currently, process record and replay is supported on ARM, Aarch64,
-LoongArch, Moxie, PowerPC, PowerPC64, S/390, and x86 (i386/amd64) running
-GNU/Linux. Process record and replay can be used both when native
-debugging, and when remote debugging via @code{gdbserver}.
+LoongArch, Moxie, PowerPC, PowerPC64, S/390, RISC-V and x86 (i386/amd64)
+running GNU/Linux. Process record and replay can be used both when
+native debugging, and when remote debugging via @code{gdbserver}.
When recording an inferior, @value{GDBN} may print auxiliary information
during stepping commands and commands displaying the execution history.
@@ -13046,6 +13104,18 @@ variable which may be @samp{truecolor} or @samp{24bit}. Other color spaces are
determined by the "Co" termcap which in turn depends on the @env{TERM}
environment variable.
+@vindex $_active_linker_namespaces@r{, convenience variable}
+@item $_active_linker_namespaces
+Number of active linker namespaces in the inferior (@pxref{Files}). In systems
+with no support for linker namespaces, this variable will always be set to
+@samp{1}.
+
+@vindex $_linker_namespace@r{, convenience variable}
+@item $_linker_namespace
+The namespace which contains the current location in the inferior. This returns
+@value{GDBN}'s internal numbering for the namespace. In systems with no support
+for linker namespaces, this variable will always be set to @samp{0}.
+
@end table
@node Convenience Funs
@@ -22172,11 +22242,18 @@ be determined then the address range for the @code{.text} section from
the library will be listed. If the @code{.text} section cannot be
found then no addresses will be listed.
-On systems that support linkage namespaces, the output includes an
+On systems that support linker namespaces, the output includes an
additional column @code{NS} if the inferior has more than one active
-namespace when the command is used. This column the linkage namespace
+namespace when the command is used. This column the linker namespace
that the shared library was loaded into.
+@cindex linker namespaces
+@dfn{Linker namespaces} are a feature of some standard libraries, that allow
+shared objects to be loaded in isolated environment, eliminating the
+possibility that those objects may cross-talk. Each set of isolated
+shared objects is said to belong to a ``namespace'', and linker related
+actions such as relocations do not cross namespace boundaries.
+
@kindex info dll
@item info dll @var{regex}
This is an alias of @code{info sharedlibrary}.
@@ -22212,6 +22289,22 @@ less useful than setting a catchpoint, because it does not allow for
conditions or commands as a catchpoint does.
@table @code
+@kindex info linker-namespaces
+@item info linker-namespaces
+@item info linker-namespaces @code{[[@var{n}]]}
+
+With no argument, print the number of linker namespaces which are
+currently active --- that is, namespaces that have libraries loaded
+into them. Then, it prints the number of libraries loaded into each
+namespace, and all the libraries loaded into them, in the same way
+as @code{info sharedlibrary}.
+
+If an argument @code{[[@var{n}]]} is provided, only prints the
+library count and the libraried for the provided namespace @var{n}.
+The surrounding square brackets are optional.
+@end table
+
+@table @code
@item set stop-on-solib-events
@kindex set stop-on-solib-events
This command controls whether @value{GDBN} should give you control
@@ -24689,6 +24782,10 @@ future connections is shown. The available settings are:
@tab @code{vFile:stat}
@tab Host I/O
+@item @code{hostio-lstat-packet}
+@tab @code{vFile:lstat}
+@tab Host I/O
+
@item @code{hostio-setfs-packet}
@tab @code{vFile:setfs}
@tab Host I/O
@@ -26552,8 +26649,9 @@ Show whether AArch64 debugging messages are displayed.
@end table
-@subsubsection AArch64 SVE.
-@cindex AArch64 SVE.
+@subsubsection AArch64 Scalable Vector Extension
+@cindex Scalable Vector Extension, AArch64
+@cindex SVE, AArch64
When @value{GDBN} is debugging the AArch64 architecture, if the Scalable Vector
Extension (SVE) is present, then @value{GDBN} will provide the vector registers
@@ -26592,11 +26690,10 @@ internally by @value{GDBN} and the Linux Kernel.
@end itemize
-@subsubsection AArch64 SME.
+@subsubsection AArch64 Scalable Matrix Extension
@anchor{AArch64 SME}
-@cindex SME
-@cindex AArch64 SME
-@cindex Scalable Matrix Extension
+@cindex Scalable Matrix Extension, AArch64
+@cindex SME, AArch64
The Scalable Matrix Extension (@url{https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/scalable-matrix-extension-armv9-a-architecture, @acronym{SME}})
is an AArch64 architecture extension that expands on the concept of the
@@ -26788,11 +26885,10 @@ incorrect values for SVE registers (when in streaming mode).
This is the same limitation we have for the @acronym{SVE} registers, and there
are plans to address this limitation going forward.
-@subsubsection AArch64 SME2.
+@subsubsection AArch64 Scalable Matrix Extension 2
@anchor{AArch64 SME2}
-@cindex SME2
-@cindex AArch64 SME2
-@cindex Scalable Matrix Extension 2
+@cindex Scalable Matrix Extension 2, AArch64
+@cindex SME2, AArch64
The Scalable Matrix Extension 2 is an AArch64 architecture extension that
further expands the @acronym{SME} extension with the following:
@@ -26832,8 +26928,9 @@ For more information about @acronym{SME2}, please refer to the
official @url{https://developer.arm.com/documentation/ddi0487/latest,
architecture documentation}.
-@subsubsection AArch64 Pointer Authentication.
-@cindex AArch64 Pointer Authentication.
+@subsubsection AArch64 Pointer Authentication
+@cindex Pointer Authentication, AArch64
+@cindex PAC, AArch64
@anchor{AArch64 PAC}
When @value{GDBN} is debugging the AArch64 architecture, and the program is
@@ -26843,8 +26940,9 @@ When GDB prints a backtrace, any addresses that required unmasking will be
postfixed with the marker [PAC]. When using the MI, this is printed as part
of the @code{addr_flags} field.
-@subsubsection AArch64 Memory Tagging Extension.
-@cindex AArch64 Memory Tagging Extension.
+@subsubsection AArch64 Memory Tagging Extension
+@cindex Memory Tagging Extension, AArch64
+@cindex MTE, AArch64
When @value{GDBN} is debugging the AArch64 architecture, the program is
using the v8.5-A feature Memory Tagging Extension (MTE) and there is support
@@ -27896,6 +27994,19 @@ value, then @value{GDBN} will change this to @samp{off} at startup.
@item show style enabled
Show the current state of styling.
+@item set style emoji @samp{auto|on|off}
+Enable or disable the use of emoji. On most hosts, the default is
+@samp{auto}, meaning that emoji will only be used if the host
+character set is @samp{UTF-8}; however, on Windows the default is
+@samp{off} when using the console. Note that disabling styling as a
+whole will also prevent emoji display.
+
+Currently, emoji are printed whenever @value{GDBN} reports an error or
+a warning.
+
+@item show style emoji
+Show the current state of emoji output.
+
@item set style sources @samp{on|off}
Enable or disable source code styling. This affects whether source
code, such as the output of the @code{list} command, is styled. The
@@ -27912,6 +28023,18 @@ then it will be used.
@item show style sources
Show the current state of source code styling.
+@anchor{warning-prefix}
+@item set style warning-prefix
+@itemx show style warning-prefix
+@itemx set style error-prefix
+@itemx show style error-prefix
+
+These commands control the prefix that is printed before warnings and
+errors, respectively. This functionality is intended for use with
+emoji display, and so the prefixes are only displayed if emoji styling
+is enabled. The defaults are the warning sign emoji for warnings, and
+and the cross mark emoji for errors.
+
@item set style tui-current-position @samp{on|off}
Enable or disable styling of the source and assembly code highlighted
by the TUI's current position indicator. The default is @samp{off}.
@@ -31214,138 +31337,13 @@ appropriate @code{set style} commands. @xref{Output Styling}.
@cindex Emacs
@cindex @sc{gnu} Emacs
-A special interface allows you to use @sc{gnu} Emacs to view (and
-edit) the source files for the program you are debugging with
-@value{GDBN}.
-
-To use this interface, use the command @kbd{M-x gdb} in Emacs. Give the
-executable file you want to debug as an argument. This command starts
-@value{GDBN} as a subprocess of Emacs, with input and output through a newly
-created Emacs buffer.
-@c (Do not use the @code{-tui} option to run @value{GDBN} from Emacs.)
-
-Running @value{GDBN} under Emacs can be just like running @value{GDBN} normally except for two
-things:
-
-@itemize @bullet
-@item
-All ``terminal'' input and output goes through an Emacs buffer, called
-the GUD buffer.
-
-This applies both to @value{GDBN} commands and their output, and to the input
-and output done by the program you are debugging.
-
-This is useful because it means that you can copy the text of previous
-commands and input them again; you can even use parts of the output
-in this way.
-
-All the facilities of Emacs' Shell mode are available for interacting
-with your program. In particular, you can send signals the usual
-way---for example, @kbd{C-c C-c} for an interrupt, @kbd{C-c C-z} for a
-stop.
-
-@item
-@value{GDBN} displays source code through Emacs.
-Each time @value{GDBN} displays a stack frame, Emacs automatically finds the
-source file for that frame and puts an arrow (@samp{=>}) at the
-left margin of the current line. Emacs uses a separate buffer for
-source display, and splits the screen to show both your @value{GDBN} session
-and the source.
+In @sc{gnu} Emacs there is a special interface to @value{GDBN}, which
+facilitates viewing the source code for the program you are debugging.
+There is also an IDE-like interface to GDB, with specialized buffers for
+breakpoints, stack frames and other aspects of the debugger state.
-Explicit @value{GDBN} @code{list} or search commands still produce output as
-usual, but you probably have no reason to use them from Emacs.
-@end itemize
-
-We call this @dfn{text command mode}. Emacs 22.1, and later, also uses
-a graphical mode, enabled by default, which provides further buffers
-that can control the execution and describe the state of your program.
-@xref{GDB Graphical Interface,,, Emacs, The @sc{gnu} Emacs Manual}.
-
-If you specify an absolute file name when prompted for the @kbd{M-x
-gdb} argument, then Emacs sets your current working directory to where
-your program resides. If you only specify the file name, then Emacs
-sets your current working directory to the directory associated
-with the previous buffer. In this case, @value{GDBN} may find your
-program by searching your environment's @env{PATH} variable, but on
-some operating systems it might not find the source. So, although the
-@value{GDBN} input and output session proceeds normally, the auxiliary
-buffer does not display the current source and line of execution.
-
-The initial working directory of @value{GDBN} is printed on the top
-line of the GUD buffer and this serves as a default for the commands
-that specify files for @value{GDBN} to operate on. @xref{Files,
-,Commands to Specify Files}.
-
-By default, @kbd{M-x gdb} calls the program called @file{gdb}. If you
-need to call @value{GDBN} by a different name (for example, if you
-keep several configurations around, with different names) you can
-customize the Emacs variable @code{gud-gdb-command-name} to run the
-one you want.
-
-In the GUD buffer, you can use these special Emacs commands in
-addition to the standard Shell mode commands:
-
-@table @kbd
-@item C-h m
-Describe the features of Emacs' GUD Mode.
-
-@item C-c C-s
-Execute to another source line, like the @value{GDBN} @code{step} command; also
-update the display window to show the current file and location.
-
-@item C-c C-n
-Execute to next source line in this function, skipping all function
-calls, like the @value{GDBN} @code{next} command. Then update the display window
-to show the current file and location.
-
-@item C-c C-i
-Execute one instruction, like the @value{GDBN} @code{stepi} command; update
-display window accordingly.
-
-@item C-c C-f
-Execute until exit from the selected stack frame, like the @value{GDBN}
-@code{finish} command.
-
-@item C-c C-r
-Continue execution of your program, like the @value{GDBN} @code{continue}
-command.
-
-@item C-c <
-Go up the number of frames indicated by the numeric argument
-(@pxref{Arguments, , Numeric Arguments, Emacs, The @sc{gnu} Emacs Manual}),
-like the @value{GDBN} @code{up} command.
-
-@item C-c >
-Go down the number of frames indicated by the numeric argument, like the
-@value{GDBN} @code{down} command.
-@end table
-
-In any source file, the Emacs command @kbd{C-x @key{SPC}} (@code{gud-break})
-tells @value{GDBN} to set a breakpoint on the source line point is on.
-
-In text command mode, if you type @kbd{M-x speedbar}, Emacs displays a
-separate frame which shows a backtrace when the GUD buffer is current.
-Move point to any frame in the stack and type @key{RET} to make it
-become the current frame and display the associated source in the
-source buffer. Alternatively, click @kbd{Mouse-2} to make the
-selected frame become the current one. In graphical mode, the
-speedbar displays watch expressions.
-
-If you accidentally delete the source-display buffer, an easy way to get
-it back is to type the command @code{f} in the @value{GDBN} buffer, to
-request a frame display; when you run under Emacs, this recreates
-the source buffer if necessary to show you the context of the current
-frame.
-
-The source files displayed in Emacs are in ordinary Emacs buffers
-which are visiting the source files in the usual way. You can edit
-the files with these buffers if you wish; but keep in mind that @value{GDBN}
-communicates with Emacs in terms of line numbers. If you add or
-delete lines from the text, the line numbers that @value{GDBN} knows cease
-to correspond properly with the code.
-
-A more detailed description of Emacs' interaction with @value{GDBN} is
+A detailed description of Emacs' interaction with @value{GDBN} is
given in the Emacs manual (@pxref{Debuggers,,, Emacs, The @sc{gnu}
Emacs Manual}).
@@ -41356,7 +41354,7 @@ libpython is present and found at configure time.) Python makes
@value{GDBN} scripting much more powerful than the restricted CLI
scripting language. If your host does not have Python installed, you
can find it on @url{http://www.python.org/download/}. The oldest version
-of Python supported by GDB is 3.0.1. The optional argument @var{python}
+of Python supported by GDB is 3.4. The optional argument @var{python}
is used to find the Python headers and libraries. It can be either
the name of a Python executable, or the name of the directory in which
Python is installed.
@@ -41554,6 +41552,13 @@ into remote agent bytecodes and display them as a disassembled list.
This command is useful for debugging the agent version of dynamic
printf (@pxref{Dynamic Printf}).
+@kindex maint canonicalize
+@item maint canonicalize @var{name}
+Print the canonical form of @var{name}, a C@t{++} name. Because a
+C@t{++} name may have multiple possible spellings, @value{GDBN}
+computes a canonical form of a name for internal use. For example,
+@code{short int} and @code{short} are two ways to name the same type.
+
@kindex maint info breakpoints
@anchor{maint info breakpoints}
@item maint info breakpoints
@@ -42750,6 +42755,23 @@ reports and error and the command is aborted.
@item show watchdog
Show the current setting of the target wait timeout.
+
+@kindex maint set console-translation-mode
+@kindex maint show console-translation-mode
+@item maint set console-translation-mode @r{[}binary|text@r{]}
+@itemx maint show console-translation-mode
+Controls the translation mode of @value{GDBN} stdout/stderr. MS-Windows
+only. Useful for running the @value{GDBN} testsuite.
+
+The translation mode values are as follows:
+@table @code
+@item binary
+No translation.
+@item text
+Translate @samp{\n} (LF, a single Line Feed) into @samp{\r\n} (CR-LF, a
+Carriage Return-Line Feed combination).
+@end table
+
@end table
@node Remote Protocol
@@ -46726,12 +46748,28 @@ If an error occurs the return value is -1. The format of the
returned binary attachment is as described in @ref{struct stat}.
@item vFile:stat: @var{filename}
-Get information about the file @var{filename} on the target.
-On success the information is returned as a binary attachment
-and the return value is the size of this attachment in bytes.
-If an error occurs the return value is -1. The format of the
+Get information about the file @var{filename} on the target as if from
+a @samp{stat} call. On success the information is returned as a binary
+attachment and the return value is the size of this attachment in
+bytes. If an error occurs the return value is -1. The format of the
returned binary attachment is as described in @ref{struct stat}.
+If @var{filename} is a symbolic link, then the information returned is
+about the file the link refers to, this is inline with the @samp{stat}
+library call.
+
+@item vFile:lstat: @var{filename}
+Get information about the file @var{filename} on the target as if from
+an @samp{lstat} call. On success the information is returned as a
+binary attachment and the return value is the size of this attachment
+in bytes. If an error occurs the return value is -1. The format of
+the returned binary attachment is as described in @ref{struct stat}.
+
+This packet is identical to @samp{vFile:stat}, except if
+@var{filename} is a symbolic link, then this packet returns
+information about the link itself, not the file that the link refers
+to, this is inline with the @samp{lstat} library call.
+
@item vFile:unlink: @var{filename}
Delete the file at @var{filename} on the target. Return 0,
or -1 if an error occurs. The @var{filename} is a string.
diff --git a/gdb/doc/guile.texi b/gdb/doc/guile.texi
index c6808ef..9677229 100644
--- a/gdb/doc/guile.texi
+++ b/gdb/doc/guile.texi
@@ -1772,6 +1772,16 @@ invoking it interactively. If this function throws an exception,
it is turned into a @value{GDBN} @code{error} call.
Otherwise, the return value is ignored.
+For non-prefix commands, @var{invoke} is required. For prefix
+commands @var{invoke} is optional. Only prefix commands that need to
+handle unknown sub-commands should supply @var{invoke}.
+
+For prefix commands that don't supply @var{invoke}, if the prefix
+command is used without a sub-command name then @value{GDBN} will
+display the help text for every sub-command, unless the prefix command
+is a @kbd{show} sub-command, in which case @value{GDBN} will list the
+values of all sub-commands.
+
The argument @var{command-class} is one of the @samp{COMMAND_} constants
defined below. This argument tells @value{GDBN} how to categorize the
new command in the help system. The default is @code{COMMAND_NONE}.
@@ -2098,8 +2108,10 @@ is the @code{<gdb:parameter>} object representing the parameter, and
This function must return a string, and will be displayed to the user.
@value{GDBN} will add a trailing newline.
-The argument @var{doc} is the help text for the new parameter.
-If there is no documentation string, a default value is used.
+The argument @var{doc} is the help text for the new parameter. If
+there is no documentation string, a default value is used. If the
+documentation string is empty, then @value{GDBN} will print just the
+@var{set-doc} and @var{show-doc} strings (see below).
The argument @var{set-doc} is the help text for this parameter's
@code{set} command.
@@ -3899,6 +3911,9 @@ Return string to change terminal's color to this.
If @var{is_foreground} is @code{#t}, then the returned sequence will change
foreground color. Otherwise, the returned sequence will change background
color.
+
+If styling is currently disabled (@pxref{Output Styling,,@kbd{set style
+enabled}}), then this procedure will return an empty string.
@end deffn
When color is initialized, its color space must be specified. The
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
index 50342bb..6fa2285 100644
--- a/gdb/doc/python.texi
+++ b/gdb/doc/python.texi
@@ -257,7 +257,7 @@ Python code must not override these, or even change the options using
signals, @value{GDBN} will most likely stop working correctly. Note
that it is unfortunately common for GUI toolkits to install a
@code{SIGCHLD} handler. When creating a new Python thread, you can
-use @code{gdb.block_signals} or @code{gdb.Thread} to handle this
+use @code{gdb.blocked_signals} or @code{gdb.Thread} to handle this
correctly; see @ref{Threading in GDB}.
@item
@@ -479,7 +479,7 @@ call this function and will automatically direct the output to the
relevant stream.
@end defun
-@defun gdb.flush (@r{[}, stream@r{]})
+@defun gdb.flush (@r{[}stream@r{]})
Flush the buffer of a @value{GDBN} paginated stream so that the
contents are displayed immediately. @value{GDBN} will flush the
contents of a stream automatically when it encounters a newline in the
@@ -509,6 +509,17 @@ Flushing @code{sys.stdout} or @code{sys.stderr} will automatically
call this function for the relevant stream.
@end defun
+@defun gdb.warning (text)
+Print a warning message to @value{GDBN}'s standard output stream. The
+warning message is the warning prefix (@pxref{warning-prefix}), the
+string @w{@samp{warning: }}, and then @var{text}, which must be a
+non-empty string.
+
+Due to the warning prefix, @var{text} should not begin with a capital
+letter (except for proper nouns), and @var{text} should end with a
+period.
+@end defun
+
@defun gdb.target_charset ()
Return the name of the current target character set (@pxref{Character
Sets}). This differs from @code{gdb.parameter('target-charset')} in
@@ -654,22 +665,22 @@ threads, you must be careful to only call @value{GDBN}-specific
functions in the @value{GDBN} thread. @value{GDBN} provides some
functions to help with this.
-@defun gdb.block_signals ()
+@defun gdb.blocked_signals ()
As mentioned earlier (@pxref{Basic Python}), certain signals must be
-delivered to the @value{GDBN} main thread. The @code{block_signals}
+delivered to the @value{GDBN} main thread. The @code{blocked_signals}
function returns a context manager that will block these signals on
entry. This can be used when starting a new thread to ensure that the
signals are blocked there, like:
@smallexample
-with gdb.block_signals():
+with gdb.blocked_signals():
start_new_thread()
@end smallexample
@end defun
@deftp {class} gdb.Thread
This is a subclass of Python's @code{threading.Thread} class. It
-overrides the @code{start} method to call @code{block_signals}, making
+overrides the @code{start} method to call @code{blocked_signals}, making
this an easy-to-use drop-in replacement for creating threads that will
work well in @value{GDBN}.
@end deftp
@@ -4525,6 +4536,7 @@ You can implement new @value{GDBN} CLI commands in Python. A CLI
command is implemented using an instance of the @code{gdb.Command}
class, most commonly using a subclass.
+@anchor{Command.__init__}
@defun Command.__init__ (name, command_class @r{[}, completer_class @r{[}, prefix@r{]]})
The object initializer for @code{Command} registers the new command
with @value{GDBN}. This initializer is normally invoked from the
@@ -4554,10 +4566,11 @@ registered.
The help text for the new command is taken from the Python
documentation string for the command's class, if there is one. If no
-documentation string is provided, the default value ``This command is
-not documented.'' is used.
+documentation string is provided, the default value @samp{This command
+is not documented.} is used.
@end defun
+@anchor{Command.dont_repeat}
@cindex don't repeat Python command
@defun Command.dont_repeat ()
By default, a @value{GDBN} command is repeated when the user enters a
@@ -4568,6 +4581,7 @@ exception). This is similar to the user command @code{dont-repeat},
see @ref{Define, dont-repeat}.
@end defun
+@anchor{Command.invoke}
@defun Command.invoke (argument, from_tty)
This method is called by @value{GDBN} when this command is invoked.
@@ -4581,6 +4595,17 @@ that the command came from elsewhere.
If this method throws an exception, it is turned into a @value{GDBN}
@code{error} call. Otherwise, the return value is ignored.
+For non-prefix commands (@pxref{Command.__init__}), the @code{invoke}
+method is required. For prefix commands the @code{invoke} method is
+optional. Only prefix commands that need to handle unknown
+sub-commands should implement the @code{invoke} method.
+
+For prefix commands that don't implement @code{invoke}, if the prefix
+command is used without a sub-command name then @value{GDBN} will
+display the help text for every sub-command, unless the prefix command
+is a @kbd{show} sub-command, in which case @value{GDBN} will list the
+values of all sub-commands.
+
@findex gdb.string_to_argv
To break @var{argument} up into an argv-like string use
@code{gdb.string_to_argv}. This function behaves identically to
@@ -5079,7 +5104,9 @@ string from the parameter's class, if there is one. If there is no
documentation string, a default value is used. The documentation
string is included in the output of the parameters @code{help set} and
@code{help show} commands, and should be written taking this into
-account.
+account. If the documentation string for the parameter's class is the
+empty string then @value{GDBN} will only use @code{Parameter.set_doc}
+or @code{Parameter.show_doc} (see below) in the @kbd{help} output.
@end defun
@defvar Parameter.set_doc
@@ -5258,6 +5285,99 @@ constants provided when the parameter is created.
The value is @code{gdb.Color} instance.
@end table
+When creating multiple new parameters using @code{gdb.Parameter}, it
+is often desirable to create a prefix command that can be used to
+group related parameters together, for example, if you wished to add
+the parameters @kbd{plugin-name feature-1} and @kbd{plugin-name
+feature-2}, then the @kbd{plugin-name} would need to be a prefix
+command (@pxref{CLI Commands In Python}).
+
+However, when creating parameters, you will almost always need to
+create two prefix commands, one as a @kbd{set} sub-command, and one as
+a @kbd{show} sub-command. @value{GDBN} provides the
+@code{gdb.ParameterPrefix} helper class to make creation of these two
+prefixes easier.
+
+@defun ParameterPrefix.__init__ (name, command_class, doc = @code{None})
+The object initializer for @code{ParameterPrefix} registers two new
+@code{gdb.Command} prefixes, one as a @kbd{set} sub-command, and the
+other as a @kbd{show} sub-command.
+
+@var{name}, a string, is the name of the new prefix, without either
+@kbd{set} or @kbd{show}, similar to the @var{name} passed to
+@code{gdb.Parameter} (@pxref{Parameters In Python}). For example, to
+create the prefixes @kbd{set plugin-name} and @kbd{show plugin-name},
+you would pass the string @kbd{plugin-name}.
+
+@var{command_class} should be one of the @samp{COMMAND_} constants
+(@pxref{CLI Commands In Python}). This argument tells @value{GDBN} how to
+categorize the new parameter prefixes in the help system.
+
+There are a number of ways in which the help text for the two new
+prefix commands can be provided. If the @var{doc} parameter is not
+@code{None}, then this will be used as the documentation string for
+both prefix commands.
+
+If @var{doc} is @code{None}, but @code{gdb.ParameterPrefix} has been
+sub-classed, then the prefix command documentation will be taken from
+sub-classes documentation string (i.e., the @code{__doc__} attribute).
+
+If @var{doc} is @code{None}, and there is no @code{__doc__} string,
+then the default value @samp{This command is not documented.} is used.
+
+When writing the help text, keep in mind that the same text is used
+for both the @kbd{set} and @kbd{show} prefix commands.
+@end defun
+
+@defun ParameterPrefix.invoke_set (argument, from_tty)
+If a sub-class defines this method, then @value{GDBN} will call this
+when the prefix command is used with an unknown sub-command. The
+@var{argument} and @var{from_tty} parameters are the same as for
+@code{gdb.Command.invoke} (@pxref{Command.invoke}).
+
+If this method throws an exception, it is turned into a @value{GDBN}
+@code{error} call. Otherwise, the return value is ignored.
+
+It is not required that a @code{ParameterPrefix} sub-class override
+this method. Usually, a parameter prefix only exists as a means to
+group related parameters together. @value{GDBN} handles this use case
+automatically with no need to implement @code{invoke_set}.
+@end defun
+
+@defun ParameterPrefix.invoke_show (argument, from_tty)
+This is like the @code{invoke_set} method, but for the @kbd{show}
+prefix command. As with @code{invoke_set}, implementation of this
+method is optional, and usually not required.
+@end defun
+
+@cindex don't repeat Python command
+@defun ParameterPrefix.dont_repeat ()
+Like @code{Command.dont_repeat} (@pxref{Command.dont_repeat}), this
+can be called from @code{ParameterPrefix.invoke_set} or
+@code{ParameterPrefix.invoke_show} to prevent the prefix commands from
+being repeated.
+@end defun
+
+Here is a small example that uses @code{gdb.ParameterPrefix} along
+with @code{gdb.Parameter} to create two new parameters
+@kbd{plugin-name feature-1} and @kbd{plugin-name feature-2}. As
+neither @code{invoke_set} or @code{invoke_show} is needed, this
+example does not sub-class @code{gdb.ParameterPrefix}:
+
+@smallexample
+class ExampleParam(gdb.Parameter):
+ def __init__ (self, name):
+ super ().__init__ (name, gdb.COMMAND_DATA, gdb.PARAM_BOOLEAN)
+ self.value = True
+
+gdb.ParameterPrefix("plugin-name", gdb.COMMAND_NONE,
+ """An example parameter prefix.
+
+ This groups together some parameters.""")
+ExampleParam("plugin-name feature-1")
+ExampleParam("plugin-name feature-2")
+@end smallexample
+
@node Functions In Python
@subsubsection Writing new convenience functions
@@ -7049,13 +7169,13 @@ writable.
@cindex colors in python
@tindex gdb.Color
-You can assign instance of @code{Color} to the @code{value} of
+You can assign instance of @code{gdb.Color} to the @code{value} of
a @code{Parameter} instance created with @code{PARAM_COLOR}.
-@code{Color} may refer to an index from color palette or contain components
-of a color from some colorspace.
+@code{gdb.Color} may refer to an index from a color palette or contain
+components of a color from some color space.
-@defun Color.__init__ (@r{[}@var{value} @r{[}, @var{color-space}@r{]}@r{]})
+@defun Color.__init__ (@r{[}value @r{[}, color_space@r{]}@r{]})
@var{value} is @code{None} (meaning the terminal's default color),
an integer index of a color in palette, tuple with color components
@@ -7065,8 +7185,9 @@ or one of the following color names:
@samp{green}, @samp{yellow}, @samp{blue}, @samp{magenta}, @samp{cyan},
or @samp{white}.
-@var{color-space} should be one of the @samp{COLORSPACE_} constants. This
-argument tells @value{GDBN} which color space @var{value} belongs.
+@var{color_space} should be one of the @samp{COLORSPACE_} constants
+listed below. This argument tells @value{GDBN} which color space
+@var{value} belongs.
@end defun
@defvar Color.is_none
@@ -7094,12 +7215,15 @@ This attribute exist if @code{is_direct} is @code{True}. Its value is tuple
with integer components of a color.
@end defvar
-@defun Color.escape_sequence (@var{self}, @var{is_foreground})
+@defun Color.escape_sequence (is_foreground)
Returns string to change terminal's color to this.
If @var{is_foreground} is @code{True}, then the returned sequence will change
foreground color. Otherwise, the returned sequence will change background
color.
+
+If styling is currently disabled (@pxref{Output Styling,,@kbd{set style
+enabled}}), then this method will return an empty string.
@end defun
When color is initialized, its color space must be specified. The
@@ -7136,6 +7260,8 @@ Direct 24-bit RGB colors.
@end table
+It is not possible to sub-class the @code{Color} class.
+
@node Architectures In Python
@subsubsection Python representation of architectures
@cindex Python architectures
diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c
index fa60c34..c663571 100644
--- a/gdb/dtrace-probe.c
+++ b/gdb/dtrace-probe.c
@@ -889,9 +889,7 @@ info_probes_dtrace_command (const char *arg, int from_tty)
info_probes_for_spops (arg, from_tty, &dtrace_static_probe_ops);
}
-void _initialize_dtrace_probe ();
-void
-_initialize_dtrace_probe ()
+INIT_GDB_FILE (dtrace_probe)
{
all_static_probe_ops.push_back (&dtrace_static_probe_ops);
diff --git a/gdb/dummy-frame.c b/gdb/dummy-frame.c
index f8440b3..445a7b4 100644
--- a/gdb/dummy-frame.c
+++ b/gdb/dummy-frame.c
@@ -425,9 +425,7 @@ maintenance_print_dummy_frames (const char *args, int from_tty)
}
}
-void _initialize_dummy_frame ();
-void
-_initialize_dummy_frame ()
+INIT_GDB_FILE (dummy_frame)
{
add_cmd ("dummy-frames", class_maintenance, maintenance_print_dummy_frames,
_("Print the contents of the internal dummy-frame stack."),
diff --git a/gdb/dwarf2/attribute.c b/gdb/dwarf2/attribute.c
index 1278f97..d2b5364 100644
--- a/gdb/dwarf2/attribute.c
+++ b/gdb/dwarf2/attribute.c
@@ -73,7 +73,8 @@ attribute::form_is_string () const
|| form == DW_FORM_strx3
|| form == DW_FORM_strx4
|| form == DW_FORM_GNU_str_index
- || form == DW_FORM_GNU_strp_alt);
+ || form == DW_FORM_GNU_strp_alt
+ || form == DW_FORM_strp_sup);
}
/* See attribute.h. */
@@ -185,11 +186,59 @@ attribute::unsigned_constant () const
/* See attribute.h. */
+std::optional<LONGEST>
+attribute::signed_constant () const
+{
+ if (form_is_strictly_signed ())
+ return u.snd;
+
+ switch (form)
+ {
+ case DW_FORM_data8:
+ case DW_FORM_udata:
+ /* Not sure if DW_FORM_udata should be handled or not. Anyway
+ for DW_FORM_data8, there's no need to sign-extend. */
+ return u.snd;
+
+ case DW_FORM_data1:
+ return sign_extend (u.unsnd, 8);
+ case DW_FORM_data2:
+ return sign_extend (u.unsnd, 16);
+ case DW_FORM_data4:
+ return sign_extend (u.unsnd, 32);
+ }
+
+ /* For DW_FORM_data16 see attribute::form_is_constant. */
+ complaint (_("Attribute value is not a constant (%s)"),
+ dwarf_form_name (form));
+ return {};
+}
+
+/* See attribute.h. */
+
+std::optional<LONGEST>
+attribute::confused_constant () const
+{
+ if (form_is_strictly_signed ())
+ return u.snd;
+ else if (form_is_constant ())
+ return u.unsnd;
+
+ /* For DW_FORM_data16 see attribute::form_is_constant. */
+ complaint (_("Attribute value is not a constant (%s)"),
+ dwarf_form_name (form));
+ return {};
+}
+
+/* See attribute.h. */
+
bool
attribute::form_is_unsigned () const
{
return (form == DW_FORM_ref_addr
|| form == DW_FORM_GNU_ref_alt
+ || form == DW_FORM_ref_sup4
+ || form == DW_FORM_ref_sup8
|| form == DW_FORM_data2
|| form == DW_FORM_data4
|| form == DW_FORM_data8
@@ -293,5 +342,8 @@ attribute::as_boolean () const
return true;
else if (form == DW_FORM_flag)
return u.unsnd != 0;
- return constant_value (0) != 0;
+ /* Using signed_constant here will work even for the weird case
+ where a negative value is provided. Probably doesn't matter but
+ also seems harmless. */
+ return signed_constant ().value_or (0) != 0;
}
diff --git a/gdb/dwarf2/attribute.h b/gdb/dwarf2/attribute.h
index 70edff3..234de4e 100644
--- a/gdb/dwarf2/attribute.h
+++ b/gdb/dwarf2/attribute.h
@@ -114,6 +114,34 @@ struct attribute
returned. */
std::optional<ULONGEST> unsigned_constant () const;
+ /* Return a signed constant value. This only handles constant forms
+ (i.e., form_is_constant -- and not the extended list of
+ "unsigned" forms) and assumes a signed value is desired. This
+ function will sign-extend DW_FORM_data* values.
+
+ If non-constant form is used, then complaint is issued and an
+ empty value is returned. */
+ std::optional<LONGEST> signed_constant () const;
+
+ /* Return a signed constant value. However, for narrow forms like
+ DW_FORM_data1, sign extension is not done.
+
+ DWARF advises compilers to generally use DW_FORM_[su]data to
+ avoid ambiguity. However, both GCC and LLVM ignore this for
+ certain attributes. Furthermore in DWARF, whether a narrower
+ form causes sign-extension depends on the attribute -- for
+ attributes that can only assume non-negative values, sign
+ extension is not done.
+
+ Unfortunately, both compilers also emit certain attributes in a
+ "confused" way, using DW_FORM_sdata for signed values, and
+ possibly choosing a narrow form (e.g., DW_FORM_data1) otherwise
+ -- assuming that sign-extension will not be done.
+
+ This method should only be called when this "confused" treatment
+ is necessary. */
+ std::optional<LONGEST> confused_constant () const;
+
/* Return non-zero if ATTR's value falls in the 'constant' class, or
zero otherwise. When this function returns true, you can apply
the constant_value method to it.
@@ -144,7 +172,9 @@ struct attribute
|| form == DW_FORM_ref4
|| form == DW_FORM_ref8
|| form == DW_FORM_ref_udata
- || form == DW_FORM_GNU_ref_alt);
+ || form == DW_FORM_GNU_ref_alt
+ || form == DW_FORM_ref_sup4
+ || form == DW_FORM_ref_sup8);
}
/* Check if the attribute's form is a DW_FORM_block*
@@ -164,10 +194,29 @@ struct attribute
false. */
bool form_is_strictly_signed () const;
+ /* Check if the attribute's form is an unsigned constant form. This
+ only returns true for forms that are strictly unsigned -- that
+ is, for a context-dependent form like DW_FORM_data1, this returns
+ false. */
+ bool form_is_strictly_unsigned () const
+ {
+ return form == DW_FORM_udata;
+ }
+
/* Check if the attribute's form is a form that requires
"reprocessing". */
bool form_requires_reprocessing () const;
+ /* Check if attribute's form refers to the separate "dwz" file.
+ This is only useful for references to the .debug_info section,
+ not to the supplementary .debug_str section. */
+ bool form_is_alt () const
+ {
+ return (form == DW_FORM_GNU_ref_alt
+ || form == DW_FORM_ref_sup4
+ || form == DW_FORM_ref_sup8);
+ }
+
/* Return DIE offset of this attribute. Return 0 with complaint if
the attribute is not of the required kind. */
diff --git a/gdb/dwarf2/call-site.h b/gdb/dwarf2/call-site.h
index e02cc5e..2cc4883 100644
--- a/gdb/dwarf2/call-site.h
+++ b/gdb/dwarf2/call-site.h
@@ -198,7 +198,7 @@ struct call_site
struct call_site *tail_call_next = nullptr;
/* * Describe DW_AT_call_target. Missing attribute uses
- FIELD_LOC_KIND_DWARF_BLOCK with FIELD_DWARF_BLOCK == NULL. */
+ m_loc_kind == DWARF_BLOCK with m_loc.dwarf_block == nullptr. */
struct call_site_target target {};
diff --git a/gdb/dwarf2/cooked-index-entry.c b/gdb/dwarf2/cooked-index-entry.c
index 52db851..863ddd6 100644
--- a/gdb/dwarf2/cooked-index-entry.c
+++ b/gdb/dwarf2/cooked-index-entry.c
@@ -33,6 +33,7 @@ to_string (cooked_index_flag flags)
MAP_ENUM_FLAG (IS_LINKAGE),
MAP_ENUM_FLAG (IS_TYPE_DECLARATION),
MAP_ENUM_FLAG (IS_PARENT_DEFERRED),
+ MAP_ENUM_FLAG (IS_SYNTHESIZED),
};
return flags.to_string (mapping);
@@ -233,8 +234,7 @@ cooked_index_entry::write_scope (struct obstack *storage,
obstack_grow (storage, sep, strlen (sep));
}
-void _initialize_dwarf2_entry ();
-void _initialize_dwarf2_entry ()
+INIT_GDB_FILE (dwarf2_entry)
{
#if GDB_SELF_TEST
selftests::register_test ("cooked_index_entry::compare", test_compare);
diff --git a/gdb/dwarf2/cooked-index-worker.c b/gdb/dwarf2/cooked-index-worker.c
index da51a8c..09d80ef 100644
--- a/gdb/dwarf2/cooked-index-worker.c
+++ b/gdb/dwarf2/cooked-index-worker.c
@@ -20,6 +20,7 @@
#include "dwarf2/cooked-index-worker.h"
#include "dwarf2/cooked-index.h"
#include "gdbsupport/thread-pool.h"
+#include "maint.h"
#include "run-on-main-thread.h"
#include "event-top.h"
#include "exceptions.h"
@@ -244,8 +245,12 @@ cooked_index_worker::write_to_cache (const cooked_index *idx)
void
cooked_index_worker::done_reading ()
{
- for (auto &one_result : m_results)
- m_all_parents_map.add_map (*one_result.get_parent_map ());
+ {
+ scoped_time_it time_it ("DWARF add parent map", m_per_command_time);
+
+ for (auto &one_result : m_results)
+ m_all_parents_map.add_map (*one_result.get_parent_map ());
+ }
dwarf2_per_bfd *per_bfd = m_per_objfile->per_bfd;
cooked_index *table
diff --git a/gdb/dwarf2/cooked-index-worker.h b/gdb/dwarf2/cooked-index-worker.h
index df5c31d..8b9766c 100644
--- a/gdb/dwarf2/cooked-index-worker.h
+++ b/gdb/dwarf2/cooked-index-worker.h
@@ -25,6 +25,8 @@
#include "dwarf2/cooked-index-shard.h"
#include "dwarf2/types.h"
#include "dwarf2/read.h"
+#include "maint.h"
+#include "run-on-main-thread.h"
#if CXX_STD_THREAD
#include <mutex>
@@ -107,11 +109,20 @@ public:
return &m_parent_map;
}
- /* Add an exception to the list of exceptions caught while reading.
- These are passed forward and printed by the main thread. */
- void note_error (gdb_exception &&except)
+ /* Catch exceptions from calling F (), and add them to the list of caught
+ exceptions. These are passed forward and printed by the main thread. */
+ template <typename F>
+ void
+ catch_error (F &&f)
{
- m_exceptions.push_back (std::move (except));
+ try
+ {
+ f ();
+ }
+ catch (gdb_exception &ex)
+ {
+ m_exceptions.push_back (std::move (ex));
+ }
}
/* Called when the thread using this object is done with its work.
@@ -207,8 +218,12 @@ public:
explicit cooked_index_worker (dwarf2_per_objfile *per_objfile)
: m_per_objfile (per_objfile),
- m_cache_store (global_index_cache, per_objfile->per_bfd)
- { }
+ m_cache_store (global_index_cache, per_objfile->per_bfd),
+ m_per_command_time (per_command_time)
+ {
+ /* Make sure we capture per_command_time from the main thread. */
+ gdb_assert (is_main_thread ());
+ }
virtual ~cooked_index_worker ()
{ }
DISABLE_COPY_AND_ASSIGN (cooked_index_worker);
@@ -298,6 +313,9 @@ protected:
std::optional<gdb_exception> m_failed;
/* An object used to write to the index cache. */
index_cache_store_context m_cache_store;
+
+ /* Captured value of per_command_time. */
+ bool m_per_command_time;
};
using cooked_index_worker_up = std::unique_ptr<cooked_index_worker>;
diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c
index 7948ffa..6209590 100644
--- a/gdb/dwarf2/cooked-index.c
+++ b/gdb/dwarf2/cooked-index.c
@@ -21,6 +21,7 @@
#include "dwarf2/read.h"
#include "dwarf2/stringify.h"
#include "event-top.h"
+#include "maint.h"
#include "observable.h"
#include "run-on-main-thread.h"
#include "gdbsupport/task-group.h"
@@ -101,7 +102,12 @@ cooked_index::set_contents ()
{
auto this_shard = shard.get ();
const parent_map_map *parent_maps = m_state->get_parent_map_map ();
- finalizers.add_task ([=] () { this_shard->finalize (parent_maps); });
+ finalizers.add_task ([=] ()
+ {
+ scoped_time_it time_it ("DWARF finalize worker",
+ m_state->m_per_command_time);
+ this_shard->finalize (parent_maps);
+ });
}
finalizers.start ();
@@ -321,9 +327,7 @@ maintenance_wait_for_index_cache (const char *args, int from_tty)
wait_for_index_cache (0);
}
-void _initialize_cooked_index ();
-void
-_initialize_cooked_index ()
+INIT_GDB_FILE (cooked_index)
{
add_cmd ("wait-for-index-cache", class_maintenance,
maintenance_wait_for_index_cache, _("\
diff --git a/gdb/dwarf2/cooked-indexer.c b/gdb/dwarf2/cooked-indexer.c
index 1f3a235..c093984 100644
--- a/gdb/dwarf2/cooked-indexer.c
+++ b/gdb/dwarf2/cooked-indexer.c
@@ -89,7 +89,7 @@ cooked_indexer::ensure_cu_exists (cutu_reader *reader,
/* Lookups for type unit references are always in the CU, and
cross-CU references will crash. */
if (reader->cu ()->per_cu->is_dwz == is_dwz
- && reader->cu ()->header.offset_in_cu_p (sect_off))
+ && reader->cu ()->header.offset_in_unit_p (sect_off))
return reader;
dwarf2_per_objfile *per_objfile = reader->cu ()->per_objfile;
@@ -109,20 +109,20 @@ cooked_indexer::ensure_cu_exists (cutu_reader *reader,
cutu_reader *result = m_index_storage->get_reader (per_cu);
if (result == nullptr)
{
- cutu_reader new_reader (*per_cu, *per_objfile, nullptr, nullptr, false,
- language_minimal,
- &m_index_storage->get_abbrev_table_cache ());
-
- if (new_reader.is_dummy () || new_reader.top_level_die () == nullptr
- || !new_reader.top_level_die ()->has_children)
+ const abbrev_table_cache &abbrev_table_cache
+ = m_index_storage->get_abbrev_table_cache ();
+ auto new_reader
+ = std::make_unique<cutu_reader> (*per_cu, *per_objfile, nullptr,
+ nullptr, false, language_minimal,
+ &abbrev_table_cache);
+
+ if (new_reader->is_dummy ())
return nullptr;
- auto copy = std::make_unique<cutu_reader> (std::move (new_reader));
- result = m_index_storage->preserve (std::move (copy));
+ result = m_index_storage->preserve (std::move (new_reader));
}
- if (result->is_dummy () || result->top_level_die () == nullptr
- || !result->top_level_die ()->has_children)
+ if (result->is_dummy ())
return nullptr;
if (for_scanning)
@@ -222,7 +222,7 @@ cooked_indexer::scan_attributes (dwarf2_per_cu *scanning_per_cu,
case DW_AT_abstract_origin:
case DW_AT_extension:
origin_offset = attr.get_ref_die_offset ();
- origin_is_dwz = attr.form == DW_FORM_GNU_ref_alt;
+ origin_is_dwz = attr.form_is_alt ();
break;
case DW_AT_external:
@@ -423,7 +423,7 @@ cooked_indexer::index_imported_unit (cutu_reader *reader,
if (attr.name == DW_AT_import)
{
sect_off = attr.get_ref_die_offset ();
- is_dwz = (attr.form == DW_FORM_GNU_ref_alt
+ is_dwz = (attr.form_is_alt ()
|| reader->cu ()->per_cu->is_dwz);
}
}
diff --git a/gdb/dwarf2/cu.h b/gdb/dwarf2/cu.h
index 5683291..69f396c 100644
--- a/gdb/dwarf2/cu.h
+++ b/gdb/dwarf2/cu.h
@@ -21,7 +21,7 @@
#define GDB_DWARF2_CU_H
#include "buildsym.h"
-#include "dwarf2/comp-unit-head.h"
+#include "dwarf2/unit-head.h"
#include <optional>
#include "language.h"
#include "gdbsupport/unordered_set.h"
@@ -99,8 +99,17 @@ struct dwarf2_cu
void add_dependence (dwarf2_per_cu *ref_per_cu)
{ m_dependencies.emplace (ref_per_cu); }
+ /* Find the DIE at section offset SECT_OFF.
+
+ Return nullptr if not found. */
+ die_info *find_die (sect_offset sect_off) const
+ {
+ auto it = die_hash.find (sect_off);
+ return it != die_hash.end () ? *it : nullptr;
+ }
+
/* The header of the compilation unit. */
- struct comp_unit_head header;
+ struct unit_head header;
/* Base address of this compilation unit. */
std::optional<unrelocated_addr> base_address;
@@ -360,7 +369,7 @@ public:
right place. And since the DW_TAG_compile_unit DIE in the split-unit can't
have a DW_AT_ranges attribute, we can use the
- die->tag != DW_AT_compile_unit
+ die->tag != DW_TAG_compile_unit
to determine whether the base should be added or not. */
ULONGEST gnu_ranges_base = 0;
diff --git a/gdb/dwarf2/die.c b/gdb/dwarf2/die.c
index 8c3d2ca..7ed18bf 100644
--- a/gdb/dwarf2/die.c
+++ b/gdb/dwarf2/die.c
@@ -90,6 +90,8 @@ dump_die_shallow (struct ui_file *f, int indent, struct die_info *die)
gdb_puts (hex_string (die->attrs[i].as_unsigned ()), f);
break;
case DW_FORM_GNU_ref_alt:
+ case DW_FORM_ref_sup4:
+ case DW_FORM_ref_sup8:
gdb_printf (f, "alt ref address: ");
gdb_puts (hex_string (die->attrs[i].as_unsigned ()), f);
break;
@@ -123,6 +125,7 @@ dump_die_shallow (struct ui_file *f, int indent, struct die_info *die)
case DW_FORM_strx:
case DW_FORM_GNU_str_index:
case DW_FORM_GNU_strp_alt:
+ case DW_FORM_strp_sup:
gdb_printf (f, "string: \"%s\" (%s canonicalized)",
die->attrs[i].as_string ()
? die->attrs[i].as_string () : "",
diff --git a/gdb/dwarf2/dwz.c b/gdb/dwarf2/dwz.c
index e5e18a1..1aa0d03 100644
--- a/gdb/dwarf2/dwz.c
+++ b/gdb/dwarf2/dwz.c
@@ -21,6 +21,7 @@
#include "build-id.h"
#include "debuginfod-support.h"
+#include "dwarf2/leb.h"
#include "dwarf2/read.h"
#include "dwarf2/sect-names.h"
#include "filenames.h"
@@ -34,15 +35,17 @@
const char *
dwz_file::read_string (struct objfile *objfile, LONGEST str_offset)
{
- str.read (objfile);
+ /* This must be true because the sections are read in when the
+ dwz_file is created. */
+ gdb_assert (str.readin);
if (str.buffer == NULL)
- error (_("DW_FORM_GNU_strp_alt used without .debug_str "
+ error (_("supplementary DWARF file missing .debug_str "
"section [in module %s]"),
this->filename ());
if (str_offset >= str.size)
- error (_("DW_FORM_GNU_strp_alt pointing outside of "
- ".debug_str section [in module %s]"),
+ error (_("invalid string reference to supplementary DWARF file "
+ "[in module %s]"),
this->filename ());
gdb_assert (HOST_CHAR_BIT == 8);
if (str.buffer[str_offset] == '\0')
@@ -53,36 +56,171 @@ dwz_file::read_string (struct objfile *objfile, LONGEST str_offset)
/* A helper function to find the sections for a .dwz file. */
static void
-locate_dwz_sections (struct objfile *objfile, bfd *abfd, asection *sectp,
- dwz_file *dwz_file)
+locate_dwz_sections (objfile *objfile, dwz_file &dwz_file)
{
- dwarf2_section_info *sect = nullptr;
+ for (asection *sec : gdb_bfd_sections (dwz_file.dwz_bfd))
+ {
+ dwarf2_section_info *sect = nullptr;
- /* Note that we only support the standard ELF names, because .dwz
+ /* Note that we only support the standard ELF names, because .dwz
is ELF-only (at the time of writing). */
- if (dwarf2_elf_names.abbrev.matches (sectp->name))
- sect = &dwz_file->abbrev;
- else if (dwarf2_elf_names.info.matches (sectp->name))
- sect = &dwz_file->info;
- else if (dwarf2_elf_names.str.matches (sectp->name))
- sect = &dwz_file->str;
- else if (dwarf2_elf_names.line.matches (sectp->name))
- sect = &dwz_file->line;
- else if (dwarf2_elf_names.macro.matches (sectp->name))
- sect = &dwz_file->macro;
- else if (dwarf2_elf_names.gdb_index.matches (sectp->name))
- sect = &dwz_file->gdb_index;
- else if (dwarf2_elf_names.debug_names.matches (sectp->name))
- sect = &dwz_file->debug_names;
- else if (dwarf2_elf_names.types.matches (sectp->name))
- sect = &dwz_file->types;
-
- if (sect != nullptr)
+ if (dwarf2_elf_names.abbrev.matches (sec->name))
+ sect = &dwz_file.abbrev;
+ else if (dwarf2_elf_names.info.matches (sec->name))
+ sect = &dwz_file.info;
+ else if (dwarf2_elf_names.str.matches (sec->name))
+ sect = &dwz_file.str;
+ else if (dwarf2_elf_names.line.matches (sec->name))
+ sect = &dwz_file.line;
+ else if (dwarf2_elf_names.macro.matches (sec->name))
+ sect = &dwz_file.macro;
+ else if (dwarf2_elf_names.gdb_index.matches (sec->name))
+ sect = &dwz_file.gdb_index;
+ else if (dwarf2_elf_names.debug_names.matches (sec->name))
+ sect = &dwz_file.debug_names;
+ else if (dwarf2_elf_names.types.matches (sec->name))
+ sect = &dwz_file.types;
+
+ if (sect != nullptr)
+ {
+ sect->s.section = sec;
+ sect->size = bfd_section_size (sec);
+ sect->read (objfile);
+ }
+ }
+}
+
+/* Helper that throws an exception when reading the .debug_sup
+ section. */
+
+static void
+debug_sup_failure (const char *text, bfd *abfd)
+{
+ error (_("%s [in modules %s]"), text, bfd_get_filename (abfd));
+}
+
+/* Look for the .debug_sup section and read it. If the section does
+ not exist, this returns false. If the section does exist but fails
+ to parse for some reason, an exception is thrown. Otherwise, if
+ everything goes well, this returns true and fills in the out
+ parameters. */
+
+static bool
+get_debug_sup_info (bfd *abfd,
+ std::string *filename,
+ size_t *buildid_len,
+ gdb::unique_xmalloc_ptr<bfd_byte> *buildid)
+{
+ asection *sect = bfd_get_section_by_name (abfd, ".debug_sup");
+ if (sect == nullptr)
+ return false;
+
+ bfd_byte *contents;
+ if (!bfd_malloc_and_get_section (abfd, sect, &contents))
+ debug_sup_failure (_("could not read .debug_sup section"), abfd);
+
+ gdb::unique_xmalloc_ptr<bfd_byte> content_holder (contents);
+ bfd_size_type size = bfd_section_size (sect);
+
+ /* Version of this section. */
+ if (size < 4)
+ debug_sup_failure (_(".debug_sup section too short"), abfd);
+ unsigned int version = read_2_bytes (abfd, contents);
+ contents += 2;
+ size -= 2;
+ if (version != 5)
+ debug_sup_failure (_(".debug_sup has wrong version number"), abfd);
+
+ /* Skip the is_supplementary value. We already ensured there were
+ enough bytes, above. */
+ ++contents;
+ --size;
+
+ /* The spec says that in the supplementary file, this must be \0,
+ but it doesn't seem very important. */
+ const char *fname = (const char *) contents;
+ size_t len = strlen (fname) + 1;
+ if (filename != nullptr)
+ *filename = fname;
+ contents += len;
+ size -= len;
+
+ if (size == 0)
+ debug_sup_failure (_(".debug_sup section missing ID"), abfd);
+
+ unsigned int bytes_read;
+ *buildid_len = read_unsigned_leb128 (abfd, contents, &bytes_read);
+ contents += bytes_read;
+ size -= bytes_read;
+
+ if (size < *buildid_len)
+ debug_sup_failure (_("extra data after .debug_sup section ID"), abfd);
+
+ if (*buildid_len != 0)
+ buildid->reset ((bfd_byte *) xmemdup (contents, *buildid_len,
+ *buildid_len));
+
+ return true;
+}
+
+/* Validate that ABFD matches the given BUILDID. If DWARF5 is true,
+ then this is done by examining the .debug_sup data. */
+
+static bool
+verify_id (bfd *abfd, size_t len, const bfd_byte *buildid, bool dwarf5)
+{
+ if (!bfd_check_format (abfd, bfd_object))
+ return false;
+
+ if (dwarf5)
{
- sect->s.section = sectp;
- sect->size = bfd_section_size (sectp);
- sect->read (objfile);
+ size_t new_len;
+ gdb::unique_xmalloc_ptr<bfd_byte> new_id;
+
+ if (!get_debug_sup_info (abfd, nullptr, &new_len, &new_id))
+ return false;
+ return (len == new_len
+ && memcmp (buildid, new_id.get (), len) == 0);
}
+ else
+ return build_id_verify (abfd, len, buildid);
+}
+
+/* Find either the .debug_sup or .gnu_debugaltlink section and return
+ its contents. Returns true on success and sets out parameters, or
+ false if nothing is found. */
+
+static bool
+read_alt_info (bfd *abfd, std::string *filename,
+ size_t *buildid_len,
+ gdb::unique_xmalloc_ptr<bfd_byte> *buildid,
+ bool *dwarf5)
+{
+ if (get_debug_sup_info (abfd, filename, buildid_len, buildid))
+ {
+ *dwarf5 = true;
+ return true;
+ }
+
+ bfd_size_type buildid_len_arg;
+ bfd_set_error (bfd_error_no_error);
+ bfd_byte *buildid_out;
+ gdb::unique_xmalloc_ptr<char> new_filename
+ (bfd_get_alt_debug_link_info (abfd, &buildid_len_arg,
+ &buildid_out));
+ if (new_filename == nullptr)
+ {
+ if (bfd_get_error () == bfd_error_no_error)
+ return false;
+ error (_("could not read '.gnu_debugaltlink' section: %s"),
+ bfd_errmsg (bfd_get_error ()));
+ }
+ *filename = new_filename.get ();
+
+ *buildid_len = buildid_len_arg;
+ buildid->reset (buildid_out);
+ *dwarf5 = false;
+ return true;
}
/* Attempt to find a .dwz file (whose full path is represented by
@@ -93,7 +231,7 @@ locate_dwz_sections (struct objfile *objfile, bfd *abfd, asection *sectp,
static gdb_bfd_ref_ptr
dwz_search_other_debugdirs (std::string &filename, bfd_byte *buildid,
- size_t buildid_len)
+ size_t buildid_len, bool dwarf5)
{
/* Let's assume that the path represented by FILENAME has the
"/.dwz/" subpath in it. This is what (most) GNU/Linux
@@ -161,7 +299,7 @@ dwz_search_other_debugdirs (std::string &filename, bfd_byte *buildid,
if (dwz_bfd == nullptr)
continue;
- if (!build_id_verify (dwz_bfd.get (), buildid_len, buildid))
+ if (!verify_id (dwz_bfd.get (), buildid_len, buildid, dwarf5))
{
dwz_bfd.reset (nullptr);
continue;
@@ -177,11 +315,8 @@ dwz_search_other_debugdirs (std::string &filename, bfd_byte *buildid,
/* See dwz.h. */
void
-dwarf2_read_dwz_file (dwarf2_per_objfile *per_objfile)
+dwz_file::read_dwz_file (dwarf2_per_objfile *per_objfile)
{
- bfd_size_type buildid_len_arg;
- size_t buildid_len;
- bfd_byte *buildid;
dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
/* This may query the user via the debuginfod support, so it may
@@ -193,29 +328,22 @@ dwarf2_read_dwz_file (dwarf2_per_objfile *per_objfile)
/* Set this early, so that on error it remains NULL. */
per_bfd->dwz_file.emplace (nullptr);
- bfd_set_error (bfd_error_no_error);
- gdb::unique_xmalloc_ptr<char> data
- (bfd_get_alt_debug_link_info (per_bfd->obfd,
- &buildid_len_arg, &buildid));
- if (data == NULL)
+ size_t buildid_len;
+ gdb::unique_xmalloc_ptr<bfd_byte> buildid;
+ std::string filename;
+ bool dwarf5;
+ if (!read_alt_info (per_bfd->obfd, &filename, &buildid_len, &buildid,
+ &dwarf5))
{
- if (bfd_get_error () == bfd_error_no_error)
- return;
- error (_("could not read '.gnu_debugaltlink' section: %s"),
- bfd_errmsg (bfd_get_error ()));
+ /* Nothing found, nothing to do. */
+ return;
}
- gdb::unique_xmalloc_ptr<bfd_byte> buildid_holder (buildid);
-
- buildid_len = (size_t) buildid_len_arg;
-
- std::string filename = data.get ();
-
if (!IS_ABSOLUTE_PATH (filename.c_str ()))
{
gdb::unique_xmalloc_ptr<char> abs = gdb_realpath (per_bfd->filename ());
- filename = ldirname (abs.get ()) + SLASH_STRING + filename;
+ filename = gdb_ldirname (abs.get ()) + SLASH_STRING + filename;
}
/* First try the file name given in the section. If that doesn't
@@ -223,25 +351,26 @@ dwarf2_read_dwz_file (dwarf2_per_objfile *per_objfile)
gdb_bfd_ref_ptr dwz_bfd (gdb_bfd_open (filename.c_str (), gnutarget));
if (dwz_bfd != NULL)
{
- if (!build_id_verify (dwz_bfd.get (), buildid_len, buildid))
+ if (!verify_id (dwz_bfd.get (), buildid_len, buildid.get (), dwarf5))
dwz_bfd.reset (nullptr);
}
if (dwz_bfd == NULL)
- dwz_bfd = build_id_to_debug_bfd (buildid_len, buildid);
+ dwz_bfd = build_id_to_debug_bfd (buildid_len, buildid.get ());
if (dwz_bfd == nullptr)
{
/* If the user has provided us with different
debug file directories, we can try them in order. */
- dwz_bfd = dwz_search_other_debugdirs (filename, buildid, buildid_len);
+ dwz_bfd = dwz_search_other_debugdirs (filename, buildid.get (),
+ buildid_len, dwarf5);
}
if (dwz_bfd == nullptr)
{
gdb::unique_xmalloc_ptr<char> alt_filename;
scoped_fd fd
- = debuginfod_debuginfo_query (buildid, buildid_len,
+ = debuginfod_debuginfo_query (buildid.get (), buildid_len,
per_bfd->filename (), &alt_filename);
if (fd.get () >= 0)
@@ -252,20 +381,20 @@ dwarf2_read_dwz_file (dwarf2_per_objfile *per_objfile)
if (dwz_bfd == nullptr)
warning (_("File \"%s\" from debuginfod cannot be opened as bfd"),
alt_filename.get ());
- else if (!build_id_verify (dwz_bfd.get (), buildid_len, buildid))
+ else if (!verify_id (dwz_bfd.get (), buildid_len, buildid.get (),
+ dwarf5))
dwz_bfd.reset (nullptr);
}
}
if (dwz_bfd == NULL)
- error (_("could not find '.gnu_debugaltlink' file for %s"),
+ error (_("could not find supplementary DWARF file (%s) for %s"),
+ filename.c_str (),
per_bfd->filename ());
- auto result = std::make_unique<dwz_file> (std::move (dwz_bfd));
+ dwz_file_up result (new dwz_file (std::move (dwz_bfd)));
- for (asection *sec : gdb_bfd_sections (result->dwz_bfd))
- locate_dwz_sections (per_objfile->objfile, result->dwz_bfd.get (),
- sec, result.get ());
+ locate_dwz_sections (per_objfile->objfile, *result);
gdb_bfd_record_inclusion (per_bfd->obfd, result->dwz_bfd.get ());
bfd_cache_close (result->dwz_bfd.get ());
diff --git a/gdb/dwarf2/dwz.h b/gdb/dwarf2/dwz.h
index 9f69123..372f7e6 100644
--- a/gdb/dwarf2/dwz.h
+++ b/gdb/dwarf2/dwz.h
@@ -31,10 +31,12 @@ struct dwarf2_per_objfile;
struct dwz_file
{
- dwz_file (gdb_bfd_ref_ptr &&bfd)
- : dwz_bfd (std::move (bfd))
- {
- }
+ /* Open the separate '.dwz' debug file, if needed. This will set
+ the appropriate field in the per-BFD structure. If the DWZ file
+ exists, the relevant sections are read in as well. Throws an
+ exception if the .gnu_debugaltlink or .debug_sup section exists
+ but is invalid or if the file cannot be found. */
+ static void read_dwz_file (dwarf2_per_objfile *per_objfile);
const char *filename () const
{
@@ -64,16 +66,15 @@ struct dwz_file
return a pointer to the string. */
const char *read_string (struct objfile *objfile, LONGEST str_offset);
-};
-using dwz_file_up = std::unique_ptr<dwz_file>;
+private:
-/* Open the separate '.dwz' debug file, if needed. This just sets the
- appropriate field in the per-BFD structure. If the DWZ file
- exists, the relevant sections are read in as well. Throws an error
- if the .gnu_debugaltlink section exists but the file cannot be
- found. */
+ explicit dwz_file (gdb_bfd_ref_ptr &&bfd)
+ : dwz_bfd (std::move (bfd))
+ {
+ }
+};
-extern void dwarf2_read_dwz_file (dwarf2_per_objfile *per_objfile);
+using dwz_file_up = std::unique_ptr<dwz_file>;
#endif /* GDB_DWARF2_DWZ_H */
diff --git a/gdb/dwarf2/frame-tailcall.c b/gdb/dwarf2/frame-tailcall.c
index 6464ffb..e31ae10 100644
--- a/gdb/dwarf2/frame-tailcall.c
+++ b/gdb/dwarf2/frame-tailcall.c
@@ -478,9 +478,7 @@ const struct frame_unwind_legacy dwarf2_tailcall_frame_unwind (
tailcall_frame_prev_arch
);
-void _initialize_tailcall_frame ();
-void
-_initialize_tailcall_frame ()
+INIT_GDB_FILE (tailcall_frame)
{
cache_htab = htab_create_alloc (50, cache_hash, cache_eq, NULL, xcalloc,
xfree);
diff --git a/gdb/dwarf2/frame.c b/gdb/dwarf2/frame.c
index 1b4de0d..7a37285 100644
--- a/gdb/dwarf2/frame.c
+++ b/gdb/dwarf2/frame.c
@@ -2247,9 +2247,7 @@ dwarf2_build_frame_info (struct objfile *objfile)
set_comp_unit (objfile, unit.release ());
}
-void _initialize_dwarf2_frame ();
-void
-_initialize_dwarf2_frame ()
+INIT_GDB_FILE (dwarf2_frame)
{
#if GDB_SELF_TEST
selftests::register_test_foreach_arch ("execute_cfa_program",
diff --git a/gdb/dwarf2/frame.h b/gdb/dwarf2/frame.h
index f8fd8e8..9357cc1 100644
--- a/gdb/dwarf2/frame.h
+++ b/gdb/dwarf2/frame.h
@@ -198,6 +198,15 @@ struct dwarf2_frame_state
bool armcc_cfa_offsets_reversed = false;
};
+/* If DWARF supoprt was requested, create the real prototype for the
+ append_unwinders function. Otherwise, create a fake inline function.
+
+ There is no need to emit a warning for some of these, because they aren't
+ actively reading DWARF when this is called, they're just initializing GDB.
+
+ These should probably be moved to dwarf2/public.h. */
+#if defined(DWARF_FORMAT_AVAILABLE)
+
/* Set the architecture-specific register state initialization
function for GDBARCH to INIT_REG. */
@@ -287,4 +296,56 @@ extern void *dwarf2_frame_get_fn_data (const frame_info_ptr &this_frame,
void **this_cache,
fn_prev_register cookie);
+#else /* DWARF_FORMAT_AVAILABLE */
+
+static inline void dwarf2_append_unwinders (struct gdbarch *gdbarch) { }
+
+static inline void dwarf2_frame_set_init_reg (
+ gdbarch *gdbarch, void (*init_reg) (struct gdbarch *,int,
+ dwarf2_frame_state_reg *,
+ const frame_info_ptr &)) { }
+
+static inline const struct frame_base *
+ dwarf2_frame_base_sniffer (const frame_info_ptr &this_frame)
+{
+ warning (_("No dwarf support available."));
+ return nullptr;
+}
+
+static inline void dwarf2_frame_set_signal_frame_p
+ (gdbarch *gdbarch, int (*signal_frame_p) (struct gdbarch *,
+ const frame_info_ptr &)) { }
+
+static inline void *dwarf2_frame_get_fn_data (const frame_info_ptr &this_frame,
+ void **this_cache,
+ fn_prev_register cookie)
+{
+ return nullptr;
+}
+
+static inline void *dwarf2_frame_allocate_fn_data
+ (const frame_info_ptr &this_frame, void **this_cache,
+ fn_prev_register cookie, unsigned long size)
+{
+ return nullptr;
+}
+
+static inline int dwarf2_fetch_cfa_info (struct gdbarch *gdbarch, CORE_ADDR pc,
+ struct dwarf2_per_cu_data *data,
+ int *regnum_out, LONGEST *offset_out,
+ CORE_ADDR *text_offset_out,
+ const gdb_byte **cfa_start_out,
+ const gdb_byte **cfa_end_out)
+{
+ return 0;
+}
+
+static inline void
+ dwarf2_frame_set_adjust_regnum (struct gdbarch *gdbarch,
+ int (*adjust_regnum) (struct gdbarch *,
+ int, int))
+{}
+
+#endif /* DWARF_FORMAT_AVAILABLE */
+
#endif /* GDB_DWARF2_FRAME_H */
diff --git a/gdb/dwarf2/index-cache.c b/gdb/dwarf2/index-cache.c
index 1715beb..cfe8ce9 100644
--- a/gdb/dwarf2/index-cache.c
+++ b/gdb/dwarf2/index-cache.c
@@ -342,9 +342,7 @@ show_index_cache_stats_command (const char *arg, int from_tty)
indent, global_index_cache.n_misses ());
}
-void _initialize_index_cache ();
-void
-_initialize_index_cache ()
+INIT_GDB_FILE (index_cache)
{
/* Set the default index cache directory. */
std::string cache_dir = get_standard_cache_dir ();
diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c
index 614bdcd..0a3b9d0 100644
--- a/gdb/dwarf2/index-write.c
+++ b/gdb/dwarf2/index-write.c
@@ -1768,9 +1768,7 @@ gdb_index ()
} /* selftests namespace. */
#endif
-void _initialize_dwarf_index_write ();
-void
-_initialize_dwarf_index_write ()
+INIT_GDB_FILE (dwarf_index_write)
{
#if GDB_SELF_TEST
selftests::register_test ("gdb_index", selftests::gdb_index);
diff --git a/gdb/dwarf2/line-header.c b/gdb/dwarf2/line-header.c
index de162b7..4652306 100644
--- a/gdb/dwarf2/line-header.c
+++ b/gdb/dwarf2/line-header.c
@@ -17,7 +17,7 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "dwarf2/comp-unit-head.h"
+#include "dwarf2/unit-head.h"
#include "dwarf2/leb.h"
#include "dwarf2/line-header.h"
#include "dwarf2/read.h"
@@ -95,7 +95,7 @@ dwarf2_statement_list_fits_in_line_number_section_complaint (void)
static LONGEST
read_checked_initial_length_and_offset (bfd *abfd, const gdb_byte *buf,
- const struct comp_unit_head *cu_header,
+ const struct unit_head *cu_header,
unsigned int *bytes_read,
unsigned int *offset_size)
{
@@ -253,11 +253,10 @@ read_formatted_entries (dwarf2_per_objfile *per_objfile, bfd *abfd,
/* See line-header.h. */
line_header_up
-dwarf_decode_line_header (sect_offset sect_off, bool is_dwz,
- dwarf2_per_objfile *per_objfile,
- struct dwarf2_section_info *section,
- const struct comp_unit_head *cu_header,
- const char *comp_dir)
+dwarf_decode_line_header (sect_offset sect_off, bool is_dwz,
+ dwarf2_per_objfile *per_objfile,
+ struct dwarf2_section_info *section,
+ const unit_head *cu_header, const char *comp_dir)
{
const gdb_byte *line_ptr;
unsigned int bytes_read, offset_size;
diff --git a/gdb/dwarf2/line-header.h b/gdb/dwarf2/line-header.h
index 36385b6..e6f9ea9 100644
--- a/gdb/dwarf2/line-header.h
+++ b/gdb/dwarf2/line-header.h
@@ -218,7 +218,7 @@ file_entry::include_dir (const line_header *lh) const
extern line_header_up dwarf_decode_line_header
(sect_offset sect_off, bool is_dwz, dwarf2_per_objfile *per_objfile,
- struct dwarf2_section_info *section, const struct comp_unit_head *cu_header,
+ struct dwarf2_section_info *section, const struct unit_head *cu_header,
const char *comp_dir);
#endif /* GDB_DWARF2_LINE_HEADER_H */
diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c
index e1a5fdd..37c85d8 100644
--- a/gdb/dwarf2/loc.c
+++ b/gdb/dwarf2/loc.c
@@ -1732,11 +1732,10 @@ dwarf2_evaluate_property (const dynamic_prop *prop,
*value = prop->const_val ();
return true;
- case PROP_ADDR_OFFSET:
+ case PROP_FIELD:
{
const dwarf2_property_baton *baton = prop->baton ();
const struct property_addr_info *pinfo;
- struct value *val;
for (pinfo = addr_stack; pinfo != NULL; pinfo = pinfo->next)
{
@@ -1747,14 +1746,40 @@ dwarf2_evaluate_property (const dynamic_prop *prop,
}
if (pinfo == NULL)
error (_("cannot find reference address for offset property"));
- if (pinfo->valaddr.data () != NULL)
- val = value_from_contents
- (baton->offset_info.type,
- pinfo->valaddr.data () + baton->offset_info.offset);
- else
- val = value_at (baton->offset_info.type,
- pinfo->addr + baton->offset_info.offset);
- *value = value_as_address (val);
+
+ struct field resolved_field = baton->field;
+ resolve_dynamic_field (resolved_field, pinfo, initial_frame);
+
+ /* Storage for memory if we need to read it. */
+ gdb::byte_vector memory;
+ const gdb_byte *bytes = pinfo->valaddr.data ();
+ if (bytes == nullptr)
+ {
+ int bitpos = resolved_field.loc_bitpos ();
+ int bitsize = resolved_field.bitsize ();
+ if (bitsize == 0)
+ bitsize = check_typedef (resolved_field.type ())->length () * 8;
+
+ /* Read just the minimum number of bytes needed to satisfy
+ unpack_field_as_long. So, update the resolved field's
+ starting offset to remove any unnecessary leading
+ bytes. */
+ int byte_offset = bitpos / 8;
+
+ bitpos %= 8;
+ resolved_field.set_loc_bitpos (bitpos);
+
+ /* Make sure to include any remaining bit offset in the
+ size computation, in case the value straddles a
+ byte. */
+ int byte_length = align_up (bitsize + bitpos, 8) / 8;
+ memory.resize (byte_length);
+
+ read_memory (pinfo->addr + byte_offset, memory.data (),
+ byte_length);
+ bytes = memory.data ();
+ }
+ *value = unpack_field_as_long (bytes, &resolved_field);
return true;
}
@@ -4129,9 +4154,7 @@ const struct symbol_computed_ops dwarf2_loclist_funcs = {
loclist_generate_c_location
};
-void _initialize_dwarf2loc ();
-void
-_initialize_dwarf2loc ()
+INIT_GDB_FILE (dwarf2loc)
{
add_setshow_zuinteger_cmd ("entry-values", class_maintenance,
&entry_values_debug,
diff --git a/gdb/dwarf2/loc.h b/gdb/dwarf2/loc.h
index 30c528b..c672320 100644
--- a/gdb/dwarf2/loc.h
+++ b/gdb/dwarf2/loc.h
@@ -20,6 +20,7 @@
#ifndef GDB_DWARF2_LOC_H
#define GDB_DWARF2_LOC_H
+#include "gdbtypes.h"
#include "dwarf2/expr.h"
struct symbol_computed_ops;
@@ -99,31 +100,9 @@ struct property_addr_info
/* If not NULL, a pointer to the info for the object containing
the object described by this node. */
- struct property_addr_info *next;
+ const property_addr_info *next;
};
-/* Converts a dynamic property into a static one. FRAME is the frame in which
- the property is evaluated; if NULL, the selected frame (if any) is used
- instead.
-
- ADDR_STACK is the stack of addresses that might be needed to evaluate the
- property. When evaluating a property that is not related to a type, it can
- be NULL.
-
- Returns true if PROP could be converted and the static value is passed
- back into VALUE, otherwise returns false.
-
- Any values in PUSH_VALUES will be pushed before evaluating the location
- expression, PUSH_VALUES[0] will be pushed first, then PUSH_VALUES[1],
- etc. This means the during evaluation PUSH_VALUES[0] will be at the
- bottom of the stack. */
-
-bool dwarf2_evaluate_property (const struct dynamic_prop *prop,
- const frame_info_ptr &frame,
- const property_addr_info *addr_stack,
- CORE_ADDR *value,
- gdb::array_view<CORE_ADDR> push_values = {});
-
/* A helper for the compiler interface that compiles a single dynamic
property to C code.
@@ -167,6 +146,9 @@ struct dwarf2_locexpr_baton
directly. */
bool is_reference;
+ /* True if this object is actually a dwarf2_field_location_baton. */
+ bool is_field_location;
+
/* The objfile that was used when creating this. */
dwarf2_per_objfile *per_objfile;
@@ -175,6 +157,23 @@ struct dwarf2_locexpr_baton
dwarf2_per_cu *per_cu;
};
+/* If the DWARF location for a field used DW_AT_bit_size, then an
+ object of this type is created to represent the field location.
+ This is then used to apply the bit offset after computing the
+ field's byte offset. Objects of this type always set the
+ 'is_field_location' member in dwarf2_locexpr_baton. See also
+ apply_bit_offset_to_field. */
+
+struct dwarf2_field_location_baton : public dwarf2_locexpr_baton
+{
+ /* The bit offset, coming from DW_AT_bit_offset. */
+ LONGEST bit_offset;
+
+ /* The DW_AT_byte_size of the field. If no explicit byte size was
+ specified, this is 0. */
+ LONGEST explicit_byte_size;
+};
+
struct dwarf2_loclist_baton
{
/* The initial base address for the location list, based on the compilation
@@ -202,23 +201,6 @@ struct dwarf2_loclist_baton
unsigned char dwarf_version;
};
-/* The baton used when a dynamic property is an offset to a parent
- type. This can be used, for instance, then the bound of an array
- inside a record is determined by the value of another field inside
- that record. */
-
-struct dwarf2_offset_baton
-{
- /* The offset from the parent type where the value of the property
- is stored. In the example provided above, this would be the offset
- of the field being used as the array bound. */
- LONGEST offset;
-
- /* The type of the object whose property is dynamic. In the example
- provided above, this would the array's index type. */
- struct type *type;
-};
-
/* A dynamic property is either expressed as a single location expression
or a location list. If the property is an indirection, pointing to
another die, keep track of the targeted type in PROPERTY_TYPE.
@@ -241,8 +223,8 @@ struct dwarf2_property_baton
/* Location list to be evaluated in the context of PROPERTY_TYPE. */
struct dwarf2_loclist_baton loclist;
- /* The location is an offset to PROPERTY_TYPE. */
- struct dwarf2_offset_baton offset_info;
+ /* The location is stored in a field of PROPERTY_TYPE. */
+ struct field field;
};
};
@@ -307,8 +289,53 @@ extern struct value *indirect_synthetic_pointer
Function always returns non-NULL value. It throws NO_ENTRY_VALUE_ERROR if
it cannot resolve the parameter for any reason. */
+#if defined(DWARF_FORMAT_AVAILABLE)
+
+/* Converts a dynamic property into a static one. FRAME is the frame in which
+ the property is evaluated; if NULL, the selected frame (if any) is used
+ instead.
+
+ ADDR_STACK is the stack of addresses that might be needed to evaluate the
+ property. When evaluating a property that is not related to a type, it can
+ be NULL.
+
+ Returns true if PROP could be converted and the static value is passed
+ back into VALUE, otherwise returns false.
+
+ Any values in PUSH_VALUES will be pushed before evaluating the location
+ expression, PUSH_VALUES[0] will be pushed first, then PUSH_VALUES[1],
+ etc. This means the during evaluation PUSH_VALUES[0] will be at the
+ bottom of the stack. */
+
+bool dwarf2_evaluate_property (const struct dynamic_prop *prop,
+ const frame_info_ptr &frame,
+ const property_addr_info *addr_stack,
+ CORE_ADDR *value,
+ gdb::array_view<CORE_ADDR> push_values = {});
+
extern struct value *value_of_dwarf_reg_entry (struct type *type,
const frame_info_ptr &frame,
enum call_site_parameter_kind kind,
union call_site_parameter_u kind_u);
+
+#else /* DWARF_FORMAT_AVAILABLE */
+
+static inline bool
+dwarf2_evaluate_property (const struct dynamic_prop *, const frame_info_ptr &,
+ const property_addr_info *, CORE_ADDR *,
+ gdb::array_view<CORE_ADDR> = {})
+{
+ return false;
+}
+
+static inline struct value *
+value_of_dwarf_reg_entry (struct type *type, const frame_info_ptr &frame,
+ enum call_site_parameter_kind kind,
+ union call_site_parameter_u kind_u)
+{
+ error (_("No dwarf support available."));
+}
+
+#endif /* DWARF_FORMAT_AVAILABLE */
+
#endif /* GDB_DWARF2_LOC_H */
diff --git a/gdb/dwarf2/macro.c b/gdb/dwarf2/macro.c
index 9b8f093..1dc3a9e 100644
--- a/gdb/dwarf2/macro.c
+++ b/gdb/dwarf2/macro.c
@@ -259,6 +259,7 @@ skip_form_bytes (bfd *abfd, const gdb_byte *bytes, const gdb_byte *buffer_end,
case DW_FORM_sec_offset:
case DW_FORM_strp:
case DW_FORM_GNU_strp_alt:
+ case DW_FORM_strp_sup:
bytes += offset_size;
break;
diff --git a/gdb/dwarf2/public.h b/gdb/dwarf2/public.h
index ed504c6..f9e7488 100644
--- a/gdb/dwarf2/public.h
+++ b/gdb/dwarf2/public.h
@@ -30,6 +30,8 @@ enum class dw_index_kind
DEBUG_NAMES,
};
+#if defined(DWARF_FORMAT_AVAILABLE)
+
/* Try to locate the sections we need for DWARF 2 debugging
information. If these are found, begin reading the DWARF and
return true. Otherwise, return false. NAMES points to the dwarf2
@@ -44,4 +46,27 @@ extern bool dwarf2_initialize_objfile
extern void dwarf2_build_frame_info (struct objfile *);
+/* Append the DWARF-2 frame unwinders to GDBARCH's list. */
+
+void dwarf2_append_unwinders (struct gdbarch *gdbarch);
+
+#else /* DWARF_FORMAT_AVAILABLE */
+
+static inline bool
+dwarf2_initialize_objfile (struct objfile *,
+ const struct dwarf2_debug_sections * = nullptr,
+ bool = false)
+{
+ warning (_("No dwarf support available."));
+ return false;
+}
+
+static inline void
+dwarf2_build_frame_info (struct objfile *)
+{
+ warning (_("No dwarf support available."));
+}
+
+#endif /* DWARF_FORMAT_AVAILABLE */
+
#endif /* GDB_DWARF2_PUBLIC_H */
diff --git a/gdb/dwarf2/read-debug-names.c b/gdb/dwarf2/read-debug-names.c
index 11de986..4b3f385 100644
--- a/gdb/dwarf2/read-debug-names.c
+++ b/gdb/dwarf2/read-debug-names.c
@@ -241,7 +241,7 @@ mapped_debug_names_reader::scan_one_entry (const char *name,
continue;
}
}
- per_cu = per_objfile->per_bfd->get_cu (ull);
+ per_cu = per_objfile->per_bfd->get_unit (ull);
break;
case DW_IDX_type_unit:
/* Don't crash on bad data. */
@@ -255,7 +255,7 @@ mapped_debug_names_reader::scan_one_entry (const char *name,
}
{
int nr_cus = per_objfile->per_bfd->all_comp_units.size ();
- per_cu = per_objfile->per_bfd->get_cu (nr_cus + ull);
+ per_cu = per_objfile->per_bfd->get_unit (nr_cus + ull);
}
break;
case DW_IDX_die_offset:
@@ -263,7 +263,7 @@ mapped_debug_names_reader::scan_one_entry (const char *name,
/* In a per-CU index (as opposed to a per-module index), index
entries without CU attribute implicitly refer to the single CU. */
if (per_cu == NULL)
- per_cu = per_objfile->per_bfd->get_cu (0);
+ per_cu = per_objfile->per_bfd->get_unit (0);
break;
case DW_IDX_parent:
parent = ull;
@@ -416,15 +416,11 @@ cooked_index_worker_debug_names::do_reading ()
{
complaint_interceptor complaint_handler;
- try
+ /* Arbitrarily put all exceptions into the first result. */
+ m_map.indices[0].catch_error ([&] ()
{
m_map.scan_all_names ();
- }
- catch (gdb_exception &exc)
- {
- /* Arbitrarily put all exceptions into the first result. */
- m_map.indices[0].note_error (std::move (exc));
- }
+ });
bool first = true;
for (auto &iter : m_map.indices)
@@ -470,7 +466,7 @@ check_signatured_type_table_from_debug_names
bool found = false;
for (; j < nr_cus_tus; j++)
- if (per_bfd->get_cu (j)->sect_off == sect_off)
+ if (per_bfd->get_unit (j)->sect_off == sect_off)
{
found = true;
break;
@@ -481,7 +477,7 @@ check_signatured_type_table_from_debug_names
" ignoring .debug_names."));
return false;
}
- per_bfd->all_comp_units_index_tus.push_back (per_bfd->get_cu (j));
+ per_bfd->all_comp_units_index_tus.push_back (per_bfd->get_unit (j));
}
return true;
}
@@ -723,7 +719,7 @@ check_cus_from_debug_names_list (dwarf2_per_bfd *per_bfd,
map.dwarf5_byte_order));
bool found = false;
for (; j < nr_cus; j++)
- if (per_bfd->get_cu (j)->sect_off == sect_off)
+ if (per_bfd->get_unit (j)->sect_off == sect_off)
{
found = true;
break;
@@ -734,7 +730,7 @@ check_cus_from_debug_names_list (dwarf2_per_bfd *per_bfd,
" ignoring .debug_names."));
return false;
}
- per_bfd->all_comp_units_index_cus.push_back (per_bfd->get_cu (j));
+ per_bfd->all_comp_units_index_cus.push_back (per_bfd->get_unit (j));
}
return true;
}
@@ -753,7 +749,7 @@ check_cus_from_debug_names_list (dwarf2_per_bfd *per_bfd,
(map.cu_table_reordered + i * map.offset_size,
map.offset_size,
map.dwarf5_byte_order));
- if (sect_off != per_bfd->get_cu (i)->sect_off)
+ if (sect_off != per_bfd->get_unit (i)->sect_off)
{
warning (_("Section .debug_names has incorrect entry in CU table,"
" ignoring .debug_names."));
diff --git a/gdb/dwarf2/read-gdb-index.c b/gdb/dwarf2/read-gdb-index.c
index 2029c3e..464fbdd 100644
--- a/gdb/dwarf2/read-gdb-index.c
+++ b/gdb/dwarf2/read-gdb-index.c
@@ -1113,7 +1113,7 @@ dw2_expand_marked_cus (dwarf2_per_objfile *per_objfile, offset_type idx,
continue;
}
- dwarf2_per_cu *per_cu = per_objfile->per_bfd->get_cu (cu_index);
+ dwarf2_per_cu *per_cu = per_objfile->per_bfd->get_unit (cu_index);
if (!dw2_expand_symtabs_matching_one (per_cu, per_objfile, file_matcher,
expansion_notify, lang_matcher))
@@ -1426,7 +1426,7 @@ create_addrmap_from_gdb_index (dwarf2_per_objfile *per_objfile,
continue;
}
- mutable_map.set_empty (lo, hi - 1, per_bfd->get_cu (cu_index));
+ mutable_map.set_empty (lo, hi - 1, per_bfd->get_unit (cu_index));
}
index->index_addrmap
@@ -1562,10 +1562,7 @@ dwarf2_read_gdb_index
return true;
}
-void _initialize_read_gdb_index ();
-
-void
-_initialize_read_gdb_index ()
+INIT_GDB_FILE (read_gdb_index)
{
add_setshow_boolean_cmd ("use-deprecated-index-sections",
no_class, &use_deprecated_index_sections, _("\
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index 6e96afe..5e18e45 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -31,7 +31,7 @@
#include "dwarf2/abbrev.h"
#include "dwarf2/aranges.h"
#include "dwarf2/attribute.h"
-#include "dwarf2/comp-unit-head.h"
+#include "dwarf2/unit-head.h"
#include "dwarf2/cooked-index-worker.h"
#include "dwarf2/cooked-indexer.h"
#include "dwarf2/cu.h"
@@ -52,6 +52,7 @@
#include "event-top.h"
#include "exceptions.h"
#include "gdbsupport/task-group.h"
+#include "maint.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "objfiles.h"
@@ -279,7 +280,7 @@ struct dwo_sections
struct dwarf2_section_info str;
struct dwarf2_section_info str_offsets;
/* In the case of a virtual DWO file, these two are unused. */
- struct dwarf2_section_info info;
+ std::vector<dwarf2_section_info> infos;
std::vector<dwarf2_section_info> types;
};
@@ -288,24 +289,29 @@ struct dwo_sections
struct dwo_unit
{
/* Backlink to the containing struct dwo_file. */
- struct dwo_file *dwo_file;
+ struct dwo_file *dwo_file = nullptr;
/* The "id" that distinguishes this CU/TU.
.debug_info calls this "dwo_id", .debug_types calls this "signature".
Since signatures came first, we stick with it for consistency. */
- ULONGEST signature;
+ ULONGEST signature = 0;
/* The section this CU/TU lives in, in the DWO file. */
- struct dwarf2_section_info *section;
+ dwarf2_section_info *section = nullptr;
+
+ /* This is set if SECTION is owned by this dwo_unit. */
+ dwarf2_section_info_up section_holder;
/* Same as dwarf2_per_cu::{sect_off,length} but in the DWO section. */
- sect_offset sect_off;
- unsigned int length;
+ sect_offset sect_off {};
+ unsigned int length = 0;
/* For types, offset in the type's DIE of the type defined by this TU. */
cu_offset type_offset_in_tu;
};
+using dwo_unit_up = std::unique_ptr<dwo_unit>;
+
/* Hash function for dwo_unit objects, based on the signature. */
struct dwo_unit_hash
@@ -315,7 +321,7 @@ struct dwo_unit_hash
std::size_t operator() (ULONGEST signature) const noexcept
{ return signature; }
- std::size_t operator() (const dwo_unit *unit) const noexcept
+ std::size_t operator() (const dwo_unit_up &unit) const noexcept
{ return (*this) (unit->signature); }
};
@@ -329,16 +335,16 @@ struct dwo_unit_eq
{
using is_transparent = void;
- bool operator() (ULONGEST sig, const dwo_unit *unit) const noexcept
+ bool operator() (ULONGEST sig, const dwo_unit_up &unit) const noexcept
{ return sig == unit->signature; }
- bool operator() (const dwo_unit *a, const dwo_unit *b) const noexcept
+ bool operator() (const dwo_unit_up &a, const dwo_unit_up &b) const noexcept
{ return (*this) (a->signature, b); }
};
/* Set of dwo_unit object, using their signature as identity. */
-using dwo_unit_set = gdb::unordered_set<dwo_unit *, dwo_unit_hash, dwo_unit_eq>;
+using dwo_unit_set = gdb::unordered_set<dwo_unit_up, dwo_unit_hash, dwo_unit_eq>;
/* include/dwarf2.h defines the DWP section codes.
It defines a max value but it doesn't define a min value, which we
@@ -598,6 +604,11 @@ struct dwp_file
dwo_unit_set loaded_cus;
dwo_unit_set loaded_tus;
+#if CXX_STD_THREAD
+ /* Mutex to synchronize access to LOADED_CUS and LOADED_TUS. */
+ std::mutex loaded_cutus_lock;
+#endif
+
/* Table to map ELF section numbers to their sections.
This is only needed for the DWP V1 file format. */
unsigned int num_sections = 0;
@@ -622,15 +633,21 @@ struct variant_field
/* A variant can contain other variant parts. */
std::vector<variant_part_builder> variant_parts;
- /* If we see a DW_TAG_variant, then this will be set if this is the
- default branch. */
- bool default_branch = false;
/* If we see a DW_AT_discr_value, then this will be the discriminant
- value. */
- ULONGEST discriminant_value = 0;
+ value. Just the attribute is stored here, because we have to
+ defer deciding whether the value is signed or unsigned until the
+ end. */
+ const attribute *discriminant_attr = nullptr;
/* If we see a DW_AT_discr_list, then this is a pointer to the list
data. */
struct dwarf_block *discr_list_data = nullptr;
+
+ /* If both DW_AT_discr_value and DW_AT_discr_list are absent, then
+ this is the default branch. */
+ bool is_default () const
+ {
+ return discriminant_attr == nullptr && discr_list_data == nullptr;
+ }
};
/* This represents a DW_TAG_variant_part. */
@@ -727,9 +744,6 @@ show_dwarf_synchronous (struct ui_file *file, int from_tty,
/* local function prototypes */
-static void build_type_psymtabs_reader (cutu_reader *reader,
- cooked_index_worker_result *storage);
-
static void var_decode_location (struct attribute *attr,
struct symbol *sym,
struct dwarf2_cu *cu);
@@ -742,9 +756,9 @@ static unrelocated_addr read_addr_index (struct dwarf2_cu *cu,
static sect_offset read_abbrev_offset (dwarf2_per_objfile *per_objfile,
dwarf2_section_info *, sect_offset);
-static const char *read_indirect_string
- (dwarf2_per_objfile *per_objfile, bfd *, const gdb_byte *,
- const struct comp_unit_head *, unsigned int *);
+static const char *read_indirect_string (dwarf2_per_objfile *per_objfile, bfd *,
+ const gdb_byte *, const unit_head *,
+ unsigned int *);
static unrelocated_addr read_addr_index_from_leb128 (struct dwarf2_cu *,
const gdb_byte *,
@@ -1039,14 +1053,7 @@ static struct dwo_unit *lookup_dwo_unit_in_dwp
(dwarf2_per_bfd *per_bfd, struct dwp_file *dwp_file,
const char *comp_dir, ULONGEST signature, int is_debug_types);
-static struct dwp_file *get_dwp_file (dwarf2_per_objfile *per_objfile);
-
-static struct dwo_unit *lookup_dwo_comp_unit
- (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
- ULONGEST signature);
-
-static struct dwo_unit *lookup_dwo_type_unit
- (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir);
+static void open_and_init_dwp_file (dwarf2_per_objfile *per_objfile);
static void queue_and_load_all_dwo_tus (dwarf2_cu *cu);
@@ -1289,7 +1296,16 @@ dwarf2_has_info (struct objfile *objfile,
BFD, to avoid races. */
try
{
- dwarf2_read_dwz_file (per_objfile);
+ dwz_file::read_dwz_file (per_objfile);
+ }
+ catch (const gdb_exception_error &err)
+ {
+ warning (_("%s"), err.what ());
+ }
+
+ try
+ {
+ open_and_init_dwp_file (per_objfile);
}
catch (const gdb_exception_error &err)
{
@@ -1316,7 +1332,7 @@ dwarf2_per_bfd::locate_sections (asection *sectp,
bfd_size_type size = sectp->size;
warning (_("Discarding section %s which has an invalid size (%s) "
"[in module %s]"),
- bfd_section_name (sectp), phex_nz (size, sizeof (size)),
+ bfd_section_name (sectp), phex_nz (size),
this->filename ());
}
else if (names.info.matches (sectp->name))
@@ -1632,7 +1648,7 @@ dw2_do_instantiate_symtab (dwarf2_per_cu *per_cu,
&& per_objfile->per_bfd->index_table != NULL
&& !per_objfile->per_bfd->index_table->version_check ()
/* DWP files aren't supported yet. */
- && get_dwp_file (per_objfile) == NULL)
+ && per_objfile->per_bfd->dwp_file == nullptr)
queue_and_load_all_dwo_tus (cu);
}
@@ -1885,13 +1901,13 @@ dwarf2_base_index_functions::print_stats (struct objfile *objfile,
for (int i = 0; i < total; ++i)
{
- dwarf2_per_cu *per_cu = per_objfile->per_bfd->get_cu (i);
+ dwarf2_per_cu *per_cu = per_objfile->per_bfd->get_unit (i);
if (!per_objfile->symtab_set_p (per_cu))
++count;
}
- gdb_printf (_(" Number of read CUs: %d\n"), total - count);
- gdb_printf (_(" Number of unread CUs: %d\n"), count);
+ gdb_printf (_(" Number of read units: %d\n"), total - count);
+ gdb_printf (_(" Number of unread units: %d\n"), count);
}
void
@@ -2383,111 +2399,6 @@ read_abbrev_offset (dwarf2_per_objfile *per_objfile,
return (sect_offset) read_offset (abfd, info_ptr, offset_size);
}
-/* A helper for create_debug_types_hash_table. Read types from SECTION
- and fill them into DWO_FILE's type unit hash table. It will process only
- type units, therefore DW_UT_type. */
-
-static void
-create_debug_type_hash_table (dwarf2_per_objfile *per_objfile,
- dwo_file *dwo_file, dwarf2_section_info *section,
- rcuh_kind section_kind)
-{
- struct objfile *objfile = per_objfile->objfile;
- struct dwarf2_section_info *abbrev_section;
- bfd *abfd;
- const gdb_byte *info_ptr, *end_ptr;
-
- abbrev_section = &dwo_file->sections.abbrev;
-
- dwarf_read_debug_printf ("Reading %s for %s",
- section->get_name (),
- abbrev_section->get_file_name ());
-
- section->read (objfile);
- info_ptr = section->buffer;
-
- if (info_ptr == NULL)
- return;
-
- /* We can't set abfd until now because the section may be empty or
- not present, in which case the bfd is unknown. */
- abfd = section->get_bfd_owner ();
-
- /* We don't use cutu_reader here because we don't need to read
- any dies: the signature is in the header. */
-
- end_ptr = info_ptr + section->size;
- while (info_ptr < end_ptr)
- {
- const gdb_byte *ptr = info_ptr;
- struct comp_unit_head header;
- unsigned int length;
-
- sect_offset sect_off = (sect_offset) (ptr - section->buffer);
-
- /* Initialize it due to a false compiler warning. */
- header.signature = -1;
- header.type_cu_offset_in_tu = (cu_offset) -1;
-
- /* We need to read the type's signature in order to build the hash
- table, but we don't need anything else just yet. */
-
- ptr = read_and_check_comp_unit_head (per_objfile, &header, section,
- abbrev_section, ptr, section_kind);
-
- length = header.get_length_with_initial ();
-
- /* Skip dummy type units. */
- if (ptr >= info_ptr + length
- || peek_abbrev_code (abfd, ptr) == 0
- || (header.unit_type != DW_UT_type
- && header.unit_type != DW_UT_split_type))
- {
- info_ptr += length;
- continue;
- }
-
- dwo_unit *dwo_tu
- = OBSTACK_ZALLOC (&per_objfile->per_bfd->obstack, dwo_unit);
- dwo_tu->dwo_file = dwo_file;
- dwo_tu->signature = header.signature;
- dwo_tu->type_offset_in_tu = header.type_cu_offset_in_tu;
- dwo_tu->section = section;
- dwo_tu->sect_off = sect_off;
- dwo_tu->length = length;
-
- auto [it, inserted] = dwo_file->tus.emplace (dwo_tu);
- if (!inserted)
- complaint (_("debug type entry at offset %s is duplicate to"
- " the entry at offset %s, signature %s"),
- sect_offset_str (sect_off),
- sect_offset_str ((*it)->sect_off),
- hex_string (header.signature));
-
- dwarf_read_debug_printf_v (" offset %s, signature %s",
- sect_offset_str (sect_off),
- hex_string (header.signature));
-
- info_ptr += length;
- }
-}
-
-/* Create the hash table of all entries in the .debug_types
- (or .debug_types.dwo) section(s).
- DWO_FILE is a pointer to the DWO file object.
-
- Note: This function processes DWO files only, not DWP files. */
-
-static void
-create_debug_types_hash_table
- (dwarf2_per_objfile *per_objfile, dwo_file *dwo_file,
- gdb::array_view<dwarf2_section_info> type_sections)
-{
- for (dwarf2_section_info &section : type_sections)
- create_debug_type_hash_table (per_objfile, dwo_file, &section,
- rcuh_kind::TYPE);
-}
-
/* Add an entry for signature SIG to per_bfd->signatured_types. */
static signatured_type_set::iterator
@@ -2586,7 +2497,7 @@ lookup_dwo_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
if (it == dwo_file->tus.end ())
return nullptr;
- dwo_unit *dwo_entry = *it;
+ dwo_unit *dwo_entry = it->get ();
/* If the global table doesn't have an entry for this TU, add one. */
if (sig_type_it == per_bfd->signatured_types.end ())
@@ -2610,7 +2521,7 @@ lookup_dwp_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
- struct dwp_file *dwp_file = get_dwp_file (per_objfile);
+ dwp_file *dwp_file = per_objfile->per_bfd->dwp_file.get ();
gdb_assert (cu->dwo_unit);
gdb_assert (dwp_file != NULL);
@@ -2652,7 +2563,7 @@ lookup_signatured_type (struct dwarf2_cu *cu, ULONGEST sig)
{
/* We're in a DWO/DWP file, and we're using .gdb_index.
These cases require special processing. */
- if (get_dwp_file (per_objfile) == NULL)
+ if (per_objfile->per_bfd->dwp_file == nullptr)
return lookup_dwo_signatured_type (cu, sig);
else
return lookup_dwp_signatured_type (cu, sig);
@@ -2712,9 +2623,8 @@ cutu_reader::read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit,
die_info *stub_comp_unit_die,
const char *stub_comp_dir)
{
- dwarf2_per_objfile *per_objfile = cu->per_objfile;
dwarf2_per_cu *per_cu = cu->per_cu;
- struct objfile *objfile = per_objfile->objfile;
+ struct objfile *objfile = cu->per_objfile->objfile;
bfd *abfd;
struct dwarf2_section_info *dwo_abbrev_section;
@@ -2790,9 +2700,10 @@ cutu_reader::read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit,
{
signatured_type *sig_type = (struct signatured_type *) per_cu;
- m_info_ptr = read_and_check_comp_unit_head (per_objfile, &cu->header,
- section, dwo_abbrev_section,
- m_info_ptr, rcuh_kind::TYPE);
+ m_info_ptr = read_and_check_unit_head (&cu->header, section,
+ dwo_abbrev_section, m_info_ptr,
+ ruh_kind::TYPE);
+
/* This is not an assert because it can be caused by bad debug info. */
if (sig_type->signature != cu->header.signature)
{
@@ -2808,7 +2719,7 @@ cutu_reader::read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit,
/* For DWOs coming from DWP files, we don't know the CU length
nor the type's offset in the TU until now. */
dwo_unit->length = cu->header.get_length_with_initial ();
- dwo_unit->type_offset_in_tu = cu->header.type_cu_offset_in_tu;
+ dwo_unit->type_offset_in_tu = cu->header.type_offset_in_tu;
/* Establish the type offset that can be used to lookup the type.
For DWO files, we don't know it until now. */
@@ -2817,10 +2728,9 @@ cutu_reader::read_cutu_die_from_dwo (dwarf2_cu *cu, dwo_unit *dwo_unit,
}
else
{
- m_info_ptr
- = read_and_check_comp_unit_head (per_objfile, &cu->header, section,
- dwo_abbrev_section, m_info_ptr,
- rcuh_kind::COMPILE);
+ m_info_ptr = read_and_check_unit_head (&cu->header, section,
+ dwo_abbrev_section, m_info_ptr,
+ ruh_kind::COMPILE);
gdb_assert (dwo_unit->sect_off == cu->header.sect_off);
/* For DWOs coming from DWP files, we don't know the CU length
until now. */
@@ -2873,16 +2783,10 @@ lookup_dwo_id (struct dwarf2_cu *cu, struct die_info* comp_unit_die)
Returns nullptr if the specified DWO unit cannot be found. */
-static struct dwo_unit *
-lookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die, const char *dwo_name)
+dwo_unit *
+cutu_reader::lookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die,
+ const char *dwo_name)
{
-#if CXX_STD_THREAD
- /* We need a lock here to handle the DWO hash table. */
- static std::mutex dwo_lock;
-
- std::lock_guard<std::mutex> guard (dwo_lock);
-#endif
-
dwarf2_per_cu *per_cu = cu->per_cu;
struct dwo_unit *dwo_unit;
const char *comp_dir;
@@ -3037,26 +2941,26 @@ cutu_reader::cutu_reader (dwarf2_per_cu &this_cu,
}
/* Get the header. */
- if (to_underlying (cu->header.first_die_cu_offset) != 0 && !rereading_dwo_cu)
+ if (to_underlying (cu->header.first_die_offset_in_unit) != 0
+ && !rereading_dwo_cu)
{
/* We already have the header, there's no need to read it in again. */
- m_info_ptr += to_underlying (cu->header.first_die_cu_offset);
+ m_info_ptr += to_underlying (cu->header.first_die_offset_in_unit);
}
else
{
if (this_cu.is_debug_types)
{
- m_info_ptr
- = read_and_check_comp_unit_head (&per_objfile, &cu->header, section,
- abbrev_section, m_info_ptr,
- rcuh_kind::TYPE);
+ m_info_ptr = read_and_check_unit_head (&cu->header, section,
+ abbrev_section, m_info_ptr,
+ ruh_kind::TYPE);
/* Since per_cu is the first member of struct signatured_type,
we can go from a pointer to one to a pointer to the other. */
sig_type = (struct signatured_type *) &this_cu;
gdb_assert (sig_type->signature == cu->header.signature);
gdb_assert (sig_type->type_offset_in_tu
- == cu->header.type_cu_offset_in_tu);
+ == cu->header.type_offset_in_tu);
gdb_assert (this_cu.sect_off == cu->header.sect_off);
/* LENGTH has not been set yet for type units if we're
@@ -3069,10 +2973,9 @@ cutu_reader::cutu_reader (dwarf2_per_cu &this_cu,
}
else
{
- m_info_ptr
- = read_and_check_comp_unit_head (&per_objfile, &cu->header, section,
- abbrev_section, m_info_ptr,
- rcuh_kind::COMPILE);
+ m_info_ptr = read_and_check_unit_head (&cu->header, section,
+ abbrev_section, m_info_ptr,
+ ruh_kind::COMPILE);
gdb_assert (this_cu.sect_off == cu->header.sect_off);
this_cu.set_length (cu->header.get_length_with_initial ());
@@ -3204,12 +3107,11 @@ cutu_reader::cutu_reader (dwarf2_per_cu &this_cu,
m_info_ptr = section->buffer + to_underlying (this_cu.sect_off);
const gdb_byte *begin_info_ptr = m_info_ptr;
- m_info_ptr
- = read_and_check_comp_unit_head (&per_objfile, &m_new_cu->header, section,
- abbrev_section, m_info_ptr,
- (this_cu.is_debug_types
- ? rcuh_kind::TYPE
- : rcuh_kind::COMPILE));
+ m_info_ptr = read_and_check_unit_head (&m_new_cu->header, section,
+ abbrev_section, m_info_ptr,
+ (this_cu.is_debug_types
+ ? ruh_kind::TYPE
+ : ruh_kind::COMPILE));
m_new_cu->str_offsets_base = parent_cu.str_offsets_base;
m_new_cu->addr_base = parent_cu.addr_base;
@@ -3283,33 +3185,130 @@ get_type_unit_group_key (struct dwarf2_cu *cu, const struct attribute *stmt_list
return {cu->dwo_unit, static_cast<sect_offset> (line_offset)};
}
-/* Subroutine of dwarf2_build_psymtabs_hard to simplify it.
- Process compilation unit THIS_CU for a psymtab. */
+/* A subclass of cooked_index_worker that handles scanning
+ .debug_info. */
-static void
-process_psymtab_comp_unit (dwarf2_per_cu *this_cu,
- dwarf2_per_objfile *per_objfile,
- cooked_index_worker_result *storage)
+class cooked_index_worker_debug_info : public cooked_index_worker
+{
+public:
+ cooked_index_worker_debug_info (dwarf2_per_objfile *per_objfile)
+ : cooked_index_worker (per_objfile)
+ {
+ gdb_assert (is_main_thread ());
+
+ struct objfile *objfile = per_objfile->objfile;
+ dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
+
+ dwarf_read_debug_printf ("Building psymtabs of objfile %s ...",
+ objfile_name (objfile));
+
+ per_bfd->map_info_sections (objfile);
+ }
+
+private:
+ void do_reading () override;
+
+ /* Print collected type unit statistics. */
+
+ void print_tu_stats (dwarf2_per_objfile *per_objfile)
+ {
+ struct tu_stats *tu_stats = &per_objfile->per_bfd->tu_stats;
+
+ dwarf_read_debug_printf ("Type unit statistics:");
+ dwarf_read_debug_printf (" %d TUs", tu_stats->nr_tus);
+ dwarf_read_debug_printf (" %d uniq abbrev tables",
+ tu_stats->nr_uniq_abbrev_tables);
+ dwarf_read_debug_printf (" %d symtabs from stmt_list entries",
+ tu_stats->nr_symtabs);
+ dwarf_read_debug_printf (" %d symtab sharers",
+ tu_stats->nr_symtab_sharers);
+ dwarf_read_debug_printf (" %d type units without a stmt_list",
+ tu_stats->nr_stmt_less_type_units);
+ dwarf_read_debug_printf (" %d all_type_units reallocs",
+ tu_stats->nr_all_type_units_reallocs);
+ }
+
+ void print_stats () override
+ {
+ if (dwarf_read_debug > 0)
+ print_tu_stats (m_per_objfile);
+
+ if (dwarf_read_debug > 1)
+ {
+ dwarf_read_debug_printf_v ("Final m_all_parents_map:");
+ m_all_parents_map.dump (m_per_objfile->per_bfd);
+ }
+ }
+
+ /* After the last DWARF-reading task has finished, this function
+ does the remaining work to finish the scan. */
+ void done_reading () override;
+
+ /* An iterator for the comp units. */
+ using unit_iterator = std::vector<dwarf2_per_cu_up>::iterator;
+
+ /* Process a batch of CUs. This may be called multiple times in
+ separate threads. TASK_NUMBER indicates which task this is --
+ the result is stored in that slot of M_RESULTS. */
+ void process_units (size_t task_number, unit_iterator first,
+ unit_iterator end);
+
+ /* Process unit THIS_CU. */
+ void process_unit (dwarf2_per_cu *this_cu, dwarf2_per_objfile *per_objfile,
+ cooked_index_worker_result *storage);
+
+ /* Process all type units existing in PER_OBJFILE::PER_BFD::ALL_UNITS. */
+ void process_type_units (dwarf2_per_objfile *per_objfile,
+ cooked_index_worker_result *storage);
+
+ /* Process the type unit wrapped in READER. */
+ void process_type_unit (cutu_reader *reader,
+ cooked_index_worker_result *storage);
+
+ /* Process all type units of all DWO files.
+
+ This is needed in case a TU was emitted without its skeleton.
+ Note: This can't be done until we know what all the DWO files are. */
+ void process_skeletonless_type_units (dwarf2_per_objfile *per_objfile,
+ cooked_index_worker_result *storage);
+
+ /* Process the type unit represented by DWO_UNIT. */
+ void process_skeletonless_type_unit (dwo_unit *dwo_unit,
+ dwarf2_per_objfile *per_objfile,
+ cooked_index_worker_result *storage);
+
+ /* A storage object for "leftovers" -- see the 'start' method, but
+ essentially things not parsed during the normal CU parsing
+ passes. */
+ cooked_index_worker_result m_index_storage;
+};
+
+void
+cooked_index_worker_debug_info::process_unit
+ (dwarf2_per_cu *this_cu, dwarf2_per_objfile *per_objfile,
+ cooked_index_worker_result *storage)
{
cutu_reader *reader = storage->get_reader (this_cu);
if (reader == nullptr)
{
- cutu_reader new_reader (*this_cu, *per_objfile, nullptr, nullptr, false,
- language_minimal,
- &storage->get_abbrev_table_cache ());
+ const abbrev_table_cache &abbrev_table_cache
+ = storage->get_abbrev_table_cache ();
+ auto new_reader = std::make_unique<cutu_reader> (*this_cu, *per_objfile,
+ nullptr, nullptr, false,
+ language_minimal,
+ &abbrev_table_cache);
- if (new_reader.cu () == nullptr || new_reader.is_dummy ())
+ if (new_reader->is_dummy ())
return;
- auto copy = std::make_unique<cutu_reader> (std::move (new_reader));
- reader = storage->preserve (std::move (copy));
+ reader = storage->preserve (std::move (new_reader));
}
- if (reader->top_level_die () == nullptr || reader->is_dummy ())
+ if (reader->is_dummy ())
return;
if (this_cu->is_debug_types)
- build_type_psymtabs_reader (reader, storage);
+ process_type_unit (reader, storage);
else if (reader->top_level_die ()->tag != DW_TAG_partial_unit)
{
bool nope = false;
@@ -3322,11 +3321,9 @@ process_psymtab_comp_unit (dwarf2_per_cu *this_cu,
}
}
-/* Reader function for build_type_psymtabs. */
-
-static void
-build_type_psymtabs_reader (cutu_reader *reader,
- cooked_index_worker_result *storage)
+void
+cooked_index_worker_debug_info::process_type_unit
+ (cutu_reader *reader, cooked_index_worker_result *storage)
{
struct dwarf2_cu *cu = reader->cu ();
dwarf2_per_cu *per_cu = cu->per_cu;
@@ -3360,26 +3357,9 @@ struct tu_abbrev_offset
sect_offset abbrev_offset;
};
-/* Efficiently read all the type units.
-
- The efficiency is because we sort TUs by the abbrev table they use and
- only read each abbrev table once. In one program there are 200K TUs
- sharing 8K abbrev tables.
-
- The main purpose of this function is to support building the
- dwarf2_per_objfile->per_bfd->type_unit_groups table.
- TUs typically share the DW_AT_stmt_list of the CU they came from, so we
- can collapse the search space by grouping them by stmt_list.
- The savings can be significant, in the same program from above the 200K TUs
- share 8K stmt_list tables.
-
- FUNC is expected to call get_type_unit_group, which will create the
- struct type_unit_group if necessary and add it to
- dwarf2_per_objfile->per_bfd->type_unit_groups. */
-
-static void
-build_type_psymtabs (dwarf2_per_objfile *per_objfile,
- cooked_index_worker_result *storage)
+void
+cooked_index_worker_debug_info::process_type_units
+ (dwarf2_per_objfile *per_objfile, cooked_index_worker_result *storage)
{
struct tu_stats *tu_stats = &per_objfile->per_bfd->tu_stats;
abbrev_table_up abbrev_table;
@@ -3445,38 +3425,17 @@ build_type_psymtabs (dwarf2_per_objfile *per_objfile,
abbrev_table.get (), nullptr, false,
language_minimal);
if (!reader.is_dummy ())
- build_type_psymtabs_reader (&reader, storage);
+ storage->catch_error ([&] ()
+ {
+ process_type_unit (&reader, storage);
+ });
}
}
-/* Print collected type unit statistics. */
-
-static void
-print_tu_stats (dwarf2_per_objfile *per_objfile)
-{
- struct tu_stats *tu_stats = &per_objfile->per_bfd->tu_stats;
-
- dwarf_read_debug_printf ("Type unit statistics:");
- dwarf_read_debug_printf (" %d TUs", tu_stats->nr_tus);
- dwarf_read_debug_printf (" %d uniq abbrev tables",
- tu_stats->nr_uniq_abbrev_tables);
- dwarf_read_debug_printf (" %d symtabs from stmt_list entries",
- tu_stats->nr_symtabs);
- dwarf_read_debug_printf (" %d symtab sharers",
- tu_stats->nr_symtab_sharers);
- dwarf_read_debug_printf (" %d type units without a stmt_list",
- tu_stats->nr_stmt_less_type_units);
- dwarf_read_debug_printf (" %d all_type_units reallocs",
- tu_stats->nr_all_type_units_reallocs);
-}
-
-/* Traversal function for process_skeletonless_type_units.
- Read a TU in a DWO file and build partial symbols for it. */
-
-static void
-process_skeletonless_type_unit (dwo_unit *dwo_unit,
- dwarf2_per_objfile *per_objfile,
- cooked_index_worker_result *storage)
+void
+cooked_index_worker_debug_info::process_skeletonless_type_unit
+ (dwo_unit *dwo_unit, dwarf2_per_objfile *per_objfile,
+ cooked_index_worker_result *storage)
{
dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
@@ -3498,82 +3457,29 @@ process_skeletonless_type_unit (dwo_unit *dwo_unit,
cutu_reader reader (**sig_type_it, *per_objfile, nullptr, nullptr, false,
language_minimal);
if (!reader.is_dummy ())
- build_type_psymtabs_reader (&reader, storage);
+ process_type_unit (&reader, storage);
}
-/* Scan all TUs of DWO files, verifying we've processed them.
- This is needed in case a TU was emitted without its skeleton.
- Note: This can't be done until we know what all the DWO files are. */
-
-static void
-process_skeletonless_type_units (dwarf2_per_objfile *per_objfile,
- cooked_index_worker_result *storage)
+void
+cooked_index_worker_debug_info::process_skeletonless_type_units
+ (dwarf2_per_objfile *per_objfile, cooked_index_worker_result *storage)
{
+ scoped_time_it time_it ("DWARF skeletonless type units", m_per_command_time);
+
/* Skeletonless TUs in DWP files without .gdb_index is not supported yet. */
- if (get_dwp_file (per_objfile) == nullptr)
+ if (per_objfile->per_bfd->dwp_file == nullptr)
for (const dwo_file_up &file : per_objfile->per_bfd->dwo_files)
- for (dwo_unit *unit : file->tus)
- process_skeletonless_type_unit (unit, per_objfile, storage);
+ for (const dwo_unit_up &unit : file->tus)
+ storage->catch_error ([&] ()
+ {
+ process_skeletonless_type_unit (unit.get (), per_objfile, storage);
+ });
}
-/* A subclass of cooked_index_worker that handles scanning
- .debug_info. */
-
-class cooked_index_worker_debug_info : public cooked_index_worker
-{
-public:
- cooked_index_worker_debug_info (dwarf2_per_objfile *per_objfile)
- : cooked_index_worker (per_objfile)
- {
- gdb_assert (is_main_thread ());
-
- struct objfile *objfile = per_objfile->objfile;
- dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
-
- dwarf_read_debug_printf ("Building psymtabs of objfile %s ...",
- objfile_name (objfile));
-
- per_bfd->map_info_sections (objfile);
- }
-
-private:
-
- void do_reading () override;
-
- void print_stats () override
- {
- if (dwarf_read_debug > 0)
- print_tu_stats (m_per_objfile);
- if (dwarf_read_debug > 1)
- {
- dwarf_read_debug_printf_v ("Final m_all_parents_map:");
- m_all_parents_map.dump (m_per_objfile->per_bfd);
- }
- }
-
- /* After the last DWARF-reading task has finished, this function
- does the remaining work to finish the scan. */
- void done_reading () override;
-
- /* An iterator for the comp units. */
- using unit_iterator = std::vector<dwarf2_per_cu_up>::iterator;
-
- /* Process a batch of CUs. This may be called multiple times in
- separate threads. TASK_NUMBER indicates which task this is --
- the result is stored in that slot of M_RESULTS. */
- void process_cus (size_t task_number, unit_iterator first,
- unit_iterator end);
-
- /* A storage object for "leftovers" -- see the 'start' method, but
- essentially things not parsed during the normal CU parsing
- passes. */
- cooked_index_worker_result m_index_storage;
-};
-
void
-cooked_index_worker_debug_info::process_cus (size_t task_number,
- unit_iterator first,
- unit_iterator end)
+cooked_index_worker_debug_info::process_units (size_t task_number,
+ unit_iterator first,
+ unit_iterator end)
{
SCOPE_EXIT { bfd_thread_cleanup (); };
@@ -3586,14 +3492,10 @@ cooked_index_worker_debug_info::process_cus (size_t task_number,
{
dwarf2_per_cu *per_cu = inner->get ();
- try
- {
- process_psymtab_comp_unit (per_cu, m_per_objfile, &thread_storage);
- }
- catch (gdb_exception &except)
+ thread_storage.catch_error ([&] ()
{
- thread_storage.note_error (std::move (except));
- }
+ process_unit (per_cu, m_per_objfile, &thread_storage);
+ });
}
thread_storage.done_reading (complaint_handler.release ());
@@ -3618,7 +3520,7 @@ cooked_index_worker_debug_info::do_reading ()
dwarf2_per_bfd *per_bfd = m_per_objfile->per_bfd;
create_all_units (m_per_objfile);
- build_type_psymtabs (m_per_objfile, &m_index_storage);
+ process_type_units (m_per_objfile, &m_index_storage);
if (!per_bfd->debug_aranges.empty ())
read_addrmap_from_aranges (m_per_objfile, &per_bfd->debug_aranges,
@@ -3671,7 +3573,8 @@ cooked_index_worker_debug_info::do_reading ()
gdb_assert (iter != last);
workers.add_task ([this, task_count, iter, last] ()
{
- process_cus (task_count, iter, last);
+ scoped_time_it time_it ("DWARF indexing worker", m_per_command_time);
+ process_units (task_count, iter, last);
});
++task_count;
@@ -3688,10 +3591,11 @@ read_comp_units_from_section (dwarf2_per_objfile *per_objfile,
struct dwarf2_section_info *abbrev_section,
unsigned int is_dwz,
signatured_type_set &sig_types,
- rcuh_kind section_kind)
+ ruh_kind section_kind)
{
const gdb_byte *info_ptr;
struct objfile *objfile = per_objfile->objfile;
+ dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
dwarf_read_debug_printf ("Reading %s for %s",
section->get_name (),
@@ -3707,23 +3611,22 @@ read_comp_units_from_section (dwarf2_per_objfile *per_objfile,
sect_offset sect_off = (sect_offset) (info_ptr - section->buffer);
- comp_unit_head cu_header;
- read_and_check_comp_unit_head (per_objfile, &cu_header, section,
- abbrev_section, info_ptr,
- section_kind);
+ unit_head cu_header;
+ read_and_check_unit_head (&cu_header, section, abbrev_section, info_ptr,
+ section_kind);
unsigned int length = cu_header.get_length_with_initial ();
/* Save the compilation unit for later lookup. */
if (cu_header.unit_type != DW_UT_type)
- this_cu
- = per_objfile->per_bfd->allocate_per_cu (section, sect_off, length, is_dwz);
+ this_cu = per_bfd->allocate_per_cu (section, sect_off, length, is_dwz);
else
{
- auto sig_type = per_objfile->per_bfd->allocate_signatured_type
- (section, sect_off, length, is_dwz, cu_header.signature);
+ auto sig_type
+ = per_bfd->allocate_signatured_type (section, sect_off, length,
+ is_dwz, cu_header.signature);
signatured_type *sig_ptr = sig_type.get ();
- sig_type->type_offset_in_tu = cu_header.type_cu_offset_in_tu;
+ sig_type->type_offset_in_tu = cu_header.type_offset_in_tu;
this_cu.reset (sig_type.release ());
auto inserted = sig_types.emplace (sig_ptr).second;
@@ -3737,7 +3640,7 @@ read_comp_units_from_section (dwarf2_per_objfile *per_objfile,
}
info_ptr = info_ptr + this_cu->length ();
- per_objfile->per_bfd->all_units.push_back (std::move (this_cu));
+ per_bfd->all_units.push_back (std::move (this_cu));
}
}
@@ -3765,17 +3668,17 @@ create_all_units (dwarf2_per_objfile *per_objfile)
for (dwarf2_section_info &section : per_objfile->per_bfd->infos)
read_comp_units_from_section (per_objfile, &section,
&per_objfile->per_bfd->abbrev, 0, sig_types,
- rcuh_kind::COMPILE);
+ ruh_kind::COMPILE);
for (dwarf2_section_info &section : per_objfile->per_bfd->types)
read_comp_units_from_section (per_objfile, &section,
&per_objfile->per_bfd->abbrev, 0, sig_types,
- rcuh_kind::TYPE);
+ ruh_kind::TYPE);
dwz_file *dwz = per_objfile->per_bfd->get_dwz_file ();
if (dwz != NULL)
{
read_comp_units_from_section (per_objfile, &dwz->info, &dwz->abbrev, 1,
- sig_types, rcuh_kind::COMPILE);
+ sig_types, ruh_kind::COMPILE);
if (!dwz->types.empty ())
{
@@ -3896,11 +3799,13 @@ cutu_reader::skip_one_attribute (dwarf_form form, const gdb_byte *info_ptr)
case DW_FORM_data4:
case DW_FORM_ref4:
case DW_FORM_strx4:
+ case DW_FORM_ref_sup4:
return info_ptr + 4;
case DW_FORM_data8:
case DW_FORM_ref8:
case DW_FORM_ref_sig8:
+ case DW_FORM_ref_sup8:
return info_ptr + 8;
case DW_FORM_data16:
@@ -3913,6 +3818,7 @@ cutu_reader::skip_one_attribute (dwarf_form form, const gdb_byte *info_ptr)
case DW_FORM_sec_offset:
case DW_FORM_strp:
case DW_FORM_GNU_strp_alt:
+ case DW_FORM_strp_sup:
return info_ptr + m_cu->header.offset_size;
case DW_FORM_exprloc:
@@ -5023,7 +4929,7 @@ process_imported_unit_die (struct die_info *die, struct dwarf2_cu *cu)
if (attr != NULL)
{
sect_offset sect_off = attr->get_ref_die_offset ();
- bool is_dwz = (attr->form == DW_FORM_GNU_ref_alt || cu->per_cu->is_dwz);
+ bool is_dwz = attr->form_is_alt () || cu->per_cu->is_dwz;
dwarf2_per_objfile *per_objfile = cu->per_objfile;
dwarf2_per_cu *per_cu
= dwarf2_find_containing_comp_unit (sect_off, is_dwz,
@@ -5952,7 +5858,7 @@ find_file_and_directory (struct die_info *die, struct dwarf2_cu *cu)
&& res.get_name () != nullptr
&& IS_ABSOLUTE_PATH (res.get_name ()))
{
- res.set_comp_dir (ldirname (res.get_name ()));
+ res.set_comp_dir (gdb_ldirname (res.get_name ()));
res.set_name (make_unique_xstrdup (lbasename (res.get_name ())));
}
@@ -6299,80 +6205,158 @@ static dwo_file *
lookup_dwo_file (dwarf2_per_bfd *per_bfd, const char *dwo_name,
const char *comp_dir)
{
+#if CXX_STD_THREAD
+ std::lock_guard<std::mutex> guard (per_bfd->dwo_files_lock);
+#endif
+
auto it = per_bfd->dwo_files.find (dwo_file_search {dwo_name, comp_dir});
return it != per_bfd->dwo_files.end () ? it->get() : nullptr;
}
-/* Create the dwo_units for the CUs in a DWO_FILE.
- Note: This function processes DWO files only, not DWP files. */
+/* Add DWO_FILE to the per-BFD DWO file hash table.
-static void
-create_cus_hash_table (dwarf2_cu *cu, dwo_file &dwo_file)
+ Return the dwo_file actually kept in the hash table.
+
+ If another thread raced with this one, opening the exact same DWO file and
+ inserting it first in the hash table, then keep that other thread's copy
+ and DWO_FILE gets freed. */
+
+static dwo_file *
+add_dwo_file (dwarf2_per_bfd *per_bfd, dwo_file_up dwo_file)
{
- dwarf2_per_objfile *per_objfile = cu->per_objfile;
- struct objfile *objfile = per_objfile->objfile;
- dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
- const gdb_byte *info_ptr, *end_ptr;
- auto &section = dwo_file.sections.info;
+#if CXX_STD_THREAD
+ std::lock_guard<std::mutex> lock (per_bfd->dwo_files_lock);
+#endif
+
+ return per_bfd->dwo_files.emplace (std::move (dwo_file)).first->get ();
+}
+
+void
+cutu_reader::create_dwo_unit_hash_tables (dwo_file &dwo_file,
+ dwarf2_cu &skeleton_cu,
+ dwarf2_section_info &section,
+ ruh_kind section_kind)
+{
+ dwarf2_per_objfile &per_objfile = *skeleton_cu.per_objfile;
+ dwarf2_per_bfd &per_bfd = *per_objfile.per_bfd;
- section.read (objfile);
- info_ptr = section.buffer;
+ const gdb_byte *info_ptr = section.buffer;
if (info_ptr == NULL)
return;
- dwarf_read_debug_printf ("Reading %s for %s:",
- section.get_name (),
+ dwarf_read_debug_printf ("Reading %s for %s:", section.get_name (),
section.get_file_name ());
- end_ptr = info_ptr + section.size;
+ const gdb_byte *end_ptr = info_ptr + section.size;
+
while (info_ptr < end_ptr)
{
sect_offset sect_off = (sect_offset) (info_ptr - section.buffer);
+ unit_head header;
+ dwarf2_section_info *abbrev_section = &dwo_file.sections.abbrev;
+ const gdb_byte *info_ptr_post_header
+ = read_and_check_unit_head (&header, &section, abbrev_section,
+ info_ptr, section_kind);
- /* The length of the CU gets set by the cutu_reader just below. */
- dwarf2_per_cu per_cu (per_bfd, &section, sect_off, 0 /* length */,
- false /* is_dwz */);
- cutu_reader reader (per_cu, *per_objfile, language_minimal,
- *cu, dwo_file);
+ unsigned int length = header.get_length_with_initial ();
+ info_ptr += length;
- info_ptr += per_cu.length ();
+ /* Skip dummy units. */
+ if (info_ptr_post_header >= info_ptr
+ || peek_abbrev_code (section.get_bfd_owner (),
+ info_ptr_post_header) == 0)
+ continue;
- if (reader.is_dummy())
+ if (header.unit_type != DW_UT_compile
+ && header.unit_type != DW_UT_split_compile
+ && header.unit_type != DW_UT_type
+ && header.unit_type != DW_UT_split_type)
continue;
- std::optional<ULONGEST> signature
- = lookup_dwo_id (reader.cu (), reader.top_level_die ());
- if (!signature.has_value ())
+ ULONGEST signature;
+
+ /* For type units (all DWARF versions) and DWARF 5 compile units, the
+ signature/DWO ID is already available in the header. For compile
+ units in DWARF < 5, we need to read the DW_AT_GNU_dwo_id attribute
+ from the top-level DIE.
+
+ For DWARF < 5 compile units, the unit type will be set to DW_UT_compile
+ by read_and_check_comp_unit_head. */
+ if (header.version < 5 && header.unit_type == DW_UT_compile)
{
- complaint (_(DWARF_ERROR_PREFIX
- "debug entry at offset %s is missing its dwo_id"
- " [in module %s]"),
- sect_offset_str (sect_off),
- dwo_file.dwo_name.c_str ());
- continue;
+ /* The length of the CU is not necessary. */
+ dwarf2_per_cu per_cu (&per_bfd, &section, sect_off, length,
+ false /* is_dwz */);
+ cutu_reader reader (per_cu, per_objfile, language_minimal,
+ skeleton_cu, dwo_file);
+
+ std::optional<ULONGEST> opt_signature
+ = lookup_dwo_id (reader.cu (), reader.top_level_die ());
+
+ if (!opt_signature.has_value ())
+ {
+ complaint (_ (DWARF_ERROR_PREFIX
+ "debug entry at offset %s is missing its dwo_id"
+ " [in module %s]"),
+ sect_offset_str (sect_off),
+ dwo_file.dwo_name.c_str ());
+ continue;
+ }
+
+ signature = *opt_signature;
}
+ else
+ signature = header.signature;
- dwo_unit *dwo_unit = OBSTACK_ZALLOC (&per_bfd->obstack, struct dwo_unit);
+ auto dwo_unit = std::make_unique<struct dwo_unit> ();
+ /* Set the fields common to compile and type units. */
dwo_unit->dwo_file = &dwo_file;
- dwo_unit->signature = *signature;
+ dwo_unit->signature = signature;
dwo_unit->section = &section;
dwo_unit->sect_off = sect_off;
- dwo_unit->length = per_cu.length ();
+ dwo_unit->length = length;
- dwarf_read_debug_printf (" offset %s, dwo_id %s",
- sect_offset_str (sect_off),
- hex_string (dwo_unit->signature));
+ switch (header.unit_type)
+ {
+ case DW_UT_compile:
+ case DW_UT_split_compile:
+ {
+ dwarf_read_debug_printf (" compile unit at offset %s, dwo_id %s",
+ sect_offset_str (sect_off),
+ hex_string (dwo_unit->signature));
+
+ auto [it, inserted] = dwo_file.cus.emplace (std::move (dwo_unit));
+ if (!inserted)
+ complaint (_("debug cu entry at offset %s is duplicate to"
+ " the entry at offset %s, signature %s"),
+ sect_offset_str (sect_off),
+ sect_offset_str ((*it)->sect_off),
+ hex_string (dwo_unit->signature));
+ break;
+ }
- auto [it, inserted] = dwo_file.cus.emplace (dwo_unit);
- if (!inserted)
- complaint (_("debug cu entry at offset %s is duplicate to"
- " the entry at offset %s, signature %s"),
- sect_offset_str (sect_off),
- sect_offset_str ((*it)->sect_off),
- hex_string (dwo_unit->signature));
+ case DW_UT_type:
+ case DW_UT_split_type:
+ {
+ dwo_unit->type_offset_in_tu = header.type_offset_in_tu;
+
+ dwarf_read_debug_printf (" type unit at offset %s, signature %s",
+ sect_offset_str (sect_off),
+ hex_string (dwo_unit->signature));
+
+ auto [it, inserted] = dwo_file.tus.emplace (std::move (dwo_unit));
+ if (!inserted)
+ complaint (_("debug type entry at offset %s is duplicate to"
+ " the entry at offset %s, signature %s"),
+ sect_offset_str (sect_off),
+ sect_offset_str ((*it)->sect_off),
+ hex_string (header.signature));
+ break;
+ }
+ }
}
}
@@ -6530,27 +6514,18 @@ create_cus_hash_table (dwarf2_cu *cu, dwo_file &dwo_file)
Note: This function processes DWP files only, not DWO files. */
static struct dwp_hash_table *
-create_dwp_hash_table (dwarf2_per_objfile *per_objfile,
- struct dwp_file *dwp_file, int is_debug_types)
+create_dwp_hash_table (dwarf2_per_bfd *per_bfd, struct dwp_file *dwp_file,
+ dwarf2_section_info &index)
{
- struct objfile *objfile = per_objfile->objfile;
bfd *dbfd = dwp_file->dbfd.get ();
- const gdb_byte *index_ptr, *index_end;
- struct dwarf2_section_info *index;
uint32_t version, nr_columns, nr_units, nr_slots;
struct dwp_hash_table *htab;
- if (is_debug_types)
- index = &dwp_file->sections.tu_index;
- else
- index = &dwp_file->sections.cu_index;
-
- if (index->empty ())
+ if (index.empty ())
return NULL;
- index->read (objfile);
- index_ptr = index->buffer;
- index_end = index_ptr + index->size;
+ const gdb_byte *index_ptr = index.buffer;
+ const gdb_byte *index_end = index_ptr + index.size;
/* For Version 5, the version is really 2 bytes of data & 2 bytes of padding.
For now it's safe to just read 4 bytes (particularly as it's difficult to
@@ -6581,7 +6556,7 @@ create_dwp_hash_table (dwarf2_per_objfile *per_objfile,
pulongest (nr_slots), dwp_file->name);
}
- htab = OBSTACK_ZALLOC (&per_objfile->per_bfd->obstack, struct dwp_hash_table);
+ htab = OBSTACK_ZALLOC (&per_bfd->obstack, struct dwp_hash_table);
htab->version = version;
htab->nr_columns = nr_columns;
htab->nr_units = nr_units;
@@ -6853,7 +6828,7 @@ locate_v1_virtual_dwo_sections (asection *sectp,
COMP_DIR is the DW_AT_comp_dir attribute of the referencing CU.
This is for DWP version 1 files. */
-static struct dwo_unit *
+static dwo_unit_up
create_dwo_unit_in_dwp_v1 (dwarf2_per_bfd *per_bfd,
struct dwp_file *dwp_file,
uint32_t unit_index,
@@ -6976,19 +6951,17 @@ create_dwo_unit_in_dwp_v1 (dwarf2_per_bfd *per_bfd,
types we'll grow the vector and eventually have to reallocate space
for it, invalidating all copies of pointers into the previous
contents. */
- auto [it, inserted]
- = per_bfd->dwo_files.emplace (std::move (new_dwo_file));
- gdb_assert (inserted);
- dwo_file = it->get ();
+ dwo_file = add_dwo_file (per_bfd, std::move (new_dwo_file));
}
else
dwarf_read_debug_printf ("Using existing virtual DWO: %s",
virtual_dwo_name.c_str ());
- dwo_unit *dwo_unit = OBSTACK_ZALLOC (&per_bfd->obstack, struct dwo_unit);
+ auto dwo_unit = std::make_unique<struct dwo_unit> ();
dwo_unit->dwo_file = dwo_file;
dwo_unit->signature = signature;
- dwo_unit->section = XOBNEW (&per_bfd->obstack, struct dwarf2_section_info);
+ dwo_unit->section_holder = std::make_unique<dwarf2_section_info> ();
+ dwo_unit->section = dwo_unit->section_holder.get ();
*dwo_unit->section = sections.info_or_types;
/* dwo_unit->{offset,length,type_offset_in_tu} are set later. */
@@ -7046,7 +7019,7 @@ create_dwp_v2_or_v5_section (dwarf2_per_bfd *per_bfd,
COMP_DIR is the DW_AT_comp_dir attribute of the referencing CU.
This is for DWP version 2 files. */
-static struct dwo_unit *
+static dwo_unit_up
create_dwo_unit_in_dwp_v2 (dwarf2_per_bfd *per_bfd,
struct dwp_file *dwp_file,
uint32_t unit_index,
@@ -7181,19 +7154,17 @@ create_dwo_unit_in_dwp_v2 (dwarf2_per_bfd *per_bfd,
types we'll grow the vector and eventually have to reallocate space
for it, invalidating all copies of pointers into the previous
contents. */
- auto [it, inserted]
- = per_bfd->dwo_files.emplace (std::move (new_dwo_file));
- gdb_assert (inserted);
- dwo_file = it->get ();
+ dwo_file = add_dwo_file (per_bfd, std::move (new_dwo_file));
}
else
dwarf_read_debug_printf ("Using existing virtual DWO: %s",
virtual_dwo_name.c_str ());
- dwo_unit *dwo_unit = OBSTACK_ZALLOC (&per_bfd->obstack, struct dwo_unit);
+ auto dwo_unit = std::make_unique<struct dwo_unit> ();
dwo_unit->dwo_file = dwo_file;
dwo_unit->signature = signature;
- dwo_unit->section = XOBNEW (&per_bfd->obstack, struct dwarf2_section_info);
+ dwo_unit->section_holder = std::make_unique<dwarf2_section_info> ();
+ dwo_unit->section = dwo_unit->section_holder.get ();
*dwo_unit->section = create_dwp_v2_or_v5_section
(per_bfd,
is_debug_types
@@ -7211,7 +7182,7 @@ create_dwo_unit_in_dwp_v2 (dwarf2_per_bfd *per_bfd,
COMP_DIR is the DW_AT_comp_dir attribute of the referencing CU.
This is for DWP version 5 files. */
-static struct dwo_unit *
+static dwo_unit_up
create_dwo_unit_in_dwp_v5 (dwarf2_per_bfd *per_bfd,
struct dwp_file *dwp_file,
uint32_t unit_index,
@@ -7351,16 +7322,13 @@ create_dwo_unit_in_dwp_v5 (dwarf2_per_bfd *per_bfd,
types we'll grow the vector and eventually have to reallocate space
for it, invalidating all copies of pointers into the previous
contents. */
- auto [it, inserted]
- = per_bfd->dwo_files.emplace (std::move (new_dwo_file));
- gdb_assert (inserted);
- dwo_file = it->get ();
+ dwo_file = add_dwo_file (per_bfd, std::move (new_dwo_file));
}
else
dwarf_read_debug_printf ("Using existing virtual DWO: %s",
virtual_dwo_name.c_str ());
- dwo_unit *dwo_unit = OBSTACK_ZALLOC (&per_bfd->obstack, struct dwo_unit);
+ auto dwo_unit = std::make_unique<struct dwo_unit> ();
dwo_unit->dwo_file = dwo_file;
dwo_unit->signature = signature;
dwo_unit->section
@@ -7391,9 +7359,15 @@ lookup_dwo_unit_in_dwp (dwarf2_per_bfd *per_bfd,
auto &dwo_unit_set
= is_debug_types ? dwp_file->loaded_tus : dwp_file->loaded_cus;
- if (auto it = dwo_unit_set.find (signature);
- it != dwo_unit_set.end ())
- return *it;
+ {
+#if CXX_STD_THREAD
+ std::lock_guard<std::mutex> guard (dwp_file->loaded_cutus_lock);
+#endif
+
+ if (auto it = dwo_unit_set.find (signature);
+ it != dwo_unit_set.end ())
+ return it->get ();
+ }
/* Use a for loop so that we don't loop forever on bad debug info. */
for (unsigned int i = 0; i < dwp_htab->nr_slots; ++i)
@@ -7407,7 +7381,7 @@ lookup_dwo_unit_in_dwp (dwarf2_per_bfd *per_bfd,
uint32_t unit_index =
read_4_bytes (dbfd,
dwp_htab->unit_table + hash * sizeof (uint32_t));
- dwo_unit *dwo_unit;
+ dwo_unit_up dwo_unit;
if (dwp_file->version == 1)
dwo_unit
@@ -7422,9 +7396,14 @@ lookup_dwo_unit_in_dwp (dwarf2_per_bfd *per_bfd,
= create_dwo_unit_in_dwp_v5 (per_bfd, dwp_file, unit_index,
comp_dir, signature, is_debug_types);
- auto [it, inserted] = dwo_unit_set.emplace (dwo_unit);
- gdb_assert (inserted);
- return *it;
+ /* If another thread raced with this one, opening the exact same
+ DWO unit, then we'll keep that other thread's copy. */
+#if CXX_STD_THREAD
+ std::lock_guard<std::mutex> guard (dwp_file->loaded_cutus_lock);
+#endif
+
+ auto it = dwo_unit_set.emplace (std::move (dwo_unit)).first;
+ return it->get ();
}
if (signature_in_table == 0)
@@ -7480,7 +7459,7 @@ try_open_dwop_file (dwarf2_per_bfd *per_bfd, const char *file_name, int is_dwp,
search_path = per_bfd->captured_debug_dir.c_str ();
/* Add the path for the executable binary to the list of search paths. */
- std::string objfile_dir = ldirname (per_bfd->filename ());
+ std::string objfile_dir = gdb_ldirname (per_bfd->filename ());
search_path_holder.reset (concat (objfile_dir.c_str (),
dirname_separator_string,
search_path, nullptr));
@@ -7501,14 +7480,23 @@ try_open_dwop_file (dwarf2_per_bfd *per_bfd, const char *file_name, int is_dwp,
if (sym_bfd == NULL)
return NULL;
- if (!bfd_check_format (sym_bfd.get (), bfd_object))
- return NULL;
+ {
+#if CXX_STD_THREAD
+ /* The operations below are not thread-safe, use a lock to synchronize
+ concurrent accesses. */
+ static std::mutex mutex;
+ std::lock_guard<std::mutex> lock (mutex);
+#endif
- /* Success. Record the bfd as having been included by the objfile's bfd.
+ if (!bfd_check_format (sym_bfd.get (), bfd_object))
+ return NULL;
+
+ /* Success. Record the bfd as having been included by the objfile's bfd.
This is important because things like demangled_names_hash lives in the
objfile's per_bfd space and may have references to things like symbol
names that live in the DWO/DWP file's per_bfd space. PR 16426. */
- gdb_bfd_record_inclusion (per_bfd->obfd, sym_bfd.get ());
+ gdb_bfd_record_inclusion (per_bfd->obfd, sym_bfd.get ());
+ }
return sym_bfd;
}
@@ -7520,9 +7508,9 @@ try_open_dwop_file (dwarf2_per_bfd *per_bfd, const char *file_name, int is_dwp,
Upon success, the canonicalized path of the file is stored in the bfd,
same as symfile_bfd_open. */
-static gdb_bfd_ref_ptr
-open_dwo_file (dwarf2_per_bfd *per_bfd, const char *file_name,
- const char *comp_dir)
+gdb_bfd_ref_ptr
+cutu_reader::open_dwo_file (dwarf2_per_bfd *per_bfd, const char *file_name,
+ const char *comp_dir)
{
if (IS_ABSOLUTE_PATH (file_name))
return try_open_dwop_file (per_bfd, file_name,
@@ -7557,48 +7545,67 @@ open_dwo_file (dwarf2_per_bfd *per_bfd, const char *file_name,
/* This function is mapped across the sections and remembers the offset and
size of each of the DWO debugging sections we are interested in. */
-static void
-dwarf2_locate_dwo_sections (struct objfile *objfile, bfd *abfd,
- asection *sectp, dwo_sections *dwo_sections)
+void
+cutu_reader::locate_dwo_sections (objfile *objfile, dwo_file &dwo_file)
{
const struct dwop_section_names *names = &dwop_section_names;
+ dwo_sections &dwo_sections = dwo_file.sections;
+ bool complained_about_macro_already = false;
+
+ for (asection *sec : gdb_bfd_sections (dwo_file.dbfd))
+ {
+ struct dwarf2_section_info *dw_sect = nullptr;
+
+ if (names->abbrev_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.abbrev;
+ else if (names->info_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.infos.emplace_back (dwarf2_section_info {});
+ else if (names->line_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.line;
+ else if (names->loc_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.loc;
+ else if (names->loclists_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.loclists;
+ else if (names->macinfo_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.macinfo;
+ else if (names->macro_dwo.matches (sec->name))
+ {
+ /* gcc versions <= 13 generate multiple .debug_macro.dwo sections with
+ some unresolved links between them. It's not usable, so do as if
+ there were not there. */
+ if (!complained_about_macro_already)
+ {
+ if (dwo_sections.macro.s.section == nullptr)
+ dw_sect = &dwo_sections.macro;
+ else
+ {
+ warning (_("Multiple .debug_macro.dwo sections found in "
+ "%s, ignoring them."), dwo_file.dbfd->filename);
- struct dwarf2_section_info *dw_sect = nullptr;
-
- if (names->abbrev_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->abbrev;
- else if (names->info_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->info;
- else if (names->line_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->line;
- else if (names->loc_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->loc;
- else if (names->loclists_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->loclists;
- else if (names->macinfo_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->macinfo;
- else if (names->macro_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->macro;
- else if (names->rnglists_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->rnglists;
- else if (names->str_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->str;
- else if (names->str_offsets_dwo.matches (sectp->name))
- dw_sect = &dwo_sections->str_offsets;
- else if (names->types_dwo.matches (sectp->name))
- {
- struct dwarf2_section_info type_section;
-
- memset (&type_section, 0, sizeof (type_section));
- dwo_sections->types.push_back (type_section);
- dw_sect = &dwo_sections->types.back ();
- }
+ dwo_sections.macro = dwarf2_section_info {};
+ complained_about_macro_already = true;
+ }
+ }
+ }
+ else if (names->rnglists_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.rnglists;
+ else if (names->str_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.str;
+ else if (names->str_offsets_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.str_offsets;
+ else if (names->types_dwo.matches (sec->name))
+ dw_sect = &dwo_sections.types.emplace_back (dwarf2_section_info {});
+
+ if (dw_sect != nullptr)
+ {
+ /* Make sure we don't overwrite a section info that has been filled in
+ already. */
+ gdb_assert (!dw_sect->readin);
- if (dw_sect != nullptr)
- {
- dw_sect->s.section = sectp;
- dw_sect->size = bfd_section_size (sectp);
- dw_sect->read (objfile);
+ dw_sect->s.section = sec;
+ dw_sect->size = bfd_section_size (sec);
+ dw_sect->read (objfile);
+ }
}
}
@@ -7606,9 +7613,9 @@ dwarf2_locate_dwo_sections (struct objfile *objfile, bfd *abfd,
by PER_CU. This is for the non-DWP case.
The result is NULL if DWO_NAME can't be found. */
-static dwo_file_up
-open_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name,
- const char *comp_dir)
+dwo_file_up
+cutu_reader::open_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir)
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
@@ -7626,18 +7633,13 @@ open_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name,
dwo_file->comp_dir = comp_dir;
dwo_file->dbfd = std::move (dbfd);
- for (asection *sec : gdb_bfd_sections (dwo_file->dbfd))
- dwarf2_locate_dwo_sections (per_objfile->objfile, dwo_file->dbfd.get (),
- sec, &dwo_file->sections);
+ this->locate_dwo_sections (per_objfile->objfile, *dwo_file);
- create_cus_hash_table (cu, *dwo_file);
+ for (dwarf2_section_info &section : dwo_file->sections.infos)
+ create_dwo_unit_hash_tables (*dwo_file, *cu, section, ruh_kind::COMPILE);
- if (cu->header.version < 5)
- create_debug_types_hash_table (per_objfile, dwo_file.get (),
- dwo_file->sections.types);
- else
- create_debug_type_hash_table (per_objfile, dwo_file.get (),
- &dwo_file->sections.info, rcuh_kind::COMPILE);
+ for (dwarf2_section_info &section : dwo_file->sections.types)
+ create_dwo_unit_hash_tables (*dwo_file, *cu, section, ruh_kind::TYPE);
dwarf_read_debug_printf ("DWO file found: %s", dwo_name);
@@ -7673,6 +7675,10 @@ dwarf2_locate_common_dwp_sections (struct objfile *objfile, bfd *abfd,
if (dw_sect != nullptr)
{
+ /* Make sure we don't overwrite a section info that has been filled in
+ already. */
+ gdb_assert (!dw_sect->readin);
+
dw_sect->s.section = sectp;
dw_sect->size = bfd_section_size (sectp);
dw_sect->read (objfile);
@@ -7718,6 +7724,10 @@ dwarf2_locate_v2_dwp_sections (struct objfile *objfile, bfd *abfd,
if (dw_sect != nullptr)
{
+ /* Make sure we don't overwrite a section info that has been filled in
+ already. */
+ gdb_assert (!dw_sect->readin);
+
dw_sect->s.section = sectp;
dw_sect->size = bfd_section_size (sectp);
dw_sect->read (objfile);
@@ -7761,6 +7771,10 @@ dwarf2_locate_v5_dwp_sections (struct objfile *objfile, bfd *abfd,
if (dw_sect != nullptr)
{
+ /* Make sure we don't overwrite a section info that has been filled in
+ already. */
+ gdb_assert (!dw_sect->readin);
+
dw_sect->s.section = sectp;
dw_sect->size = bfd_section_size (sectp);
dw_sect->read (objfile);
@@ -7803,10 +7817,9 @@ open_dwp_file (dwarf2_per_bfd *per_bfd, const char *file_name)
}
/* Initialize the use of the DWP file for the current objfile.
- By convention the name of the DWP file is ${objfile}.dwp.
- The result is NULL if it can't be found. */
+ By convention the name of the DWP file is ${objfile}.dwp. */
-static dwp_file_up
+static void
open_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
{
struct objfile *objfile = per_objfile->objfile;
@@ -7823,7 +7836,7 @@ open_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
struct objfile *backlink = objfile->separate_debug_objfile_backlink;
const char *backlink_basename = lbasename (backlink->original_name);
- dwp_name = ldirname (objfile->original_name) + SLASH_STRING + backlink_basename;
+ dwp_name = gdb_ldirname (objfile->original_name) + SLASH_STRING + backlink_basename;
}
else
dwp_name = objfile->original_name;
@@ -7844,7 +7857,7 @@ open_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
{
dwarf_read_debug_printf ("DWP file not found: %s", dwp_name.c_str ());
- return dwp_file_up ();
+ return;
}
const char *name = bfd_get_filename (dbfd.get ());
@@ -7858,9 +7871,10 @@ open_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
dwarf2_locate_common_dwp_sections (objfile, dwp_file->dbfd.get (), sec,
dwp_file.get ());
- dwp_file->cus = create_dwp_hash_table (per_objfile, dwp_file.get (), 0);
-
- dwp_file->tus = create_dwp_hash_table (per_objfile, dwp_file.get (), 1);
+ dwp_file->cus = create_dwp_hash_table (per_bfd, dwp_file.get (),
+ dwp_file->sections.cu_index);
+ dwp_file->tus = create_dwp_hash_table (per_bfd, dwp_file.get (),
+ dwp_file->sections.tu_index);
/* The DWP file version is stored in the hash table. Oh well. */
if (dwp_file->cus && dwp_file->tus
@@ -7900,20 +7914,8 @@ open_and_init_dwp_file (dwarf2_per_objfile *per_objfile)
bfd_cache_close (dwp_file->dbfd.get ());
- return dwp_file;
-}
-
-/* Wrapper around open_and_init_dwp_file, only open it once. */
-
-static struct dwp_file *
-get_dwp_file (dwarf2_per_objfile *per_objfile)
-{
- if (!per_objfile->per_bfd->dwp_checked)
- {
- per_objfile->per_bfd->dwp_file = open_and_init_dwp_file (per_objfile);
- per_objfile->per_bfd->dwp_checked = 1;
- }
- return per_objfile->per_bfd->dwp_file.get ();
+ /* Everything worked, install this dwp_file in the per_bfd. */
+ per_objfile->per_bfd->dwp_file = std::move (dwp_file);
}
/* Subroutine of lookup_dwo_comp_unit, lookup_dwo_type_unit.
@@ -7932,22 +7934,23 @@ get_dwp_file (dwarf2_per_objfile *per_objfile)
The result is a pointer to the dwo_unit object or NULL if we didn't find it
(dwo_id mismatch or couldn't find the DWO/DWP file). */
-static struct dwo_unit *
-lookup_dwo_cutu (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
- ULONGEST signature, int is_debug_types)
+dwo_unit *
+cutu_reader::lookup_dwo_cutu (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir, ULONGEST signature,
+ int is_debug_types)
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
dwarf2_per_bfd *per_bfd = per_objfile->per_bfd;
struct objfile *objfile = per_objfile->objfile;
const char *kind = is_debug_types ? "TU" : "CU";
- struct dwp_file *dwp_file;
/* First see if there's a DWP file.
If we have a DWP file but didn't find the DWO inside it, don't
look for the original DWO file. It makes gdb behave differently
depending on whether one is debugging in the build tree. */
- dwp_file = get_dwp_file (per_objfile);
+ dwp_file *dwp_file = per_objfile->per_bfd->dwp_file.get ();
+
if (dwp_file != NULL)
{
const struct dwp_hash_table *dwp_htab =
@@ -7983,12 +7986,7 @@ lookup_dwo_cutu (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
= open_and_init_dwo_file (cu, dwo_name, comp_dir);
if (new_dwo_file != nullptr)
- {
- auto [it, inserted]
- = per_bfd->dwo_files.emplace (std::move (new_dwo_file));
- gdb_assert (inserted);
- dwo_file = (*it).get ();
- }
+ dwo_file = add_dwo_file (per_bfd, std::move (new_dwo_file));
}
if (dwo_file != NULL)
@@ -7999,13 +7997,13 @@ lookup_dwo_cutu (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
{
if (auto it = dwo_file->tus.find (signature);
it != dwo_file->tus.end ())
- dwo_cutu = *it;
+ dwo_cutu = it->get ();
}
else if (!is_debug_types && !dwo_file->cus.empty ())
{
if (auto it = dwo_file->cus.find (signature);
it != dwo_file->cus.end ())
- dwo_cutu = *it;
+ dwo_cutu = it->get ();
}
if (dwo_cutu != NULL)
@@ -8048,9 +8046,9 @@ lookup_dwo_cutu (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
/* Lookup the DWO CU DWO_NAME/SIGNATURE referenced from THIS_CU.
See lookup_dwo_cutu_unit for details. */
-static struct dwo_unit *
-lookup_dwo_comp_unit (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
- ULONGEST signature)
+dwo_unit *
+cutu_reader::lookup_dwo_comp_unit (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir, ULONGEST signature)
{
gdb_assert (!cu->per_cu->is_debug_types);
@@ -8060,8 +8058,9 @@ lookup_dwo_comp_unit (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir,
/* Lookup the DWO TU DWO_NAME/SIGNATURE referenced from THIS_TU.
See lookup_dwo_cutu_unit for details. */
-static struct dwo_unit *
-lookup_dwo_type_unit (dwarf2_cu *cu, const char *dwo_name, const char *comp_dir)
+dwo_unit *
+cutu_reader::lookup_dwo_type_unit (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir)
{
gdb_assert (cu->per_cu->is_debug_types);
@@ -8104,15 +8103,15 @@ queue_and_load_all_dwo_tus (dwarf2_cu *cu)
gdb_assert (cu != nullptr);
gdb_assert (!cu->per_cu->is_debug_types);
- gdb_assert (get_dwp_file (cu->per_objfile) == nullptr);
+ gdb_assert (cu->per_objfile->per_bfd->dwp_file == nullptr);
dwo_unit = cu->dwo_unit;
gdb_assert (dwo_unit != NULL);
dwo_file = dwo_unit->dwo_file;
- for (struct dwo_unit *unit : dwo_file->tus)
- queue_and_load_dwo_tu (unit, cu);
+ for (const dwo_unit_up &unit : dwo_file->tus)
+ queue_and_load_dwo_tu (unit.get (), cu);
}
/* Read in various DIEs. */
@@ -8788,7 +8787,8 @@ read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu)
struct dwarf2_locexpr_baton *dlbaton;
struct dwarf_block *block = attr->as_block ();
- dlbaton = XOBNEW (&objfile->objfile_obstack, struct dwarf2_locexpr_baton);
+ dlbaton = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+ struct dwarf2_locexpr_baton);
dlbaton->data = block->data;
dlbaton->size = block->size;
dlbaton->per_objfile = per_objfile;
@@ -8887,7 +8887,7 @@ read_call_site_scope (struct die_info *die, struct dwarf2_cu *cu)
parameter->kind = CALL_SITE_PARAMETER_PARAM_OFFSET;
sect_offset sect_off = origin->get_ref_die_offset ();
- if (!cu->header.offset_in_cu_p (sect_off))
+ if (!cu->header.offset_in_unit_p (sect_off))
{
/* As DW_OP_GNU_parameter_ref uses CU-relative offset this
binding can be done only inside one CU. Such referenced DIE
@@ -9255,7 +9255,7 @@ dwarf2_ranges_process (unsigned offset, struct dwarf2_cu *cu, dwarf_tag tag,
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
struct objfile *objfile = per_objfile->objfile;
- struct comp_unit_head *cu_header = &cu->header;
+ unit_head *cu_header = &cu->header;
bfd *obfd = objfile->obfd.get ();
unsigned int addr_size = cu_header->addr_size;
CORE_ADDR mask = ~(~(CORE_ADDR)1 << (addr_size * 8 - 1));
@@ -9911,54 +9911,6 @@ dwarf2_access_attribute (struct die_info *die, struct dwarf2_cu *cu)
}
}
-/* Look for DW_AT_data_member_location or DW_AT_data_bit_offset. Set
- *OFFSET to the byte offset. If the attribute was not found return
- 0, otherwise return 1. If it was found but could not properly be
- handled, set *OFFSET to 0. */
-
-static int
-handle_member_location (struct die_info *die, struct dwarf2_cu *cu,
- LONGEST *offset)
-{
- struct attribute *attr;
-
- attr = dwarf2_attr (die, DW_AT_data_member_location, cu);
- if (attr != NULL)
- {
- *offset = 0;
- CORE_ADDR temp;
-
- /* Note that we do not check for a section offset first here.
- This is because DW_AT_data_member_location is new in DWARF 4,
- so if we see it, we can assume that a constant form is really
- a constant and not a section offset. */
- if (attr->form_is_constant ())
- *offset = attr->constant_value (0);
- else if (attr->form_is_section_offset ())
- dwarf2_complex_location_expr_complaint ();
- else if (attr->form_is_block ()
- && decode_locdesc (attr->as_block (), cu, &temp))
- {
- *offset = temp;
- }
- else
- dwarf2_complex_location_expr_complaint ();
-
- return 1;
- }
- else
- {
- attr = dwarf2_attr (die, DW_AT_data_bit_offset, cu);
- if (attr != nullptr)
- {
- *offset = attr->constant_value (0);
- return 1;
- }
- }
-
- return 0;
-}
-
/* Look for DW_AT_data_member_location or DW_AT_data_bit_offset and
store the results in FIELD. */
@@ -9971,9 +9923,28 @@ handle_member_location (struct die_info *die, struct dwarf2_cu *cu,
attr = dwarf2_attr (die, DW_AT_data_member_location, cu);
if (attr != NULL)
{
+ bool has_bit_offset = false;
+ LONGEST bit_offset = 0;
+ LONGEST anonymous_size = 0;
+
+ attribute *attr2 = dwarf2_attr (die, DW_AT_bit_offset, cu);
+ if (attr2 != nullptr && attr2->form_is_constant ())
+ {
+ has_bit_offset = true;
+ bit_offset = attr2->confused_constant ().value_or (0);
+ attr2 = dwarf2_attr (die, DW_AT_byte_size, cu);
+ if (attr2 != nullptr && attr2->form_is_constant ())
+ {
+ /* The size of the anonymous object containing
+ the bit field is explicit, so use the
+ indicated size (in bytes). */
+ anonymous_size = attr2->unsigned_constant ().value_or (0);
+ }
+ }
+
if (attr->form_is_constant ())
{
- LONGEST offset = attr->constant_value (0);
+ LONGEST offset = attr->confused_constant ().value_or (0);
/* Work around this GCC 11 bug, where it would erroneously use -1
data member locations, instead of 0:
@@ -9988,9 +9959,9 @@ handle_member_location (struct die_info *die, struct dwarf2_cu *cu,
}
field->set_loc_bitpos (offset * bits_per_byte);
+ if (has_bit_offset)
+ apply_bit_offset_to_field (*field, bit_offset, anonymous_size);
}
- else if (attr->form_is_section_offset ())
- dwarf2_complex_location_expr_complaint ();
else if (attr->form_is_block ())
{
CORE_ADDR offset;
@@ -10000,9 +9971,20 @@ handle_member_location (struct die_info *die, struct dwarf2_cu *cu,
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
struct objfile *objfile = per_objfile->objfile;
- struct dwarf2_locexpr_baton *dlbaton
- = XOBNEW (&objfile->objfile_obstack,
- struct dwarf2_locexpr_baton);
+ struct dwarf2_locexpr_baton *dlbaton;
+ if (has_bit_offset)
+ {
+ dwarf2_field_location_baton *flbaton
+ = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+ dwarf2_field_location_baton);
+ flbaton->is_field_location = true;
+ flbaton->bit_offset = bit_offset;
+ flbaton->explicit_byte_size = anonymous_size;
+ dlbaton = flbaton;
+ }
+ else
+ dlbaton = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+ struct dwarf2_locexpr_baton);
dlbaton->data = attr->as_block ()->data;
dlbaton->size = attr->as_block ()->size;
/* When using this baton, we want to compute the address
@@ -10012,28 +9994,71 @@ handle_member_location (struct die_info *die, struct dwarf2_cu *cu,
dlbaton->per_objfile = per_objfile;
dlbaton->per_cu = cu->per_cu;
- field->set_loc_dwarf_block (dlbaton);
+ field->set_loc_dwarf_block_addr (dlbaton);
}
}
else
- dwarf2_complex_location_expr_complaint ();
+ complaint (_("Unsupported form %s for DW_AT_data_member_location"),
+ dwarf_form_name (attr->form));
}
else
{
attr = dwarf2_attr (die, DW_AT_data_bit_offset, cu);
if (attr != nullptr)
- field->set_loc_bitpos (attr->constant_value (0));
+ {
+ if (attr->form_is_constant ())
+ field->set_loc_bitpos (attr->unsigned_constant ().value_or (0));
+ else if (attr->form_is_block ())
+ {
+ /* This is a DWARF extension. See
+ https://dwarfstd.org/issues/250501.1.html. */
+ dwarf2_per_objfile *per_objfile = cu->per_objfile;
+ dwarf2_locexpr_baton *dlbaton
+ = OBSTACK_ZALLOC (&per_objfile->objfile->objfile_obstack,
+ dwarf2_locexpr_baton);
+ dlbaton->data = attr->as_block ()->data;
+ dlbaton->size = attr->as_block ()->size;
+ dlbaton->per_objfile = per_objfile;
+ dlbaton->per_cu = cu->per_cu;
+
+ field->set_loc_dwarf_block_bitpos (dlbaton);
+ }
+ else
+ complaint (_("Unsupported form %s for DW_AT_data_bit_offset"),
+ dwarf_form_name (attr->form));
+ }
}
}
+/* A helper that computes the location of a field. The CU and the
+ DW_TAG_member DIE are passed in. The results are stored in
+ *FP. */
+
+static void
+compute_field_location (dwarf2_cu *cu, die_info *die, field *fp)
+{
+ /* Get type of field. */
+ fp->set_type (die_type (die, cu));
+
+ fp->set_loc_bitpos (0);
+
+ /* Get bit size of field (zero if none). */
+ attribute *attr = dwarf2_attr (die, DW_AT_bit_size, cu);
+ if (attr != nullptr)
+ fp->set_bitsize (attr->unsigned_constant ().value_or (0));
+ else
+ fp->set_bitsize (0);
+
+ /* Get bit offset of field. */
+ handle_member_location (die, cu, fp);
+}
+
/* Add an aggregate field to the field list. */
static void
dwarf2_add_field (struct field_info *fip, struct die_info *die,
struct dwarf2_cu *cu)
{
- struct objfile *objfile = cu->per_objfile->objfile;
- struct gdbarch *gdbarch = objfile->arch ();
struct nextfield *new_field;
struct attribute *attr;
struct field *fp;
@@ -10083,64 +10108,7 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die,
}
/* Data member other than a C++ static data member. */
- /* Get type of field. */
- fp->set_type (die_type (die, cu));
-
- fp->set_loc_bitpos (0);
-
- /* Get bit size of field (zero if none). */
- attr = dwarf2_attr (die, DW_AT_bit_size, cu);
- if (attr != nullptr)
- fp->set_bitsize (attr->constant_value (0));
- else
- fp->set_bitsize (0);
-
- /* Get bit offset of field. */
- handle_member_location (die, cu, fp);
- attr = dwarf2_attr (die, DW_AT_bit_offset, cu);
- if (attr != nullptr && attr->form_is_constant ())
- {
- if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
- {
- /* For big endian bits, the DW_AT_bit_offset gives the
- additional bit offset from the MSB of the containing
- anonymous object to the MSB of the field. We don't
- have to do anything special since we don't need to
- know the size of the anonymous object. */
- fp->set_loc_bitpos (fp->loc_bitpos () + attr->constant_value (0));
- }
- else
- {
- /* For little endian bits, compute the bit offset to the
- MSB of the anonymous object, subtract off the number of
- bits from the MSB of the field to the MSB of the
- object, and then subtract off the number of bits of
- the field itself. The result is the bit offset of
- the LSB of the field. */
- int anonymous_size;
- int bit_offset = attr->constant_value (0);
-
- attr = dwarf2_attr (die, DW_AT_byte_size, cu);
- if (attr != nullptr && attr->form_is_constant ())
- {
- /* The size of the anonymous object containing
- the bit field is explicit, so use the
- indicated size (in bytes). */
- anonymous_size = attr->constant_value (0);
- }
- else
- {
- /* The size of the anonymous object containing
- the bit field must be inferred from the type
- attribute of the data member containing the
- bit field. */
- anonymous_size = fp->type ()->length ();
- }
- fp->set_loc_bitpos (fp->loc_bitpos ()
- + anonymous_size * bits_per_byte
- - bit_offset - fp->bitsize ());
- }
- }
+ compute_field_location (cu, die, fp);
/* Get name of field. */
fieldname = dwarf2_name (die, cu);
@@ -10279,13 +10247,19 @@ convert_variant_range (struct obstack *obstack, const variant_field &variant,
{
std::vector<discriminant_range> ranges;
- if (variant.default_branch)
+ if (variant.is_default ())
return {};
if (variant.discr_list_data == nullptr)
{
- discriminant_range r
- = {variant.discriminant_value, variant.discriminant_value};
+ ULONGEST value;
+
+ if (is_unsigned)
+ value = variant.discriminant_attr->unsigned_constant ().value_or (0);
+ else
+ value = variant.discriminant_attr->signed_constant ().value_or (0);
+
+ discriminant_range r = { value, value };
ranges.push_back (r);
}
else
@@ -11099,7 +11073,7 @@ read_structure_type (struct die_info *die, struct dwarf2_cu *cu)
if (attr != nullptr)
{
if (attr->form_is_constant ())
- type->set_length (attr->constant_value (0));
+ type->set_length (attr->unsigned_constant ().value_or (0));
else
{
struct dynamic_prop prop;
@@ -11244,12 +11218,14 @@ handle_variant (struct die_info *die, struct type *type,
{
discr = dwarf2_attr (die, DW_AT_discr_list, cu);
if (discr == nullptr || discr->as_block ()->size == 0)
- variant.default_branch = true;
+ {
+ /* Nothing to do here -- default branch. */
+ }
else
variant.discr_list_data = discr->as_block ();
}
else
- variant.discriminant_value = discr->constant_value (0);
+ variant.discriminant_attr = discr;
for (die_info *variant_child : die->children ())
handle_struct_member_die (variant_child, type, fi, template_args, cu);
@@ -11311,6 +11287,21 @@ handle_struct_member_die (struct die_info *child_die, struct type *type,
handle_variant (child_die, type, fi, template_args, cu);
}
+/* Create a property baton for a field. DIE is the field's DIE. The
+ baton's "field" member is filled in, but the other members of the
+ baton are not. The new property baton is returned. */
+
+static dwarf2_property_baton *
+find_field_create_baton (dwarf2_cu *cu, die_info *die)
+{
+ dwarf2_property_baton *result
+ = XOBNEW (&cu->per_objfile->objfile->objfile_obstack,
+ struct dwarf2_property_baton);
+ memset (&result->field, 0, sizeof (result->field));
+ compute_field_location (cu, die, &result->field);
+ return result;
+}
+
/* Finish creating a structure or union type, including filling in its
members and creating a symbol for it. This function also handles Fortran
namelist variables, their items or members and creating a symbol for
@@ -11575,25 +11566,30 @@ die_byte_order (die_info *die, dwarf2_cu *cu, enum bfd_endian *byte_order)
/* Assuming DIE is an enumeration type, and TYPE is its associated
type, update TYPE using some information only available in DIE's
- children. In particular, the fields are computed. */
+ children. In particular, the fields are computed. If IS_UNSIGNED
+ is set, the enumeration type's sign is already known (a true value
+ means unsigned), and so examining the constants to determine the
+ sign isn't needed; when this is unset, the enumerator constants are
+ read as signed values. */
static void
update_enumeration_type_from_children (struct die_info *die,
struct type *type,
- struct dwarf2_cu *cu)
+ struct dwarf2_cu *cu,
+ std::optional<bool> is_unsigned)
{
- int unsigned_enum = 1;
- int flag_enum = 1;
+ /* This is used to check whether the enum is signed or unsigned; for
+ simplicity, it is always correct regardless of whether
+ IS_UNSIGNED is set. */
+ bool unsigned_enum = is_unsigned.value_or (true);
+ bool flag_enum = true;
- auto_obstack obstack;
std::vector<struct field> fields;
for (die_info *child_die : die->children ())
{
struct attribute *attr;
LONGEST value;
- const gdb_byte *bytes;
- struct dwarf2_locexpr_baton *baton;
const char *name;
if (child_die->tag != DW_TAG_enumerator)
@@ -11607,19 +11603,26 @@ update_enumeration_type_from_children (struct die_info *die,
if (name == NULL)
name = "<anonymous enumerator>";
- dwarf2_const_value_attr (attr, type, name, &obstack, cu,
- &value, &bytes, &baton);
- if (value < 0)
- {
- unsigned_enum = 0;
- flag_enum = 0;
- }
+ /* Can't check UNSIGNED_ENUM here because that is
+ optimistic. */
+ if (is_unsigned.has_value () && *is_unsigned)
+ value = attr->unsigned_constant ().value_or (0);
else
{
- if (count_one_bits_ll (value) >= 2)
- flag_enum = 0;
+ /* Read as signed, either because we don't know the sign or
+ because we know it is definitely signed. */
+ value = attr->signed_constant ().value_or (0);
+
+ if (value < 0)
+ {
+ unsigned_enum = false;
+ flag_enum = false;
+ }
}
+ if (flag_enum && count_one_bits_ll (value) >= 2)
+ flag_enum = false;
+
struct field &field = fields.emplace_back ();
field.set_name (dwarf2_physname (name, child_die, cu));
field.set_loc_enumval (value);
@@ -11628,13 +11631,10 @@ update_enumeration_type_from_children (struct die_info *die,
if (!fields.empty ())
type->copy_fields (fields);
else
- flag_enum = 0;
-
- if (unsigned_enum)
- type->set_is_unsigned (true);
+ flag_enum = false;
- if (flag_enum)
- type->set_is_flag_enum (true);
+ type->set_is_unsigned (unsigned_enum);
+ type->set_is_flag_enum (flag_enum);
}
/* Given a DW_AT_enumeration_type die, set its type. We do not
@@ -11678,7 +11678,7 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_byte_size, cu);
if (attr != nullptr)
- type->set_length (attr->constant_value (0));
+ type->set_length (attr->unsigned_constant ().value_or (0));
else
type->set_length (0);
@@ -11692,6 +11692,11 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
if (die_is_declaration (die, cu))
type->set_is_stub (true);
+ /* If the underlying type is known, and is unsigned, then we'll
+ assume the enumerator constants are unsigned. Otherwise we have
+ to assume they are signed. */
+ std::optional<bool> is_unsigned;
+
/* If this type has an underlying type that is not a stub, then we
may use its attributes. We always use the "unsigned" attribute
in this situation, because ordinarily we guess whether the type
@@ -11704,7 +11709,8 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
struct type *underlying_type = type->target_type ();
underlying_type = check_typedef (underlying_type);
- type->set_is_unsigned (underlying_type->is_unsigned ());
+ is_unsigned = underlying_type->is_unsigned ();
+ type->set_is_unsigned (*is_unsigned);
if (type->length () == 0)
type->set_length (underlying_type->length ());
@@ -11724,7 +11730,7 @@ read_enumeration_type (struct die_info *die, struct dwarf2_cu *cu)
Note that, as usual, this must come after set_die_type to avoid
infinite recursion when trying to compute the names of the
enumerators. */
- update_enumeration_type_from_children (die, type, cu);
+ update_enumeration_type_from_children (die, type, cu, is_unsigned);
return type;
}
@@ -12074,7 +12080,7 @@ read_array_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_bit_stride, cu);
if (attr != NULL)
- bit_stride = attr->constant_value (0);
+ bit_stride = attr->unsigned_constant ().value_or (0);
/* Irix 6.2 native cc creates array types without children for
arrays with unspecified length. */
@@ -12289,7 +12295,8 @@ mark_common_block_symbol_computed (struct symbol *sym,
gdb_assert (member_loc->form_is_block ()
|| member_loc->form_is_constant ());
- baton = XOBNEW (&objfile->objfile_obstack, struct dwarf2_locexpr_baton);
+ baton = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+ struct dwarf2_locexpr_baton);
baton->per_objfile = per_objfile;
baton->per_cu = cu->per_cu;
gdb_assert (baton->per_cu);
@@ -12298,7 +12305,7 @@ mark_common_block_symbol_computed (struct symbol *sym,
if (member_loc->form_is_constant ())
{
- offset = member_loc->constant_value (0);
+ offset = member_loc->unsigned_constant ().value_or (0);
baton->size += 1 /* DW_OP_addr */ + cu->header.addr_size;
}
else
@@ -12595,7 +12602,7 @@ static struct type *
read_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu)
{
struct gdbarch *gdbarch = cu->per_objfile->objfile->arch ();
- struct comp_unit_head *cu_header = &cu->header;
+ unit_head *cu_header = &cu->header;
struct type *type;
struct attribute *attr_byte_size;
struct attribute *attr_address_class;
@@ -12613,7 +12620,8 @@ read_tag_pointer_type (struct die_info *die, struct dwarf2_cu *cu)
attr_byte_size = dwarf2_attr (die, DW_AT_byte_size, cu);
if (attr_byte_size)
- byte_size = attr_byte_size->constant_value (cu_header->addr_size);
+ byte_size = (attr_byte_size->unsigned_constant ()
+ .value_or (cu_header->addr_size));
else
byte_size = cu_header->addr_size;
@@ -12709,7 +12717,7 @@ static struct type *
read_tag_reference_type (struct die_info *die, struct dwarf2_cu *cu,
enum type_code refcode)
{
- struct comp_unit_head *cu_header = &cu->header;
+ unit_head *cu_header = &cu->header;
struct type *type, *target_type;
struct attribute *attr;
@@ -12725,7 +12733,8 @@ read_tag_reference_type (struct die_info *die, struct dwarf2_cu *cu,
type = lookup_reference_type (target_type, refcode);
attr = dwarf2_attr (die, DW_AT_byte_size, cu);
if (attr != nullptr)
- type->set_length (attr->constant_value (cu_header->addr_size));
+ type->set_length (attr->unsigned_constant ()
+ .value_or (cu_header->addr_size));
else
type->set_length (cu_header->addr_size);
@@ -12889,9 +12898,7 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
len = dwarf2_attr (die, DW_AT_byte_size, cu);
if (len != nullptr && len->form_is_constant ())
{
- /* Pass 0 as the default as we know this attribute is constant
- and the default value will not be returned. */
- LONGEST sz = len->constant_value (0);
+ LONGEST sz = len->unsigned_constant ().value_or (0);
prop_type = objfile_int_type (objfile, sz, true);
}
else
@@ -12910,15 +12917,14 @@ read_tag_string_type (struct die_info *die, struct dwarf2_cu *cu)
else if (attr != nullptr)
{
/* This DW_AT_string_length just contains the length with no
- indirection. There's no need to create a dynamic property in this
- case. Pass 0 for the default value as we know it will not be
- returned in this case. */
- length = attr->constant_value (0);
+ indirection. There's no need to create a dynamic property in
+ this case. */
+ length = attr->unsigned_constant ().value_or (0);
}
else if ((attr = dwarf2_attr (die, DW_AT_byte_size, cu)) != nullptr)
{
/* We don't currently support non-constant byte sizes for strings. */
- length = attr->constant_value (1);
+ length = attr->unsigned_constant ().value_or (1);
}
else
{
@@ -13193,7 +13199,7 @@ read_typedef (struct die_info *die, struct dwarf2_cu *cu)
a given gmp_mpz given an attribute. */
static void
-get_mpz (struct dwarf2_cu *cu, gdb_mpz *value, struct attribute *attr)
+get_mpz_for_rational (dwarf2_cu *cu, gdb_mpz *value, attribute *attr)
{
/* GCC will sometimes emit a 16-byte constant value as a DWARF
location expression that pushes an implicit value. */
@@ -13227,10 +13233,11 @@ get_mpz (struct dwarf2_cu *cu, gdb_mpz *value, struct attribute *attr)
? BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE,
true);
}
- else if (attr->form_is_unsigned ())
- *value = gdb_mpz (attr->as_unsigned ());
else
- *value = gdb_mpz (attr->constant_value (1));
+ {
+ /* Rational constants for Ada are always unsigned. */
+ *value = gdb_mpz (attr->unsigned_constant ().value_or (1));
+ }
}
/* Assuming DIE is a rational DW_TAG_constant, read the DIE's
@@ -13259,8 +13266,8 @@ get_dwarf2_rational_constant (struct die_info *die, struct dwarf2_cu *cu,
if (num_attr == nullptr || denom_attr == nullptr)
return;
- get_mpz (cu, numerator, num_attr);
- get_mpz (cu, denominator, denom_attr);
+ get_mpz_for_rational (cu, numerator, num_attr);
+ get_mpz_for_rational (cu, denominator, denom_attr);
}
/* Same as get_dwarf2_rational_constant, but extracting an unsigned
@@ -13409,14 +13416,14 @@ finish_fixed_point_type (struct type *type, const char *suffix,
}
else if (attr->name == DW_AT_binary_scale)
{
- LONGEST scale_exp = attr->constant_value (0);
+ LONGEST scale_exp = attr->signed_constant ().value_or (0);
gdb_mpz &num_or_denom = scale_exp > 0 ? scale_num : scale_denom;
num_or_denom <<= std::abs (scale_exp);
}
else if (attr->name == DW_AT_decimal_scale)
{
- LONGEST scale_exp = attr->constant_value (0);
+ LONGEST scale_exp = attr->signed_constant ().value_or (0);
gdb_mpz &num_or_denom = scale_exp > 0 ? scale_num : scale_denom;
num_or_denom = gdb_mpz::pow (10, std::abs (scale_exp));
@@ -13616,7 +13623,6 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
struct type *type;
struct attribute *attr;
ULONGEST encoding = 0;
- int bits = 0;
const char *name;
attr = dwarf2_attr (die, DW_AT_encoding, cu);
@@ -13626,9 +13632,33 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
if (value.has_value ())
encoding = *value;
}
+
attr = dwarf2_attr (die, DW_AT_byte_size, cu);
+ std::optional<ULONGEST> byte_size;
+ if (attr != nullptr)
+ byte_size = attr->unsigned_constant ();
+ attr = dwarf2_attr (die, DW_AT_bit_size, cu);
+ std::optional<ULONGEST> bit_size;
+ if (attr != nullptr)
+ bit_size = attr->unsigned_constant ();
+
+ attr = dwarf2_attr (die, DW_AT_data_bit_offset, cu);
+ std::optional<ULONGEST> bit_offset;
if (attr != nullptr)
- bits = attr->constant_value (0) * TARGET_CHAR_BIT;
+ bit_offset = attr->unsigned_constant ();
+
+ int bits = 0;
+ if (byte_size.has_value ())
+ bits = TARGET_CHAR_BIT * *byte_size;
+ else if (bit_size.has_value ())
+ bits = align_up (*bit_size, 8);
+ else
+ {
+ /* No size, so arrange for an error type. */
+ complaint (_("DW_TAG_base_type has neither bit- nor byte-size"));
+ encoding = (ULONGEST) -1;
+ }
+
name = dwarf2_full_name (nullptr, die, cu);
if (!name)
complaint (_("DW_AT_name missing from DW_TAG_base_type"));
@@ -13774,29 +13804,21 @@ read_base_type (struct die_info *die, struct dwarf2_cu *cu)
type->set_endianity_is_not_default (not_default);
- if (TYPE_SPECIFIC_FIELD (type) == TYPE_SPECIFIC_INT)
+ /* If both a byte size and bit size were provided, then that means
+ that not every bit in the object contributes to the value. */
+ if (TYPE_SPECIFIC_FIELD (type) == TYPE_SPECIFIC_INT
+ && byte_size.has_value ()
+ && bit_size.has_value ())
{
- attr = dwarf2_attr (die, DW_AT_bit_size, cu);
- if (attr != nullptr && attr->form_is_constant ())
+ /* DWARF says: If this attribute is omitted a default data bit
+ offset of zero is assumed. */
+ ULONGEST offset = bit_offset.value_or (0);
+
+ /* Only use the attributes if they make sense together. */
+ if (*bit_size + offset <= 8 * type->length ())
{
- unsigned real_bit_size = attr->constant_value (0);
- if (real_bit_size >= 0 && real_bit_size <= 8 * type->length ())
- {
- attr = dwarf2_attr (die, DW_AT_data_bit_offset, cu);
- /* Only use the attributes if they make sense together. */
- if (attr == nullptr
- || (attr->form_is_constant ()
- && attr->constant_value (0) >= 0
- && (attr->constant_value (0) + real_bit_size
- <= 8 * type->length ())))
- {
- TYPE_MAIN_TYPE (type)->type_specific.int_stuff.bit_size
- = real_bit_size;
- if (attr != nullptr)
- TYPE_MAIN_TYPE (type)->type_specific.int_stuff.bit_offset
- = attr->constant_value (0);
- }
- }
+ TYPE_MAIN_TYPE (type)->type_specific.int_stuff.bit_size = *bit_size;
+ TYPE_MAIN_TYPE (type)->type_specific.int_stuff.bit_offset = offset;
}
}
@@ -13937,17 +13959,13 @@ attr_to_dynamic_prop (const struct attribute *attr, struct die_info *die,
case DW_AT_data_member_location:
case DW_AT_data_bit_offset:
{
- LONGEST offset;
-
- if (!handle_member_location (target_die, target_cu, &offset))
+ baton = find_field_create_baton (cu, target_die);
+ if (baton == nullptr)
return 0;
- baton = XOBNEW (obstack, struct dwarf2_property_baton);
baton->property_type = read_type_die (target_die->parent,
- target_cu);
- baton->offset_info.offset = offset;
- baton->offset_info.type = die_type (target_die, target_cu);
- prop->set_addr_offset (baton);
+ target_cu);
+ prop->set_field (baton);
break;
}
}
@@ -14107,8 +14125,13 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
LONGEST bias = 0;
struct attribute *bias_attr = dwarf2_attr (die, DW_AT_GNU_bias, cu);
- if (bias_attr != nullptr && bias_attr->form_is_constant ())
- bias = bias_attr->constant_value (0);
+ if (bias_attr != nullptr)
+ {
+ if (base_type->is_unsigned ())
+ bias = (LONGEST) bias_attr->unsigned_constant ().value_or (0);
+ else
+ bias = bias_attr->signed_constant ().value_or (0);
+ }
/* Normally, the DWARF producers are expected to use a signed
constant form (Eg. DW_FORM_sdata) to express negative bounds.
@@ -14195,7 +14218,7 @@ read_subrange_type (struct die_info *die, struct dwarf2_cu *cu)
attr = dwarf2_attr (die, DW_AT_byte_size, cu);
if (attr != nullptr)
- range_type->set_length (attr->constant_value (0));
+ range_type->set_length (attr->unsigned_constant ().value_or (0));
maybe_set_alignment (cu, die, range_type);
@@ -14876,7 +14899,7 @@ cutu_reader::read_attribute_value (attribute *attr, unsigned form,
{
dwarf2_per_objfile *per_objfile = m_cu->per_objfile;
struct objfile *objfile = per_objfile->objfile;
- struct comp_unit_head *cu_header = &m_cu->header;
+ unit_head *cu_header = &m_cu->header;
unsigned int bytes_read;
struct dwarf_block *blk;
@@ -14927,10 +14950,12 @@ cutu_reader::read_attribute_value (attribute *attr, unsigned form,
info_ptr += 2;
break;
case DW_FORM_data4:
+ case DW_FORM_ref_sup4:
attr->set_unsigned (read_4_bytes (m_abfd, info_ptr));
info_ptr += 4;
break;
case DW_FORM_data8:
+ case DW_FORM_ref_sup8:
attr->set_unsigned (read_8_bytes (m_abfd, info_ptr));
info_ptr += 8;
break;
@@ -14982,6 +15007,7 @@ cutu_reader::read_attribute_value (attribute *attr, unsigned form,
}
[[fallthrough]];
case DW_FORM_GNU_strp_alt:
+ case DW_FORM_strp_sup:
{
dwz_file *dwz = per_objfile->per_bfd->get_dwz_file (true);
LONGEST str_offset
@@ -15181,8 +15207,7 @@ read_indirect_string_at_offset (dwarf2_per_objfile *per_objfile,
static const char *
read_indirect_string (dwarf2_per_objfile *per_objfile, bfd *abfd,
- const gdb_byte *buf,
- const struct comp_unit_head *cu_header,
+ const gdb_byte *buf, const unit_head *cu_header,
unsigned int *bytes_read_ptr)
{
LONGEST str_offset = cu_header->read_offset (abfd, buf, bytes_read_ptr);
@@ -15206,7 +15231,7 @@ dwarf2_per_objfile::read_line_string (const gdb_byte *buf,
const char *
dwarf2_per_objfile::read_line_string (const gdb_byte *buf,
- const struct comp_unit_head *cu_header,
+ const unit_head *cu_header,
unsigned int *bytes_read_ptr)
{
bfd *abfd = objfile->obfd.get ();
@@ -15339,9 +15364,16 @@ read_str_index (struct dwarf2_cu *cu,
" in CU at offset %s [in module %s]"),
form_name, str_section->get_name (),
sect_offset_str (cu->header.sect_off), objf_name);
- info_ptr = (str_offsets_section->buffer
- + str_offsets_base
- + str_index * offset_size);
+
+ ULONGEST str_offsets_offset = str_offsets_base + str_index * offset_size;
+ if (str_offsets_offset >= str_offsets_section->size)
+ error (_(DWARF_ERROR_PREFIX
+ "Offset from %s pointing outside of %s section in CU at offset %s"
+ " [in module %s]"),
+ form_name, str_offsets_section->get_name (),
+ sect_offset_str (cu->header.sect_off), objf_name);
+ info_ptr = str_offsets_section->buffer + str_offsets_offset;
+
if (offset_size == 4)
str_offset = bfd_get_32 (abfd, info_ptr);
else
@@ -16538,7 +16570,7 @@ var_decode_location (struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu)
{
struct objfile *objfile = cu->per_objfile->objfile;
- struct comp_unit_head *cu_header = &cu->header;
+ unit_head *cu_header = &cu->header;
/* NOTE drow/2003-01-30: There used to be a comment and some special
code here to turn a symbol with DW_AT_external and a
@@ -17171,40 +17203,6 @@ new_symbol (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
return (sym);
}
-/* Given an attr with a DW_FORM_dataN value in host byte order,
- zero-extend it as appropriate for the symbol's type. The DWARF
- standard (v4) is not entirely clear about the meaning of using
- DW_FORM_dataN for a constant with a signed type, where the type is
- wider than the data. The conclusion of a discussion on the DWARF
- list was that this is unspecified. We choose to always zero-extend
- because that is the interpretation long in use by GCC. */
-
-static gdb_byte *
-dwarf2_const_value_data (const struct attribute *attr, struct obstack *obstack,
- struct dwarf2_cu *cu, LONGEST *value, int bits)
-{
- struct objfile *objfile = cu->per_objfile->objfile;
- enum bfd_endian byte_order = bfd_big_endian (objfile->obfd.get ()) ?
- BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE;
- LONGEST l = attr->constant_value (0);
-
- if (bits < sizeof (*value) * 8)
- {
- l &= ((LONGEST) 1 << bits) - 1;
- *value = l;
- }
- else if (bits == sizeof (*value) * 8)
- *value = l;
- else
- {
- gdb_byte *bytes = (gdb_byte *) obstack_alloc (obstack, bits / 8);
- store_unsigned_integer (bytes, bits / 8, byte_order, l);
- return bytes;
- }
-
- return NULL;
-}
-
/* Read a constant value from an attribute. Either set *VALUE, or if
the value does not fit in *VALUE, set *BYTES - either already
allocated on the objfile obstack, or newly allocated on OBSTACK,
@@ -17220,7 +17218,7 @@ dwarf2_const_value_attr (const struct attribute *attr, struct type *type,
{
dwarf2_per_objfile *per_objfile = cu->per_objfile;
struct objfile *objfile = per_objfile->objfile;
- struct comp_unit_head *cu_header = &cu->header;
+ unit_head *cu_header = &cu->header;
struct dwarf_block *blk;
enum bfd_endian byte_order = (bfd_big_endian (objfile->obfd.get ()) ?
BFD_ENDIAN_BIG : BFD_ENDIAN_LITTLE);
@@ -17244,7 +17242,7 @@ dwarf2_const_value_attr (const struct attribute *attr, struct type *type,
/* Symbols of this form are reasonably rare, so we just
piggyback on the existing location code rather than writing
a new implementation of symbol_computed_ops. */
- *baton = XOBNEW (obstack, struct dwarf2_locexpr_baton);
+ *baton = OBSTACK_ZALLOC (obstack, struct dwarf2_locexpr_baton);
(*baton)->per_objfile = per_objfile;
(*baton)->per_cu = cu->per_cu;
gdb_assert ((*baton)->per_cu);
@@ -17264,6 +17262,7 @@ dwarf2_const_value_attr (const struct attribute *attr, struct type *type,
case DW_FORM_strx:
case DW_FORM_GNU_str_index:
case DW_FORM_GNU_strp_alt:
+ case DW_FORM_strp_sup:
/* The string is already allocated on the objfile obstack, point
directly to it. */
*bytes = (const gdb_byte *) attr->as_string ();
@@ -17287,25 +17286,13 @@ dwarf2_const_value_attr (const struct attribute *attr, struct type *type,
converted to host endianness, so we just need to sign- or
zero-extend it as appropriate. */
case DW_FORM_data1:
- *bytes = dwarf2_const_value_data (attr, obstack, cu, value, 8);
- break;
case DW_FORM_data2:
- *bytes = dwarf2_const_value_data (attr, obstack, cu, value, 16);
- break;
case DW_FORM_data4:
- *bytes = dwarf2_const_value_data (attr, obstack, cu, value, 32);
- break;
case DW_FORM_data8:
- *bytes = dwarf2_const_value_data (attr, obstack, cu, value, 64);
- break;
-
case DW_FORM_sdata:
case DW_FORM_implicit_const:
- *value = attr->as_signed ();
- break;
-
case DW_FORM_udata:
- *value = attr->as_unsigned ();
+ *value = attr->confused_constant ().value_or (0);
break;
default:
@@ -17470,7 +17457,7 @@ lookup_die_type (struct die_info *die, const struct attribute *attr,
/* First see if we have it cached. */
- if (attr->form == DW_FORM_GNU_ref_alt)
+ if (attr->form_is_alt ())
{
sect_offset sect_off = attr->get_ref_die_offset ();
dwarf2_per_cu *per_cu
@@ -18195,18 +18182,18 @@ follow_die_offset (sect_offset sect_off, int offset_in_dwz,
"source CU contains target offset: %d",
sect_offset_str (source_cu->per_cu->sect_off),
sect_offset_str (sect_off),
- source_cu->header.offset_in_cu_p (sect_off));
+ source_cu->header.offset_in_unit_p (sect_off));
if (source_cu->per_cu->is_debug_types)
{
/* .debug_types CUs cannot reference anything outside their CU.
If they need to, they have to reference a signatured type via
DW_FORM_ref_sig8. */
- if (!source_cu->header.offset_in_cu_p (sect_off))
+ if (!source_cu->header.offset_in_unit_p (sect_off))
return NULL;
}
else if (offset_in_dwz != source_cu->per_cu->is_dwz
- || !source_cu->header.offset_in_cu_p (sect_off))
+ || !source_cu->header.offset_in_unit_p (sect_off))
{
dwarf2_per_cu *target_per_cu
= dwarf2_find_containing_comp_unit (sect_off, offset_in_dwz,
@@ -18238,8 +18225,7 @@ follow_die_offset (sect_offset sect_off, int offset_in_dwz,
*ref_cu = target_cu;
- auto it = target_cu->die_hash.find (sect_off);
- return it != target_cu->die_hash.end () ? *it : nullptr;
+ return target_cu->find_die (sect_off);
}
/* Follow reference attribute ATTR of SRC_DIE.
@@ -18254,15 +18240,14 @@ follow_die_ref (struct die_info *src_die, const struct attribute *attr,
struct dwarf2_cu *cu = *ref_cu;
struct die_info *die;
- if (attr->form != DW_FORM_GNU_ref_alt && src_die->sect_off == sect_off)
+ if (!attr->form_is_alt () && src_die->sect_off == sect_off)
{
/* Self-reference, we're done. */
return src_die;
}
die = follow_die_offset (sect_off,
- (attr->form == DW_FORM_GNU_ref_alt
- || cu->per_cu->is_dwz),
+ attr->form_is_alt () || cu->per_cu->is_dwz,
ref_cu);
if (!die)
error (_(DWARF_ERROR_PREFIX
@@ -18473,6 +18458,7 @@ dwarf2_fetch_constant_bytes (sect_offset sect_off,
case DW_FORM_strx:
case DW_FORM_GNU_str_index:
case DW_FORM_GNU_strp_alt:
+ case DW_FORM_strp_sup:
/* The string is already allocated on the objfile obstack, point
directly to it. */
{
@@ -18498,47 +18484,19 @@ dwarf2_fetch_constant_bytes (sect_offset sect_off,
symbol's value "represented as it would be on the target
architecture." By the time we get here, it's already been
converted to host endianness, so we just need to sign- or
- zero-extend it as appropriate. */
+ zero-extend it as appropriate.
+
+ Both GCC and LLVM agree that these are always signed, though. */
case DW_FORM_data1:
- type = die_type (die, cu);
- result = dwarf2_const_value_data (attr, obstack, cu, &value, 8);
- if (result == NULL)
- result = write_constant_as_bytes (obstack, byte_order,
- type, value, len);
- break;
case DW_FORM_data2:
- type = die_type (die, cu);
- result = dwarf2_const_value_data (attr, obstack, cu, &value, 16);
- if (result == NULL)
- result = write_constant_as_bytes (obstack, byte_order,
- type, value, len);
- break;
case DW_FORM_data4:
- type = die_type (die, cu);
- result = dwarf2_const_value_data (attr, obstack, cu, &value, 32);
- if (result == NULL)
- result = write_constant_as_bytes (obstack, byte_order,
- type, value, len);
- break;
case DW_FORM_data8:
- type = die_type (die, cu);
- result = dwarf2_const_value_data (attr, obstack, cu, &value, 64);
- if (result == NULL)
- result = write_constant_as_bytes (obstack, byte_order,
- type, value, len);
- break;
-
case DW_FORM_sdata:
case DW_FORM_implicit_const:
- type = die_type (die, cu);
- result = write_constant_as_bytes (obstack, byte_order,
- type, attr->as_signed (), len);
- break;
-
case DW_FORM_udata:
type = die_type (die, cu);
- result = write_constant_as_bytes (obstack, byte_order,
- type, attr->as_unsigned (), len);
+ value = attr->confused_constant ().value_or (0);
+ result = write_constant_as_bytes (obstack, byte_order, type, value, len);
break;
default:
@@ -18615,8 +18573,8 @@ follow_die_sig_1 (struct die_info *src_die, struct signatured_type *sig_type,
gdb_assert (sig_cu != NULL);
gdb_assert (to_underlying (sig_type->type_offset_in_section) != 0);
- if (auto die_it = sig_cu->die_hash.find (sig_type->type_offset_in_section);
- die_it != sig_cu->die_hash.end ())
+ if (die_info *die = sig_cu->find_die (sig_type->type_offset_in_section);
+ die != nullptr)
{
/* For .gdb_index version 7 keep track of included TUs.
http://sourceware.org/bugzilla/show_bug.cgi?id=15021. */
@@ -18625,7 +18583,7 @@ follow_die_sig_1 (struct die_info *src_die, struct signatured_type *sig_type,
(*ref_cu)->per_cu->imported_symtabs.push_back (sig_cu->per_cu);
*ref_cu = sig_cu;
- return *die_it;
+ return die;
}
return NULL;
@@ -19182,7 +19140,7 @@ dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym,
/* .debug_loc{,.dwo} may not exist at all, or the offset may be outside
the section. If so, fall through to the complaint in the
other branch. */
- && attr->as_unsigned () < section->get_size (objfile))
+ && attr->as_unsigned () < section->size)
{
struct dwarf2_loclist_baton *baton;
@@ -19203,7 +19161,8 @@ dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym,
{
struct dwarf2_locexpr_baton *baton;
- baton = XOBNEW (&objfile->objfile_obstack, struct dwarf2_locexpr_baton);
+ baton = OBSTACK_ZALLOC (&objfile->objfile_obstack,
+ struct dwarf2_locexpr_baton);
baton->per_objfile = per_objfile;
baton->per_cu = cu->per_cu;
gdb_assert (baton->per_cu);
@@ -19235,7 +19194,7 @@ dwarf2_symbol_mark_computed (const struct attribute *attr, struct symbol *sym,
/* See read.h. */
-const comp_unit_head *
+const unit_head *
dwarf2_per_cu::get_header () const
{
if (!m_header_read_in)
@@ -19243,8 +19202,7 @@ dwarf2_per_cu::get_header () const
const gdb_byte *info_ptr
= this->section->buffer + to_underlying (this->sect_off);
- read_comp_unit_head (&m_header, info_ptr, this->section,
- rcuh_kind::COMPILE);
+ read_unit_head (&m_header, info_ptr, this->section, ruh_kind::COMPILE);
m_header_read_in = true;
}
@@ -19273,7 +19231,7 @@ dwarf2_per_cu::offset_size () const
int
dwarf2_per_cu::ref_addr_size () const
{
- const comp_unit_head *header = this->get_header ();
+ const unit_head *header = this->get_header ();
if (header->version == 2)
return header->addr_size;
@@ -19736,9 +19694,7 @@ show_check_physname (struct ui_file *file, int from_tty,
value);
}
-void _initialize_dwarf2_read ();
-void
-_initialize_dwarf2_read ()
+INIT_GDB_FILE (dwarf2_read)
{
add_setshow_prefix_cmd ("dwarf", class_maintenance,
_("\
diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h
index 3177b19..a5cfb31 100644
--- a/gdb/dwarf2/read.h
+++ b/gdb/dwarf2/read.h
@@ -20,9 +20,12 @@
#ifndef GDB_DWARF2_READ_H
#define GDB_DWARF2_READ_H
+#if CXX_STD_THREAD
+#include <mutex>
+#endif
#include <queue>
#include "dwarf2/abbrev.h"
-#include "dwarf2/comp-unit-head.h"
+#include "dwarf2/unit-head.h"
#include "dwarf2/file-and-dir.h"
#include "dwarf2/index-cache.h"
#include "dwarf2/mapped-index.h"
@@ -233,14 +236,14 @@ public:
/* Backlink to the owner of this. */
dwarf2_per_bfd *per_bfd;
- /* DWARF header of this CU. Note that dwarf2_cu reads its own version of the
- header, which may differ from this one, since it may pass rcuh_kind::TYPE
- to read_comp_unit_head, whereas for dwarf2_per_cu we always pass
- rcuh_kind::COMPILE.
+ /* DWARF header of this unit. Note that dwarf2_cu reads its own version of
+ the header, which may differ from this one, since it may pass
+ rch_kind::TYPE to read_unit_head, whereas for dwarf2_per_cu we always pass
+ ruh_kind::COMPILE.
Don't access this field directly, use the get_header method instead. It
should be private, but we can't make it private at the moment. */
- mutable comp_unit_head m_header;
+ mutable unit_head m_header;
/* The file and directory for this CU. This is cached so that we
don't need to re-examine the DWO in some situations. This may be
@@ -271,7 +274,7 @@ public:
std::vector<dwarf2_per_cu *> imported_symtabs;
/* Get the header of this per_cu, reading it if necessary. */
- const comp_unit_head *get_header () const;
+ const unit_head *get_header () const;
/* Return the address size given in the compilation unit header for
this CU. */
@@ -512,8 +515,8 @@ struct dwarf2_per_bfd
const char *filename () const
{ return bfd_get_filename (this->obfd); }
- /* Return the CU given its index. */
- dwarf2_per_cu *get_cu (int index) const
+ /* Return the unit given its index. */
+ dwarf2_per_cu *get_unit (int index) const
{
return this->all_units[index].get ();
}
@@ -522,7 +525,7 @@ struct dwarf2_per_bfd
dwarf2_per_cu *get_index_cu (int index) const
{
if (this->all_comp_units_index_cus.empty ())
- return get_cu (index);
+ return get_unit (index);
return this->all_comp_units_index_cus[index];
}
@@ -533,9 +536,9 @@ struct dwarf2_per_bfd
}
/* Return the separate '.dwz' debug file. If there is no
- .gnu_debugaltlink section in the file, then the result depends on
- REQUIRE: if REQUIRE is true, error out; if REQUIRE is false,
- return nullptr. */
+ .gnu_debugaltlink or .debug_sup section in the file, then the
+ result depends on REQUIRE: if REQUIRE is true, error out; if
+ REQUIRE is false, return nullptr. */
struct dwz_file *get_dwz_file (bool require = false)
{
gdb_assert (!require || this->dwz_file.has_value ());
@@ -546,7 +549,7 @@ struct dwarf2_per_bfd
{
result = this->dwz_file->get ();
if (require && result == nullptr)
- error (_("could not read '.gnu_debugaltlink' section"));
+ error (_("could not find supplementary DWARF file"));
}
return result;
@@ -634,8 +637,10 @@ public:
/* Set of dwo_file objects. */
dwo_file_up_set dwo_files;
- /* True if we've checked for whether there is a DWP file. */
- bool dwp_checked = false;
+#if CXX_STD_THREAD
+ /* Mutex to synchronize access to DWO_FILES. */
+ std::mutex dwo_files_lock;
+#endif
/* The DWP file if there is one, or NULL. */
dwp_file_up dwp_file;
@@ -705,7 +710,7 @@ public:
dwarf2_per_cu *operator* () const
{
- return m_per_bfd->get_cu (m_index);
+ return m_per_bfd->get_unit (m_index);
}
bool operator== (const all_units_iterator &other) const
@@ -815,7 +820,7 @@ struct dwarf2_per_objfile
BUF is assumed to be in a compilation unit described by CU_HEADER.
Return *BYTES_READ_PTR count of bytes read from BUF. */
const char *read_line_string (const gdb_byte *buf,
- const struct comp_unit_head *cu_header,
+ const struct unit_head *unit_header,
unsigned int *bytes_read_ptr);
/* Return pointer to string at .debug_line_str offset as read from BUF.
@@ -937,8 +942,6 @@ public:
DISABLE_COPY_AND_ASSIGN (cutu_reader);
- cutu_reader (cutu_reader &&) = default;
-
/* Return true if either:
- the unit is empty (just a header without any DIE)
@@ -1028,6 +1031,31 @@ private:
const char *read_dwo_str_index (ULONGEST str_index);
+ gdb_bfd_ref_ptr open_dwo_file (dwarf2_per_bfd *per_bfd, const char *file_name,
+ const char *comp_dir);
+
+ dwo_file_up open_and_init_dwo_file (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir);
+
+ void locate_dwo_sections (objfile *objfile, dwo_file &dwo_file);
+
+ void create_dwo_unit_hash_tables (dwo_file &dwo_file, dwarf2_cu &skeleton_cu,
+ dwarf2_section_info &section,
+ ruh_kind section_kind);
+
+ dwo_unit *lookup_dwo_cutu (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir, ULONGEST signature,
+ int is_debug_types);
+
+ dwo_unit *lookup_dwo_comp_unit (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir, ULONGEST signature);
+
+ dwo_unit *lookup_dwo_type_unit (dwarf2_cu *cu, const char *dwo_name,
+ const char *comp_dir);
+
+ dwo_unit *lookup_dwo_unit (dwarf2_cu *cu, die_info *comp_unit_die,
+ const char *dwo_name);
+
/* The bfd of die_section. */
bfd *m_abfd;
diff --git a/gdb/dwarf2/section.h b/gdb/dwarf2/section.h
index 85da485..fd6e34d 100644
--- a/gdb/dwarf2/section.h
+++ b/gdb/dwarf2/section.h
@@ -81,19 +81,6 @@ struct dwarf2_section_info
If the section is compressed, uncompress it before returning. */
void read (struct objfile *objfile);
- /* A helper function that returns the size of a section in a safe way.
- If you are positive that the section has been read before using the
- size, then it is safe to refer to the dwarf2_section_info object's
- "size" field directly. In other cases, you must call this
- function, because for compressed sections the size field is not set
- correctly until the section has been read. */
- bfd_size_type get_size (struct objfile *objfile)
- {
- if (!readin)
- read (objfile);
- return size;
- }
-
/* Issue a complaint that something was outside the bounds of this
buffer. */
void overflow_complaint () const;
@@ -125,4 +112,6 @@ struct dwarf2_section_info
bool is_virtual;
};
+using dwarf2_section_info_up = std::unique_ptr<dwarf2_section_info>;
+
#endif /* GDB_DWARF2_SECTION_H */
diff --git a/gdb/dwarf2/comp-unit-head.c b/gdb/dwarf2/unit-head.c
index 8ec8897..0c7614f 100644
--- a/gdb/dwarf2/comp-unit-head.c
+++ b/gdb/dwarf2/unit-head.c
@@ -24,119 +24,117 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#include "dwarf2/comp-unit-head.h"
+#include "dwarf2/unit-head.h"
#include "dwarf2/leb.h"
-#include "dwarf2/read.h"
#include "dwarf2/section.h"
#include "dwarf2/stringify.h"
#include "dwarf2/error.h"
-/* See comp-unit-head.h. */
+/* See unit-head.h. */
const gdb_byte *
-read_comp_unit_head (struct comp_unit_head *cu_header,
- const gdb_byte *info_ptr,
- struct dwarf2_section_info *section,
- rcuh_kind section_kind)
+read_unit_head (struct unit_head *header, const gdb_byte *info_ptr,
+ struct dwarf2_section_info *section, ruh_kind section_kind)
{
int signed_addr;
unsigned int bytes_read;
const char *filename = section->get_file_name ();
bfd *abfd = section->get_bfd_owner ();
- cu_header->set_length (read_initial_length (abfd, info_ptr, &bytes_read));
- cu_header->initial_length_size = bytes_read;
- cu_header->offset_size = (bytes_read == 4) ? 4 : 8;
+ header->set_length (read_initial_length (abfd, info_ptr, &bytes_read));
+ header->initial_length_size = bytes_read;
+ header->offset_size = (bytes_read == 4) ? 4 : 8;
info_ptr += bytes_read;
unsigned version = read_2_bytes (abfd, info_ptr);
if (version < 2 || version > 5)
error (_(DWARF_ERROR_PREFIX
- "wrong version in compilation unit header "
+ "wrong version in unit header "
"(is %d, should be 2, 3, 4 or 5) [in module %s]"),
version, filename);
- cu_header->version = version;
+ header->version = version;
info_ptr += 2;
- if (cu_header->version < 5)
+ if (header->version < 5)
switch (section_kind)
{
- case rcuh_kind::COMPILE:
- cu_header->unit_type = DW_UT_compile;
+ case ruh_kind::COMPILE:
+ header->unit_type = DW_UT_compile;
break;
- case rcuh_kind::TYPE:
- cu_header->unit_type = DW_UT_type;
+ case ruh_kind::TYPE:
+ header->unit_type = DW_UT_type;
break;
default:
- internal_error (_("read_comp_unit_head: invalid section_kind"));
+ internal_error (_("read_unit_head: invalid section_kind"));
}
else
{
- cu_header->unit_type = static_cast<enum dwarf_unit_type>
- (read_1_byte (abfd, info_ptr));
+ header->unit_type
+ = static_cast<enum dwarf_unit_type> (read_1_byte (abfd, info_ptr));
info_ptr += 1;
- switch (cu_header->unit_type)
+ switch (header->unit_type)
{
case DW_UT_compile:
case DW_UT_partial:
case DW_UT_skeleton:
case DW_UT_split_compile:
- if (section_kind != rcuh_kind::COMPILE)
+ if (section_kind != ruh_kind::COMPILE)
error (_(DWARF_ERROR_PREFIX
- "wrong unit_type in compilation unit header "
+ "wrong unit_type in unit header "
"(is %s, should be %s) [in module %s]"),
- dwarf_unit_type_name (cu_header->unit_type),
+ dwarf_unit_type_name (header->unit_type),
dwarf_unit_type_name (DW_UT_type), filename);
break;
case DW_UT_type:
case DW_UT_split_type:
- section_kind = rcuh_kind::TYPE;
+ section_kind = ruh_kind::TYPE;
break;
default:
error (_(DWARF_ERROR_PREFIX
- "wrong unit_type in compilation unit header "
+ "wrong unit_type in unit header "
"(is %#04x, should be one of: %s, %s, %s, %s or %s) "
"[in module %s]"),
- cu_header->unit_type, dwarf_unit_type_name (DW_UT_compile),
+ header->unit_type, dwarf_unit_type_name (DW_UT_compile),
dwarf_unit_type_name (DW_UT_skeleton),
dwarf_unit_type_name (DW_UT_split_compile),
dwarf_unit_type_name (DW_UT_type),
dwarf_unit_type_name (DW_UT_split_type), filename);
}
- cu_header->addr_size = read_1_byte (abfd, info_ptr);
+ header->addr_size = read_1_byte (abfd, info_ptr);
info_ptr += 1;
}
- cu_header->abbrev_sect_off
- = (sect_offset) cu_header->read_offset (abfd, info_ptr, &bytes_read);
+ header->abbrev_sect_off
+ = (sect_offset) header->read_offset (abfd, info_ptr, &bytes_read);
info_ptr += bytes_read;
- if (cu_header->version < 5)
+ if (header->version < 5)
{
- cu_header->addr_size = read_1_byte (abfd, info_ptr);
+ header->addr_size = read_1_byte (abfd, info_ptr);
info_ptr += 1;
}
signed_addr = bfd_get_sign_extend_vma (abfd);
if (signed_addr < 0)
- internal_error (_("read_comp_unit_head: dwarf from non elf file"));
- cu_header->signed_addr_p = signed_addr;
+ internal_error (_("read_unit_head: dwarf from non elf file"));
+ header->signed_addr_p = signed_addr;
- bool header_has_signature = section_kind == rcuh_kind::TYPE
- || cu_header->unit_type == DW_UT_skeleton
- || cu_header->unit_type == DW_UT_split_compile;
+ bool header_has_signature =
+ (section_kind == ruh_kind::TYPE
+ || header->unit_type == DW_UT_skeleton
+ || header->unit_type == DW_UT_split_compile);
if (header_has_signature)
{
- cu_header->signature = read_8_bytes (abfd, info_ptr);
+ header->signature = read_8_bytes (abfd, info_ptr);
info_ptr += 8;
}
- if (section_kind == rcuh_kind::TYPE)
+ if (section_kind == ruh_kind::TYPE)
{
LONGEST type_offset;
- type_offset = cu_header->read_offset (abfd, info_ptr, &bytes_read);
+ type_offset = header->read_offset (abfd, info_ptr, &bytes_read);
info_ptr += bytes_read;
- cu_header->type_cu_offset_in_tu = (cu_offset) type_offset;
- if (to_underlying (cu_header->type_cu_offset_in_tu) != type_offset)
+ header->type_offset_in_tu = (cu_offset) type_offset;
+ if (to_underlying (header->type_offset_in_tu) != type_offset)
error (_(DWARF_ERROR_PREFIX
- "Too big type_offset in compilation unit "
+ "Too big type_offset in unit "
"header (is %s) [in module %s]"),
plongest (type_offset), filename);
}
@@ -144,64 +142,56 @@ read_comp_unit_head (struct comp_unit_head *cu_header,
return info_ptr;
}
-/* Subroutine of read_and_check_comp_unit_head and
- read_and_check_type_unit_head to simplify them.
+/* Subroutine of read_and_check_unit_head to to simplify it.
Perform various error checking on the header. */
static void
-error_check_comp_unit_head (dwarf2_per_objfile *per_objfile,
- struct comp_unit_head *header,
- struct dwarf2_section_info *section,
- struct dwarf2_section_info *abbrev_section)
+error_check_unit_head (unit_head *header, dwarf2_section_info *section,
+ dwarf2_section_info *abbrev_section)
{
const char *filename = section->get_file_name ();
- if (to_underlying (header->abbrev_sect_off)
- >= abbrev_section->get_size (per_objfile->objfile))
+ if (to_underlying (header->abbrev_sect_off) >= abbrev_section->size)
error (_(DWARF_ERROR_PREFIX
- "bad offset (%s) in compilation unit header "
+ "bad offset (%s) in unit header "
"(offset %s + 6) [in module %s]"),
sect_offset_str (header->abbrev_sect_off),
- sect_offset_str (header->sect_off),
- filename);
+ sect_offset_str (header->sect_off), filename);
/* Cast to ULONGEST to use 64-bit arithmetic when possible to
avoid potential 32-bit overflow. */
if (((ULONGEST) header->sect_off + header->get_length_with_initial ())
> section->size)
error (_(DWARF_ERROR_PREFIX
- "bad length (0x%x) in compilation unit header "
+ "bad length (0x%x) in unit header "
"(offset %s + 0) [in module %s]"),
header->get_length_without_initial (), sect_offset_str (header->sect_off),
filename);
}
-/* See comp-unit-head.h. */
+/* See unit-head.h. */
const gdb_byte *
-read_and_check_comp_unit_head (dwarf2_per_objfile *per_objfile,
- struct comp_unit_head *header,
- struct dwarf2_section_info *section,
- struct dwarf2_section_info *abbrev_section,
- const gdb_byte *info_ptr,
- rcuh_kind section_kind)
+read_and_check_unit_head (unit_head *header, dwarf2_section_info *section,
+ dwarf2_section_info *abbrev_section,
+ const gdb_byte *info_ptr, ruh_kind section_kind)
{
- const gdb_byte *beg_of_comp_unit = info_ptr;
+ const gdb_byte *beg_of_unit = info_ptr;
- header->sect_off = (sect_offset) (beg_of_comp_unit - section->buffer);
+ header->sect_off = (sect_offset) (beg_of_unit - section->buffer);
- info_ptr = read_comp_unit_head (header, info_ptr, section, section_kind);
+ info_ptr = read_unit_head (header, info_ptr, section, section_kind);
- header->first_die_cu_offset = (cu_offset) (info_ptr - beg_of_comp_unit);
+ header->first_die_offset_in_unit = (cu_offset) (info_ptr - beg_of_unit);
- error_check_comp_unit_head (per_objfile, header, section, abbrev_section);
+ error_check_unit_head (header, section, abbrev_section);
return info_ptr;
}
unrelocated_addr
-comp_unit_head::read_address (bfd *abfd, const gdb_byte *buf,
- unsigned int *bytes_read) const
+unit_head::read_address (bfd *abfd, const gdb_byte *buf,
+ unsigned int *bytes_read) const
{
ULONGEST retval = 0;
diff --git a/gdb/dwarf2/comp-unit-head.h b/gdb/dwarf2/unit-head.h
index 5134893..6272888 100644
--- a/gdb/dwarf2/comp-unit-head.h
+++ b/gdb/dwarf2/unit-head.h
@@ -24,18 +24,19 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef GDB_DWARF2_COMP_UNIT_HEAD_H
-#define GDB_DWARF2_COMP_UNIT_HEAD_H
+#ifndef GDB_DWARF2_UNIT_HEAD_H
+#define GDB_DWARF2_UNIT_HEAD_H
#include "dwarf2.h"
#include "dwarf2/leb.h"
#include "dwarf2/types.h"
struct dwarf2_per_objfile;
+struct dwarf2_section_info;
-/* The data in a compilation unit header, after target2host
- translation, looks like this. */
-struct comp_unit_head
+/* The data in a unit header, after target2host translation, looks like
+ this. */
+struct unit_head
{
private:
unsigned int m_length = 0;
@@ -53,16 +54,16 @@ public:
enum dwarf_unit_type unit_type {};
- /* Offset to first die in this cu from the start of the cu.
- This will be the first byte following the compilation unit header. */
- cu_offset first_die_cu_offset {};
+ /* Offset to first die in this unit from the start of the unit.
+ This will be the first byte following the unit header. */
+ cu_offset first_die_offset_in_unit {};
- /* Offset to the first byte of this compilation unit header in the
- .debug_info section, for resolving relative reference dies. */
+ /* Offset to the first byte of this unit header in the containing section,
+ for resolving relative reference dies. */
sect_offset sect_off {};
/* For types, offset in the type's DIE of the type defined by this TU. */
- cu_offset type_cu_offset_in_tu {};
+ cu_offset type_offset_in_tu {};
/* 64-bit signature of this unit. For type units, it denotes the signature of
the type (DW_UT_type in DWARF 4, additionally DW_UT_split_type in DWARF 5).
@@ -75,22 +76,22 @@ public:
m_length = length;
}
- /* Return the total length of the CU described by this header, including the
+ /* Return the total length of the unit described by this header, including the
initial length field. */
unsigned int get_length_with_initial () const
{
return m_length + initial_length_size;
}
- /* Return the total length of the CU described by this header, excluding the
+ /* Return the total length of the unit described by this header, excluding the
initial length field. */
unsigned int get_length_without_initial () const
{
return m_length;
}
- /* Return TRUE if OFF is within this CU. */
- bool offset_in_cu_p (sect_offset off) const
+ /* Return TRUE if OFF is within this unit. */
+ bool offset_in_unit_p (sect_offset off) const
{
sect_offset bottom = sect_off;
sect_offset top = sect_off + get_length_with_initial ();
@@ -98,7 +99,7 @@ public:
}
/* Read an offset from the data stream. The size of the offset is
- given by cu_header->offset_size. */
+ given by unit_head::offset_size. */
LONGEST read_offset (bfd *abfd, const gdb_byte *buf,
unsigned int *bytes_read) const
{
@@ -112,28 +113,24 @@ public:
unsigned int *bytes_read) const;
};
-/* Expected enum dwarf_unit_type for read_comp_unit_head. */
-enum class rcuh_kind { COMPILE, TYPE };
+/* Expected enum dwarf_unit_type for read_unit_head. */
+enum class ruh_kind { COMPILE, TYPE };
-/* Read in the comp unit header information from the debug_info at info_ptr.
- Use rcuh_kind::COMPILE as the default type if not known by the caller.
- NOTE: This leaves members offset, first_die_offset to be filled in
+/* Read in the unit header information from the debug_info at info_ptr.
+ Use ruh_kind::COMPILE as the default type if not known by the caller.
+ NOTE: This leaves members sect_off, first_die_unit_offset to be filled in
by the caller. */
-extern const gdb_byte *read_comp_unit_head
- (struct comp_unit_head *cu_header,
- const gdb_byte *info_ptr,
- struct dwarf2_section_info *section,
- rcuh_kind section_kind);
+extern const gdb_byte *read_unit_head (unit_head *header,
+ const gdb_byte *info_ptr,
+ dwarf2_section_info *section,
+ ruh_kind section_kind);
-/* Read in a CU/TU header and perform some basic error checking.
+/* Read in a unit header and perform some basic error checking.
The contents of the header are stored in HEADER.
The result is a pointer to the start of the first DIE. */
-extern const gdb_byte *read_and_check_comp_unit_head
- (dwarf2_per_objfile *per_objfile,
- struct comp_unit_head *header,
- struct dwarf2_section_info *section,
- struct dwarf2_section_info *abbrev_section,
- const gdb_byte *info_ptr,
- rcuh_kind section_kind);
-
-#endif /* GDB_DWARF2_COMP_UNIT_HEAD_H */
+extern const gdb_byte *read_and_check_unit_head
+ (unit_head *header, dwarf2_section_info *section,
+ dwarf2_section_info *abbrev_section, const gdb_byte *info_ptr,
+ ruh_kind section_kind);
+
+#endif /* GDB_DWARF2_UNIT_HEAD_H */
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 7dd8fc7..ae74978 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -1513,9 +1513,7 @@ static const struct gnu_ifunc_fns elf_gnu_ifunc_fns =
elf_gnu_ifunc_resolver_return_stop
};
-void _initialize_elfread ();
-void
-_initialize_elfread ()
+INIT_GDB_FILE (elfread)
{
add_symtab_fns (bfd_target_elf_flavour, &elf_sym_fns);
diff --git a/gdb/eval.c b/gdb/eval.c
index 95d2532..539b700 100644
--- a/gdb/eval.c
+++ b/gdb/eval.c
@@ -994,9 +994,10 @@ add_struct_fields (struct type *type, completion_list &output,
output.emplace_back (concat (prefix, type->field (i).name (),
nullptr));
}
- else if (type->field (i).type ()->code () == TYPE_CODE_UNION)
+ else if (type->field (i).type ()->code () == TYPE_CODE_UNION
+ || type->field (i).type ()->code () == TYPE_CODE_STRUCT)
{
- /* Recurse into anonymous unions. */
+ /* Recurse into anonymous unions and structures. */
add_struct_fields (type->field (i).type (),
output, fieldname, namelen, prefix);
}
@@ -2557,27 +2558,26 @@ unop_extract_operation::evaluate (struct type *expect_type,
}
-
/* Helper for evaluate_subexp_for_address. */
static value *
-evaluate_subexp_for_address_base (struct expression *exp, enum noside noside,
- value *x)
+evaluate_subexp_for_address_base (enum noside noside, value *x)
{
if (noside == EVAL_AVOID_SIDE_EFFECTS)
{
struct type *type = check_typedef (x->type ());
+ enum type_code typecode = type->code ();
if (TYPE_IS_REFERENCE (type))
return value::zero (lookup_pointer_type (type->target_type ()),
- not_lval);
- else if (x->lval () == lval_memory || value_must_coerce_to_target (x))
- return value::zero (lookup_pointer_type (x->type ()),
- not_lval);
+ not_lval);
+ else if (x->lval () == lval_memory || value_must_coerce_to_target (x)
+ || typecode == TYPE_CODE_STRUCT || typecode == TYPE_CODE_UNION)
+ return value::zero (lookup_pointer_type (x->type ()), not_lval);
else
- error (_("Attempt to take address of "
- "value not located in memory."));
+ error (_("Attempt to take address of value not located in memory."));
}
+
return value_addr (x);
}
@@ -2597,7 +2597,7 @@ value *
operation::evaluate_for_address (struct expression *exp, enum noside noside)
{
value *val = evaluate (nullptr, exp, noside);
- return evaluate_subexp_for_address_base (exp, noside, val);
+ return evaluate_subexp_for_address_base (noside, val);
}
value *
@@ -2624,7 +2624,7 @@ unop_ind_base_operation::evaluate_for_address (struct expression *exp,
if (unop_user_defined_p (UNOP_IND, x))
{
x = value_x_unop (x, UNOP_IND, noside);
- return evaluate_subexp_for_address_base (exp, noside, x);
+ return evaluate_subexp_for_address_base (noside, x);
}
return coerce_array (x);
diff --git a/gdb/event-top.c b/gdb/event-top.c
index c533e74..f96982a 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -980,11 +980,6 @@ handle_fatal_signal (int sig)
#endif
#ifdef GDB_PRINT_INTERNAL_BACKTRACE
- const auto sig_write = [] (const char *msg) -> void
- {
- gdb_stderr->write_async_safe (msg, strlen (msg));
- };
-
if (bt_on_fatal_signal)
{
sig_write ("\n\n");
@@ -1027,7 +1022,13 @@ handle_fatal_signal (int sig)
}
sig_write ("\n\n");
- gdb_stderr->flush ();
+ if (gdb_stderr == nullptr || gdb_stderr->fd () == -1)
+ {
+ /* Writing to file descriptor instead of stream, no flush
+ required. */
+ }
+ else
+ gdb_stderr->flush ();
}
#endif
@@ -1649,9 +1650,7 @@ show_debug_event_loop_command (struct ui_file *file, int from_tty,
gdb_printf (file, _("Event loop debugging is %s.\n"), value);
}
-void _initialize_event_top ();
-void
-_initialize_event_top ()
+INIT_GDB_FILE (event_top)
{
add_setshow_enum_cmd ("event-loop", class_maintenance,
debug_event_loop_enum,
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 6af3a7e..35400f3 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -25,6 +25,7 @@
#include "serial.h"
#include "ui.h"
#include <optional>
+#include "cli/cli-style.h"
static void
print_flush (void)
@@ -105,6 +106,7 @@ exception_print (struct ui_file *file, const struct gdb_exception &e)
if (e.reason < 0 && e.message != NULL)
{
print_flush ();
+ print_error_prefix (file);
print_exception (file, e);
}
}
@@ -118,6 +120,7 @@ exception_fprintf (struct ui_file *file, const struct gdb_exception &e,
va_list args;
print_flush ();
+ print_error_prefix (file);
/* Print the prefix. */
va_start (args, prefix);
diff --git a/gdb/exec.c b/gdb/exec.c
index c7979a2..c2a1f8a 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -44,7 +44,7 @@
#include <ctype.h>
#include <sys/stat.h>
-#include "solist.h"
+#include "solib.h"
#include <algorithm>
#include "gdbsupport/pathstuff.h"
#include "cli/cli-style.h"
@@ -218,28 +218,32 @@ validate_exec_file (int from_tty)
if (exec_file_mismatch_mode == exec_file_mismatch_off)
return;
+ /* If there's no current executable, then there's nothing to
+ validate against, so we're done. */
const char *current_exec_file = current_program_space->exec_filename ();
- struct inferior *inf = current_inferior ();
- /* Try to determine a filename from the process itself. */
- const char *pid_exec_file = target_pid_to_exec_file (inf->pid);
- bool build_id_mismatch = false;
-
- /* If we cannot validate the exec file, return. */
- if (current_exec_file == NULL || pid_exec_file == NULL)
+ if (current_exec_file == nullptr)
return;
- /* Try validating via build-id, if available. This is the most
- reliable check. */
+ /* Try to determine a filename from the process itself. If we
+ cannot get an executable from the process, then no validation is
+ possible. */
+ const char *pid_exec_file
+ = target_pid_to_exec_file (current_inferior ()->pid);
+ if (pid_exec_file == nullptr)
+ return;
- /* In case current_exec_file was changed, reopen_exec_file ensures
- an up to date build_id (will do nothing if the file timestamp
- did not change). If exec file changed, reopen_exec_file has
- allocated another file name, so get_exec_file again. */
+ /* In case current_exec_file was changed, reopen_exec_file ensures an up
+ to date build_id (will do nothing if the file timestamp did not
+ change). If exec file changed, reopen_exec_file has allocated another
+ file name, so get_exec_file again. */
reopen_exec_file ();
current_exec_file = current_program_space->exec_filename ();
+ /* Try validating via build-id, if available. This is the most reliable
+ check. */
const bfd_build_id *exec_file_build_id
= build_id_bfd_get (current_program_space->exec_bfd ());
+ bool build_id_mismatch = false;
if (exec_file_build_id != nullptr)
{
/* Prepend the target prefix, to force gdb_bfd_open to open the
@@ -334,6 +338,14 @@ exec_file_locate_attach (int pid, int defer_bp_reset, int from_tty)
gdb::unique_xmalloc_ptr<char> exec_file_host
= exec_file_find (exec_file_target, NULL);
+ if (exec_file_host == nullptr)
+ {
+ warning (_("No executable has been specified, and target executable "
+ "%ps could not be found. Try using the \"%ps\" command."),
+ styled_string (file_name_style.style (), exec_file_target),
+ styled_string (command_style.style (), "file"));
+ return;
+ }
if (defer_bp_reset)
add_flags |= SYMFILE_DEFER_BP_RESET;
@@ -1065,9 +1077,7 @@ exec_target::find_memory_regions (find_memory_region_ftype func, void *data)
return objfile_find_memory_regions (this, func, data);
}
-void _initialize_exec ();
-void
-_initialize_exec ()
+INIT_GDB_FILE (exec)
{
struct cmd_list_element *c;
diff --git a/gdb/extension.c b/gdb/extension.c
index 6d14a20..d34dbcd 100644
--- a/gdb/extension.c
+++ b/gdb/extension.c
@@ -1102,9 +1102,7 @@ ext_lang_before_prompt (const char *current_gdb_prompt)
}
}
-void _initialize_extension ();
-void
-_initialize_extension ()
+INIT_GDB_FILE (extension)
{
gdb::observers::before_prompt.attach (ext_lang_before_prompt, "extension");
}
diff --git a/gdb/extract-store-integer.c b/gdb/extract-store-integer.c
index 4f20092..d73040b 100644
--- a/gdb/extract-store-integer.c
+++ b/gdb/extract-store-integer.c
@@ -337,9 +337,7 @@ extract_integer_test ()
#endif
-void _initialize_extract_store_integer ();
-void
-_initialize_extract_store_integer ()
+INIT_GDB_FILE (extract_store_integer)
{
#if GDB_SELF_TEST
selftests::register_test ("copy_integer_to_size",
diff --git a/gdb/f-lang.c b/gdb/f-lang.c
index 3e31dce..1aa9fc4 100644
--- a/gdb/f-lang.c
+++ b/gdb/f-lang.c
@@ -1836,9 +1836,7 @@ builtin_f_type (struct gdbarch *gdbarch)
static struct cmd_list_element *set_fortran_list;
static struct cmd_list_element *show_fortran_list;
-void _initialize_f_language ();
-void
-_initialize_f_language ()
+INIT_GDB_FILE (f_language)
{
add_setshow_prefix_cmd
("fortran", no_class,
diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c
index 0f3b2a6..a0812b3 100644
--- a/gdb/f-valprint.c
+++ b/gdb/f-valprint.c
@@ -719,9 +719,7 @@ info_common_command (const char *comname, int from_tty)
}
}
-void _initialize_f_valprint ();
-void
-_initialize_f_valprint ()
+INIT_GDB_FILE (f_valprint)
{
add_info ("common", info_common_command,
_("Print out the values contained in a Fortran COMMON block."));
diff --git a/gdb/fbsd-nat.c b/gdb/fbsd-nat.c
index 71a8386..935b947 100644
--- a/gdb/fbsd-nat.c
+++ b/gdb/fbsd-nat.c
@@ -2465,14 +2465,12 @@ fbsd_nat_get_siginfo (ptid_t ptid, siginfo_t *siginfo)
if (ptrace (PT_LWPINFO, pid, (caddr_t) &pl, sizeof pl) == -1)
return false;
if (!(pl.pl_flags & PL_FLAG_SI))
- return false;;
+ return false;
*siginfo = pl.pl_siginfo;
return (true);
}
-void _initialize_fbsd_nat ();
-void
-_initialize_fbsd_nat ()
+INIT_GDB_FILE (fbsd_nat)
{
add_setshow_boolean_cmd ("fbsd-lwp", class_maintenance,
&debug_fbsd_lwp, _("\
diff --git a/gdb/filesystem.c b/gdb/filesystem.c
index 51e1c3f..a272c13 100644
--- a/gdb/filesystem.c
+++ b/gdb/filesystem.c
@@ -76,9 +76,7 @@ is \"%s\".\n"),
value);
}
-void _initialize_filesystem ();
-void
-_initialize_filesystem ()
+INIT_GDB_FILE (filesystem)
{
add_setshow_enum_cmd ("target-file-system-kind",
class_files,
diff --git a/gdb/findcmd.c b/gdb/findcmd.c
index 993c487..4e47877 100644
--- a/gdb/findcmd.c
+++ b/gdb/findcmd.c
@@ -279,9 +279,7 @@ find_command (const char *args, int from_tty)
found_count > 1 ? "s" : "");
}
-void _initialize_mem_search ();
-void
-_initialize_mem_search ()
+INIT_GDB_FILE (mem_search)
{
add_cmd ("find", class_vars, find_command, _("\
Search memory for a sequence of bytes.\n\
diff --git a/gdb/findvar.c b/gdb/findvar.c
index 2938931..9da5c48 100644
--- a/gdb/findvar.c
+++ b/gdb/findvar.c
@@ -485,7 +485,8 @@ language_defn::read_var_value (struct symbol *var,
/* Determine address of TLS variable. */
if (obj_section
&& (obj_section->the_bfd_section->flags & SEC_THREAD_LOCAL) != 0)
- addr = target_translate_tls_address (obj_section->objfile, addr);
+ addr = target_translate_tls_address (obj_section->objfile, addr,
+ var->print_name ());
}
break;
diff --git a/gdb/fork-child.c b/gdb/fork-child.c
index 8abfbda..fd7f1e0 100644
--- a/gdb/fork-child.c
+++ b/gdb/fork-child.c
@@ -153,9 +153,7 @@ show_startup_with_shell (struct ui_file *file, int from_tty,
value);
}
-void _initialize_fork_child ();
-void
-_initialize_fork_child ()
+INIT_GDB_FILE (fork_child)
{
add_setshow_filename_cmd ("exec-wrapper", class_run, &exec_wrapper, _("\
Set a wrapper for running programs.\n\
diff --git a/gdb/frame-unwind.c b/gdb/frame-unwind.c
index 9ed2dee..95768fa 100644
--- a/gdb/frame-unwind.c
+++ b/gdb/frame-unwind.c
@@ -49,6 +49,7 @@ static constexpr std::initializer_list<const frame_unwind *>
standard_unwinders =
{
&dummy_frame_unwind,
+#if defined(DWARF_FORMAT_AVAILABLE)
/* The DWARF tailcall sniffer must come before the inline sniffer.
Otherwise, we can end up in a situation where a DWARF frame finds
tailcall information, but then the inline sniffer claims a frame
@@ -57,6 +58,7 @@ static constexpr std::initializer_list<const frame_unwind *>
activated if the newer frame was created using the DWARF
unwinder, and it also found tailcall information. */
&dwarf2_tailcall_frame_unwind,
+#endif
&inline_frame_unwind,
};
@@ -612,9 +614,7 @@ maintenance_enable_frame_unwinders (const char *args, int from_tty)
enable_disable_frame_unwinders (args, from_tty, true);
}
-void _initialize_frame_unwind ();
-void
-_initialize_frame_unwind ()
+INIT_GDB_FILE (frame_unwind)
{
/* Add "maint info frame-unwinders". */
add_cmd ("frame-unwinders",
diff --git a/gdb/frame.c b/gdb/frame.c
index fe5336f..fc4cbca 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -3424,9 +3424,7 @@ frame_info_ptr::reinflate () const
return m_ptr;
}
-void _initialize_frame ();
-void
-_initialize_frame ()
+INIT_GDB_FILE (frame)
{
obstack_init (&frame_cache_obstack);
diff --git a/gdb/frv-linux-tdep.c b/gdb/frv-linux-tdep.c
index 067b983..2a0fe1b 100644
--- a/gdb/frv-linux-tdep.c
+++ b/gdb/frv-linux-tdep.c
@@ -482,9 +482,7 @@ frv_linux_elf_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_frv_linux_tdep ();
-void
-_initialize_frv_linux_tdep ()
+INIT_GDB_FILE (frv_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_frv, 0, GDB_OSABI_LINUX,
frv_linux_init_abi);
diff --git a/gdb/frv-tdep.c b/gdb/frv-tdep.c
index 3608872..b2d6e1a 100644
--- a/gdb/frv-tdep.c
+++ b/gdb/frv-tdep.c
@@ -25,6 +25,7 @@
#include "frame.h"
#include "frame-unwind.h"
#include "frame-base.h"
+#include "solib-frv.h"
#include "trad-frame.h"
#include "dis-asm.h"
#include "sim-regno.h"
@@ -1554,7 +1555,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_convert_from_func_ptr_addr (gdbarch,
frv_convert_from_func_ptr_addr);
- set_gdbarch_so_ops (gdbarch, &frv_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_frv_solib_ops);
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
@@ -1569,9 +1570,7 @@ frv_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_frv_tdep ();
-void
-_initialize_frv_tdep ()
+INIT_GDB_FILE (frv_tdep)
{
gdbarch_register (bfd_arch_frv, frv_gdbarch_init);
}
diff --git a/gdb/frv-tdep.h b/gdb/frv-tdep.h
index 07982b4..7b51b42 100644
--- a/gdb/frv-tdep.h
+++ b/gdb/frv-tdep.h
@@ -118,7 +118,4 @@ CORE_ADDR frv_fdpic_find_canonical_descriptor (CORE_ADDR entry_point);
needed for TLS support. */
CORE_ADDR frv_fetch_objfile_link_map (struct objfile *objfile);
-struct solib_ops;
-extern const solib_ops frv_so_ops;
-
#endif /* GDB_FRV_TDEP_H */
diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c
index f84e225..3384929 100644
--- a/gdb/ft32-tdep.c
+++ b/gdb/ft32-tdep.c
@@ -621,9 +621,7 @@ ft32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Register this machine's init routine. */
-void _initialize_ft32_tdep ();
-void
-_initialize_ft32_tdep ()
+INIT_GDB_FILE (ft32_tdep)
{
gdbarch_register (bfd_arch_ft32, ft32_gdbarch_init);
}
diff --git a/gdb/gcore-1.in b/gdb/gcore-1.in
index 1220f4a..2f6eb02 100644
--- a/gdb/gcore-1.in
+++ b/gdb/gcore-1.in
@@ -34,11 +34,11 @@ data_directory_opt=()
function print_usage() {
prefix="Usage: $0"
- paddin=$(printf '%*s' ${#prefix})
+ padding=$(printf '%*s' ${#prefix})
echo "$prefix [-h|--help] [-v|--version]"
- echo "$paddin [-a] [-o prefix] [-d data-directory]"
- echo "$paddin pid1 [pid2...pidN]"
+ echo "$padding [-a] [-o prefix] [-d data-directory]"
+ echo "$padding pid1 [pid2...pidN]"
}
function print_try_help() {
diff --git a/gdb/gcore.c b/gdb/gcore.c
index fa15d06..d532652 100644
--- a/gdb/gcore.c
+++ b/gdb/gcore.c
@@ -861,9 +861,7 @@ gcore_find_signalled_thread ()
return nullptr;
}
-void _initialize_gcore ();
-void
-_initialize_gcore ()
+INIT_GDB_FILE (gcore)
{
cmd_list_element *generate_core_file_cmd
= add_com ("generate-core-file", class_files, gcore_command, _("\
diff --git a/gdb/gdb-demangle.c b/gdb/gdb-demangle.c
index 239306a..c285788 100644
--- a/gdb/gdb-demangle.c
+++ b/gdb/gdb-demangle.c
@@ -208,9 +208,7 @@ demangle_command (const char *args, int from_tty)
error (_("Can't demangle \"%s\""), name);
}
-void _initialize_gdb_demangle ();
-void
-_initialize_gdb_demangle ()
+INIT_GDB_FILE (gdb_demangle)
{
int i, ndems;
diff --git a/gdb/gdb-gdb.py.in b/gdb/gdb-gdb.py.in
index 4d96235..7388c6f 100644
--- a/gdb/gdb-gdb.py.in
+++ b/gdb/gdb-gdb.py.in
@@ -122,7 +122,7 @@ class StructTypePrettyPrinter:
class StructMainTypePrettyPrinter:
- """Pretty-print an objet of type main_type"""
+ """Pretty-print an object of type main_type"""
def __init__(self, val):
self.val = val
@@ -164,8 +164,10 @@ class StructMainTypePrettyPrinter:
return "physaddr = 0x%x" % loc_val["physaddr"]
elif loc_kind == "FIELD_LOC_KIND_PHYSNAME":
return "physname = %s" % loc_val["physname"]
- elif loc_kind == "FIELD_LOC_KIND_DWARF_BLOCK":
- return "dwarf_block = %s" % loc_val["dwarf_block"]
+ elif loc_kind == "FIELD_LOC_KIND_DWARF_BLOCK_ADDR":
+ return "dwarf_block_addr = %s" % loc_val["dwarf_block"]
+ elif loc_kind == "FIELD_LOC_KIND_DWARF_BLOCK_BITPOS":
+ return "dwarf_block_bitpos = %s" % loc_val["dwarf_block"]
else:
return "m_loc = ??? (unsupported m_loc_kind value)"
diff --git a/gdb/gdb-stabs.h b/gdb/gdb-stabs.h
index 2f3a0a5..9909129 100644
--- a/gdb/gdb-stabs.h
+++ b/gdb/gdb-stabs.h
@@ -20,9 +20,9 @@
#ifndef GDB_GDB_STABS_H
#define GDB_GDB_STABS_H
-/* During initial symbol readin, we need to have a structure to keep
+/* During initial symbol reading, we need to have a structure to keep
track of which psymtabs have which bincls in them. This structure
- is used during readin to setup the list of dependencies within each
+ is used during reading to setup the list of dependencies within each
partial symbol table. */
struct legacy_psymtab;
diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c
index 06d6f5c..2e477eb 100644
--- a/gdb/gdb_bfd.c
+++ b/gdb/gdb_bfd.c
@@ -1346,9 +1346,7 @@ gdb_bfd_init ()
error (_("fatal error: libbfd ABI mismatch"));
}
-void _initialize_gdb_bfd ();
-void
-_initialize_gdb_bfd ()
+INIT_GDB_FILE (gdb_bfd)
{
add_cmd ("bfds", class_maintenance, maintenance_info_bfds, _("\
List the BFDs that are currently open."),
diff --git a/gdb/gdb_buildall.sh b/gdb/gdb_buildall.sh
index 430aae4..2053333 100644
--- a/gdb/gdb_buildall.sh
+++ b/gdb/gdb_buildall.sh
@@ -261,7 +261,7 @@ echo "done."
# Clean up build directory if necessary.
if ${clean}
then
- echo "cleanning up $dir"
+ echo "cleaning up $dir"
rm -rf ${dir}
fi
diff --git a/gdb/gdbarch-gen.c b/gdb/gdbarch-gen.c
index 32d1659..fc570d3 100644
--- a/gdb/gdbarch-gen.c
+++ b/gdb/gdbarch-gen.c
@@ -157,7 +157,7 @@ struct gdbarch
gdbarch_single_step_through_delay_ftype *single_step_through_delay = nullptr;
gdbarch_print_insn_ftype *print_insn = default_print_insn;
gdbarch_skip_trampoline_code_ftype *skip_trampoline_code = generic_skip_trampoline_code;
- const solib_ops * so_ops = &solib_target_so_ops;
+ gdbarch_make_solib_ops_ftype *make_solib_ops = make_target_solib_ops;
gdbarch_skip_solib_resolver_ftype *skip_solib_resolver = generic_skip_solib_resolver;
gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline = generic_in_solib_return_trampoline;
gdbarch_in_indirect_branch_thunk_ftype *in_indirect_branch_thunk = default_in_indirect_branch_thunk;
@@ -425,7 +425,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
/* Skip verify of single_step_through_delay, has predicate. */
/* Skip verify of print_insn, invalid_p == 0. */
/* Skip verify of skip_trampoline_code, invalid_p == 0. */
- /* Skip verify of so_ops, invalid_p == 0. */
+ /* Skip verify of make_solib_ops, invalid_p == 0. */
/* Skip verify of skip_solib_resolver, invalid_p == 0. */
/* Skip verify of in_solib_return_trampoline, invalid_p == 0. */
/* Skip verify of in_indirect_branch_thunk, invalid_p == 0. */
@@ -966,8 +966,8 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: skip_trampoline_code = <%s>\n",
host_address_to_string (gdbarch->skip_trampoline_code));
gdb_printf (file,
- "gdbarch_dump: so_ops = %s\n",
- host_address_to_string (gdbarch->so_ops));
+ "gdbarch_dump: make_solib_ops = <%s>\n",
+ host_address_to_string (gdbarch->make_solib_ops));
gdb_printf (file,
"gdbarch_dump: skip_solib_resolver = <%s>\n",
host_address_to_string (gdbarch->skip_solib_resolver));
@@ -3469,21 +3469,21 @@ set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch,
gdbarch->skip_trampoline_code = skip_trampoline_code;
}
-const solib_ops *
-gdbarch_so_ops (struct gdbarch *gdbarch)
+solib_ops_up
+gdbarch_make_solib_ops (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
- /* Skip verify of so_ops, invalid_p == 0. */
+ gdb_assert (gdbarch->make_solib_ops != NULL);
if (gdbarch_debug >= 2)
- gdb_printf (gdb_stdlog, "gdbarch_so_ops called\n");
- return gdbarch->so_ops;
+ gdb_printf (gdb_stdlog, "gdbarch_make_solib_ops called\n");
+ return gdbarch->make_solib_ops ();
}
void
-set_gdbarch_so_ops (struct gdbarch *gdbarch,
- const solib_ops * so_ops)
+set_gdbarch_make_solib_ops (struct gdbarch *gdbarch,
+ gdbarch_make_solib_ops_ftype make_solib_ops)
{
- gdbarch->so_ops = so_ops;
+ gdbarch->make_solib_ops = make_solib_ops;
}
CORE_ADDR
diff --git a/gdb/gdbarch-gen.h b/gdb/gdbarch-gen.h
index 313a8f1..281b97b 100644
--- a/gdb/gdbarch-gen.h
+++ b/gdb/gdbarch-gen.h
@@ -818,10 +818,11 @@ typedef CORE_ADDR (gdbarch_skip_trampoline_code_ftype) (const frame_info_ptr &fr
extern CORE_ADDR gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, const frame_info_ptr &frame, CORE_ADDR pc);
extern void set_gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, gdbarch_skip_trampoline_code_ftype *skip_trampoline_code);
-/* Vtable of solib operations functions. */
+/* Return a newly-allocated solib_ops object capable of providing the solibs for this architecture. */
-extern const solib_ops * gdbarch_so_ops (struct gdbarch *gdbarch);
-extern void set_gdbarch_so_ops (struct gdbarch *gdbarch, const solib_ops * so_ops);
+typedef solib_ops_up (gdbarch_make_solib_ops_ftype) ();
+extern solib_ops_up gdbarch_make_solib_ops (struct gdbarch *gdbarch);
+extern void set_gdbarch_make_solib_ops (struct gdbarch *gdbarch, gdbarch_make_solib_ops_ftype *make_solib_ops);
/* If in_solib_dynsym_resolve_code() returns true, and SKIP_SOLIB_RESOLVER
evaluates non-zero, this is the address where the debugger will place
diff --git a/gdb/gdbarch-selftests.c b/gdb/gdbarch-selftests.c
index c370204..5c94f60 100644
--- a/gdb/gdbarch-selftests.c
+++ b/gdb/gdbarch-selftests.c
@@ -183,9 +183,7 @@ check_stack_growth (struct gdbarch *gdbarch)
} /* namespace selftests */
-void _initialize_gdbarch_selftests ();
-void
-_initialize_gdbarch_selftests ()
+INIT_GDB_FILE (gdbarch_selftests)
{
selftests::register_test_foreach_arch ("register_to_value",
selftests::register_to_value_test);
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index 9feb2cc..6accbd2 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -30,6 +30,7 @@
#include "displaced-stepping.h"
#include "gdbsupport/gdb-checked-static-cast.h"
#include "registry.h"
+#include "solib.h"
struct floatformat;
struct ui_file;
diff --git a/gdb/gdbarch_components.py b/gdb/gdbarch_components.py
index ec09d95..91c867e 100644
--- a/gdb/gdbarch_components.py
+++ b/gdb/gdbarch_components.py
@@ -1431,12 +1431,12 @@ Function(
invalid=False,
)
-Value(
- comment="Vtable of solib operations functions.",
- type="const solib_ops *",
- name="so_ops",
- predefault="&solib_target_so_ops",
- printer="host_address_to_string (gdbarch->so_ops)",
+Function(
+ comment="Return a newly-allocated solib_ops object capable of providing the solibs for this architecture.",
+ type="solib_ops_up",
+ name="make_solib_ops",
+ params=[],
+ predefault="make_target_solib_ops",
invalid=False,
)
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 5713eac..14a903b 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -902,7 +902,7 @@ operator== (const dynamic_prop &l, const dynamic_prop &r)
return true;
case PROP_CONST:
return l.const_val () == r.const_val ();
- case PROP_ADDR_OFFSET:
+ case PROP_FIELD:
case PROP_LOCEXPR:
case PROP_LOCLIST:
return l.baton () == r.baton ();
@@ -2121,7 +2121,7 @@ is_dynamic_type_internal (struct type *type, bool top_level)
return true;
/* If the field is at a fixed offset, then it is not
dynamic. */
- if (type->field (i).loc_kind () != FIELD_LOC_KIND_DWARF_BLOCK)
+ if (!type->field (i).loc_is_dwarf_block ())
continue;
/* Do not consider C++ virtual base types to be dynamic
due to the field's offset being dynamic; these are
@@ -2146,7 +2146,7 @@ is_dynamic_type (struct type *type)
}
static struct type *resolve_dynamic_type_internal
- (struct type *type, struct property_addr_info *addr_stack,
+ (struct type *type, const property_addr_info *addr_stack,
const frame_info_ptr &frame, bool top_level);
/* Given a dynamic range type (dyn_range_type) and a stack of
@@ -2167,7 +2167,7 @@ static struct type *resolve_dynamic_type_internal
static struct type *
resolve_dynamic_range (struct type *dyn_range_type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const frame_info_ptr &frame,
int rank, bool resolve_p = true)
{
@@ -2269,7 +2269,7 @@ resolve_dynamic_range (struct type *dyn_range_type,
static struct type *
resolve_dynamic_array_or_string_1 (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const frame_info_ptr &frame,
int rank, bool resolve_p)
{
@@ -2397,7 +2397,7 @@ resolve_dynamic_array_or_string_1 (struct type *type,
static struct type *
resolve_dynamic_array_or_string (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const frame_info_ptr &frame)
{
CORE_ADDR value;
@@ -2490,7 +2490,7 @@ resolve_dynamic_array_or_string (struct type *type,
static struct type *
resolve_dynamic_union (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const frame_info_ptr &frame)
{
struct type *resolved_type;
@@ -2534,7 +2534,7 @@ variant::matches (ULONGEST value, bool is_unsigned) const
static void
compute_variant_fields_inner (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const variant_part &part,
std::vector<bool> &flags);
@@ -2549,7 +2549,7 @@ compute_variant_fields_inner (struct type *type,
static void
compute_variant_fields_recurse (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const variant &variant,
std::vector<bool> &flags,
bool enabled)
@@ -2581,7 +2581,7 @@ compute_variant_fields_recurse (struct type *type,
static void
compute_variant_fields_inner (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const variant_part &part,
std::vector<bool> &flags)
{
@@ -2650,7 +2650,7 @@ compute_variant_fields_inner (struct type *type,
static void
compute_variant_fields (struct type *type,
struct type *resolved_type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const gdb::array_view<variant_part> &parts)
{
/* Assume all fields are included by default. */
@@ -2676,13 +2676,118 @@ compute_variant_fields (struct type *type,
}
}
+/* See gdbtypes.h. */
+
+void
+apply_bit_offset_to_field (struct field &field, LONGEST bit_offset,
+ LONGEST explicit_byte_size)
+{
+ struct type *field_type = field.type ();
+ struct gdbarch *gdbarch = field_type->arch ();
+ LONGEST current_bitpos = field.loc_bitpos ();
+
+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
+ {
+ /* For big endian bits, the DW_AT_bit_offset gives the
+ additional bit offset from the MSB of the containing
+ anonymous object to the MSB of the field. We don't
+ have to do anything special since we don't need to
+ know the size of the anonymous object. */
+ field.set_loc_bitpos (current_bitpos + bit_offset);
+ }
+ else
+ {
+ /* For little endian bits, compute the bit offset to the
+ MSB of the anonymous object, subtract off the number of
+ bits from the MSB of the field to the MSB of the
+ object, and then subtract off the number of bits of
+ the field itself. The result is the bit offset of
+ the LSB of the field. */
+ LONGEST object_size = explicit_byte_size;
+ if (object_size == 0)
+ object_size = field_type->length ();
+
+ field.set_loc_bitpos (current_bitpos
+ + 8 * object_size
+ - bit_offset
+ - field.bitsize ());
+ }
+}
+
+/* See gdbtypes.h. */
+
+void
+resolve_dynamic_field (struct field &field,
+ const property_addr_info *addr_stack,
+ const frame_info_ptr &frame)
+{
+ gdb_assert (!field.is_static ());
+
+ if (field.loc_is_dwarf_block ())
+ {
+ dwarf2_locexpr_baton *field_loc
+ = field.loc_dwarf_block ();
+
+ struct dwarf2_property_baton baton;
+ baton.property_type = lookup_pointer_type (field.type ());
+ baton.locexpr = *field_loc;
+
+ struct dynamic_prop prop;
+ prop.set_locexpr (&baton);
+
+ CORE_ADDR vals[1] = {addr_stack->addr};
+ CORE_ADDR addr_or_bitpos;
+ if (dwarf2_evaluate_property (&prop, frame, addr_stack,
+ &addr_or_bitpos, vals))
+ {
+ if (field.loc_kind () == FIELD_LOC_KIND_DWARF_BLOCK_ADDR)
+ field.set_loc_bitpos (TARGET_CHAR_BIT
+ * (addr_or_bitpos - addr_stack->addr));
+ else
+ field.set_loc_bitpos (addr_or_bitpos);
+
+ if (field_loc->is_field_location)
+ {
+ dwarf2_field_location_baton *fl_baton
+ = static_cast<dwarf2_field_location_baton *> (field_loc);
+ apply_bit_offset_to_field (field, fl_baton->bit_offset,
+ fl_baton->explicit_byte_size);
+ }
+ }
+ }
+
+ /* As we know this field is not a static field, the field's
+ field_loc_kind should be FIELD_LOC_KIND_BITPOS. Verify
+ this is the case, but only trigger a simple error rather
+ than an internal error if that fails. While failing
+ that verification indicates a bug in our code, the error
+ is not severe enough to suggest to the user he stops
+ his debugging session because of it. */
+ if (field.loc_kind () != FIELD_LOC_KIND_BITPOS)
+ error (_("Cannot determine struct field location"
+ " (invalid location kind)"));
+
+ struct property_addr_info pinfo;
+ pinfo.type = check_typedef (field.type ());
+ size_t offset = field.loc_bitpos () / TARGET_CHAR_BIT;
+ pinfo.valaddr = addr_stack->valaddr;
+ if (!pinfo.valaddr.empty ())
+ pinfo.valaddr = pinfo.valaddr.slice (offset);
+ pinfo.addr = addr_stack->addr + offset;
+ pinfo.next = addr_stack;
+
+ field.set_type (resolve_dynamic_type_internal (field.type (),
+ &pinfo, frame, false));
+ gdb_assert (field.loc_kind () == FIELD_LOC_KIND_BITPOS);
+}
+
/* Resolve dynamic bounds of members of the struct TYPE to static
bounds. ADDR_STACK is a stack of struct property_addr_info to
be used if needed during the dynamic resolution. */
static struct type *
resolve_dynamic_struct (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const frame_info_ptr &frame)
{
struct type *resolved_type;
@@ -2710,52 +2815,11 @@ resolve_dynamic_struct (struct type *type,
for (i = 0; i < resolved_type->num_fields (); ++i)
{
unsigned new_bit_length;
- struct property_addr_info pinfo;
if (resolved_type->field (i).is_static ())
continue;
- if (resolved_type->field (i).loc_kind () == FIELD_LOC_KIND_DWARF_BLOCK)
- {
- struct dwarf2_property_baton baton;
- baton.property_type
- = lookup_pointer_type (resolved_type->field (i).type ());
- baton.locexpr = *resolved_type->field (i).loc_dwarf_block ();
-
- struct dynamic_prop prop;
- prop.set_locexpr (&baton);
-
- CORE_ADDR addr;
- if (dwarf2_evaluate_property (&prop, frame, addr_stack, &addr,
- {addr_stack->addr}))
- resolved_type->field (i).set_loc_bitpos
- (TARGET_CHAR_BIT * (addr - addr_stack->addr));
- }
-
- /* As we know this field is not a static field, the field's
- field_loc_kind should be FIELD_LOC_KIND_BITPOS. Verify
- this is the case, but only trigger a simple error rather
- than an internal error if that fails. While failing
- that verification indicates a bug in our code, the error
- is not severe enough to suggest to the user he stops
- his debugging session because of it. */
- if (resolved_type->field (i).loc_kind () != FIELD_LOC_KIND_BITPOS)
- error (_("Cannot determine struct field location"
- " (invalid location kind)"));
-
- pinfo.type = check_typedef (resolved_type->field (i).type ());
- size_t offset = resolved_type->field (i).loc_bitpos () / TARGET_CHAR_BIT;
- pinfo.valaddr = addr_stack->valaddr;
- if (!pinfo.valaddr.empty ())
- pinfo.valaddr = pinfo.valaddr.slice (offset);
- pinfo.addr = addr_stack->addr + offset;
- pinfo.next = addr_stack;
-
- resolved_type->field (i).set_type
- (resolve_dynamic_type_internal (resolved_type->field (i).type (),
- &pinfo, frame, false));
- gdb_assert (resolved_type->field (i).loc_kind ()
- == FIELD_LOC_KIND_BITPOS);
+ resolve_dynamic_field (resolved_type->field (i), addr_stack, frame);
new_bit_length = resolved_type->field (i).loc_bitpos ();
if (resolved_type->field (i).bitsize () != 0)
@@ -2797,7 +2861,7 @@ resolve_dynamic_struct (struct type *type,
static struct type *
resolve_dynamic_type_internal (struct type *type,
- struct property_addr_info *addr_stack,
+ const property_addr_info *addr_stack,
const frame_info_ptr &frame,
bool top_level)
{
@@ -4356,7 +4420,8 @@ check_types_equal (struct type *type1, struct type *type2,
field2->loc_physname ()))
return false;
break;
- case FIELD_LOC_KIND_DWARF_BLOCK:
+ case FIELD_LOC_KIND_DWARF_BLOCK_ADDR:
+ case FIELD_LOC_KIND_DWARF_BLOCK_BITPOS:
{
struct dwarf2_locexpr_baton *block1, *block2;
@@ -5501,8 +5566,12 @@ copy_type_recursive (struct type *type, copied_types_hash_t &copied_types)
new_type->field (i).set_loc_physname
(xstrdup (type->field (i).loc_physname ()));
break;
- case FIELD_LOC_KIND_DWARF_BLOCK:
- new_type->field (i).set_loc_dwarf_block
+ case FIELD_LOC_KIND_DWARF_BLOCK_ADDR:
+ new_type->field (i).set_loc_dwarf_block_addr
+ (type->field (i).loc_dwarf_block ());
+ break;
+ case FIELD_LOC_KIND_DWARF_BLOCK_BITPOS:
+ new_type->field (i).set_loc_dwarf_block_bitpos
(type->field (i).loc_dwarf_block ());
break;
default:
@@ -6115,17 +6184,25 @@ builtin_type (struct objfile *objfile)
return builtin_type (objfile->arch ());
}
-/* See gdbtypes.h. */
+/* See dwarf2/call-site.h. */
CORE_ADDR
call_site::pc () const
{
+ /* dwarf2_per_objfile is defined in dwarf/read.c, so if that is disabled
+ at configure time, we won't be able to use this relocate function.
+ This is dwarf-specific, and would ideally be in call-site.h, but
+ including dwarf2/read.h in dwarf2/call-site.h will lead to things being
+ included in the wrong order and many compilation errors will happen.
+ This is the next best thing. */
+#if defined(DWARF_FORMAT_AVAILABLE)
return per_objfile->relocate (m_unrelocated_pc);
+#else
+ gdb_assert_not_reached ("unexpected call_site object found");
+#endif
}
-void _initialize_gdbtypes ();
-void
-_initialize_gdbtypes ()
+INIT_GDB_FILE (gdbtypes)
{
add_setshow_zuinteger_cmd ("overload", no_class, &overload_debug,
_("Set debugging of C++ overloading."),
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 5ee9deb..9e2efe9 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -259,7 +259,7 @@ enum dynamic_prop_kind
{
PROP_UNDEFINED, /* Not defined. */
PROP_CONST, /* Constant. */
- PROP_ADDR_OFFSET, /* Address offset. */
+ PROP_FIELD, /* Field of a type. */
PROP_LOCEXPR, /* Location expression. */
PROP_LOCLIST, /* Location list. */
PROP_VARIANT_PARTS, /* Variant parts. */
@@ -347,7 +347,7 @@ struct dynamic_prop
{
gdb_assert (m_kind == PROP_LOCEXPR
|| m_kind == PROP_LOCLIST
- || m_kind == PROP_ADDR_OFFSET);
+ || m_kind == PROP_FIELD);
return m_data.baton;
}
@@ -364,9 +364,9 @@ struct dynamic_prop
m_data.baton = baton;
}
- void set_addr_offset (const dwarf2_property_baton *baton)
+ void set_field (const dwarf2_property_baton *baton)
{
- m_kind = PROP_ADDR_OFFSET;
+ m_kind = PROP_FIELD;
m_data.baton = baton;
}
@@ -480,7 +480,10 @@ enum field_loc_kind
FIELD_LOC_KIND_ENUMVAL, /**< enumval */
FIELD_LOC_KIND_PHYSADDR, /**< physaddr */
FIELD_LOC_KIND_PHYSNAME, /**< physname */
- FIELD_LOC_KIND_DWARF_BLOCK /**< dwarf_block */
+ /* A DWARF block that computes the address of the field. */
+ FIELD_LOC_KIND_DWARF_BLOCK_ADDR, /**< dwarf_block */
+ /* A DWARF block that computes the bit offset of the field. */
+ FIELD_LOC_KIND_DWARF_BLOCK_BITPOS,
};
/* * A discriminant to determine which field in the
@@ -616,6 +619,13 @@ struct field
return m_loc_kind;
}
+ /* Return true if this location has either "DWARF block" kind. */
+ bool loc_is_dwarf_block () const
+ {
+ return (m_loc_kind == FIELD_LOC_KIND_DWARF_BLOCK_ADDR
+ || m_loc_kind == FIELD_LOC_KIND_DWARF_BLOCK_BITPOS);
+ }
+
LONGEST loc_bitpos () const
{
gdb_assert (m_loc_kind == FIELD_LOC_KIND_BITPOS);
@@ -666,13 +676,19 @@ struct field
dwarf2_locexpr_baton *loc_dwarf_block () const
{
- gdb_assert (m_loc_kind == FIELD_LOC_KIND_DWARF_BLOCK);
+ gdb_assert (loc_is_dwarf_block ());
return m_loc.dwarf_block;
}
- void set_loc_dwarf_block (dwarf2_locexpr_baton *dwarf_block)
+ void set_loc_dwarf_block_addr (dwarf2_locexpr_baton *dwarf_block)
+ {
+ m_loc_kind = FIELD_LOC_KIND_DWARF_BLOCK_ADDR;
+ m_loc.dwarf_block = dwarf_block;
+ }
+
+ void set_loc_dwarf_block_bitpos (dwarf2_locexpr_baton *dwarf_block)
{
- m_loc_kind = FIELD_LOC_KIND_DWARF_BLOCK;
+ m_loc_kind = FIELD_LOC_KIND_DWARF_BLOCK_BITPOS;
m_loc.dwarf_block = dwarf_block;
}
@@ -2629,6 +2645,41 @@ extern struct type *resolve_dynamic_type
"dynamic". */
extern bool is_dynamic_type (struct type *type);
+/* Resolve any dynamic components of FIELD. FIELD is updated.
+ ADDR_STACK and FRAME are used where necessary to supply information
+ for the resolution process; see resolve_dynamic_type.
+ Specifically, after calling this, the field's bit position will be
+ a constant, and the field's type will not have dynamic properties.
+
+ This function assumes that FIELD is not a static field. */
+
+extern void resolve_dynamic_field (struct field &field,
+ const struct property_addr_info *addr_stack,
+ const frame_info_ptr &frame);
+
+/* A helper function that handles the DWARF semantics for
+ DW_AT_bit_offset.
+
+ DWARF 3 specified DW_AT_bit_offset in a funny way, making it simple
+ to use on big-endian targets but somewhat difficult for
+ little-endian. This function handles the logic here.
+
+ While DW_AT_bit_offset was deprecated in DWARF 4 (and removed
+ entirely from DWARF 5), it is still useful because it is the only
+ way to describe a field that appears at a non-constant bit
+ offset.
+
+ FIELD is updated in-place. It is assumed that FIELD already has a
+ constant bit position. BIT_OFFSET is the value of the
+ DW_AT_bit_offset attribute, and EXPLICIT_BYTE_SIZE is either the
+ value of a DW_AT_byte_size from the field's DIE -- indicating an
+ explicit size of the enclosing anonymous object -- or it may be 0,
+ indicating that the field's type size should be used. */
+
+extern void apply_bit_offset_to_field (struct field &field,
+ LONGEST bit_offset,
+ LONGEST explicit_byte_size);
+
extern struct type *check_typedef (struct type *);
extern void check_stub_method_group (struct type *, int);
diff --git a/gdb/gmp-utils.c b/gdb/gmp-utils.c
index b48e97c..5c5423a 100644
--- a/gdb/gmp-utils.c
+++ b/gdb/gmp-utils.c
@@ -250,10 +250,7 @@ xfree_for_gmp (void *ptr, size_t size)
xfree (ptr);
}
-void _initialize_gmp_utils ();
-
-void
-_initialize_gmp_utils ()
+INIT_GDB_FILE (gmp_utils)
{
/* Tell GMP to use GDB's memory management routines. */
mp_set_memory_functions (xmalloc, xrealloc_for_gmp, xfree_for_gmp);
diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index ea07dd6..dd639fe 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -3434,9 +3434,7 @@ to the thread's initial suspend-count when gdb notices the threads."),
&thread_cmd_list);
}
-void _initialize_gnu_nat ();
-void
-_initialize_gnu_nat ()
+INIT_GDB_FILE (gnu_nat)
{
proc_server = getproc ();
diff --git a/gdb/gnu-v2-abi.c b/gdb/gnu-v2-abi.c
index ab9f53b..9246788 100644
--- a/gdb/gnu-v2-abi.c
+++ b/gdb/gnu-v2-abi.c
@@ -265,15 +265,9 @@ gnuv2_value_rtti_type (struct value *v, int *full, LONGEST *top, int *using_enc)
if (top && ((*top) >0))
{
if (rtti_type->length () > known_type->length ())
- {
- if (full)
- *full=0;
- }
+ *full = 0;
else
- {
- if (full)
- *full=1;
- }
+ *full = 1;
}
}
else
@@ -411,9 +405,7 @@ init_gnuv2_ops (void)
gnu_v2_abi_ops.baseclass_offset = gnuv2_baseclass_offset;
}
-void _initialize_gnu_v2_abi ();
-void
-_initialize_gnu_v2_abi ()
+INIT_GDB_FILE (gnu_v2_abi)
{
init_gnuv2_ops ();
register_cp_abi (&gnu_v2_abi_ops);
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index 4f53e9f..e3818d9 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -476,7 +476,7 @@ gnuv3_baseclass_offset (struct type *type, int index,
return TYPE_BASECLASS_BITPOS (type, index) / 8;
/* If we have a DWARF expression for the offset, evaluate it. */
- if (type->field (index).loc_kind () == FIELD_LOC_KIND_DWARF_BLOCK)
+ if (type->field (index).loc_kind () == FIELD_LOC_KIND_DWARF_BLOCK_ADDR)
{
struct dwarf2_property_baton baton;
baton.property_type
@@ -1570,9 +1570,7 @@ init_gnuv3_ops (void)
gnu_v3_abi_ops.pass_by_reference = gnuv3_pass_by_reference;
}
-void _initialize_gnu_v3_abi ();
-void
-_initialize_gnu_v3_abi ()
+INIT_GDB_FILE (gnu_v3_abi)
{
init_gnuv3_ops ();
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index 8dcb22d..4d8e6c9 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -2057,9 +2057,7 @@ go32_pte_for_address (const char *arg, int from_tty)
static struct cmd_list_element *info_dos_cmdlist = NULL;
-void _initialize_go32_nat ();
-void
-_initialize_go32_nat ()
+INIT_GDB_FILE (go32_nat)
{
x86_dr_low.set_control = go32_set_dr7;
x86_dr_low.set_addr = go32_set_dr;
diff --git a/gdb/guile/guile-internal.h b/gdb/guile/guile-internal.h
index 3101882..60a8bf3 100644
--- a/gdb/guile/guile-internal.h
+++ b/gdb/guile/guile-internal.h
@@ -449,10 +449,11 @@ extern const struct block *bkscm_scm_to_block
/* scm-cmd.c */
-extern char *gdbscm_parse_command_name (const char *name,
- const char *func_name, int arg_pos,
- struct cmd_list_element ***base_list,
- struct cmd_list_element **start_list);
+extern char *gdbscm_parse_command_name
+ (const char *name, const char *func_name, int arg_pos,
+ struct cmd_list_element ***base_list,
+ struct cmd_list_element **start_list,
+ struct cmd_list_element **prefix_cmd = nullptr);
extern int gdbscm_valid_command_class_p (int command_class);
diff --git a/gdb/guile/guile.c b/gdb/guile/guile.c
index 1803df0..66a74b3 100644
--- a/gdb/guile/guile.c
+++ b/gdb/guile/guile.c
@@ -827,9 +827,7 @@ message == an error message without a stack will be printed."),
&set_guile_list, &show_guile_list);
}
-void _initialize_guile ();
-void
-_initialize_guile ()
+INIT_GDB_FILE (guile)
{
install_gdb_commands ();
}
diff --git a/gdb/guile/scm-cmd.c b/gdb/guile/scm-cmd.c
index 4757872..19fb742 100644
--- a/gdb/guile/scm-cmd.c
+++ b/gdb/guile/scm-cmd.c
@@ -457,11 +457,13 @@ cmdscm_completer (struct cmd_list_element *command,
name of the new command. All earlier words must be existing prefix
commands.
- *BASE_LIST is set to the final prefix command's list of
- *sub-commands.
+ *BASE_LIST is set to the final prefix command's list of sub-commands.
START_LIST is the list in which the search starts.
+ When PREFIX_CMD is not NULL then *PREFIX_CMD is set to the prefix
+ command itself, or NULL, if there is no prefix command.
+
This function returns the xmalloc()d name of the new command.
On error a Scheme exception is thrown. */
@@ -469,13 +471,17 @@ char *
gdbscm_parse_command_name (const char *name,
const char *func_name, int arg_pos,
struct cmd_list_element ***base_list,
- struct cmd_list_element **start_list)
+ struct cmd_list_element **start_list,
+ struct cmd_list_element **prefix_cmd)
{
struct cmd_list_element *elt;
int len = strlen (name);
int i, lastchar;
char *msg;
+ if (prefix_cmd != nullptr)
+ *prefix_cmd = nullptr;
+
/* Skip trailing whitespace. */
for (i = len - 1; i >= 0 && (name[i] == ' ' || name[i] == '\t'); --i)
;
@@ -490,9 +496,9 @@ gdbscm_parse_command_name (const char *name,
/* Find first character of the final word. */
for (; i > 0 && valid_cmd_char_p (name[i - 1]); --i)
;
- gdb::unique_xmalloc_ptr<char> result ((char *) xmalloc (lastchar - i + 2));
- memcpy (result.get (), &name[i], lastchar - i + 1);
- result.get ()[lastchar - i + 1] = '\0';
+
+ gdb::unique_xmalloc_ptr<char> result
+ = make_unique_xstrndup (&name[i], lastchar - i + 1);
/* Skip whitespace again. */
for (--i; i >= 0 && (name[i] == ' ' || name[i] == '\t'); --i)
@@ -503,18 +509,21 @@ gdbscm_parse_command_name (const char *name,
return result.release ();
}
- gdb::unique_xmalloc_ptr<char> prefix_text ((char *) xmalloc (i + 2));
- memcpy (prefix_text.get (), name, i + 1);
- prefix_text.get ()[i + 1] = '\0';
+ gdb::unique_xmalloc_ptr<char> prefix_text
+ = make_unique_xstrndup (name, i + 1);
const char *prefix_text2 = prefix_text.get ();
elt = lookup_cmd_1 (&prefix_text2, *start_list, NULL, NULL, 1);
- if (elt == NULL || elt == CMD_LIST_AMBIGUOUS)
+ if (elt == nullptr || elt == CMD_LIST_AMBIGUOUS || *prefix_text2 != '\0')
{
msg = xstrprintf (_("could not find command prefix '%s'"),
prefix_text.get ()).release ();
scm_dynwind_begin ((scm_t_dynwind_flags) 0);
gdbscm_dynwind_xfree (msg);
+ /* Release memory now as the destructors will not be run when the
+ guile exception is thrown. */
+ result = nullptr;
+ prefix_text = nullptr;
gdbscm_out_of_range_error (func_name, arg_pos,
gdbscm_scm_from_c_string (name), msg);
}
@@ -522,6 +531,8 @@ gdbscm_parse_command_name (const char *name,
if (elt->is_prefix ())
{
*base_list = elt->subcommands;
+ if (prefix_cmd != nullptr)
+ *prefix_cmd = elt;
return result.release ();
}
@@ -529,6 +540,10 @@ gdbscm_parse_command_name (const char *name,
prefix_text.get ()).release ();
scm_dynwind_begin ((scm_t_dynwind_flags) 0);
gdbscm_dynwind_xfree (msg);
+ /* Release memory now as the destructors will not be run when the guile
+ exception is thrown. */
+ result = nullptr;
+ prefix_text = nullptr;
gdbscm_out_of_range_error (func_name, arg_pos,
gdbscm_scm_from_c_string (name), msg);
/* NOTREACHED */
@@ -743,8 +758,9 @@ gdbscm_register_command_x (SCM self)
if (cmdscm_is_valid (c_smob))
scm_misc_error (FUNC_NAME, _("command is already registered"), SCM_EOL);
+ struct cmd_list_element *prefix_cmd = nullptr;
cmd_name = gdbscm_parse_command_name (c_smob->name, FUNC_NAME, SCM_ARG1,
- &cmd_list, &cmdlist);
+ &cmd_list, &cmdlist, &prefix_cmd);
c_smob->cmd_name = gdbscm_gc_xstrdup (cmd_name);
xfree (cmd_name);
@@ -753,18 +769,50 @@ gdbscm_register_command_x (SCM self)
{
if (c_smob->is_prefix)
{
- /* If we have our own "invoke" method, then allow unknown
- sub-commands. */
- int allow_unknown = gdbscm_is_true (c_smob->invoke);
+ bool has_invoke = gdbscm_is_true (c_smob->invoke) == 1;
- cmd = add_prefix_cmd (c_smob->cmd_name, c_smob->cmd_class,
- NULL, c_smob->doc, &c_smob->sub_list,
- allow_unknown, cmd_list);
+ if (has_invoke)
+ {
+ cmd = add_prefix_cmd (c_smob->cmd_name, c_smob->cmd_class,
+ NULL, c_smob->doc, &c_smob->sub_list,
+ 1 /* allow_unknown */, cmd_list);
+ cmd->func = cmdscm_function;
+ }
+ else
+ {
+ /* If there is no 'invoke' method, then create the prefix
+ using the standard prefix callbacks. This means that for
+ 'set prefix' the user will get the help text listing all
+ of the sub-commands, and for 'show prefix', the user will
+ see all of the sub-command values. */
+ if (prefix_cmd != nullptr)
+ {
+ while (prefix_cmd->prefix != nullptr)
+ prefix_cmd = prefix_cmd->prefix;
+ }
+
+ bool is_show = (prefix_cmd != nullptr
+ && prefix_cmd->subcommands == &showlist);
+
+ if (is_show)
+ cmd = add_show_prefix_cmd (c_smob->cmd_name,
+ c_smob->cmd_class,
+ c_smob->doc,
+ &c_smob->sub_list,
+ 0 /* allow_unknown */, cmd_list);
+ else
+ cmd = add_basic_prefix_cmd (c_smob->cmd_name,
+ c_smob->cmd_class,
+ c_smob->doc,
+ &c_smob->sub_list,
+ 0 /* allow_unknown */, cmd_list);
+ }
}
else
{
cmd = add_cmd (c_smob->cmd_name, c_smob->cmd_class,
c_smob->doc, cmd_list);
+ cmd->func = cmdscm_function;
}
}
catch (const gdb_exception &except)
@@ -777,7 +825,6 @@ gdbscm_register_command_x (SCM self)
So no more errors after this point. */
/* There appears to be no API to set this. */
- cmd->func = cmdscm_function;
cmd->destroyer = cmdscm_destroyer;
c_smob->command = cmd;
diff --git a/gdb/guile/scm-color.c b/gdb/guile/scm-color.c
index 4850575..cde22e5 100644
--- a/gdb/guile/scm-color.c
+++ b/gdb/guile/scm-color.c
@@ -24,6 +24,7 @@
#include "language.h"
#include "arch-utils.h"
#include "guile-internal.h"
+#include "cli/cli-style.h"
/* A GDB color. */
@@ -354,8 +355,14 @@ gdbscm_color_escape_sequence (SCM self, SCM is_fg_scm)
const ui_file_style::color &color = coscm_get_color (self);
SCM_ASSERT_TYPE (gdbscm_is_bool (is_fg_scm), is_fg_scm, SCM_ARG2, FUNC_NAME,
_("boolean"));
- bool is_fg = gdbscm_is_true (is_fg_scm);
- std::string s = color.to_ansi (is_fg);
+
+ std::string s;
+ if (term_cli_styling ())
+ {
+ bool is_fg = gdbscm_is_true (is_fg_scm);
+ s = color.to_ansi (is_fg);
+ }
+
return gdbscm_scm_from_host_string (s.c_str (), s.size ());
}
diff --git a/gdb/guile/scm-param.c b/gdb/guile/scm-param.c
index 65226ec..5137847 100644
--- a/gdb/guile/scm-param.c
+++ b/gdb/guile/scm-param.c
@@ -308,13 +308,37 @@ pascm_is_valid (param_smob *p_smob)
return p_smob->commands.set != nullptr;
}
-/* A helper function which return the default documentation string for
- a parameter (which is to say that it's undocumented). */
+
+/* The different types of documentation string. */
+
+enum doc_string_type
+{
+ doc_string_set,
+ doc_string_show,
+ doc_string_description
+};
+
+/* A helper function which returns the default documentation string for
+ a parameter CMD_NAME. The DOC_TYPE indicates which type of
+ documentation string is needed. The returned string is dynamically
+ allocated. */
static char *
-get_doc_string (void)
+get_doc_string (doc_string_type doc_type, const char *cmd_name)
{
- return xstrdup (_("This command is not documented."));
+ if (doc_type == doc_string_description)
+ return xstrdup (_("This command is not documented."));
+ else
+ {
+ gdb_assert (cmd_name != nullptr);
+
+ if (doc_type == doc_string_show)
+ return xstrprintf (_("Show the current value of '%s'."),
+ cmd_name).release ();
+ else
+ return xstrprintf (_("Set the current value of '%s'."),
+ cmd_name).release ();
+ }
}
/* Subroutine of pascm_set_func, pascm_show_func to simplify them.
@@ -990,11 +1014,14 @@ gdbscm_make_parameter (SCM name_scm, SCM rest)
&show_doc_arg_pos, &show_doc,
&initial_value_arg_pos, &initial_value_scm);
- /* If doc is NULL, leave it NULL. See add_setshow_cmd_full. */
+ if (doc == nullptr)
+ doc = get_doc_string (doc_string_description, nullptr);
+ else if (*doc == '\0')
+ doc = nullptr;
if (set_doc == NULL)
- set_doc = get_doc_string ();
+ set_doc = get_doc_string (doc_string_set, name);
if (show_doc == NULL)
- show_doc = get_doc_string ();
+ show_doc = get_doc_string (doc_string_show, name);
s = name;
name = gdbscm_canonicalize_command_name (s, 0);
diff --git a/gdb/guile/scm-ports.c b/gdb/guile/scm-ports.c
index ed43d64..f3e3ec8 100644
--- a/gdb/guile/scm-ports.c
+++ b/gdb/guile/scm-ports.c
@@ -336,9 +336,15 @@ ioscm_flush (SCM port)
return;
if (scm_is_eq (port, error_port_scm))
- gdb_flush (gdb_stderr);
+ {
+ if (gdb_stderr != nullptr)
+ gdb_flush (gdb_stderr);
+ }
else
- gdb_flush (gdb_stdout);
+ {
+ if (gdb_stdout != nullptr)
+ gdb_flush (gdb_stdout);
+ }
}
#else /* !USING_GUILE_BEFORE_2_2 */
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c
index db54438..15b0002 100644
--- a/gdb/h8300-tdep.c
+++ b/gdb/h8300-tdep.c
@@ -1374,9 +1374,7 @@ h8300_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
}
-void _initialize_h8300_tdep ();
-void
-_initialize_h8300_tdep ()
+INIT_GDB_FILE (h8300_tdep)
{
gdbarch_register (bfd_arch_h8300, h8300_gdbarch_init);
}
diff --git a/gdb/hppa-bsd-tdep.c b/gdb/hppa-bsd-tdep.c
index db6c92f..715e794 100644
--- a/gdb/hppa-bsd-tdep.c
+++ b/gdb/hppa-bsd-tdep.c
@@ -128,8 +128,7 @@ hppabsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_skip_trampoline_code (gdbarch, hppa_skip_trampoline_code);
/* OpenBSD and NetBSD use SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
/* Hook in the DWARF CFI frame unwinder. */
dwarf2_frame_set_init_reg (gdbarch, hppabsd_dwarf2_frame_init_reg);
diff --git a/gdb/hppa-linux-nat.c b/gdb/hppa-linux-nat.c
index 62b3294..5e63e7f 100644
--- a/gdb/hppa-linux-nat.c
+++ b/gdb/hppa-linux-nat.c
@@ -383,9 +383,7 @@ fill_fpregset (const struct regcache *regcache,
}
}
-void _initialize_hppa_linux_nat ();
-void
-_initialize_hppa_linux_nat ()
+INIT_GDB_FILE (hppa_linux_nat)
{
/* Register the target. */
linux_target = &the_hppa_linux_nat_target;
diff --git a/gdb/hppa-linux-tdep.c b/gdb/hppa-linux-tdep.c
index 16cdd45..2eb8d46 100644
--- a/gdb/hppa-linux-tdep.c
+++ b/gdb/hppa-linux-tdep.c
@@ -32,6 +32,7 @@
#include "regcache.h"
#include "hppa-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "elf/common.h"
/* Map DWARF DBX register numbers to GDB register numbers. */
@@ -499,8 +500,7 @@ hppa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_unwind_append_unwinder (gdbarch, &hppa_linux_sigtramp_frame_unwind);
/* GNU/Linux uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
tdep->in_solib_call_trampoline = hppa_in_solib_call_trampoline;
set_gdbarch_skip_trampoline_code (gdbarch, hppa_skip_trampoline_code);
@@ -524,9 +524,7 @@ hppa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
svr4_fetch_objfile_link_map);
}
-void _initialize_hppa_linux_tdep ();
-void
-_initialize_hppa_linux_tdep ()
+INIT_GDB_FILE (hppa_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_LINUX,
hppa_linux_init_abi);
diff --git a/gdb/hppa-netbsd-nat.c b/gdb/hppa-netbsd-nat.c
index f57d650..1ebf205 100644
--- a/gdb/hppa-netbsd-nat.c
+++ b/gdb/hppa-netbsd-nat.c
@@ -229,9 +229,7 @@ hppa_nbsd_nat_target::store_registers (struct regcache *regcache, int regnum)
}
}
-void _initialize_hppanbsd_nat ();
-void
-_initialize_hppanbsd_nat ()
+INIT_GDB_FILE (hppanbsd_nat)
{
add_inf_child_target (&the_hppa_nbsd_nat_target);
}
diff --git a/gdb/hppa-netbsd-tdep.c b/gdb/hppa-netbsd-tdep.c
index e52e181..90d8eb8 100644
--- a/gdb/hppa-netbsd-tdep.c
+++ b/gdb/hppa-netbsd-tdep.c
@@ -210,9 +210,7 @@ hppanbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tramp_frame_prepend_unwinder (gdbarch, &hppanbsd_sigtramp_si4);
}
-void _initialize_hppanbsd_tdep ();
-void
-_initialize_hppanbsd_tdep ()
+INIT_GDB_FILE (hppanbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_NETBSD,
hppanbsd_init_abi);
diff --git a/gdb/hppa-obsd-nat.c b/gdb/hppa-obsd-nat.c
index d879835..322b6f9 100644
--- a/gdb/hppa-obsd-nat.c
+++ b/gdb/hppa-obsd-nat.c
@@ -250,9 +250,7 @@ hppa_obsd_nat_target::store_registers (struct regcache *regcache, int regnum)
}
}
-void _initialize_hppaobsd_nat ();
-void
-_initialize_hppaobsd_nat ()
+INIT_GDB_FILE (hppaobsd_nat)
{
add_inf_child_target (&the_hppa_obsd_nat_target);
}
diff --git a/gdb/hppa-obsd-tdep.c b/gdb/hppa-obsd-tdep.c
index d2144f9..a511fa8 100644
--- a/gdb/hppa-obsd-tdep.c
+++ b/gdb/hppa-obsd-tdep.c
@@ -166,9 +166,7 @@ hppaobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
(gdbarch, hppaobsd_iterate_over_regset_sections);
}
-void _initialize_hppabsd_tdep ();
-void
-_initialize_hppabsd_tdep ()
+INIT_GDB_FILE (hppabsd_tdep)
{
gdbarch_register_osabi (bfd_arch_hppa, 0, GDB_OSABI_OPENBSD,
hppaobsd_init_abi);
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 3c9dde2..61e6cb2 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -3119,9 +3119,7 @@ hppa_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
gdb_printf (file, "elf = %s\n", tdep->is_elf ? "yes" : "no");
}
-void _initialize_hppa_tdep ();
-void
-_initialize_hppa_tdep ()
+INIT_GDB_FILE (hppa_tdep)
{
gdbarch_register (bfd_arch_hppa, hppa_gdbarch_init, hppa_dump_tdep);
diff --git a/gdb/i386-bsd-nat.c b/gdb/i386-bsd-nat.c
index ae9e090..c5eda86 100644
--- a/gdb/i386-bsd-nat.c
+++ b/gdb/i386-bsd-nat.c
@@ -237,9 +237,7 @@ i386bsd_store_inferior_registers (struct regcache *regcache, int regnum)
}
}
-void _initialize_i386bsd_nat ();
-void
-_initialize_i386bsd_nat ()
+INIT_GDB_FILE (i386bsd_nat)
{
/* To support the recognition of signal handlers, i386-bsd-tdep.c
hardcodes some constants. Inclusion of this file means that we
diff --git a/gdb/i386-darwin-nat.c b/gdb/i386-darwin-nat.c
index 08d3a71..09d6ba6 100644
--- a/gdb/i386-darwin-nat.c
+++ b/gdb/i386-darwin-nat.c
@@ -631,9 +631,7 @@ darwin_set_sstep (thread_t thread, int enable)
}
}
-void _initialize_i386_darwin_nat ();
-void
-_initialize_i386_darwin_nat ()
+INIT_GDB_FILE (i386_darwin_nat)
{
#ifdef BFD64
amd64_native_gregset64_reg_offset = amd64_darwin_thread_state_reg_offset;
diff --git a/gdb/i386-darwin-tdep.c b/gdb/i386-darwin-tdep.c
index 6180e02..a91afa2 100644
--- a/gdb/i386-darwin-tdep.c
+++ b/gdb/i386-darwin-tdep.c
@@ -271,7 +271,7 @@ i386_darwin_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
alignment. */
set_gdbarch_long_double_bit (gdbarch, 128);
- set_gdbarch_so_ops (gdbarch, &darwin_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_darwin_solib_ops);
}
static enum gdb_osabi
@@ -286,9 +286,7 @@ i386_mach_o_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_i386_darwin_tdep ();
-void
-_initialize_i386_darwin_tdep ()
+INIT_GDB_FILE (i386_darwin_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_unknown, bfd_target_mach_o_flavour,
i386_mach_o_osabi_sniffer);
diff --git a/gdb/i386-dicos-tdep.c b/gdb/i386-dicos-tdep.c
index d3f19e2..50570c9 100644
--- a/gdb/i386-dicos-tdep.c
+++ b/gdb/i386-dicos-tdep.c
@@ -40,9 +40,7 @@ i386_dicos_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_i386_dicos_tdep ();
-void
-_initialize_i386_dicos_tdep ()
+INIT_GDB_FILE (i386_dicos_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_elf_flavour,
i386_dicos_osabi_sniffer);
diff --git a/gdb/i386-fbsd-nat.c b/gdb/i386-fbsd-nat.c
index 77f0edd..f4088a3 100644
--- a/gdb/i386-fbsd-nat.c
+++ b/gdb/i386-fbsd-nat.c
@@ -330,9 +330,7 @@ i386_fbsd_nat_target::read_description ()
return i386_target_description (X86_XSTATE_X87_MASK, true);
}
-void _initialize_i386fbsd_nat ();
-void
-_initialize_i386fbsd_nat ()
+INIT_GDB_FILE (i386fbsd_nat)
{
add_inf_child_target (&the_i386_fbsd_nat_target);
diff --git a/gdb/i386-fbsd-tdep.c b/gdb/i386-fbsd-tdep.c
index 72237d8..827d53c 100644
--- a/gdb/i386-fbsd-tdep.c
+++ b/gdb/i386-fbsd-tdep.c
@@ -402,8 +402,7 @@ i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
i386fbsd_core_read_description);
/* FreeBSD uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
@@ -411,9 +410,7 @@ i386fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
i386fbsd_get_thread_local_address);
}
-void _initialize_i386fbsd_tdep ();
-void
-_initialize_i386fbsd_tdep ()
+INIT_GDB_FILE (i386fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_FREEBSD,
i386fbsd_init_abi);
diff --git a/gdb/i386-gnu-tdep.c b/gdb/i386-gnu-tdep.c
index 97fbc69..f944fa5 100644
--- a/gdb/i386-gnu-tdep.c
+++ b/gdb/i386-gnu-tdep.c
@@ -180,8 +180,7 @@ i386gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Hurd uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
/* Hurd uses the dynamic linker included in the GNU C Library. */
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
@@ -202,9 +201,7 @@ i386gnu_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_num_regs = ARRAY_SIZE (i386_gnu_sc_reg_offset);
}
-void _initialize_i386gnu_tdep ();
-void
-_initialize_i386gnu_tdep ()
+INIT_GDB_FILE (i386gnu_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_HURD, i386gnu_init_abi);
}
diff --git a/gdb/i386-go32-tdep.c b/gdb/i386-go32-tdep.c
index 4db09b3..e6a1721 100644
--- a/gdb/i386-go32-tdep.c
+++ b/gdb/i386-go32-tdep.c
@@ -61,9 +61,7 @@ i386_coff_osabi_sniffer (bfd *abfd)
}
-void _initialize_i386_go32_tdep ();
-void
-_initialize_i386_go32_tdep ()
+INIT_GDB_FILE (i386_go32_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
i386_coff_osabi_sniffer);
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index a5d5582..f5112d2 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -696,9 +696,7 @@ i386_linux_nat_target::low_resume (ptid_t ptid, int step, enum gdb_signal signal
perror_with_name (("ptrace"));
}
-void _initialize_i386_linux_nat ();
-void
-_initialize_i386_linux_nat ()
+INIT_GDB_FILE (i386_linux_nat)
{
linux_target = &the_i386_linux_nat_target;
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 4b05cc6..efbde6a 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -30,6 +30,7 @@
#include "i386-tdep.h"
#include "i386-linux-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "utils.h"
#include "glibc-tdep.h"
#include "solib-svr4.h"
@@ -1461,8 +1462,7 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* GNU/Linux uses the dynamic linker included in the GNU C Library. */
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
@@ -1490,9 +1490,7 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
i386_linux_get_syscall_number);
}
-void _initialize_i386_linux_tdep ();
-void
-_initialize_i386_linux_tdep ()
+INIT_GDB_FILE (i386_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_LINUX,
i386_linux_init_abi);
diff --git a/gdb/i386-netbsd-nat.c b/gdb/i386-netbsd-nat.c
index 0f39fe1..efbf361 100644
--- a/gdb/i386-netbsd-nat.c
+++ b/gdb/i386-netbsd-nat.c
@@ -72,9 +72,7 @@ i386nbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
static i386_bsd_nat_target<nbsd_nat_target> the_i386_nbsd_nat_target;
-void _initialize_i386nbsd_nat ();
-void
-_initialize_i386nbsd_nat ()
+INIT_GDB_FILE (i386nbsd_nat)
{
add_inf_child_target (&the_i386_nbsd_nat_target);
diff --git a/gdb/i386-netbsd-tdep.c b/gdb/i386-netbsd-tdep.c
index 701ce04..a1124d0 100644
--- a/gdb/i386-netbsd-tdep.c
+++ b/gdb/i386-netbsd-tdep.c
@@ -415,16 +415,13 @@ i386nbsdelf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
i386_elf_init_abi (info, gdbarch);
/* NetBSD ELF uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
/* NetBSD ELF uses -fpcc-struct-return by default. */
tdep->struct_return = pcc_struct_return;
}
-void _initialize_i386nbsd_tdep ();
-void
-_initialize_i386nbsd_tdep ()
+INIT_GDB_FILE (i386nbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_NETBSD,
i386nbsdelf_init_abi);
diff --git a/gdb/i386-obsd-nat.c b/gdb/i386-obsd-nat.c
index 323acdb..f478e73 100644
--- a/gdb/i386-obsd-nat.c
+++ b/gdb/i386-obsd-nat.c
@@ -89,9 +89,7 @@ i386obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
static i386_bsd_nat_target<obsd_nat_target> the_i386_obsd_nat_target;
-void _initialize_i386obsd_nat ();
-void
-_initialize_i386obsd_nat ()
+INIT_GDB_FILE (i386obsd_nat)
{
add_inf_child_target (&i386_obsd_nat_target);
diff --git a/gdb/i386-obsd-tdep.c b/gdb/i386-obsd-tdep.c
index be65668..1126597 100644
--- a/gdb/i386-obsd-tdep.c
+++ b/gdb/i386-obsd-tdep.c
@@ -441,13 +441,10 @@ i386obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_unwind_prepend_unwinder (gdbarch, &i386obsd_trapframe_unwind);
/* OpenBSD ELF uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
-void _initialize_i386obsd_tdep ();
-void
-_initialize_i386obsd_tdep ()
+INIT_GDB_FILE (i386obsd_tdep)
{
gdbarch_register_osabi (bfd_arch_i386, 0, GDB_OSABI_OPENBSD,
i386obsd_init_abi);
diff --git a/gdb/i386-sol2-nat.c b/gdb/i386-sol2-nat.c
index d0fb836..1e87007 100644
--- a/gdb/i386-sol2-nat.c
+++ b/gdb/i386-sol2-nat.c
@@ -252,9 +252,7 @@ fill_fpregset (const struct regcache *regcache,
#endif
-void _initialize_amd64_sol2_nat ();
-void
-_initialize_amd64_sol2_nat ()
+INIT_GDB_FILE (amd64_sol2_nat)
{
#if PR_MODEL_NATIVE == PR_MODEL_LP64
amd64_native_gregset32_reg_offset = amd64_sol2_gregset32_reg_offset;
diff --git a/gdb/i386-sol2-tdep.c b/gdb/i386-sol2-tdep.c
index e842236..4ff08d2 100644
--- a/gdb/i386-sol2-tdep.c
+++ b/gdb/i386-sol2-tdep.c
@@ -86,8 +86,7 @@ i386_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->sc_num_regs = tdep->gregset_num_regs;
/* Solaris has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
@@ -102,9 +101,7 @@ i386_sol2_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_i386_sol2_tdep ();
-void
-_initialize_i386_sol2_tdep ()
+INIT_GDB_FILE (i386_sol2_tdep)
{
/* Register an ELF OS ABI sniffer for Solaris 2 binaries. */
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_elf_flavour,
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 23788b4..9be4748 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -8970,9 +8970,7 @@ i386_target_description (uint64_t xcr0, bool segments)
return *tdesc;
}
-void _initialize_i386_tdep ();
-void
-_initialize_i386_tdep ()
+INIT_GDB_FILE (i386_tdep)
{
gdbarch_register (bfd_arch_i386, i386_gdbarch_init);
diff --git a/gdb/i386-windows-nat.c b/gdb/i386-windows-nat.c
index 6c1369a..f878727 100644
--- a/gdb/i386-windows-nat.c
+++ b/gdb/i386-windows-nat.c
@@ -82,9 +82,7 @@ i386_windows_segment_register_p (int regnum)
return regnum >= I386_CS_REGNUM && regnum <= I386_GS_REGNUM;
}
-void _initialize_i386_windows_nat ();
-void
-_initialize_i386_windows_nat ()
+INIT_GDB_FILE (i386_windows_nat)
{
#ifndef __x86_64__
x86_set_debug_register_length (4);
diff --git a/gdb/i386-windows-tdep.c b/gdb/i386-windows-tdep.c
index 43ae5e4..892ecd4 100644
--- a/gdb/i386-windows-tdep.c
+++ b/gdb/i386-windows-tdep.c
@@ -229,9 +229,7 @@ i386_cygwin_core_osabi_sniffer (bfd *abfd)
return GDB_OSABI_UNKNOWN;
}
-void _initialize_i386_windows_tdep ();
-void
-_initialize_i386_windows_tdep ()
+INIT_GDB_FILE (i386_windows_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
i386_windows_osabi_sniffer);
diff --git a/gdb/ia64-libunwind-tdep.c b/gdb/ia64-libunwind-tdep.c
index 3ba9cb6..6d3b265 100644
--- a/gdb/ia64-libunwind-tdep.c
+++ b/gdb/ia64-libunwind-tdep.c
@@ -574,9 +574,7 @@ libunwind_is_initialized (void)
return libunwind_initialized;
}
-void _initialize_libunwind_frame ();
-void
-_initialize_libunwind_frame ()
+INIT_GDB_FILE (libunwind_frame)
{
libunwind_initialized = libunwind_load ();
}
diff --git a/gdb/ia64-linux-nat.c b/gdb/ia64-linux-nat.c
index 964b175..e833f9d 100644
--- a/gdb/ia64-linux-nat.c
+++ b/gdb/ia64-linux-nat.c
@@ -914,9 +914,7 @@ ia64_linux_nat_target::low_status_is_event (int status)
|| WSTOPSIG (status) == SIGILL);
}
-void _initialize_ia64_linux_nat ();
-void
-_initialize_ia64_linux_nat ()
+INIT_GDB_FILE (ia64_linux_nat)
{
/* Register the target. */
linux_target = &the_ia64_linux_nat_target;
diff --git a/gdb/ia64-linux-tdep.c b/gdb/ia64-linux-tdep.c
index c45b2bb..6afffee 100644
--- a/gdb/ia64-linux-tdep.c
+++ b/gdb/ia64-linux-tdep.c
@@ -26,6 +26,7 @@
#include "solib-svr4.h"
#include "symtab.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "regset.h"
#include <ctype.h>
@@ -235,8 +236,7 @@ ia64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
@@ -257,9 +257,7 @@ ia64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
ia64_linux_stap_is_single_operand);
}
-void _initialize_ia64_linux_tdep ();
-void
-_initialize_ia64_linux_tdep ()
+INIT_GDB_FILE (ia64_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_ia64, 0, GDB_OSABI_LINUX,
ia64_linux_init_abi);
diff --git a/gdb/ia64-tdep.c b/gdb/ia64-tdep.c
index 395b5f7..7c6526a 100644
--- a/gdb/ia64-tdep.c
+++ b/gdb/ia64-tdep.c
@@ -4014,9 +4014,7 @@ ia64_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_ia64_tdep ();
-void
-_initialize_ia64_tdep ()
+INIT_GDB_FILE (ia64_tdep)
{
gdbarch_register (bfd_arch_ia64, ia64_gdbarch_init, NULL);
}
diff --git a/gdb/ia64-vms-tdep.c b/gdb/ia64-vms-tdep.c
index dcd5598..32fe5d4 100644
--- a/gdb/ia64-vms-tdep.c
+++ b/gdb/ia64-vms-tdep.c
@@ -153,9 +153,7 @@ ia64_openvms_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
#endif
}
-void _initialize_ia64_vms_tdep ();
-void
-_initialize_ia64_vms_tdep ()
+INIT_GDB_FILE (ia64_vms_tdep)
{
gdbarch_register_osabi (bfd_arch_ia64, 0, GDB_OSABI_OPENVMS,
ia64_openvms_init_abi);
diff --git a/gdb/inf-child.c b/gdb/inf-child.c
index 016f30a..57ad0b4 100644
--- a/gdb/inf-child.c
+++ b/gdb/inf-child.c
@@ -322,11 +322,11 @@ inf_child_target::fileio_fstat (int fd, struct stat *sb, fileio_error *target_er
return ret;
}
-/* Implementation of to_fileio_stat. */
+/* Implementation of to_fileio_lstat. */
int
-inf_child_target::fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno)
+inf_child_target::fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno)
{
int ret;
diff --git a/gdb/inf-child.h b/gdb/inf-child.h
index 79b5157..70de393 100644
--- a/gdb/inf-child.h
+++ b/gdb/inf-child.h
@@ -81,8 +81,8 @@ public:
int fileio_pread (int fd, gdb_byte *read_buf, int len,
ULONGEST offset, fileio_error *target_errno) override;
int fileio_fstat (int fd, struct stat *sb, fileio_error *target_errno) override;
- int fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno) override;
+ int fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno) override;
int fileio_close (int fd, fileio_error *target_errno) override;
int fileio_unlink (struct inferior *inf,
const char *filename,
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 098072d..2b5936d 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -1870,9 +1870,7 @@ When the function is done executing, GDB will silently stop."),
gdb_assert_not_reached ("... should not be here");
}
-void _initialize_infcall ();
-void
-_initialize_infcall ()
+INIT_GDB_FILE (infcall)
{
add_setshow_boolean_cmd ("may-call-functions", no_class,
&may_call_functions_p, _("\
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index e9b58ce..8978c8a 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -224,14 +224,11 @@ strip_bg_char (const char *args, int *bg_char_p)
return make_unique_xstrdup (args);
}
-/* Common actions to take after creating any sort of inferior, by any
- means (running, attaching, connecting, et cetera). The target
- should be stopped. */
+/* See inferior.h. */
void
-post_create_inferior (int from_tty)
+post_create_inferior (int from_tty, bool set_pspace_solib_ops)
{
-
/* Be sure we own the terminal in case write operations are performed. */
target_terminal::ours_for_output ();
@@ -261,6 +258,10 @@ post_create_inferior (int from_tty)
throw;
}
+ if (set_pspace_solib_ops)
+ current_program_space->set_solib_ops
+ (gdbarch_make_solib_ops (current_inferior ()->arch ()));
+
if (current_program_space->exec_bfd ())
{
const unsigned solib_add_generation
@@ -482,7 +483,7 @@ run_command_1 (const char *args, int from_tty, enum run_how run_how)
/* Pass zero for FROM_TTY, because at this point the "run" command
has done its thing; now we are setting up the running program. */
- post_create_inferior (0);
+ post_create_inferior (0, true);
/* Queue a pending event so that the program stops immediately. */
if (run_how == RUN_STOP_AT_FIRST_INSN)
@@ -2506,7 +2507,7 @@ setup_inferior (int from_tty)
/* Take any necessary post-attaching actions for this platform. */
target_post_attach (inferior_ptid.pid ());
- post_create_inferior (from_tty);
+ post_create_inferior (from_tty, true);
}
/* What to do after the first program stops after attaching. */
@@ -3080,9 +3081,7 @@ use \"set args\" without arguments.\n\
\n\
To start the inferior without using a shell, use \"set startup-with-shell off\"."
-void _initialize_infcmd ();
-void
-_initialize_infcmd ()
+INIT_GDB_FILE (infcmd)
{
static struct cmd_list_element *info_proc_cmdlist;
struct cmd_list_element *c = nullptr;
diff --git a/gdb/inferior.h b/gdb/inferior.h
index 54f5229..fe94e28 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -213,7 +213,14 @@ extern ptid_t gdb_startup_inferior (pid_t pid, int num_traps);
extern void setup_inferior (int from_tty);
-extern void post_create_inferior (int from_tty);
+/* Common actions to take after creating any sort of inferior, by any
+ means (running, attaching, connecting, et cetera). The target
+ should be stopped.
+
+ If SET_PSPACE_SOLIB_OPS is true, initialize the program space's solib
+ provider using the current inferior's architecture. */
+
+extern void post_create_inferior (int from_tty, bool set_pspace_solib_ops);
extern void attach_command (const char *, int);
diff --git a/gdb/inflow.c b/gdb/inflow.c
index f5ae6cd..31e1565 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -944,9 +944,7 @@ initialize_stdin_serial (void)
stdin_serial = serial_fdopen (0);
}
-void _initialize_inflow ();
-void
-_initialize_inflow ()
+INIT_GDB_FILE (inflow)
{
add_info ("terminal", info_terminal_command,
_("Print inferior's saved terminal status."));
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 3d5ede8..05bf6ab 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -58,7 +58,6 @@
#include "target-descriptions.h"
#include "target-dcache.h"
#include "terminal.h"
-#include "solist.h"
#include "gdbsupport/event-loop.h"
#include "thread-fsm.h"
#include "gdbsupport/enum-flags.h"
@@ -473,6 +472,7 @@ holding the child stopped. Try \"set %ps\" or \"%ps\".\n"),
inferior *parent_inf = current_inferior ();
inferior *child_inf = nullptr;
+ bool child_has_new_pspace = false;
gdb_assert (parent_inf->thread_waiting_for_vfork_done == nullptr);
@@ -537,6 +537,7 @@ holding the child stopped. Try \"set %ps\" or \"%ps\".\n"),
else
{
child_inf->pspace = new program_space (new_address_space ());
+ child_has_new_pspace = true;
child_inf->aspace = child_inf->pspace->aspace;
child_inf->removable = true;
clone_program_space (child_inf->pspace, parent_inf->pspace);
@@ -626,6 +627,7 @@ holding the child stopped. Try \"set %ps\" or \"%ps\".\n"),
else
{
child_inf->pspace = new program_space (new_address_space ());
+ child_has_new_pspace = true;
child_inf->aspace = child_inf->pspace->aspace;
child_inf->removable = true;
child_inf->symfile_flags = SYMFILE_NO_READ;
@@ -724,7 +726,8 @@ holding the child stopped. Try \"set %ps\" or \"%ps\".\n"),
maybe_restore.emplace ();
switch_to_thread (*child_inf->threads ().begin ());
- post_create_inferior (0);
+
+ post_create_inferior (0, child_has_new_pspace);
}
return false;
@@ -1322,6 +1325,7 @@ follow_exec (ptid_t ptid, const char *exec_file_target)
we don't want those to be satisfied by the libraries of the
previous incarnation of this process. */
no_shared_libraries (current_program_space);
+ current_program_space->unset_solib_ops ();
inferior *execing_inferior = current_inferior ();
inferior *following_inferior;
@@ -1378,6 +1382,8 @@ follow_exec (ptid_t ptid, const char *exec_file_target)
registers. */
target_find_description ();
+ current_program_space->set_solib_ops
+ (gdbarch_make_solib_ops (following_inferior->arch ()));
gdb::observers::inferior_execd.notify (execing_inferior, following_inferior);
breakpoint_re_set ();
@@ -3819,7 +3825,7 @@ start_remote (int from_tty)
/* Now that the inferior has stopped, do any bookkeeping like
loading shared libraries. We want to do this before normal_stop,
so that the displayed frame is up to date. */
- post_create_inferior (from_tty);
+ post_create_inferior (from_tty, true);
normal_stop ();
}
@@ -3972,7 +3978,8 @@ delete_just_stopped_threads_single_step_breakpoints (void)
void
print_target_wait_results (ptid_t waiton_ptid, ptid_t result_ptid,
- const struct target_waitstatus &ws)
+ const struct target_waitstatus &ws,
+ process_stratum_target *proc_target)
{
infrun_debug_printf ("target_wait (%s [%s], status) =",
waiton_ptid.to_string ().c_str (),
@@ -3981,6 +3988,20 @@ print_target_wait_results (ptid_t waiton_ptid, ptid_t result_ptid,
result_ptid.to_string ().c_str (),
target_pid_to_str (result_ptid).c_str ());
infrun_debug_printf (" %s", ws.to_string ().c_str ());
+
+ if (proc_target != nullptr)
+ infrun_debug_printf (" from target %d (%s)",
+ proc_target->connection_number,
+ proc_target->shortname ());
+}
+
+/* Wrapper for print_target_wait_results above for convenience. */
+
+static void
+print_target_wait_results (ptid_t waiton_ptid,
+ const execution_control_state &ecs)
+{
+ print_target_wait_results (waiton_ptid, ecs.ptid, ecs.ws, ecs.target);
}
/* Select a thread at random, out of those which are resumed and have
@@ -4332,7 +4353,8 @@ prepare_for_detach (void)
event.ptid = do_target_wait_1 (inf, pid_ptid, &event.ws, 0);
if (debug_infrun)
- print_target_wait_results (pid_ptid, event.ptid, event.ws);
+ print_target_wait_results (pid_ptid, event.ptid, event.ws,
+ event.target);
handle_one (event);
}
@@ -4388,7 +4410,7 @@ wait_for_inferior (inferior *inf)
ecs.target = inf->process_target ();
if (debug_infrun)
- print_target_wait_results (minus_one_ptid, ecs.ptid, ecs.ws);
+ print_target_wait_results (minus_one_ptid, ecs);
/* Now figure out what to do with the result of the result. */
handle_inferior_event (&ecs);
@@ -4669,7 +4691,7 @@ fetch_inferior_event ()
switch_to_target_no_thread (ecs.target);
if (debug_infrun)
- print_target_wait_results (minus_one_ptid, ecs.ptid, ecs.ws);
+ print_target_wait_results (minus_one_ptid, ecs);
/* If an error happens while handling the event, propagate GDB's
knowledge of the executing state to the frontend/user running
@@ -5232,7 +5254,8 @@ poll_one_curr_target (struct target_waitstatus *ws)
event_ptid = target_wait (minus_one_ptid, ws, TARGET_WNOHANG);
if (debug_infrun)
- print_target_wait_results (minus_one_ptid, event_ptid, *ws);
+ print_target_wait_results (minus_one_ptid, event_ptid, *ws,
+ current_inferior ()->process_target ());
return event_ptid;
}
@@ -10515,9 +10538,7 @@ infrun_thread_ptid_changed ()
#endif /* GDB_SELF_TEST */
-void _initialize_infrun ();
-void
-_initialize_infrun ()
+INIT_GDB_FILE (infrun)
{
struct cmd_list_element *c;
diff --git a/gdb/infrun.h b/gdb/infrun.h
index 2067fd5..b9b64ac 100644
--- a/gdb/infrun.h
+++ b/gdb/infrun.h
@@ -256,7 +256,8 @@ extern void print_stop_event (struct ui_out *uiout, bool displays = true);
/* Pretty print the results of target_wait, for debugging purposes. */
extern void print_target_wait_results (ptid_t waiton_ptid, ptid_t result_ptid,
- const struct target_waitstatus &ws);
+ const struct target_waitstatus &ws,
+ process_stratum_target *proc_target);
extern int signal_stop_state (int);
diff --git a/gdb/inline-frame.c b/gdb/inline-frame.c
index d724c28..2191282 100644
--- a/gdb/inline-frame.c
+++ b/gdb/inline-frame.c
@@ -615,9 +615,7 @@ maintenance_info_inline_frames (const char *arg, int from_tty)
-void _initialize_inline_frame ();
-void
-_initialize_inline_frame ()
+INIT_GDB_FILE (inline_frame)
{
add_cmd ("inline-frames", class_maintenance, maintenance_info_inline_frames,
_("\
diff --git a/gdb/interps.c b/gdb/interps.c
index 00796bc..b4de3c7 100644
--- a/gdb/interps.c
+++ b/gdb/interps.c
@@ -575,9 +575,7 @@ interps_notify_memory_changed (inferior *inf, CORE_ADDR addr, ssize_t len,
}
/* This just adds the "interpreter-exec" command. */
-void _initialize_interpreter ();
-void
-_initialize_interpreter ()
+INIT_GDB_FILE (interpreter)
{
struct cmd_list_element *c;
diff --git a/gdb/interps.h b/gdb/interps.h
index 8d35309..c74495b 100644
--- a/gdb/interps.h
+++ b/gdb/interps.h
@@ -23,6 +23,7 @@
#define GDB_INTERPS_H
#include "gdbsupport/intrusive_list.h"
+#include "gdbsupport/event-loop.h"
struct bpstat;
struct ui_out;
@@ -78,6 +79,13 @@ public:
virtual void pre_command_loop ()
{}
+ /* Service one event.
+ This gives the interpreter a chance to handle its own private
+ events that cannot be fed into the gdb event mechanism.
+ In all cases, this should call gdb_do_one_event at some point. */
+ virtual int do_one_event (int mstimeout = -1)
+ { return gdb_do_one_event (mstimeout); }
+
/* Returns true if this interpreter supports using the readline
library; false if it uses GDB's own simplified readline
emulation. */
diff --git a/gdb/iq2000-tdep.c b/gdb/iq2000-tdep.c
index 49ae744..58a4dfb 100644
--- a/gdb/iq2000-tdep.c
+++ b/gdb/iq2000-tdep.c
@@ -840,9 +840,7 @@ iq2000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
Initializer function for the iq2000 module.
Called by gdb at start-up. */
-void _initialize_iq2000_tdep ();
-void
-_initialize_iq2000_tdep ()
+INIT_GDB_FILE (iq2000_tdep)
{
gdbarch_register (bfd_arch_iq2000, iq2000_gdbarch_init);
}
diff --git a/gdb/jit.c b/gdb/jit.c
index 1944e8a..0ea7bd9 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -1313,9 +1313,7 @@ show_jit_reader_directory (const char *args, int from_tty)
jit_reader_dir.c_str ()));
}
-void _initialize_jit ();
-void
-_initialize_jit ()
+INIT_GDB_FILE (jit)
{
jit_reader_dir = relocate_gdb_directory (JIT_READER_DIR,
JIT_READER_DIR_RELOCATABLE);
diff --git a/gdb/language.c b/gdb/language.c
index 18a7c9c..80f9b01 100644
--- a/gdb/language.c
+++ b/gdb/language.c
@@ -1095,9 +1095,7 @@ language_lookup_primitive_type_as_symbol (const struct language_defn *la,
/* Initialize the language routines. */
-void _initialize_language ();
-void
-_initialize_language ()
+INIT_GDB_FILE (language)
{
static const char *const type_or_range_names[]
= { "on", "off", "warn", "auto", NULL };
diff --git a/gdb/linespec.c b/gdb/linespec.c
index d42420c..b59c055 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -1016,7 +1016,7 @@ linespec_lexer_consume_token (linespec_parser *parser)
if (*parser->lexer.stream != '\0')
{
parser->completion_quote_char = '\0';
- parser->completion_quote_end = NULL;;
+ parser->completion_quote_end = NULL;
}
}
@@ -1074,6 +1074,12 @@ add_sal_to_sals (struct linespec_state *self,
struct symtab_and_line *sal,
const char *symname, bool literal_canonical)
{
+ /* We don't want two SALs with the same PC from the
+ same program space. */
+ for (const auto &s : *sals)
+ if (sal->pc == s.pc && sal->pspace == s.pspace)
+ return;
+
sals->push_back (*sal);
if (self->canonical)
@@ -3407,30 +3413,52 @@ lookup_prefix_sym (struct linespec_state *state,
return collector.release_symbols ();
}
-/* A std::sort comparison function for symbols. The resulting order does
- not actually matter; we just need to be able to sort them so that
- symbols with the same program space end up next to each other. */
+/* Compare pspace A and B based on program space ID. Return 0 if equal,
+ 1 if A->num > B->num, -1 otherwise (modeled on strcmp). */
-static bool
-compare_symbols (const block_symbol &a, const block_symbol &b)
+static int
+compare_pspace (const struct program_space *a, const struct program_space *b)
{
- uintptr_t uia, uib;
+ if (a->num > b->num)
+ return 1;
- uia = (uintptr_t) a.symbol->symtab ()->compunit ()->objfile ()->pspace ();
- uib = (uintptr_t) b.symbol->symtab ()->compunit ()->objfile ()->pspace ();
+ if (a->num < b->num)
+ return -1;
- if (uia < uib)
- return true;
- if (uia > uib)
- return false;
+ return 0;
+}
+
+/* An std::sort comparison function for pointers. Don't use this if stable
+ sorting results are required. */
+
+static bool
+compare_pointers (void *a, void *b)
+{
+ return (uintptr_t)a < (uintptr_t)b;
+}
- uia = (uintptr_t) a.symbol;
- uib = (uintptr_t) b.symbol;
+/* An std::sort comparison function for symbols. The requirement is that
+ symbols with the same program space end up next to each other. This is for
+ the purpose of iterating over the symbols and doing something once for each
+ program space. */
- if (uia < uib)
+static bool
+compare_symbols (const block_symbol &a, const block_symbol &b)
+{
+ /* To check for same program space, we could just use a pointer comparison,
+ which gives unstable sorting results. While the assumption is that this
+ doesn't matter, play it safe and compare program space IDs instead. */
+ int cmp
+ = compare_pspace (a.symbol->symtab ()->compunit ()->objfile ()->pspace (),
+ b.symbol->symtab ()->compunit ()->objfile ()->pspace ());
+ if (cmp == -1)
return true;
+ if (cmp == 1)
+ return false;
- return false;
+ /* This gives unstable sorting results. We assume that this doesn't
+ matter. */
+ return compare_pointers (a.symbol, b.symbol);
}
/* Like compare_symbols but for minimal symbols. */
@@ -3438,23 +3466,16 @@ compare_symbols (const block_symbol &a, const block_symbol &b)
static bool
compare_msymbols (const bound_minimal_symbol &a, const bound_minimal_symbol &b)
{
- uintptr_t uia, uib;
-
- uia = (uintptr_t) a.objfile->pspace ();
- uib = (uintptr_t) a.objfile->pspace ();
-
- if (uia < uib)
+ /* See comment in compare_symbols for use of compare_pspace. */
+ int cmp = compare_pspace (a.objfile->pspace (), a.objfile->pspace ());
+ if (cmp == -1)
return true;
- if (uia > uib)
+ if (cmp == 1)
return false;
- uia = (uintptr_t) a.minsym;
- uib = (uintptr_t) b.minsym;
-
- if (uia < uib)
- return true;
-
- return false;
+ /* This gives unstable sorting results. We assume that this doesn't
+ matter. */
+ return compare_pointers (a.minsym, b.minsym);
}
/* Look for all the matching instances of each symbol in NAMES. Only
diff --git a/gdb/linux-fork.c b/gdb/linux-fork.c
index 338ba03..9e986d8 100644
--- a/gdb/linux-fork.c
+++ b/gdb/linux-fork.c
@@ -1115,9 +1115,7 @@ restart_command (const char *args, int from_tty)
linux_fork_context (fp, from_tty, inf);
}
-void _initialize_linux_fork ();
-void
-_initialize_linux_fork ()
+INIT_GDB_FILE (linux_fork)
{
/* Checkpoint command: create a fork of the inferior process
and set it aside for later debugging. */
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index 2f98060..70f77fd 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -2129,7 +2129,7 @@ linux_handle_extended_wait (struct lwp_info *lp, int status)
open_proc_mem_file (lp->ptid);
ourstatus->set_execd
- (make_unique_xstrdup (linux_proc_pid_to_exec_file (pid)));
+ (make_unique_xstrdup (linux_target->pid_to_exec_file (pid)));
/* The thread that execed must have been resumed, but, when a
thread execs, it changes its tid to the tgid, and the old
@@ -4000,7 +4000,14 @@ linux_nat_target::thread_name (struct thread_info *thr)
const char *
linux_nat_target::pid_to_exec_file (int pid)
{
- return linux_proc_pid_to_exec_file (pid);
+ /* If there's no sysroot. Or the sysroot is just 'target:' and the
+ inferior is in the same mount namespce, then we can consider the
+ filesystem local. */
+ bool local_fs = (gdb_sysroot.empty ()
+ || (gdb_sysroot == TARGET_SYSROOT_PREFIX
+ && linux_ns_same (pid, LINUX_NS_MNT)));
+
+ return linux_proc_pid_to_exec_file (pid, local_fs);
}
/* Object representing an /proc/PID/mem open file. We keep one such
@@ -4585,6 +4592,20 @@ linux_nat_target::fileio_open (struct inferior *inf, const char *filename,
return fd;
}
+/* Implementation of to_fileio_lstat. */
+
+int
+linux_nat_target::fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno)
+{
+ int r = linux_mntns_lstat (linux_nat_fileio_pid_of (inf), filename, sb);
+
+ if (r == -1)
+ *target_errno = host_to_fileio_error (errno);
+
+ return r;
+}
+
/* Implementation of to_fileio_readlink. */
std::optional<std::string>
@@ -4707,9 +4728,7 @@ maintenance_info_lwps (const char *arg, int from_tty)
}
}
-void _initialize_linux_nat ();
-void
-_initialize_linux_nat ()
+INIT_GDB_FILE (linux_nat)
{
add_setshow_boolean_cmd ("linux-nat", class_maintenance,
&debug_linux_nat, _("\
diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
index 6e53991..21ec309 100644
--- a/gdb/linux-nat.h
+++ b/gdb/linux-nat.h
@@ -108,6 +108,9 @@ public:
const char *filename,
fileio_error *target_errno) override;
+ int fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno) override;
+
int fileio_unlink (struct inferior *inf,
const char *filename,
fileio_error *target_errno) override;
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index 141c119..5c4bbf6 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -630,9 +630,9 @@ mapping_is_anonymous_p (const char *filename)
return 0;
}
-/* Return 0 if the memory mapping (which is related to FILTERFLAGS, V,
- MAYBE_PRIVATE_P, MAPPING_ANONYMOUS_P, ADDR and OFFSET) should not
- be dumped, or greater than 0 if it should.
+/* Return false if the memory mapping represented by MAP should not be
+ dumped, or true if it should. FILTERFLAGS guides which mappings
+ should be dumped.
In a nutshell, this is the logic that we follow in order to decide
if a mapping should be dumped or not.
@@ -677,11 +677,14 @@ mapping_is_anonymous_p (const char *filename)
header (of a DSO or an executable, for example). If it is, and
if the user is interested in dump it, then we should dump it. */
-static int
-dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
- int maybe_private_p, int mapping_anon_p, int mapping_file_p,
- const char *filename, ULONGEST addr, ULONGEST offset)
+static bool
+dump_mapping_p (filter_flags filterflags, const smaps_data &map)
{
+ /* Older Linux kernels did not support the "Anonymous:" counter.
+ If it is missing, we can't be sure what to dump, so dump everything. */
+ if (!map.has_anonymous)
+ return true;
+
/* Initially, we trust in what we received from our caller. This
value may not be very precise (i.e., it was probably gathered
from the permission line in the /proc/PID/smaps list, which
@@ -689,41 +692,42 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
what we have until we take a look at the "VmFlags:" field
(assuming that the version of the Linux kernel being used
supports it, of course). */
- int private_p = maybe_private_p;
- int dump_p;
+ int private_p = map.priv;
/* We always dump vDSO and vsyscall mappings, because it's likely that
there'll be no file to read the contents from at core load time.
The kernel does the same. */
- if (strcmp ("[vdso]", filename) == 0
- || strcmp ("[vsyscall]", filename) == 0)
- return 1;
+ if (map.filename == "[vdso]" || map.filename == "[vsyscall]")
+ return true;
- if (v->initialized_p)
+ if (map.vmflags.initialized_p)
{
/* We never dump I/O mappings. */
- if (v->io_page)
- return 0;
+ if (map.vmflags.io_page)
+ return false;
/* Check if we should exclude this mapping. */
- if (!dump_excluded_mappings && v->exclude_coredump)
- return 0;
+ if (!dump_excluded_mappings && map.vmflags.exclude_coredump)
+ return false;
/* Update our notion of whether this mapping is shared or
private based on a trustworthy value. */
- private_p = !v->shared_mapping;
+ private_p = !map.vmflags.shared_mapping;
/* HugeTLB checking. */
- if (v->uses_huge_tlb)
+ if (map.vmflags.uses_huge_tlb)
{
if ((private_p && (filterflags & COREFILTER_HUGETLB_PRIVATE))
|| (!private_p && (filterflags & COREFILTER_HUGETLB_SHARED)))
- return 1;
+ return true;
- return 0;
+ return false;
}
}
+ int mapping_anon_p = map.mapping_anon_p;
+ int mapping_file_p = map.mapping_file_p;
+ bool dump_p;
if (private_p)
{
if (mapping_anon_p && mapping_file_p)
@@ -763,7 +767,7 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
A mapping contains an ELF header if it is a private mapping, its
offset is zero, and its first word is ELFMAG. */
- if (!dump_p && private_p && offset == 0
+ if (!dump_p && private_p && map.offset == 0
&& (filterflags & COREFILTER_ELF_HEADERS) != 0)
{
/* Useful define specifying the size of the ELF magical
@@ -774,7 +778,7 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
/* Let's check if we have an ELF header. */
gdb_byte h[SELFMAG];
- if (target_read_memory (addr, h, SELFMAG) == 0)
+ if (target_read_memory (map.start_address, h, SELFMAG) == 0)
{
/* The EI_MAG* and ELFMAG* constants come from
<elf/common.h>. */
@@ -783,7 +787,7 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
{
/* This mapping contains an ELF header, so we
should dump it. */
- dump_p = 1;
+ dump_p = true;
}
}
}
@@ -794,20 +798,24 @@ dump_mapping_p (filter_flags filterflags, const struct smaps_vmflags *v,
/* As above, but return true only when we should dump the NT_FILE
entry. */
-static int
-dump_note_entry_p (filter_flags filterflags, const struct smaps_vmflags *v,
- int maybe_private_p, int mapping_anon_p, int mapping_file_p,
- const char *filename, ULONGEST addr, ULONGEST offset)
+static bool
+dump_note_entry_p (filter_flags filterflags, const smaps_data &map)
{
- /* vDSO and vsyscall mappings will end up in the core file. Don't
- put them in the NT_FILE note. */
- if (strcmp ("[vdso]", filename) == 0
- || strcmp ("[vsyscall]", filename) == 0)
- return 0;
+ /* No NT_FILE entry for mappings with no filename. */
+ if (map.filename.length () == 0)
+ return false;
+
+ /* Special kernel mappings, those with names like '[vdso]' and
+ '[vsyscall]' will be placed in the core file, but shouldn't get an
+ NT_FILE entry. These special mappings all have a zero inode. */
+ if (map.inode == 0
+ && map.filename.front () == '['
+ && map.filename.back () == ']')
+ return false;
/* Otherwise, any other file-based mapping should be placed in the
note. */
- return 1;
+ return true;
}
/* Implement the "info proc" command. */
@@ -1314,21 +1322,15 @@ linux_core_xfer_siginfo (struct gdbarch *gdbarch, gdb_byte *readbuf,
}
typedef int linux_find_memory_region_ftype (ULONGEST vaddr, ULONGEST size,
- ULONGEST offset, ULONGEST inode,
+ ULONGEST offset,
int read, int write,
int exec, int modified,
bool memory_tagged,
- const char *filename,
+ const std::string &filename,
void *data);
-typedef int linux_dump_mapping_p_ftype (filter_flags filterflags,
- const struct smaps_vmflags *v,
- int maybe_private_p,
- int mapping_anon_p,
- int mapping_file_p,
- const char *filename,
- ULONGEST addr,
- ULONGEST offset);
+typedef bool linux_dump_mapping_p_ftype (filter_flags filterflags,
+ const smaps_data &map);
/* Helper function to parse the contents of /proc/<pid>/smaps into a data
structure, for easy access.
@@ -1590,35 +1592,15 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch,
for (const struct smaps_data &map : smaps)
{
- int should_dump_p = 0;
-
- if (map.has_anonymous)
- {
- should_dump_p
- = should_dump_mapping_p (filterflags, &map.vmflags,
- map.priv,
- map.mapping_anon_p,
- map.mapping_file_p,
- map.filename.c_str (),
- map.start_address,
- map.offset);
- }
- else
- {
- /* Older Linux kernels did not support the "Anonymous:" counter.
- If it is missing, we can't be sure - dump all the pages. */
- should_dump_p = 1;
- }
-
/* Invoke the callback function to create the corefile segment. */
- if (should_dump_p)
+ if (should_dump_mapping_p (filterflags, map))
{
func (map.start_address, map.end_address - map.start_address,
- map.offset, map.inode, map.read, map.write, map.exec,
+ map.offset, map.read, map.write, map.exec,
1, /* MODIFIED is true because we want to dump
the mapping. */
map.vmflags.memory_tagging != 0,
- map.filename.c_str (), obfd);
+ map.filename, obfd);
}
}
@@ -1644,10 +1626,10 @@ struct linux_find_memory_regions_data
static int
linux_find_memory_regions_thunk (ULONGEST vaddr, ULONGEST size,
- ULONGEST offset, ULONGEST inode,
+ ULONGEST offset,
int read, int write, int exec, int modified,
bool memory_tagged,
- const char *filename, void *arg)
+ const std::string &filename, void *arg)
{
struct linux_find_memory_regions_data *data
= (struct linux_find_memory_regions_data *) arg;
@@ -1693,8 +1675,6 @@ struct linux_make_mappings_data
struct type *long_type;
};
-static linux_find_memory_region_ftype linux_make_mappings_callback;
-
/* A callback for linux_find_memory_regions_full that updates the
mappings data for linux_make_mappings_corefile_notes.
@@ -1703,17 +1683,16 @@ static linux_find_memory_region_ftype linux_make_mappings_callback;
static int
linux_make_mappings_callback (ULONGEST vaddr, ULONGEST size,
- ULONGEST offset, ULONGEST inode,
+ ULONGEST offset,
int read, int write, int exec, int modified,
bool memory_tagged,
- const char *filename, void *data)
+ const std::string &filename, void *data)
{
struct linux_make_mappings_data *map_data
= (struct linux_make_mappings_data *) data;
gdb_byte buf[sizeof (ULONGEST)];
- if (*filename == '\0' || inode == 0)
- return 0;
+ gdb_assert (filename.length () > 0);
++map_data->file_count;
@@ -1724,7 +1703,7 @@ linux_make_mappings_callback (ULONGEST vaddr, ULONGEST size,
pack_long (buf, map_data->long_type, offset);
obstack_grow (map_data->data_obstack, buf, map_data->long_type->length ());
- obstack_grow_str0 (map_data->filename_obstack, filename);
+ obstack_grow_str0 (map_data->filename_obstack, filename.c_str ());
return 0;
}
@@ -3102,9 +3081,7 @@ linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch,
linux_corefile_parse_exec_context);
}
-void _initialize_linux_tdep ();
-void
-_initialize_linux_tdep ()
+INIT_GDB_FILE (linux_tdep)
{
/* Observers used to invalidate the cache when needed. */
gdb::observers::inferior_exit.attach (invalidate_linux_cache_inf,
@@ -3137,65 +3114,5 @@ VM_DONTDUMP flag (\"dd\" in /proc/PID/smaps) when generating the corefile. For\
more information about this file, refer to the manpage of proc(5) and core(5)."),
NULL, show_dump_excluded_mappings,
&setlist, &showlist);
-}
-
-/* Fetch (and possibly build) an appropriate `link_map_offsets' for
- ILP32/LP64 Linux systems which don't have the r_ldsomap field. */
-
-link_map_offsets *
-linux_ilp32_fetch_link_map_offsets ()
-{
- static link_map_offsets lmo;
- static link_map_offsets *lmp = nullptr;
-
- if (lmp == nullptr)
- {
- lmp = &lmo;
-
- lmo.r_version_offset = 0;
- lmo.r_version_size = 4;
- lmo.r_map_offset = 4;
- lmo.r_brk_offset = 8;
- lmo.r_ldsomap_offset = -1;
- lmo.r_next_offset = 20;
-
- /* Everything we need is in the first 20 bytes. */
- lmo.link_map_size = 20;
- lmo.l_addr_offset = 0;
- lmo.l_name_offset = 4;
- lmo.l_ld_offset = 8;
- lmo.l_next_offset = 12;
- lmo.l_prev_offset = 16;
- }
-
- return lmp;
-}
-
-link_map_offsets *
-linux_lp64_fetch_link_map_offsets ()
-{
- static link_map_offsets lmo;
- static link_map_offsets *lmp = nullptr;
-
- if (lmp == nullptr)
- {
- lmp = &lmo;
-
- lmo.r_version_offset = 0;
- lmo.r_version_size = 4;
- lmo.r_map_offset = 8;
- lmo.r_brk_offset = 16;
- lmo.r_ldsomap_offset = -1;
- lmo.r_next_offset = 40;
-
- /* Everything we need is in the first 40 bytes. */
- lmo.link_map_size = 40;
- lmo.l_addr_offset = 0;
- lmo.l_name_offset = 8;
- lmo.l_ld_offset = 16;
- lmo.l_next_offset = 24;
- lmo.l_prev_offset = 32;
- }
- return lmp;
}
diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h
index 7485fc1..3d82ea5 100644
--- a/gdb/linux-tdep.h
+++ b/gdb/linux-tdep.h
@@ -22,6 +22,7 @@
#include "bfd.h"
#include "displaced-stepping.h"
+#include "solib.h"
struct inferior;
struct regcache;
@@ -112,9 +113,4 @@ extern CORE_ADDR linux_get_hwcap2 (const std::optional<gdb::byte_vector> &auxv,
extern CORE_ADDR linux_get_hwcap2 ();
-/* Fetch (and possibly build) an appropriate `struct link_map_offsets'
- for ILP32 and LP64 Linux systems. */
-extern struct link_map_offsets *linux_ilp32_fetch_link_map_offsets ();
-extern struct link_map_offsets *linux_lp64_fetch_link_map_offsets ();
-
#endif /* GDB_LINUX_TDEP_H */
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index f60116a..8d49508 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -1981,9 +1981,7 @@ maintenance_check_libthread_db (const char *args, int from_tty)
check_thread_db (info, true);
}
-void _initialize_thread_db ();
-void
-_initialize_thread_db ()
+INIT_GDB_FILE (thread_db)
{
/* Defer loading of libthread_db.so until inferior is running.
This allows gdb to load correct libthread_db for a given
diff --git a/gdb/lm32-tdep.c b/gdb/lm32-tdep.c
index ef956b8..cee2e51 100644
--- a/gdb/lm32-tdep.c
+++ b/gdb/lm32-tdep.c
@@ -536,9 +536,7 @@ lm32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_lm32_tdep ();
-void
-_initialize_lm32_tdep ()
+INIT_GDB_FILE (lm32_tdep)
{
gdbarch_register (bfd_arch_lm32, lm32_gdbarch_init);
}
diff --git a/gdb/loongarch-linux-nat.c b/gdb/loongarch-linux-nat.c
index 3efaa5f..2b59b36 100644
--- a/gdb/loongarch-linux-nat.c
+++ b/gdb/loongarch-linux-nat.c
@@ -751,9 +751,7 @@ loongarch_linux_nat_target::low_forget_process (pid_t pid)
/* Initialize LoongArch Linux native support. */
-void _initialize_loongarch_linux_nat ();
-void
-_initialize_loongarch_linux_nat ()
+INIT_GDB_FILE (loongarch_linux_nat)
{
linux_target = &the_loongarch_linux_nat_target;
add_inf_child_target (&the_loongarch_linux_nat_target);
diff --git a/gdb/loongarch-linux-tdep.c b/gdb/loongarch-linux-tdep.c
index 38485e0..3766338 100644
--- a/gdb/loongarch-linux-tdep.c
+++ b/gdb/loongarch-linux-tdep.c
@@ -25,6 +25,7 @@
#include "inferior.h"
#include "linux-record.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "loongarch-tdep.h"
#include "record-full.h"
#include "regset.h"
@@ -1145,10 +1146,9 @@ loongarch_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
linux_init_abi (info, gdbarch, 0);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- info.bfd_arch_info->bits_per_address == 32
- ? linux_ilp32_fetch_link_map_offsets
- : linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, (info.bfd_arch_info->bits_per_address == 32
+ ? make_linux_ilp32_svr4_solib_ops
+ : make_linux_lp64_svr4_solib_ops));
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
@@ -1183,9 +1183,7 @@ loongarch_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Initialize LoongArch Linux target support. */
-void _initialize_loongarch_linux_tdep ();
-void
-_initialize_loongarch_linux_tdep ()
+INIT_GDB_FILE (loongarch_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_loongarch, bfd_mach_loongarch32,
GDB_OSABI_LINUX, loongarch_linux_init_abi);
diff --git a/gdb/loongarch-tdep.c b/gdb/loongarch-tdep.c
index 092127dd..cc75cd4 100644
--- a/gdb/loongarch-tdep.c
+++ b/gdb/loongarch-tdep.c
@@ -74,7 +74,9 @@ loongarch_insn_is_cond_branch (insn_t insn)
|| (insn & 0xfc000000) == 0x68000000 /* bltu */
|| (insn & 0xfc000000) == 0x6c000000 /* bgeu */
|| (insn & 0xfc000000) == 0x40000000 /* beqz */
- || (insn & 0xfc000000) == 0x44000000) /* bnez */
+ || (insn & 0xfc000000) == 0x44000000 /* bnez */
+ || (insn & 0xfc000300) == 0x48000000 /* bceqz */
+ || (insn & 0xfc000300) == 0x48000100) /* bcnez */
return true;
return false;
}
@@ -314,6 +316,20 @@ loongarch_next_pc (struct regcache *regcache, CORE_ADDR cur_pc)
if (rj != 0)
next_pc = cur_pc + loongarch_decode_imm ("0:5|10:16<<2", insn, 1);
}
+ else if ((insn & 0xfc000300) == 0x48000000) /* bceqz cj, offs21 */
+ {
+ LONGEST cj = regcache_raw_get_signed (regcache,
+ loongarch_decode_imm ("5:3", insn, 0) + LOONGARCH_FIRST_FCC_REGNUM);
+ if (cj == 0)
+ next_pc = cur_pc + loongarch_decode_imm ("0:5|10:16<<2", insn, 1);
+ }
+ else if ((insn & 0xfc000300) == 0x48000100) /* bcnez cj, offs21 */
+ {
+ LONGEST cj = regcache_raw_get_signed (regcache,
+ loongarch_decode_imm ("5:3", insn, 0) + LOONGARCH_FIRST_FCC_REGNUM);
+ if (cj != 0)
+ next_pc = cur_pc + loongarch_decode_imm ("0:5|10:16<<2", insn, 1);
+ }
else if ((insn & 0xffff8000) == 0x002b0000) /* syscall */
{
if (tdep->syscall_next_pc != nullptr)
@@ -2405,9 +2421,7 @@ loongarch_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
return ret;
}
-void _initialize_loongarch_tdep ();
-void
-_initialize_loongarch_tdep ()
+INIT_GDB_FILE (loongarch_tdep)
{
gdbarch_register (bfd_arch_loongarch, loongarch_gdbarch_init, nullptr);
}
diff --git a/gdb/m32c-tdep.c b/gdb/m32c-tdep.c
index f8937a2..8d99839 100644
--- a/gdb/m32c-tdep.c
+++ b/gdb/m32c-tdep.c
@@ -2653,9 +2653,7 @@ m32c_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_m32c_tdep ();
-void
-_initialize_m32c_tdep ()
+INIT_GDB_FILE (m32c_tdep)
{
gdbarch_register (bfd_arch_m32c, m32c_gdbarch_init);
diff --git a/gdb/m32r-linux-nat.c b/gdb/m32r-linux-nat.c
index 7607bd2..c186693 100644
--- a/gdb/m32r-linux-nat.c
+++ b/gdb/m32r-linux-nat.c
@@ -234,9 +234,7 @@ m32r_linux_nat_target::store_registers (struct regcache *regcache, int regno)
internal_error (_("Got request to store bad register number %d."), regno);
}
-void _initialize_m32r_linux_nat ();
-void
-_initialize_m32r_linux_nat ()
+INIT_GDB_FILE (m32r_linux_nat)
{
/* Register the target. */
linux_target = &the_m32r_linux_nat_target;
diff --git a/gdb/m32r-linux-tdep.c b/gdb/m32r-linux-tdep.c
index 4fbe7d9..03000cc 100644
--- a/gdb/m32r-linux-tdep.c
+++ b/gdb/m32r-linux-tdep.c
@@ -36,6 +36,7 @@
#include "m32r-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "gdbarch.h"
@@ -461,8 +462,7 @@ m32r_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* Core file support. */
set_gdbarch_iterate_over_regset_sections
@@ -473,9 +473,7 @@ m32r_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
svr4_fetch_objfile_link_map);
}
-void _initialize_m32r_linux_tdep ();
-void
-_initialize_m32r_linux_tdep ()
+INIT_GDB_FILE (m32r_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_m32r, 0, GDB_OSABI_LINUX,
m32r_linux_init_abi);
diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c
index 6b6ad03..4ac08fd 100644
--- a/gdb/m32r-tdep.c
+++ b/gdb/m32r-tdep.c
@@ -908,9 +908,7 @@ m32r_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_m32r_tdep ();
-void
-_initialize_m32r_tdep ()
+INIT_GDB_FILE (m32r_tdep)
{
gdbarch_register (bfd_arch_m32r, m32r_gdbarch_init);
}
diff --git a/gdb/m68hc11-tdep.c b/gdb/m68hc11-tdep.c
index dd8cbda..5389fee 100644
--- a/gdb/m68hc11-tdep.c
+++ b/gdb/m68hc11-tdep.c
@@ -1527,9 +1527,7 @@ m68hc11_gdbarch_init (struct gdbarch_info info,
return gdbarch;
}
-void _initialize_m68hc11_tdep ();
-void
-_initialize_m68hc11_tdep ()
+INIT_GDB_FILE (m68hc11_tdep)
{
gdbarch_register (bfd_arch_m68hc11, m68hc11_gdbarch_init);
gdbarch_register (bfd_arch_m68hc12, m68hc11_gdbarch_init);
diff --git a/gdb/m68k-bsd-nat.c b/gdb/m68k-bsd-nat.c
index 04542fd..ae8fa4d 100644
--- a/gdb/m68k-bsd-nat.c
+++ b/gdb/m68k-bsd-nat.c
@@ -225,9 +225,7 @@ m68kbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
return 1;
}
-void _initialize_m68kbsd_nat ();
-void
-_initialize_m68kbsd_nat ()
+INIT_GDB_FILE (m68kbsd_nat)
{
add_inf_child_target (&the_m68k_bsd_nat_target);
diff --git a/gdb/m68k-bsd-tdep.c b/gdb/m68k-bsd-tdep.c
index 09c57c6..37c1464 100644
--- a/gdb/m68k-bsd-tdep.c
+++ b/gdb/m68k-bsd-tdep.c
@@ -147,13 +147,10 @@ m68kbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tdep->struct_return = pcc_struct_return;
/* NetBSD ELF uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
-void _initialize_m68kbsd_tdep ();
-void
-_initialize_m68kbsd_tdep ()
+INIT_GDB_FILE (m68kbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_NETBSD,
m68kbsd_init_abi);
diff --git a/gdb/m68k-linux-nat.c b/gdb/m68k-linux-nat.c
index d43ed68..02286ff 100644
--- a/gdb/m68k-linux-nat.c
+++ b/gdb/m68k-linux-nat.c
@@ -508,9 +508,7 @@ ps_get_thread_area (struct ps_prochandle *ph,
return PS_OK;
}
-void _initialize_m68k_linux_nat ();
-void
-_initialize_m68k_linux_nat ()
+INIT_GDB_FILE (m68k_linux_nat)
{
/* Register the target. */
linux_target = &the_m68k_linux_nat_target;
diff --git a/gdb/m68k-linux-tdep.c b/gdb/m68k-linux-tdep.c
index cfc37ab..bd2a14a 100644
--- a/gdb/m68k-linux-tdep.c
+++ b/gdb/m68k-linux-tdep.c
@@ -35,6 +35,7 @@
#include "observable.h"
#include "elf/common.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "regset.h"
/* Offsets (in target ints) into jmp_buf. */
@@ -407,8 +408,7 @@ m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Shared library handling. */
/* GNU/Linux uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* GNU/Linux uses the dynamic linker included in the GNU C Library. */
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
@@ -424,9 +424,7 @@ m68k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
svr4_fetch_objfile_link_map);
}
-void _initialize_m68k_linux_tdep ();
-void
-_initialize_m68k_linux_tdep ()
+INIT_GDB_FILE (m68k_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_m68k, 0, GDB_OSABI_LINUX,
m68k_linux_init_abi);
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index 4e25518..94bfddb 100644
--- a/gdb/m68k-tdep.c
+++ b/gdb/m68k-tdep.c
@@ -1365,9 +1365,7 @@ m68k_osabi_sniffer (bfd *abfd)
return osabi;
}
-void _initialize_m68k_tdep ();
-void
-_initialize_m68k_tdep ()
+INIT_GDB_FILE (m68k_tdep)
{
gdbarch_register (bfd_arch_m68k, m68k_gdbarch_init, m68k_dump_tdep);
diff --git a/gdb/machoread.c b/gdb/machoread.c
index cc8aca3..ffee181 100644
--- a/gdb/machoread.c
+++ b/gdb/machoread.c
@@ -940,9 +940,7 @@ static const struct sym_fns macho_sym_fns = {
NULL, /* sym_get_probes */
};
-void _initialize_machoread ();
-void
-_initialize_machoread ()
+INIT_GDB_FILE (machoread)
{
add_symtab_fns (bfd_target_mach_o_flavour, &macho_sym_fns);
diff --git a/gdb/macrocmd.c b/gdb/macrocmd.c
index 0192a00..d805f3d 100644
--- a/gdb/macrocmd.c
+++ b/gdb/macrocmd.c
@@ -57,11 +57,11 @@ macro_expand_command (const char *exp, int from_tty)
" expression you\n"
"want to expand."));
- gdb::unique_xmalloc_ptr<macro_scope> ms = default_macro_scope ();
+ macro_scope ms = default_macro_scope ();
- if (ms != nullptr)
+ if (ms.is_valid ())
{
- gdb::unique_xmalloc_ptr<char> expanded = macro_expand (exp, *ms);
+ gdb::unique_xmalloc_ptr<char> expanded = macro_expand (exp, ms);
gdb_puts ("expands to: ");
gdb_puts (expanded.get ());
@@ -85,11 +85,11 @@ macro_expand_once_command (const char *exp, int from_tty)
" the expression\n"
"you want to expand."));
- gdb::unique_xmalloc_ptr<macro_scope> ms = default_macro_scope ();
+ macro_scope ms = default_macro_scope ();
- if (ms != nullptr)
+ if (ms.is_valid ())
{
- gdb::unique_xmalloc_ptr<char> expanded = macro_expand_once (exp, *ms);
+ gdb::unique_xmalloc_ptr<char> expanded = macro_expand_once (exp, ms);
gdb_puts ("expands to: ");
gdb_puts (expanded.get ());
@@ -169,7 +169,6 @@ print_macro_definition (const char *name,
static void
info_macro_command (const char *args, int from_tty)
{
- gdb::unique_xmalloc_ptr<struct macro_scope> ms;
const char *name;
int show_all_macros_named = 0;
const char *arg_start = args;
@@ -201,15 +200,15 @@ info_macro_command (const char *args, int from_tty)
" of the macro\n"
"whose definition you want to see."));
- ms = default_macro_scope ();
+ macro_scope ms = default_macro_scope ();
- if (! ms)
+ if (!ms.is_valid ())
macro_inform_no_debuginfo ();
else if (show_all_macros_named)
- macro_for_each (ms->file->table, [&] (const char *macro_name,
- const macro_definition *macro,
- macro_source_file *source,
- int line)
+ macro_for_each (ms.file->table, [&] (const char *macro_name,
+ const macro_definition *macro,
+ macro_source_file *source,
+ int line)
{
if (strcmp (name, macro_name) == 0)
print_macro_definition (name, macro, source, line);
@@ -218,12 +217,12 @@ info_macro_command (const char *args, int from_tty)
{
struct macro_definition *d;
- d = macro_lookup_definition (ms->file, ms->line, name);
+ d = macro_lookup_definition (ms.file, ms.line, name);
if (d)
{
int line;
struct macro_source_file *file
- = macro_definition_location (ms->file, ms->line, name, &line);
+ = macro_definition_location (ms.file, ms.line, name, &line);
print_macro_definition (name, d, file, line);
}
@@ -232,7 +231,7 @@ info_macro_command (const char *args, int from_tty)
gdb_printf ("The symbol `%s' has no definition as a C/C++"
" preprocessor macro\n"
"at ", name);
- show_pp_source_pos (gdb_stdout, ms->file, ms->line);
+ show_pp_source_pos (gdb_stdout, ms.file, ms.line);
}
}
}
@@ -241,7 +240,7 @@ info_macro_command (const char *args, int from_tty)
static void
info_macros_command (const char *args, int from_tty)
{
- gdb::unique_xmalloc_ptr<struct macro_scope> ms;
+ macro_scope ms;
if (args == NULL)
ms = default_macro_scope ();
@@ -254,10 +253,10 @@ info_macros_command (const char *args, int from_tty)
ms = sal_macro_scope (sals[0]);
}
- if (! ms || ! ms->file || ! ms->file->table)
+ if (!ms.is_valid () || ms.file->table == nullptr)
macro_inform_no_debuginfo ();
else
- macro_for_each_in_scope (ms->file, ms->line, print_macro_definition);
+ macro_for_each_in_scope (ms.file, ms.line, print_macro_definition);
}
@@ -409,9 +408,7 @@ macro_list_command (const char *exp, int from_tty)
/* Initializing the `macrocmd' module. */
-void _initialize_macrocmd ();
-void
-_initialize_macrocmd ()
+INIT_GDB_FILE (macrocmd)
{
/* We introduce a new command prefix, `macro', under which we'll put
the various commands for working with preprocessor macros. */
diff --git a/gdb/macroscope.c b/gdb/macroscope.c
index 97b41b6..7aa0784 100644
--- a/gdb/macroscope.c
+++ b/gdb/macroscope.c
@@ -34,28 +34,29 @@
struct macro_table *macro_user_macros;
-gdb::unique_xmalloc_ptr<struct macro_scope>
+macro_scope
sal_macro_scope (struct symtab_and_line sal)
{
+ macro_scope result;
struct macro_source_file *main_file, *inclusion;
struct compunit_symtab *cust;
if (sal.symtab == NULL)
- return NULL;
+ return result;
cust = sal.symtab->compunit ();
if (cust->macro_table () == NULL)
- return NULL;
+ return result;
- gdb::unique_xmalloc_ptr<struct macro_scope> ms (XNEW (struct macro_scope));
+ macro_scope ms;
main_file = macro_main (cust->macro_table ());
inclusion = macro_lookup_inclusion (main_file, sal.symtab->filename_for_id);
if (inclusion)
{
- ms->file = inclusion;
- ms->line = sal.line;
+ ms.file = inclusion;
+ ms.line = sal.line;
}
else
{
@@ -73,8 +74,8 @@ sal_macro_scope (struct symtab_and_line sal)
For the time being, though, we'll just treat these as
occurring at the end of the main source file. */
- ms->file = main_file;
- ms->line = -1;
+ ms.file = main_file;
+ ms.line = -1;
complaint (_("symtab found for `%s', but that file\n"
"is not covered in the compilation unit's macro information"),
@@ -85,20 +86,16 @@ sal_macro_scope (struct symtab_and_line sal)
}
-gdb::unique_xmalloc_ptr<struct macro_scope>
-user_macro_scope (void)
+macro_scope
+user_macro_scope ()
{
- gdb::unique_xmalloc_ptr<struct macro_scope> ms (XNEW (struct macro_scope));
- ms->file = macro_main (macro_user_macros);
- ms->line = -1;
- return ms;
+ return { macro_main (macro_user_macros), -1 };
}
-gdb::unique_xmalloc_ptr<struct macro_scope>
-default_macro_scope (void)
+macro_scope
+default_macro_scope ()
{
struct symtab_and_line sal;
- gdb::unique_xmalloc_ptr<struct macro_scope> ms;
frame_info_ptr frame;
CORE_ADDR pc;
@@ -128,8 +125,8 @@ default_macro_scope (void)
sal.line = cursal.line;
}
- ms = sal_macro_scope (sal);
- if (! ms)
+ macro_scope ms = sal_macro_scope (sal);
+ if (!ms.is_valid ())
ms = user_macro_scope ();
return ms;
@@ -152,9 +149,7 @@ standard_macro_lookup (const char *name, const macro_scope &ms)
return result;
}
-void _initialize_macroscope ();
-void
-_initialize_macroscope ()
+INIT_GDB_FILE (macroscope)
{
macro_user_macros = new_macro_table (NULL, NULL, NULL);
macro_set_main (macro_user_macros, "<user-defined>");
diff --git a/gdb/macroscope.h b/gdb/macroscope.h
index de3186d..2cb6a0f 100644
--- a/gdb/macroscope.h
+++ b/gdb/macroscope.h
@@ -31,21 +31,25 @@ extern struct macro_table *macro_user_macros;
in scope: a source file (either a main source file or an
#inclusion), and a line number in that file. */
struct macro_scope {
- struct macro_source_file *file;
- int line;
+ struct macro_source_file *file = nullptr;
+ int line = 0;
+
+ /* Return true if this scope is valid. */
+ bool is_valid () const
+ {
+ return file != nullptr;
+ }
};
/* Return a `struct macro_scope' object corresponding to the symtab
and line given in SAL. If we have no macro information for that
- location, or if SAL's pc is zero, return zero. */
-gdb::unique_xmalloc_ptr<struct macro_scope> sal_macro_scope
- (struct symtab_and_line sal);
-
+ location, or if SAL's pc is zero, return an invalid scope. */
+macro_scope sal_macro_scope (struct symtab_and_line sal);
/* Return a `struct macro_scope' object representing just the
user-defined macros. */
-gdb::unique_xmalloc_ptr<struct macro_scope> user_macro_scope (void);
+macro_scope user_macro_scope ();
/* Return a `struct macro_scope' object describing the scope the `macro
expand' and `macro expand-once' commands should use for looking up
@@ -54,7 +58,7 @@ gdb::unique_xmalloc_ptr<struct macro_scope> user_macro_scope (void);
If we have no macro information for the current location, return
the user macro scope. */
-gdb::unique_xmalloc_ptr<struct macro_scope> default_macro_scope (void);
+macro_scope default_macro_scope ();
/* Look up the definition of the macro named NAME in scope at the source
location given by MS. */
diff --git a/gdb/main.c b/gdb/main.c
index 9220092..1806ca0 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -399,7 +399,7 @@ start_event_loop ()
try
{
- result = gdb_do_one_event ();
+ result = current_interpreter ()->do_one_event ();
}
catch (const gdb_exception_forced_quit &ex)
{
@@ -672,6 +672,8 @@ captured_main_1 (struct captured_main_args *context)
/* Ensure stderr is unbuffered. A Cygwin pty or pipe is implemented
as a Windows pipe, and Windows buffers on pipes. */
setvbuf (stderr, NULL, _IONBF, BUFSIZ);
+
+ windows_initialize_console ();
#endif
/* Note: `error' cannot be called before this point, because the
diff --git a/gdb/main.h b/gdb/main.h
index 4830b59..0f50b71 100644
--- a/gdb/main.h
+++ b/gdb/main.h
@@ -44,6 +44,9 @@ extern std::string interpreter_p;
return value is in malloc'ed storage. */
extern char *windows_get_absolute_argv0 (const char *argv0);
+/* Initialize Windows console settings. */
+extern void windows_initialize_console ();
+
extern void set_gdb_data_directory (const char *new_data_dir);
#endif /* GDB_MAIN_H */
diff --git a/gdb/maint-test-options.c b/gdb/maint-test-options.c
index 25f609b..97236c9 100644
--- a/gdb/maint-test-options.c
+++ b/gdb/maint-test-options.c
@@ -429,9 +429,7 @@ maintenance_test_options_unknown_is_operand_command_completer
static cmd_list_element *maintenance_test_options_list;
-void _initialize_maint_test_options ();
-void
-_initialize_maint_test_options ()
+INIT_GDB_FILE (maint_test_options)
{
cmd_list_element *cmd;
diff --git a/gdb/maint-test-settings.c b/gdb/maint-test-settings.c
index 663190a..c7b12c6 100644
--- a/gdb/maint-test-settings.c
+++ b/gdb/maint-test-settings.c
@@ -78,9 +78,7 @@ maintenance_show_test_settings_value_cmd
}
-void _initialize_maint_test_settings ();
-void
-_initialize_maint_test_settings ()
+INIT_GDB_FILE (maint_test_settings)
{
maintenance_test_settings_filename = "/foo/bar";
diff --git a/gdb/maint.c b/gdb/maint.c
index f5977ec..78dea22 100644
--- a/gdb/maint.c
+++ b/gdb/maint.c
@@ -39,6 +39,7 @@
#include "inferior.h"
#include "gdbsupport/thread-pool.h"
#include "event-top.h"
+#include "cp-support.h"
#include "cli/cli-decode.h"
#include "cli/cli-utils.h"
@@ -108,6 +109,18 @@ maintenance_demangle (const char *args, int from_tty)
styled_string (command_style.style (), "demangle"));
}
+/* Print the canonical form of a name. */
+
+static void
+maintenance_canonicalize (const char *args, int from_tty)
+{
+ gdb::unique_xmalloc_ptr<char> canon = cp_canonicalize_string (args);
+ if (canon == nullptr)
+ gdb_printf ("No change.\n");
+ else
+ gdb_printf ("canonical = %s\n", canon.get ());
+}
+
static void
maintenance_time_display (const char *args, int from_tty)
{
@@ -907,9 +920,9 @@ maintenance_show_worker_threads (struct ui_file *file, int from_tty,
}
-/* If true, display time usage both at startup and for each command. */
+/* See maint.h. */
-static bool per_command_time;
+bool per_command_time;
/* If true, display space usage both at startup and for each command. */
@@ -1138,6 +1151,72 @@ set_per_command_cmd (const char *args, int from_tty)
}
}
+/* Handle "mt set per-command time". Warn if per-thread run time
+ information is not possible. */
+
+static void
+maintenance_set_command_time_cmd (const char *args, int from_tty,
+ cmd_list_element *c)
+{
+ /* No point warning if this platform can't use multiple threads at
+ all. */
+#if CXX_STD_THREAD
+ static bool already_warned = false;
+ if (per_command_time
+ && !get_run_time_thread_scope_available ()
+ && !already_warned)
+ {
+ warning (_("\
+per-thread run time information not available on this platform"));
+ already_warned = true;
+ }
+#endif
+}
+
+/* See maint.h. */
+
+scoped_time_it::scoped_time_it (const char *what, bool enabled)
+ : m_enabled (enabled),
+ m_what (what),
+ m_start_wall (m_enabled
+ ? std::chrono::steady_clock::now ()
+ : std::chrono::steady_clock::time_point ())
+{
+ if (m_enabled)
+ get_run_time (m_start_user, m_start_sys, run_time_scope::thread);
+}
+
+/* See maint.h. */
+
+scoped_time_it::~scoped_time_it ()
+{
+ if (!m_enabled)
+ return;
+
+ namespace chr = std::chrono;
+ auto end_wall = chr::steady_clock::now ();
+
+ user_cpu_time_clock::time_point end_user;
+ system_cpu_time_clock::time_point end_sys;
+ get_run_time (end_user, end_sys, run_time_scope::thread);
+
+ auto user = end_user - m_start_user;
+ auto sys = end_sys - m_start_sys;
+ auto wall = end_wall - m_start_wall;
+ auto user_ms = chr::duration_cast<chr::milliseconds> (user).count ();
+ auto sys_ms = chr::duration_cast<chr::milliseconds> (sys).count ();
+ auto wall_ms = chr::duration_cast<chr::milliseconds> (wall).count ();
+ auto user_plus_sys_ms = user_ms + sys_ms;
+
+ auto str
+ = string_printf ("Time for \"%s\": wall %.03f, user %.03f, sys %.03f, "
+ "user+sys %.03f, %.01f %% CPU\n",
+ m_what, wall_ms / 1000.0, user_ms / 1000.0,
+ sys_ms / 1000.0, user_plus_sys_ms / 1000.0,
+ user_plus_sys_ms * 100.0 / wall_ms);
+ gdb_stdlog->write_async_safe (str.data (), str.size ());
+}
+
/* Options affecting the "maintenance selftest" command. */
struct maintenance_selftest_options
@@ -1222,9 +1301,7 @@ Selftests have been disabled for this build.\n"));
}
-void _initialize_maint_cmds ();
-void
-_initialize_maint_cmds ()
+INIT_GDB_FILE (maint_cmds)
{
struct cmd_list_element *cmd;
@@ -1343,6 +1420,12 @@ This command has been moved to \"demangle\"."),
&maintenancelist);
deprecate_cmd (cmd, "demangle");
+ cmd = add_cmd ("canonicalize", class_maintenance, maintenance_canonicalize,
+ _("\
+Show the canonical form of a C++ name.\n\
+Usage: maintenance canonicalize NAME"),
+ &maintenancelist);
+
add_prefix_cmd ("per-command", class_maintenance, set_per_command_cmd, _("\
Per-command statistics settings."),
&per_command_setlist,
@@ -1360,7 +1443,7 @@ Show whether to display per-command execution time."),
_("\
If enabled, the execution time for each command will be\n\
displayed following the command's output."),
- NULL, NULL,
+ maintenance_set_command_time_cmd, NULL,
&per_command_setlist, &per_command_showlist);
add_setshow_boolean_cmd ("space", class_maintenance,
diff --git a/gdb/maint.h b/gdb/maint.h
index 0ddc62b..6930018 100644
--- a/gdb/maint.h
+++ b/gdb/maint.h
@@ -61,7 +61,9 @@ class scoped_command_stats
bool m_symtab_enabled : 1;
run_time_clock::time_point m_start_cpu_time;
std::chrono::steady_clock::time_point m_start_wall_time;
+#ifdef HAVE_USEFUL_SBRK
long m_start_space;
+#endif
/* Total number of symtabs (over all objfiles). */
int m_start_nr_symtabs;
/* A count of the compunits. */
@@ -70,6 +72,37 @@ class scoped_command_stats
int m_start_nr_blocks;
};
+/* If true, display time usage both at startup and for each command. */
+
+extern bool per_command_time;
+
+/* RAII structure used to measure the time spent by the current thread in a
+ given scope. */
+
+struct scoped_time_it
+{
+ /* WHAT is the prefix to show when the summary line is printed. */
+ scoped_time_it (const char *what, bool enabled = per_command_time);
+
+ DISABLE_COPY_AND_ASSIGN (scoped_time_it);
+ ~scoped_time_it ();
+
+private:
+ bool m_enabled;
+
+ /* Summary line prefix. */
+ const char *m_what;
+
+ /* User time at the start of execution. */
+ user_cpu_time_clock::time_point m_start_user;
+
+ /* System time at the start of execution. */
+ system_cpu_time_clock::time_point m_start_sys;
+
+ /* Wall-clock time at the start of execution. */
+ std::chrono::steady_clock::time_point m_start_wall;
+};
+
extern obj_section *maint_obj_section_from_bfd_section (bfd *abfd,
asection *asection,
objfile *ofile);
diff --git a/gdb/make-init-c b/gdb/make-init-c
index 4f0185c..6834b43 100755
--- a/gdb/make-init-c
+++ b/gdb/make-init-c
@@ -25,12 +25,13 @@
#
# Where SOURCE-FILES is the list of source files to extract init functions from.
#
-# Formatting conventions: The name of the initialization routines must begin
-# with `_initialize_`, must start in column zero, and be followed with exactly
-# ` ()`. For example:
+
+# An initialization function is introduced using the "INIT_GDB_FILE"
+# macro. In ordinary code this expands to a function declaration (to
+# avoid a warning) and then the start of a definition. In the
+# generated init.c, though, it is expanded differently. For example:
#
-# void
-# _initialize_foo ()
+# INIT_GDB_FILE (foo)
# {
# ...
# }
@@ -43,19 +44,21 @@ echo "/* Do not modify this file. */"
echo "/* It is created automatically by the Makefile. */"
echo "#include <algorithm>"
echo ""
-sed -n -e 's/^\(_initialize_[a-zA-Z0-9_]*\) ()$/\1/p' "$@" | while read -r name; do
- echo "extern initialize_file_ftype $name;"
-done
+echo "#undef INIT_GDB_FILE"
+echo "#define INIT_GDB_FILE(NAME) extern void _initialize_ ## NAME ();"
+grep -h '^[ ]*INIT_GDB_FILE\b' "$@"
echo ""
echo "void initialize_all_files ();"
echo "void"
echo "initialize_all_files ()"
echo "{"
+echo " typedef void initialize_file_ftype (void);"
+echo ""
echo " std::vector<initialize_file_ftype *> functions ="
echo " {"
-sed -n -e 's/^\(_initialize_[a-zA-Z0-9_]*\) ()$/\1/p' "$@" | while read -r name; do
- echo " $name,"
-done
+echo "#undef INIT_GDB_FILE"
+echo "#define INIT_GDB_FILE(NAME) _initialize_ ## NAME,"
+grep -h '^[ ]*INIT_GDB_FILE\b' "$@"
echo " };"
echo ""
echo " /* If GDB_REVERSE_INIT_FUNCTIONS is set (any value), reverse the"
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 72af117..5bb15c2 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -329,7 +329,7 @@ fdr_name (FDR *f)
/* Read in and parse the symtab of the file OBJFILE. Symbols from
different sections are relocated via the SECTION_OFFSETS. */
-void
+static void
mdebug_build_psymtabs (minimal_symbol_reader &reader,
struct objfile *objfile,
const struct ecoff_debug_swap *swap,
@@ -4792,9 +4792,28 @@ elfmdebug_build_psymtabs (struct objfile *objfile,
reader.install ();
}
-void _initialize_mdebugread ();
+/* see mdebugread.h. */
+
void
-_initialize_mdebugread ()
+mipsmdebug_build_psymtabs (struct objfile *objfile,
+ const struct ecoff_debug_swap *swap,
+ struct ecoff_debug_info *info)
+{
+ bfd *abfd = objfile->obfd.get ();
+
+ minimal_symbol_reader reader (objfile);
+
+ if (!(*swap->read_debug_info) (abfd, nullptr,
+ info))
+ error (_("Error reading ECOFF debugging information: %s"),
+ bfd_errmsg (bfd_get_error ()));
+
+ mdebug_build_psymtabs (reader, objfile, swap, info);
+
+ reader.install ();
+}
+
+INIT_GDB_FILE (mdebugread)
{
mdebug_register_index
= register_symbol_register_impl (LOC_REGISTER, &mdebug_register_funcs);
diff --git a/gdb/mdebugread.h b/gdb/mdebugread.h
index be26f46..f7e9f98 100644
--- a/gdb/mdebugread.h
+++ b/gdb/mdebugread.h
@@ -37,13 +37,38 @@ struct mdebug_extra_func_info
#define MDEBUG_EFI_SYMBOL_NAME "__GDB_EFI_INFO__"
-extern void mdebug_build_psymtabs (minimal_symbol_reader &,
- struct objfile *,
- const struct ecoff_debug_swap *,
- struct ecoff_debug_info *);
+#if defined(MDEBUG_FORMAT_AVAILABLE)
extern void elfmdebug_build_psymtabs (struct objfile *,
const struct ecoff_debug_swap *,
asection *);
+/* Read ECOFF debugging information from a BFD section. This is
+ called from mipsread.c. It parses the section into a
+ ecoff_debug_info struct, and then lets the rest of the file handle
+ it as normal. */
+extern void mipsmdebug_build_psymtabs (struct objfile *,
+ const struct ecoff_debug_swap *,
+ struct ecoff_debug_info *);
+
+#else /* MDEBUG_FORMAT_AVAILABLE */
+
+static inline void
+elfmdebug_build_psymtabs (struct objfile *,
+ const struct ecoff_debug_swap *,
+ asection *)
+{
+ warning (_("No mdebug support available"));
+}
+
+static inline void
+mipsmdebug_build_psymtabs (struct objfile *,
+ const struct ecoff_debug_swap *,
+ struct ecoff_debug_info *)
+{
+ warning (_("No mdebug support available"));
+}
+
+#endif /* MDEBUG_FORMAT_AVAILABLE */
+
#endif /* GDB_MDEBUGREAD_H */
diff --git a/gdb/memattr.c b/gdb/memattr.c
index 81d0de0..9d26d31 100644
--- a/gdb/memattr.c
+++ b/gdb/memattr.c
@@ -592,9 +592,7 @@ delete_mem_command (const char *args, int from_tty)
static struct cmd_list_element *mem_set_cmdlist;
static struct cmd_list_element *mem_show_cmdlist;
-void _initialize_mem ();
-void
-_initialize_mem ()
+INIT_GDB_FILE (mem)
{
add_com ("mem", class_vars, mem_command, _("\
Define or reset attributes for memory regions.\n\
diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c
index 60bae3a..30a6018 100644
--- a/gdb/mep-tdep.c
+++ b/gdb/mep-tdep.c
@@ -2459,9 +2459,7 @@ mep_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_mep_tdep ();
-void
-_initialize_mep_tdep ()
+INIT_GDB_FILE (mep_tdep)
{
mep_csr_reggroup = reggroup_new ("csr", USER_REGGROUP);
mep_cr_reggroup = reggroup_new ("cr", USER_REGGROUP);
diff --git a/gdb/mi/mi-cmd-env.c b/gdb/mi/mi-cmd-env.c
index e79af9c..bc2fe77 100644
--- a/gdb/mi/mi-cmd-env.c
+++ b/gdb/mi/mi-cmd-env.c
@@ -236,9 +236,7 @@ mi_cmd_inferior_tty_show (const char *command, const char *const *argv,
current_uiout->field_string ("inferior_tty_terminal", inferior_tty);
}
-void _initialize_mi_cmd_env ();
-void
-_initialize_mi_cmd_env ()
+INIT_GDB_FILE (mi_cmd_env)
{
const char *env;
diff --git a/gdb/mi/mi-cmd-file.c b/gdb/mi/mi-cmd-file.c
index 2354012..cf7991f 100644
--- a/gdb/mi/mi-cmd-file.c
+++ b/gdb/mi/mi-cmd-file.c
@@ -25,7 +25,6 @@
#include "symtab.h"
#include "source.h"
#include "solib.h"
-#include "solist.h"
/* Return to the client the absolute path and line number of the
current file being executed. */
@@ -163,10 +162,10 @@ mi_cmd_file_list_shared_libraries (const char *command,
for (const solib &so : current_program_space->solibs ())
{
- if (so.so_name.empty ())
+ if (so.name.empty ())
continue;
- if (pattern != nullptr && !re_exec (so.so_name.c_str ()))
+ if (pattern != nullptr && !re_exec (so.name.c_str ()))
continue;
ui_out_emit_tuple tuple_emitter (uiout, NULL);
diff --git a/gdb/mi/mi-cmds.c b/gdb/mi/mi-cmds.c
index 53cdcc9..abd3fb9 100644
--- a/gdb/mi/mi-cmds.c
+++ b/gdb/mi/mi-cmds.c
@@ -369,9 +369,7 @@ mi_cmd_lookup (const char *command)
return it->second.get ();
}
-void _initialize_mi_cmds ();
-void
-_initialize_mi_cmds ()
+INIT_GDB_FILE (mi_cmds)
{
add_builtin_mi_commands ();
}
diff --git a/gdb/mi/mi-interp.c b/gdb/mi/mi-interp.c
index ae1070e..8373e1a 100644
--- a/gdb/mi/mi-interp.c
+++ b/gdb/mi/mi-interp.c
@@ -34,7 +34,7 @@
#include "mi-common.h"
#include "observable.h"
#include "gdbthread.h"
-#include "solist.h"
+#include "solib.h"
#include "objfiles.h"
#include "tracepoint.h"
#include "cli-out.h"
@@ -726,9 +726,9 @@ mi_output_solib_attribs_1 (ui_out *uiout, const solib &solib,
{
gdbarch *gdbarch = current_inferior ()->arch ();
- uiout->field_string ("id", solib.so_original_name);
- uiout->field_string ("target-name", solib.so_original_name);
- uiout->field_string ("host-name", solib.so_name);
+ uiout->field_string ("id", solib.original_name);
+ uiout->field_string ("target-name", solib.original_name);
+ uiout->field_string ("host-name", solib.name);
if (include_symbols_loaded_p)
uiout->field_signed ("symbols-loaded", solib.symbols_loaded);
if (!gdbarch_has_global_solist (current_inferior ()->arch ()))
@@ -935,9 +935,7 @@ mi_interp_factory (const char *name)
return new mi_interp (name);
}
-void _initialize_mi_interp ();
-void
-_initialize_mi_interp ()
+INIT_GDB_FILE (mi_interp)
{
/* The various interpreter levels. */
interp_factory_register (INTERP_MI2, mi_interp_factory);
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 850a9ab..789e6fa 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -2218,7 +2218,7 @@ timestamp (struct mi_timestamp *tv)
using namespace std::chrono;
tv->wallclock = steady_clock::now ();
- run_time_clock::now (tv->utime, tv->stime);
+ get_run_time (tv->utime, tv->stime, run_time_scope::process);
}
static void
@@ -2768,9 +2768,7 @@ mi_parse_thread_group_id (const char *id)
return (int) num;
}
-void _initialize_mi_main ();
-void
-_initialize_mi_main ()
+INIT_GDB_FILE (mi_main)
{
set_show_commands mi_async_cmds
= add_setshow_boolean_cmd ("mi-async", class_run,
diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
index 0f2f272..0fdda18 100644
--- a/gdb/microblaze-linux-tdep.c
+++ b/gdb/microblaze-linux-tdep.c
@@ -35,6 +35,7 @@
#include "frame-unwind.h"
#include "tramp-frame.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
static int
microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
@@ -49,6 +50,9 @@ microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
/* Determine appropriate breakpoint contents and size for this address. */
bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
+ /* Make sure we see the memory breakpoints. */
+ scoped_restore restore_memory
+ = make_scoped_restore_show_memory_breakpoints (1);
val = target_read_memory (addr, old_contents, bplen);
/* If our breakpoint is no longer at the address, this means that the
@@ -122,17 +126,14 @@ microblaze_linux_init_abi (struct gdbarch_info info,
microblaze_linux_memory_remove_breakpoint);
/* Shared library handling. */
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* Trampolines. */
tramp_frame_prepend_unwinder (gdbarch,
&microblaze_linux_sighandler_tramp_frame);
}
-void _initialize_microblaze_linux_tdep ();
-void
-_initialize_microblaze_linux_tdep ()
+INIT_GDB_FILE (microblaze_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_microblaze, 0, GDB_OSABI_LINUX,
microblaze_linux_init_abi);
diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
index bc728b6..7b58220 100644
--- a/gdb/microblaze-tdep.c
+++ b/gdb/microblaze-tdep.c
@@ -736,9 +736,7 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_microblaze_tdep ();
-void
-_initialize_microblaze_tdep ()
+INIT_GDB_FILE (microblaze_tdep)
{
gdbarch_register (bfd_arch_microblaze, microblaze_gdbarch_init);
diff --git a/gdb/mingw-hdep.c b/gdb/mingw-hdep.c
index dc7ca42..481bd41 100644
--- a/gdb/mingw-hdep.c
+++ b/gdb/mingw-hdep.c
@@ -22,6 +22,9 @@
#include "gdbsupport/event-loop.h"
#include "gdbsupport/gdb_select.h"
#include "inferior.h"
+#include "cli/cli-style.h"
+#include "command.h"
+#include "cli/cli-cmds.h"
#include <windows.h>
#include <signal.h>
@@ -212,7 +215,30 @@ static int mingw_console_initialized;
static HANDLE hstdout = INVALID_HANDLE_VALUE;
/* Text attribute to use for normal text (the "none" pseudo-color). */
-static SHORT norm_attr;
+static SHORT norm_attr;
+
+/* Initialize settings related to the console. */
+
+void
+windows_initialize_console ()
+{
+ hstdout = (HANDLE)_get_osfhandle (fileno (stdout));
+ DWORD cmode;
+ CONSOLE_SCREEN_BUFFER_INFO csbi;
+
+ if (hstdout != INVALID_HANDLE_VALUE
+ && GetConsoleMode (hstdout, &cmode) != 0
+ && GetConsoleScreenBufferInfo (hstdout, &csbi))
+ {
+ norm_attr = csbi.wAttributes;
+ mingw_console_initialized = 1;
+ }
+ else if (hstdout != INVALID_HANDLE_VALUE)
+ mingw_console_initialized = -1; /* valid, but not a console device */
+
+ if (mingw_console_initialized > 0)
+ no_emojis ();
+}
/* The most recently applied style. */
static ui_file_style last_style;
@@ -223,22 +249,6 @@ static ui_file_style last_style;
int
gdb_console_fputs (const char *linebuf, FILE *fstream)
{
- if (!mingw_console_initialized)
- {
- hstdout = (HANDLE)_get_osfhandle (fileno (fstream));
- DWORD cmode;
- CONSOLE_SCREEN_BUFFER_INFO csbi;
-
- if (hstdout != INVALID_HANDLE_VALUE
- && GetConsoleMode (hstdout, &cmode) != 0
- && GetConsoleScreenBufferInfo (hstdout, &csbi))
- {
- norm_attr = csbi.wAttributes;
- mingw_console_initialized = 1;
- }
- else if (hstdout != INVALID_HANDLE_VALUE)
- mingw_console_initialized = -1; /* valid, but not a console device */
- }
/* If our stdout is not a console device, let the default 'fputs'
handle the task. */
if (mingw_console_initialized <= 0)
@@ -437,3 +447,65 @@ install_sigint_handler (c_c_handler_ftype *fn)
current_handler = fn;
return result;
}
+
+/* Set stdout and stderr handles to translation mode MODE. */
+
+static void
+set_console_translation_mode (int mode)
+{
+ setmode (fileno (stdout), mode);
+ setmode (fileno (stderr), mode);
+}
+
+/* Arg in "maint set console-translation-mode <arg>. */
+
+static std::string maint_console_translation_mode;
+
+/* Current value of "maint set/show console-translation-mode". */
+
+static std::string console_translation_mode = "unknown";
+
+/* Sets the console translation mode. */
+
+static void
+set_maint_console_translation_mode (const char *args, int from_tty,
+ struct cmd_list_element *c)
+{
+ if (maint_console_translation_mode == "binary")
+ set_console_translation_mode (O_BINARY);
+ else if (maint_console_translation_mode == "text")
+ set_console_translation_mode (O_TEXT);
+ else
+ error (_("Invalid console translation mode: %s"),
+ maint_console_translation_mode.c_str ());
+
+ console_translation_mode = maint_console_translation_mode;
+}
+
+/* Shows the console translation mode. */
+
+static void
+show_maint_console_translation_mode (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c,
+ const char *value)
+{
+ gdb_printf (file, _("Console translation mode is %s.\n"),
+ console_translation_mode.c_str ());
+}
+
+extern void _initialize_mingw_hdep ();
+
+void
+_initialize_mingw_hdep ()
+{
+ add_setshow_string_cmd ("console-translation-mode",
+ class_maintenance,
+ &maint_console_translation_mode, _("\
+Set the translation mode of stdout/stderr."), _("\
+Show the translation mode of stdout/stderr."), _("\
+Use \"binary\", or \"text\""),
+ set_maint_console_translation_mode,
+ show_maint_console_translation_mode,
+ &maintenance_set_cmdlist,
+ &maintenance_show_cmdlist);
+}
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index 649a9f1..4a6459a 100644
--- a/gdb/minsyms.c
+++ b/gdb/minsyms.c
@@ -37,6 +37,7 @@
#include <ctype.h>
+#include "maint.h"
#include "symtab.h"
#include "bfd.h"
#include "filenames.h"
@@ -1478,9 +1479,11 @@ minimal_symbol_reader::install ()
msymbols = m_objfile->per_bfd->msymbols.get ();
/* Arbitrarily require at least 10 elements in a thread. */
- gdb::parallel_for_each (10, &msymbols[0], &msymbols[mcount],
+ gdb::parallel_for_each<10> (&msymbols[0], &msymbols[mcount],
[&] (minimal_symbol *start, minimal_symbol *end)
{
+ scoped_time_it time_it ("minsyms install worker");
+
for (minimal_symbol *msym = start; msym < end; ++msym)
{
size_t idx = msym - msymbols;
@@ -1688,7 +1691,8 @@ find_minsym_type_and_address (minimal_symbol *msymbol,
{
/* Skip translation if caller does not need the address. */
if (address_p != NULL)
- *address_p = target_translate_tls_address (objfile, addr);
+ *address_p = target_translate_tls_address
+ (objfile, addr, bound_msym.minsym->print_name ());
return builtin_type (objfile)->nodebug_tls_symbol;
}
diff --git a/gdb/mips-fbsd-nat.c b/gdb/mips-fbsd-nat.c
index 667a4bc..8d97849 100644
--- a/gdb/mips-fbsd-nat.c
+++ b/gdb/mips-fbsd-nat.c
@@ -125,9 +125,7 @@ mips_fbsd_nat_target::store_registers (struct regcache *regcache, int regnum)
}
}
-void _initialize_mips_fbsd_nat ();
-void
-_initialize_mips_fbsd_nat ()
+INIT_GDB_FILE (mips_fbsd_nat)
{
add_inf_child_target (&the_mips_fbsd_nat_target);
}
diff --git a/gdb/mips-fbsd-tdep.c b/gdb/mips-fbsd-tdep.c
index c280527..c1b5f9c 100644
--- a/gdb/mips-fbsd-tdep.c
+++ b/gdb/mips-fbsd-tdep.c
@@ -476,12 +476,28 @@ mips_fbsd_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
return fbsd_skip_solib_resolver (gdbarch, pc);
}
-/* FreeBSD/mips uses a slightly different `struct link_map' than the
- other FreeBSD platforms as it includes an additional `l_off'
- member. */
+/* solib_ops for ILP32 FreeBSD/MIPS systems. */
-static struct link_map_offsets *
-mips_fbsd_ilp32_fetch_link_map_offsets (void)
+struct mips_fbsd_ilp32_solib_ops : public svr4_solib_ops
+{
+ /* FreeBSD/MIPS uses a slightly different `struct link_map' than the
+ other FreeBSD platforms as it includes an additional `l_off' member. */
+
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* Return a new solib_ops for ILP32 FreeBSD/MIPS systems. */
+
+static solib_ops_up
+make_mips_fbsd_ilp32_solib_ops ()
+{
+ return std::make_unique<mips_fbsd_ilp32_solib_ops> ();
+}
+
+/* See mips_fbsd_ilp32_solib_ops. */
+
+link_map_offsets *
+mips_fbsd_ilp32_solib_ops::fetch_link_map_offsets () const
{
static struct link_map_offsets lmo;
static struct link_map_offsets *lmp = NULL;
@@ -508,8 +524,28 @@ mips_fbsd_ilp32_fetch_link_map_offsets (void)
return lmp;
}
-static struct link_map_offsets *
-mips_fbsd_lp64_fetch_link_map_offsets (void)
+/* solib_ops for LP64 FreeBSD/MIPS systems. */
+
+struct mips_fbsd_lp64_solib_ops : public svr4_solib_ops
+{
+ /* FreeBSD/MIPS uses a slightly different `struct link_map' than the
+ other FreeBSD platforms as it includes an additional `l_off' member. */
+
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* Return a new solib_ops for LP64 FreeBSD/MIPS systems. */
+
+static solib_ops_up
+make_mips_fbsd_lp64_solib_ops ()
+{
+ return std::make_unique<mips_fbsd_lp64_solib_ops> ();
+}
+
+/* See mips_fbsd_lp64_solib_ops. */
+
+link_map_offsets *
+mips_fbsd_lp64_solib_ops::fetch_link_map_offsets () const
{
static struct link_map_offsets lmo;
static struct link_map_offsets *lmp = NULL;
@@ -565,15 +601,12 @@ mips_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_skip_solib_resolver (gdbarch, mips_fbsd_skip_solib_resolver);
/* FreeBSD/mips has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32 ?
- mips_fbsd_ilp32_fetch_link_map_offsets :
- mips_fbsd_lp64_fetch_link_map_offsets));
+ set_solib_svr4_ops (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32
+ ? make_mips_fbsd_ilp32_solib_ops
+ : make_mips_fbsd_lp64_solib_ops));
}
-void _initialize_mips_fbsd_tdep ();
-void
-_initialize_mips_fbsd_tdep ()
+INIT_GDB_FILE (mips_fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_FREEBSD,
mips_fbsd_init_abi);
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c
index b4b5788..e22e904 100644
--- a/gdb/mips-linux-nat.c
+++ b/gdb/mips-linux-nat.c
@@ -784,9 +784,7 @@ mips_linux_nat_target::close ()
linux_nat_trad_target::close ();
}
-void _initialize_mips_linux_nat ();
-void
-_initialize_mips_linux_nat ()
+INIT_GDB_FILE (mips_linux_nat)
{
add_setshow_boolean_cmd ("show-debug-regs", class_maintenance,
&show_debug_regs, _("\
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index 418892b..e4fa243 100644
--- a/gdb/mips-linux-tdep.c
+++ b/gdb/mips-linux-tdep.c
@@ -30,13 +30,13 @@
#include "gdbtypes.h"
#include "objfiles.h"
#include "solib.h"
-#include "solist.h"
#include "symtab.h"
#include "target-descriptions.h"
#include "regset.h"
#include "mips-linux-tdep.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "xml-syscall.h"
#include "gdbsupport/gdb_signals.h"
#include "inferior.h"
@@ -46,8 +46,6 @@
#include "features/mips64-linux.c"
#include "features/mips64-dsp-linux.c"
-static solib_ops mips_svr4_so_ops;
-
/* This enum represents the signals' numbers on the MIPS
architecture. It just contains the signal definitions which are
different from the generic implementation.
@@ -667,24 +665,57 @@ mips_linux_in_dynsym_stub (CORE_ADDR pc)
return 1;
}
-/* Return non-zero iff PC belongs to the dynamic linker resolution
- code, a PLT entry, or a lazy binding stub. */
+/* Mix-in class to add Linux/MIPS-specific methods to a base solib_ops
+ class. */
-static int
-mips_linux_in_dynsym_resolve_code (CORE_ADDR pc)
+template <typename Base>
+struct mips_linux_svr4_solib_ops : public Base
+{
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override;
+};
+
+template <typename Base>
+bool
+mips_linux_svr4_solib_ops<Base>::in_dynsym_resolve_code (CORE_ADDR pc) const
{
/* Check whether PC is in the dynamic linker. This also checks
whether it is in the .plt section, used by non-PIC executables. */
- if (svr4_in_dynsym_resolve_code (pc))
- return 1;
+ if (Base::in_dynsym_resolve_code (pc))
+ return true;
/* Likewise for the stubs. They live in the .MIPS.stubs section these
days, so we check if the PC is within, than fall back to a pattern
match. */
if (mips_linux_in_dynsym_stub (pc))
- return 1;
+ return true;
- return 0;
+ return false;
+}
+
+/* solib_ops for ILP32 Linux/MIPS systems. */
+
+using mips_linux_ilp32_svr4_solib_ops
+ = mips_linux_svr4_solib_ops<linux_ilp32_svr4_solib_ops>;
+
+/* Return a new solib_ops for ILP32 Linux/MIPS systems. */
+
+static solib_ops_up
+make_mips_linux_ilp32_svr4_solib_ops ()
+{
+ return std::make_unique<mips_linux_ilp32_svr4_solib_ops> ();
+}
+
+/* solib_ops for LP64 Linux/MIPS systems. */
+
+using mips_linux_lp64_svr4_solib_ops
+ = mips_linux_svr4_solib_ops<linux_lp64_svr4_solib_ops>;
+
+/* Return a new solib_ops for LP64 Linux/MIPS systems. */
+
+static solib_ops_up
+make_mips_linux_lp64_svr4_solib_ops ()
+{
+ return std::make_unique<mips_linux_lp64_svr4_solib_ops> ();
}
/* See the comments for SKIP_SOLIB_RESOLVER at the top of infrun.c,
@@ -1538,8 +1569,7 @@ mips_linux_init_abi (struct gdbarch_info info,
case MIPS_ABI_O32:
set_gdbarch_get_longjmp_target (gdbarch,
mips_linux_get_longjmp_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_mips_linux_ilp32_svr4_solib_ops);
tramp_frame_prepend_unwinder (gdbarch, &micromips_linux_o32_sigframe);
tramp_frame_prepend_unwinder (gdbarch,
&micromips_linux_o32_rt_sigframe);
@@ -1550,8 +1580,7 @@ mips_linux_init_abi (struct gdbarch_info info,
case MIPS_ABI_N32:
set_gdbarch_get_longjmp_target (gdbarch,
mips_linux_get_longjmp_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_mips_linux_ilp32_svr4_solib_ops);
set_gdbarch_long_double_bit (gdbarch, 128);
set_gdbarch_long_double_format (gdbarch, floatformats_ieee_quad);
tramp_frame_prepend_unwinder (gdbarch,
@@ -1562,8 +1591,7 @@ mips_linux_init_abi (struct gdbarch_info info,
case MIPS_ABI_N64:
set_gdbarch_get_longjmp_target (gdbarch,
mips64_linux_get_longjmp_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_mips_linux_lp64_svr4_solib_ops);
set_gdbarch_long_double_bit (gdbarch, 128);
set_gdbarch_long_double_format (gdbarch, floatformats_ieee_quad);
tramp_frame_prepend_unwinder (gdbarch,
@@ -1583,16 +1611,6 @@ mips_linux_init_abi (struct gdbarch_info info,
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
- /* Initialize this lazily, to avoid an initialization order
- dependency on solib-svr4.c's _initialize routine. */
- if (mips_svr4_so_ops.in_dynsym_resolve_code == NULL)
- {
- mips_svr4_so_ops = svr4_so_ops;
- mips_svr4_so_ops.in_dynsym_resolve_code
- = mips_linux_in_dynsym_resolve_code;
- }
- set_gdbarch_so_ops (gdbarch, &mips_svr4_so_ops);
-
set_gdbarch_write_pc (gdbarch, mips_linux_write_pc);
set_gdbarch_core_read_description (gdbarch,
@@ -1629,9 +1647,7 @@ mips_linux_init_abi (struct gdbarch_info info,
}
}
-void _initialize_mips_linux_tdep ();
-void
-_initialize_mips_linux_tdep ()
+INIT_GDB_FILE (mips_linux_tdep)
{
const struct bfd_arch_info *arch_info;
diff --git a/gdb/mips-netbsd-nat.c b/gdb/mips-netbsd-nat.c
index 51e3878..91b870b 100644
--- a/gdb/mips-netbsd-nat.c
+++ b/gdb/mips-netbsd-nat.c
@@ -115,9 +115,7 @@ mips_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
}
}
-void _initialize_mipsnbsd_nat ();
-void
-_initialize_mipsnbsd_nat ()
+INIT_GDB_FILE (mipsnbsd_nat)
{
add_inf_child_target (&the_mips_nbsd_nat_target);
}
diff --git a/gdb/mips-netbsd-tdep.c b/gdb/mips-netbsd-tdep.c
index c9bdaa6..42eb515 100644
--- a/gdb/mips-netbsd-tdep.c
+++ b/gdb/mips-netbsd-tdep.c
@@ -288,13 +288,27 @@ mipsnbsd_cannot_store_register (struct gdbarch *gdbarch, int regno)
|| regno == mips_regnum (gdbarch)->fp_implementation_revision);
}
-/* Shared library support. */
+/* solib_ops for ILP32 NetBSD/MIPS systems. */
-/* NetBSD/mips uses a slightly different `struct link_map' than the
- other NetBSD platforms. */
+struct mips_nbsd_ilp32_svr4_solib_ops : public svr4_solib_ops
+{
+ /* NetBSD/MIPS uses a slightly different `struct link_map' than the
+ other NetBSD platforms. */
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* Return a new solib_ops for ILP32 NetBSD/MIPS systems. */
-static struct link_map_offsets *
-mipsnbsd_ilp32_fetch_link_map_offsets (void)
+static solib_ops_up
+make_mips_nbsd_ilp32_svr4_solib_ops ()
+{
+ return std::make_unique<mips_nbsd_ilp32_svr4_solib_ops> ();
+}
+
+/* See mips_nbsd_ilp32_svr4_solib_ops. */
+
+link_map_offsets *
+mips_nbsd_ilp32_svr4_solib_ops::fetch_link_map_offsets () const
{
static struct link_map_offsets lmo;
static struct link_map_offsets *lmp = NULL;
@@ -322,8 +336,27 @@ mipsnbsd_ilp32_fetch_link_map_offsets (void)
return lmp;
}
-static struct link_map_offsets *
-mipsnbsd_lp64_fetch_link_map_offsets (void)
+/* solib_ops for LP64 NetBSD/MIPS systems. */
+
+struct mips_nbsd_lp64_svr4_solib_ops : public svr4_solib_ops
+{
+ /* NetBSD/MIPS uses a slightly different `struct link_map' than the
+ other NetBSD platforms. */
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* Return a new solib_ops for LP64 NetBSD/MIPS systems. */
+
+static solib_ops_up
+make_mips_nbsd_lp64_svr4_solib_ops ()
+{
+ return std::make_unique<mips_nbsd_lp64_svr4_solib_ops> ();
+}
+
+/* See mips_nbsd_lp64_svr4_solib_ops. */
+
+link_map_offsets *
+mips_nbsd_lp64_svr4_solib_ops::fetch_link_map_offsets () const
{
static struct link_map_offsets lmo;
static struct link_map_offsets *lmp = NULL;
@@ -369,15 +402,12 @@ mipsnbsd_init_abi (struct gdbarch_info info,
set_gdbarch_software_single_step (gdbarch, mips_software_single_step);
/* NetBSD/mips has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32 ?
- mipsnbsd_ilp32_fetch_link_map_offsets :
- mipsnbsd_lp64_fetch_link_map_offsets));
+ set_solib_svr4_ops (gdbarch, (gdbarch_ptr_bit (gdbarch) == 32
+ ? make_mips_nbsd_ilp32_svr4_solib_ops
+ : make_mips_nbsd_lp64_svr4_solib_ops));
}
-void _initialize_mipsnbsd_tdep ();
-void
-_initialize_mipsnbsd_tdep ()
+INIT_GDB_FILE (mipsnbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_NETBSD,
mipsnbsd_init_abi);
diff --git a/gdb/mips-sde-tdep.c b/gdb/mips-sde-tdep.c
index 1f50ef0..5278afb 100644
--- a/gdb/mips-sde-tdep.c
+++ b/gdb/mips-sde-tdep.c
@@ -254,9 +254,7 @@ mips_sde_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_base_append_sniffer (gdbarch, mips_sde_frame_base_sniffer);
}
-void _initialize_mips_sde_tdep ();
-void
-_initialize_mips_sde_tdep ()
+INIT_GDB_FILE (mips_sde_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_mips,
bfd_target_elf_flavour,
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index c64cd47..32f832b 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -8972,9 +8972,7 @@ mips_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
mips_fpu_type_str (mips_get_fpu_type (gdbarch)));
}
-void _initialize_mips_tdep ();
-void
-_initialize_mips_tdep ()
+INIT_GDB_FILE (mips_tdep)
{
static struct cmd_list_element *mipsfpulist = NULL;
diff --git a/gdb/mips64-obsd-nat.c b/gdb/mips64-obsd-nat.c
index 26fc1b9..d77c77e 100644
--- a/gdb/mips64-obsd-nat.c
+++ b/gdb/mips64-obsd-nat.c
@@ -114,9 +114,7 @@ mips64_obsd_nat_target::store_registers (struct regcache *regcache, int regnum)
perror_with_name (_("Couldn't write registers"));
}
-void _initialize_mips64obsd_nat ();
-void
-_initialize_mips64obsd_nat ()
+INIT_GDB_FILE (mips64obsd_nat)
{
add_inf_child_target (&the_mips64_obsd_nat_target);
}
diff --git a/gdb/mips64-obsd-tdep.c b/gdb/mips64-obsd-tdep.c
index d0c9a1c..b9a6fe5 100644
--- a/gdb/mips64-obsd-tdep.c
+++ b/gdb/mips64-obsd-tdep.c
@@ -150,13 +150,10 @@ mips64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
obsd_init_abi(info, gdbarch);
/* OpenBSD/mips64 has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
}
-void _initialize_mips64obsd_tdep ();
-void
-_initialize_mips64obsd_tdep ()
+INIT_GDB_FILE (mips64obsd_tdep)
{
gdbarch_register_osabi (bfd_arch_mips, 0, GDB_OSABI_OPENBSD,
mips64obsd_init_abi);
diff --git a/gdb/mipsread.c b/gdb/mipsread.c
index 5ffb97f..1d76b8f 100644
--- a/gdb/mipsread.c
+++ b/gdb/mipsread.c
@@ -66,20 +66,16 @@ mipscoff_symfile_read (struct objfile *objfile, symfile_add_flags symfile_flags)
{
bfd *abfd = objfile->obfd.get ();
- minimal_symbol_reader reader (objfile);
-
/* Now that the executable file is positioned at symbol table,
process it and define symbols accordingly. */
- if (!((*ecoff_backend (abfd)->debug_swap.read_debug_info)
- (abfd, NULL, &ecoff_data (abfd)->debug_info)))
- error (_("Error reading symbol table: %s"), bfd_errmsg (bfd_get_error ()));
-
- mdebug_build_psymtabs (reader, objfile, &ecoff_backend (abfd)->debug_swap,
- &ecoff_data (abfd)->debug_info);
+ mipsmdebug_build_psymtabs (objfile, &ecoff_backend (abfd)->debug_swap,
+ &ecoff_data (abfd)->debug_info);
/* Add alpha coff dynamic symbols. */
+ minimal_symbol_reader reader (objfile);
+
read_alphacoff_dynamic_symtab (reader, objfile);
/* Install any minimal symbols that have been collected as the current
@@ -374,9 +370,7 @@ static const struct sym_fns ecoff_sym_fns =
NULL, /* sym_probe_fns */
};
-void _initialize_mipsread ();
-void
-_initialize_mipsread ()
+INIT_GDB_FILE (mipsread)
{
add_symtab_fns (bfd_target_ecoff_flavour, &ecoff_sym_fns);
}
diff --git a/gdb/mn10300-linux-tdep.c b/gdb/mn10300-linux-tdep.c
index 3334ca0..6c31241 100644
--- a/gdb/mn10300-linux-tdep.c
+++ b/gdb/mn10300-linux-tdep.c
@@ -29,6 +29,7 @@
#include "trad-frame.h"
#include "tramp-frame.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "gdbarch.h"
/* Transliterated from <asm-mn10300/elf.h>... */
@@ -707,16 +708,13 @@ am33_linux_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_iterate_over_regset_sections
(gdbarch, am33_iterate_over_regset_sections);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
tramp_frame_prepend_unwinder (gdbarch, &am33_linux_sigframe);
tramp_frame_prepend_unwinder (gdbarch, &am33_linux_rt_sigframe);
}
-void _initialize_mn10300_linux_tdep ();
-void
-_initialize_mn10300_linux_tdep ()
+INIT_GDB_FILE (mn10300_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_mn10300, 0,
GDB_OSABI_LINUX, am33_linux_init_osabi);
diff --git a/gdb/mn10300-tdep.c b/gdb/mn10300-tdep.c
index c82a302..fbaeacf 100644
--- a/gdb/mn10300-tdep.c
+++ b/gdb/mn10300-tdep.c
@@ -1413,9 +1413,7 @@ mn10300_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
tdep->am33_mode);
}
-void _initialize_mn10300_tdep ();
-void
-_initialize_mn10300_tdep ()
+INIT_GDB_FILE (mn10300_tdep)
{
gdbarch_register (bfd_arch_mn10300, mn10300_gdbarch_init, mn10300_dump_tdep);
}
diff --git a/gdb/moxie-tdep.c b/gdb/moxie-tdep.c
index ddb9efb..2239406 100644
--- a/gdb/moxie-tdep.c
+++ b/gdb/moxie-tdep.c
@@ -1101,9 +1101,7 @@ moxie_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Register this machine's init routine. */
-void _initialize_moxie_tdep ();
-void
-_initialize_moxie_tdep ()
+INIT_GDB_FILE (moxie_tdep)
{
gdbarch_register (bfd_arch_moxie, moxie_gdbarch_init);
}
diff --git a/gdb/msp430-tdep.c b/gdb/msp430-tdep.c
index 441831e..7ac26b9 100644
--- a/gdb/msp430-tdep.c
+++ b/gdb/msp430-tdep.c
@@ -996,9 +996,7 @@ msp430_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Register the initialization routine. */
-void _initialize_msp430_tdep ();
-void
-_initialize_msp430_tdep ()
+INIT_GDB_FILE (msp430_tdep)
{
gdbarch_register (bfd_arch_msp430, msp430_gdbarch_init);
}
diff --git a/gdb/nat/linux-namespaces.c b/gdb/nat/linux-namespaces.c
index ea94fdd..2a65fb0 100644
--- a/gdb/nat/linux-namespaces.c
+++ b/gdb/nat/linux-namespaces.c
@@ -233,6 +233,12 @@ enum mnsh_msg_type
MNSH_RET_INT. */
MNSH_REQ_SETNS,
+ /* A request that the helper call lstat. The single
+ argument (the filename) should be passed in BUF, and
+ should include a terminating NUL character. The helper
+ should respond with a MNSH_RET_INTSTR. */
+ MNSH_REQ_LSTAT,
+
/* A request that the helper call open. Arguments should
be passed in BUF, INT1 and INT2. The filename (in BUF)
should include a terminating NUL character. The helper
@@ -265,62 +271,69 @@ enum mnsh_msg_type
MNSH_RET_INTSTR,
};
-/* Print a string representation of a message using debug_printf.
- This function is not async-signal-safe so should never be
- called from the helper. */
+/* Return a string representation of a message. This function is not
+ async-signal-safe so should never be called from the helper. */
-static void
+static std::string
mnsh_debug_print_message (enum mnsh_msg_type type,
int fd, int int1, int int2,
const void *buf, int bufsiz)
{
+ std::string res;
+
gdb_byte *c = (gdb_byte *) buf;
gdb_byte *cl = c + bufsiz;
switch (type)
{
case MNSH_MSG_ERROR:
- debug_printf ("ERROR");
+ res += "ERROR";
+ break;
+
+ case MNSH_REQ_LSTAT:
+ res += "LSTAT";
break;
case MNSH_REQ_SETNS:
- debug_printf ("SETNS");
+ res += "SETNS";
break;
case MNSH_REQ_OPEN:
- debug_printf ("OPEN");
+ res += "OPEN";
break;
case MNSH_REQ_UNLINK:
- debug_printf ("UNLINK");
+ res += "UNLINK";
break;
case MNSH_REQ_READLINK:
- debug_printf ("READLINK");
+ res += "READLINK";
break;
case MNSH_RET_INT:
- debug_printf ("INT");
+ res += "INT";
break;
case MNSH_RET_FD:
- debug_printf ("FD");
+ res += "FD";
break;
case MNSH_RET_INTSTR:
- debug_printf ("INTSTR");
+ res += "INTSTR";
break;
default:
- debug_printf ("unknown-packet-%d", type);
+ res += string_printf ("unknown-packet-%d", type);
}
- debug_printf (" %d %d %d \"", fd, int1, int2);
+ res += string_printf (" %d %d %d \"", fd, int1, int2);
for (; c < cl; c++)
- debug_printf (*c >= ' ' && *c <= '~' ? "%c" : "\\%o", *c);
+ res += string_printf (*c >= ' ' && *c <= '~' ? "%c" : "\\%o", *c);
- debug_printf ("\"");
+ res += "\"";
+
+ return res;
}
/* Forward declaration. */
@@ -390,12 +403,10 @@ mnsh_send_message (int sock, enum mnsh_msg_type type,
if (size < 0)
mnsh_maybe_mourn_peer ();
- if (debug_linux_namespaces)
- {
- debug_printf ("mnsh: send: ");
- mnsh_debug_print_message (type, fd, int1, int2, buf, bufsiz);
- debug_printf (" -> %s\n", pulongest (size));
- }
+ linux_namespaces_debug_printf
+ ("send: %s -> %s",
+ mnsh_debug_print_message (type, fd, int1, int2, buf, bufsiz).c_str (),
+ pulongest (size));
return size;
}
@@ -445,9 +456,8 @@ mnsh_recv_message (int sock, enum mnsh_msg_type *type,
size = recvmsg (sock, &msg, MSG_CMSG_CLOEXEC);
if (size < 0)
{
- if (debug_linux_namespaces)
- debug_printf ("namespace-helper: recv failed (%s)\n",
- pulongest (size));
+ linux_namespaces_debug_printf
+ ("namespace-helper: recv failed (%s)", pulongest (size));
mnsh_maybe_mourn_peer ();
@@ -457,9 +467,9 @@ mnsh_recv_message (int sock, enum mnsh_msg_type *type,
/* Check for truncation. */
if (size < fixed_size || (msg.msg_flags & (MSG_TRUNC | MSG_CTRUNC)))
{
- if (debug_linux_namespaces)
- debug_printf ("namespace-helper: recv truncated (%s 0x%x)\n",
- pulongest (size), msg.msg_flags);
+ linux_namespaces_debug_printf
+ ("namespace-helper: recv truncated (%s 0x%x)",
+ pulongest (size), msg.msg_flags);
mnsh_maybe_mourn_peer ();
@@ -477,13 +487,10 @@ mnsh_recv_message (int sock, enum mnsh_msg_type *type,
else
*fd = -1;
- if (debug_linux_namespaces)
- {
- debug_printf ("mnsh: recv: ");
- mnsh_debug_print_message (*type, *fd, *int1, *int2, buf,
- size - fixed_size);
- debug_printf ("\n");
- }
+ linux_namespaces_debug_printf
+ ("recv: %s",
+ mnsh_debug_print_message (*type, *fd, *int1, *int2, buf,
+ size - fixed_size).c_str ());
/* Return the number of bytes of data in BUF. */
return size - fixed_size;
@@ -514,6 +521,20 @@ mnsh_handle_setns (int sock, int fd, int nstype)
return mnsh_return_int (sock, result, errno);
}
+
+/* Handle a MNSH_REQ_LSTAT message. Must be async-signal-safe. */
+
+static ssize_t
+mnsh_handle_lstat (int sock, const char *filename)
+{
+ struct stat sb;
+ int stat_ok = lstat (filename, &sb);
+
+ return mnsh_return_intstr (sock, stat_ok, &sb,
+ stat_ok == -1 ? 0 : sizeof (sb),
+ errno);
+}
+
/* Handle a MNSH_REQ_OPEN message. Must be async-signal-safe. */
static ssize_t
@@ -574,6 +595,11 @@ mnsh_main (int sock)
response = mnsh_handle_setns (sock, fd, int1);
break;
+ case MNSH_REQ_LSTAT:
+ if (size > 0 && buf[size - 1] == '\0')
+ response = mnsh_handle_lstat (sock, buf);
+ break;
+
case MNSH_REQ_OPEN:
if (size > 0 && buf[size - 1] == '\0')
response = mnsh_handle_open (sock, buf, int1, int2);
@@ -673,7 +699,7 @@ linux_mntns_get_helper (void)
mnsh_creator_pid = helper_creator;
/* Debug printing isn't async-signal-safe. */
- debug_linux_namespaces = 0;
+ debug_linux_namespaces = false;
mnsh_main (sv[1]);
}
@@ -685,9 +711,8 @@ linux_mntns_get_helper (void)
helper->sock = sv[0];
helper->nsid = ns->id;
- if (debug_linux_namespaces)
- debug_printf ("Started mount namespace helper process %d\n",
- helper->pid);
+ linux_namespaces_debug_printf
+ ("Started mount namespace helper process %d", helper->pid);
}
return helper;
@@ -765,6 +790,10 @@ mnsh_maybe_mourn_peer (void)
mnsh_send_message (helper->sock, MNSH_REQ_OPEN, -1, flags, mode, \
filename, strlen (filename) + 1)
+#define mnsh_send_lstat(helper, filename) \
+ mnsh_send_message (helper->sock, MNSH_REQ_LSTAT, -1, 0, 0, \
+ filename, strlen (filename) + 1)
+
#define mnsh_send_unlink(helper, filename) \
mnsh_send_message (helper->sock, MNSH_REQ_UNLINK, -1, 0, 0, \
filename, strlen (filename) + 1)
@@ -884,7 +913,7 @@ linux_mntns_access_fs (pid_t pid)
struct stat sb;
struct linux_mnsh *helper;
ssize_t size;
- int fd;
+ int fd, fd_user = -1;
if (pid == getpid ())
return MNSH_FS_DIRECT;
@@ -901,6 +930,8 @@ linux_mntns_access_fs (pid_t pid)
{
int save_errno = errno;
close (fd);
+ if (fd_user >= 0)
+ close (fd_user);
errno = save_errno;
};
@@ -910,6 +941,13 @@ linux_mntns_access_fs (pid_t pid)
if (sb.st_ino == ns->id)
return MNSH_FS_DIRECT;
+ struct linux_ns *ns_user = linux_ns_get_namespace (LINUX_NS_USER);
+ if (ns_user != nullptr)
+ {
+ const char *ns_filename = linux_ns_filename (ns_user, pid);
+ fd_user = gdb_open_cloexec (ns_filename, O_RDONLY, 0).release ();
+ }
+
helper = linux_mntns_get_helper ();
if (helper == NULL)
return MNSH_FS_ERROR;
@@ -918,6 +956,19 @@ linux_mntns_access_fs (pid_t pid)
{
int result, error;
+ /* Try to enter the user namespace first. The current user might
+ have elevated privileges within the user namespace, which would
+ then allow the attempt to enter the mount namespace to succeed. */
+ if (fd_user >= 0)
+ {
+ size = mnsh_send_setns (helper, fd_user, 0);
+ if (size < 0)
+ return MNSH_FS_ERROR;
+
+ if (mnsh_recv_int (helper, &result, &error) != 0)
+ return MNSH_FS_ERROR;
+ }
+
size = mnsh_send_setns (helper, fd, 0);
if (size < 0)
return MNSH_FS_ERROR;
@@ -948,6 +999,42 @@ linux_mntns_access_fs (pid_t pid)
/* See nat/linux-namespaces.h. */
int
+linux_mntns_lstat (pid_t pid, const char *filename,
+ struct stat *sb)
+{
+ enum mnsh_fs_code access = linux_mntns_access_fs (pid);
+
+ if (access == MNSH_FS_ERROR)
+ return -1;
+
+ if (access == MNSH_FS_DIRECT)
+ return lstat (filename, sb);
+
+ gdb_assert (access == MNSH_FS_HELPER);
+
+ struct linux_mnsh *helper = linux_mntns_get_helper ();
+
+ ssize_t size = mnsh_send_lstat (helper, filename);
+ if (size < 0)
+ return -1;
+
+ int stat_ok, error;
+ size = mnsh_recv_intstr (helper, &stat_ok, &error, sb, sizeof (*sb));
+
+ if (size < 0)
+ {
+ stat_ok = -1;
+ errno = error;
+ }
+ else
+ gdb_assert (stat_ok == -1 || size == sizeof (*sb));
+
+ return stat_ok;
+}
+
+/* See nat/linux-namespaces.h. */
+
+int
linux_mntns_open_cloexec (pid_t pid, const char *filename,
int flags, mode_t mode)
{
diff --git a/gdb/nat/linux-namespaces.h b/gdb/nat/linux-namespaces.h
index a548d83..a9a99f1 100644
--- a/gdb/nat/linux-namespaces.h
+++ b/gdb/nat/linux-namespaces.h
@@ -24,6 +24,12 @@
extern bool debug_linux_namespaces;
+/* Print a "linux-namespaces" debug statement. */
+
+#define linux_namespaces_debug_printf(fmt, ...) \
+ debug_prefixed_printf_cond (debug_linux_namespaces, "linux-namespaces", \
+ fmt, ##__VA_ARGS__)
+
/* Enumeration of Linux namespace types. */
enum linux_ns_type
@@ -58,6 +64,11 @@ enum linux_ns_type
extern int linux_ns_same (pid_t pid, enum linux_ns_type type);
+/* Like lstat(2), but in the mount namespace of process PID. */
+
+extern int linux_mntns_lstat (pid_t pid, const char *filename,
+ struct stat *sb);
+
/* Like gdb_open_cloexec, but in the mount namespace of process
PID. */
diff --git a/gdb/nat/linux-procfs.c b/gdb/nat/linux-procfs.c
index a72df2a..d4f9af3 100644
--- a/gdb/nat/linux-procfs.c
+++ b/gdb/nat/linux-procfs.c
@@ -424,7 +424,7 @@ linux_proc_task_list_dir_exists (pid_t pid)
/* See linux-procfs.h. */
const char *
-linux_proc_pid_to_exec_file (int pid)
+linux_proc_pid_to_exec_file (int pid, bool is_local_fs)
{
static char buf[PATH_MAX];
char name[PATH_MAX];
@@ -437,9 +437,31 @@ linux_proc_pid_to_exec_file (int pid)
else
buf[len] = '\0';
- /* Use /proc/PID/exe if the actual file can't be read, but /proc/PID/exe
- can be. */
- if (access (buf, R_OK) != 0 && access (name, R_OK) == 0)
+ /* If the inferior and GDB can see the same filesystem, and NAME
+ cannot be read, maybe the file has been deleted, then we can
+ potentially use /proc/PID/exe instead.
+
+ GDB always interprets the results of this function within the
+ current sysroot (which is 'target:' by default). This means
+ that, if we return /proc/PID/exe, GDB will try to find this file
+ within the sysroot.
+
+ This doesn't make sense if GDB is using a sysroot like:
+ '/some/random/directory/', not only is it possible that NAME
+ could be found within the sysroot, it is unlikely that
+ /proc/PID/exe will exist within the sysroot.
+
+ Similarly, if the sysroot is 'target:', but the inferior is
+ running within a separate MNT namespace, then it is more than
+ likely that the inferior will also be running in a separate PID
+ namespace, in this case PID is the pid on the host system,
+ /proc/PID/exe will not be correct within the inferiors MNT/PID
+ namespace.
+
+ So, we can fallback to use /proc/PID/exe only if IS_LOCAL_FS is
+ true, this indicates that GDB and the inferior are using the same
+ MNT namespace, and GDB's sysroot is either empty, or 'target:'. */
+ if (is_local_fs && access (buf, R_OK) != 0 && access (name, R_OK) == 0)
strcpy (buf, name);
return buf;
diff --git a/gdb/nat/linux-procfs.h b/gdb/nat/linux-procfs.h
index 0c80622..4b02d31 100644
--- a/gdb/nat/linux-procfs.h
+++ b/gdb/nat/linux-procfs.h
@@ -87,9 +87,19 @@ extern int linux_proc_task_list_dir_exists (pid_t pid);
/* Return the full absolute name of the executable file that was run
to create the process PID. The returned value persists until this
- function is next called. */
+ function is next called.
-extern const char *linux_proc_pid_to_exec_file (int pid);
+ LOCAL_FS should be true if the file returned from the function will
+ be searched for in the same filesystem as GDB itself is running.
+ In practice, this means LOCAL_FS should be true if PID and GDB are
+ running in the same MNT namespace and GDB's sysroot is either the
+ empty string, or is 'target:'.
+
+ When used from gdbserver, where there is no sysroot, the only check
+ that matters is that PID and gdbserver are running in the same MNT
+ namespace. */
+
+extern const char *linux_proc_pid_to_exec_file (int pid, bool local_fs);
/* Display possible problems on this system. Display them only once
per GDB execution. */
diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
index 0510b39..f73058b 100644
--- a/gdb/nat/linux-ptrace.c
+++ b/gdb/nat/linux-ptrace.c
@@ -23,6 +23,7 @@
#include <sys/procfs.h>
#endif
#include "gdbsupport/eintr.h"
+#include "gdbsupport/signals-state-save-restore.h"
/* Stores the ptrace options supported by the running kernel.
A value of -1 means we did not check for features yet. A value
@@ -148,6 +149,9 @@ linux_ptrace_test_ret_to_nx (void)
return;
case 0:
+ /* Set signal handlers to their default because it doesn't make sense
+ to call GDB-specific handlers any more in the child process. */
+ restore_original_signals_state ();
l = ptrace (PTRACE_TRACEME, 0, (PTRACE_TYPE_ARG3) NULL,
(PTRACE_TYPE_ARG4) NULL);
if (l != 0)
diff --git a/gdb/nds32-tdep.c b/gdb/nds32-tdep.c
index 7d826fc..9180cd0 100644
--- a/gdb/nds32-tdep.c
+++ b/gdb/nds32-tdep.c
@@ -2086,9 +2086,7 @@ nds32_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_nds32_tdep ();
-void
-_initialize_nds32_tdep ()
+INIT_GDB_FILE (nds32_tdep)
{
/* Initialize gdbarch. */
gdbarch_register (bfd_arch_nds32, nds32_gdbarch_init);
diff --git a/gdb/objc-lang.c b/gdb/objc-lang.c
index 5341b05..6bba8d3 100644
--- a/gdb/objc-lang.c
+++ b/gdb/objc-lang.c
@@ -1327,9 +1327,7 @@ find_objc_msgcall (CORE_ADDR pc, CORE_ADDR *new_pc)
return 0;
}
-void _initialize_objc_language ();
-void
-_initialize_objc_language ()
+INIT_GDB_FILE (objc_language)
{
add_info ("selectors", info_selectors_command,
_("All Objective-C selectors, or those matching REGEXP."));
diff --git a/gdb/objfiles.c b/gdb/objfiles.c
index 3c5a554..d25d1a0 100644
--- a/gdb/objfiles.c
+++ b/gdb/objfiles.c
@@ -673,18 +673,18 @@ objfile_rebase (struct objfile *objfile, CORE_ADDR slide)
/* See objfiles.h. */
bool
-objfile_has_full_symbols (objfile *objfile)
+objfile::has_full_symbols ()
{
- return objfile->compunit_symtabs != nullptr;
+ return this->compunit_symtabs != nullptr;
}
/* See objfiles.h. */
bool
-objfile_has_symbols (objfile *objfile)
+objfile::has_symbols ()
{
- for (::objfile *o : objfile->separate_debug_objfiles ())
- if (o->has_partial_symbols () || objfile_has_full_symbols (o))
+ for (::objfile *o : this->separate_debug_objfiles ())
+ if (o->has_partial_symbols () || o->has_full_symbols ())
return true;
return false;
@@ -708,7 +708,7 @@ bool
have_full_symbols (program_space *pspace)
{
for (objfile *ofp : pspace->objfiles ())
- if (objfile_has_full_symbols (ofp))
+ if (ofp->has_full_symbols ())
return true;
return false;
diff --git a/gdb/objfiles.h b/gdb/objfiles.h
index bb2f05d..4a34758 100644
--- a/gdb/objfiles.h
+++ b/gdb/objfiles.h
@@ -515,10 +515,16 @@ public:
return per_bfd->gdbarch;
}
- /* Return true if OBJFILE has partial symbols. */
-
+ /* Return true if this objfile has partial symbols. */
bool has_partial_symbols ();
+ /* Return true if this objfile has full symbols. */
+ bool has_full_symbols ();
+
+ /* Return true if this objfile has full or partial symbols, either directly
+ or through a separate debug file. */
+ bool has_symbols ();
+
/* Look for a separate debug symbol file for this objfile, make use of
build-id, debug-link, and debuginfod as necessary. If a suitable
separate debug symbol file is found then it is loaded using a call to
@@ -938,15 +944,6 @@ extern void free_objfile_separate_debug (struct objfile *);
extern void objfile_relocate (struct objfile *, const section_offsets &);
extern void objfile_rebase (struct objfile *, CORE_ADDR);
-/* Return true if OBJFILE has full symbols. */
-
-extern bool objfile_has_full_symbols (objfile *objfile);
-
-/* Return true if OBJFILE has full or partial symbols, either directly
- or through a separate debug file. */
-
-extern bool objfile_has_symbols (objfile *objfile);
-
/* Return true if any objfile of PSPACE has partial symbols. */
extern bool have_partial_symbols (program_space *pspace);
@@ -992,10 +989,10 @@ extern struct obj_section *find_pc_section (CORE_ADDR pc);
/* Return true if PC is in a section called NAME. */
extern bool pc_in_section (CORE_ADDR, const char *);
-/* Return non-zero if PC is in a SVR4-style procedure linkage table
+/* Return true if PC is in a SVR4-style procedure linkage table
section. */
-static inline int
+static inline bool
in_plt_section (CORE_ADDR pc)
{
return (pc_in_section (pc, ".plt")
diff --git a/gdb/observable.c b/gdb/observable.c
index 734a5f6..1233a19 100644
--- a/gdb/observable.c
+++ b/gdb/observable.c
@@ -87,9 +87,7 @@ show_observer_debug (struct ui_file *file, int from_tty,
gdb_printf (file, _("Observer debugging is %s.\n"), value);
}
-void _initialize_observer ();
-void
-_initialize_observer ()
+INIT_GDB_FILE (observer)
{
add_setshow_boolean_cmd ("observer", class_maintenance,
&gdb::observers::observer_debug, _("\
diff --git a/gdb/or1k-linux-nat.c b/gdb/or1k-linux-nat.c
index 3a80dc9..cc682ea 100644
--- a/gdb/or1k-linux-nat.c
+++ b/gdb/or1k-linux-nat.c
@@ -199,9 +199,7 @@ or1k_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
/* Initialize OpenRISC Linux native support. */
-void _initialize_or1k_linux_nat ();
-void
-_initialize_or1k_linux_nat ()
+INIT_GDB_FILE (or1k_linux_nat)
{
/* Register the target. */
linux_target = &the_or1k_linux_nat_target;
diff --git a/gdb/or1k-linux-tdep.c b/gdb/or1k-linux-tdep.c
index 4784e0b..afefefe 100644
--- a/gdb/or1k-linux-tdep.c
+++ b/gdb/or1k-linux-tdep.c
@@ -20,6 +20,7 @@
#include "osabi.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "solib-svr4.h"
#include "regset.h"
#include "tramp-frame.h"
@@ -144,8 +145,7 @@ or1k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
linux_init_abi (info, gdbarch, 0);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
@@ -167,9 +167,7 @@ or1k_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Initialize OpenRISC Linux target support. */
-void _initialize_or1k_linux_tdep ();
-void
-_initialize_or1k_linux_tdep ()
+INIT_GDB_FILE (or1k_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_or1k, 0, GDB_OSABI_LINUX,
or1k_linux_init_abi);
diff --git a/gdb/or1k-tdep.c b/gdb/or1k-tdep.c
index 8e76419..2774840 100644
--- a/gdb/or1k-tdep.c
+++ b/gdb/or1k-tdep.c
@@ -1286,9 +1286,7 @@ or1k_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
}
-void _initialize_or1k_tdep ();
-void
-_initialize_or1k_tdep ()
+INIT_GDB_FILE (or1k_tdep)
{
/* Register this architecture. */
gdbarch_register (bfd_arch_or1k, or1k_gdbarch_init, or1k_dump_tdep);
diff --git a/gdb/osabi.c b/gdb/osabi.c
index ae14f74..1459368 100644
--- a/gdb/osabi.c
+++ b/gdb/osabi.c
@@ -609,9 +609,7 @@ show_osabi (struct ui_file *file, int from_tty, struct cmd_list_element *c,
gdbarch_osabi_name (GDB_OSABI_DEFAULT));
}
-void _initialize_gdb_osabi ();
-void
-_initialize_gdb_osabi ()
+INIT_GDB_FILE (gdb_osabi)
{
/* Register a generic sniffer for ELF flavoured files. */
gdbarch_register_osabi_sniffer (bfd_arch_unknown,
diff --git a/gdb/osdata.c b/gdb/osdata.c
index 5cc584d..788dd2a 100644
--- a/gdb/osdata.c
+++ b/gdb/osdata.c
@@ -287,9 +287,7 @@ info_osdata_command (const char *arg, int from_tty)
info_osdata (arg);
}
-void _initialize_osdata ();
-void
-_initialize_osdata ()
+INIT_GDB_FILE (osdata)
{
add_info ("os", info_osdata_command,
_("Show OS data ARG."));
diff --git a/gdb/p-valprint.c b/gdb/p-valprint.c
index 5dcdbcd..8228ca0 100644
--- a/gdb/p-valprint.c
+++ b/gdb/p-valprint.c
@@ -860,9 +860,7 @@ pascal_object_print_static_field (struct value *val,
common_val_print (val, stream, recurse, &opts, current_language);
}
-void _initialize_pascal_valprint ();
-void
-_initialize_pascal_valprint ()
+INIT_GDB_FILE (pascal_valprint)
{
add_setshow_boolean_cmd ("pascal_static-members", class_support,
&user_print_options.pascal_static_field_print, _("\
diff --git a/gdb/pager.h b/gdb/pager.h
index 3c4fcdf..b5425d4 100644
--- a/gdb/pager.h
+++ b/gdb/pager.h
@@ -50,7 +50,6 @@ public:
}
void emit_style_escape (const ui_file_style &style) override;
- void reset_style () override;
void flush () override;
@@ -69,6 +68,16 @@ private:
/* Flush the wrap buffer to STREAM, if necessary. */
void flush_wrap_buffer ();
+ /* Set the style of m_stream to STYLE. */
+ void set_stream_style (const ui_file_style &style)
+ {
+ if (m_stream->can_emit_style_escape () && m_stream_style != style)
+ {
+ m_stream->puts (style.to_ansi ().c_str ());
+ m_stream_style = style;
+ }
+ }
+
/* Contains characters which are waiting to be output (they have
already been counted in chars_printed). */
std::string m_wrap_buffer;
@@ -83,6 +92,12 @@ private:
/* The style applied at the time that wrap_here was called. */
ui_file_style m_wrap_style;
+ /* The style currently applied to m_stream. While m_applied_style is the
+ style that is applied to new content added to m_wrap_buffer, the
+ m_stream_style reflects changes that have been flushed to the managed
+ stream. */
+ ui_file_style m_stream_style;
+
/* This is temporarily set when paging. This will cause some
methods to change their behavior to ignore the wrap buffer. */
bool m_paging = false;
diff --git a/gdb/parse.c b/gdb/parse.c
index 3108017..6ad4e71 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -60,8 +60,8 @@ show_expressiondebug (struct ui_file *file, int from_tty,
}
-/* True if an expression parser should set yydebug. */
-static bool parser_debug;
+/* See parser-defs.h. */
+bool parser_debug;
static void
show_parserdebug (struct ui_file *file, int from_tty,
@@ -617,9 +617,7 @@ parser_fprintf (FILE *x, const char *y, ...)
va_end (args);
}
-void _initialize_parse ();
-void
-_initialize_parse ()
+INIT_GDB_FILE (parse)
{
add_setshow_zuinteger_cmd ("expression", class_maintenance,
&expressiondebug,
diff --git a/gdb/parser-defs.h b/gdb/parser-defs.h
index c13a56e..f5618f3 100644
--- a/gdb/parser-defs.h
+++ b/gdb/parser-defs.h
@@ -389,4 +389,7 @@ extern bool fits_in_type (int n_sign, const gdb_mpz &n, int type_bits,
extern void parser_fprintf (FILE *, const char *, ...) ATTRIBUTE_PRINTF (2, 3);
+/* True if an expression parser should set yydebug. */
+extern bool parser_debug;
+
#endif /* GDB_PARSER_DEFS_H */
diff --git a/gdb/ppc-fbsd-nat.c b/gdb/ppc-fbsd-nat.c
index e8853cf..e59791d 100644
--- a/gdb/ppc-fbsd-nat.c
+++ b/gdb/ppc-fbsd-nat.c
@@ -200,9 +200,7 @@ ppcfbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
return 1;
}
-void _initialize_ppcfbsd_nat ();
-void
-_initialize_ppcfbsd_nat ()
+INIT_GDB_FILE (ppcfbsd_nat)
{
add_inf_child_target (&the_ppc_fbsd_nat_target);
diff --git a/gdb/ppc-fbsd-tdep.c b/gdb/ppc-fbsd-tdep.c
index 3bab031..a666509 100644
--- a/gdb/ppc-fbsd-tdep.c
+++ b/gdb/ppc-fbsd-tdep.c
@@ -332,8 +332,7 @@ ppcfbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_return_value (gdbarch, ppcfbsd_return_value);
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
frame_unwind_append_unwinder (gdbarch, &ppcfbsd_sigtramp_frame_unwind);
set_gdbarch_gcore_bfd_target (gdbarch, "elf32-powerpc");
@@ -347,8 +346,7 @@ ppcfbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
ppc64_elf_make_msymbol_special);
set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
set_gdbarch_gcore_bfd_target (gdbarch, "elf64-powerpc");
}
@@ -361,9 +359,7 @@ ppcfbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
ppcfbsd_get_thread_local_address);
}
-void _initialize_ppcfbsd_tdep ();
-void
-_initialize_ppcfbsd_tdep ()
+INIT_GDB_FILE (ppcfbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_powerpc, bfd_mach_ppc, GDB_OSABI_FREEBSD,
ppcfbsd_init_abi);
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
index 0397ccb..568202a 100644
--- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c
@@ -3232,9 +3232,7 @@ ppc_linux_nat_target::get_arch_lwp_info (struct lwp_info *lp)
return lwp_arch_private_info (lp);
}
-void _initialize_ppc_linux_nat ();
-void
-_initialize_ppc_linux_nat ()
+INIT_GDB_FILE (ppc_linux_nat)
{
linux_target = &the_ppc_linux_nat_target;
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 3050a9e..5067b89 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -32,7 +32,6 @@
#include "regset.h"
#include "solib-svr4.h"
#include "solib.h"
-#include "solist.h"
#include "ppc-tdep.h"
#include "ppc64-tdep.h"
#include "ppc-linux-tdep.h"
@@ -49,6 +48,8 @@
#include "arch-utils.h"
#include "xml-syscall.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
+#include "svr4-tls-tdep.h"
#include "linux-record.h"
#include "record-full.h"
#include "infrun.h"
@@ -86,8 +87,6 @@
#include "features/rs6000/powerpc-e500l.c"
#include "dwarf2/frame.h"
-/* Shared library operations for PowerPC-Linux. */
-static solib_ops powerpc_so_ops;
/* The syscall's XML filename for PPC and PPC64. */
#define XML_SYSCALL_FILENAME_PPC "syscalls/ppc-linux.xml"
@@ -306,26 +305,43 @@ static const struct ppc_insn_pattern powerpc32_plt_stub_so_2[] =
/* The max number of insns we check using ppc_insns_match_pattern. */
#define POWERPC32_PLT_CHECK_LEN (ARRAY_SIZE (powerpc32_plt_stub) - 1)
-/* Check if PC is in PLT stub. For non-secure PLT, stub is in .plt
- section. For secure PLT, stub is in .text and we need to check
- instruction patterns. */
+/* solib_ops for ILP32 PowerPC/Linux systems. */
-static int
-powerpc_linux_in_dynsym_resolve_code (CORE_ADDR pc)
+struct ppc_linux_ilp32_svr4_solib_ops : public linux_ilp32_svr4_solib_ops
+{
+ /* Check if PC is in PLT stub. For non-secure PLT, stub is in .plt
+ section. For secure PLT, stub is in .text and we need to check
+ instruction patterns. */
+
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override;
+};
+
+/* Return a new solib_ops for ILP32 PowerPC/Linux systems. */
+
+static solib_ops_up
+make_ppc_linux_ilp32_svr4_solib_ops ()
+{
+ return std::make_unique<ppc_linux_ilp32_svr4_solib_ops> ();
+}
+
+/* See ppc_linux_ilp32_svr4_solib_ops. */
+
+bool
+ppc_linux_ilp32_svr4_solib_ops::in_dynsym_resolve_code (CORE_ADDR pc) const
{
/* Check whether PC is in the dynamic linker. This also checks
whether it is in the .plt section, used by non-PIC executables. */
- if (svr4_in_dynsym_resolve_code (pc))
- return 1;
+ if (linux_ilp32_svr4_solib_ops::in_dynsym_resolve_code (pc))
+ return true;
/* Check if we are in the resolver. */
bound_minimal_symbol sym = lookup_minimal_symbol_by_pc (pc);
- if (sym.minsym != NULL
- && (strcmp (sym.minsym->linkage_name (), "__glink") == 0
- || strcmp (sym.minsym->linkage_name (), "__glink_PLTresolve") == 0))
- return 1;
- return 0;
+ if (sym.minsym == nullptr)
+ return false;
+
+ return (strcmp (sym.minsym->linkage_name (), "__glink") == 0
+ || strcmp (sym.minsym->linkage_name (), "__glink_PLTresolve") == 0);
}
/* Follow PLT stub to actual routine.
@@ -2071,6 +2087,63 @@ ppc64_linux_gcc_target_options (struct gdbarch *gdbarch)
return "";
}
+/* Fetch and return the TLS DTV (dynamic thread vector) address for PTID.
+ Throw a suitable TLS error if something goes wrong. */
+
+static CORE_ADDR
+ppc64_linux_get_tls_dtv_addr (struct gdbarch *gdbarch, ptid_t ptid,
+ enum svr4_tls_libc libc)
+{
+ /* On ppc64, the thread pointer is found in r13. Fetch this
+ register. */
+ regcache *regcache
+ = get_thread_arch_regcache (current_inferior (), ptid, gdbarch);
+ int thread_pointer_regnum = PPC_R0_REGNUM + 13;
+ target_fetch_registers (regcache, thread_pointer_regnum);
+ ULONGEST thr_ptr;
+ if (regcache->cooked_read (thread_pointer_regnum, &thr_ptr) != REG_VALID)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch thread pointer"));
+
+ /* The thread pointer (r13) is an address that is 0x7000 ahead of
+ the *end* of the TCB (thread control block). The field
+ holding the DTV address is at the very end of the TCB.
+ Therefore, the DTV pointer address can be found by
+ subtracting (0x7000+8) from the thread pointer. Compute the
+ address of the DTV pointer, fetch it, and convert it to an
+ address. */
+ CORE_ADDR dtv_ptr_addr = thr_ptr - 0x7000 - 8;
+ gdb::byte_vector buf (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ if (target_read_memory (dtv_ptr_addr, buf.data (), buf.size ()) != 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch DTV address"));
+
+ const struct builtin_type *builtin = builtin_type (gdbarch);
+ CORE_ADDR dtv_addr = gdbarch_pointer_to_address
+ (gdbarch, builtin->builtin_data_ptr, buf.data ());
+ return dtv_addr;
+}
+
+/* For internal TLS lookup, return the DTP offset, which is the offset
+ to subtract from a DTV entry, in order to obtain the address of the
+ TLS block. */
+
+static ULONGEST
+ppc_linux_get_tls_dtp_offset (struct gdbarch *gdbarch, ptid_t ptid,
+ svr4_tls_libc libc)
+{
+ if (libc == svr4_tls_libc_musl)
+ {
+ /* This value is DTP_OFFSET, which represents the value to
+ subtract from the DTV entry. For PPC, it can be found in
+ MUSL's arch/powerpc64/pthread_arch.h and
+ arch/powerpc32/pthread_arch.h. (Both values are the same.)
+ It represents the value to subtract from the DTV entry, once
+ it has been fetched from the DTV array. */
+ return 0x8000;
+ }
+ else
+ return 0;
+}
+
static displaced_step_prepare_status
ppc_linux_displaced_step_prepare (gdbarch *arch, thread_info *thread,
CORE_ADDR &displaced_pc)
@@ -2208,8 +2281,6 @@ ppc_linux_init_abi (struct gdbarch_info info,
/* Shared library handling. */
set_gdbarch_skip_trampoline_code (gdbarch, ppc_skip_trampoline_code);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
/* Setting the correct XML syscall filename. */
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_PPC);
@@ -2226,14 +2297,7 @@ ppc_linux_init_abi (struct gdbarch_info info,
else
set_gdbarch_gcore_bfd_target (gdbarch, "elf32-powerpc");
- if (powerpc_so_ops.in_dynsym_resolve_code == NULL)
- {
- powerpc_so_ops = svr4_so_ops;
- /* Override dynamic resolve function. */
- powerpc_so_ops.in_dynsym_resolve_code =
- powerpc_linux_in_dynsym_resolve_code;
- }
- set_gdbarch_so_ops (gdbarch, &powerpc_so_ops);
+ set_solib_svr4_ops (gdbarch, make_ppc_linux_ilp32_svr4_solib_ops);
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
}
@@ -2260,8 +2324,7 @@ ppc_linux_init_abi (struct gdbarch_info info,
/* Shared library handling. */
set_gdbarch_skip_trampoline_code (gdbarch, ppc64_skip_trampoline_code);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* Setting the correct XML syscall filename. */
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_PPC64);
@@ -2284,6 +2347,11 @@ ppc_linux_init_abi (struct gdbarch_info info,
set_gdbarch_gnu_triplet_regexp (gdbarch, ppc64_gnu_triplet_regexp);
/* Set GCC target options. */
set_gdbarch_gcc_target_options (gdbarch, ppc64_linux_gcc_target_options);
+ /* Internal thread local address support. */
+ set_gdbarch_get_thread_local_address (gdbarch,
+ svr4_tls_get_thread_local_address);
+ svr4_tls_register_tls_methods (info, gdbarch, ppc64_linux_get_tls_dtv_addr,
+ ppc_linux_get_tls_dtp_offset);
}
set_gdbarch_core_read_description (gdbarch, ppc_linux_core_read_description);
@@ -2330,9 +2398,7 @@ ppc_linux_init_abi (struct gdbarch_info info,
}
-void _initialize_ppc_linux_tdep ();
-void
-_initialize_ppc_linux_tdep ()
+INIT_GDB_FILE (ppc_linux_tdep)
{
/* Register for all sub-families of the POWER/PowerPC: 32-bit and
64-bit PowerPC, and the older rs6k. */
diff --git a/gdb/ppc-netbsd-nat.c b/gdb/ppc-netbsd-nat.c
index a8e65bb..dfb855a 100644
--- a/gdb/ppc-netbsd-nat.c
+++ b/gdb/ppc-netbsd-nat.c
@@ -183,9 +183,7 @@ ppcnbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
return 1;
}
-void _initialize_ppcnbsd_nat ();
-void
-_initialize_ppcnbsd_nat ()
+INIT_GDB_FILE (ppcnbsd_nat)
{
/* Support debugging kernel virtual memory images. */
bsd_kvm_add_target (ppcnbsd_supply_pcb);
diff --git a/gdb/ppc-netbsd-tdep.c b/gdb/ppc-netbsd-tdep.c
index 911c012..9913592 100644
--- a/gdb/ppc-netbsd-tdep.c
+++ b/gdb/ppc-netbsd-tdep.c
@@ -179,8 +179,7 @@ ppcnbsd_init_abi (struct gdbarch_info info,
set_gdbarch_return_value (gdbarch, ppcnbsd_return_value);
/* NetBSD uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
set_gdbarch_iterate_over_regset_sections
(gdbarch, ppcnbsd_iterate_over_regset_sections);
@@ -189,9 +188,7 @@ ppcnbsd_init_abi (struct gdbarch_info info,
tramp_frame_prepend_unwinder (gdbarch, &ppcnbsd2_sigtramp);
}
-void _initialize_ppcnbsd_tdep ();
-void
-_initialize_ppcnbsd_tdep ()
+INIT_GDB_FILE (ppcnbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_powerpc, 0, GDB_OSABI_NETBSD,
ppcnbsd_init_abi);
diff --git a/gdb/ppc-obsd-nat.c b/gdb/ppc-obsd-nat.c
index 1431aa6..48df9d7 100644
--- a/gdb/ppc-obsd-nat.c
+++ b/gdb/ppc-obsd-nat.c
@@ -186,9 +186,7 @@ ppcobsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
return 1;
}
-void _initialize_ppcobsd_nat ();
-void
-_initialize_ppcobsd_nat ()
+INIT_GDB_FILE (ppcobsd_nat)
{
add_inf_child_target (&the_ppc_obsd_nat_target);
diff --git a/gdb/ppc-obsd-tdep.c b/gdb/ppc-obsd-tdep.c
index 5e271c1..18f4d79 100644
--- a/gdb/ppc-obsd-tdep.c
+++ b/gdb/ppc-obsd-tdep.c
@@ -254,8 +254,7 @@ ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_return_value (gdbarch, ppc_sysv_abi_broken_return_value);
/* OpenBSD uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
set_gdbarch_iterate_over_regset_sections
(gdbarch, ppcobsd_iterate_over_regset_sections);
@@ -263,9 +262,7 @@ ppcobsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_unwind_append_unwinder (gdbarch, &ppcobsd_sigtramp_frame_unwind);
}
-void _initialize_ppcobsd_tdep ();
-void
-_initialize_ppcobsd_tdep ()
+INIT_GDB_FILE (ppcobsd_tdep)
{
gdbarch_register_osabi (bfd_arch_rs6000, 0, GDB_OSABI_OPENBSD,
ppcobsd_init_abi);
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
index bcf4e2a..cae5aa6 100644
--- a/gdb/ppc-sysv-tdep.c
+++ b/gdb/ppc-sysv-tdep.c
@@ -2112,6 +2112,7 @@ ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function,
/* In the ELFv2 ABI, aggregate types of up to 16 bytes are
returned in registers r3:r4. */
if (tdep->elf_abi == POWERPC_ELF_V2
+ && !TYPE_HAS_DYNAMIC_LENGTH (valtype)
&& valtype->length () <= 16
&& (valtype->code () == TYPE_CODE_STRUCT
|| valtype->code () == TYPE_CODE_UNION
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index e8be470..19fbc20 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1320,7 +1320,9 @@ process_print_command_args (const char *args, value_print_options *print_opts,
value, so invert it for parse_expression. */
parser_flags flags = 0;
if (!voidprint)
- flags = PARSER_VOID_CONTEXT;
+ flags |= PARSER_VOID_CONTEXT;
+ if (parser_debug)
+ flags |= PARSER_DEBUG;
expression_up expr = parse_expression (exp, nullptr, flags);
return expr->evaluate ();
}
@@ -2392,7 +2394,7 @@ printf_c_string (struct ui_file *stream, const char *format,
}
else
{
- CORE_ADDR tem = value_as_address (value);;
+ CORE_ADDR tem = value_as_address (value);
if (tem == 0)
{
@@ -2883,7 +2885,7 @@ static void
printf_command (const char *arg, int from_tty)
{
ui_printf (arg, gdb_stdout);
- gdb_stdout->reset_style ();
+ gdb_stdout->emit_style_escape (ui_file_style ());
gdb_stdout->wrap_here (0);
gdb_stdout->flush ();
}
@@ -3181,9 +3183,7 @@ memory_tag_check_command (const char *args, int from_tty)
}
}
-void _initialize_printcmd ();
-void
-_initialize_printcmd ()
+INIT_GDB_FILE (printcmd)
{
struct cmd_list_element *c;
diff --git a/gdb/probe.c b/gdb/probe.c
index e6788ff..6679f39 100644
--- a/gdb/probe.c
+++ b/gdb/probe.c
@@ -973,9 +973,7 @@ static const struct internalvar_funcs probe_funcs =
std::vector<const static_probe_ops *> all_static_probe_ops;
-void _initialize_probe ();
-void
-_initialize_probe ()
+INIT_GDB_FILE (probe)
{
all_static_probe_ops.push_back (&any_static_probe_ops);
diff --git a/gdb/proc-api.c b/gdb/proc-api.c
index 7a45ba9..f3d4e14 100644
--- a/gdb/proc-api.c
+++ b/gdb/proc-api.c
@@ -413,9 +413,7 @@ proc_prettyfprint_status (long flags, int why, int what, int thread)
}
}
-void _initialize_proc_api ();
-void
-_initialize_proc_api ()
+INIT_GDB_FILE (proc_api)
{
add_setshow_boolean_cmd ("procfs-trace", no_class, &procfs_trace, _("\
Set tracing for /proc api calls."), _("\
diff --git a/gdb/proc-events.c b/gdb/proc-events.c
index 23af639..c6ed1f4 100644
--- a/gdb/proc-events.c
+++ b/gdb/proc-events.c
@@ -759,9 +759,7 @@ proc_prettyprint_actionset (struct sigaction *actions, int verbose)
{
}
-void _initialize_proc_events ();
-void
-_initialize_proc_events ()
+INIT_GDB_FILE (proc_events)
{
init_syscall_table ();
}
diff --git a/gdb/proc-service.c b/gdb/proc-service.c
index af92335..4f2be0f 100644
--- a/gdb/proc-service.c
+++ b/gdb/proc-service.c
@@ -206,9 +206,7 @@ ps_getpid (struct ps_prochandle *ph)
return ph->thread->ptid.pid ();
}
-void _initialize_proc_service ();
-void
-_initialize_proc_service ()
+INIT_GDB_FILE (proc_service)
{
/* This function solely exists to make sure this module is linked
into the final binary. */
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 76a6168..a10574a 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -3447,9 +3447,7 @@ proc_untrace_sysexit_cmd (const char *args, int from_tty)
proc_trace_syscalls (args, from_tty, PR_SYSEXIT, FLAG_RESET);
}
-void _initialize_procfs ();
-void
-_initialize_procfs ()
+INIT_GDB_FILE (procfs)
{
add_com ("proc-trace-entry", no_class, proc_trace_sysentry_cmd,
_("Give a trace of entries into the syscall."));
@@ -3550,21 +3548,17 @@ procfs_corefile_thread_callback (procinfo *pi, procinfo *thread, void *data)
return 0;
}
-static int
-find_signalled_thread (struct thread_info *info, void *data)
+static bool
+find_signalled_thread (struct thread_info *info)
{
- if (info->stop_signal () != GDB_SIGNAL_0
- && info->ptid.pid () == inferior_ptid.pid ())
- return 1;
-
- return 0;
+ return (info->stop_signal () != GDB_SIGNAL_0
+ && info->ptid.pid () == inferior_ptid.pid ());
}
static enum gdb_signal
find_stop_signal (void)
{
- struct thread_info *info =
- iterate_over_threads (find_signalled_thread, NULL);
+ struct thread_info *info = iterate_over_threads (find_signalled_thread);
if (info)
return info->stop_signal ();
diff --git a/gdb/producer.c b/gdb/producer.c
index d8cbded..5d754fa 100644
--- a/gdb/producer.c
+++ b/gdb/producer.c
@@ -335,9 +335,7 @@ Version 18.0 Beta";
}
#endif
-void _initialize_producer ();
-void
-_initialize_producer ()
+INIT_GDB_FILE (producer)
{
#if defined GDB_SELF_TEST
selftests::register_test
diff --git a/gdb/progspace.c b/gdb/progspace.c
index 569dfc8..1c27165 100644
--- a/gdb/progspace.c
+++ b/gdb/progspace.c
@@ -21,7 +21,6 @@
#include "objfiles.h"
#include "gdbcore.h"
#include "solib.h"
-#include "solist.h"
#include "gdbthread.h"
#include "inferior.h"
#include <algorithm>
@@ -202,12 +201,14 @@ program_space::exec_close ()
if (ebfd != nullptr)
{
/* Removing target sections may close the exec_ops target.
- Clear ebfd before doing so to prevent recursion. */
- bfd *saved_ebfd = ebfd.get ();
+ Clear ebfd before doing so to prevent recursion. We
+ move it to another ref_ptr instead of saving it to a raw
+ pointer to avoid it looking like possible use-after-free. */
+ gdb_bfd_ref_ptr saved_ebfd = std::move (ebfd);
ebfd.reset (nullptr);
ebfd_mtime = 0;
- remove_target_sections (saved_ebfd);
+ remove_target_sections (saved_ebfd.get ());
m_exec_filename.reset ();
}
diff --git a/gdb/progspace.h b/gdb/progspace.h
index 1ae826d..a761e62 100644
--- a/gdb/progspace.h
+++ b/gdb/progspace.h
@@ -21,12 +21,13 @@
#ifndef GDB_PROGSPACE_H
#define GDB_PROGSPACE_H
+#include "solib.h"
#include "target.h"
#include "gdb_bfd.h"
#include "registry.h"
-#include "solist.h"
#include "gdbsupport/safe-iterator.h"
#include "gdbsupport/intrusive_list.h"
+#include "gdbsupport/owning_intrusive_list.h"
#include "gdbsupport/refcounted-object.h"
#include "gdbsupport/gdb_ref_ptr.h"
#include <vector>
@@ -231,9 +232,30 @@ struct program_space
is outside all objfiles in this progspace. */
struct objfile *objfile_for_address (CORE_ADDR address);
- /* Return the list of all the solibs in this program space. */
+ /* Set this program space's solib provider.
+
+ The solib provider must be unset prior to calling this method. */
+ void set_solib_ops (solib_ops_up ops)
+ {
+ gdb_assert (m_solib_ops == nullptr);
+ m_solib_ops = std::move (ops);
+ };
+
+ /* Unset and free this program space's solib provider. */
+ void unset_solib_ops ()
+ { m_solib_ops = nullptr; }
+
+ /* Unset and return this program space's solib provider. */
+ solib_ops_up release_solib_ops ()
+ { return std::move (m_solib_ops); }
+
+ /* Get this program space's solib provider. */
+ const struct solib_ops *solib_ops () const
+ { return m_solib_ops.get (); }
+
+ /* Return the list of all the solibs in this program space. */
owning_intrusive_list<solib> &solibs ()
- { return so_list; }
+ { return m_solib_list; }
/* Similar to `bfd_get_filename (exec_bfd ())` but in original form given
by user, without symbolic links and pathname resolved. It is not nullptr
@@ -337,10 +359,6 @@ struct program_space
(e.g. the argument to the "symbol-file" or "file" command). */
struct objfile *symfile_object_file = NULL;
- /* List of shared objects mapped into this space. Managed by
- solib.c. */
- owning_intrusive_list<solib> so_list;
-
/* Number of calls to solib_add. */
unsigned int solib_add_generation = 0;
@@ -359,6 +377,13 @@ private:
/* All known objfiles are kept in a linked list. */
owning_intrusive_list<objfile> m_objfiles_list;
+ /* solib_ops implementation used to provide solibs in this program space. */
+ solib_ops_up m_solib_ops;
+
+ /* List of shared objects mapped into this space. Managed by
+ solib.c. */
+ owning_intrusive_list<solib> m_solib_list;
+
/* The set of target sections matching the sections mapped into
this program space. Managed by both exec_ops and solib.c. */
std::vector<target_section> m_target_sections;
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 986ef44..516ba72 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1552,9 +1552,7 @@ maintenance_check_psymtabs (const char *ignore, int from_tty)
}
}
-void _initialize_psymtab ();
-void
-_initialize_psymtab ()
+INIT_GDB_FILE (psymtab)
{
add_cmd ("psymbols", class_maintenance, maintenance_print_psymbols, _("\
Print dump of current partial symbol definitions.\n\
diff --git a/gdb/python/lib/gdb/__init__.py b/gdb/python/lib/gdb/__init__.py
index 4ea5d06..cedd897 100644
--- a/gdb/python/lib/gdb/__init__.py
+++ b/gdb/python/lib/gdb/__init__.py
@@ -19,17 +19,22 @@ import sys
import threading
import traceback
from contextlib import contextmanager
+from importlib import reload
-# Python 3 moved "reload"
-if sys.version_info >= (3, 4):
- from importlib import reload
-else:
- from imp import reload
-
-import _gdb
-
+# The star import imports _gdb names. When the names are used locally, they
+# trigger F405 warnings unless added to the explicit import list.
# Note that two indicators are needed here to silence flake8.
from _gdb import * # noqa: F401,F403
+from _gdb import (
+ STDERR,
+ STDOUT,
+ Command,
+ execute,
+ flush,
+ parameter,
+ selected_inferior,
+ write,
+)
# isort: split
@@ -60,14 +65,14 @@ class _GdbFile(object):
self.write(line)
def flush(self):
- _gdb.flush(stream=self.stream)
+ flush(stream=self.stream)
def write(self, s):
- _gdb.write(s, stream=self.stream)
+ write(s, stream=self.stream)
-sys.stdout = _GdbFile(_gdb.STDOUT)
-sys.stderr = _GdbFile(_gdb.STDERR)
+sys.stdout = _GdbFile(STDOUT)
+sys.stderr = _GdbFile(STDERR)
# Default prompt hook does nothing.
prompt_hook = None
@@ -189,7 +194,7 @@ def GdbSetPythonDirectory(dir):
def current_progspace():
"Return the current Progspace."
- return _gdb.selected_inferior().progspace
+ return selected_inferior().progspace
def objfiles():
@@ -226,14 +231,14 @@ def set_parameter(name, value):
value = "on"
else:
value = "off"
- _gdb.execute("set " + name + " " + str(value), to_string=True)
+ execute("set " + name + " " + str(value), to_string=True)
@contextmanager
def with_parameter(name, value):
"""Temporarily set the GDB parameter NAME to VALUE.
Note that this is a context manager."""
- old_value = _gdb.parameter(name)
+ old_value = parameter(name)
set_parameter(name, value)
try:
# Nothing that useful to return.
@@ -392,3 +397,121 @@ def _handle_missing_objfile(pspace, buildid, filename):
return _handle_missing_files(
pspace, "objfile", lambda h: h(pspace, buildid, filename)
)
+
+
+class ParameterPrefix:
+ # A wrapper around gdb.Command for creating set/show prefixes.
+ #
+ # When creating a gdb.Parameter sub-classes, it is sometimes necessary
+ # to first create a gdb.Command object in order to create the needed
+ # command prefix. However, for parameters, we actually need two
+ # prefixes, a 'set' prefix, and a 'show' prefix. With this helper
+ # class, a single instance of this class will create both prefixes at
+ # once.
+ #
+ # It is important that this class-level documentation not be a __doc__
+ # string. Users are expected to sub-class this ParameterPrefix class
+ # and add their own documentation. If they don't, then GDB will
+ # generate a suitable doc string. But, if this (parent) class has a
+ # __doc__ string of its own, then sub-classes will inherit that __doc__
+ # string, and GDB will not understand that it needs to generate one.
+
+ class _PrefixCommand(Command):
+ """A gdb.Command used to implement both the set and show prefixes.
+
+ This documentation string is not used as the prefix command
+ documentation as it is overridden in the __init__ method below."""
+
+ # This private method is connected to the 'invoke' attribute within
+ # this _PrefixCommand object if the containing ParameterPrefix
+ # object has an invoke_set or invoke_show method.
+ #
+ # This method records within self.__delegate which _PrefixCommand
+ # object is currently active, and then calls the correct invoke
+ # method on the delegat object (the ParameterPrefix sub-class
+ # object).
+ #
+ # Recording the currently active _PrefixCommand object is important;
+ # if from the invoke method the user calls dont_repeat, then this is
+ # forwarded to the currently active _PrefixCommand object.
+ def __invoke(self, args, from_tty):
+
+ # A helper class for use as part of a Python 'with' block.
+ # Records which gdb.Command object is currently running its
+ # invoke method.
+ class MarkActiveCallback:
+ # The CMD is a _PrefixCommand object, and the DELEGATE is
+ # the ParameterPrefix class, or sub-class object. At this
+ # point we simple record both of these within the
+ # MarkActiveCallback object.
+ def __init__(self, cmd, delegate):
+ self.__cmd = cmd
+ self.__delegate = delegate
+
+ # Record the currently active _PrefixCommand object within
+ # the outer ParameterPrefix sub-class object.
+ def __enter__(self):
+ self.__delegate.active_prefix = self.__cmd
+
+ # Once the invoke method has completed, then clear the
+ # _PrefixCommand object that was stored into the outer
+ # ParameterPrefix sub-class object.
+ def __exit__(self, exception_type, exception_value, traceback):
+ self.__delegate.active_prefix = None
+
+ # The self.__cb attribute is set when the _PrefixCommand object
+ # is created, and is either invoke_set or invoke_show within the
+ # ParameterPrefix sub-class object.
+ assert callable(self.__cb)
+
+ # Record the currently active _PrefixCommand object within the
+ # ParameterPrefix sub-class object, then call the relevant
+ # invoke method within the ParameterPrefix sub-class object.
+ with MarkActiveCallback(self, self.__delegate):
+ self.__cb(args, from_tty)
+
+ @staticmethod
+ def __find_callback(delegate, mode):
+ """The MODE is either 'set' or 'show'. Look for an invoke_MODE method
+ on DELEGATE, if a suitable method is found, then return it, otherwise,
+ return None.
+ """
+ cb = getattr(delegate, "invoke_" + mode, None)
+ if callable(cb):
+ return cb
+ return None
+
+ def __init__(self, mode, name, cmd_class, delegate, doc=None):
+ """Setup this gdb.Command. Mode is a string, either 'set' or 'show'.
+ NAME is the name for this prefix command, that is, the
+ words that appear after both 'set' and 'show' in the
+ command name. CMD_CLASS is the usual enum. And DELEGATE
+ is the gdb.ParameterPrefix object this prefix is part of.
+ """
+ assert mode == "set" or mode == "show"
+ if doc is None:
+ self.__doc__ = delegate.__doc__
+ else:
+ self.__doc__ = doc
+ self.__cb = self.__find_callback(delegate, mode)
+ self.__delegate = delegate
+ if self.__cb is not None:
+ self.invoke = self.__invoke
+ super().__init__(mode + " " + name, cmd_class, prefix=True)
+
+ def __init__(self, name, cmd_class, doc=None):
+ """Create a _PrefixCommand for both the set and show prefix commands.
+ NAME is the command name without either the leading 'set ' or
+ 'show ' strings, and CMD_CLASS is the usual enum value.
+ """
+ self.active_prefix = None
+ self._set_prefix_cmd = self._PrefixCommand("set", name, cmd_class, self, doc)
+ self._show_prefix_cmd = self._PrefixCommand("show", name, cmd_class, self, doc)
+
+ # When called from within an invoke method the self.active_prefix
+ # attribute should be set to a gdb.Command sub-class (a _PrefixCommand
+ # object, see above). Forward the dont_repeat call to this object to
+ # register the actual command as none repeating.
+ def dont_repeat(self):
+ if self.active_prefix is not None:
+ self.active_prefix.dont_repeat()
diff --git a/gdb/python/lib/gdb/dap/__init__.py b/gdb/python/lib/gdb/dap/__init__.py
index f908c91..1c3cf8e 100644
--- a/gdb/python/lib/gdb/dap/__init__.py
+++ b/gdb/python/lib/gdb/dap/__init__.py
@@ -96,5 +96,4 @@ def pre_command_loop():
# These are handy for bug reports.
startup.exec_and_log("show version")
startup.exec_and_log("show configuration")
- global server
startup.start_dap(server.main_loop)
diff --git a/gdb/python/lib/gdb/dap/breakpoint.py b/gdb/python/lib/gdb/dap/breakpoint.py
index bfb7bd3..4d4ca18 100644
--- a/gdb/python/lib/gdb/dap/breakpoint.py
+++ b/gdb/python/lib/gdb/dap/breakpoint.py
@@ -51,7 +51,6 @@ def suppress_new_breakpoint_event():
@in_gdb_thread
def _bp_modified(event):
- global _suppress_bp
if not _suppress_bp:
send_event(
"breakpoint",
@@ -64,7 +63,6 @@ def _bp_modified(event):
@in_gdb_thread
def _bp_created(event):
- global _suppress_bp
if not _suppress_bp:
send_event(
"breakpoint",
@@ -77,7 +75,6 @@ def _bp_created(event):
@in_gdb_thread
def _bp_deleted(event):
- global _suppress_bp
if not _suppress_bp:
send_event(
"breakpoint",
@@ -151,7 +148,6 @@ def _remove_entries(table, *names):
# the breakpoint.
@in_gdb_thread
def _set_breakpoints_callback(kind, specs, creator):
- global breakpoint_map
# Try to reuse existing breakpoints if possible.
if kind in breakpoint_map:
saved_map = breakpoint_map[kind]
@@ -330,7 +326,7 @@ def _rewrite_fn_breakpoint(
}
-@request("setFunctionBreakpoints")
+@request("setFunctionBreakpoints", expect_stopped=False)
@capability("supportsFunctionBreakpoints")
def set_fn_breakpoint(*, breakpoints: Sequence, **args):
specs = [_rewrite_fn_breakpoint(**bp) for bp in breakpoints]
@@ -363,7 +359,7 @@ def _rewrite_insn_breakpoint(
}
-@request("setInstructionBreakpoints")
+@request("setInstructionBreakpoints", expect_stopped=False)
@capability("supportsInstructionBreakpoints")
def set_insn_breakpoints(
*, breakpoints: Sequence, offset: Optional[int] = None, **args
@@ -414,7 +410,7 @@ def _rewrite_exception_breakpoint(
}
-@request("setExceptionBreakpoints")
+@request("setExceptionBreakpoints", expect_stopped=False)
@capability("supportsExceptionFilterOptions")
@capability(
"exceptionBreakpointFilters",
diff --git a/gdb/python/lib/gdb/dap/completions.py b/gdb/python/lib/gdb/dap/completions.py
index 85acc43..e5003ff 100644
--- a/gdb/python/lib/gdb/dap/completions.py
+++ b/gdb/python/lib/gdb/dap/completions.py
@@ -39,8 +39,11 @@ def completions(
line = 1
else:
line = import_line(line)
- text = text.splitlines()[line - 1]
- text = text[: column - 1]
+ if text:
+ text = text.splitlines()[line - 1]
+ text = text[: column - 1]
+ else:
+ text = ""
mi_result = exec_mi_and_log("-complete", text)
result = []
completion = None
diff --git a/gdb/python/lib/gdb/dap/evaluate.py b/gdb/python/lib/gdb/dap/evaluate.py
index 55538e6..fcbcc99 100644
--- a/gdb/python/lib/gdb/dap/evaluate.py
+++ b/gdb/python/lib/gdb/dap/evaluate.py
@@ -69,7 +69,7 @@ def _repl(command, frame_id):
}
-@request("evaluate")
+@request("evaluate", defer_events=False)
@capability("supportsEvaluateForHovers")
@capability("supportsValueFormattingOptions")
def eval_request(
@@ -110,7 +110,7 @@ def variables(
@capability("supportsSetExpression")
-@request("setExpression")
+@request("setExpression", defer_events=False)
def set_expression(
*, expression: str, value: str, frameId: Optional[int] = None, format=None, **args
):
@@ -126,7 +126,7 @@ def set_expression(
@capability("supportsSetVariable")
-@request("setVariable")
+@request("setVariable", defer_events=False)
def set_variable(
*, variablesReference: int, name: str, value: str, format=None, **args
):
diff --git a/gdb/python/lib/gdb/dap/events.py b/gdb/python/lib/gdb/dap/events.py
index 54caea0..e8f2655 100644
--- a/gdb/python/lib/gdb/dap/events.py
+++ b/gdb/python/lib/gdb/dap/events.py
@@ -17,12 +17,12 @@ import gdb
from .modules import is_module, make_module
from .scopes import set_finish_value
-from .server import send_event, send_event_maybe_later
+from .server import send_event
from .startup import exec_and_log, in_gdb_thread, log
# True when the inferior is thought to be running, False otherwise.
# This may be accessed from any thread, which can be racy. However,
-# this unimportant because this global is only used for the
+# this is unimportant because this global is only used for the
# 'notStopped' response, which itself is inherently racy.
inferior_running = False
@@ -238,10 +238,9 @@ def _on_stop(event):
):
obj["reason"] = "pause"
else:
- global stop_reason_map
obj["reason"] = stop_reason_map[event.details["reason"]]
_expected_pause = False
- send_event_maybe_later("stopped", obj)
+ send_event("stopped", obj)
# This keeps a bit of state between the start of an inferior call and
diff --git a/gdb/python/lib/gdb/dap/frames.py b/gdb/python/lib/gdb/dap/frames.py
index 6433dbe..4dacb87 100644
--- a/gdb/python/lib/gdb/dap/frames.py
+++ b/gdb/python/lib/gdb/dap/frames.py
@@ -53,12 +53,11 @@ gdb.events.cont.connect(_clear_frame_ids)
@in_gdb_thread
def frame_for_id(id):
"""Given a frame identifier ID, return the corresponding frame."""
- global thread_ids
if id in thread_ids:
thread_id = thread_ids[id]
if thread_id != gdb.selected_thread().global_num:
set_thread(thread_id)
- global _all_frames
+
return _all_frames[id]
@@ -103,10 +102,8 @@ def _frame_id_generator():
# Helper function to assign an ID to a frame.
def get_id(frame):
- global _all_frames
num = len(_all_frames)
_all_frames.append(frame)
- global thread_ids
thread_ids[num] = gdb.selected_thread().global_num
return num
@@ -128,7 +125,6 @@ def _frame_id_generator():
@in_gdb_thread
def _get_frame_iterator():
thread_id = gdb.selected_thread().global_num
- global _iter_map
if thread_id not in _iter_map:
_iter_map[thread_id] = _MemoizingIterator(_frame_id_generator())
return _iter_map[thread_id]
diff --git a/gdb/python/lib/gdb/dap/globalvars.py b/gdb/python/lib/gdb/dap/globalvars.py
index 2e4b2a6..9d64d28 100644
--- a/gdb/python/lib/gdb/dap/globalvars.py
+++ b/gdb/python/lib/gdb/dap/globalvars.py
@@ -78,7 +78,6 @@ def get_global_scope(frame):
except RuntimeError:
return None
- global _id_to_scope
block = block.static_block
if block in _id_to_scope:
return _id_to_scope[block]
diff --git a/gdb/python/lib/gdb/dap/launch.py b/gdb/python/lib/gdb/dap/launch.py
index e093e60..8ac4c77 100644
--- a/gdb/python/lib/gdb/dap/launch.py
+++ b/gdb/python/lib/gdb/dap/launch.py
@@ -164,7 +164,6 @@ def attach(
@request("configurationDone", on_dap_thread=True)
def config_done(**args):
# Handle the launch or attach.
- global _launch_or_attach_promise
if _launch_or_attach_promise is None:
raise DAPException("launch or attach not specified")
# Resolve the launch or attach, but only after the
diff --git a/gdb/python/lib/gdb/dap/next.py b/gdb/python/lib/gdb/dap/next.py
index ddf4e05..898fff1 100644
--- a/gdb/python/lib/gdb/dap/next.py
+++ b/gdb/python/lib/gdb/dap/next.py
@@ -16,7 +16,7 @@
import gdb
from .events import exec_and_expect_stop
-from .server import capability, request, send_gdb, send_gdb_with_response
+from .server import capability, request
from .startup import in_gdb_thread
from .state import set_thread
@@ -73,19 +73,14 @@ def step_in(
exec_and_expect_stop(cmd)
-@request("stepOut", defer_stop_events=True)
+@request("stepOut")
def step_out(*, threadId: int, singleThread: bool = False, **args):
_handle_thread_step(threadId, singleThread, True)
exec_and_expect_stop("finish &", propagate_exception=True)
-# This is a server-side request because it is funny: it wants to
-# 'continue' but also return a result, which precludes using
-# response=False. Using 'continue &' would mostly work ok, but this
-# yields races when a stop occurs before the response is sent back to
-# the client.
-@request("continue", on_dap_thread=True)
+@request("continue")
def continue_request(*, threadId: int, singleThread: bool = False, **args):
- locked = send_gdb_with_response(lambda: _handle_thread_step(threadId, singleThread))
- send_gdb(lambda: exec_and_expect_stop("continue"))
+ locked = _handle_thread_step(threadId, singleThread)
+ exec_and_expect_stop("continue &")
return {"allThreadsContinued": not locked}
diff --git a/gdb/python/lib/gdb/dap/scopes.py b/gdb/python/lib/gdb/dap/scopes.py
index f499dcb..7ce3a7f 100644
--- a/gdb/python/lib/gdb/dap/scopes.py
+++ b/gdb/python/lib/gdb/dap/scopes.py
@@ -120,7 +120,6 @@ class _FinishScopeReference(_ScopeReference):
def fetch_one_child(self, idx):
assert idx == 0
- global _last_return_value
return ("(return)", _last_return_value)
@@ -145,8 +144,6 @@ class _RegisterReference(_ScopeReference):
@request("scopes")
def scopes(*, frameId: int, **extra):
- global _last_return_value
- global frame_to_scope
if frameId in frame_to_scope:
scopes = frame_to_scope[frameId]
else:
diff --git a/gdb/python/lib/gdb/dap/server.py b/gdb/python/lib/gdb/dap/server.py
index d4314e8..7dab582 100644
--- a/gdb/python/lib/gdb/dap/server.py
+++ b/gdb/python/lib/gdb/dap/server.py
@@ -74,6 +74,13 @@ class DeferredRequest:
self._result = result
@in_dap_thread
+ def defer_events(self):
+ """Return True if events should be deferred during execution.
+
+ This may be overridden by subclasses."""
+ return True
+
+ @in_dap_thread
def invoke(self):
"""Implement the deferred request.
@@ -95,7 +102,10 @@ class DeferredRequest:
"""
with _server.canceller.current_request(self._req):
+ if self.defer_events():
+ _server.set_defer_events()
_server.invoke_request(self._req, self._result, self.invoke)
+ _server.emit_pending_events()
# A subclass of Exception that is used solely for reporting that a
@@ -230,7 +240,7 @@ class Server:
self._out_stream = out_stream
self._child_stream = child_stream
self._delayed_fns_lock = threading.Lock()
- self.defer_stop_events = False
+ self._defer_events = False
self._delayed_fns = []
# This queue accepts JSON objects that are then sent to the
# DAP client. Writing is done in a separate thread to avoid
@@ -307,7 +317,6 @@ class Server:
args = {}
def fn():
- global _commands
return _commands[params["command"]](**args)
self.invoke_request(req, result, fn)
@@ -317,7 +326,7 @@ class Server:
def _read_inferior_output(self):
while True:
line = self._child_stream.readline()
- self.send_event(
+ self.send_event_maybe_later(
"output",
{
"category": "stdout",
@@ -357,6 +366,17 @@ class Server:
self._read_queue.put(None)
@in_dap_thread
+ def emit_pending_events(self):
+ """Emit any pending events."""
+ fns = None
+ with self._delayed_fns_lock:
+ fns = self._delayed_fns
+ self._delayed_fns = []
+ self._defer_events = False
+ for fn in fns:
+ fn()
+
+ @in_dap_thread
def main_loop(self):
"""The main loop of the DAP server."""
# Before looping, start the thread that writes JSON to the
@@ -372,13 +392,7 @@ class Server:
req = cmd["seq"]
with self.canceller.current_request(req):
self._handle_command(cmd)
- fns = None
- with self._delayed_fns_lock:
- fns = self._delayed_fns
- self._delayed_fns = []
- self.defer_stop_events = False
- for fn in fns:
- fn()
+ self.emit_pending_events()
# Got the terminate request. This is handled by the
# JSON-writing thread, so that we can ensure that all
# responses are flushed to the client before exiting.
@@ -387,13 +401,13 @@ class Server:
send_gdb("quit")
@in_dap_thread
- def send_event_later(self, event, body=None):
- """Send a DAP event back to the client, but only after the
- current request has completed."""
+ def set_defer_events(self):
+ """Defer any events until the current request has completed."""
with self._delayed_fns_lock:
- self._delayed_fns.append(lambda: self.send_event(event, body))
+ self._defer_events = True
- @in_gdb_thread
+ # Note that this does not need to be run in any particular thread,
+ # because it uses locks for thread-safety.
def send_event_maybe_later(self, event, body=None):
"""Send a DAP event back to the client, but if a request is in-flight
within the dap thread and that request is configured to delay the event,
@@ -402,10 +416,10 @@ class Server:
with self.canceller.lock:
if self.canceller.in_flight_dap_thread:
with self._delayed_fns_lock:
- if self.defer_stop_events:
- self._delayed_fns.append(lambda: self.send_event(event, body))
+ if self._defer_events:
+ self._delayed_fns.append(lambda: self._send_event(event, body))
return
- self.send_event(event, body)
+ self._send_event(event, body)
@in_dap_thread
def call_function_later(self, fn):
@@ -416,7 +430,7 @@ class Server:
# Note that this does not need to be run in any particular thread,
# because it just creates an object and writes it to a thread-safe
# queue.
- def send_event(self, event, body=None):
+ def _send_event(self, event, body=None):
"""Send an event to the DAP client.
EVENT is the name of the event, a string.
BODY is the body of the event, an arbitrary object."""
@@ -440,22 +454,11 @@ def send_event(event, body=None):
"""Send an event to the DAP client.
EVENT is the name of the event, a string.
BODY is the body of the event, an arbitrary object."""
- global _server
- _server.send_event(event, body)
-
-
-def send_event_maybe_later(event, body=None):
- """Send a DAP event back to the client, but if a request is in-flight
- within the dap thread and that request is configured to delay the event,
- wait until the response has been sent until the event is sent back to
- the client."""
- global _server
_server.send_event_maybe_later(event, body)
def call_function_later(fn):
"""Call FN later -- after the current request's response has been sent."""
- global _server
_server.call_function_later(fn)
@@ -480,7 +483,7 @@ def request(
response: bool = True,
on_dap_thread: bool = False,
expect_stopped: bool = True,
- defer_stop_events: bool = False
+ defer_events: bool = True
):
"""A decorator for DAP requests.
@@ -502,9 +505,9 @@ def request(
inferior is running. When EXPECT_STOPPED is False, the request
will proceed regardless of the inferior's state.
- If DEFER_STOP_EVENTS is True, then make sure any stop events sent
- during the request processing are not sent to the client until the
- response has been sent.
+ If DEFER_EVENTS is True, then make sure any events sent during the
+ request processing are not sent to the client until the response
+ has been sent.
"""
# Validate the parameters.
@@ -527,27 +530,33 @@ def request(
# Verify that the function is run on the correct thread.
if on_dap_thread:
- cmd = in_dap_thread(func)
+ check_cmd = in_dap_thread(func)
else:
func = in_gdb_thread(func)
if response:
- if defer_stop_events:
- global _server
- if _server is not None:
- with _server.delayed_events_lock:
- _server.defer_stop_events = True
def sync_call(**args):
return send_gdb_with_response(lambda: func(**args))
- cmd = sync_call
+ check_cmd = sync_call
else:
def non_sync_call(**args):
return send_gdb(lambda: func(**args))
- cmd = non_sync_call
+ check_cmd = non_sync_call
+
+ if defer_events:
+
+ def deferring(**args):
+ _server.set_defer_events()
+ return check_cmd(**args)
+
+ cmd = deferring
+
+ else:
+ cmd = check_cmd
# If needed, check that the inferior is not running. This
# wrapping is done last, so the check is done first, before
@@ -555,7 +564,6 @@ def request(
if expect_stopped:
cmd = _check_not_running(cmd)
- global _commands
assert name not in _commands
_commands[name] = cmd
return cmd
@@ -568,7 +576,6 @@ def capability(name, value=True):
the DAP capability NAME."""
def wrap(func):
- global _capabilities
assert name not in _capabilities
_capabilities[name] = value
return func
@@ -581,7 +588,6 @@ def client_bool_capability(name, default=False):
If the capability was not specified, or did not have boolean type,
DEFAULT is returned. DEFAULT defaults to False."""
- global _server
if name in _server.config and isinstance(_server.config[name], bool):
return _server.config[name]
return default
@@ -589,9 +595,8 @@ def client_bool_capability(name, default=False):
@request("initialize", on_dap_thread=True)
def initialize(**args):
- global _server, _capabilities
_server.config = args
- _server.send_event_later("initialized")
+ _server.send_event_maybe_later("initialized")
global _lines_start_at_1
_lines_start_at_1 = client_bool_capability("linesStartAt1", True)
global _columns_start_at_1
@@ -705,7 +710,6 @@ def export_line(line: int) -> int:
"""Rewrite LINE according to client capability.
This applies the linesStartAt1 capability as needed,
when sending a line number from gdb to the client."""
- global _lines_start_at_1
if not _lines_start_at_1:
# In gdb, lines start at 1, so we only need to change this if
# the client starts at 0.
@@ -717,7 +721,6 @@ def import_line(line: int) -> int:
"""Rewrite LINE according to client capability.
This applies the linesStartAt1 capability as needed,
when the client sends a line number to gdb."""
- global _lines_start_at_1
if not _lines_start_at_1:
# In gdb, lines start at 1, so we only need to change this if
# the client starts at 0.
diff --git a/gdb/python/lib/gdb/dap/sources.py b/gdb/python/lib/gdb/dap/sources.py
index 938c93a..efcd799 100644
--- a/gdb/python/lib/gdb/dap/sources.py
+++ b/gdb/python/lib/gdb/dap/sources.py
@@ -37,7 +37,6 @@ def make_source(fullname, filename=None):
FILENAME is the base name; if None (the default), then it is
computed from FULLNAME.
"""
- global _source_map
if fullname in _source_map:
result = _source_map[fullname]
else:
@@ -53,7 +52,6 @@ def make_source(fullname, filename=None):
global _next_source
result["sourceReference"] = _next_source
- global _id_map
_id_map[_next_source] = result
_next_source += 1
@@ -66,12 +64,11 @@ def decode_source(source):
"""Decode a Source object.
Finds and returns the filename of a given Source object."""
- if "path" in source:
- return source["path"]
- if "sourceReference" not in source:
+ if "sourceReference" not in source or source["sourceReference"] <= 0:
+ if "path" in source:
+ return source["path"]
raise DAPException("either 'path' or 'sourceReference' must appear in Source")
ref = source["sourceReference"]
- global _id_map
if ref not in _id_map:
raise DAPException("no sourceReference " + str(ref))
return _id_map[ref]["path"]
diff --git a/gdb/python/lib/gdb/dap/threads.py b/gdb/python/lib/gdb/dap/threads.py
index c271961..89046a8 100644
--- a/gdb/python/lib/gdb/dap/threads.py
+++ b/gdb/python/lib/gdb/dap/threads.py
@@ -16,27 +16,32 @@
import gdb
from .server import request
+from .startup import in_gdb_thread
+@in_gdb_thread
def _thread_name(thr):
if thr.name is not None:
return thr.name
if thr.details is not None:
return thr.details
- return None
+ # Always return a name, as the protocol doesn't allow for nameless
+ # threads. Use the local thread number here... it doesn't matter
+ # without multi-inferior but in that case it might make more
+ # sense.
+ return f"Thread #{thr.num}"
-@request("threads")
+@request("threads", expect_stopped=False)
def threads(**args):
result = []
for thr in gdb.selected_inferior().threads():
- one_result = {
- "id": thr.global_num,
- }
- name = _thread_name(thr)
- if name is not None:
- one_result["name"] = name
- result.append(one_result)
+ result.append(
+ {
+ "id": thr.global_num,
+ "name": _thread_name(thr),
+ }
+ )
return {
"threads": result,
}
diff --git a/gdb/python/lib/gdb/dap/varref.py b/gdb/python/lib/gdb/dap/varref.py
index 42b5302..8a13c51 100644
--- a/gdb/python/lib/gdb/dap/varref.py
+++ b/gdb/python/lib/gdb/dap/varref.py
@@ -69,7 +69,6 @@ class BaseReference(ABC):
NAME is a string or None. None means this does not have a
name, e.g., the result of expression evaluation."""
- global all_variables
all_variables.append(self)
self._ref = len(all_variables)
self._name = name
@@ -267,7 +266,7 @@ class VariableReference(BaseReference):
@in_gdb_thread
def find_variable(ref):
"""Given a variable reference, return the corresponding variable object."""
- global all_variables
+
# Variable references are offset by 1.
ref = ref - 1
if ref < 0 or ref > len(all_variables):
diff --git a/gdb/python/lib/gdb/styling.py b/gdb/python/lib/gdb/styling.py
index e9387e3..60c470f 100644
--- a/gdb/python/lib/gdb/styling.py
+++ b/gdb/python/lib/gdb/styling.py
@@ -80,7 +80,6 @@ try:
# ignore.
pass
- global _asm_lexers
if lexer_type not in _asm_lexers:
_asm_lexers[lexer_type] = lexers.get_lexer_by_name(lexer_type)
_asm_lexers[lexer_type].add_filter(HandleNasmComments())
diff --git a/gdb/python/py-breakpoint.c b/gdb/python/py-breakpoint.c
index 861e9a3..9ce8671 100644
--- a/gdb/python/py-breakpoint.c
+++ b/gdb/python/py-breakpoint.c
@@ -948,7 +948,7 @@ bppy_init (PyObject *self, PyObject *args, PyObject *kwargs)
else
{
PyErr_SetString (PyExc_RuntimeError,
- _("Line keyword should be an integer or a string. "));
+ _("Line keyword should be an integer or a string."));
return -1;
}
}
@@ -1537,9 +1537,7 @@ PyTypeObject breakpoint_object_type =
0, /* tp_alloc */
};
-void _initialize_py_breakpoint ();
-void
-_initialize_py_breakpoint ()
+INIT_GDB_FILE (py_breakpoint)
{
add_setshow_boolean_cmd
("py-breakpoint", class_maintenance, &pybp_debug,
diff --git a/gdb/python/py-cmd.c b/gdb/python/py-cmd.c
index 5d98d03..dc5e270 100644
--- a/gdb/python/py-cmd.c
+++ b/gdb/python/py-cmd.c
@@ -105,19 +105,17 @@ cmdpy_function (const char *args, int from_tty, cmd_list_element *command)
gdbpy_enter enter_py;
- if (! obj)
+ if (obj == nullptr)
error (_("Invalid invocation of Python command object."));
- if (! PyObject_HasAttr ((PyObject *) obj, invoke_cst))
- {
- if (obj->command->is_prefix ())
- {
- /* A prefix command does not need an invoke method. */
- return;
- }
- error (_("Python command object missing 'invoke' method."));
- }
- if (! args)
+ /* If we get here for a prefix command then the prefix command had an
+ 'invoke' method when it was created. If the 'invoke' method is now
+ missing, then the user has done something weird (like deleting the
+ invoke method, yuck!). */
+ if (!PyObject_HasAttr ((PyObject *) obj, invoke_cst))
+ error (_("Python command object missing 'invoke' method."));
+
+ if (args == nullptr)
args = "";
gdbpy_ref<> argobj (PyUnicode_Decode (args, strlen (args), host_charset (),
NULL));
@@ -336,24 +334,30 @@ cmdpy_completer (struct cmd_list_element *command,
name of the new command. All earlier words must be existing prefix
commands.
- *BASE_LIST is set to the final prefix command's list of
- *sub-commands.
+ *BASE_LIST is set to the final prefix command's list of sub-commands.
START_LIST is the list in which the search starts.
+ When PREFIX_CMD is not NULL then *PREFIX_CMD is set to the prefix
+ command itself, or NULL, if there is no prefix command.
+
This function returns the name of the new command. On error sets the Python
error and returns NULL. */
gdb::unique_xmalloc_ptr<char>
gdbpy_parse_command_name (const char *name,
struct cmd_list_element ***base_list,
- struct cmd_list_element **start_list)
+ struct cmd_list_element **start_list,
+ struct cmd_list_element **prefix_cmd)
{
struct cmd_list_element *elt;
int len = strlen (name);
int i, lastchar;
const char *prefix_text2;
+ if (prefix_cmd != nullptr)
+ *prefix_cmd = nullptr;
+
/* Skip trailing whitespace. */
for (i = len - 1; i >= 0 && (name[i] == ' ' || name[i] == '\t'); --i)
;
@@ -368,9 +372,8 @@ gdbpy_parse_command_name (const char *name,
for (; i > 0 && valid_cmd_char_p (name[i - 1]); --i)
;
- gdb::unique_xmalloc_ptr<char> result ((char *) xmalloc (lastchar - i + 2));
- memcpy (result.get (), &name[i], lastchar - i + 1);
- result.get ()[lastchar - i + 1] = '\0';
+ gdb::unique_xmalloc_ptr<char> result
+ = make_unique_xstrndup (&name[i], lastchar - i + 1);
/* Skip whitespace again. */
for (--i; i >= 0 && (name[i] == ' ' || name[i] == '\t'); --i)
@@ -385,7 +388,7 @@ gdbpy_parse_command_name (const char *name,
prefix_text2 = prefix_text.c_str ();
elt = lookup_cmd_1 (&prefix_text2, *start_list, NULL, NULL, 1);
- if (elt == NULL || elt == CMD_LIST_AMBIGUOUS)
+ if (elt == nullptr || elt == CMD_LIST_AMBIGUOUS || *prefix_text2 != '\0')
{
PyErr_Format (PyExc_RuntimeError, _("Could not find command prefix %s."),
prefix_text.c_str ());
@@ -395,6 +398,8 @@ gdbpy_parse_command_name (const char *name,
if (elt->is_prefix ())
{
*base_list = elt->subcommands;
+ if (prefix_cmd != nullptr)
+ *prefix_cmd = elt;
return result;
}
@@ -469,8 +474,9 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
return -1;
}
+ cmd_list_element *prefix_cmd = nullptr;
gdb::unique_xmalloc_ptr<char> cmd_name
- = gdbpy_parse_command_name (name, &cmd_list, &cmdlist);
+ = gdbpy_parse_command_name (name, &cmd_list, &cmdlist, &prefix_cmd);
if (cmd_name == nullptr)
return -1;
@@ -507,26 +513,64 @@ cmdpy_init (PyObject *self, PyObject *args, PyObject *kw)
if (is_prefix)
{
- int allow_unknown;
-
- /* If we have our own "invoke" method, then allow unknown
- sub-commands. */
- allow_unknown = PyObject_HasAttr (self, invoke_cst);
- cmd = add_prefix_cmd (cmd_name.get (),
- (enum command_class) cmdtype,
- NULL, docstring.release (), &obj->sub_list,
- allow_unknown, cmd_list);
+ bool has_invoke = PyObject_HasAttr (self, invoke_cst) == 1;
+ if (has_invoke)
+ {
+ /* If there's an 'invoke' method, then create the prefix
+ command, but call cmdpy_function to dispatch to the invoke
+ method when the user runs the prefix with no sub-command. */
+ cmd = add_prefix_cmd (cmd_name.get (),
+ (enum command_class) cmdtype,
+ nullptr,
+ docstring.release (), &obj->sub_list,
+ 1 /* allow_unknown */, cmd_list);
+ cmd->func = cmdpy_function;
+ }
+ else
+ {
+ /* If there is no 'invoke' method, then create the prefix
+ using the standard prefix callbacks. This means that for
+ 'set prefix' the user will get the help text listing all
+ of the sub-commands, and for 'show prefix', the user will
+ see all of the sub-command values. */
+ if (prefix_cmd != nullptr)
+ {
+ while (prefix_cmd->prefix != nullptr)
+ prefix_cmd = prefix_cmd->prefix;
+ }
+
+ bool is_show = (prefix_cmd != nullptr
+ && prefix_cmd->subcommands == &showlist);
+
+ if (is_show)
+ cmd = add_show_prefix_cmd (cmd_name.get (),
+ (enum command_class) cmdtype,
+ docstring.release (),
+ &obj->sub_list,
+ 0 /* allow_unknown */, cmd_list);
+ else
+ cmd = add_basic_prefix_cmd (cmd_name.get (),
+ (enum command_class) cmdtype,
+ docstring.release (),
+ &obj->sub_list,
+ 0 /* allow_unknown */, cmd_list);
+ }
}
else
- cmd = add_cmd (cmd_name.get (), (enum command_class) cmdtype,
- docstring.release (), cmd_list);
+ {
+ /* For non-prefix commands, arrange to call cmdpy_function, which
+ invokes the Python 'invoke' method, or raises an exception if
+ the 'invoke' method is missing. */
+ cmd = add_cmd (cmd_name.get (), (enum command_class) cmdtype,
+ docstring.release (), cmd_list);
+ cmd->func = cmdpy_function;
+ }
/* If successful, the above takes ownership of the name, since we set
name_allocated, so release it. */
cmd_name.release ();
- /* There appears to be no API to set this. */
- cmd->func = cmdpy_function;
+ /* There appears to be no API to set these member variables. */
cmd->destroyer = cmdpy_destroyer;
cmd->doc_allocated = 1;
cmd->name_allocated = 1;
diff --git a/gdb/python/py-color.c b/gdb/python/py-color.c
index 91ad7ae..3bbd22d 100644
--- a/gdb/python/py-color.c
+++ b/gdb/python/py-color.c
@@ -21,6 +21,7 @@
#include "python-internal.h"
#include "py-color.h"
#include "cli/cli-decode.h"
+#include "cli/cli-style.h"
/* Colorspace constants and their values. */
static struct {
@@ -64,7 +65,8 @@ create_color_object (const ui_file_style::color &color)
bool
gdbpy_is_color (PyObject *obj)
{
- return PyObject_IsInstance (obj, (PyObject *) &colorpy_object_type);
+ gdb_assert (obj != nullptr);
+ return PyObject_TypeCheck (obj, &colorpy_object_type) != 0;
}
/* See py-color.h. */
@@ -80,33 +82,33 @@ gdbpy_get_color (PyObject *obj)
static PyObject *
get_attr (PyObject *obj, PyObject *attr_name)
{
- if (! PyUnicode_Check (attr_name))
+ if (!PyUnicode_Check (attr_name))
return PyObject_GenericGetAttr (obj, attr_name);
colorpy_object *self = (colorpy_object *) obj;
const ui_file_style::color &color = self->color;
- if (! PyUnicode_CompareWithASCIIString (attr_name, "colorspace"))
+ if (!PyUnicode_CompareWithASCIIString (attr_name, "colorspace"))
{
int value = static_cast<int> (color.colorspace ());
return gdb_py_object_from_longest (value).release ();
}
- if (! PyUnicode_CompareWithASCIIString (attr_name, "is_none"))
+ if (!PyUnicode_CompareWithASCIIString (attr_name, "is_none"))
return PyBool_FromLong (color.is_none ());
- if (! PyUnicode_CompareWithASCIIString (attr_name, "is_indexed"))
+ if (!PyUnicode_CompareWithASCIIString (attr_name, "is_indexed"))
return PyBool_FromLong (color.is_indexed ());
- if (! PyUnicode_CompareWithASCIIString (attr_name, "is_direct"))
+ if (!PyUnicode_CompareWithASCIIString (attr_name, "is_direct"))
return PyBool_FromLong (color.is_direct ());
if (color.is_indexed ()
- && ! PyUnicode_CompareWithASCIIString (attr_name, "index"))
+ && !PyUnicode_CompareWithASCIIString (attr_name, "index"))
return gdb_py_object_from_longest (color.get_value ()).release ();
if (color.is_direct ()
- && ! PyUnicode_CompareWithASCIIString (attr_name, "components"))
+ && !PyUnicode_CompareWithASCIIString (attr_name, "components"))
{
uint8_t rgb[3];
color.get_rgb (rgb);
@@ -135,25 +137,29 @@ get_attr (PyObject *obj, PyObject *attr_name)
/* Implementation of Color.escape_sequence (self, is_fg) -> str. */
static PyObject *
-colorpy_escape_sequence (PyObject *self, PyObject *is_fg_obj)
+colorpy_escape_sequence (PyObject *self, PyObject *args, PyObject *kwargs)
{
- if (!gdbpy_is_color (self))
- {
- PyErr_SetString (PyExc_RuntimeError,
- _("Object is not gdb.Color."));
- return nullptr;
- }
+ static const char *keywords[] = { "is_foreground", nullptr };
+ PyObject *is_fg_obj;
+
+ /* Parse method arguments. */
+ if (!gdb_PyArg_ParseTupleAndKeywords (args, kwargs, "O!", keywords,
+ &PyBool_Type, &is_fg_obj))
+ return nullptr;
- if (! PyBool_Check (is_fg_obj))
+ /* Python ensures the type of SELF. */
+ gdb_assert (gdbpy_is_color (self));
+
+ /* The argument parsing ensures we have a bool. */
+ gdb_assert (PyBool_Check (is_fg_obj));
+
+ std::string s;
+ if (term_cli_styling ())
{
- PyErr_SetString (PyExc_RuntimeError,
- _("A boolean argument is required."));
- return nullptr;
+ bool is_fg = is_fg_obj == Py_True;
+ s = gdbpy_get_color (self).to_ansi (is_fg);
}
- bool is_fg = is_fg_obj == Py_True;
- std::string s = gdbpy_get_color (self).to_ansi (is_fg);
-
return host_string_to_python_string (s.c_str ()).release ();
}
@@ -175,17 +181,20 @@ colorpy_init (PyObject *self, PyObject *args, PyObject *kwds)
PyObject *colorspace_obj = nullptr;
color_space colorspace = color_space::MONOCHROME;
- if (! PyArg_ParseTuple (args, "|OO", &value_obj, &colorspace_obj))
+ static const char *keywords[] = { "value", "color_space", nullptr };
+
+ if (!gdb_PyArg_ParseTupleAndKeywords (args, kwds, "|OO", keywords,
+ &value_obj, &colorspace_obj))
return -1;
try
{
- if (colorspace_obj)
+ if (colorspace_obj != nullptr)
{
if (PyLong_Check (colorspace_obj))
{
long colorspace_id = -1;
- if (! gdb_py_int_as_long (colorspace_obj, &colorspace_id))
+ if (!gdb_py_int_as_long (colorspace_obj, &colorspace_id))
return -1;
if (!color_space_safe_cast (&colorspace, colorspace_id))
error (_("colorspace %ld is out of range."), colorspace_id);
@@ -201,11 +210,11 @@ colorpy_init (PyObject *self, PyObject *args, PyObject *kwds)
else if (PyLong_Check (value_obj))
{
long value = -1;
- if (! gdb_py_int_as_long (value_obj, &value))
+ if (!gdb_py_int_as_long (value_obj, &value))
return -1;
if (value < 0 || value > INT_MAX)
error (_("value %ld is out of range."), value);
- if (colorspace_obj)
+ if (colorspace_obj != nullptr)
obj->color = ui_file_style::color (colorspace, value);
else
obj->color = ui_file_style::color (value);
@@ -256,7 +265,6 @@ colorpy_init (PyObject *self, PyObject *args, PyObject *kwds)
return gdbpy_handle_gdb_exception (-1, except);
}
- Py_INCREF (self);
return 0;
}
@@ -272,10 +280,10 @@ colorpy_str (PyObject *self)
static int
gdbpy_initialize_color (void)
{
- for (auto & pair : colorspace_constants)
- if (PyModule_AddIntConstant (gdb_module, pair.name,
- static_cast<long> (pair.value)) < 0)
- return -1;
+ for (auto &pair : colorspace_constants)
+ if (PyModule_AddIntConstant (gdb_module, pair.name,
+ static_cast<long> (pair.value)) < 0)
+ return -1;
colorpy_object_type.tp_new = PyType_GenericNew;
return gdbpy_type_ready (&colorpy_object_type, gdb_module);
@@ -285,7 +293,8 @@ gdbpy_initialize_color (void)
static PyMethodDef color_methods[] =
{
- { "escape_sequence", colorpy_escape_sequence, METH_O,
+ { "escape_sequence", (PyCFunction) colorpy_escape_sequence,
+ METH_VARARGS | METH_KEYWORDS,
"escape_sequence (is_foreground) -> str.\n\
Return the ANSI escape sequence for this color.\n\
IS_FOREGROUND indicates whether this is a foreground or background color."},
@@ -313,7 +322,7 @@ PyTypeObject colorpy_object_type =
get_attr, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
+ Py_TPFLAGS_DEFAULT, /*tp_flags*/
"GDB color object", /* tp_doc */
0, /* tp_traverse */
0, /* tp_clear */
diff --git a/gdb/python/py-connection.c b/gdb/python/py-connection.c
index 93757ac..a6d9ad0 100644
--- a/gdb/python/py-connection.c
+++ b/gdb/python/py-connection.c
@@ -428,9 +428,7 @@ connpy_send_packet (PyObject *self, PyObject *args, PyObject *kw)
/* Global initialization for this file. */
-void _initialize_py_connection ();
-void
-_initialize_py_connection ()
+INIT_GDB_FILE (py_connection)
{
gdb::observers::connection_removed.attach (connpy_connection_removed,
"py-connection");
diff --git a/gdb/python/py-dap.c b/gdb/python/py-dap.c
index 7196d6c..9a9875a 100644
--- a/gdb/python/py-dap.c
+++ b/gdb/python/py-dap.c
@@ -110,9 +110,7 @@ dap_interp::pre_command_loop ()
call_dap_fn ("pre_command_loop");
}
-void _initialize_py_interp ();
-void
-_initialize_py_interp ()
+INIT_GDB_FILE (py_interp)
{
/* The dap code uses module typing, available starting python 3.5. */
#if PY_VERSION_HEX >= 0x03050000
diff --git a/gdb/python/py-disasm.c b/gdb/python/py-disasm.c
index 9ca8d22..17064dc 100644
--- a/gdb/python/py-disasm.c
+++ b/gdb/python/py-disasm.c
@@ -1311,12 +1311,13 @@ gdbpy_print_insn (struct gdbarch *gdbarch, CORE_ADDR memaddr,
return {};
}
- /* Check the result is a DisassemblerResult (or a sub-class). */
- if (!PyObject_IsInstance (result.get (),
- (PyObject *) &disasm_result_object_type))
+ /* Check the result is a DisassemblerResult. */
+ if (!PyObject_TypeCheck (result.get (), &disasm_result_object_type))
{
- PyErr_SetString (PyExc_TypeError,
- _("Result is not a DisassemblerResult."));
+ PyErr_Format
+ (PyExc_TypeError,
+ _("Result from Disassembler must be gdb.DisassemblerResult, not %s."),
+ Py_TYPE (result.get ())->tp_name);
gdbpy_print_stack ();
return std::optional<int> (-1);
}
diff --git a/gdb/python/py-gdb-readline.c b/gdb/python/py-gdb-readline.c
index ea3a385..70ceebb 100644
--- a/gdb/python/py-gdb-readline.c
+++ b/gdb/python/py-gdb-readline.c
@@ -29,11 +29,7 @@
static char *
gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout,
-#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 4
const char *prompt)
-#else
- char *prompt)
-#endif
{
int n;
const char *p = NULL;
diff --git a/gdb/python/py-micmd.c b/gdb/python/py-micmd.c
index e4f07c9..72f427f 100644
--- a/gdb/python/py-micmd.c
+++ b/gdb/python/py-micmd.c
@@ -578,9 +578,7 @@ PyTypeObject micmdpy_object_type = {
0, /* tp_alloc */
};
-void _initialize_py_micmd ();
-void
-_initialize_py_micmd ()
+INIT_GDB_FILE (py_micmd)
{
add_setshow_boolean_cmd
("py-micmd", class_maintenance, &pymicmd_debug,
diff --git a/gdb/python/py-param.c b/gdb/python/py-param.c
index 763680e..06237b6 100644
--- a/gdb/python/py-param.c
+++ b/gdb/python/py-param.c
@@ -495,7 +495,11 @@ get_doc_string (PyObject *object, enum doc_string_type doc_type,
}
}
- if (result == nullptr)
+ /* For the set/show docs, if these strings are empty then we set then to
+ a non-empty string. This ensures that the command has some sane
+ documentation for its 'help' text. */
+ if (result == nullptr
+ || (doc_type != doc_string_description && *result == '\0'))
{
if (doc_type == doc_string_description)
result.reset (xstrdup (_("This command is not documented.")));
@@ -904,6 +908,18 @@ parmpy_init (PyObject *self, PyObject *args, PyObject *kwds)
show_doc = get_doc_string (self, doc_string_show, name);
doc = get_doc_string (self, doc_string_description, cmd_name.get ());
+ /* The set/show docs should always be a non-empty string. */
+ gdb_assert (set_doc != nullptr && *set_doc != '\0');
+ gdb_assert (show_doc != nullptr && *show_doc != '\0');
+
+ /* For the DOC string only, if it is the empty string, then we convert it
+ to NULL. This means GDB will not even display a blank line for this
+ part of the help text, instead the set/show line is all the user will
+ get. */
+ gdb_assert (doc != nullptr);
+ if (*doc == '\0')
+ doc = nullptr;
+
Py_INCREF (self);
try
diff --git a/gdb/python/py-registers.c b/gdb/python/py-registers.c
index 78a806c..9be2e3c 100644
--- a/gdb/python/py-registers.c
+++ b/gdb/python/py-registers.c
@@ -403,8 +403,7 @@ gdbpy_parse_register_id (struct gdbarch *gdbarch, PyObject *pyo_reg_id,
PyErr_SetString (PyExc_ValueError, "Bad register");
}
/* The register could be a gdb.RegisterDescriptor object. */
- else if (PyObject_IsInstance (pyo_reg_id,
- (PyObject *) &register_descriptor_object_type))
+ else if (PyObject_TypeCheck (pyo_reg_id, &register_descriptor_object_type))
{
register_descriptor_object *reg
= (register_descriptor_object *) pyo_reg_id;
diff --git a/gdb/python/py-type.c b/gdb/python/py-type.c
index f37afde..c546aa7 100644
--- a/gdb/python/py-type.c
+++ b/gdb/python/py-type.c
@@ -158,7 +158,7 @@ convert_field (struct type *type, int field)
}
else
{
- if (type->field (field).loc_kind () == FIELD_LOC_KIND_DWARF_BLOCK)
+ if (type->field (field).loc_is_dwarf_block ())
arg = gdbpy_ref<>::new_reference (Py_None);
else
arg = gdb_py_object_from_longest (type->field (field).loc_bitpos ());
diff --git a/gdb/python/py-unwind.c b/gdb/python/py-unwind.c
index ab34971..dc078ec 100644
--- a/gdb/python/py-unwind.c
+++ b/gdb/python/py-unwind.c
@@ -929,9 +929,9 @@ frame_unwind_python::sniff (const frame_info_ptr &this_frame,
/* Received UnwindInfo, cache data. */
PyObject *pyo_unwind_info = PyTuple_GET_ITEM (pyo_execute_ret.get (), 0);
- if (PyObject_IsInstance (pyo_unwind_info,
- (PyObject *) &unwind_info_object_type) <= 0)
- error (_("A Unwinder should return gdb.UnwindInfo instance."));
+ if (!PyObject_TypeCheck (pyo_unwind_info, &unwind_info_object_type))
+ error (_("an Unwinder should return gdb.UnwindInfo, not %s."),
+ Py_TYPE (pyo_unwind_info)->tp_name);
{
unwind_info_object *unwind_info =
@@ -1029,9 +1029,7 @@ gdbpy_initialize_unwind (void)
return 0;
}
-void _initialize_py_unwind ();
-void
-_initialize_py_unwind ()
+INIT_GDB_FILE (py_unwind)
{
add_setshow_boolean_cmd
("py-unwind", class_maintenance, &pyuw_debug,
diff --git a/gdb/python/py-value.c b/gdb/python/py-value.c
index 3855bde..8a2e263 100644
--- a/gdb/python/py-value.c
+++ b/gdb/python/py-value.c
@@ -1096,8 +1096,7 @@ valpy_getitem (PyObject *self, PyObject *key)
res_val = value_struct_elt (&tmp, {}, field.get (), NULL,
"struct/class/union");
else if (bitpos >= 0)
- res_val = value_struct_elt_bitpos (&tmp, bitpos, field_type,
- "struct/class/union");
+ res_val = value_struct_elt_bitpos (tmp, bitpos, field_type);
else if (base_class_type != NULL)
{
struct type *val_type;
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
index 5262d76..7f4237e 100644
--- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h
@@ -88,6 +88,8 @@
#include <frameobject.h>
#include "py-ref.h"
+static_assert (PY_VERSION_HEX >= 0x03040000);
+
#define Py_TPFLAGS_CHECKTYPES 0
/* If Python.h does not define WITH_THREAD, then the various
@@ -135,17 +137,6 @@ typedef unsigned long gdb_py_ulongest;
#endif /* HAVE_LONG_LONG */
-#if PY_VERSION_HEX < 0x03020000
-typedef long Py_hash_t;
-#endif
-
-/* PyMem_RawMalloc appeared in Python 3.4. For earlier versions, we can just
- fall back to PyMem_Malloc. */
-
-#if PY_VERSION_HEX < 0x03040000
-#define PyMem_RawMalloc PyMem_Malloc
-#endif
-
/* A template variable holding the format character (as for
Py_BuildValue) for a given type. */
template<typename T>
@@ -519,7 +510,8 @@ PyObject *gdbpy_string_to_argv (PyObject *self, PyObject *args);
PyObject *gdbpy_parameter_value (const setting &var);
gdb::unique_xmalloc_ptr<char> gdbpy_parse_command_name
(const char *name, struct cmd_list_element ***base_list,
- struct cmd_list_element **start_list);
+ struct cmd_list_element **start_list,
+ struct cmd_list_element **prefix_cmd = nullptr);
PyObject *gdbpy_register_tui_window (PyObject *self, PyObject *args,
PyObject *kw);
diff --git a/gdb/python/python.c b/gdb/python/python.c
index 7e28eb6..cb0d642 100644
--- a/gdb/python/python.c
+++ b/gdb/python/python.c
@@ -1612,16 +1612,53 @@ gdbpy_flush (PyObject *self, PyObject *args, PyObject *kw)
{
case 1:
{
- gdb_flush (gdb_stderr);
+ if (gdb_stderr != nullptr)
+ gdb_flush (gdb_stderr);
break;
}
case 2:
{
- gdb_flush (gdb_stdlog);
+ if (gdb_stdlog != nullptr)
+ gdb_flush (gdb_stdlog);
break;
}
default:
- gdb_flush (gdb_stdout);
+ if (gdb_stdout != nullptr)
+ gdb_flush (gdb_stdout);
+ }
+
+ Py_RETURN_NONE;
+}
+
+/* Implement gdb.warning(). Takes a single text string argument and emit a
+ warning using GDB's 'warning' function. The input text string must not
+ be empty. */
+
+static PyObject *
+gdbpy_warning (PyObject *self, PyObject *args, PyObject *kw)
+{
+ const char *text;
+ static const char *keywords[] = { "text", nullptr };
+
+ if (!gdb_PyArg_ParseTupleAndKeywords (args, kw, "s", keywords, &text))
+ return nullptr;
+
+ if (strlen (text) == 0)
+ {
+ PyErr_SetString (PyExc_ValueError,
+ _("Empty text string passed to gdb.warning"));
+ return nullptr;
+ }
+
+ try
+ {
+ warning ("%s", text);
+ }
+ catch (const gdb_exception &ex)
+ {
+ /* The warning() call probably cannot throw an exception. But just
+ in case it ever does. */
+ return gdbpy_handle_gdb_exception (nullptr, ex);
}
Py_RETURN_NONE;
@@ -2443,7 +2480,7 @@ py_initialize ()
/foo/lib/pythonX.Y/...
This must be done before calling Py_Initialize. */
gdb::unique_xmalloc_ptr<char> progname
- (concat (ldirname (python_libdir.c_str ()).c_str (), SLASH_STRING, "bin",
+ (concat (gdb_ldirname (python_libdir.c_str ()).c_str (), SLASH_STRING, "bin",
SLASH_STRING, "python", (char *) NULL));
{
@@ -2680,9 +2717,7 @@ test_python ()
/* See python.h. */
cmd_list_element *python_cmd_element = nullptr;
-void _initialize_python ();
-void
-_initialize_python ()
+INIT_GDB_FILE (python)
{
cmd_list_element *python_interactive_cmd
= add_com ("python-interactive", class_obscure,
@@ -3121,6 +3156,12 @@ Return the current print options." },
METH_VARARGS | METH_KEYWORDS,
"notify_mi (name, data) -> None\n\
Output async record to MI channels if any." },
+
+ { "warning", (PyCFunction) gdbpy_warning,
+ METH_VARARGS | METH_KEYWORDS,
+ "warning (text) -> None\n\
+Print a warning." },
+
{NULL, NULL, 0, NULL}
};
diff --git a/gdb/ravenscar-thread.c b/gdb/ravenscar-thread.c
index 13258c4..4d79b3d 100644
--- a/gdb/ravenscar-thread.c
+++ b/gdb/ravenscar-thread.c
@@ -503,7 +503,7 @@ ravenscar_thread_target::pid_to_str (ptid_t ptid)
return beneath ()->pid_to_str (ptid);
return string_printf ("Ravenscar Thread 0x%s",
- phex_nz (ptid.tid (), sizeof (ULONGEST)));
+ phex_nz (ptid.tid ()));
}
CORE_ADDR
@@ -921,9 +921,7 @@ Support for Ravenscar task/thread switching is disabled\n"));
/* Module startup initialization function, automagically called by
init.c. */
-void _initialize_ravenscar ();
-void
-_initialize_ravenscar ()
+INIT_GDB_FILE (ravenscar)
{
/* Notice when the inferior is created in order to push the
ravenscar ops if needed. */
diff --git a/gdb/record-btrace.c b/gdb/record-btrace.c
index 2d71b72..d789992 100644
--- a/gdb/record-btrace.c
+++ b/gdb/record-btrace.c
@@ -132,10 +132,7 @@ public:
bool can_execute_reverse () override;
bool stopped_by_sw_breakpoint () override;
- bool supports_stopped_by_sw_breakpoint () override;
-
bool stopped_by_hw_breakpoint () override;
- bool supports_stopped_by_hw_breakpoint () override;
enum exec_direction_kind execution_direction () override;
void prepare_to_generate_core () override;
@@ -2581,7 +2578,7 @@ record_btrace_maybe_mark_async_event
const std::vector<thread_info *> &no_history)
{
bool more_moving = !moving.empty ();
- bool more_no_history = !no_history.empty ();;
+ bool more_no_history = !no_history.empty ();
if (!more_moving && !more_no_history)
return;
@@ -2773,18 +2770,6 @@ record_btrace_target::stopped_by_sw_breakpoint ()
return this->beneath ()->stopped_by_sw_breakpoint ();
}
-/* The supports_stopped_by_sw_breakpoint method of target
- record-btrace. */
-
-bool
-record_btrace_target::supports_stopped_by_sw_breakpoint ()
-{
- if (record_is_replaying (minus_one_ptid))
- return true;
-
- return this->beneath ()->supports_stopped_by_sw_breakpoint ();
-}
-
/* The stopped_by_sw_breakpoint method of target record-btrace. */
bool
@@ -2800,18 +2785,6 @@ record_btrace_target::stopped_by_hw_breakpoint ()
return this->beneath ()->stopped_by_hw_breakpoint ();
}
-/* The supports_stopped_by_hw_breakpoint method of target
- record-btrace. */
-
-bool
-record_btrace_target::supports_stopped_by_hw_breakpoint ()
-{
- if (record_is_replaying (minus_one_ptid))
- return true;
-
- return this->beneath ()->supports_stopped_by_hw_breakpoint ();
-}
-
/* The update_thread_list method of target record-btrace. */
void
@@ -3213,9 +3186,7 @@ set_record_pt_event_tracing_value (const char *args, int from_tty,
/* Initialize btrace commands. */
-void _initialize_record_btrace ();
-void
-_initialize_record_btrace ()
+INIT_GDB_FILE (record_btrace)
{
cmd_list_element *record_btrace_cmd
= add_prefix_cmd ("btrace", class_obscure, cmd_record_btrace_start,
diff --git a/gdb/record-full.c b/gdb/record-full.c
index b52fb06..7e3da27 100644
--- a/gdb/record-full.c
+++ b/gdb/record-full.c
@@ -2877,9 +2877,7 @@ maintenance_print_record_instruction (const char *args, int from_tty)
}
}
-void _initialize_record_full ();
-void
-_initialize_record_full ()
+INIT_GDB_FILE (record_full)
{
struct cmd_list_element *c;
diff --git a/gdb/record.c b/gdb/record.c
index 440c5e9..248cfaa 100644
--- a/gdb/record.c
+++ b/gdb/record.c
@@ -769,9 +769,7 @@ set_record_call_history_size (const char *args, int from_tty,
&record_call_history_size);
}
-void _initialize_record ();
-void
-_initialize_record ()
+INIT_GDB_FILE (record)
{
struct cmd_list_element *c;
diff --git a/gdb/regcache-dump.c b/gdb/regcache-dump.c
index 39dd8c5..c6ef552 100644
--- a/gdb/regcache-dump.c
+++ b/gdb/regcache-dump.c
@@ -346,9 +346,7 @@ maintenance_print_remote_registers (const char *args, int from_tty)
"maintenance print remote-registers");
}
-void _initialize_regcache_dump ();
-void
-_initialize_regcache_dump ()
+INIT_GDB_FILE (regcache_dump)
{
add_cmd ("registers", class_maintenance, maintenance_print_registers,
_("Print the internal register configuration.\n"
diff --git a/gdb/regcache.c b/gdb/regcache.c
index e3d435f..9892c54 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -2213,9 +2213,7 @@ regcache_thread_ptid_changed ()
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_regcache ();
-void
-_initialize_regcache ()
+INIT_GDB_FILE (regcache)
{
struct cmd_list_element *c;
diff --git a/gdb/reggroups.c b/gdb/reggroups.c
index c931434..596b336 100644
--- a/gdb/reggroups.c
+++ b/gdb/reggroups.c
@@ -259,9 +259,7 @@ const reggroup *const all_reggroup = &all_group;
const reggroup *const save_reggroup = &save_group;
const reggroup *const restore_reggroup = &restore_group;
-void _initialize_reggroup ();
-void
-_initialize_reggroup ()
+INIT_GDB_FILE (reggroup)
{
add_cmd ("reggroups", class_maintenance,
maintenance_print_reggroups, _("\
diff --git a/gdb/remote-notif.c b/gdb/remote-notif.c
index 053591c..da1b578 100644
--- a/gdb/remote-notif.c
+++ b/gdb/remote-notif.c
@@ -234,9 +234,7 @@ remote_notif_state::~remote_notif_state ()
delete_async_event_handler (&get_pending_events_token);
}
-void _initialize_notif ();
-void
-_initialize_notif ()
+INIT_GDB_FILE (notif)
{
add_setshow_boolean_cmd ("notification", no_class, &notif_debug,
_("\
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index fc2c900..425e50d 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -1284,9 +1284,7 @@ gdbsim_target::memory_map ()
return result;
}
-void _initialize_remote_sim ();
-void
-_initialize_remote_sim ()
+INIT_GDB_FILE (remote_sim)
{
struct cmd_list_element *c;
diff --git a/gdb/remote.c b/gdb/remote.c
index 7dc057c..6208a90 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -80,6 +80,7 @@
#include "async-event.h"
#include "gdbsupport/selftest.h"
#include "cli/cli-style.h"
+#include "gdbsupport/remote-args.h"
/* The remote target. */
@@ -250,6 +251,7 @@ enum {
PACKET_vFile_readlink,
PACKET_vFile_fstat,
PACKET_vFile_stat,
+ PACKET_vFile_lstat,
PACKET_qXfer_auxv,
PACKET_qXfer_features,
PACKET_qXfer_exec_file,
@@ -1022,8 +1024,8 @@ public:
int fileio_fstat (int fd, struct stat *sb, fileio_error *target_errno) override;
- int fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno) override;
+ int fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno) override;
int fileio_close (int fd, fileio_error *target_errno) override;
@@ -4943,7 +4945,7 @@ remote_target::process_initial_stop_replies (int from_tty)
event_ptid = target_wait (waiton_ptid, &ws, TARGET_WNOHANG);
if (remote_debug)
- print_target_wait_results (waiton_ptid, event_ptid, ws);
+ print_target_wait_results (waiton_ptid, event_ptid, ws, this);
switch (ws.kind ())
{
@@ -10835,16 +10837,15 @@ remote_target::extended_remote_run (const std::string &args)
if (!args.empty ())
{
- int i;
+ std::vector<std::string> split_args = gdb::remote_args::split (args);
- gdb_argv argv (args.c_str ());
- for (i = 0; argv[i] != NULL; i++)
+ for (const auto &a : split_args)
{
- if (strlen (argv[i]) * 2 + 1 + len >= get_remote_packet_size ())
+ if (a.size () * 2 + 1 + len >= get_remote_packet_size ())
error (_("Argument list too long for run packet"));
rs->buf[len++] = ';';
- len += 2 * bin2hex ((gdb_byte *) argv[i], rs->buf.data () + len,
- strlen (argv[i]));
+ len += 2 * bin2hex ((gdb_byte *) a.c_str (), rs->buf.data () + len,
+ a.size ());
}
}
@@ -11650,7 +11651,7 @@ remote_target::remote_write_qxfer (const char *object_name,
i = snprintf (rs->buf.data (), max_size,
"qXfer:%s:write:%s:%s:",
object_name, annex ? annex : "",
- phex_nz (offset, sizeof offset));
+ phex_nz (offset));
max_size -= (i + 1);
/* Escape as much data as fits into rs->buf. */
@@ -11715,8 +11716,8 @@ remote_target::remote_read_qxfer (const char *object_name,
snprintf (rs->buf.data (), get_remote_packet_size () - 4,
"qXfer:%s:read:%s:%s,%s",
object_name, annex ? annex : "",
- phex_nz (offset, sizeof offset),
- phex_nz (n, sizeof n));
+ phex_nz (offset),
+ phex_nz (n));
i = putpkt (rs->buf);
if (i < 0)
return TARGET_XFER_E_IO;
@@ -12014,7 +12015,7 @@ remote_target::search_memory (CORE_ADDR start_addr, ULONGEST search_space_len,
i = snprintf (rs->buf.data (), max_size,
"qSearch:memory:%s;%s;",
phex_nz (start_addr, addr_size),
- phex_nz (search_space_len, sizeof (search_space_len)));
+ phex_nz (search_space_len));
max_size -= (i + 1);
/* Escape as much data as fits into rs->buf. */
@@ -13149,7 +13150,7 @@ remote_target::fileio_readlink (struct inferior *inf, const char *filename,
return ret;
}
-/* Helper function to handle ::fileio_fstat and ::fileio_stat result
+/* Helper function to handle ::fileio_fstat and ::fileio_lstat result
processing. When this function is called the remote syscall has been
performed and we know we didn't get an error back.
@@ -13160,10 +13161,10 @@ remote_target::fileio_readlink (struct inferior *inf, const char *filename,
data) is to be placed in ST. */
static int
-fileio_process_fstat_and_stat_reply (const char *attachment,
- int attachment_len,
- int expected_len,
- struct stat *st)
+fileio_process_fstat_and_lstat_reply (const char *attachment,
+ int attachment_len,
+ int expected_len,
+ struct stat *st)
{
struct fio_stat fst;
@@ -13225,15 +13226,15 @@ remote_target::fileio_fstat (int fd, struct stat *st, fileio_error *remote_errno
return 0;
}
- return fileio_process_fstat_and_stat_reply (attachment, attachment_len,
- ret, st);
+ return fileio_process_fstat_and_lstat_reply (attachment, attachment_len,
+ ret, st);
}
-/* Implementation of to_fileio_stat. */
+/* Implementation of to_fileio_lstat. */
int
-remote_target::fileio_stat (struct inferior *inf, const char *filename,
- struct stat *st, fileio_error *remote_errno)
+remote_target::fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *st, fileio_error *remote_errno)
{
struct remote_state *rs = get_remote_state ();
char *p = rs->buf.data ();
@@ -13242,14 +13243,14 @@ remote_target::fileio_stat (struct inferior *inf, const char *filename,
if (remote_hostio_set_filesystem (inf, remote_errno) != 0)
return {};
- remote_buffer_add_string (&p, &left, "vFile:stat:");
+ remote_buffer_add_string (&p, &left, "vFile:lstat:");
remote_buffer_add_bytes (&p, &left, (const gdb_byte *) filename,
strlen (filename));
int attachment_len;
const char *attachment;
- int ret = remote_hostio_send_command (p - rs->buf.data (), PACKET_vFile_stat,
+ int ret = remote_hostio_send_command (p - rs->buf.data (), PACKET_vFile_lstat,
remote_errno, &attachment,
&attachment_len);
@@ -13258,8 +13259,8 @@ remote_target::fileio_stat (struct inferior *inf, const char *filename,
if (ret < 0)
return ret;
- return fileio_process_fstat_and_stat_reply (attachment, attachment_len,
- ret, st);
+ return fileio_process_fstat_and_lstat_reply (attachment, attachment_len,
+ ret, st);
}
/* Implementation of to_filesystem_is_local. */
@@ -13763,7 +13764,7 @@ remote_target::download_tracepoint (struct bp_location *loc)
encode_actions_rsp (loc, &tdp_actions, &stepping_actions);
tpaddr = loc->address;
- strcpy (addrbuf, phex (tpaddr, sizeof (CORE_ADDR)));
+ strcpy (addrbuf, phex (tpaddr));
ret = snprintf (buf.data (), buf.size (), "QTDP:%x:%s:%c:%lx:%x",
b->number, addrbuf, /* address */
(b->enable_state == bp_enabled ? 'E' : 'D'),
@@ -14027,7 +14028,7 @@ remote_target::enable_tracepoint (struct bp_location *location)
xsnprintf (rs->buf.data (), get_remote_packet_size (), "QTEnable:%x:%s",
location->owner->number,
- phex (location->address, sizeof (CORE_ADDR)));
+ phex (location->address));
putpkt (rs->buf);
remote_get_noisy_reply ();
if (rs->buf[0] == '\0')
@@ -14043,7 +14044,7 @@ remote_target::disable_tracepoint (struct bp_location *location)
xsnprintf (rs->buf.data (), get_remote_packet_size (), "QTDisable:%x:%s",
location->owner->number,
- phex (location->address, sizeof (CORE_ADDR)));
+ phex (location->address));
putpkt (rs->buf);
remote_get_noisy_reply ();
if (rs->buf[0] == '\0')
@@ -15569,7 +15570,7 @@ remote_target::commit_requested_thread_options ()
*obuf_p++ = ';';
obuf_p += xsnprintf (obuf_p, obuf_endp - obuf_p, "%s",
- phex_nz (options, sizeof (options)));
+ phex_nz (options));
if (tp->ptid != magic_null_ptid)
{
*obuf_p++ = ':';
@@ -15808,8 +15809,8 @@ create_fetch_memtags_request (gdb::char_vector &packet, CORE_ADDR address,
std::string request = string_printf ("qMemTags:%s,%s:%s",
phex_nz (address, addr_size),
- phex_nz (len, sizeof (len)),
- phex_nz (type, sizeof (type)));
+ phex_nz (len),
+ phex_nz (type));
strcpy (packet.data (), request.c_str ());
}
@@ -15843,8 +15844,8 @@ create_store_memtags_request (gdb::char_vector &packet, CORE_ADDR address,
/* Put together the main packet, address and length. */
std::string request = string_printf ("QMemTags:%s,%s:%s:",
phex_nz (address, addr_size),
- phex_nz (len, sizeof (len)),
- phex_nz (type, sizeof (type)));
+ phex_nz (len),
+ phex_nz (type));
request += bin2hex (tags.data (), tags.size ());
/* Check if we have exceeded the maximum packet size. */
@@ -16161,9 +16162,7 @@ test_packet_check_result ()
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_remote ();
-void
-_initialize_remote ()
+INIT_GDB_FILE (remote)
{
add_target (remote_target_info, remote_target::open);
add_target (extended_remote_target_info, extended_remote_target::open);
@@ -16422,6 +16421,8 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
add_packet_config_cmd (PACKET_vFile_stat, "vFile:stat", "hostio-stat", 0);
+ add_packet_config_cmd (PACKET_vFile_lstat, "vFile:lstat", "hostio-lstat", 0);
+
add_packet_config_cmd (PACKET_vAttach, "vAttach", "attach", 0);
add_packet_config_cmd (PACKET_vRun, "vRun", "run", 0);
diff --git a/gdb/reverse.c b/gdb/reverse.c
index 2c9ed72..dc35bca 100644
--- a/gdb/reverse.c
+++ b/gdb/reverse.c
@@ -277,9 +277,7 @@ info_bookmarks_command (const char *args, int from_tty)
}
}
-void _initialize_reverse ();
-void
-_initialize_reverse ()
+INIT_GDB_FILE (reverse)
{
cmd_list_element *reverse_step_cmd
= add_com ("reverse-step", class_run, reverse_step, _("\
diff --git a/gdb/riscv-canonicalize-syscall-gen.c b/gdb/riscv-canonicalize-syscall-gen.c
new file mode 100644
index 0000000..67e5410
--- /dev/null
+++ b/gdb/riscv-canonicalize-syscall-gen.c
@@ -0,0 +1,358 @@
+/* DO NOT EDIT: Autogenerated by riscv-canonicalize-syscall-gen.py
+
+ Copyright (C) 2024-2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "defs.h"
+#include "riscv-linux-tdep.h"
+
+/* riscv64_canonicalize_syscall maps from the native riscv 64 Linux set
+ of syscall ids into a canonical set of syscall ids used by
+ process record. */
+
+enum gdb_syscall
+riscv64_canonicalize_syscall (int syscall)
+{
+ switch (syscall)
+ {
+ case 0: return gdb_sys_io_setup;
+ case 1: return gdb_sys_io_destroy;
+ case 2: return gdb_sys_io_submit;
+ case 3: return gdb_sys_io_cancel;
+ case 4: return gdb_sys_io_getevents;
+ case 5: return gdb_sys_setxattr;
+ case 6: return gdb_sys_lsetxattr;
+ case 7: return gdb_sys_fsetxattr;
+ case 8: return gdb_sys_getxattr;
+ case 9: return gdb_sys_lgetxattr;
+ case 10: return gdb_sys_fgetxattr;
+ case 11: return gdb_sys_listxattr;
+ case 12: return gdb_sys_llistxattr;
+ case 13: return gdb_sys_flistxattr;
+ case 14: return gdb_sys_removexattr;
+ case 15: return gdb_sys_lremovexattr;
+ case 16: return gdb_sys_fremovexattr;
+ case 17: return gdb_sys_getcwd;
+ case 18: return gdb_sys_lookup_dcookie;
+ case 19: return gdb_sys_eventfd2;
+ case 20: return gdb_sys_epoll_create1;
+ case 21: return gdb_sys_epoll_ctl;
+ case 22: return gdb_sys_epoll_pwait;
+ case 23: return gdb_sys_dup;
+ case 24: return gdb_sys_dup3;
+ case 25: return gdb_sys_fcntl;
+ case 26: return gdb_sys_inotify_init1;
+ case 27: return gdb_sys_inotify_add_watch;
+ case 28: return gdb_sys_inotify_rm_watch;
+ case 29: return gdb_sys_ioctl;
+ case 30: return gdb_sys_ioprio_set;
+ case 31: return gdb_sys_ioprio_get;
+ case 32: return gdb_sys_flock;
+ case 33: return gdb_sys_mknodat;
+ case 34: return gdb_sys_mkdirat;
+ case 35: return gdb_sys_unlinkat;
+ case 36: return gdb_sys_symlinkat;
+ case 37: return gdb_sys_linkat;
+ /* case 39: return gdb_sys_umount2; */
+ case 40: return gdb_sys_mount;
+ case 41: return gdb_sys_pivot_root;
+ case 42: return gdb_sys_nfsservctl;
+ case 43: return gdb_sys_statfs;
+ case 44: return gdb_sys_fstatfs;
+ case 45: return gdb_sys_truncate;
+ case 46: return gdb_sys_ftruncate;
+ case 47: return gdb_sys_fallocate;
+ case 48: return gdb_sys_faccessat;
+ case 49: return gdb_sys_chdir;
+ case 50: return gdb_sys_fchdir;
+ case 51: return gdb_sys_chroot;
+ case 52: return gdb_sys_fchmod;
+ case 53: return gdb_sys_fchmodat;
+ case 54: return gdb_sys_fchownat;
+ case 55: return gdb_sys_fchown;
+ case 56: return gdb_sys_openat;
+ case 57: return gdb_sys_close;
+ case 58: return gdb_sys_vhangup;
+ case 59: return gdb_sys_pipe2;
+ case 60: return gdb_sys_quotactl;
+ case 61: return gdb_sys_getdents64;
+ case 62: return gdb_sys_lseek;
+ case 63: return gdb_sys_read;
+ case 64: return gdb_sys_write;
+ case 65: return gdb_sys_readv;
+ case 66: return gdb_sys_writev;
+ case 67: return gdb_sys_pread64;
+ case 68: return gdb_sys_pwrite64;
+ /* case 69: return gdb_sys_preadv; */
+ /* case 70: return gdb_sys_pwritev; */
+ case 71: return gdb_sys_sendfile;
+ case 72: return gdb_sys_pselect6;
+ case 73: return gdb_sys_ppoll;
+ /* case 74: return gdb_sys_signalfd4; */
+ case 75: return gdb_sys_vmsplice;
+ case 76: return gdb_sys_splice;
+ case 77: return gdb_sys_tee;
+ case 78: return gdb_sys_readlinkat;
+ case 79: return gdb_sys_newfstatat;
+ case 80: return gdb_sys_fstat;
+ case 81: return gdb_sys_sync;
+ case 82: return gdb_sys_fsync;
+ case 83: return gdb_sys_fdatasync;
+ case 84: return gdb_sys_sync_file_range;
+ /* case 85: return gdb_sys_timerfd_create; */
+ /* case 86: return gdb_sys_timerfd_settime; */
+ /* case 87: return gdb_sys_timerfd_gettime; */
+ /* case 88: return gdb_sys_utimensat; */
+ case 89: return gdb_sys_acct;
+ case 90: return gdb_sys_capget;
+ case 91: return gdb_sys_capset;
+ case 92: return gdb_sys_personality;
+ case 93: return gdb_sys_exit;
+ case 94: return gdb_sys_exit_group;
+ case 95: return gdb_sys_waitid;
+ case 96: return gdb_sys_set_tid_address;
+ case 97: return gdb_sys_unshare;
+ case 98: return gdb_sys_futex;
+ case 99: return gdb_sys_set_robust_list;
+ case 100: return gdb_sys_get_robust_list;
+ case 101: return gdb_sys_nanosleep;
+ case 102: return gdb_sys_getitimer;
+ case 103: return gdb_sys_setitimer;
+ case 104: return gdb_sys_kexec_load;
+ case 105: return gdb_sys_init_module;
+ case 106: return gdb_sys_delete_module;
+ case 107: return gdb_sys_timer_create;
+ case 108: return gdb_sys_timer_gettime;
+ case 109: return gdb_sys_timer_getoverrun;
+ case 110: return gdb_sys_timer_settime;
+ case 111: return gdb_sys_timer_delete;
+ case 112: return gdb_sys_clock_settime;
+ case 113: return gdb_sys_clock_gettime;
+ case 114: return gdb_sys_clock_getres;
+ case 115: return gdb_sys_clock_nanosleep;
+ case 116: return gdb_sys_syslog;
+ case 117: return gdb_sys_ptrace;
+ case 118: return gdb_sys_sched_setparam;
+ case 119: return gdb_sys_sched_setscheduler;
+ case 120: return gdb_sys_sched_getscheduler;
+ case 121: return gdb_sys_sched_getparam;
+ case 122: return gdb_sys_sched_setaffinity;
+ case 123: return gdb_sys_sched_getaffinity;
+ case 124: return gdb_sys_sched_yield;
+ case 125: return gdb_sys_sched_get_priority_max;
+ case 126: return gdb_sys_sched_get_priority_min;
+ case 127: return gdb_sys_sched_rr_get_interval;
+ case 128: return gdb_sys_restart_syscall;
+ case 129: return gdb_sys_kill;
+ case 130: return gdb_sys_tkill;
+ case 131: return gdb_sys_tgkill;
+ case 132: return gdb_sys_sigaltstack;
+ case 133: return gdb_sys_rt_sigsuspend;
+ case 134: return gdb_sys_rt_sigaction;
+ case 135: return gdb_sys_rt_sigprocmask;
+ case 136: return gdb_sys_rt_sigpending;
+ case 137: return gdb_sys_rt_sigtimedwait;
+ case 138: return gdb_sys_rt_sigqueueinfo;
+ case 139: return gdb_sys_rt_sigreturn;
+ case 140: return gdb_sys_setpriority;
+ case 141: return gdb_sys_getpriority;
+ case 142: return gdb_sys_reboot;
+ case 143: return gdb_sys_setregid;
+ case 144: return gdb_sys_setgid;
+ case 145: return gdb_sys_setreuid;
+ case 146: return gdb_sys_setuid;
+ case 147: return gdb_sys_setresuid;
+ case 148: return gdb_sys_getresuid;
+ case 149: return gdb_sys_setresgid;
+ case 150: return gdb_sys_getresgid;
+ case 151: return gdb_sys_setfsuid;
+ case 152: return gdb_sys_setfsgid;
+ case 153: return gdb_sys_times;
+ case 154: return gdb_sys_setpgid;
+ case 155: return gdb_sys_getpgid;
+ case 156: return gdb_sys_getsid;
+ case 157: return gdb_sys_setsid;
+ case 158: return gdb_sys_getgroups;
+ case 159: return gdb_sys_setgroups;
+ case 160: return gdb_sys_uname;
+ case 161: return gdb_sys_sethostname;
+ case 162: return gdb_sys_setdomainname;
+ case 163: return gdb_sys_getrlimit;
+ case 164: return gdb_sys_setrlimit;
+ case 165: return gdb_sys_getrusage;
+ case 166: return gdb_sys_umask;
+ case 167: return gdb_sys_prctl;
+ case 168: return gdb_sys_getcpu;
+ case 169: return gdb_sys_gettimeofday;
+ case 170: return gdb_sys_settimeofday;
+ case 171: return gdb_sys_adjtimex;
+ case 172: return gdb_sys_getpid;
+ case 173: return gdb_sys_getppid;
+ case 174: return gdb_sys_getuid;
+ case 175: return gdb_sys_geteuid;
+ case 176: return gdb_sys_getgid;
+ case 177: return gdb_sys_getegid;
+ case 178: return gdb_sys_gettid;
+ case 179: return gdb_sys_sysinfo;
+ case 180: return gdb_sys_mq_open;
+ case 181: return gdb_sys_mq_unlink;
+ case 182: return gdb_sys_mq_timedsend;
+ case 183: return gdb_sys_mq_timedreceive;
+ case 184: return gdb_sys_mq_notify;
+ case 185: return gdb_sys_mq_getsetattr;
+ case 186: return gdb_sys_msgget;
+ case 187: return gdb_sys_msgctl;
+ case 188: return gdb_sys_msgrcv;
+ case 189: return gdb_sys_msgsnd;
+ case 190: return gdb_sys_semget;
+ case 191: return gdb_sys_semctl;
+ case 192: return gdb_sys_semtimedop;
+ case 193: return gdb_sys_semop;
+ case 194: return gdb_sys_shmget;
+ case 195: return gdb_sys_shmctl;
+ case 196: return gdb_sys_shmat;
+ case 197: return gdb_sys_shmdt;
+ case 198: return gdb_sys_socket;
+ case 199: return gdb_sys_socketpair;
+ case 200: return gdb_sys_bind;
+ case 201: return gdb_sys_listen;
+ case 202: return gdb_sys_accept;
+ case 203: return gdb_sys_connect;
+ case 204: return gdb_sys_getsockname;
+ case 205: return gdb_sys_getpeername;
+ case 206: return gdb_sys_sendto;
+ case 207: return gdb_sys_recvfrom;
+ case 208: return gdb_sys_setsockopt;
+ case 209: return gdb_sys_getsockopt;
+ case 210: return gdb_sys_shutdown;
+ case 211: return gdb_sys_sendmsg;
+ case 212: return gdb_sys_recvmsg;
+ case 213: return gdb_sys_readahead;
+ case 214: return gdb_sys_brk;
+ case 215: return gdb_sys_munmap;
+ case 216: return gdb_sys_mremap;
+ case 217: return gdb_sys_add_key;
+ case 218: return gdb_sys_request_key;
+ case 219: return gdb_sys_keyctl;
+ case 220: return gdb_sys_clone;
+ case 221: return gdb_sys_execve;
+ case 222: return gdb_sys_old_mmap;
+ case 223: return gdb_sys_fadvise64;
+ case 224: return gdb_sys_swapon;
+ case 225: return gdb_sys_swapoff;
+ case 226: return gdb_sys_mprotect;
+ case 227: return gdb_sys_msync;
+ case 228: return gdb_sys_mlock;
+ case 229: return gdb_sys_munlock;
+ case 230: return gdb_sys_mlockall;
+ case 231: return gdb_sys_munlockall;
+ case 232: return gdb_sys_mincore;
+ case 233: return gdb_sys_madvise;
+ case 234: return gdb_sys_remap_file_pages;
+ case 235: return gdb_sys_mbind;
+ case 236: return gdb_sys_get_mempolicy;
+ case 237: return gdb_sys_set_mempolicy;
+ case 238: return gdb_sys_migrate_pages;
+ case 239: return gdb_sys_move_pages;
+ /* case 240: return gdb_sys_rt_tgsigqueueinfo; */
+ /* case 241: return gdb_sys_perf_event_open; */
+ case 242: return gdb_sys_accept4;
+ /* case 243: return gdb_sys_recvmmsg; */
+ /* case 258: return gdb_sys_riscv_hwprobe; */
+ /* case 259: return gdb_sys_riscv_flush_icache; */
+ case 260: return gdb_sys_wait4;
+ /* case 261: return gdb_sys_prlimit64; */
+ /* case 262: return gdb_sys_fanotify_init; */
+ /* case 263: return gdb_sys_fanotify_mark; */
+ /* case 264: return gdb_sys_name_to_handle_at; */
+ /* case 265: return gdb_sys_open_by_handle_at; */
+ /* case 266: return gdb_sys_clock_adjtime; */
+ /* case 267: return gdb_sys_syncfs; */
+ /* case 268: return gdb_sys_setns; */
+ /* case 269: return gdb_sys_sendmmsg; */
+ /* case 270: return gdb_sys_process_vm_readv; */
+ /* case 271: return gdb_sys_process_vm_writev; */
+ /* case 272: return gdb_sys_kcmp; */
+ /* case 273: return gdb_sys_finit_module; */
+ /* case 274: return gdb_sys_sched_setattr; */
+ /* case 275: return gdb_sys_sched_getattr; */
+ /* case 276: return gdb_sys_renameat2; */
+ /* case 277: return gdb_sys_seccomp; */
+ case 278: return gdb_sys_getrandom;
+ /* case 279: return gdb_sys_memfd_create; */
+ /* case 280: return gdb_sys_bpf; */
+ /* case 281: return gdb_sys_execveat; */
+ /* case 282: return gdb_sys_userfaultfd; */
+ /* case 283: return gdb_sys_membarrier; */
+ /* case 284: return gdb_sys_mlock2; */
+ /* case 285: return gdb_sys_copy_file_range; */
+ /* case 286: return gdb_sys_preadv2; */
+ /* case 287: return gdb_sys_pwritev2; */
+ /* case 288: return gdb_sys_pkey_mprotect; */
+ /* case 289: return gdb_sys_pkey_alloc; */
+ /* case 290: return gdb_sys_pkey_free; */
+ case 291: return gdb_sys_statx;
+ /* case 292: return gdb_sys_io_pgetevents; */
+ /* case 293: return gdb_sys_rseq; */
+ /* case 294: return gdb_sys_kexec_file_load; */
+ /* case 424: return gdb_sys_pidfd_send_signal; */
+ /* case 425: return gdb_sys_io_uring_setup; */
+ /* case 426: return gdb_sys_io_uring_enter; */
+ /* case 427: return gdb_sys_io_uring_register; */
+ /* case 428: return gdb_sys_open_tree; */
+ /* case 429: return gdb_sys_move_mount; */
+ /* case 430: return gdb_sys_fsopen; */
+ /* case 431: return gdb_sys_fsconfig; */
+ /* case 432: return gdb_sys_fsmount; */
+ /* case 433: return gdb_sys_fspick; */
+ /* case 434: return gdb_sys_pidfd_open; */
+ /* case 435: return gdb_sys_clone3; */
+ /* case 436: return gdb_sys_close_range; */
+ /* case 437: return gdb_sys_openat2; */
+ /* case 438: return gdb_sys_pidfd_getfd; */
+ /* case 439: return gdb_sys_faccessat2; */
+ /* case 440: return gdb_sys_process_madvise; */
+ /* case 441: return gdb_sys_epoll_pwait2; */
+ /* case 442: return gdb_sys_mount_setattr; */
+ /* case 443: return gdb_sys_quotactl_fd; */
+ /* case 444: return gdb_sys_landlock_create_ruleset; */
+ /* case 445: return gdb_sys_landlock_add_rule; */
+ /* case 446: return gdb_sys_landlock_restrict_self; */
+ /* case 447: return gdb_sys_memfd_secret; */
+ /* case 448: return gdb_sys_process_mrelease; */
+ /* case 449: return gdb_sys_futex_waitv; */
+ /* case 450: return gdb_sys_set_mempolicy_home_node; */
+ /* case 451: return gdb_sys_cachestat; */
+ /* case 452: return gdb_sys_fchmodat2; */
+ /* case 453: return gdb_sys_map_shadow_stack; */
+ /* case 454: return gdb_sys_futex_wake; */
+ /* case 455: return gdb_sys_futex_wait; */
+ /* case 456: return gdb_sys_futex_requeue; */
+ /* case 457: return gdb_sys_statmount; */
+ /* case 458: return gdb_sys_listmount; */
+ /* case 459: return gdb_sys_lsm_get_self_attr; */
+ /* case 460: return gdb_sys_lsm_set_self_attr; */
+ /* case 461: return gdb_sys_lsm_list_modules; */
+ /* case 462: return gdb_sys_mseal; */
+ /* case 463: return gdb_sys_setxattrat; */
+ /* case 464: return gdb_sys_getxattrat; */
+ /* case 465: return gdb_sys_listxattrat; */
+ /* case 466: return gdb_sys_removexattrat; */
+ default:
+ return gdb_sys_no_syscall;
+ }
+}
diff --git a/gdb/riscv-fbsd-nat.c b/gdb/riscv-fbsd-nat.c
index df7cc6a..2908d9f 100644
--- a/gdb/riscv-fbsd-nat.c
+++ b/gdb/riscv-fbsd-nat.c
@@ -65,9 +65,7 @@ riscv_fbsd_nat_target::store_registers (struct regcache *regcache,
PT_SETFPREGS, &riscv_fbsd_fpregset);
}
-void _initialize_riscv_fbsd_nat ();
-void
-_initialize_riscv_fbsd_nat ()
+INIT_GDB_FILE (riscv_fbsd_nat)
{
add_inf_child_target (&the_riscv_fbsd_nat_target);
}
diff --git a/gdb/riscv-fbsd-tdep.c b/gdb/riscv-fbsd-tdep.c
index fcb91ca..7bdc6e7 100644
--- a/gdb/riscv-fbsd-tdep.c
+++ b/gdb/riscv-fbsd-tdep.c
@@ -191,10 +191,9 @@ riscv_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_software_single_step (gdbarch, riscv_software_single_step);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- (riscv_isa_xlen (gdbarch) == 4
- ? svr4_ilp32_fetch_link_map_offsets
- : svr4_lp64_fetch_link_map_offsets));
+ set_solib_svr4_ops (gdbarch, (riscv_isa_xlen (gdbarch) == 4
+ ? make_svr4_ilp32_solib_ops
+ : make_svr4_lp64_solib_ops));
tramp_frame_prepend_unwinder (gdbarch, &riscv_fbsd_sigframe);
@@ -207,9 +206,7 @@ riscv_fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
riscv_fbsd_get_thread_local_address);
}
-void _initialize_riscv_fbsd_tdep ();
-void
-_initialize_riscv_fbsd_tdep ()
+INIT_GDB_FILE (riscv_fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_riscv, 0, GDB_OSABI_FREEBSD,
riscv_fbsd_init_abi);
diff --git a/gdb/riscv-linux-nat.c b/gdb/riscv-linux-nat.c
index 8846329..89f1ddc 100644
--- a/gdb/riscv-linux-nat.c
+++ b/gdb/riscv-linux-nat.c
@@ -329,9 +329,7 @@ riscv_linux_nat_target::store_registers (struct regcache *regcache, int regnum)
/* Initialize RISC-V Linux native support. */
-void _initialize_riscv_linux_nat ();
-void
-_initialize_riscv_linux_nat ()
+INIT_GDB_FILE (riscv_linux_nat)
{
/* Register the target. */
linux_target = &the_riscv_linux_nat_target;
diff --git a/gdb/riscv-linux-tdep.c b/gdb/riscv-linux-tdep.c
index 4c0c65c..e5d77e7 100644
--- a/gdb/riscv-linux-tdep.c
+++ b/gdb/riscv-linux-tdep.c
@@ -20,11 +20,19 @@
#include "osabi.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
+#include "svr4-tls-tdep.h"
#include "solib-svr4.h"
#include "regset.h"
#include "tramp-frame.h"
#include "trad-frame.h"
#include "gdbarch.h"
+#include "record-full.h"
+#include "linux-record.h"
+#include "riscv-linux-tdep.h"
+#include "inferior.h"
+
+extern unsigned int record_debug;
/* The following value is derived from __NR_rt_sigreturn in
<include/uapi/asm-generic/unistd.h> from the Linux source tree. */
@@ -173,6 +181,327 @@ riscv_linux_syscall_next_pc (const frame_info_ptr &frame)
return pc + 4 /* Length of the ECALL insn. */;
}
+/* RISC-V process record-replay constructs: syscall, signal etc. */
+
+static linux_record_tdep riscv_linux_record_tdep;
+
+using regnum_type = int;
+
+/* Record registers from first to last for process-record. */
+
+static bool
+save_registers (struct regcache *regcache, regnum_type first, regnum_type last)
+{
+ gdb_assert (regcache != nullptr);
+
+ for (regnum_type i = first; i != last; ++i)
+ if (record_full_arch_list_add_reg (regcache, i))
+ return false;
+ return true;
+};
+
+/* Record all registers but PC register for process-record. */
+
+static bool
+riscv_all_but_pc_registers_record (struct regcache *regcache)
+{
+ gdb_assert (regcache != nullptr);
+
+ struct gdbarch *gdbarch = regcache->arch ();
+ riscv_gdbarch_tdep *tdep = gdbarch_tdep<riscv_gdbarch_tdep> (gdbarch);
+ const struct riscv_gdbarch_features &features = tdep->isa_features;
+
+ if (!save_registers (regcache, RISCV_ZERO_REGNUM + 1, RISCV_PC_REGNUM))
+ return false;
+
+ if (features.flen
+ && !save_registers (regcache, RISCV_FIRST_FP_REGNUM,
+ RISCV_LAST_FP_REGNUM + 1))
+ return false;
+
+ return true;
+}
+
+/* Handler for riscv system call instruction recording. */
+
+static int
+riscv_linux_syscall_record (struct regcache *regcache,
+ unsigned long svc_number)
+{
+ gdb_assert (regcache != nullptr);
+
+ enum gdb_syscall syscall_gdb = riscv64_canonicalize_syscall (svc_number);
+
+ if (record_debug > 1)
+ gdb_printf (gdb_stdlog, "Made syscall %s.\n", plongest (svc_number));
+
+ if (syscall_gdb == gdb_sys_no_syscall)
+ {
+ warning (_("Process record and replay target doesn't "
+ "support syscall number %s\n"), plongest (svc_number));
+ return -1;
+ }
+
+ if (syscall_gdb == gdb_sys_sigreturn || syscall_gdb == gdb_sys_rt_sigreturn)
+ {
+ if (!riscv_all_but_pc_registers_record (regcache))
+ return -1;
+ return 0;
+ }
+
+ int ret = record_linux_system_call (syscall_gdb, regcache,
+ &riscv_linux_record_tdep);
+ if (ret != 0)
+ return ret;
+
+ /* Record the return value of the system call. */
+ if (record_full_arch_list_add_reg (regcache, RISCV_A0_REGNUM))
+ return -1;
+
+ return 0;
+}
+
+/* Initialize the riscv64_linux_record_tdep. */
+
+static void
+riscv64_linux_record_tdep_init (struct gdbarch *gdbarch,
+ struct linux_record_tdep &
+ riscv_linux_record_tdep)
+{
+ gdb_assert (gdbarch != nullptr);
+
+ /* These values are the size of the type that
+ will be used in a system call. */
+ riscv_linux_record_tdep.size_pointer
+ = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
+ riscv_linux_record_tdep.size__old_kernel_stat = 48;
+ riscv_linux_record_tdep.size_tms = 32;
+ riscv_linux_record_tdep.size_loff_t = 8;
+ riscv_linux_record_tdep.size_flock = 32;
+ riscv_linux_record_tdep.size_oldold_utsname = 45;
+ riscv_linux_record_tdep.size_ustat = 32;
+ riscv_linux_record_tdep.size_old_sigaction = 32;
+ riscv_linux_record_tdep.size_old_sigset_t = 8;
+ riscv_linux_record_tdep.size_rlimit = 16;
+ riscv_linux_record_tdep.size_rusage = 144;
+ riscv_linux_record_tdep.size_timeval = 8;
+ riscv_linux_record_tdep.size_timezone = 8;
+ riscv_linux_record_tdep.size_old_gid_t = 2;
+ riscv_linux_record_tdep.size_old_uid_t = 2;
+ riscv_linux_record_tdep.size_fd_set = 128;
+ riscv_linux_record_tdep.size_old_dirent = 268;
+ riscv_linux_record_tdep.size_statfs = 120;
+ riscv_linux_record_tdep.size_statfs64 = 120;
+ riscv_linux_record_tdep.size_sockaddr = 16;
+ riscv_linux_record_tdep.size_int
+ = gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT;
+ riscv_linux_record_tdep.size_long
+ = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
+ riscv_linux_record_tdep.size_ulong
+ = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
+ riscv_linux_record_tdep.size_msghdr = 104;
+ riscv_linux_record_tdep.size_itimerval = 16;
+ riscv_linux_record_tdep.size_stat = 128;
+ riscv_linux_record_tdep.size_old_utsname = 325;
+ riscv_linux_record_tdep.size_sysinfo = 112;
+ riscv_linux_record_tdep.size_msqid_ds = 104;
+ riscv_linux_record_tdep.size_shmid_ds = 88;
+ riscv_linux_record_tdep.size_new_utsname = 390;
+ riscv_linux_record_tdep.size_timex = 188;
+ riscv_linux_record_tdep.size_mem_dqinfo = 72;
+ riscv_linux_record_tdep.size_if_dqblk = 68;
+ riscv_linux_record_tdep.size_fs_quota_stat = 64;
+ riscv_linux_record_tdep.size_timespec = 16;
+ riscv_linux_record_tdep.size_pollfd = 8;
+ riscv_linux_record_tdep.size_NFS_FHSIZE = 32;
+ riscv_linux_record_tdep.size_knfsd_fh = 36;
+ riscv_linux_record_tdep.size_TASK_COMM_LEN = 4;
+ riscv_linux_record_tdep.size_sigaction = 24;
+ riscv_linux_record_tdep.size_sigset_t = 8;
+ riscv_linux_record_tdep.size_siginfo_t = 128;
+ riscv_linux_record_tdep.size_cap_user_data_t = 8;
+ riscv_linux_record_tdep.size_stack_t = 24;
+ riscv_linux_record_tdep.size_off_t = riscv_linux_record_tdep.size_long;
+ riscv_linux_record_tdep.size_stat64 = 136;
+ riscv_linux_record_tdep.size_gid_t = 4;
+ riscv_linux_record_tdep.size_uid_t = 4;
+ riscv_linux_record_tdep.size_PAGE_SIZE = 4096;
+ riscv_linux_record_tdep.size_flock64 = 32;
+ riscv_linux_record_tdep.size_user_desc = 37;
+ riscv_linux_record_tdep.size_io_event = 32;
+ riscv_linux_record_tdep.size_iocb = 64;
+ riscv_linux_record_tdep.size_epoll_event = 16;
+ riscv_linux_record_tdep.size_itimerspec
+ = riscv_linux_record_tdep.size_timespec * 2;
+ riscv_linux_record_tdep.size_mq_attr = 64;
+ riscv_linux_record_tdep.size_termios = 36;
+ riscv_linux_record_tdep.size_termios2 = 44;
+ riscv_linux_record_tdep.size_pid_t = 4;
+ riscv_linux_record_tdep.size_winsize = 8;
+ riscv_linux_record_tdep.size_serial_struct = 72;
+ riscv_linux_record_tdep.size_serial_icounter_struct = 80;
+ riscv_linux_record_tdep.size_hayes_esp_config = 12;
+ riscv_linux_record_tdep.size_size_t = 8;
+ riscv_linux_record_tdep.size_iovec = 16;
+ riscv_linux_record_tdep.size_time_t = 8;
+
+ /* These values are the second argument of system call "sys_ioctl".
+ They are obtained from Linux Kernel source. */
+ riscv_linux_record_tdep.ioctl_TCGETS = 0x5401;
+ riscv_linux_record_tdep.ioctl_TCSETS = 0x5402;
+ riscv_linux_record_tdep.ioctl_TCSETSW = 0x5403;
+ riscv_linux_record_tdep.ioctl_TCSETSF = 0x5404;
+ riscv_linux_record_tdep.ioctl_TCGETA = 0x5405;
+ riscv_linux_record_tdep.ioctl_TCSETA = 0x5406;
+ riscv_linux_record_tdep.ioctl_TCSETAW = 0x5407;
+ riscv_linux_record_tdep.ioctl_TCSETAF = 0x5408;
+ riscv_linux_record_tdep.ioctl_TCSBRK = 0x5409;
+ riscv_linux_record_tdep.ioctl_TCXONC = 0x540a;
+ riscv_linux_record_tdep.ioctl_TCFLSH = 0x540b;
+ riscv_linux_record_tdep.ioctl_TIOCEXCL = 0x540c;
+ riscv_linux_record_tdep.ioctl_TIOCNXCL = 0x540d;
+ riscv_linux_record_tdep.ioctl_TIOCSCTTY = 0x540e;
+ riscv_linux_record_tdep.ioctl_TIOCGPGRP = 0x540f;
+ riscv_linux_record_tdep.ioctl_TIOCSPGRP = 0x5410;
+ riscv_linux_record_tdep.ioctl_TIOCOUTQ = 0x5411;
+ riscv_linux_record_tdep.ioctl_TIOCSTI = 0x5412;
+ riscv_linux_record_tdep.ioctl_TIOCGWINSZ = 0x5413;
+ riscv_linux_record_tdep.ioctl_TIOCSWINSZ = 0x5414;
+ riscv_linux_record_tdep.ioctl_TIOCMGET = 0x5415;
+ riscv_linux_record_tdep.ioctl_TIOCMBIS = 0x5416;
+ riscv_linux_record_tdep.ioctl_TIOCMBIC = 0x5417;
+ riscv_linux_record_tdep.ioctl_TIOCMSET = 0x5418;
+ riscv_linux_record_tdep.ioctl_TIOCGSOFTCAR = 0x5419;
+ riscv_linux_record_tdep.ioctl_TIOCSSOFTCAR = 0x541a;
+ riscv_linux_record_tdep.ioctl_FIONREAD = 0x541b;
+ riscv_linux_record_tdep.ioctl_TIOCINQ
+ = riscv_linux_record_tdep.ioctl_FIONREAD;
+ riscv_linux_record_tdep.ioctl_TIOCLINUX = 0x541c;
+ riscv_linux_record_tdep.ioctl_TIOCCONS = 0x541d;
+ riscv_linux_record_tdep.ioctl_TIOCGSERIAL = 0x541e;
+ riscv_linux_record_tdep.ioctl_TIOCSSERIAL = 0x541f;
+ riscv_linux_record_tdep.ioctl_TIOCPKT = 0x5420;
+ riscv_linux_record_tdep.ioctl_FIONBIO = 0x5421;
+ riscv_linux_record_tdep.ioctl_TIOCNOTTY = 0x5422;
+ riscv_linux_record_tdep.ioctl_TIOCSETD = 0x5423;
+ riscv_linux_record_tdep.ioctl_TIOCGETD = 0x5424;
+ riscv_linux_record_tdep.ioctl_TCSBRKP = 0x5425;
+ riscv_linux_record_tdep.ioctl_TIOCTTYGSTRUCT = 0x5426;
+ riscv_linux_record_tdep.ioctl_TIOCSBRK = 0x5427;
+ riscv_linux_record_tdep.ioctl_TIOCCBRK = 0x5428;
+ riscv_linux_record_tdep.ioctl_TIOCGSID = 0x5429;
+ riscv_linux_record_tdep.ioctl_TCGETS2 = 0x802c542a;
+ riscv_linux_record_tdep.ioctl_TCSETS2 = 0x402c542b;
+ riscv_linux_record_tdep.ioctl_TCSETSW2 = 0x402c542c;
+ riscv_linux_record_tdep.ioctl_TCSETSF2 = 0x402c542d;
+ riscv_linux_record_tdep.ioctl_TIOCGPTN = 0x80045430;
+ riscv_linux_record_tdep.ioctl_TIOCSPTLCK = 0x40045431;
+ riscv_linux_record_tdep.ioctl_FIONCLEX = 0x5450;
+ riscv_linux_record_tdep.ioctl_FIOCLEX = 0x5451;
+ riscv_linux_record_tdep.ioctl_FIOASYNC = 0x5452;
+ riscv_linux_record_tdep.ioctl_TIOCSERCONFIG = 0x5453;
+ riscv_linux_record_tdep.ioctl_TIOCSERGWILD = 0x5454;
+ riscv_linux_record_tdep.ioctl_TIOCSERSWILD = 0x5455;
+ riscv_linux_record_tdep.ioctl_TIOCGLCKTRMIOS = 0x5456;
+ riscv_linux_record_tdep.ioctl_TIOCSLCKTRMIOS = 0x5457;
+ riscv_linux_record_tdep.ioctl_TIOCSERGSTRUCT = 0x5458;
+ riscv_linux_record_tdep.ioctl_TIOCSERGETLSR = 0x5459;
+ riscv_linux_record_tdep.ioctl_TIOCSERGETMULTI = 0x545a;
+ riscv_linux_record_tdep.ioctl_TIOCSERSETMULTI = 0x545b;
+ riscv_linux_record_tdep.ioctl_TIOCMIWAIT = 0x545c;
+ riscv_linux_record_tdep.ioctl_TIOCGICOUNT = 0x545d;
+ riscv_linux_record_tdep.ioctl_TIOCGHAYESESP = 0x545e;
+ riscv_linux_record_tdep.ioctl_TIOCSHAYESESP = 0x545f;
+ riscv_linux_record_tdep.ioctl_FIOQSIZE = 0x5460;
+
+ /* These values are the second argument of system call "sys_fcntl"
+ and "sys_fcntl64". They are obtained from Linux Kernel source. */
+ riscv_linux_record_tdep.fcntl_F_GETLK = 5;
+ riscv_linux_record_tdep.fcntl_F_GETLK64 = 12;
+ riscv_linux_record_tdep.fcntl_F_SETLK64 = 13;
+ riscv_linux_record_tdep.fcntl_F_SETLKW64 = 14;
+
+ riscv_linux_record_tdep.arg1 = RISCV_A0_REGNUM;
+ riscv_linux_record_tdep.arg2 = RISCV_A1_REGNUM;
+ riscv_linux_record_tdep.arg3 = RISCV_A2_REGNUM;
+ riscv_linux_record_tdep.arg4 = RISCV_A3_REGNUM;
+ riscv_linux_record_tdep.arg5 = RISCV_A4_REGNUM;
+ riscv_linux_record_tdep.arg6 = RISCV_A5_REGNUM;
+}
+
+/* Fetch and return the TLS DTV (dynamic thread vector) address for PTID.
+ Throw a suitable TLS error if something goes wrong. */
+
+static CORE_ADDR
+riscv_linux_get_tls_dtv_addr (struct gdbarch *gdbarch, ptid_t ptid,
+ svr4_tls_libc libc)
+{
+ /* On RISC-V, the thread pointer is found in TP. */
+ regcache *regcache
+ = get_thread_arch_regcache (current_inferior (), ptid, gdbarch);
+ int thread_pointer_regnum = RISCV_TP_REGNUM;
+ target_fetch_registers (regcache, thread_pointer_regnum);
+ ULONGEST thr_ptr;
+ if (regcache->cooked_read (thread_pointer_regnum, &thr_ptr) != REG_VALID)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch thread pointer"));
+
+ CORE_ADDR dtv_ptr_addr;
+ switch (libc)
+ {
+ case svr4_tls_libc_musl:
+ /* MUSL: The DTV pointer is found at the very end of the pthread
+ struct which is located *before* the thread pointer. I.e.
+ the thread pointer will be just beyond the end of the struct,
+ so the address of the DTV pointer is found one pointer-size
+ before the thread pointer. */
+ dtv_ptr_addr
+ = thr_ptr - (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ break;
+ case svr4_tls_libc_glibc:
+ /* GLIBC: The thread pointer (TP) points just beyond the end of
+ the TCB (thread control block). On RISC-V, this struct
+ (tcbhead_t) is defined to contain two pointers. The first is
+ a pointer to the DTV and the second is a pointer to private
+ data. So the DTV pointer address is 16 bytes (i.e. the size of
+ two pointers) before thread pointer. */
+
+ dtv_ptr_addr
+ = thr_ptr - 2 * (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ break;
+ default:
+ throw_error (TLS_GENERIC_ERROR, _("Unknown RISC-V C library"));
+ break;
+ }
+
+ gdb::byte_vector buf (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ if (target_read_memory (dtv_ptr_addr, buf.data (), buf.size ()) != 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch DTV address"));
+
+ const struct builtin_type *builtin = builtin_type (gdbarch);
+ CORE_ADDR dtv_addr = gdbarch_pointer_to_address
+ (gdbarch, builtin->builtin_data_ptr, buf.data ());
+ return dtv_addr;
+}
+
+/* For internal TLS lookup, return the DTP offset, which is the offset
+ to subtract from a DTV entry, in order to obtain the address of the
+ TLS block. */
+
+static ULONGEST
+riscv_linux_get_tls_dtp_offset (struct gdbarch *gdbarch, ptid_t ptid,
+ svr4_tls_libc libc)
+{
+ if (libc == svr4_tls_libc_musl)
+ {
+ /* This value is DTP_OFFSET in MUSL's arch/riscv64/pthread_arch.h.
+ It represents the value to subtract from the DTV entry, once
+ it has been loaded. */
+ return 0x800;
+ }
+ else
+ return 0;
+}
+
/* Initialize RISC-V Linux ABI info. */
static void
@@ -184,10 +513,9 @@ riscv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_software_single_step (gdbarch, riscv_software_single_step);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- (riscv_isa_xlen (gdbarch) == 4
- ? linux_ilp32_fetch_link_map_offsets
- : linux_lp64_fetch_link_map_offsets));
+ set_solib_svr4_ops (gdbarch, (riscv_isa_xlen (gdbarch) == 4
+ ? make_linux_ilp32_svr4_solib_ops
+ : make_linux_lp64_svr4_solib_ops));
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
@@ -198,6 +526,10 @@ riscv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
+ set_gdbarch_get_thread_local_address (gdbarch,
+ svr4_tls_get_thread_local_address);
+ svr4_tls_register_tls_methods (info, gdbarch, riscv_linux_get_tls_dtv_addr,
+ riscv_linux_get_tls_dtp_offset);
set_gdbarch_iterate_over_regset_sections
(gdbarch, riscv_linux_iterate_over_regset_sections);
@@ -205,13 +537,14 @@ riscv_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tramp_frame_prepend_unwinder (gdbarch, &riscv_linux_sigframe);
tdep->syscall_next_pc = riscv_linux_syscall_next_pc;
+ tdep->riscv_syscall_record = riscv_linux_syscall_record;
+
+ riscv64_linux_record_tdep_init (gdbarch, riscv_linux_record_tdep);
}
/* Initialize RISC-V Linux target support. */
-void _initialize_riscv_linux_tdep ();
-void
-_initialize_riscv_linux_tdep ()
+INIT_GDB_FILE (riscv_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_riscv, 0, GDB_OSABI_LINUX,
riscv_linux_init_abi);
diff --git a/gdb/riscv-linux-tdep.h b/gdb/riscv-linux-tdep.h
new file mode 100644
index 0000000..9dd9e37
--- /dev/null
+++ b/gdb/riscv-linux-tdep.h
@@ -0,0 +1,29 @@
+/* Copyright (C) 2024-2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDB_RISCV_LINUX_TDEP_H
+#define GDB_RISCV_LINUX_TDEP_H
+
+#include "linux-record.h"
+
+/* riscv64_canonicalize_syscall maps from the native riscv Linux set
+ of syscall ids into a canonical set of syscall ids used by
+ process record. */
+
+extern enum gdb_syscall riscv64_canonicalize_syscall (int syscall);
+
+#endif /* GDB_RISCV_LINUX_TDEP_H */
diff --git a/gdb/riscv-none-tdep.c b/gdb/riscv-none-tdep.c
index 7303f54..ad32057 100644
--- a/gdb/riscv-none-tdep.c
+++ b/gdb/riscv-none-tdep.c
@@ -163,9 +163,7 @@ riscv_none_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Initialize RISC-V bare-metal target support. */
-void _initialize_riscv_none_tdep ();
-void
-_initialize_riscv_none_tdep ()
+INIT_GDB_FILE (riscv_none_tdep)
{
gdbarch_register_osabi (bfd_arch_riscv, 0, GDB_OSABI_NONE,
riscv_none_init_abi);
diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c
index 91f6dff..6d439b0 100644
--- a/gdb/riscv-tdep.c
+++ b/gdb/riscv-tdep.c
@@ -54,9 +54,12 @@
#include "observable.h"
#include "prologue-value.h"
#include "arch/riscv.h"
+#include "record-full.h"
#include "riscv-ravenscar-thread.h"
#include "gdbsupport/gdb-safe-ctype.h"
+#include <vector>
+
/* The stack must be 16-byte aligned. */
#define SP_ALIGNMENT 16
@@ -1669,6 +1672,11 @@ public:
int imm_signed () const
{ return m_imm.s; }
+ /* Fetch instruction from target memory at ADDR, return the content of
+ the instruction, and update LEN with the instruction length. */
+ static ULONGEST fetch_instruction (struct gdbarch *gdbarch,
+ CORE_ADDR addr, int *len);
+
private:
/* Extract 5 bit register field at OFFSET from instruction OPCODE. */
@@ -1814,11 +1822,6 @@ private:
m_rs2 = decode_register_index_short (ival, OP_SH_CRS2S);
}
- /* Fetch instruction from target memory at ADDR, return the content of
- the instruction, and update LEN with the instruction length. */
- static ULONGEST fetch_instruction (struct gdbarch *gdbarch,
- CORE_ADDR addr, int *len);
-
/* The length of the instruction in bytes. Should be 2 or 4. */
int m_length;
@@ -4433,6 +4436,9 @@ riscv_gdbarch_init (struct gdbarch_info info,
set_gdbarch_stap_register_indirection_suffixes
(gdbarch, stap_register_indirection_suffixes);
+ /* Process record-replay */
+ set_gdbarch_process_record (gdbarch, riscv_process_record);
+
/* Hook in OS ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
@@ -4772,9 +4778,7 @@ riscv_supply_regset (const struct regset *regset,
}
}
-void _initialize_riscv_tdep ();
-void
-_initialize_riscv_tdep ()
+INIT_GDB_FILE (riscv_tdep)
{
riscv_init_reggroups ();
@@ -4866,3 +4870,674 @@ equivalent change in the disassembler output."),
&setriscvcmdlist,
&showriscvcmdlist);
}
+
+/* A wrapper to read register under number regnum to address addr.
+ Returns false if error happened and makes warning. */
+
+static bool
+try_read (struct regcache *regcache, int regnum, ULONGEST &addr)
+{
+ gdb_assert (regcache != nullptr);
+
+ if (regcache->raw_read (regnum, &addr)
+ != register_status::REG_VALID)
+ {
+ warning (_("Can not read at address %s"), hex_string (addr));
+ return false;
+ }
+ return true;
+}
+
+/* Helper class to record instruction. */
+
+class riscv_recorded_insn final
+{
+public:
+ /* Type for saved register. */
+ using regnum_type = int;
+ /* Type for saved memory. First is address, second is length. */
+ using memory_type = std::pair<CORE_ADDR, int>;
+
+ /* Enum class that represents which type does recording belong to. */
+ enum class record_type
+ {
+ UNKNOWN,
+ ORDINARY,
+
+ /* Corner cases. */
+ ECALL,
+ EBREAK,
+ };
+
+private:
+ /* Type for set of registers that need to be saved. */
+ using recorded_regs = std::vector<regnum_type>;
+ /* Type for set of memory records that need to be saved. */
+ using recorded_mems = std::vector<memory_type>;
+
+ /* Type for memory address, extracted from memory_type. */
+ using mem_addr = decltype (std::declval<memory_type> ().first);
+ /* Type for memory length, extracted from memory_type. */
+ using mem_len = decltype (std::declval<memory_type> ().second);
+
+ /* Record type of current instruction. */
+ record_type m_record_type = record_type::UNKNOWN;
+
+ /* Flag that represents was there an error in current recording. */
+ bool m_error_occured = false;
+
+ /* Set of registers that need to be recorded. */
+ recorded_regs m_regs;
+ /* Set of memory chunks that need to be recorded. */
+ recorded_mems m_mems;
+
+ /* Width in bytes of the general purpose registers for GDBARCH,
+ where recording is happening. */
+ int m_xlen = 0;
+
+ /* Helper for decode 16-bit instruction RS1. */
+ static regnum_type
+ decode_crs1_short (ULONGEST opcode) noexcept
+ {
+ return ((opcode >> OP_SH_CRS1S) & OP_MASK_CRS1S) + 8;
+ }
+
+ /* Helper for decode 16-bit instruction RS2. */
+ static regnum_type
+ decode_crs2_short (ULONGEST opcode) noexcept
+ {
+ return ((opcode >> OP_SH_CRS2S) & OP_MASK_CRS2S) + 8;
+ }
+
+ /* Helper for decode 16-bit instruction CRS1. */
+ static regnum_type
+ decode_crs1 (ULONGEST opcode) noexcept
+ {
+ return ((opcode >> OP_SH_RD) & OP_MASK_RD);
+ }
+
+ /* Helper for decode 16-bit instruction CRS2. */
+ static regnum_type
+ decode_crs2 (ULONGEST opcode) noexcept
+ {
+ return ((opcode >> OP_SH_CRS2) & OP_MASK_CRS2);
+ }
+
+ /* Helper for decode 32-bit instruction RD. */
+ static regnum_type
+ decode_rd (ULONGEST ival) noexcept
+ {
+ return (ival >> OP_SH_RD) & OP_MASK_RD;
+ }
+
+ /* Helper for decode 32-bit instruction RS1. */
+ static regnum_type
+ decode_rs1 (ULONGEST ival) noexcept
+ {
+ return (ival >> OP_SH_RS1) & OP_MASK_RS1;
+ }
+
+ /* Helper for decode 32-bit instruction RS2. */
+ static regnum_type
+ decode_rs2 (ULONGEST ival) noexcept
+ {
+ return (ival >> OP_SH_RS2) & OP_MASK_RS2;
+ }
+
+ /* Helper for decode 32-bit instruction CSR. */
+ static regnum_type
+ decode_csr (ULONGEST ival) noexcept
+ {
+ return (ival >> OP_SH_CSR) & OP_MASK_CSR;
+ }
+
+ /* Set ordinary record type. Always returns true. */
+ bool
+ set_ordinary_record_type () noexcept
+ {
+ m_record_type = record_type::ORDINARY;
+ return true;
+ }
+
+ /* Set error happened. Always returns false. */
+ bool
+ set_error () noexcept
+ {
+ m_error_occured = true;
+ return false;
+ }
+
+ /* Check if current recording has an error. */
+ bool
+ has_error () const noexcept
+ {
+ return m_error_occured;
+ }
+
+ /* Reads register. Sets error and returns false if error happened. */
+ bool
+ read_reg (struct regcache *regcache, regnum_type reg,
+ ULONGEST &addr) noexcept
+ {
+ gdb_assert (regcache != nullptr);
+
+ if (!try_read (regcache, reg, addr))
+ return set_error ();
+ return true;
+ }
+
+ /* Save register. Returns true or aborts if exception happened. */
+ bool
+ save_reg (regnum_type regnum) noexcept
+ {
+ m_regs.emplace_back (regnum);
+ return true;
+ }
+
+ /* Save memory chunk. Returns true or aborts if exception happened. */
+ bool
+ save_mem (mem_addr addr, mem_len len) noexcept
+ {
+ m_mems.emplace_back (addr, len);
+ return true;
+ }
+
+ /* Returns true if instruction needs only saving pc. */
+ static bool
+ need_save_pc (ULONGEST ival) noexcept
+ {
+ return (is_beq_insn (ival) || is_bne_insn (ival) || is_blt_insn (ival)
+ || is_bge_insn (ival) || is_bltu_insn (ival) || is_bgeu_insn (ival)
+ || is_fence_insn (ival) || is_pause_insn (ival)
+ || is_fence_i_insn (ival));
+ }
+
+ /* Returns true if instruction is classified. */
+ bool
+ try_save_pc (ULONGEST ival) noexcept
+ {
+ if (!need_save_pc (ival))
+ return false;
+
+ return set_ordinary_record_type ();
+ }
+
+ /* Returns true if instruction needs only saving pc and rd. */
+ static bool
+ need_save_pc_rd (ULONGEST ival) noexcept
+ {
+ return (is_lui_insn (ival) || is_auipc_insn (ival) || is_jal_insn (ival)
+ || is_jalr_insn (ival) || is_lb_insn (ival) || is_lh_insn (ival)
+ || is_lw_insn (ival) || is_lbu_insn (ival) || is_lhu_insn (ival)
+ || is_addi_insn (ival) || is_slti_insn (ival)
+ || is_sltiu_insn (ival) || is_xori_insn (ival) || is_ori_insn (ival)
+ || is_andi_insn (ival) || is_slli_rv32_insn (ival)
+ || is_srli_rv32_insn (ival) || is_srai_rv32_insn (ival)
+ || is_add_insn (ival) || is_sub_insn (ival) || is_sll_insn (ival)
+ || is_slt_insn (ival) || is_sltu_insn (ival) || is_xor_insn (ival)
+ || is_srl_insn (ival) || is_sra_insn (ival) || is_or_insn (ival)
+ || is_and_insn (ival) || is_lwu_insn (ival) || is_ld_insn (ival)
+ || is_slli_insn (ival) || is_srli_insn (ival) || is_srai_insn (ival)
+ || is_addiw_insn (ival) || is_slliw_insn (ival)
+ || is_srliw_insn (ival) || is_sraiw_insn (ival)
+ || is_addw_insn (ival) || is_subw_insn (ival) || is_sllw_insn (ival)
+ || is_srlw_insn (ival) || is_sraw_insn (ival) || is_mul_insn (ival)
+ || is_mulh_insn (ival) || is_mulhsu_insn (ival)
+ || is_mulhu_insn (ival) || is_div_insn (ival) || is_divu_insn (ival)
+ || is_rem_insn (ival) || is_remu_insn (ival) || is_mulw_insn (ival)
+ || is_divw_insn (ival) || is_divuw_insn (ival)
+ || is_remw_insn (ival) || is_remuw_insn (ival)
+ || is_lr_w_insn (ival) || is_lr_d_insn (ival)
+ || is_fcvt_w_s_insn (ival) || is_fcvt_wu_s_insn (ival)
+ || is_fmv_x_s_insn (ival) || is_feq_s_insn (ival)
+ || is_flt_s_insn (ival) || is_fle_s_insn (ival)
+ || is_fclass_s_insn (ival) || is_fcvt_l_s_insn (ival)
+ || is_fcvt_lu_s_insn (ival) || is_feq_d_insn (ival)
+ || is_flt_d_insn (ival) || is_fle_d_insn (ival)
+ || is_fclass_d_insn (ival) || is_fcvt_w_d_insn (ival)
+ || is_fcvt_wu_d_insn (ival) || is_fcvt_l_d_insn (ival)
+ || is_fcvt_lu_d_insn (ival) || is_fmv_x_d_insn (ival));
+ }
+
+ /* Returns true if instruction is classified. This function can set
+ m_error_occured. */
+ bool
+ try_save_pc_rd (ULONGEST ival) noexcept
+ {
+ if (!need_save_pc_rd (ival))
+ return false;
+
+ return (!save_reg (decode_rd (ival)) || set_ordinary_record_type ());
+ }
+
+ /* Returns true if instruction needs only saving pc and
+ floating point rd. */
+ static bool
+ need_save_pc_fprd (ULONGEST ival) noexcept
+ {
+ return (is_flw_insn (ival) || is_fmadd_s_insn (ival)
+ || is_fmsub_s_insn (ival) || is_fnmsub_s_insn (ival)
+ || is_fnmadd_s_insn (ival) || is_fadd_s_insn (ival)
+ || is_fsub_s_insn (ival) || is_fmul_s_insn (ival)
+ || is_fdiv_s_insn (ival) || is_fsqrt_s_insn (ival)
+ || is_fsgnj_s_insn (ival) || is_fsgnjn_s_insn (ival)
+ || is_fsgnjx_s_insn (ival) || is_fmin_s_insn (ival)
+ || is_fmax_s_insn (ival) || is_fcvt_s_w_insn (ival)
+ || is_fcvt_s_wu_insn (ival) || is_fmv_s_x_insn (ival)
+ || is_fcvt_s_l_insn (ival) || is_fcvt_s_lu_insn (ival)
+ || is_fld_insn (ival) || is_fmadd_d_insn (ival)
+ || is_fmsub_d_insn (ival) || is_fnmsub_d_insn (ival)
+ || is_fnmadd_d_insn (ival) || is_fadd_d_insn (ival)
+ || is_fsub_d_insn (ival) || is_fmul_d_insn (ival)
+ || is_fdiv_d_insn (ival) || is_fsqrt_d_insn (ival)
+ || is_fsgnj_d_insn (ival) || is_fsgnjn_d_insn (ival)
+ || is_fsgnjx_d_insn (ival) || is_fmin_d_insn (ival)
+ || is_fmax_d_insn (ival) || is_fcvt_s_d_insn (ival)
+ || is_fcvt_d_s_insn (ival) || is_fcvt_d_w_insn (ival)
+ || is_fcvt_d_wu_insn (ival) || is_fcvt_d_l_insn (ival)
+ || is_fcvt_d_lu_insn (ival) || is_fmv_d_x_insn (ival));
+ }
+
+ /* Returns true if instruction is classified. This function can set
+ m_error_occured. */
+ bool
+ try_save_pc_fprd (ULONGEST ival) noexcept
+ {
+ if (!need_save_pc_fprd (ival))
+ return false;
+
+ return (!save_reg (RISCV_FIRST_FP_REGNUM + decode_rd (ival))
+ || set_ordinary_record_type ());
+ }
+
+ /* Returns true if instruction needs only saving pc, rd and csr. */
+ static bool
+ need_save_pc_rd_csr (ULONGEST ival) noexcept
+ {
+ return (is_csrrw_insn (ival) || is_csrrs_insn (ival) || is_csrrc_insn (ival)
+ || is_csrrwi_insn (ival) || is_csrrsi_insn (ival)
+ || is_csrrci_insn (ival));
+ }
+
+ /* Returns true if instruction is classified. This function can set
+ m_error_occured. */
+ bool
+ try_save_pc_rd_csr (ULONGEST ival) noexcept
+ {
+ if (!need_save_pc_rd_csr (ival))
+ return false;
+
+ return (!save_reg (decode_rd (ival))
+ || !save_reg (RISCV_FIRST_CSR_REGNUM + decode_csr (ival))
+ || set_ordinary_record_type ());
+ }
+
+ /* Returns the size of the memory chunk that needs to be saved if the
+ instruction belongs to the group that needs only saving pc and memory.
+ Otherwise returns 0. */
+ static mem_len
+ need_save_pc_mem (ULONGEST ival) noexcept
+ {
+ if (is_sb_insn (ival))
+ return 1;
+ if (is_sh_insn (ival))
+ return 2;
+ if (is_sw_insn (ival) || is_fsw_insn (ival))
+ return 4;
+ if (is_sd_insn (ival) || is_fsd_insn (ival))
+ return 8;
+ return 0;
+ }
+
+ /* Returns true if instruction is classified. This function can set
+ m_error_occured. */
+ bool
+ try_save_pc_mem (ULONGEST ival, struct regcache *regcache) noexcept
+ {
+ gdb_assert (regcache != nullptr);
+
+ mem_addr addr = mem_addr{};
+ mem_len len = need_save_pc_mem (ival);
+ if (len <= 0)
+ return false;
+
+ mem_len offset = EXTRACT_STYPE_IMM (ival);
+ return (!read_reg (regcache, decode_rs1 (ival), addr)
+ || !save_mem (addr + offset, len) || set_ordinary_record_type ());
+ }
+
+ /* Returns the size of the memory chunk that needs to be saved if the
+ instruction belongs to the group that needs only saving pc, rd and memory.
+ Otherwise returns 0. */
+ static mem_len
+ need_save_pc_rd_mem (ULONGEST ival) noexcept
+ {
+ if (is_sc_w_insn (ival) || is_amoswap_w_insn (ival)
+ || is_amoadd_w_insn (ival) || is_amoxor_w_insn (ival)
+ || is_amoand_w_insn (ival) || is_amoor_w_insn (ival)
+ || is_amomin_w_insn (ival) || is_amomax_w_insn (ival)
+ || is_amominu_w_insn (ival) || is_amomaxu_w_insn (ival))
+ return 4;
+ if (is_sc_d_insn (ival) || is_amoswap_d_insn (ival)
+ || is_amoadd_d_insn (ival) || is_amoxor_d_insn (ival)
+ || is_amoand_d_insn (ival) || is_amoor_d_insn (ival)
+ || is_amomin_d_insn (ival) || is_amomax_d_insn (ival)
+ || is_amominu_d_insn (ival) || is_amomaxu_d_insn (ival))
+ return 8;
+ return 0;
+ }
+
+ /* Returns true if instruction is classified. This function can set
+ m_error_occured. */
+ bool
+ try_save_pc_rd_mem (ULONGEST ival, struct regcache *regcache) noexcept
+ {
+ gdb_assert (regcache != nullptr);
+
+ mem_len len = need_save_pc_rd_mem (ival);
+ mem_addr addr = 0;
+ if (len <= 0)
+ return false;
+
+ return (!read_reg (regcache, decode_rs1 (ival), addr)
+ || !save_mem (addr, len) || !save_reg (decode_rd (ival))
+ || set_ordinary_record_type ());
+ }
+
+ /* Returns true if instruction is successfully recordered. The length of
+ the instruction must be equal 4 bytes. */
+ bool
+ record_insn_len4 (ULONGEST ival, struct regcache *regcache) noexcept
+ {
+ gdb_assert (regcache != nullptr);
+
+ if (is_ecall_insn (ival))
+ {
+ m_record_type = record_type::ECALL;
+ return true;
+ }
+
+ if (is_ebreak_insn (ival))
+ {
+ m_record_type = record_type::EBREAK;
+ return true;
+ }
+
+ if (try_save_pc (ival) || try_save_pc_rd (ival) || try_save_pc_fprd (ival)
+ || try_save_pc_rd_csr (ival) || try_save_pc_mem (ival, regcache)
+ || try_save_pc_rd_mem (ival, regcache))
+ return !has_error ();
+
+ warning (_("Currently this instruction with len 4(%s) is unsupported"),
+ hex_string (ival));
+ return false;
+ }
+
+ /* Returns true if instruction is successfully recordered. The length of
+ the instruction must be equal 2 bytes. */
+ bool
+ record_insn_len2 (ULONGEST ival, struct regcache *regcache) noexcept
+ {
+ gdb_assert (regcache != nullptr);
+
+ mem_addr addr = mem_addr{};
+
+ /* The order here is very important, because
+ opcodes of some instructions may be the same. */
+
+ if (is_c_addi4spn_insn (ival) || is_c_lw_insn (ival)
+ || (m_xlen == 8 && is_c_ld_insn (ival)))
+ return (!save_reg (decode_crs2_short (ival))
+ || set_ordinary_record_type ());
+
+ if (is_c_fld_insn (ival) || (m_xlen == 4 && is_c_flw_insn (ival)))
+ return (!save_reg (RISCV_FIRST_FP_REGNUM + decode_crs2_short (ival))
+ || set_ordinary_record_type ());
+
+ if (is_c_fsd_insn (ival) || (m_xlen == 8 && is_c_sd_insn (ival)))
+ {
+ ULONGEST offset = ULONGEST{EXTRACT_CLTYPE_LD_IMM (ival)};
+ return (!read_reg (regcache, decode_crs1_short (ival), addr)
+ || !save_mem (addr + offset, 8) || set_ordinary_record_type ());
+ }
+
+ if ((m_xlen == 4 && is_c_fsw_insn (ival)) || is_c_sw_insn (ival))
+ {
+ ULONGEST offset = ULONGEST{EXTRACT_CLTYPE_LW_IMM (ival)};
+ return (!read_reg (regcache, decode_crs1_short (ival), addr)
+ || !save_mem (addr + offset, 4) || set_ordinary_record_type ());
+ }
+
+ if (is_c_nop_insn (ival))
+ return set_ordinary_record_type ();
+
+ if (is_c_addi_insn (ival))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (m_xlen == 4 && is_c_jal_insn (ival))
+ return (!save_reg (RISCV_RA_REGNUM) || set_ordinary_record_type ());
+
+ if ((m_xlen == 8 && is_c_addiw_insn (ival)) || is_c_li_insn (ival))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (is_c_addi16sp_insn (ival))
+ return (!save_reg (RISCV_SP_REGNUM) || set_ordinary_record_type ());
+
+ if (is_c_lui_insn (ival))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (is_c_srli_insn (ival) || is_c_srai_insn (ival) || is_c_andi_insn (ival)
+ || is_c_sub_insn (ival) || is_c_xor_insn (ival) || is_c_or_insn (ival)
+ || is_c_and_insn (ival) || (m_xlen == 8 && is_c_subw_insn (ival))
+ || (m_xlen == 8 && is_c_addw_insn (ival)))
+ return (!save_reg (decode_crs1_short (ival))
+ || set_ordinary_record_type ());
+
+ if (is_c_j_insn (ival) || is_c_beqz_insn (ival) || is_c_bnez_insn (ival))
+ return set_ordinary_record_type ();
+
+ if (is_c_slli_insn (ival))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (is_c_fldsp_insn (ival) || (m_xlen == 4 && is_c_flwsp_insn (ival)))
+ return (!save_reg (RISCV_FIRST_FP_REGNUM + decode_crs1 (ival))
+ || set_ordinary_record_type ());
+
+ if (is_c_lwsp_insn (ival) || (m_xlen == 8 && is_c_ldsp_insn (ival)))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (is_c_jr_insn (ival))
+ return set_ordinary_record_type ();
+
+ if (is_c_mv_insn (ival))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (is_c_ebreak_insn (ival))
+ {
+ m_record_type = record_type::EBREAK;
+ return true;
+ }
+
+ if (is_c_jalr_insn (ival))
+ return (!save_reg (RISCV_RA_REGNUM) || set_ordinary_record_type ());
+
+ if (is_c_add_insn (ival))
+ return (!save_reg (decode_crs1 (ival)) || set_ordinary_record_type ());
+
+ if (is_c_fsdsp_insn (ival) || (m_xlen == 8 && is_c_sdsp_insn (ival)))
+ {
+ ULONGEST offset = ULONGEST{EXTRACT_CSSTYPE_SDSP_IMM (ival)};
+ return (!read_reg (regcache, RISCV_SP_REGNUM, addr)
+ || !save_mem (addr + offset, 8) || set_ordinary_record_type ());
+ }
+
+ if (is_c_swsp_insn (ival) || (m_xlen == 4 && is_c_fswsp_insn (ival)))
+ {
+ ULONGEST offset = ULONGEST{EXTRACT_CSSTYPE_SWSP_IMM (ival)};
+ return (!read_reg (regcache, RISCV_SP_REGNUM, addr)
+ || !save_mem (addr + offset, 4) || set_ordinary_record_type ());
+ }
+
+ warning (_("Currently this instruction with len 2(%s) is unsupported"),
+ hex_string (ival));
+ return false;
+ }
+
+public:
+ /* Iterator for registers that need to be recorded. */
+ using regs_iter = recorded_regs::const_iterator;
+ /* Iterator for memory chunks that need to be recorded. */
+ using mems_iter = recorded_mems::const_iterator;
+
+ /* Record instruction at address addr. Returns false if error happened. */
+ bool
+ record (gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR addr) noexcept
+ {
+ gdb_assert (gdbarch != nullptr);
+ gdb_assert (regcache != nullptr);
+
+ int m_length = 0;
+ m_xlen = riscv_isa_xlen (gdbarch);
+ ULONGEST ival = riscv_insn::fetch_instruction (gdbarch, addr, &m_length);
+ if (!save_reg (RISCV_PC_REGNUM))
+ return false;
+
+ if (m_length == 4)
+ return record_insn_len4 (ival, regcache);
+
+ if (m_length == 2)
+ return record_insn_len2 (ival, regcache);
+
+ /* 6 bytes or more. If the instruction is longer than 8 bytes, we don't
+ have full instruction bits in ival. At least, such long instructions
+ are not defined yet, so just ignore it. */
+ gdb_assert (m_length > 0 && m_length % 2 == 0);
+
+ warning (_("Can not record unknown instruction (opcode = %s)"),
+ hex_string (ival));
+ return false;
+ }
+
+ /* Get record type of instruction. */
+ record_type
+ get_record_type () const noexcept
+ {
+ return m_record_type;
+ }
+
+ /* Returns an iterator to the beginning of the registers that need
+ to be saved. */
+ regs_iter
+ regs_begin () const noexcept
+ {
+ return m_regs.begin ();
+ }
+
+ /* Returns an iterator to the end of the registers that need
+ to be saved. */
+ regs_iter
+ regs_end () const noexcept
+ {
+ return m_regs.end ();
+ }
+
+ /* Returns an iterator to the beginning of the memory chunks that need
+ to be saved. */
+ mems_iter
+ mems_begin () const noexcept
+ {
+ return m_mems.begin ();
+ }
+
+ /* Returns an iterator to the end of the memory chunks that need
+ to be saved. */
+ mems_iter
+ mems_end () const noexcept
+ {
+ return m_mems.end ();
+ }
+};
+
+/* A helper function to record instruction using record API. */
+
+static int
+riscv_record_insn_details (struct gdbarch *gdbarch, struct regcache *regcache,
+ const riscv_recorded_insn &insn)
+{
+ gdb_assert (gdbarch != nullptr);
+ gdb_assert (regcache != nullptr);
+
+ riscv_gdbarch_tdep *tdep = gdbarch_tdep<riscv_gdbarch_tdep> (gdbarch);
+ auto regs_begin = insn.regs_begin ();
+ auto regs_end = insn.regs_end ();
+ if (std::any_of (regs_begin,
+ regs_end,
+ [&regcache] (auto &&reg_it)
+ {
+ return record_full_arch_list_add_reg (regcache, reg_it);
+ }))
+ return -1;
+
+ auto mems_begin = insn.mems_begin ();
+ auto mems_end = insn.mems_end ();
+ if (std::any_of (mems_begin,
+ mems_end,
+ [] (auto &&mem_it)
+ {
+ return record_full_arch_list_add_mem (mem_it.first,
+ mem_it.second);
+ }))
+ return -1;
+
+ switch (insn.get_record_type ())
+ {
+ case riscv_recorded_insn::record_type::ORDINARY:
+ break;
+
+ case riscv_recorded_insn::record_type::ECALL:
+ {
+ if (!tdep->riscv_syscall_record)
+ {
+ warning (_("Syscall record is not supported"));
+ return -1;
+ }
+ ULONGEST reg_val = ULONGEST{};
+ if (!try_read (regcache, RISCV_A7_REGNUM, reg_val))
+ return -1;
+ return tdep->riscv_syscall_record (regcache, reg_val);
+ }
+
+ case riscv_recorded_insn::record_type::EBREAK:
+ break;
+
+ default:
+ return -1;
+ }
+ return 0;
+}
+
+/* Parse the current instruction and record the values of the registers and
+ memory that will be changed in current instruction to record_arch_list.
+ Return -1 if something is wrong. */
+
+int
+riscv_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
+ CORE_ADDR addr)
+{
+ gdb_assert (gdbarch != nullptr);
+ gdb_assert (regcache != nullptr);
+
+ riscv_recorded_insn insn;
+ if (!insn.record (gdbarch, regcache, addr))
+ {
+ record_full_arch_list_add_end ();
+ return -1;
+ }
+
+ int ret_val = riscv_record_insn_details (gdbarch, regcache, insn);
+
+ if (record_full_arch_list_add_end ())
+ return -1;
+
+ return ret_val;
+}
diff --git a/gdb/riscv-tdep.h b/gdb/riscv-tdep.h
index ad1e959..2903aef 100644
--- a/gdb/riscv-tdep.h
+++ b/gdb/riscv-tdep.h
@@ -35,7 +35,11 @@ enum
RISCV_FP_REGNUM = 8, /* Frame Pointer. */
RISCV_A0_REGNUM = 10, /* First argument. */
RISCV_A1_REGNUM = 11, /* Second argument. */
- RISCV_A7_REGNUM = 17, /* Seventh argument. */
+ RISCV_A2_REGNUM = 12, /* Third argument. */
+ RISCV_A3_REGNUM = 13, /* Forth argument. */
+ RISCV_A4_REGNUM = 14, /* Fifth argument. */
+ RISCV_A5_REGNUM = 15, /* Sixth argument. */
+ RISCV_A7_REGNUM = 17, /* Register to pass syscall number. */
RISCV_PC_REGNUM = 32, /* Program Counter. */
RISCV_NUM_INTEGER_REGS = 32,
@@ -113,6 +117,10 @@ struct riscv_gdbarch_tdep : gdbarch_tdep_base
/* Return the expected next PC assuming FRAME is stopped at a syscall
instruction. */
CORE_ADDR (*syscall_next_pc) (const frame_info_ptr &frame) = nullptr;
+
+ /* Syscall record. */
+ int (*riscv_syscall_record) (struct regcache *regcache,
+ unsigned long svc_number) = nullptr;
};
@@ -177,6 +185,12 @@ extern void riscv_supply_regset (const struct regset *regset,
struct regcache *regcache, int regnum,
const void *regs, size_t len);
+/* Parse the current instruction, and record the values of the
+ registers and memory that will be changed by the current
+ instruction. Returns -1 if something goes wrong, 0 otherwise. */
+extern int riscv_process_record (struct gdbarch *gdbarch,
+ struct regcache *regcache, CORE_ADDR addr);
+
/* The names of the RISC-V target description features. */
extern const char *riscv_feature_name_csr;
diff --git a/gdb/rl78-tdep.c b/gdb/rl78-tdep.c
index f325f41..5c49d1f 100644
--- a/gdb/rl78-tdep.c
+++ b/gdb/rl78-tdep.c
@@ -1488,9 +1488,7 @@ rl78_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Register the above initialization routine. */
-void _initialize_rl78_tdep ();
-void
-_initialize_rl78_tdep ()
+INIT_GDB_FILE (rl78_tdep)
{
gdbarch_register (bfd_arch_rl78, rl78_gdbarch_init);
}
diff --git a/gdb/rs6000-aix-nat.c b/gdb/rs6000-aix-nat.c
index 225d1b8..213f197 100644
--- a/gdb/rs6000-aix-nat.c
+++ b/gdb/rs6000-aix-nat.c
@@ -1062,9 +1062,7 @@ rs6000_nat_target::xfer_shared_libraries
}
}
-void _initialize_rs6000_nat ();
-void
-_initialize_rs6000_nat ()
+INIT_GDB_FILE (rs6000_nat)
{
add_inf_child_target (&the_rs6000_nat_target);
}
diff --git a/gdb/rs6000-aix-tdep.c b/gdb/rs6000-aix-tdep.c
index ab9feb3..853a66e 100644
--- a/gdb/rs6000-aix-tdep.c
+++ b/gdb/rs6000-aix-tdep.c
@@ -1411,13 +1411,11 @@ rs6000_aix_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_wchar_signed (gdbarch, 0);
set_gdbarch_auto_wide_charset (gdbarch, rs6000_aix_auto_wide_charset);
- set_gdbarch_so_ops (gdbarch, &solib_aix_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_aix_solib_ops);
frame_unwind_append_unwinder (gdbarch, &aix_sighandle_frame_unwind);
}
-void _initialize_rs6000_aix_tdep ();
-void
-_initialize_rs6000_aix_tdep ()
+INIT_GDB_FILE (rs6000_aix_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_rs6000,
bfd_target_xcoff_flavour,
diff --git a/gdb/rs6000-lynx178-tdep.c b/gdb/rs6000-lynx178-tdep.c
index 38af2ac..d0d9a53 100644
--- a/gdb/rs6000-lynx178-tdep.c
+++ b/gdb/rs6000-lynx178-tdep.c
@@ -407,9 +407,7 @@ rs6000_lynx178_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_long_double_bit (gdbarch, 8 * TARGET_CHAR_BIT);
}
-void _initialize_rs6000_lynx178_tdep ();
-void
-_initialize_rs6000_lynx178_tdep ()
+INIT_GDB_FILE (rs6000_lynx178_tdep)
{
gdbarch_register_osabi_sniffer (bfd_arch_rs6000,
bfd_target_xcoff_flavour,
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index 23ccd92..1c75bb7 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -8722,9 +8722,7 @@ ppc_insn_prefix_dform (unsigned int insn1, unsigned int insn2)
/* Initialization code. */
-void _initialize_rs6000_tdep ();
-void
-_initialize_rs6000_tdep ()
+INIT_GDB_FILE (rs6000_tdep)
{
gdbarch_register (bfd_arch_rs6000, rs6000_gdbarch_init, rs6000_dump_tdep);
gdbarch_register (bfd_arch_powerpc, rs6000_gdbarch_init, rs6000_dump_tdep);
diff --git a/gdb/run-on-main-thread.c b/gdb/run-on-main-thread.c
index edaab08..30b0928 100644
--- a/gdb/run-on-main-thread.c
+++ b/gdb/run-on-main-thread.c
@@ -130,9 +130,7 @@ is_main_thread ()
#endif
}
-void _initialize_run_on_main_thread ();
-void
-_initialize_run_on_main_thread ()
+INIT_GDB_FILE (run_on_main_thread)
{
#if CXX_STD_THREAD
/* The variable main_thread_id should be initialized when entering main, or
diff --git a/gdb/rust-exp.h b/gdb/rust-exp.h
index 73654f6..3185242 100644
--- a/gdb/rust-exp.h
+++ b/gdb/rust-exp.h
@@ -33,14 +33,6 @@ extern struct value *eval_op_rust_array (struct type *expect_type,
enum exp_opcode opcode,
struct value *ncopies,
struct value *elt);
-extern struct value *rust_subscript (struct type *expect_type,
- struct expression *exp,
- enum noside noside, bool for_addr,
- struct value *lhs, struct value *rhs);
-extern struct value *rust_range (struct type *expect_type,
- struct expression *exp,
- enum noside noside, enum range_flag kind,
- struct value *low, struct value *high);
namespace expr
{
@@ -75,22 +67,26 @@ public:
struct expression *exp,
enum noside noside) override
{
- value *arg1 = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
- value *arg2 = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
- return rust_subscript (expect_type, exp, noside, false, arg1, arg2);
+ return subscript (exp, noside, false);
}
value *slice (struct type *expect_type,
struct expression *exp,
enum noside noside)
{
- value *arg1 = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
- value *arg2 = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
- return rust_subscript (expect_type, exp, noside, true, arg1, arg2);
+ return subscript (exp, noside, true);
}
enum exp_opcode opcode () const override
{ return BINOP_SUBSCRIPT; }
+
+private:
+
+ /* Helper function that does the work of evaluation. FOR_ADDR is
+ true if we're evaluating a slice. */
+ value *subscript (struct expression *exp, enum noside noside,
+ bool for_addr);
+
};
class rust_unop_addr_operation
@@ -126,17 +122,7 @@ public:
value *evaluate (struct type *expect_type,
struct expression *exp,
- enum noside noside) override
- {
- auto kind = std::get<0> (m_storage);
- value *low = nullptr;
- if (std::get<1> (m_storage) != nullptr)
- low = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
- value *high = nullptr;
- if (std::get<2> (m_storage) != nullptr)
- high = std::get<2> (m_storage)->evaluate (nullptr, exp, noside);
- return rust_range (expect_type, exp, noside, kind, low, high);
- }
+ enum noside noside) override;
enum exp_opcode opcode () const override
{ return OP_RANGE; }
diff --git a/gdb/rust-lang.c b/gdb/rust-lang.c
index 1bb14db..3957413 100644
--- a/gdb/rust-lang.c
+++ b/gdb/rust-lang.c
@@ -1142,13 +1142,22 @@ rust_slice_type (const char *name, struct type *elt_type,
-/* A helper for rust_evaluate_subexp that handles OP_RANGE. */
+namespace expr
+{
struct value *
-rust_range (struct type *expect_type, struct expression *exp,
- enum noside noside, enum range_flag kind,
- struct value *low, struct value *high)
+rust_range_operation::evaluate (struct type *expect_type,
+ struct expression *exp,
+ enum noside noside)
{
+ auto kind = std::get<0> (m_storage);
+ value *low = nullptr;
+ if (std::get<1> (m_storage) != nullptr)
+ low = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
+ value *high = nullptr;
+ if (std::get<2> (m_storage) != nullptr)
+ high = std::get<2> (m_storage)->evaluate (nullptr, exp, noside);
+
struct value *addrval, *result;
CORE_ADDR addr;
struct type *range_type;
@@ -1225,6 +1234,8 @@ rust_range (struct type *expect_type, struct expression *exp,
return result;
}
+} /* namespace expr */
+
/* A helper function to compute the range and kind given a range
value. TYPE is the type of the range value. RANGE is the range
value. LOW, HIGH, and KIND are out parameters. The LOW and HIGH
@@ -1266,13 +1277,16 @@ rust_compute_range (struct type *type, struct value *range,
}
}
-/* A helper for rust_evaluate_subexp that handles BINOP_SUBSCRIPT. */
+namespace expr
+{
struct value *
-rust_subscript (struct type *expect_type, struct expression *exp,
- enum noside noside, bool for_addr,
- struct value *lhs, struct value *rhs)
+rust_subscript_operation::subscript (struct expression *exp,
+ enum noside noside, bool for_addr)
{
+ value *lhs = std::get<0> (m_storage)->evaluate (nullptr, exp, noside);
+ value *rhs = std::get<1> (m_storage)->evaluate (nullptr, exp, noside);
+
struct value *result;
struct type *rhstype;
LONGEST low, high_bound;
@@ -1413,9 +1427,6 @@ rust_subscript (struct type *expect_type, struct expression *exp,
return result;
}
-namespace expr
-{
-
struct value *
rust_unop_ind_operation::evaluate (struct type *expect_type,
struct expression *exp,
diff --git a/gdb/rust-parse.c b/gdb/rust-parse.c
index ef64005..b428b97 100644
--- a/gdb/rust-parse.c
+++ b/gdb/rust-parse.c
@@ -2421,9 +2421,7 @@ rust_lex_tests (void)
-void _initialize_rust_exp ();
-void
-_initialize_rust_exp ()
+INIT_GDB_FILE (rust_exp)
{
int code = regcomp (&number_regex, number_regex_text, REG_EXTENDED);
/* If the regular expression was incorrect, it was a programming
diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c
index f767666..7b110ce 100644
--- a/gdb/rx-tdep.c
+++ b/gdb/rx-tdep.c
@@ -1063,9 +1063,7 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Register the above initialization routine. */
-void _initialize_rx_tdep ();
-void
-_initialize_rx_tdep ()
+INIT_GDB_FILE (rx_tdep)
{
gdbarch_register (bfd_arch_rx, rx_gdbarch_init);
initialize_tdesc_rx ();
diff --git a/gdb/s12z-tdep.c b/gdb/s12z-tdep.c
index 70f8598..28d5635 100644
--- a/gdb/s12z-tdep.c
+++ b/gdb/s12z-tdep.c
@@ -662,9 +662,7 @@ s12z_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_s12z_tdep ();
-void
-_initialize_s12z_tdep ()
+INIT_GDB_FILE (s12z_tdep)
{
gdbarch_register (bfd_arch_s12z, s12z_gdbarch_init, NULL);
}
diff --git a/gdb/s390-linux-nat.c b/gdb/s390-linux-nat.c
index d5964e2..5b723b1 100644
--- a/gdb/s390-linux-nat.c
+++ b/gdb/s390-linux-nat.c
@@ -1051,9 +1051,7 @@ s390_linux_nat_target::read_description ()
tdesc_s390_linux32);
}
-void _initialize_s390_nat ();
-void
-_initialize_s390_nat ()
+INIT_GDB_FILE (s390_nat)
{
/* Register the target. */
linux_target = &the_s390_linux_nat_target;
diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c
index 04c523b..66e571d 100644
--- a/gdb/s390-linux-tdep.c
+++ b/gdb/s390-linux-tdep.c
@@ -29,6 +29,8 @@
#include "gdbcore.h"
#include "linux-record.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
+#include "svr4-tls-tdep.h"
#include "objfiles.h"
#include "osabi.h"
#include "regcache.h"
@@ -40,6 +42,7 @@
#include "target.h"
#include "trad-frame.h"
#include "xml-syscall.h"
+#include "inferior.h"
#include "features/s390-linux32v1.c"
#include "features/s390-linux32v2.c"
@@ -1124,6 +1127,45 @@ s390_init_linux_record_tdep (struct linux_record_tdep *record_tdep,
record_tdep->ioctl_FIOQSIZE = 0x545e;
}
+/* Fetch and return the TLS DTV (dynamic thread vector) address for PTID.
+ Throw a suitable TLS error if something goes wrong. */
+
+static CORE_ADDR
+s390_linux_get_tls_dtv_addr (struct gdbarch *gdbarch, ptid_t ptid,
+ enum svr4_tls_libc libc)
+{
+ /* On S390, the thread pointer is found in two registers A0 and A1
+ (or, using gdb naming, acr0 and acr1) A0 contains the top 32
+ bits of the address and A1 contains the bottom 32 bits. */
+ regcache *regcache
+ = get_thread_arch_regcache (current_inferior (), ptid, gdbarch);
+ target_fetch_registers (regcache, S390_A0_REGNUM);
+ target_fetch_registers (regcache, S390_A1_REGNUM);
+ ULONGEST thr_ptr_lo, thr_ptr_hi, thr_ptr;
+ if (regcache->cooked_read (S390_A0_REGNUM, &thr_ptr_hi) != REG_VALID
+ || regcache->cooked_read (S390_A1_REGNUM, &thr_ptr_lo) != REG_VALID)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch thread pointer"));
+ thr_ptr = (thr_ptr_hi << 32) + thr_ptr_lo;
+
+ /* The thread pointer points at the TCB (thread control block). The
+ first two members of this struct are both pointers, where the
+ first will be a pointer to the TCB (i.e. it points at itself)
+ and the second will be a pointer to the DTV (dynamic thread
+ vector). There are many other fields too, but the one we care
+ about here is the DTV pointer. Compute the address of the DTV
+ pointer, fetch it, and convert it to an address. */
+ CORE_ADDR dtv_ptr_addr
+ = thr_ptr + gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
+ gdb::byte_vector buf (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ if (target_read_memory (dtv_ptr_addr, buf.data (), buf.size ()) != 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch DTV address"));
+
+ const struct builtin_type *builtin = builtin_type (gdbarch);
+ CORE_ADDR dtv_addr = gdbarch_pointer_to_address
+ (gdbarch, builtin->builtin_data_ptr, buf.data ());
+ return dtv_addr;
+}
+
/* Initialize OSABI common for GNU/Linux on 31- and 64-bit systems. */
static void
@@ -1152,6 +1194,9 @@ s390_linux_init_abi_any (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
+ set_gdbarch_get_thread_local_address (gdbarch,
+ svr4_tls_get_thread_local_address);
+ svr4_tls_register_tls_methods (info, gdbarch, s390_linux_get_tls_dtv_addr);
/* Support reverse debugging. */
set_gdbarch_process_record_signal (gdbarch, s390_linux_record_signal);
@@ -1170,8 +1215,7 @@ s390_linux_init_abi_31 (struct gdbarch_info info, struct gdbarch *gdbarch)
s390_linux_init_abi_any (info, gdbarch);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390);
}
@@ -1186,14 +1230,11 @@ s390_linux_init_abi_64 (struct gdbarch_info info, struct gdbarch *gdbarch)
s390_linux_init_abi_any (info, gdbarch);
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_S390X);
}
-void _initialize_s390_linux_tdep ();
-void
-_initialize_s390_linux_tdep ()
+INIT_GDB_FILE (s390_linux_tdep)
{
/* Hook us into the OSABI mechanism. */
gdbarch_register_osabi (bfd_arch_s390, bfd_mach_s390_31, GDB_OSABI_LINUX,
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c
index d030a4d..8a2b405 100644
--- a/gdb/s390-tdep.c
+++ b/gdb/s390-tdep.c
@@ -41,6 +41,8 @@
#include "value.h"
#include "inferior.h"
#include "dwarf2/loc.h"
+#include "gdbsupport/selftest.h"
+#include "gdb/disasm-selftests.h"
#include "features/s390-linux32.c"
#include "features/s390x-linux64.c"
@@ -7468,13 +7470,61 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_s390_tdep ();
-void
-_initialize_s390_tdep ()
+#if GDB_SELF_TEST
+namespace selftests {
+
+/* Return bfd_arch_info representing s390x. */
+
+static const bfd_arch_info *
+bfd_arch_info_s390x ()
+{
+ return bfd_lookup_arch (bfd_arch_s390, bfd_mach_s390_64);
+}
+
+/* Return gdbarch representing s390x. */
+
+static gdbarch *
+gdbarch_s390x ()
+{
+ struct gdbarch_info info;
+ info.bfd_arch_info = bfd_arch_info_s390x ();
+ if (info.bfd_arch_info == nullptr)
+ return nullptr;
+
+ info.osabi = GDB_OSABI_NONE;
+ return gdbarch_find_by_info (info);
+}
+
+/* Check disassembly of s390x instructions. */
+
+static void
+disassemble_s390x ()
+{
+ gdbarch *gdbarch = gdbarch_s390x ();
+ if (gdbarch == nullptr)
+ return;
+
+ scoped_restore disassembler_options_restore
+ = make_scoped_restore (&s390_disassembler_options, "zarch");
+
+ gdb::byte_vector insn = { 0xb9, 0x68, 0x00, 0x03 };
+ disassemble_insn (gdbarch, insn, "clzg\t%r0,%r3");
+}
+
+} /* namespace selftests */
+
+#endif /* GDB_SELF_TEST */
+
+INIT_GDB_FILE (s390_tdep)
{
/* Hook us into the gdbarch mechanism. */
gdbarch_register (bfd_arch_s390, s390_gdbarch_init);
initialize_tdesc_s390_linux32 ();
initialize_tdesc_s390x_linux64 ();
+
+#if GDB_SELF_TEST
+ selftests::register_test ("disassemble-s390x",
+ selftests::disassemble_s390x);
+#endif /* GDB_SELF_TEST */
}
diff --git a/gdb/ser-go32.c b/gdb/ser-go32.c
index c6b34ab..6e60569 100644
--- a/gdb/ser-go32.c
+++ b/gdb/ser-go32.c
@@ -914,9 +914,7 @@ info_serial_command (const char *arg, int from_tty)
#endif
}
-void _initialize_ser_dos ();
-void
-_initialize_ser_dos ()
+INIT_GDB_FILE (ser_dos)
{
serial_add_interface (&dos_ops);
diff --git a/gdb/ser-mingw.c b/gdb/ser-mingw.c
index db733c3..086919a 100644
--- a/gdb/ser-mingw.c
+++ b/gdb/ser-mingw.c
@@ -1338,9 +1338,7 @@ static const struct serial_ops tcp_ops =
net_windows_done_wait_handle
};
-void _initialize_ser_windows ();
-void
-_initialize_ser_windows ()
+INIT_GDB_FILE (ser_windows)
{
WSADATA wsa_data;
diff --git a/gdb/ser-pipe.c b/gdb/ser-pipe.c
index 16f7419..bdf3602 100644
--- a/gdb/ser-pipe.c
+++ b/gdb/ser-pipe.c
@@ -236,9 +236,7 @@ static const struct serial_ops pipe_ops =
ser_unix_write_prim
};
-void _initialize_ser_pipe ();
-void
-_initialize_ser_pipe ()
+INIT_GDB_FILE (ser_pipe)
{
serial_add_interface (&pipe_ops);
}
diff --git a/gdb/ser-tcp.c b/gdb/ser-tcp.c
index 122b913..589b23d 100644
--- a/gdb/ser-tcp.c
+++ b/gdb/ser-tcp.c
@@ -465,9 +465,7 @@ static const struct serial_ops tcp_ops =
#endif /* USE_WIN32API */
-void _initialize_ser_tcp ();
-void
-_initialize_ser_tcp ()
+INIT_GDB_FILE (ser_tcp)
{
#ifdef USE_WIN32API
/* Do nothing; the TCP serial operations will be initialized in
diff --git a/gdb/ser-uds.c b/gdb/ser-uds.c
index 64e1599..2a45a90 100644
--- a/gdb/ser-uds.c
+++ b/gdb/ser-uds.c
@@ -110,9 +110,7 @@ static const struct serial_ops uds_ops =
uds_write_prim
};
-void _initialize_ser_socket ();
-void
-_initialize_ser_socket ()
+INIT_GDB_FILE (ser_socket)
{
serial_add_interface (&uds_ops);
}
diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c
index cb803a5..553220e 100644
--- a/gdb/ser-unix.c
+++ b/gdb/ser-unix.c
@@ -30,9 +30,33 @@
#include "gdbsupport/gdb_select.h"
#include "cli/cli-cmds.h"
#include "gdbsupport/filestuff.h"
-#include <termios.h>
+
+#ifdef HAVE_SYS_IOCTL_H
+# include <sys/ioctl.h>
+#endif
+
+#if HAVE_IOKIT_SERIAL_IOSS_H
+# include <IOKit/serial/ioss.h>
+#endif
+
+#if HAVE_ASM_TERMIOS_H
+/* Workaround to resolve conflicting declarations of termios
+ in <asm/termbits.h> and <termios.h>. */
+# define termios asmtermios
+# include <asm/termbits.h>
+# undef termios
+#endif
+
+#ifdef HAVE_TERMIOS_H
+# include <termios.h>
+#endif
+
#include "gdbsupport/scoped_ignore_sigttou.h"
+#if defined(HAVE_SYS_IOCTL_H) && (defined(BOTHER) || defined(IOSSIOSPEED))
+# define HAVE_CUSTOM_BAUDRATE_SUPPORT 1
+#endif
+
struct hardwire_ttystate
{
struct termios termios;
@@ -289,14 +313,32 @@ baudtab[] =
4800, B4800
}
,
+#ifdef B7200
+ {
+ 7200, B7200
+ }
+ ,
+#endif
{
9600, B9600
}
,
+#ifdef B14400
+ {
+ 14400, B14400
+ }
+ ,
+#endif
{
19200, B19200
}
,
+#ifdef B28800
+ {
+ 28800, B28800
+ }
+ ,
+#endif
{
38400, B38400
}
@@ -307,6 +349,12 @@ baudtab[] =
}
,
#endif
+#ifdef B76800
+ {
+ 76800, B76800
+ }
+ ,
+#endif
#ifdef B115200
{
115200, B115200
@@ -412,6 +460,7 @@ rate_to_code (int rate)
/* check if it is in between valid values. */
if (rate < baudtab[i].rate)
{
+#if !HAVE_CUSTOM_BAUDRATE_SUPPORT
if (i)
{
error (_("Invalid baud rate %d. "
@@ -423,29 +472,126 @@ rate_to_code (int rate)
error (_("Invalid baud rate %d. Minimum value is %d."),
rate, baudtab[0].rate);
}
+#else
+ return -1;
+#endif
}
}
}
-
+
+#if !HAVE_CUSTOM_BAUDRATE_SUPPORT
/* The requested speed was too large. */
error (_("Invalid baud rate %d. Maximum value is %d."),
rate, baudtab[i - 1].rate);
+#else
+ return -1;
+#endif
}
+/* Set baud rate using B_code from termios.h. */
+
static void
-hardwire_setbaudrate (struct serial *scb, int rate)
+set_baudcode_baudrate (struct serial *scb, int baud_code)
{
struct hardwire_ttystate state;
- int baud_code = rate_to_code (rate);
-
+
if (get_tty_state (scb, &state))
- perror_with_name ("could not get tty state");
+ perror_with_name (_("could not get tty state"));
cfsetospeed (&state.termios, baud_code);
cfsetispeed (&state.termios, baud_code);
if (set_tty_state (scb, &state))
- perror_with_name ("could not set tty state");
+ perror_with_name (_("could not set tty state"));
+}
+
+#if HAVE_CUSTOM_BAUDRATE_SUPPORT && defined(BOTHER)
+
+/* Set a custom baud rate using the termios BOTHER. */
+
+static void
+set_custom_baudrate_linux (int fd, int rate)
+{
+#ifdef TCGETS2
+ struct termios2 tio;
+ const unsigned long req_get = TCGETS2;
+ const unsigned long req_set = TCSETS2;
+#else
+ struct termios tio;
+ const unsigned long req_get = TCGETS;
+ const unsigned long req_set = TCSETS;
+#endif
+
+ if (ioctl (fd, req_get, &tio) < 0)
+ perror_with_name (_("Can not get current baud rate"));
+
+ /* Clear the current output baud rate and fill a new value. */
+ tio.c_cflag &= ~CBAUD;
+ tio.c_cflag |= BOTHER;
+ tio.c_ospeed = rate;
+
+ /* Clear the current input baud rate and fill a new value. */
+ tio.c_cflag &= ~(CBAUD << IBSHIFT);
+ tio.c_cflag |= BOTHER << IBSHIFT;
+ tio.c_ispeed = rate;
+
+ if (ioctl (fd, req_set, &tio) < 0)
+ perror_with_name (_("Can not set custom baud rate"));
+}
+
+#elif HAVE_CUSTOM_BAUDRATE_SUPPORT && defined(IOSSIOSPEED)
+
+/* Set a custom baud rate using the IOSSIOSPEED ioctl call. */
+
+static void
+set_custom_baudrate_darwin (int fd, int rate)
+{
+
+ if (ioctl (fd, IOSSIOSPEED, &rate) < 0)
+ perror_with_name (_("Can not set custom baud rate"));
+}
+
+#endif /* HAVE_CUSTOM_BAUDRATE_SUPPORT
+ && (defined(BOTHER) || defined(IOSSIOSPEED)) */
+
+#if HAVE_CUSTOM_BAUDRATE_SUPPORT
+
+/* Set a baud rate that differs from the OS B_codes.
+ This is possible if one of the following macros is available:
+ - BOTHER (Linux).
+ - IOSSIOSPEED (Darwin). */
+
+static void
+set_custom_baudrate (int fd, int rate)
+{
+#if defined(BOTHER)
+ set_custom_baudrate_linux (fd, rate);
+#elif defined(IOSSIOSPEED)
+ set_custom_baudrate_darwin (fd, rate);
+#endif
+}
+
+#endif /* HAVE_CUSTOM_BAUDRATE_SUPPORT */
+
+/* Set the baud rate for the serial communication. */
+
+static void
+hardwire_setbaudrate (struct serial *scb, int rate)
+{
+ int baud_code = rate_to_code (rate);
+
+ if (baud_code < 0)
+ {
+#if HAVE_CUSTOM_BAUDRATE_SUPPORT
+ set_custom_baudrate (scb->fd, rate);
+#else
+ /* An error should already have been thrown by rate_to_code().
+ Add an additional error in case execution somehow reaches this line. */
+ gdb_assert_not_reached ("Serial baud rate was not found in B_codes");
+#endif
+ }
+ else
+ set_baudcode_baudrate (scb, baud_code);
}
static int
@@ -551,9 +697,7 @@ static const struct serial_ops hardwire_ops =
ser_unix_write_prim
};
-void _initialize_ser_hardwire ();
-void
-_initialize_ser_hardwire ()
+INIT_GDB_FILE (ser_hardwire)
{
serial_add_interface (&hardwire_ops);
diff --git a/gdb/serial.c b/gdb/serial.c
index bab8480..d66c637 100644
--- a/gdb/serial.c
+++ b/gdb/serial.c
@@ -642,9 +642,7 @@ set_parity (const char *ignore_args, int from_tty, struct cmd_list_element *c)
serial_parity = GDBPARITY_NONE;
}
-void _initialize_serial ();
-void
-_initialize_serial ()
+INIT_GDB_FILE (serial)
{
#if 0
add_com ("connect", class_obscure, connect_command, _("\
diff --git a/gdb/sh-linux-tdep.c b/gdb/sh-linux-tdep.c
index f0b35d3..2578192 100644
--- a/gdb/sh-linux-tdep.c
+++ b/gdb/sh-linux-tdep.c
@@ -28,6 +28,7 @@
#include "glibc-tdep.h"
#include "sh-tdep.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "gdbarch.h"
#define REGSx16(base) \
@@ -187,8 +188,7 @@ sh_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
set_gdbarch_fetch_tls_load_module_address (gdbarch,
@@ -207,9 +207,7 @@ sh_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
tramp_frame_prepend_unwinder (gdbarch, &sh_linux_rt_sigreturn_tramp_frame);
}
-void _initialize_sh_linux_tdep ();
-void
-_initialize_sh_linux_tdep ()
+INIT_GDB_FILE (sh_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_sh, 0, GDB_OSABI_LINUX, sh_linux_init_abi);
}
diff --git a/gdb/sh-netbsd-nat.c b/gdb/sh-netbsd-nat.c
index 25aafe1..d36dba5 100644
--- a/gdb/sh-netbsd-nat.c
+++ b/gdb/sh-netbsd-nat.c
@@ -98,9 +98,7 @@ sh_nbsd_nat_target::store_registers (struct regcache *regcache, int regno)
}
}
-void _initialize_shnbsd_nat ();
-void
-_initialize_shnbsd_nat ()
+INIT_GDB_FILE (shnbsd_nat)
{
add_inf_child_target (&the_sh_nbsd_nat_target);
}
diff --git a/gdb/sh-netbsd-tdep.c b/gdb/sh-netbsd-tdep.c
index f99566f..4b0181b 100644
--- a/gdb/sh-netbsd-tdep.c
+++ b/gdb/sh-netbsd-tdep.c
@@ -68,13 +68,10 @@ shnbsd_init_abi (struct gdbarch_info info,
tdep->core_gregmap = (struct sh_corefile_regmap *)regmap;
tdep->sizeof_gregset = 84;
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
-void _initialize_shnbsd_tdep ();
-void
-_initialize_shnbsd_tdep ()
+INIT_GDB_FILE (shnbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_sh, 0, GDB_OSABI_NETBSD,
shnbsd_init_abi);
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 59a67bf..6bd4fd3 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -2394,9 +2394,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_sh_tdep ();
-void
-_initialize_sh_tdep ()
+INIT_GDB_FILE (sh_tdep)
{
gdbarch_register (bfd_arch_sh, sh_gdbarch_init, NULL);
diff --git a/gdb/skip.c b/gdb/skip.c
index a077241..a9ee223 100644
--- a/gdb/skip.c
+++ b/gdb/skip.c
@@ -657,9 +657,7 @@ complete_skip_number (cmd_list_element *cmd,
}
}
-void _initialize_step_skip ();
-void
-_initialize_step_skip ()
+INIT_GDB_FILE (step_skip)
{
static struct cmd_list_element *skiplist = NULL;
struct cmd_list_element *c;
diff --git a/gdb/sol-thread.c b/gdb/sol-thread.c
index ae1e5c0..55e1d3e 100644
--- a/gdb/sol-thread.c
+++ b/gdb/sol-thread.c
@@ -1111,19 +1111,21 @@ info_solthreads (const char *args, int from_tty)
ptid_t
sol_thread_target::get_ada_task_ptid (long lwp, ULONGEST thread)
{
- struct thread_info *thread_info
- = iterate_over_threads ([&] (struct thread_info *thread)
+ auto thread_db_find_thread_from_tid
+ = [&] (struct thread_info *iter)
{
- return thread->ptid.tid () == thread;
- });
+ return iter->ptid.tid () == thread;
+ };
+
+ struct thread_info *thread_info
+ = iterate_over_threads (thread_db_find_thread_from_tid);
if (thread_info == NULL)
{
/* The list of threads is probably not up to date. Find any
thread that is missing from the list, and try again. */
update_thread_list ();
- thread_info = iterate_over_threads (thread_db_find_thread_from_tid,
- &thread);
+ thread_info = iterate_over_threads (thread_db_find_thread_from_tid);
}
gdb_assert (thread_info != NULL);
@@ -1131,9 +1133,7 @@ sol_thread_target::get_ada_task_ptid (long lwp, ULONGEST thread)
return (thread_info->ptid);
}
-void _initialize_sol_thread ();
-void
-_initialize_sol_thread ()
+INIT_GDB_FILE (sol_thread)
{
void *dlhandle;
diff --git a/gdb/solib-aix.c b/gdb/solib-aix.c
index 0ad25f1..b246df8 100644
--- a/gdb/solib-aix.c
+++ b/gdb/solib-aix.c
@@ -17,7 +17,6 @@
#include "solib-aix.h"
#include "solib.h"
-#include "solist.h"
#include "inferior.h"
#include "gdb_bfd.h"
#include "objfiles.h"
@@ -25,6 +24,24 @@
#include "xcoffread.h"
#include "observable.h"
+/* solib_ops for AIX systems. */
+
+struct aix_solib_ops : public solib_ops
+{
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ void create_inferior_hook (int from_tty) const override;
+ owning_intrusive_list<solib> current_sos () const override;
+ gdb_bfd_ref_ptr bfd_open (const char *pathname) const override;
+};
+
+/* See solib-aix.h. */
+
+solib_ops_up
+make_aix_solib_ops ()
+{
+ return std::make_unique<aix_solib_ops> ();
+}
+
/* Our private data in struct solib. */
struct lm_info_aix final : public lm_info
@@ -307,10 +324,9 @@ solib_aix_bss_data_overlap (bfd *abfd)
return 0;
}
-/* Implement the "relocate_section_addresses" solib_ops method. */
-
-static void
-solib_aix_relocate_section_addresses (solib &so, target_section *sec)
+void
+aix_solib_ops::relocate_section_addresses (solib &so,
+ target_section *sec) const
{
struct bfd_section *bfd_sect = sec->the_bfd_section;
bfd *abfd = bfd_sect->owner;
@@ -411,10 +427,8 @@ solib_aix_get_section_offsets (struct objfile *objfile,
return offsets;
}
-/* Implement the "solib_create_inferior_hook" solib_ops method. */
-
-static void
-solib_aix_solib_create_inferior_hook (int from_tty)
+void
+aix_solib_ops::create_inferior_hook (int from_tty) const
{
const char *warning_msg = "unable to relocate main executable";
@@ -442,10 +456,8 @@ solib_aix_solib_create_inferior_hook (int from_tty)
}
}
-/* Implement the "current_sos" solib_ops method. */
-
-static owning_intrusive_list<solib>
-solib_aix_current_sos ()
+owning_intrusive_list<solib>
+aix_solib_ops::current_sos () const
{
std::optional<std::vector<lm_info_aix>> &library_list
= solib_aix_get_library_list (current_inferior (), NULL);
@@ -481,35 +493,17 @@ solib_aix_current_sos ()
}
/* Add it to the list. */
- auto &new_solib = sos.emplace_back ();
- new_solib.so_original_name = so_name;
- new_solib.so_name = so_name;
+ auto &new_solib = sos.emplace_back (*this);
+ new_solib.original_name = so_name;
+ new_solib.name = so_name;
new_solib.lm_info = std::make_unique<lm_info_aix> (info);
}
return sos;
}
-/* Implement the "open_symbol_file_object" solib_ops method. */
-
-static int
-solib_aix_open_symbol_file_object (int from_tty)
-{
- return 0;
-}
-
-/* Implement the "in_dynsym_resolve_code" solib_ops method. */
-
-static int
-solib_aix_in_dynsym_resolve_code (CORE_ADDR pc)
-{
- return 0;
-}
-
-/* Implement the "bfd_open" solib_ops method. */
-
-static gdb_bfd_ref_ptr
-solib_aix_bfd_open (const char *pathname)
+gdb_bfd_ref_ptr
+aix_solib_ops::bfd_open (const char *pathname) const
{
/* The pathname is actually a synthetic filename with the following
form: "/path/to/sharedlib(member.o)" (double-quotes excluded).
@@ -523,7 +517,7 @@ solib_aix_bfd_open (const char *pathname)
int found_file;
if (pathname[path_len - 1] != ')')
- return solib_bfd_open (pathname);
+ return solib_ops::bfd_open (pathname);
/* Search for the associated parens. */
sep = strrchr (pathname, '(');
@@ -533,7 +527,7 @@ solib_aix_bfd_open (const char *pathname)
to open pathname without decoding, possibly leading to
a failure), rather than triggering an assert failure). */
warning (_("missing '(' in shared object pathname: %s"), pathname);
- return solib_bfd_open (pathname);
+ return solib_ops::bfd_open (pathname);
}
filename_len = sep - pathname;
@@ -676,27 +670,7 @@ solib_aix_normal_stop_observer (struct bpstat *unused_1, int unused_2)
data->library_list.reset ();
}
-/* The solib_ops for AIX targets. */
-const solib_ops solib_aix_so_ops =
-{
- solib_aix_relocate_section_addresses,
- nullptr,
- nullptr,
- solib_aix_solib_create_inferior_hook,
- solib_aix_current_sos,
- solib_aix_open_symbol_file_object,
- solib_aix_in_dynsym_resolve_code,
- solib_aix_bfd_open,
- nullptr,
- nullptr,
- nullptr,
- nullptr,
- default_find_solib_addr,
-};
-
-void _initialize_solib_aix ();
-void
-_initialize_solib_aix ()
+INIT_GDB_FILE (solib_aix)
{
gdb::observers::normal_stop.attach (solib_aix_normal_stop_observer,
"solib-aix");
diff --git a/gdb/solib-aix.h b/gdb/solib-aix.h
index 7a1bc7b..628b7c8 100644
--- a/gdb/solib-aix.h
+++ b/gdb/solib-aix.h
@@ -18,9 +18,12 @@
#ifndef GDB_SOLIB_AIX_H
#define GDB_SOLIB_AIX_H
-struct solib_ops;
-extern const solib_ops solib_aix_so_ops;
+#include "solib.h"
extern CORE_ADDR solib_aix_get_toc_value (CORE_ADDR pc);
+/* Return a new solib_ops for AIX systems. */
+
+solib_ops_up make_aix_solib_ops ();
+
#endif /* GDB_SOLIB_AIX_H */
diff --git a/gdb/solib-darwin.c b/gdb/solib-darwin.c
index 368f401..aac8ab2 100644
--- a/gdb/solib-darwin.c
+++ b/gdb/solib-darwin.c
@@ -27,12 +27,31 @@
#include "regcache.h"
#include "gdb_bfd.h"
-#include "solist.h"
+#include "solib.h"
#include "solib-darwin.h"
#include "mach-o.h"
#include "mach-o/external.h"
+/* solib_ops for Darwin systems. */
+
+struct darwin_solib_ops : public solib_ops
+{
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ void clear_solib (program_space *pspace) const override;
+ void create_inferior_hook (int from_tty) const override;
+ owning_intrusive_list<solib> current_sos () const override;
+ gdb_bfd_ref_ptr bfd_open (const char *pathname) const override;
+};
+
+/* See solib-darwin.h. */
+
+solib_ops_up
+make_darwin_solib_ops ()
+{
+ return std::make_unique<darwin_solib_ops> ();
+}
+
struct gdb_dyld_image_info
{
/* Base address (which corresponds to the Mach-O header). */
@@ -133,7 +152,7 @@ darwin_load_image_infos (struct darwin_info *info)
(buf + 8 + ptr_type->length (), ptr_type);
}
-/* Link map info to include in an allocated so_list entry. */
+/* Link map info to include in an allocated solib entry. */
struct lm_info_darwin final : public lm_info
{
@@ -188,20 +207,8 @@ find_program_interpreter (void)
return buf;
}
-/* Not used. I don't see how the main symbol file can be found: the
- interpreter name is needed and it is known from the executable file.
- Note that darwin-nat.c implements pid_to_exec_file. */
-
-static int
-open_symbol_file_object (int from_tty)
-{
- return 0;
-}
-
-/* Build a list of currently loaded shared objects. See solib-svr4.c. */
-
-static owning_intrusive_list<solib>
-darwin_current_sos ()
+owning_intrusive_list<solib>
+darwin_solib_ops::current_sos () const
{
type *ptr_type
= builtin_type (current_inferior ()->arch ())->builtin_data_ptr;
@@ -260,12 +267,12 @@ darwin_current_sos ()
break;
/* Create and fill the new struct solib element. */
- auto &newobj = sos.emplace_back ();
+ auto &newobj = sos.emplace_back (*this);
auto li = std::make_unique<lm_info_darwin> ();
- newobj.so_name = file_path.get ();
- newobj.so_original_name = newobj.so_name;
+ newobj.name = file_path.get ();
+ newobj.original_name = newobj.name;
li->lm_addr = load_addr;
newobj.lm_info = std::move (li);
@@ -363,15 +370,6 @@ darwin_read_exec_load_addr_at_init (struct darwin_info *info)
return darwin_validate_exec_header (load_addr);
}
-/* Return 1 if PC lies in the dynamic symbol resolution code of the
- run time loader. */
-
-static int
-darwin_in_dynsym_resolve_code (CORE_ADDR pc)
-{
- return 0;
-}
-
/* A wrapper for bfd_mach_o_fat_extract that handles reference
counting properly. This will either return NULL, or return a new
reference to a BFD. */
@@ -476,10 +474,8 @@ darwin_solib_read_all_image_info_addr (struct darwin_info *info)
info->all_image_addr = extract_unsigned_integer (buf, len, BFD_ENDIAN_BIG);
}
-/* Shared library startup support. See documentation in solib-svr4.c. */
-
-static void
-darwin_solib_create_inferior_hook (int from_tty)
+void
+darwin_solib_ops::create_inferior_hook (int from_tty) const
{
/* Everything below only makes sense if we have a running inferior. */
if (!target_has_execution ())
@@ -579,8 +575,8 @@ darwin_solib_create_inferior_hook (int from_tty)
create_solib_event_breakpoint (current_inferior ()->arch (), notifier);
}
-static void
-darwin_clear_solib (program_space *pspace)
+void
+darwin_solib_ops::clear_solib (program_space *pspace) const
{
darwin_info *info = get_darwin_info (pspace);
@@ -591,8 +587,9 @@ darwin_clear_solib (program_space *pspace)
/* The section table is built from bfd sections using bfd VMAs.
Relocate these VMAs according to solib info. */
-static void
-darwin_relocate_section_addresses (solib &so, target_section *sec)
+void
+darwin_solib_ops::relocate_section_addresses (solib &so,
+ target_section *sec) const
{
auto *li = gdb::checked_static_cast<lm_info_darwin *> (so.lm_info.get ());
@@ -611,9 +608,9 @@ darwin_relocate_section_addresses (solib &so, target_section *sec)
if (sec->addr < so.addr_low)
so.addr_low = sec->addr;
}
-
-static gdb_bfd_ref_ptr
-darwin_bfd_open (const char *pathname)
+
+gdb_bfd_ref_ptr
+darwin_solib_ops::bfd_open (const char *pathname) const
{
int found_file;
@@ -641,20 +638,3 @@ darwin_bfd_open (const char *pathname)
return res;
}
-
-const solib_ops darwin_so_ops =
-{
- darwin_relocate_section_addresses,
- nullptr,
- darwin_clear_solib,
- darwin_solib_create_inferior_hook,
- darwin_current_sos,
- open_symbol_file_object,
- darwin_in_dynsym_resolve_code,
- darwin_bfd_open,
- nullptr,
- nullptr,
- nullptr,
- nullptr,
- default_find_solib_addr,
-};
diff --git a/gdb/solib-darwin.h b/gdb/solib-darwin.h
index b96e744..f5bcdd1 100644
--- a/gdb/solib-darwin.h
+++ b/gdb/solib-darwin.h
@@ -20,8 +20,10 @@
#ifndef GDB_SOLIB_DARWIN_H
#define GDB_SOLIB_DARWIN_H
-struct solib_ops;
+#include "solib.h"
-extern const solib_ops darwin_so_ops;
+/* Return a new solib_ops for Darwin systems. */
+
+extern solib_ops_up make_darwin_solib_ops ();
#endif /* GDB_SOLIB_DARWIN_H */
diff --git a/gdb/solib-dsbt.c b/gdb/solib-dsbt.c
index 3832a7a..f18d9a2 100644
--- a/gdb/solib-dsbt.c
+++ b/gdb/solib-dsbt.c
@@ -21,7 +21,6 @@
#include "inferior.h"
#include "gdbcore.h"
#include "solib.h"
-#include "solist.h"
#include "objfiles.h"
#include "symtab.h"
#include "command.h"
@@ -121,7 +120,26 @@ struct dbst_ext_link_map
ext_ptr l_next, l_prev; /* struct link_map *l_next, *l_prev; */
};
-/* Link map info to include in an allocated so_list entry */
+/* solib_ops for DSBT systems. */
+
+struct dsbt_solib_ops : public solib_ops
+{
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ void clear_solib (program_space *pspace) const override;
+ void create_inferior_hook (int from_tty) const override;
+ owning_intrusive_list<solib> current_sos () const override;
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override;
+};
+
+/* See solib-dsbt.h. */
+
+solib_ops_up
+make_dsbt_solib_ops ()
+{
+ return std::make_unique<dsbt_solib_ops> ();
+}
+
+/* Link map info to include in an allocated solib entry */
struct lm_info_dsbt final : public lm_info
{
@@ -393,15 +411,6 @@ fetch_loadmap (CORE_ADDR ldmaddr)
static void dsbt_relocate_main_executable (void);
static int enable_break (void);
-/* See solist.h. */
-
-static int
-open_symbol_file_object (int from_tty)
-{
- /* Unimplemented. */
- return 0;
-}
-
/* Given a loadmap and an address, return the displacement needed
to relocate the address. */
@@ -512,8 +521,8 @@ lm_base (void)
themselves. The declaration of `struct solib' says which fields
we provide values for. */
-static owning_intrusive_list<solib>
-dsbt_current_sos (void)
+owning_intrusive_list<solib>
+dsbt_solib_ops::current_sos () const
{
bfd_endian byte_order = gdbarch_byte_order (current_inferior ()->arch ());
CORE_ADDR lm_addr;
@@ -594,7 +603,7 @@ dsbt_current_sos (void)
break;
}
- auto &sop = sos.emplace_back ();
+ auto &sop = sos.emplace_back (*this);
auto li = std::make_unique<lm_info_dsbt> ();
li->map = loadmap;
/* Fetch the name. */
@@ -612,8 +621,8 @@ dsbt_current_sos (void)
gdb_printf (gdb_stdlog, "current_sos: name = %s\n",
name_buf.get ());
- sop.so_name = name_buf.get ();
- sop.so_original_name = sop.so_name;
+ sop.name = name_buf.get ();
+ sop.original_name = sop.name;
}
sop.lm_info = std::move (li);
@@ -630,11 +639,11 @@ dsbt_current_sos (void)
return sos;
}
-/* Return 1 if PC lies in the dynamic symbol resolution code of the
+/* Return true if PC lies in the dynamic symbol resolution code of the
run time loader. */
-static int
-dsbt_in_dynsym_resolve_code (CORE_ADDR pc)
+bool
+dsbt_solib_ops::in_dynsym_resolve_code (CORE_ADDR pc) const
{
dsbt_info *info = get_dsbt_info (current_program_space);
@@ -850,8 +859,8 @@ dsbt_relocate_main_executable (void)
For the DSBT shared library, the main executable needs to be relocated.
The shared library breakpoints also need to be enabled. */
-static void
-dsbt_solib_create_inferior_hook (int from_tty)
+void
+dsbt_solib_ops::create_inferior_hook (int from_tty) const
{
/* Relocate main executable. */
dsbt_relocate_main_executable ();
@@ -864,8 +873,8 @@ dsbt_solib_create_inferior_hook (int from_tty)
}
}
-static void
-dsbt_clear_solib (program_space *pspace)
+void
+dsbt_solib_ops::clear_solib (program_space *pspace) const
{
dsbt_info *info = get_dsbt_info (pspace);
@@ -876,8 +885,9 @@ dsbt_clear_solib (program_space *pspace)
info->main_executable_lm_info = NULL;
}
-static void
-dsbt_relocate_section_addresses (solib &so, target_section *sec)
+void
+dsbt_solib_ops::relocate_section_addresses (solib &so,
+ target_section *sec) const
{
int seg;
auto *li = gdb::checked_static_cast<lm_info_dsbt *> (so.lm_info.get ());
@@ -903,26 +913,7 @@ show_dsbt_debug (struct ui_file *file, int from_tty,
gdb_printf (file, _("solib-dsbt debugging is %s.\n"), value);
}
-const solib_ops dsbt_so_ops =
-{
- dsbt_relocate_section_addresses,
- nullptr,
- dsbt_clear_solib,
- dsbt_solib_create_inferior_hook,
- dsbt_current_sos,
- open_symbol_file_object,
- dsbt_in_dynsym_resolve_code,
- solib_bfd_open,
- nullptr,
- nullptr,
- nullptr,
- nullptr,
- default_find_solib_addr,
-};
-
-void _initialize_dsbt_solib ();
-void
-_initialize_dsbt_solib ()
+INIT_GDB_FILE (dsbt_solib)
{
/* Debug this file's internals. */
add_setshow_zuinteger_cmd ("solib-dsbt", class_maintenance,
diff --git a/gdb/solib-dsbt.h b/gdb/solib-dsbt.h
index d5c52c6..d44613c 100644
--- a/gdb/solib-dsbt.h
+++ b/gdb/solib-dsbt.h
@@ -20,8 +20,10 @@
#ifndef GDB_SOLIB_DSBT_H
#define GDB_SOLIB_DSBT_H
-struct solib_ops;
+#include "solib.h"
-extern const solib_ops dsbt_so_ops;
+/* Return a new solib_ops for DSBT systems. */
+
+solib_ops_up make_dsbt_solib_ops ();
#endif /* GDB_SOLIB_DSBT_H */
diff --git a/gdb/solib-frv.c b/gdb/solib-frv.c
index bf13d36..6165d0b 100644
--- a/gdb/solib-frv.c
+++ b/gdb/solib-frv.c
@@ -20,13 +20,32 @@
#include "extract-store-integer.h"
#include "gdbcore.h"
#include "solib.h"
-#include "solist.h"
#include "frv-tdep.h"
#include "objfiles.h"
#include "symtab.h"
#include "elf/frv.h"
#include "gdb_bfd.h"
#include "inferior.h"
+#include "solib-frv.h"
+
+/* solib_ops for FR-V systems. */
+
+struct frv_solib_ops : public solib_ops
+{
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ void clear_solib (program_space *pspace) const override;
+ void create_inferior_hook (int from_tty) const override;
+ owning_intrusive_list<solib> current_sos () const override;
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override;
+};
+
+/* See solib-frv.h. */
+
+solib_ops_up
+make_frv_solib_ops ()
+{
+ return std::make_unique<frv_solib_ops> ();
+}
/* FR-V pointers are four bytes wide. */
enum { FRV_PTR_SIZE = 4 };
@@ -194,7 +213,7 @@ struct ext_link_map
ext_ptr l_next, l_prev; /* struct link_map *l_next, *l_prev; */
};
-/* Link map info to include in an allocated so_list entry. */
+/* Link map info to include in an allocated solib entry. */
struct lm_info_frv final : public lm_info
{
@@ -237,15 +256,6 @@ static void frv_relocate_main_executable (void);
static CORE_ADDR main_got (void);
static int enable_break2 (void);
-/* Implement the "open_symbol_file_object" solib_ops method. */
-
-static int
-open_symbol_file_object (int from_tty)
-{
- /* Unimplemented. */
- return 0;
-}
-
/* Cached value for lm_base(), below. */
static CORE_ADDR lm_base_cache = 0;
@@ -303,11 +313,8 @@ lm_base (void)
return lm_base_cache;
}
-
-/* Implement the "current_sos" solib_ops method. */
-
-static owning_intrusive_list<solib>
-frv_current_sos ()
+owning_intrusive_list<solib>
+frv_solib_ops::current_sos () const
{
bfd_endian byte_order = gdbarch_byte_order (current_inferior ()->arch ());
CORE_ADDR lm_addr, mgot;
@@ -377,7 +384,7 @@ frv_current_sos ()
break;
}
- auto &sop = sos.emplace_back ();
+ auto &sop = sos.emplace_back (*this);
auto li = std::make_unique<lm_info_frv> ();
li->map = loadmap;
li->got_value = got_addr;
@@ -397,8 +404,8 @@ frv_current_sos ()
warning (_("Can't read pathname for link map entry."));
else
{
- sop.so_name = name_buf.get ();
- sop.so_original_name = sop.so_name;
+ sop.name = name_buf.get ();
+ sop.original_name = sop.name;
}
}
else
@@ -424,8 +431,8 @@ static CORE_ADDR interp_text_sect_high;
static CORE_ADDR interp_plt_sect_low;
static CORE_ADDR interp_plt_sect_high;
-static int
-frv_in_dynsym_resolve_code (CORE_ADDR pc)
+bool
+frv_solib_ops::in_dynsym_resolve_code (CORE_ADDR pc) const
{
return ((pc >= interp_text_sect_low && pc < interp_text_sect_high)
|| (pc >= interp_plt_sect_low && pc < interp_plt_sect_high)
@@ -786,8 +793,8 @@ frv_relocate_main_executable (void)
to be relocated. The shared library breakpoints also need to be
enabled. */
-static void
-frv_solib_create_inferior_hook (int from_tty)
+void
+frv_solib_ops::create_inferior_hook (int from_tty) const
{
/* Relocate main executable. */
frv_relocate_main_executable ();
@@ -800,8 +807,8 @@ frv_solib_create_inferior_hook (int from_tty)
}
}
-static void
-frv_clear_solib (program_space *pspace)
+void
+frv_solib_ops::clear_solib (program_space *pspace) const
{
lm_base_cache = 0;
enable_break2_done = 0;
@@ -811,8 +818,9 @@ frv_clear_solib (program_space *pspace)
main_executable_lm_info = NULL;
}
-static void
-frv_relocate_section_addresses (solib &so, target_section *sec)
+void
+frv_solib_ops::relocate_section_addresses (solib &so,
+ target_section *sec) const
{
int seg;
auto *li = gdb::checked_static_cast<lm_info_frv *> (so.lm_info.get ());
@@ -1073,20 +1081,3 @@ frv_fetch_objfile_link_map (struct objfile *objfile)
/* Not found! */
return 0;
}
-
-const solib_ops frv_so_ops =
-{
- frv_relocate_section_addresses,
- nullptr,
- frv_clear_solib,
- frv_solib_create_inferior_hook,
- frv_current_sos,
- open_symbol_file_object,
- frv_in_dynsym_resolve_code,
- solib_bfd_open,
- nullptr,
- nullptr,
- nullptr,
- nullptr,
- default_find_solib_addr,
-};
diff --git a/gdb/solib-frv.h b/gdb/solib-frv.h
new file mode 100644
index 0000000..710a424
--- /dev/null
+++ b/gdb/solib-frv.h
@@ -0,0 +1,28 @@
+/* Handle FR-V (FDPIC) shared libraries for GDB, the GNU Debugger.
+ Copyright (C) 2024 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDB_SOLIB_FRV_H
+#define GDB_SOLIB_FRV_H
+
+#include "solib.h"
+
+/* Return a new solib_ops for FR-V systems. */
+
+solib_ops_up make_frv_solib_ops ();
+
+#endif /* GDB_SOLIB_FRV_H */
diff --git a/gdb/solib-rocm.c b/gdb/solib-rocm.c
index 27b404c..2d26c3c 100644
--- a/gdb/solib-rocm.c
+++ b/gdb/solib-rocm.c
@@ -26,10 +26,10 @@
#include "event-top.h"
#include "gdbsupport/fileio.h"
#include "inferior.h"
+#include "linux-tdep.h"
#include "observable.h"
#include "solib.h"
#include "solib-svr4.h"
-#include "solist.h"
#include "symfile.h"
#include <unordered_map>
@@ -154,7 +154,69 @@ struct solib_info
/* Per-inferior data key. */
static const registry<inferior>::key<solib_info> rocm_solib_data;
-static solib_ops rocm_solib_ops;
+/* solib_ops for ROCm systems. */
+
+struct rocm_solib_ops : public solib_ops
+{
+ /* HOST_OPS is the host solib_ops that rocm_solib_ops hijacks / wraps,
+ in order to provide support for ROCm code objects. */
+ explicit rocm_solib_ops (solib_ops_up host_ops)
+ : m_host_ops (std::move (host_ops))
+ {
+ }
+
+ /* The methods implemented by rocm_solib_ops. */
+ owning_intrusive_list<solib> current_sos () const override;
+ void create_inferior_hook (int from_tty) const override;
+ gdb_bfd_ref_ptr bfd_open (const char *pathname) const override;
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ void handle_event () const override;
+
+ /* Implement the following methods just to forward the calls to the host
+ solib_ops. We currently need to implement all the methods that
+ svr4_solib_ops implements. */
+ void clear_so (const solib &so) const override
+ { return m_host_ops->clear_so (so); }
+
+ void clear_solib (program_space *pspace) const override
+ { return m_host_ops->clear_solib (pspace); }
+
+ bool open_symbol_file_object (int from_tty) const override
+ { return m_host_ops->open_symbol_file_object (from_tty); }
+
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override
+ { return m_host_ops->in_dynsym_resolve_code (pc); }
+
+ bool same (const solib &gdb, const solib &inferior) const override
+ { return m_host_ops->same (gdb, inferior); }
+
+ bool keep_data_in_core (CORE_ADDR vaddr, unsigned long size) const override
+ { return m_host_ops->keep_data_in_core (vaddr, size); }
+
+ void update_breakpoints () const override
+ { return m_host_ops->update_breakpoints (); }
+
+ std::optional<CORE_ADDR> find_solib_addr (solib &so) const override
+ { return m_host_ops->find_solib_addr (so); }
+
+ bool supports_namespaces () const override
+ { return true; }
+
+ int find_solib_ns (const solib &so) const override
+ { return m_host_ops->find_solib_ns (so); }
+
+ int num_active_namespaces () const override
+ { return m_host_ops->num_active_namespaces (); }
+
+ std::vector<const solib *> get_solibs_in_ns (int nsid) const override
+ { return m_host_ops->get_solibs_in_ns (nsid); }
+
+private:
+ owning_intrusive_list<solib>
+ solibs_from_rocm_sos (const std::vector<rocm_so> &sos) const;
+
+ solib_ops_up m_host_ops;
+};
/* Fetch the solib_info data for INF. */
@@ -171,13 +233,13 @@ get_solib_info (inferior *inf)
/* Relocate section addresses. */
-static void
-rocm_solib_relocate_section_addresses (solib &so,
- struct target_section *sec)
+void
+rocm_solib_ops::relocate_section_addresses (solib &so,
+ struct target_section *sec) const
{
if (!is_amdgpu_arch (gdbarch_from_bfd (so.abfd.get ())))
{
- svr4_so_ops.relocate_section_addresses (so, sec);
+ m_host_ops->relocate_section_addresses (so, sec);
return;
}
@@ -188,34 +250,34 @@ rocm_solib_relocate_section_addresses (solib &so,
static void rocm_update_solib_list ();
-static void
-rocm_solib_handle_event ()
+void
+rocm_solib_ops::handle_event () const
{
- /* Since we sit on top of svr4_so_ops, we might get called following an event
- concerning host libraries. We must therefore forward the call. If the
- event was for a ROCm code object, it will be a no-op. On the other hand,
+ /* Since we sit on top of a host solib_ops, we might get called following an
+ event concerning host libraries. We must therefore forward the call. If
+ the event was for a ROCm code object, it will be a no-op. On the other hand
if the event was for host libraries, rocm_update_solib_list will be
essentially be a no-op (it will reload the same code object list as was
previously loaded). */
- svr4_so_ops.handle_event ();
+ m_host_ops->handle_event ();
rocm_update_solib_list ();
}
-/* Create so_list objects from rocm_so objects in SOS. */
+/* Create solib objects from rocm_so objects in SOS. */
-static owning_intrusive_list<solib>
-so_list_from_rocm_sos (const std::vector<rocm_so> &sos)
+owning_intrusive_list<solib>
+rocm_solib_ops::solibs_from_rocm_sos (const std::vector<rocm_so> &sos) const
{
owning_intrusive_list<solib> dst;
for (const rocm_so &so : sos)
{
- auto &newobj = dst.emplace_back ();
+ auto &newobj = dst.emplace_back (*this);
newobj.lm_info = std::make_unique<lm_info_svr4> (*so.lm_info);
- newobj.so_name = so.name;
- newobj.so_original_name = so.unique_name;
+ newobj.name = so.name;
+ newobj.original_name = so.unique_name;
}
return dst;
@@ -224,11 +286,11 @@ so_list_from_rocm_sos (const std::vector<rocm_so> &sos)
/* Build a list of `struct solib' objects describing the shared
objects currently loaded in the inferior. */
-static owning_intrusive_list<solib>
-rocm_solib_current_sos ()
+owning_intrusive_list<solib>
+rocm_solib_ops::current_sos () const
{
/* First, retrieve the host-side shared library list. */
- owning_intrusive_list<solib> sos = svr4_so_ops.current_sos ();
+ owning_intrusive_list<solib> sos = m_host_ops->current_sos ();
/* Then, the device-side shared library list. */
std::vector<rocm_so> &dev_sos = get_solib_info (current_inferior ())->solib_list;
@@ -236,13 +298,13 @@ rocm_solib_current_sos ()
if (dev_sos.empty ())
return sos;
- owning_intrusive_list<solib> dev_so_list = so_list_from_rocm_sos (dev_sos);
+ owning_intrusive_list<solib> dev_solibs = solibs_from_rocm_sos (dev_sos);
if (sos.empty ())
- return dev_so_list;
+ return dev_solibs;
/* Append our libraries to the end of the list. */
- sos.splice (std::move (dev_so_list));
+ sos.splice (std::move (dev_solibs));
return sos;
}
@@ -580,12 +642,12 @@ rocm_bfd_iovec_open (bfd *abfd, inferior *inferior)
}
}
-static gdb_bfd_ref_ptr
-rocm_solib_bfd_open (const char *pathname)
+gdb_bfd_ref_ptr
+rocm_solib_ops::bfd_open (const char *pathname) const
{
/* Handle regular files with SVR4 open. */
if (strstr (pathname, "://") == nullptr)
- return svr4_so_ops.bfd_open (pathname);
+ return m_host_ops->bfd_open (pathname);
auto open = [] (bfd *nbfd) -> gdb_bfd_iovec_base *
{
@@ -669,12 +731,12 @@ rocm_solib_bfd_open (const char *pathname)
return abfd;
}
-static void
-rocm_solib_create_inferior_hook (int from_tty)
+void
+rocm_solib_ops::create_inferior_hook (int from_tty) const
{
get_solib_info (current_inferior ())->solib_list.clear ();
- svr4_so_ops.solib_create_inferior_hook (from_tty);
+ m_host_ops->create_inferior_hook (from_tty);
}
static void
@@ -704,6 +766,9 @@ rocm_update_solib_list ()
return;
}
+ gdb::unique_xmalloc_ptr<amd_dbgapi_code_object_id_t> code_object_list_holder
+ (code_object_list);
+
for (size_t i = 0; i < count; ++i)
{
CORE_ADDR l_addr;
@@ -734,24 +799,6 @@ rocm_update_solib_list ()
sos.emplace_back (uri_bytes, std::move (unique_name), std::move (li));
}
-
- xfree (code_object_list);
-
- if (rocm_solib_ops.current_sos == NULL)
- {
- /* Override what we need to. */
- rocm_solib_ops = svr4_so_ops;
- rocm_solib_ops.current_sos = rocm_solib_current_sos;
- rocm_solib_ops.solib_create_inferior_hook
- = rocm_solib_create_inferior_hook;
- rocm_solib_ops.bfd_open = rocm_solib_bfd_open;
- rocm_solib_ops.relocate_section_addresses
- = rocm_solib_relocate_section_addresses;
- rocm_solib_ops.handle_event = rocm_solib_handle_event;
-
- /* Engage the ROCm so_ops. */
- set_gdbarch_so_ops (current_inferior ()->arch (), &rocm_solib_ops);
- }
}
static void
@@ -759,6 +806,10 @@ rocm_solib_target_inferior_created (inferior *inf)
{
get_solib_info (inf)->solib_list.clear ();
+ auto prev_ops = inf->pspace->release_solib_ops ();
+ auto rocm_ops = std::make_unique<rocm_solib_ops> (std::move (prev_ops));
+ inf->pspace->set_solib_ops (std::move (rocm_ops));
+
rocm_update_solib_list ();
/* Force GDB to reload the solibs. */
@@ -766,11 +817,22 @@ rocm_solib_target_inferior_created (inferior *inf)
solib_add (nullptr, 0, auto_solib_add);
}
-/* -Wmissing-prototypes */
-extern initialize_file_ftype _initialize_rocm_solib;
+static void
+rocm_solib_target_inferior_execd (inferior *exec_inf, inferior *follow_inf)
+{
+ /* Engage the ROCm so_ops, but only if dbgapi is attached to the inferior
+ (avoiding remote inferiors and core file debugging). */
+ if (get_amd_dbgapi_process_id (follow_inf) == AMD_DBGAPI_PROCESS_NONE)
+ return;
+
+ auto prev_ops = follow_inf->pspace->release_solib_ops ();
+ auto rocm_ops = std::make_unique<rocm_solib_ops> (std::move (prev_ops));
+ follow_inf->pspace->set_solib_ops (std::move (rocm_ops));
-void
-_initialize_rocm_solib ()
+ get_solib_info (exec_inf)->solib_list.clear ();
+}
+
+INIT_GDB_FILE (rocm_solib)
{
/* The dependency on the amd-dbgapi exists because solib-rocm's
inferior_created observer needs amd-dbgapi to have attached the process,
@@ -779,4 +841,8 @@ _initialize_rocm_solib ()
(rocm_solib_target_inferior_created,
"solib-rocm",
{ &get_amd_dbgapi_target_inferior_created_observer_token () });
+
+ gdb::observers::inferior_execd.attach
+ (rocm_solib_target_inferior_execd, "solib-rocm",
+ { &get_amd_dbgapi_target_inferior_execd_observer_token () });
}
diff --git a/gdb/solib-svr4-linux.c b/gdb/solib-svr4-linux.c
new file mode 100644
index 0000000..fd86cf0
--- /dev/null
+++ b/gdb/solib-svr4-linux.c
@@ -0,0 +1,98 @@
+/* Target-dependent code for GNU/Linux using SVR4-style libraries.
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "solib-svr4-linux.h"
+
+/* See solib-svr4-linux.h. */
+
+solib_ops_up
+make_linux_ilp32_svr4_solib_ops ()
+{
+ return std::make_unique<linux_ilp32_svr4_solib_ops> ();
+}
+
+/* See solib-svr4-linux.h. */
+
+link_map_offsets *
+linux_ilp32_svr4_solib_ops::fetch_link_map_offsets () const
+{
+ static link_map_offsets lmo;
+ static link_map_offsets *lmp = nullptr;
+
+ if (lmp == nullptr)
+ {
+ lmp = &lmo;
+
+ lmo.r_version_offset = 0;
+ lmo.r_version_size = 4;
+ lmo.r_map_offset = 4;
+ lmo.r_brk_offset = 8;
+ lmo.r_ldsomap_offset = -1;
+ lmo.r_next_offset = 20;
+
+ /* Everything we need is in the first 20 bytes. */
+ lmo.link_map_size = 20;
+ lmo.l_addr_offset = 0;
+ lmo.l_name_offset = 4;
+ lmo.l_ld_offset = 8;
+ lmo.l_next_offset = 12;
+ lmo.l_prev_offset = 16;
+ }
+
+ return lmp;
+}
+
+/* See solib-svr4-linux.h. */
+
+solib_ops_up
+make_linux_lp64_svr4_solib_ops ()
+{
+ return std::make_unique<linux_lp64_svr4_solib_ops> ();
+}
+
+/* See linux-tdep.h. */
+
+link_map_offsets *
+linux_lp64_svr4_solib_ops::fetch_link_map_offsets () const
+{
+ static link_map_offsets lmo;
+ static link_map_offsets *lmp = nullptr;
+
+ if (lmp == nullptr)
+ {
+ lmp = &lmo;
+
+ lmo.r_version_offset = 0;
+ lmo.r_version_size = 4;
+ lmo.r_map_offset = 8;
+ lmo.r_brk_offset = 16;
+ lmo.r_ldsomap_offset = -1;
+ lmo.r_next_offset = 40;
+
+ /* Everything we need is in the first 40 bytes. */
+ lmo.link_map_size = 40;
+ lmo.l_addr_offset = 0;
+ lmo.l_name_offset = 8;
+ lmo.l_ld_offset = 16;
+ lmo.l_next_offset = 24;
+ lmo.l_prev_offset = 32;
+ }
+
+ return lmp;
+}
diff --git a/gdb/solib-svr4-linux.h b/gdb/solib-svr4-linux.h
new file mode 100644
index 0000000..623013c
--- /dev/null
+++ b/gdb/solib-svr4-linux.h
@@ -0,0 +1,47 @@
+/* Target-dependent code for GNU/Linux using SVR4-style libraries.
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDB_SOLIB_SVR4_LINUX_H
+#define GDB_SOLIB_SVR4_LINUX_H
+
+#include "solib-svr4.h"
+
+/* solib_ops for ILP32 Linux systems. */
+
+struct linux_ilp32_svr4_solib_ops : public svr4_solib_ops
+{
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* solib_ops for LP64 Linux systems. */
+
+struct linux_lp64_svr4_solib_ops : public svr4_solib_ops
+{
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* Return a new solib_ops for ILP32 Linux systems. */
+
+extern solib_ops_up make_linux_ilp32_svr4_solib_ops ();
+
+/* Return a new solib_ops for LP64 Linux systems. */
+
+extern solib_ops_up make_linux_lp64_svr4_solib_ops ();
+
+#endif /* GDB_SOLIB_SVR4_LINUX_H */
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index 83cb389..9b4cabf 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
@@ -35,7 +35,6 @@
#include "regcache.h"
#include "observable.h"
-#include "solist.h"
#include "solib.h"
#include "solib-svr4.h"
@@ -48,8 +47,6 @@
#include <map>
-static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
-static int svr4_have_link_map_offsets (void);
static void svr4_relocate_main_executable (void);
static void probes_table_remove_objfile_probes (struct objfile *objfile);
static void svr4_iterate_over_objfiles_in_search_order
@@ -91,27 +88,6 @@ static const char * const main_name_list[] =
NULL
};
-/* What to do when a probe stop occurs. */
-
-enum probe_action
-{
- /* Something went seriously wrong. Stop using probes and
- revert to using the older interface. */
- PROBES_INTERFACE_FAILED,
-
- /* No action is required. The shared object list is still
- valid. */
- DO_NOTHING,
-
- /* The shared object list should be reloaded entirely. */
- FULL_RELOAD,
-
- /* Attempt to incrementally update the shared object list. If
- the update fails or is not possible, fall back to reloading
- the list in full. */
- UPDATE_OR_RELOAD,
-};
-
/* A probe's name and its associated action. */
struct probe_info
@@ -186,22 +162,22 @@ svr4_same (const char *gdb_name, const char *inferior_name,
return gdb_lm_info.l_addr_inferior == inferior_lm_info.l_addr_inferior;
}
-static int
-svr4_same (const solib &gdb, const solib &inferior)
+bool
+svr4_solib_ops::same (const solib &gdb, const solib &inferior) const
{
auto *lmg
= gdb::checked_static_cast<const lm_info_svr4 *> (gdb.lm_info.get ());
auto *lmi
= gdb::checked_static_cast<const lm_info_svr4 *> (inferior.lm_info.get ());
- return svr4_same (gdb.so_original_name.c_str (),
- inferior.so_original_name.c_str (), *lmg, *lmi);
+ return svr4_same (gdb.original_name.c_str (),
+ inferior.original_name.c_str (), *lmg, *lmi);
}
-static lm_info_svr4_up
-lm_info_read (CORE_ADDR lm_addr)
+lm_info_svr4_up
+svr4_solib_ops::read_lm_info (CORE_ADDR lm_addr) const
{
- struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
lm_info_svr4_up lm_info;
gdb::byte_vector lm (lmo->link_map_size);
@@ -231,16 +207,16 @@ lm_info_read (CORE_ADDR lm_addr)
return lm_info;
}
-static int
-has_lm_dynamic_from_link_map (void)
+int
+svr4_solib_ops::has_lm_dynamic_from_link_map () const
{
- struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
return lmo->l_ld_offset >= 0;
}
-static CORE_ADDR
-lm_addr_check (const solib &so, bfd *abfd)
+CORE_ADDR
+svr4_solib_ops::lm_addr_check (const solib &so, bfd *abfd) const
{
auto *li = gdb::checked_static_cast<lm_info_svr4 *> (so.lm_info.get ());
@@ -251,7 +227,7 @@ lm_addr_check (const solib &so, bfd *abfd)
l_addr = li->l_addr_inferior;
- if (! abfd || ! has_lm_dynamic_from_link_map ())
+ if (!abfd || !this->has_lm_dynamic_from_link_map ())
goto set_addr;
l_dynaddr = li->l_ld;
@@ -317,7 +293,7 @@ lm_addr_check (const solib &so, bfd *abfd)
gdb_printf (_("Using PIC (Position Independent Code) "
"prelink displacement %s for \"%s\".\n"),
paddress (current_inferior ()->arch (), l_addr),
- so.so_name.c_str ());
+ so.name.c_str ());
}
else
{
@@ -333,7 +309,7 @@ lm_addr_check (const solib &so, bfd *abfd)
warning (_(".dynamic section for \"%s\" "
"is not at the expected address "
"(wrong library or version mismatch?)"),
- so.so_name.c_str ());
+ so.name.c_str ());
}
}
@@ -369,7 +345,7 @@ struct svr4_info
CORE_ADDR debug_loader_offset = 0;
/* Name of the dynamic linker, valid if debug_loader_offset_p. */
- char *debug_loader_name = nullptr;
+ std::string debug_loader_name;
/* Load map address for the main executable in default namespace. */
CORE_ADDR main_lm_addr = 0;
@@ -431,6 +407,14 @@ struct svr4_info
/* This identifies which namespaces are active. A namespace is considered
active when there is at least one shared object loaded into it. */
std::set<size_t> active_namespaces;
+
+ /* This flag indicates whether initializations related to the
+ GLIBC TLS module id tracking code have been performed. */
+ bool glibc_tls_slots_inited = false;
+
+ /* A vector of link map addresses for GLIBC TLS slots. See comment
+ for tls_maybe_fill_slot for more information. */
+ std::vector<CORE_ADDR> glibc_tls_slots;
};
/* Per-program-space data key. */
@@ -451,6 +435,12 @@ svr4_maybe_add_namespace (svr4_info *info, CORE_ADDR lmid)
info->namespace_id.push_back (lmid);
info->active_namespaces.insert (i);
+
+ /* Create or update the convenience variable "active_namespaces".
+ It only needs to be updated here, as this only changes when a
+ dlmopen or dlclose call happens. */
+ set_internalvar_integer (lookup_internalvar ("_active_linker_namespaces"),
+ info->active_namespaces.size ());
}
/* Return whether DEBUG_BASE is the default namespace of INFO. */
@@ -463,8 +453,8 @@ svr4_is_default_namespace (const svr4_info *info, CORE_ADDR debug_base)
/* Free the probes table. */
-static void
-free_probes_table (struct svr4_info *info)
+void
+svr4_solib_ops::free_probes_table (svr4_info *info) const
{
info->probes_table.reset (nullptr);
}
@@ -629,10 +619,10 @@ read_program_header (int type, int *p_arch_size, CORE_ADDR *base_addr)
return buf;
}
+/* See solib-svr4.h. */
-/* Return program interpreter string. */
-static std::optional<gdb::byte_vector>
-find_program_interpreter (void)
+std::optional<gdb::byte_vector>
+svr4_find_program_interpreter ()
{
/* If we have a current exec_bfd, use its section table. */
if (current_program_space->exec_bfd ()
@@ -740,9 +730,6 @@ elf_locate_base (void)
{
CORE_ADDR dyn_ptr, dyn_ptr_addr;
- if (!svr4_have_link_map_offsets ())
- return 0;
-
/* Look for DT_MIPS_RLD_MAP first. MIPS executables use this
instead of DT_DEBUG, although they sometimes contain an unused
DT_DEBUG. */
@@ -811,10 +798,10 @@ elf_locate_base (void)
checking r_version for a known version number, or r_state for
RT_CONSISTENT. */
-static CORE_ADDR
-solib_svr4_r_map (CORE_ADDR debug_base)
+CORE_ADDR
+svr4_solib_ops::read_r_map (CORE_ADDR debug_base) const
{
- struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
type *ptr_type
= builtin_type (current_inferior ()->arch ())->builtin_data_ptr;
CORE_ADDR addr = 0;
@@ -834,10 +821,10 @@ solib_svr4_r_map (CORE_ADDR debug_base)
/* Find r_brk from the inferior's debug base. */
-static CORE_ADDR
-solib_svr4_r_brk (struct svr4_info *info)
+CORE_ADDR
+svr4_solib_ops::find_r_brk (svr4_info *info) const
{
- struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
type *ptr_type
= builtin_type (current_inferior ()->arch ())->builtin_data_ptr;
@@ -848,10 +835,10 @@ solib_svr4_r_brk (struct svr4_info *info)
/* Find the link map for the dynamic linker (if it is not in the
normal list of loaded shared objects). */
-static CORE_ADDR
-solib_svr4_r_ldsomap (struct svr4_info *info)
+CORE_ADDR
+svr4_solib_ops::find_r_ldsomap (svr4_info *info) const
{
- struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
type *ptr_type
= builtin_type (current_inferior ()->arch ())->builtin_data_ptr;
enum bfd_endian byte_order = type_byte_order (ptr_type);
@@ -879,10 +866,10 @@ solib_svr4_r_ldsomap (struct svr4_info *info)
/* Find the next namespace from the r_next field. */
-static CORE_ADDR
-solib_svr4_r_next (CORE_ADDR debug_base)
+CORE_ADDR
+svr4_solib_ops::read_r_next (CORE_ADDR debug_base) const
{
- link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
type *ptr_type
= builtin_type (current_inferior ()->arch ())->builtin_data_ptr;
bfd_endian byte_order = type_byte_order (ptr_type);
@@ -914,8 +901,8 @@ solib_svr4_r_next (CORE_ADDR debug_base)
memory areas containing the l_name string are saved in the core
file. */
-static int
-svr4_keep_data_in_core (CORE_ADDR vaddr, unsigned long size)
+bool
+svr4_solib_ops::keep_data_in_core (CORE_ADDR vaddr, unsigned long size) const
{
struct svr4_info *info;
CORE_ADDR ldsomap;
@@ -925,25 +912,25 @@ svr4_keep_data_in_core (CORE_ADDR vaddr, unsigned long size)
info->debug_base = elf_locate_base ();
if (info->debug_base == 0)
- return 0;
+ return false;
- ldsomap = solib_svr4_r_ldsomap (info);
+ ldsomap = this->find_r_ldsomap (info);
if (!ldsomap)
- return 0;
+ return false;
- std::unique_ptr<lm_info_svr4> li = lm_info_read (ldsomap);
+ std::unique_ptr<lm_info_svr4> li = this->read_lm_info (ldsomap);
name_lm = li != NULL ? li->l_name : 0;
return (name_lm >= vaddr && name_lm < vaddr + size);
}
-/* See solist.h. */
+/* See solib.h. */
-static int
-open_symbol_file_object (int from_tty)
+bool
+svr4_solib_ops::open_symbol_file_object (int from_tty) const
{
CORE_ADDR lm, l_name;
- struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
+ link_map_offsets *lmo = this->fetch_link_map_offsets ();
type *ptr_type
= builtin_type (current_inferior ()->arch ())->builtin_data_ptr;
int l_name_size = ptr_type->length ();
@@ -956,17 +943,17 @@ open_symbol_file_object (int from_tty)
if (current_program_space->symfile_object_file)
if (!query (_("Attempt to reload symbols from process? ")))
- return 0;
+ return false;
/* Always locate the debug struct, in case it has moved. */
info->debug_base = elf_locate_base ();
if (info->debug_base == 0)
- return 0; /* failed somehow... */
+ return false; /* failed somehow... */
/* First link map member should be the executable. */
- lm = solib_svr4_r_map (info->debug_base);
+ lm = this->read_r_map (info->debug_base);
if (lm == 0)
- return 0; /* failed somehow... */
+ return false; /* failed somehow... */
/* Read address of name from target memory to GDB. */
read_memory (lm + lmo->l_name_offset, l_name_buf.data (), l_name_size);
@@ -975,7 +962,7 @@ open_symbol_file_object (int from_tty)
l_name = extract_typed_address (l_name_buf.data (), ptr_type);
if (l_name == 0)
- return 0; /* No filename. */
+ return false; /* No filename. */
/* Now fetch the filename from target memory. */
gdb::unique_xmalloc_ptr<char> filename
@@ -984,13 +971,13 @@ open_symbol_file_object (int from_tty)
if (filename == nullptr)
{
warning (_("failed to read exec filename from attached file"));
- return 0;
+ return false;
}
/* Have a pathname: read the symbol file. */
symbol_file_add_main (filename.get (), add_flags);
- return 1;
+ return true;
}
/* Data exchange structure for the XML parser as returned by
@@ -1023,8 +1010,8 @@ svr4_free_objfile_observer (struct objfile *objfile)
/* Implement solib_ops.clear_so. */
-static void
-svr4_clear_so (const solib &so)
+void
+svr4_solib_ops::clear_so (const solib &so) const
{
auto *li = gdb::checked_static_cast<lm_info_svr4 *> (so.lm_info.get ());
@@ -1032,19 +1019,19 @@ svr4_clear_so (const solib &so)
li->l_addr_p = 0;
}
-/* Create the so_list objects equivalent to the svr4_sos in SOS. */
+/* Create the solib objects equivalent to the svr4_sos in SOS. */
-static owning_intrusive_list<solib>
-so_list_from_svr4_sos (const std::vector<svr4_so> &sos)
+owning_intrusive_list<solib>
+svr4_solib_ops::solibs_from_svr4_sos (const std::vector<svr4_so> &sos) const
{
owning_intrusive_list<solib> dst;
for (const svr4_so &so : sos)
{
- auto &newobj = dst.emplace_back ();
+ auto &newobj = dst.emplace_back (*this);
- newobj.so_name = so.name;
- newobj.so_original_name = so.name;
+ newobj.name = so.name;
+ newobj.original_name = so.name;
newobj.lm_info = std::make_unique<lm_info_svr4> (*so.lm_info);
}
@@ -1162,11 +1149,10 @@ static const struct gdb_xml_element svr4_library_list_elements[] =
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
};
-/* Parse qXfer:libraries:read packet into *SO_LIST_RETURN. Return 1 if
+/* Parse qXfer:libraries:read packet into *LIST.
- Return 0 if packet not supported, *SO_LIST_RETURN is not modified in such
- case. Return 1 if *SO_LIST_RETURN contains the library list, it may be
- empty, caller is responsible for freeing all its entries. */
+ Return 0 if packet not supported, *LIST is not modified in such case.
+ Return 1 if *LIST contains the library list. */
static int
svr4_parse_libraries (const char *document, struct svr4_library_list *list)
@@ -1188,11 +1174,11 @@ svr4_parse_libraries (const char *document, struct svr4_library_list *list)
return 0;
}
-/* Attempt to get so_list from target via qXfer:libraries-svr4:read packet.
+/* Attempt to get the shared object list from target via
+ qXfer:libraries-svr4:read packet.
- Return 0 if packet not supported, *SO_LIST_RETURN is not modified in such
- case. Return 1 if *SO_LIST_RETURN contains the library list, it may be
- empty, caller is responsible for freeing all its entries.
+ Return 0 if packet not supported, *LIST is not modified in such case.
+ Return 1 if *LIST contains the library list.
Note that ANNEX must be NULL if the remote does not explicitly allow
qXfer:libraries-svr4:read packets with non-empty annexes. Support for
@@ -1229,8 +1215,8 @@ svr4_current_sos_via_xfer_libraries (struct svr4_library_list *list,
/* If no shared library information is available from the dynamic
linker, build a fallback list from other sources. */
-static owning_intrusive_list<solib>
-svr4_default_sos (svr4_info *info)
+owning_intrusive_list<solib>
+svr4_solib_ops::default_sos (svr4_info *info) const
{
if (!info->debug_loader_offset_p)
return {};
@@ -1242,11 +1228,11 @@ svr4_default_sos (svr4_info *info)
li->l_addr_p = 1;
owning_intrusive_list<solib> sos;
- auto &newobj = sos.emplace_back ();
+ auto &newobj = sos.emplace_back (*this);
newobj.lm_info = std::move (li);
- newobj.so_name = info->debug_loader_name;
- newobj.so_original_name = newobj.so_name;
+ newobj.name = info->debug_loader_name;
+ newobj.original_name = newobj.name;
return sos;
}
@@ -1258,16 +1244,16 @@ svr4_default_sos (svr4_info *info)
is returned the entries stored to LINK_PTR_PTR are still valid although they may
represent only part of the inferior library list. */
-static int
-svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm,
- std::vector<svr4_so> &sos, int ignore_first)
+int
+svr4_solib_ops::read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm,
+ std::vector<svr4_so> &sos, int ignore_first) const
{
CORE_ADDR first_l_name = 0;
CORE_ADDR next_lm;
for (; lm != 0; prev_lm = lm, lm = next_lm)
{
- lm_info_svr4_up li = lm_info_read (lm);
+ lm_info_svr4_up li = this->read_lm_info (lm);
if (li == NULL)
return 0;
@@ -1323,8 +1309,8 @@ svr4_read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm,
stored by the probes interface. Handle special cases relating
to the first elements of the list in default namespace. */
-static void
-svr4_current_sos_direct (struct svr4_info *info)
+void
+svr4_solib_ops::current_sos_direct (svr4_info *info) const
{
CORE_ADDR lm;
bool ignore_first;
@@ -1390,15 +1376,15 @@ svr4_current_sos_direct (struct svr4_info *info)
/* Collect the sos in each namespace. */
CORE_ADDR debug_base = info->debug_base;
for (; debug_base != 0;
- ignore_first = false, debug_base = solib_svr4_r_next (debug_base))
+ ignore_first = false, debug_base = this->read_r_next (debug_base))
{
/* Walk the inferior's link map list, and build our so_list list. */
- lm = solib_svr4_r_map (debug_base);
+ lm = this->read_r_map (debug_base);
if (lm != 0)
{
svr4_maybe_add_namespace (info, debug_base);
- svr4_read_so_list (info, lm, 0, info->solib_lists[debug_base],
- ignore_first);
+ this->read_so_list (info, lm, 0, info->solib_lists[debug_base],
+ ignore_first);
}
}
@@ -1411,15 +1397,15 @@ svr4_current_sos_direct (struct svr4_info *info)
r_debug object. If we added it to the default namespace (as it was),
we would probably run into inconsistencies with the load map's
prev/next links (I wonder if we did). */
- debug_base = solib_svr4_r_ldsomap (info);
+ debug_base = this->find_r_ldsomap (info);
if (debug_base != 0)
{
/* Add the dynamic linker's namespace unless we already did. */
if (info->solib_lists.find (debug_base) == info->solib_lists.end ())
{
svr4_maybe_add_namespace (info, debug_base);
- svr4_read_so_list (info, debug_base, 0, info->solib_lists[debug_base],
- 0);
+ this->read_so_list (info, debug_base, 0,
+ info->solib_lists[debug_base], 0);
}
}
@@ -1428,15 +1414,15 @@ svr4_current_sos_direct (struct svr4_info *info)
/* Collect sos read and stored by the probes interface. */
-static owning_intrusive_list<solib>
-svr4_collect_probes_sos (svr4_info *info)
+owning_intrusive_list<solib>
+svr4_solib_ops::collect_probes_sos (svr4_info *info) const
{
owning_intrusive_list<solib> res;
for (const auto &tuple : info->solib_lists)
{
const std::vector<svr4_so> &sos = tuple.second;
- res.splice (so_list_from_svr4_sos (sos));
+ res.splice (this->solibs_from_svr4_sos (sos));
}
return res;
@@ -1445,26 +1431,26 @@ svr4_collect_probes_sos (svr4_info *info)
/* Implement the main part of the "current_sos" solib_ops
method. */
-static owning_intrusive_list<solib>
-svr4_current_sos_1 (svr4_info *info)
+owning_intrusive_list<solib>
+svr4_solib_ops::current_sos_1 (svr4_info *info) const
{
owning_intrusive_list<solib> sos;
/* If we're using the probes interface, we can use the cache as it will
be maintained by probe update/reload actions. */
if (info->probes_table != nullptr)
- sos = svr4_collect_probes_sos (info);
+ sos = this->collect_probes_sos (info);
/* If we're not using the probes interface or if we didn't cache
anything, read the sos to fill the cache, then collect them from the
cache. */
if (sos.empty ())
{
- svr4_current_sos_direct (info);
+ this->current_sos_direct (info);
- sos = svr4_collect_probes_sos (info);
+ sos = this->collect_probes_sos (info);
if (sos.empty ())
- sos = svr4_default_sos (info);
+ sos = this->default_sos (info);
}
return sos;
@@ -1472,11 +1458,11 @@ svr4_current_sos_1 (svr4_info *info)
/* Implement the "current_sos" solib_ops method. */
-static owning_intrusive_list<solib>
-svr4_current_sos ()
+owning_intrusive_list<solib>
+svr4_solib_ops::current_sos () const
{
svr4_info *info = get_svr4_info (current_program_space);
- owning_intrusive_list<solib> sos = svr4_current_sos_1 (info);
+ owning_intrusive_list<solib> sos = this->current_sos_1 (info);
struct mem_range vsyscall_range;
/* Filter out the vDSO module, if present. Its symbol file would
@@ -1574,6 +1560,208 @@ svr4_fetch_objfile_link_map (struct objfile *objfile)
return 0;
}
+/* Return true if bfd section BFD_SECT is a thread local section
+ (i.e. either named ".tdata" or ".tbss"), and false otherwise. */
+
+static bool
+is_thread_local_section (struct bfd_section *bfd_sect)
+{
+ return ((strcmp (bfd_sect->name, ".tdata") == 0
+ || strcmp (bfd_sect->name, ".tbss") == 0)
+ && bfd_sect->size != 0);
+}
+
+/* Return true if objfile OBJF contains a thread local section, and
+ false otherwise. */
+
+static bool
+has_thread_local_section (const objfile *objf)
+{
+ for (obj_section *objsec : objf->sections ())
+ if (is_thread_local_section (objsec->the_bfd_section))
+ return true;
+ return false;
+}
+
+/* Return true if solib SO contains a thread local section, and false
+ otherwise. */
+
+static bool
+has_thread_local_section (const solib &so)
+{
+ for (const target_section &p : so.sections)
+ if (is_thread_local_section (p.the_bfd_section))
+ return true;
+ return false;
+}
+
+/* For the MUSL C library, given link map address LM_ADDR, return the
+ corresponding TLS module id, or 0 if not found.
+
+ Background: Unlike the mechanism used by glibc (see below), the
+ scheme used by the MUSL C library is pretty simple. If the
+ executable contains TLS variables it gets module id 1. Otherwise,
+ the first shared object loaded which contains TLS variables is
+ assigned to module id 1. TLS-containing shared objects are then
+ assigned consecutive module ids, based on the order that they are
+ loaded. When unloaded via dlclose, module ids are reassigned as if
+ that module had never been loaded. */
+
+int
+musl_link_map_to_tls_module_id (CORE_ADDR lm_addr)
+{
+ /* When lm_addr is zero, the program is statically linked. Any TLS
+ variables will be in module id 1. */
+ if (lm_addr == 0)
+ return 1;
+
+ int mod_id = 0;
+ if (has_thread_local_section (current_program_space->symfile_object_file))
+ mod_id++;
+
+ struct svr4_info *info = get_svr4_info (current_program_space);
+
+ /* Cause svr4_current_sos() to be run if it hasn't been already. */
+ if (info->main_lm_addr == 0)
+ solib_add (NULL, 0, auto_solib_add);
+
+ /* Handle case where lm_addr corresponds to the main program.
+ Return value is either 0, when there are no TLS variables, or 1,
+ when there are. */
+ if (lm_addr == info->main_lm_addr)
+ return mod_id;
+
+ /* Iterate through the shared objects, possibly incrementing the
+ module id, and returning mod_id should a match be found. */
+ for (const solib &so : current_program_space->solibs ())
+ {
+ if (has_thread_local_section (so))
+ mod_id++;
+
+ auto *li = gdb::checked_static_cast<lm_info_svr4 *> (so.lm_info.get ());
+ if (li->lm_addr == lm_addr)
+ return mod_id;
+ }
+ return 0;
+}
+
+/* For GLIBC, given link map address LM_ADDR, return the corresponding TLS
+ module id, or 0 if not found. */
+
+int
+glibc_link_map_to_tls_module_id (CORE_ADDR lm_addr)
+{
+ /* When lm_addr is zero, the program is statically linked. Any TLS
+ variables will be in module id 1. */
+ if (lm_addr == 0)
+ return 1;
+
+ /* Look up lm_addr in the TLS slot data structure. */
+ struct svr4_info *info = get_svr4_info (current_program_space);
+ auto it = std::find (info->glibc_tls_slots.begin (),
+ info->glibc_tls_slots.end (),
+ lm_addr);
+ if (it == info->glibc_tls_slots.end ())
+ return 0;
+ else
+ return 1 + it - info->glibc_tls_slots.begin ();
+}
+
+/* Conditionally, based on whether the shared object, SO, contains TLS
+ variables, assign a link map address to a TLS module id slot. This
+ code is GLIBC-specific and may only work for specific GLIBC
+ versions. That said, it is known to work for (at least) GLIBC
+ versions 2.27 thru 2.40.
+
+ Background: In order to implement internal TLS address lookup
+ code, it is necessary to find the module id that has been
+ associated with a specific link map address. In GLIBC, the TLS
+ module id is stored in struct link_map, in the member
+ 'l_tls_modid'. While the first several members of struct link_map
+ are part of the SVR4 ABI, the offset to l_tls_modid definitely is
+ not. Therefore, since we don't know the offset to l_tls_modid, we
+ cannot simply look it up - which is a shame, because things would
+ be so much more easy and obviously accurate, if we could access
+ l_tls_modid.
+
+ GLIBC has a concept of TLS module id slots. These slots are
+ allocated consecutively as shared objects containing TLS variables
+ are loaded. When unloaded (e.g. via dlclose()), the corresponding
+ slot is marked as unused, but may be used again when later loading
+ a shared object.
+
+ The functions tls_maybe_fill_slot and tls_maybe_erase_slot are
+ associated with the observers 'solib_loaded' and 'solib_unloaded'.
+ They (attempt to) track use of TLS module id slots in the same way
+ that GLIBC does, which will hopefully provide an accurate module id
+ when asked to provide it via glibc_link_map_to_tls_module_id(),
+ above. */
+
+static void
+tls_maybe_fill_slot (solib &so)
+{
+ auto *li = dynamic_cast<lm_info_svr4 *> (so.lm_info.get ());
+ if (li == nullptr)
+ return;
+
+ struct svr4_info *info = get_svr4_info (current_program_space);
+ if (!info->glibc_tls_slots_inited)
+ {
+ /* Cause svr4_current_sos() to be run if it hasn't been already. */
+ if (info->main_lm_addr == 0)
+ {
+ auto &ops
+ = gdb::checked_static_cast<const svr4_solib_ops &> (so.ops ());
+ ops.current_sos_direct (info);
+ }
+
+ /* Quit early when main_lm_addr is still 0. */
+ if (info->main_lm_addr == 0)
+ return;
+
+ /* Also quit early when symfile_object_file is not yet known. */
+ if (current_program_space->symfile_object_file == nullptr)
+ return;
+
+ if (has_thread_local_section (current_program_space->symfile_object_file))
+ info->glibc_tls_slots.push_back (info->main_lm_addr);
+ info->glibc_tls_slots_inited = true;
+ }
+
+ if (has_thread_local_section (so))
+ {
+ auto it = std::find (info->glibc_tls_slots.begin (),
+ info->glibc_tls_slots.end (),
+ 0);
+ if (it == info->glibc_tls_slots.end ())
+ info->glibc_tls_slots.push_back (li->lm_addr);
+ else
+ *it = li->lm_addr;
+ }
+}
+
+/* Remove a link map address from the TLS module slot data structure.
+ As noted above, this code is GLIBC-specific. */
+
+static void
+tls_maybe_erase_slot (program_space *pspace, const solib &so,
+ bool still_in_use, bool silent)
+{
+ if (still_in_use)
+ return;
+
+ auto *li = dynamic_cast<lm_info_svr4 *> (so.lm_info.get ());
+ if (li == nullptr)
+ return;
+
+ struct svr4_info *info = get_svr4_info (pspace);
+ auto it = std::find (info->glibc_tls_slots.begin (),
+ info->glibc_tls_slots.end (),
+ li->lm_addr);
+ if (it != info->glibc_tls_slots.end ())
+ *it = 0;
+}
+
/* On some systems, the only way to recognize the link map entry for
the main executable file is by looking at its name. Return
non-zero iff SONAME matches one of the known main executable names. */
@@ -1592,11 +1780,11 @@ match_main (const char *soname)
return (0);
}
-/* Return 1 if PC lies in the dynamic symbol resolution code of the
+/* Return true if PC lies in the dynamic symbol resolution code of the
SVR4 run time loader. */
-int
-svr4_in_dynsym_resolve_code (CORE_ADDR pc)
+bool
+svr4_solib_ops::in_dynsym_resolve_code (CORE_ADDR pc) const
{
struct svr4_info *info = get_svr4_info (current_program_space);
@@ -1795,12 +1983,10 @@ solib_event_probe_action (struct probe_and_action *pa)
shared objects from the inferior. Handle special cases relating
to the first elements of the list. Returns nonzero on success. */
-static int
-solist_update_full (struct svr4_info *info)
+void
+svr4_solib_ops::update_full (svr4_info *info) const
{
- svr4_current_sos_direct (info);
-
- return 1;
+ this->current_sos_direct (info);
}
/* Update the shared object list starting from the link-map entry
@@ -1808,9 +1994,9 @@ solist_update_full (struct svr4_info *info)
nonzero if the list was successfully updated, or zero to indicate
failure. */
-static int
-solist_update_incremental (svr4_info *info, CORE_ADDR debug_base,
- CORE_ADDR lm)
+int
+svr4_solib_ops::update_incremental (svr4_info *info, CORE_ADDR debug_base,
+ CORE_ADDR lm) const
{
/* Fall back to a full update if we are using a remote target
that does not support incremental transfers. */
@@ -1852,9 +2038,9 @@ solist_update_incremental (svr4_info *info, CORE_ADDR debug_base,
/* Unknown key=value pairs are ignored by the gdbstub. */
xsnprintf (annex, sizeof (annex), "lmid=%s;start=%s;prev=%s",
- phex_nz (debug_base, sizeof (debug_base)),
- phex_nz (lm, sizeof (lm)),
- phex_nz (prev_lm, sizeof (prev_lm)));
+ phex_nz (debug_base),
+ phex_nz (lm),
+ phex_nz (prev_lm));
if (!svr4_current_sos_via_xfer_libraries (&library_list, annex))
return 0;
@@ -1888,7 +2074,7 @@ solist_update_incremental (svr4_info *info, CORE_ADDR debug_base,
above check and deferral to solist_update_full ensures
that this call to svr4_read_so_list will never see the
first element. */
- if (!svr4_read_so_list (info, lm, prev_lm, solist, 0))
+ if (!this->read_so_list (info, lm, prev_lm, solist, 0))
return 0;
}
@@ -1899,8 +2085,8 @@ solist_update_incremental (svr4_info *info, CORE_ADDR debug_base,
original interface. We don't reset the breakpoints as the
ones set up for the probes-based interface are adequate. */
-static void
-disable_probes_interface (svr4_info *info)
+void
+svr4_solib_ops::disable_probes_interface (svr4_info *info) const
{
warning (_("Probes-based dynamic linker interface failed.\n"
"Reverting to original interface."));
@@ -1915,8 +2101,8 @@ disable_probes_interface (svr4_info *info)
probes-based linker interface. Do nothing if using the
standard interface. */
-static void
-svr4_handle_solib_event (void)
+void
+svr4_solib_ops::handle_event () const
{
struct svr4_info *info = get_svr4_info (current_program_space);
struct probe_and_action *pa;
@@ -1941,9 +2127,9 @@ svr4_handle_solib_event (void)
/* If anything goes wrong we revert to the original linker
interface. */
- auto cleanup = make_scope_exit ([info] ()
+ auto cleanup = make_scope_exit ([this, info] ()
{
- disable_probes_interface (info);
+ this->disable_probes_interface (info);
});
action = solib_event_probe_action (pa);
@@ -2045,15 +2231,12 @@ svr4_handle_solib_event (void)
if (action == UPDATE_OR_RELOAD)
{
- if (!solist_update_incremental (info, debug_base, lm))
+ if (!this->update_incremental (info, debug_base, lm))
action = FULL_RELOAD;
}
if (action == FULL_RELOAD)
- {
- if (!solist_update_full (info))
- return;
- }
+ this->update_full (info);
cleanup.release ();
}
@@ -2100,8 +2283,8 @@ svr4_update_solib_event_breakpoint (struct breakpoint *b)
/* Enable or disable optional solib event breakpoints as appropriate.
Called whenever stop_on_solib_events is changed. */
-static void
-svr4_update_solib_event_breakpoints (void)
+void
+svr4_solib_ops::update_breakpoints () const
{
for (breakpoint &bp : all_breakpoints_safe ())
svr4_update_solib_event_breakpoint (&bp);
@@ -2112,10 +2295,10 @@ svr4_update_solib_event_breakpoints (void)
solib event breakpoint will be created and registered for each
probe. */
-static void
-svr4_create_probe_breakpoints (svr4_info *info, struct gdbarch *gdbarch,
- const std::vector<probe *> *probes,
- struct objfile *objfile)
+void
+svr4_solib_ops::create_probe_breakpoints (svr4_info *info, gdbarch *gdbarch,
+ const std::vector<probe *> *probes,
+ objfile *objfile) const
{
for (int i = 0; i < NUM_PROBES; i++)
{
@@ -2133,17 +2316,17 @@ svr4_create_probe_breakpoints (svr4_info *info, struct gdbarch *gdbarch,
}
}
- svr4_update_solib_event_breakpoints ();
+ this->update_breakpoints ();
}
/* Find all the glibc named probes. Only if all of the probes are found, then
create them and return true. Otherwise return false. If WITH_PREFIX is set
then add "rtld" to the front of the probe names. */
-static bool
-svr4_find_and_create_probe_breakpoints (svr4_info *info,
- struct gdbarch *gdbarch,
- struct obj_section *os,
- bool with_prefix)
+bool
+svr4_solib_ops::find_and_create_probe_breakpoints (svr4_info *info,
+ gdbarch *gdbarch,
+ obj_section *os,
+ bool with_prefix) const
{
SOLIB_SCOPED_DEBUG_START_END ("objfile=%s, with_prefix=%d",
os->objfile->original_name, with_prefix);
@@ -2221,7 +2404,7 @@ svr4_find_and_create_probe_breakpoints (svr4_info *info,
/* All probes found. Now create them. */
solib_debug_printf ("using probes interface");
- svr4_create_probe_breakpoints (info, gdbarch, probes, os->objfile);
+ this->create_probe_breakpoints (info, gdbarch, probes, os->objfile);
return true;
}
@@ -2237,15 +2420,16 @@ svr4_find_and_create_probe_breakpoints (svr4_info *info,
probes aren't found, a single breakpoint is set on the original
marker function. */
-static void
-svr4_create_solib_event_breakpoints (svr4_info *info, struct gdbarch *gdbarch,
- CORE_ADDR address)
+void
+svr4_solib_ops::create_event_breakpoints (svr4_info *info, gdbarch *gdbarch,
+ CORE_ADDR address) const
{
struct obj_section *os = find_pc_section (address);
if (os == nullptr
- || (!svr4_find_and_create_probe_breakpoints (info, gdbarch, os, false)
- && !svr4_find_and_create_probe_breakpoints (info, gdbarch, os, true)))
+ || (!this->find_and_create_probe_breakpoints (info, gdbarch, os, false)
+ && !this->find_and_create_probe_breakpoints (info, gdbarch, os,
+ true)))
{
solib_debug_printf ("falling back to r_brk breakpoint: addr=%s",
paddress (gdbarch, address));
@@ -2285,8 +2469,8 @@ svr4_create_solib_event_breakpoints (svr4_info *info, struct gdbarch *gdbarch,
depending upon whether or not the library is being mapped or unmapped,
and then set to RT_CONSISTENT after the library is mapped/unmapped. */
-static int
-enable_break (struct svr4_info *info, int from_tty)
+int
+svr4_solib_ops::enable_break (svr4_info *info, int from_tty) const
{
const char * const *bkpt_namep;
asection *interp_sect;
@@ -2302,8 +2486,8 @@ enable_break (struct svr4_info *info, int from_tty)
solib_add (NULL, from_tty, auto_solib_add);
sym_addr = 0;
- if (info->debug_base && solib_svr4_r_map (info->debug_base) != 0)
- sym_addr = solib_svr4_r_brk (info);
+ if (info->debug_base && this->read_r_map (info->debug_base) != 0)
+ sym_addr = this->find_r_brk (info);
if (sym_addr != 0)
{
@@ -2362,8 +2546,8 @@ enable_break (struct svr4_info *info, int from_tty)
= info->interp_plt_sect_low + bfd_section_size (interp_sect);
}
- svr4_create_solib_event_breakpoints
- (info, current_inferior ()->arch (), sym_addr);
+ this->create_event_breakpoints (info, current_inferior ()->arch (),
+ sym_addr);
return 1;
}
}
@@ -2371,7 +2555,7 @@ enable_break (struct svr4_info *info, int from_tty)
/* Find the program interpreter; if not found, warn the user and drop
into the old breakpoint at symbol code. */
std::optional<gdb::byte_vector> interp_name_holder
- = find_program_interpreter ();
+ = svr4_find_program_interpreter ();
if (interp_name_holder)
{
const char *interp_name = (const char *) interp_name_holder->data ();
@@ -2411,11 +2595,11 @@ enable_break (struct svr4_info *info, int from_tty)
address from the shared library table. */
for (const solib &so : current_program_space->solibs ())
{
- if (svr4_same_1 (interp_name, so.so_original_name.c_str ()))
+ if (svr4_same_1 (interp_name, so.original_name.c_str ()))
{
load_addr_found = 1;
loader_found_in_list = 1;
- load_addr = lm_addr_check (so, tmp_bfd.get ());
+ load_addr = this->lm_addr_check (so, tmp_bfd.get ());
break;
}
}
@@ -2471,7 +2655,7 @@ enable_break (struct svr4_info *info, int from_tty)
if (!loader_found_in_list)
{
- info->debug_loader_name = xstrdup (interp_name);
+ info->debug_loader_name = interp_name;
info->debug_loader_offset_p = 1;
info->debug_loader_offset = load_addr;
solib_add (NULL, from_tty, auto_solib_add);
@@ -2522,9 +2706,8 @@ enable_break (struct svr4_info *info, int from_tty)
if (sym_addr != 0)
{
- svr4_create_solib_event_breakpoints (info,
- current_inferior ()->arch (),
- load_addr + sym_addr);
+ this->create_event_breakpoints (info, current_inferior ()->arch (),
+ load_addr + sym_addr);
return 1;
}
@@ -2551,9 +2734,8 @@ enable_break (struct svr4_info *info, int from_tty)
sym_addr = gdbarch_convert_from_func_ptr_addr
(current_inferior ()->arch (), sym_addr,
current_inferior ()->top_target ());
- svr4_create_solib_event_breakpoints (info,
- current_inferior ()->arch (),
- sym_addr);
+ this->create_event_breakpoints (info, current_inferior ()->arch (),
+ sym_addr);
return 1;
}
}
@@ -2571,8 +2753,9 @@ enable_break (struct svr4_info *info, int from_tty)
sym_addr = gdbarch_convert_from_func_ptr_addr
(current_inferior ()->arch (), sym_addr,
current_inferior ()->top_target ());
- svr4_create_solib_event_breakpoints
- (info, current_inferior ()->arch (), sym_addr);
+ this->create_event_breakpoints (info,
+ current_inferior ()->arch (),
+ sym_addr);
return 1;
}
}
@@ -3096,15 +3279,15 @@ svr4_relocate_main_executable (void)
addresses, and saving sufficient information about them to allow
their symbols to be read at a later time. */
-static void
-svr4_solib_create_inferior_hook (int from_tty)
+void
+svr4_solib_ops::create_inferior_hook (int from_tty) const
{
struct svr4_info *info;
info = get_svr4_info (current_program_space);
/* Clear the probes-based interface's state. */
- free_probes_table (info);
+ this->free_probes_table (info);
info->solib_lists.clear ();
info->namespace_id.clear ();
info->active_namespaces.clear ();
@@ -3117,22 +3300,18 @@ svr4_solib_create_inferior_hook (int from_tty)
if (!target_has_execution ())
return;
- if (!svr4_have_link_map_offsets ())
- return;
-
- if (!enable_break (info, from_tty))
+ if (!this->enable_break (info, from_tty))
return;
}
-static void
-svr4_clear_solib (program_space *pspace)
+void
+svr4_solib_ops::clear_solib (program_space *pspace) const
{
svr4_info *info = get_svr4_info (pspace);
info->debug_base = 0;
info->debug_loader_offset_p = 0;
info->debug_loader_offset = 0;
- xfree (info->debug_loader_name);
- info->debug_loader_name = NULL;
+ info->debug_loader_name.clear ();
}
/* Clear any bits of ADDR that wouldn't fit in a target-format
@@ -3189,15 +3368,15 @@ find_loadable_elf_internal_phdr (bfd *abfd, bfd_section *asect)
return nullptr;
}
-/* Implement solib_ops::relocate_section_addresses() for svr4 targets. */
-
-static void
-svr4_relocate_section_addresses (solib &so, target_section *sec)
+void
+svr4_solib_ops::relocate_section_addresses (solib &so,
+ target_section *sec) const
{
bfd *abfd = sec->the_bfd_section->owner;
- sec->addr = svr4_truncate_ptr (sec->addr + lm_addr_check (so, abfd));
- sec->endaddr = svr4_truncate_ptr (sec->endaddr + lm_addr_check (so, abfd));
+ sec->addr = svr4_truncate_ptr (sec->addr + this->lm_addr_check (so, abfd));
+ sec->endaddr
+ = svr4_truncate_ptr (sec->endaddr + this->lm_addr_check (so, abfd));
struct bfd_section *asect = sec->the_bfd_section;
gdb_assert (asect != nullptr);
@@ -3267,68 +3446,24 @@ svr4_relocate_section_addresses (solib &so, target_section *sec)
}
}
}
-
-
-/* Architecture-specific operations. */
-
-struct solib_svr4_ops
-{
- /* Return a description of the layout of `struct link_map'. */
- struct link_map_offsets *(*fetch_link_map_offsets)(void) = nullptr;
-};
-/* Per-architecture data key. */
-static const registry<gdbarch>::key<struct solib_svr4_ops> solib_svr4_data;
-
-/* Return a default for the architecture-specific operations. */
-
-static struct solib_svr4_ops *
-get_ops (struct gdbarch *gdbarch)
-{
- struct solib_svr4_ops *ops = solib_svr4_data.get (gdbarch);
- if (ops == nullptr)
- ops = solib_svr4_data.emplace (gdbarch);
- return ops;
-}
-
-/* Set the architecture-specific `struct link_map_offsets' fetcher for
- GDBARCH to FLMO. Also, install SVR4 solib_ops into GDBARCH. */
+/* See solib-svr4.h. */
void
-set_solib_svr4_fetch_link_map_offsets (struct gdbarch *gdbarch,
- struct link_map_offsets *(*flmo) (void))
+set_solib_svr4_ops (gdbarch *gdbarch, gdbarch_make_solib_ops_ftype make_solib_ops)
{
- struct solib_svr4_ops *ops = get_ops (gdbarch);
-
- ops->fetch_link_map_offsets = flmo;
-
- set_gdbarch_so_ops (gdbarch, &svr4_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_solib_ops);
set_gdbarch_iterate_over_objfiles_in_search_order
(gdbarch, svr4_iterate_over_objfiles_in_search_order);
}
-/* Fetch a link_map_offsets structure using the architecture-specific
- `struct link_map_offsets' fetcher. */
-
-static struct link_map_offsets *
-svr4_fetch_link_map_offsets (void)
-{
- struct solib_svr4_ops *ops = get_ops (current_inferior ()->arch ());
-
- gdb_assert (ops->fetch_link_map_offsets);
- return ops->fetch_link_map_offsets ();
-}
-
-/* Return 1 if a link map offset fetcher has been defined, 0 otherwise. */
+/* See solib-svr4.h. */
-static int
-svr4_have_link_map_offsets (void)
+solib_ops_up
+make_svr4_ilp32_solib_ops ()
{
- struct solib_svr4_ops *ops = get_ops (current_inferior ()->arch ());
-
- return (ops->fetch_link_map_offsets != NULL);
+ return std::make_unique<ilp32_svr4_solib_ops> ();
}
-
/* Most OS'es that have SVR4-style ELF dynamic libraries define a
`struct r_debug' and a `struct link_map' that are binary compatible
@@ -3337,8 +3472,8 @@ svr4_have_link_map_offsets (void)
/* Fetch (and possibly build) an appropriate `struct link_map_offsets'
for an ILP32 SVR4 system. */
-struct link_map_offsets *
-svr4_ilp32_fetch_link_map_offsets (void)
+link_map_offsets *
+ilp32_svr4_solib_ops::fetch_link_map_offsets () const
{
static struct link_map_offsets lmo;
static struct link_map_offsets *lmp = NULL;
@@ -3366,11 +3501,26 @@ svr4_ilp32_fetch_link_map_offsets (void)
return lmp;
}
+/* solib_ops for LP64 SVR4 systems. */
+
+struct lp64_svr4_solib_ops : public svr4_solib_ops
+{
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
+/* See solib-svr4.h. */
+
+solib_ops_up
+make_svr4_lp64_solib_ops ()
+{
+ return std::make_unique<lp64_svr4_solib_ops> ();
+}
+
/* Fetch (and possibly build) an appropriate `struct link_map_offsets'
for an LP64 SVR4 system. */
-struct link_map_offsets *
-svr4_lp64_fetch_link_map_offsets (void)
+link_map_offsets *
+lp64_svr4_solib_ops::fetch_link_map_offsets () const
{
static struct link_map_offsets lmo;
static struct link_map_offsets *lmp = NULL;
@@ -3444,7 +3594,7 @@ find_debug_base_for_solib (const solib *solib)
const std::vector<svr4_so> &sos = tuple.second;
for (const svr4_so &so : sos)
- if (svr4_same (solib->so_original_name.c_str (), so.name.c_str (),
+ if (svr4_same (solib->original_name.c_str (), so.name.c_str (),
*lm_info, *so.lm_info))
return debug_base;
}
@@ -3517,19 +3667,15 @@ svr4_iterate_over_objfiles_in_search_order
}
}
-/* See solib_ops::find_solib_addr in solist.h. */
-
-static std::optional<CORE_ADDR>
-svr4_find_solib_addr (solib &so)
+std::optional<CORE_ADDR>
+svr4_solib_ops::find_solib_addr (solib &so) const
{
auto *li = gdb::checked_static_cast<lm_info_svr4 *> (so.lm_info.get ());
return li->l_addr_inferior;
}
-/* See solib_ops::find_solib_ns in solist.h. */
-
-static int
-svr4_find_solib_ns (const solib &so)
+int
+svr4_solib_ops::find_solib_ns (const solib &so) const
{
CORE_ADDR debug_base = find_debug_base_for_solib (&so);
svr4_info *info = get_svr4_info (current_program_space);
@@ -3544,37 +3690,66 @@ svr4_find_solib_ns (const solib &so)
error (_("No namespace found"));
}
-/* see solib_ops::num_active_namespaces in solist.h. */
-static int
-svr4_num_active_namespaces ()
+int
+svr4_solib_ops::num_active_namespaces () const
{
svr4_info *info = get_svr4_info (current_program_space);
return info->active_namespaces.size ();
}
-const struct solib_ops svr4_so_ops =
-{
- svr4_relocate_section_addresses,
- svr4_clear_so,
- svr4_clear_solib,
- svr4_solib_create_inferior_hook,
- svr4_current_sos,
- open_symbol_file_object,
- svr4_in_dynsym_resolve_code,
- solib_bfd_open,
- svr4_same,
- svr4_keep_data_in_core,
- svr4_update_solib_event_breakpoints,
- svr4_handle_solib_event,
- svr4_find_solib_addr,
- svr4_find_solib_ns,
- svr4_num_active_namespaces,
-};
+std::vector<const solib *>
+svr4_solib_ops::get_solibs_in_ns (int nsid) const
+{
+ std::vector<const solib*> ns_solibs;
+ svr4_info *info = get_svr4_info (current_program_space);
-void _initialize_svr4_solib ();
-void
-_initialize_svr4_solib ()
+ /* If the namespace ID is inactive, there will be no active
+ libraries, so we can have an early exit, as a treat. */
+ if (info->active_namespaces.count (nsid) != 1)
+ return ns_solibs;
+
+ /* Since we only have the names of solibs in a given namespace,
+ we'll need to walk through the solib list of the inferior and
+ find which solib objects correspond to which svr4_so. We create
+ an unordered map with the names and lm_info to check things
+ faster, and to be able to remove SOs from the map, to avoid
+ returning the dynamic linker multiple times. */
+ CORE_ADDR debug_base = info->namespace_id[nsid];
+ std::unordered_map<std::string, const lm_info_svr4 *> namespace_solibs;
+ for (svr4_so &so : info->solib_lists[debug_base])
+ {
+ namespace_solibs[so.name]
+ = gdb::checked_static_cast<const lm_info_svr4 *>
+ (so.lm_info.get ());
+ }
+ for (const solib &so: current_program_space->solibs ())
+ {
+ auto *lm_inferior
+ = gdb::checked_static_cast<const lm_info_svr4 *> (so.lm_info.get ());
+
+ /* This is inspired by the svr4_same, by finding the svr4_so object
+ in the map, and then double checking if the lm_info is considered
+ the same. */
+ if (namespace_solibs.count (so.original_name) > 0
+ && namespace_solibs[so.original_name]->l_addr_inferior
+ == lm_inferior->l_addr_inferior)
+ {
+ ns_solibs.push_back (&so);
+ /* Remove the SO from the map, so that we don't end up
+ printing the dynamic linker multiple times. */
+ namespace_solibs.erase (so.original_name);
+ }
+ }
+
+ return ns_solibs;
+}
+
+INIT_GDB_FILE (svr4_solib)
{
gdb::observers::free_objfile.attach (svr4_free_objfile_observer,
"solib-svr4");
+
+ /* Set up observers for tracking GLIBC TLS module id slots. */
+ gdb::observers::solib_loaded.attach (tls_maybe_fill_slot, "solib-svr4");
+ gdb::observers::solib_unloaded.attach (tls_maybe_erase_slot, "solib-svr4");
}
diff --git a/gdb/solib-svr4.h b/gdb/solib-svr4.h
index c08bacf..b331fa7 100644
--- a/gdb/solib-svr4.h
+++ b/gdb/solib-svr4.h
@@ -20,14 +20,17 @@
#ifndef GDB_SOLIB_SVR4_H
#define GDB_SOLIB_SVR4_H
-#include "solist.h"
+#include "gdbarch.h"
+#include "solib.h"
struct objfile;
-struct solib_ops;
+struct link_map_offsets;
+struct probe_and_action;
+struct svr4_info;
+struct svr4_library_list;
+struct svr4_so;
-extern const solib_ops svr4_so_ops;
-
-/* Link map info to include in an allocated so_list entry. */
+/* Link map info to include in an allocated solib entry. */
struct lm_info_svr4 final : public lm_info
{
@@ -50,6 +53,101 @@ struct lm_info_svr4 final : public lm_info
using lm_info_svr4_up = std::unique_ptr<lm_info_svr4>;
+/* What to do when a probe stop occurs. */
+
+enum probe_action
+{
+ /* Something went seriously wrong. Stop using probes and
+ revert to using the older interface. */
+ PROBES_INTERFACE_FAILED,
+
+ /* No action is required. The shared object list is still
+ valid. */
+ DO_NOTHING,
+
+ /* The shared object list should be reloaded entirely. */
+ FULL_RELOAD,
+
+ /* Attempt to incrementally update the shared object list. If
+ the update fails or is not possible, fall back to reloading
+ the list in full. */
+ UPDATE_OR_RELOAD,
+};
+
+/* solib_ops for SVR4 systems. */
+
+struct svr4_solib_ops : public solib_ops
+{
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ void clear_so (const solib &so) const override;
+ void clear_solib (program_space *pspace) const override;
+ void create_inferior_hook (int from_tty) const override;
+ owning_intrusive_list<solib> current_sos () const override;
+ bool open_symbol_file_object (int from_tty) const override;
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override;
+ bool same (const solib &gdb, const solib &inferior) const override;
+ bool keep_data_in_core (CORE_ADDR vaddr, unsigned long size) const override;
+ void update_breakpoints () const override;
+ void handle_event () const override;
+ std::optional<CORE_ADDR> find_solib_addr (solib &so) const override;
+ bool supports_namespaces () const override { return true; }
+ int find_solib_ns (const solib &so) const override;
+ int num_active_namespaces () const override;
+ std::vector<const solib *> get_solibs_in_ns (int nsid) const override;
+
+ /* Return the appropriate link map offsets table for the architecture. */
+ virtual link_map_offsets *fetch_link_map_offsets () const = 0;
+
+ /* This needs to be public because it's accessed from an observer. */
+ void current_sos_direct (svr4_info *info) const;
+
+private:
+ void create_probe_breakpoints (svr4_info *info, gdbarch *gdbarch,
+ const std::vector<probe *> *probes,
+ objfile *objfile) const;
+ bool find_and_create_probe_breakpoints (svr4_info *info, gdbarch *gdbarch,
+ obj_section *os,
+ bool with_prefix) const;
+ void create_event_breakpoints (svr4_info *info, gdbarch *gdbarch,
+ CORE_ADDR address) const;
+ int enable_break (svr4_info *info, int from_tty) const;
+ bool is_default_namespace (CORE_ADDR debug_base) const;
+ void free_probes_table (svr4_info *info) const;
+ CORE_ADDR find_r_brk (svr4_info *info) const;
+ CORE_ADDR find_r_ldsomap (svr4_info *info) const;
+ owning_intrusive_list<solib> default_sos (svr4_info *info) const;
+ int read_so_list (svr4_info *info, CORE_ADDR lm, CORE_ADDR prev_lm,
+ std::vector<svr4_so> &sos, int ignore_first) const;
+ lm_info_svr4_up read_lm_info (CORE_ADDR lm_addr) const;
+ int has_lm_dynamic_from_link_map () const;
+ CORE_ADDR lm_addr_check (const solib &so, bfd *abfd) const;
+ CORE_ADDR read_r_next (CORE_ADDR debug_base) const;
+ CORE_ADDR read_r_map (CORE_ADDR debug_base) const;
+ int parse_libraries (const char *document, svr4_library_list *list);
+ int current_sos_via_xfer_libraries (svr4_library_list *list,
+ const char *annex) const;
+ owning_intrusive_list<solib> collect_probes_sos (svr4_info *info) const;
+ owning_intrusive_list<solib> current_sos_1 (svr4_info *info) const;
+ owning_intrusive_list<solib> solibs_from_svr4_sos
+ (const std::vector<svr4_so> &sos) const;
+ void register_event_probe (objfile *objfile, probe *prob, CORE_ADDR address,
+ enum probe_action action) const;
+ void disable_probes_interface (svr4_info *info) const;
+ probe_and_action *event_probe_at (CORE_ADDR address) const;
+ void update_full (svr4_info *info) const;
+ int update_incremental (svr4_info *info, CORE_ADDR debug_base,
+ CORE_ADDR lm) const;
+ bool update_event_breakpoint (breakpoint *b) const;
+ CORE_ADDR find_debug_base (const solib *solib) const;
+};
+
+/* solib_ops for ILP32 SVR4 systems. */
+
+struct ilp32_svr4_solib_ops : public svr4_solib_ops
+{
+ link_map_offsets *fetch_link_map_offsets () const override;
+};
+
/* Critical offsets and sizes which describe struct r_debug and
struct link_map on SVR4-like targets. All offsets and sizes are
in bytes unless otherwise specified. */
@@ -91,25 +189,33 @@ struct link_map_offsets
int l_name_offset;
};
-/* set_solib_svr4_fetch_link_map_offsets() is intended to be called by
- a <arch>_gdbarch_init() function. It is used to establish an
- architecture specific link_map_offsets fetcher for the architecture
- being defined. */
+/* Set the gdbarch methods for SVR4 systems. */
-extern void set_solib_svr4_fetch_link_map_offsets
- (struct gdbarch *gdbarch, struct link_map_offsets *(*func) (void));
+extern void set_solib_svr4_ops (gdbarch *gdbarch,
+ gdbarch_make_solib_ops_ftype make_solib_ops);
/* This function is called by thread_db.c. Return the address of the
link map for the given objfile. */
extern CORE_ADDR svr4_fetch_objfile_link_map (struct objfile *objfile);
-/* Fetch (and possibly build) an appropriate `struct link_map_offsets'
- for ILP32 and LP64 SVR4 systems. */
-extern struct link_map_offsets *svr4_ilp32_fetch_link_map_offsets (void);
-extern struct link_map_offsets *svr4_lp64_fetch_link_map_offsets (void);
+/* Return a new solib_ops for ILP32 SVR4 systems. */
+
+extern solib_ops_up make_svr4_ilp32_solib_ops ();
+
+/* Return a new solib_ops for LP64 SVR4 systems. */
+
+extern solib_ops_up make_svr4_lp64_solib_ops ();
+
+/* For the MUSL C library, given link map address LM_ADDR, return the
+ corresponding TLS module id, or 0 if not found. */
+int musl_link_map_to_tls_module_id (CORE_ADDR lm_addr);
+
+/* For GLIBC, given link map address LM_ADDR, return the corresponding TLS
+ module id, or 0 if not found. */
+int glibc_link_map_to_tls_module_id (CORE_ADDR lm_addr);
+
+/* Return program interpreter string. */
-/* Return 1 if PC lies in the dynamic symbol resolution code of the
- SVR4 run time loader. */
-int svr4_in_dynsym_resolve_code (CORE_ADDR pc);
+std::optional<gdb::byte_vector> svr4_find_program_interpreter ();
#endif /* GDB_SOLIB_SVR4_H */
diff --git a/gdb/solib-target.c b/gdb/solib-target.c
index f304431..770028d 100644
--- a/gdb/solib-target.c
+++ b/gdb/solib-target.c
@@ -18,7 +18,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "objfiles.h"
-#include "solist.h"
+#include "solib.h"
#include "symtab.h"
#include "symfile.h"
#include "target.h"
@@ -30,7 +30,7 @@
struct lm_info_target final : public lm_info
{
/* The library's name. The name is normally kept in the struct
- so_list; it is only here during XML parsing. */
+ solib; it is only here during XML parsing. */
std::string name;
/* The target can either specify segment bases or section bases, not
@@ -226,8 +226,8 @@ solib_target_parse_libraries (const char *library)
}
#endif
-static owning_intrusive_list<solib>
-solib_target_current_sos (void)
+owning_intrusive_list<solib>
+target_solib_ops::current_sos () const
{
owning_intrusive_list<solib> sos;
@@ -245,25 +245,20 @@ solib_target_current_sos (void)
/* Build a struct solib for each entry on the list. */
for (lm_info_target_up &info : library_list)
{
- auto &new_solib = sos.emplace_back ();
+ auto &new_solib = sos.emplace_back (*this);
/* We don't need a copy of the name in INFO anymore. */
- new_solib.so_name = std::move (info->name);
- new_solib.so_original_name = new_solib.so_name;
+ new_solib.name = std::move (info->name);
+ new_solib.original_name = new_solib.name;
new_solib.lm_info = std::move (info);
}
return sos;
}
-static void
-solib_target_solib_create_inferior_hook (int from_tty)
-{
- /* Nothing needed. */
-}
-
-static void
-solib_target_relocate_section_addresses (solib &so, target_section *sec)
+void
+target_solib_ops::relocate_section_addresses (solib &so,
+ target_section *sec) const
{
CORE_ADDR offset;
auto *li = gdb::checked_static_cast<lm_info_target *> (so.lm_info.get ());
@@ -291,7 +286,7 @@ solib_target_relocate_section_addresses (solib &so, target_section *sec)
if (num_alloc_sections != li->section_bases.size ())
warning (_("\
Could not relocate shared library \"%s\": wrong number of ALLOC sections"),
- so.so_name.c_str ());
+ so.name.c_str ());
else
{
int bases_index = 0;
@@ -334,7 +329,7 @@ Could not relocate shared library \"%s\": wrong number of ALLOC sections"),
if (data == NULL)
warning (_("\
-Could not relocate shared library \"%s\": no segments"), so.so_name.c_str ());
+Could not relocate shared library \"%s\": no segments"), so.name.c_str ());
else
{
ULONGEST orig_delta;
@@ -345,7 +340,7 @@ Could not relocate shared library \"%s\": no segments"), so.so_name.c_str ());
li->segment_bases.size (),
li->segment_bases.data ()))
warning (_("\
-Could not relocate shared library \"%s\": bad offsets"), so.so_name.c_str ());
+Could not relocate shared library \"%s\": bad offsets"), so.name.c_str ());
/* Find the range of addresses to report for this library in
"info sharedlibrary". Report any consecutive segments
@@ -382,16 +377,8 @@ Could not relocate shared library \"%s\": bad offsets"), so.so_name.c_str ());
sec->endaddr += offset;
}
-static int
-solib_target_open_symbol_file_object (int from_tty)
-{
- /* We can't locate the main symbol file based on the target's
- knowledge; the user has to specify it. */
- return 0;
-}
-
-static int
-solib_target_in_dynsym_resolve_code (CORE_ADDR pc)
+bool
+target_solib_ops::in_dynsym_resolve_code (CORE_ADDR pc) const
{
/* We don't have a range of addresses for the dynamic linker; there
may not be one in the program's address space. So only report
@@ -399,19 +386,10 @@ solib_target_in_dynsym_resolve_code (CORE_ADDR pc)
return in_plt_section (pc);
}
-const solib_ops solib_target_so_ops =
+/* See solib-target.h. */
+
+solib_ops_up
+make_target_solib_ops ()
{
- solib_target_relocate_section_addresses,
- nullptr,
- nullptr,
- solib_target_solib_create_inferior_hook,
- solib_target_current_sos,
- solib_target_open_symbol_file_object,
- solib_target_in_dynsym_resolve_code,
- solib_bfd_open,
- nullptr,
- nullptr,
- nullptr,
- nullptr,
- default_find_solib_addr,
-};
+ return std::make_unique<target_solib_ops> ();
+}
diff --git a/gdb/solib-target.h b/gdb/solib-target.h
index f8a22fd..89ae2bc 100644
--- a/gdb/solib-target.h
+++ b/gdb/solib-target.h
@@ -20,7 +20,19 @@
#ifndef GDB_SOLIB_TARGET_H
#define GDB_SOLIB_TARGET_H
-struct solib_ops;
-extern const solib_ops solib_target_so_ops;
+#include "solib.h"
+
+/* solib_ops for systems fetching solibs from the target. */
+
+struct target_solib_ops : solib_ops
+{
+ void relocate_section_addresses (solib &so, target_section *) const override;
+ owning_intrusive_list<solib> current_sos () const override;
+ bool in_dynsym_resolve_code (CORE_ADDR pc) const override;
+};
+
+/* Return a new solib_ops for systems fetching solibs from the target. */
+
+solib_ops_up make_target_solib_ops ();
#endif /* GDB_SOLIB_TARGET_H */
diff --git a/gdb/solib.c b/gdb/solib.c
index 4876f1a..e43b1a3 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -37,7 +37,6 @@
#include "elf/common.h"
#include "filenames.h"
#include "exec.h"
-#include "solist.h"
#include "observable.h"
#include "readline/tilde.h"
#include "solib.h"
@@ -468,6 +467,12 @@ solib_bfd_open (const char *pathname)
return abfd;
}
+gdb_bfd_ref_ptr
+solib_ops::bfd_open (const char *pathname) const
+{
+ return solib_bfd_open (pathname);
+}
+
/* Given a pointer to one of the shared objects in our list of mapped
objects, use the recorded name to open a bfd descriptor for the
object, build a section table, relocate all the section addresses
@@ -483,10 +488,8 @@ solib_bfd_open (const char *pathname)
static int
solib_map_sections (solib &so)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
-
- gdb::unique_xmalloc_ptr<char> filename (tilde_expand (so.so_name.c_str ()));
- gdb_bfd_ref_ptr abfd (ops->bfd_open (filename.get ()));
+ gdb::unique_xmalloc_ptr<char> filename (tilde_expand (so.name.c_str ()));
+ gdb_bfd_ref_ptr abfd (so.ops ().bfd_open (filename.get ()));
/* If we have a core target then the core target might have some helpful
information (i.e. build-ids) about the shared libraries we are trying
@@ -496,9 +499,9 @@ solib_map_sections (solib &so)
If we don't have a core target then this will return an empty struct
with no hint information, we then lookup the shared library based on
its filename. */
- std::optional<CORE_ADDR> solib_addr = ops->find_solib_addr (so);
+ std::optional<CORE_ADDR> solib_addr = so.ops ().find_solib_addr (so);
std::optional <const core_target_mapped_file_info> mapped_file_info
- = core_target_find_mapped_file (so.so_name.c_str (), solib_addr);
+ = core_target_find_mapped_file (so.name.c_str (), solib_addr);
/* If we already know the build-id of this solib from a core file, verify
it matches ABFD's build-id. If there is a mismatch or the solib wasn't
@@ -520,14 +523,14 @@ solib_map_sections (solib &so)
However, if it was good enough during the mapped file
processing, we assume it's good enough now. */
if (!mapped_file_info->filename ().empty ())
- abfd = ops->bfd_open (mapped_file_info->filename ().c_str ());
+ abfd = so.ops ().bfd_open (mapped_file_info->filename ().c_str ());
else
abfd = nullptr;
if (abfd == nullptr)
abfd = find_objfile_by_build_id (current_program_space,
mapped_file_info->build_id (),
- so.so_name.c_str ());
+ so.name.c_str ());
if (abfd == nullptr && mismatch)
{
@@ -545,14 +548,14 @@ solib_map_sections (solib &so)
/* Leave bfd open, core_xfer_memory and "info files" need it. */
so.abfd = std::move (abfd);
- /* Copy the full path name into so_name, allowing symbol_file_add
+ /* Copy the full path name into `so.name`, allowing symbol_file_add
to find it later. This also affects the =library-loaded GDB/MI
event, and in particular the part of that notification providing
the library's host-side path. If we let the target dictate
that objfile's path, and the target is different from the host,
GDB/MI will not provide the correct host-side path. */
- so.so_name = bfd_get_filename (so.abfd.get ());
+ so.name = bfd_get_filename (so.abfd.get ());
so.sections = build_section_table (so.abfd.get ());
for (target_section &p : so.sections)
@@ -560,7 +563,7 @@ solib_map_sections (solib &so)
/* Relocate the section binding addresses as recorded in the shared
object's file by the base address to which the object was actually
mapped. */
- ops->relocate_section_addresses (so, &p);
+ so.ops ().relocate_section_addresses (so, &p);
/* If the target didn't provide information about the address
range of the shared object, assume we want the location of
@@ -582,13 +585,11 @@ solib_map_sections (solib &so)
return 1;
}
-/* See solist.h. */
+/* See solib.h. */
void
solib::clear ()
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
-
this->sections.clear ();
this->abfd = nullptr;
@@ -600,11 +601,10 @@ solib::clear ()
/* Restore the target-supplied file name. SO_NAME may be the path
of the symbol file. */
- this->so_name = this->so_original_name;
+ this->name = this->original_name;
/* Do the same for target-specific data. */
- if (ops->clear_so != NULL)
- ops->clear_so (*this);
+ this->ops ().clear_so (*this);
}
lm_info::~lm_info () = default;
@@ -634,7 +634,7 @@ solib_read_symbols (solib &so, symfile_add_flags flags)
so.objfile = nullptr;
for (objfile *objfile : current_program_space->objfiles ())
{
- if (filename_cmp (objfile_name (objfile), so.so_name.c_str ())
+ if (filename_cmp (objfile_name (objfile), so.name.c_str ())
== 0
&& objfile->addr_low == so.addr_low)
{
@@ -648,7 +648,7 @@ solib_read_symbols (solib &so, symfile_add_flags flags)
= build_section_addr_info_from_section_table (so.sections);
gdb_bfd_ref_ptr tmp_bfd = so.abfd;
so.objfile
- = symbol_file_add_from_bfd (tmp_bfd, so.so_name.c_str (),
+ = symbol_file_add_from_bfd (tmp_bfd, so.name.c_str (),
flags, &sap, OBJF_SHARED, nullptr);
so.objfile->addr_low = so.addr_low;
}
@@ -660,7 +660,7 @@ solib_read_symbols (solib &so, symfile_add_flags flags)
exception_fprintf (gdb_stderr, e,
_ ("Error while reading shared"
" library symbols for %s:\n"),
- so.so_name.c_str ());
+ so.name.c_str ());
}
return true;
@@ -712,7 +712,10 @@ notify_solib_unloaded (program_space *pspace, const solib &so,
void
update_solib_list (int from_tty)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
+ const solib_ops *ops = current_program_space->solib_ops ();
+
+ if (ops == nullptr)
+ return;
/* We can reach here due to changing solib-search-path or the
sysroot, before having any inferior. */
@@ -724,7 +727,7 @@ update_solib_list (int from_tty)
have not opened a symbol file, we may be able to get its
symbols now! */
if (inf->attach_flag
- && current_program_space->symfile_object_file == NULL)
+ && current_program_space->symfile_object_file == nullptr)
{
try
{
@@ -765,27 +768,16 @@ update_solib_list (int from_tty)
owning_intrusive_list<solib> inferior = ops->current_sos ();
owning_intrusive_list<solib>::iterator gdb_iter
- = current_program_space->so_list.begin ();
- while (gdb_iter != current_program_space->so_list.end ())
+ = current_program_space->solibs ().begin ();
+ while (gdb_iter != current_program_space->solibs ().end ())
{
intrusive_list<solib>::iterator inferior_iter = inferior.begin ();
/* Check to see whether the shared object *gdb also appears in
the inferior's current list. */
for (; inferior_iter != inferior.end (); ++inferior_iter)
- {
- if (ops->same)
- {
- if (ops->same (*gdb_iter, *inferior_iter))
- break;
- }
- else
- {
- if (!filename_cmp (gdb_iter->so_original_name.c_str (),
- inferior_iter->so_original_name.c_str ()))
- break;
- }
- }
+ if (ops->same (*gdb_iter, *inferior_iter))
+ break;
/* If the shared object appears on the inferior's list too, then
it's still loaded, so we don't need to do anything. Delete
@@ -814,13 +806,13 @@ update_solib_list (int from_tty)
&& !still_in_use)
gdb_iter->objfile->unlink ();
- current_program_space->deleted_solibs.push_back (gdb_iter->so_name);
+ current_program_space->deleted_solibs.push_back (gdb_iter->name);
/* Some targets' section tables might be referring to
sections from so.abfd; remove them. */
current_program_space->remove_target_sections (&*gdb_iter);
- gdb_iter = current_program_space->so_list.erase (gdb_iter);
+ gdb_iter = current_program_space->solibs ().erase (gdb_iter);
}
}
@@ -844,7 +836,7 @@ update_solib_list (int from_tty)
{
not_found++;
if (not_found_filename == NULL)
- not_found_filename = new_so.so_original_name.c_str ();
+ not_found_filename = new_so.original_name.c_str ();
}
}
@@ -861,7 +853,7 @@ update_solib_list (int from_tty)
}
/* Add the new shared objects to GDB's list. */
- current_program_space->so_list.splice (std::move (inferior));
+ current_program_space->solibs ().splice (std::move (inferior));
/* If a library was not found, issue an appropriate warning
message. We have to use a single call to warning in case the
@@ -918,7 +910,7 @@ libpthread_name_p (const char *name)
static bool
libpthread_solib_p (const solib &so)
{
- return libpthread_name_p (so.so_name.c_str ());
+ return libpthread_name_p (so.name.c_str ());
}
/* Read in symbolic information for any shared objects whose names
@@ -968,7 +960,7 @@ solib_add (const char *pattern, int from_tty, int readsyms)
add_flags |= SYMFILE_VERBOSE;
for (solib &gdb : current_program_space->solibs ())
- if (!pattern || re_exec (gdb.so_name.c_str ()))
+ if (!pattern || re_exec (gdb.name.c_str ()))
{
/* Normally, we would read the symbols from that library
only if READSYMS is set. However, we're making a small
@@ -987,7 +979,7 @@ solib_add (const char *pattern, int from_tty, int readsyms)
if (pattern && (from_tty || info_verbose))
gdb_printf (_ ("Symbols already loaded for %ps\n"),
styled_string (file_name_style.style (),
- gdb.so_name.c_str ()));
+ gdb.name.c_str ()));
}
else if (solib_read_symbols (gdb, add_flags))
loaded_any_symbols = true;
@@ -1010,84 +1002,66 @@ solib_add (const char *pattern, int from_tty, int readsyms)
}
}
-/* Implement the "info sharedlibrary" command. Walk through the
- shared library list and print information about each attached
- library matching PATTERN. If PATTERN is elided, print them
- all. */
+/* Helper function for "info sharedlibrary" and "info namespace".
+ This receives a list of solibs to be printed, and prints a table
+ with all the relevant data. If PRINT_NAMESPACE is true, figure out
+ the solib_ops of the current gdbarch, to calculate the namespace
+ that contains an solib.
+ Returns true if one or more solibs are missing debug information,
+ false otherwise. */
static void
-info_sharedlibrary_command (const char *pattern, int from_tty)
+print_solib_list_table (std::vector<const solib *> solib_list,
+ bool print_namespace)
{
- bool so_missing_debug_info = false;
- int addr_width;
- int nr_libs;
gdbarch *gdbarch = current_inferior ()->arch ();
- struct ui_out *uiout = current_uiout;
-
- if (pattern)
- {
- char *re_err = re_comp (pattern);
-
- if (re_err)
- error (_ ("Invalid regexp: %s"), re_err);
- }
-
/* "0x", a little whitespace, and two hex digits per byte of pointers. */
- addr_width = 4 + (gdbarch_ptr_bit (gdbarch) / 4);
-
- update_solib_list (from_tty);
+ int addr_width = 4 + (gdbarch_ptr_bit (gdbarch) / 4);
+ const solib_ops *ops = current_program_space->solib_ops ();
+ struct ui_out *uiout = current_uiout;
+ bool so_missing_debug_info = false;
- /* ui_out_emit_table table_emitter needs to know the number of rows,
- so we need to make two passes over the libs. */
+ if (ops == nullptr)
+ return;
- nr_libs = 0;
- for (const solib &so : current_program_space->solibs ())
- {
- if (!so.so_name.empty ())
- {
- if (pattern && !re_exec (so.so_name.c_str ()))
- continue;
- ++nr_libs;
- }
- }
+ /* There are 3 conditions for this command to print solib namespaces,
+ first PRINT_NAMESPACE has to be true, second the solib_ops has to
+ support multiple namespaces, and third there must be more than one
+ active namespace. Fold all these into the PRINT_NAMESPACE condition. */
+ print_namespace = (print_namespace
+ && ops != nullptr
+ && ops->supports_namespaces ()
+ && ops->num_active_namespaces () > 1);
- /* How many columns the table should have. If the inferior has
- more than one namespace active, we need a column to show that. */
int num_cols = 4;
- const solib_ops *ops = gdbarch_so_ops (gdbarch);
- if (ops->num_active_namespaces != nullptr
- && ops->num_active_namespaces () > 1)
+ if (print_namespace)
num_cols++;
{
- ui_out_emit_table table_emitter (uiout, num_cols, nr_libs,
+ ui_out_emit_table table_emitter (uiout, num_cols, solib_list.size (),
"SharedLibraryTable");
/* The "- 1" is because ui_out adds one space between columns. */
uiout->table_header (addr_width - 1, ui_left, "from", "From");
uiout->table_header (addr_width - 1, ui_left, "to", "To");
- if (ops->num_active_namespaces != nullptr
- && ops->num_active_namespaces () > 1)
+ if (print_namespace)
uiout->table_header (5, ui_left, "namespace", "NS");
uiout->table_header (12 - 1, ui_left, "syms-read", "Syms Read");
uiout->table_header (0, ui_noalign, "name", "Shared Object Library");
uiout->table_body ();
- for (const solib &so : current_program_space->solibs ())
+ for (const solib *so : solib_list)
{
- if (so.so_name.empty ())
- continue;
-
- if (pattern && !re_exec (so.so_name.c_str ()))
+ if (so->name.empty ())
continue;
ui_out_emit_tuple tuple_emitter (uiout, "lib");
- if (so.addr_high != 0)
+ if (so->addr_high != 0)
{
- uiout->field_core_addr ("from", gdbarch, so.addr_low);
- uiout->field_core_addr ("to", gdbarch, so.addr_high);
+ uiout->field_core_addr ("from", gdbarch, so->addr_low);
+ uiout->field_core_addr ("to", gdbarch, so->addr_high);
}
else
{
@@ -1095,12 +1069,11 @@ info_sharedlibrary_command (const char *pattern, int from_tty)
uiout->field_skip ("to");
}
- if (ops->num_active_namespaces != nullptr
- && ops->num_active_namespaces ()> 1)
+ if (print_namespace)
{
try
{
- uiout->field_fmt ("namespace", "[[%d]]", ops->find_solib_ns (so));
+ uiout->field_fmt ("namespace", "[[%d]]", ops->find_solib_ns (*so));
}
catch (const gdb_exception_error &er)
{
@@ -1109,32 +1082,158 @@ info_sharedlibrary_command (const char *pattern, int from_tty)
}
if (!top_level_interpreter ()->interp_ui_out ()->is_mi_like_p ()
- && so.symbols_loaded && !objfile_has_symbols (so.objfile))
+ && so->symbols_loaded && !so->objfile->has_symbols ())
{
so_missing_debug_info = true;
uiout->field_string ("syms-read", "Yes (*)");
}
else
- uiout->field_string ("syms-read", so.symbols_loaded ? "Yes" : "No");
+ uiout->field_string ("syms-read", so->symbols_loaded ? "Yes" : "No");
- uiout->field_string ("name", so.so_name, file_name_style.style ());
+ uiout->field_string ("name", so->name, file_name_style.style ());
uiout->text ("\n");
}
}
- if (nr_libs == 0)
+ if (so_missing_debug_info)
+ uiout->message (_ ("(*): Shared library is missing "
+ "debugging information.\n"));
+}
+
+/* Implement the "info sharedlibrary" command. Walk through the
+ shared library list and print information about each attached
+ library matching PATTERN. If PATTERN is elided, print them
+ all. */
+
+static void
+info_sharedlibrary_command (const char *pattern, int from_tty)
+{
+ struct ui_out *uiout = current_uiout;
+
+ if (pattern)
+ {
+ char *re_err = re_comp (pattern);
+
+ if (re_err)
+ error (_ ("Invalid regexp: %s"), re_err);
+ }
+
+ update_solib_list (from_tty);
+
+ /* ui_out_emit_table table_emitter needs to know the number of rows,
+ so we need to make two passes over the libs. */
+
+ std::vector<const solib *> print_libs;
+ for (const solib &so : current_program_space->solibs ())
+ {
+ if (!so.name.empty ())
+ {
+ if (pattern && !re_exec (so.name.c_str ()))
+ continue;
+ print_libs.push_back (&so);
+ }
+ }
+
+ print_solib_list_table (print_libs, true);
+
+ if (print_libs.size () == 0)
{
if (pattern)
uiout->message (_ ("No shared libraries matched.\n"));
else
uiout->message (_ ("No shared libraries loaded at this time.\n"));
}
+}
+
+/* Implement the "info linker-namespaces" command. If the current
+ gdbarch's solib_ops object does not support multiple namespaces,
+ this command would just look like "info sharedlibrary", so point
+ the user to that command instead.
+ If solib_ops does support multiple namespaces, this command
+ will group the libraries by linker namespace, or only print the
+ libraries in the supplied namespace. */
+static void
+info_linker_namespace_command (const char *pattern, int from_tty)
+{
+ const solib_ops *ops = current_program_space->solib_ops ();
+
+ /* This command only really makes sense for inferiors that support
+ linker namespaces, so we can leave early. */
+ if (ops == nullptr || !ops->supports_namespaces ())
+ error (_("Current inferior does not support linker namespaces. "
+ "Use \"info sharedlibrary\" instead."));
+
+ struct ui_out *uiout = current_uiout;
+ std::vector<std::pair<int, std::vector<const solib *>>> all_solibs_to_print;
+
+ if (pattern != nullptr)
+ while (*pattern == ' ')
+ pattern++;
+
+ if (pattern == nullptr || pattern[0] == '\0')
+ {
+ uiout->message (_ ("There are %d linker namespaces loaded\n"),
+ ops->num_active_namespaces ());
+
+ int printed = 0;
+ for (int i = 0; printed < ops->num_active_namespaces (); i++)
+ {
+ std::vector<const solib *> solibs_to_print
+ = ops->get_solibs_in_ns (i);
+ if (solibs_to_print.size () > 0)
+ {
+ all_solibs_to_print.push_back (std::make_pair
+ (i, solibs_to_print));
+ printed++;
+ }
+ }
+ }
else
{
- if (so_missing_debug_info)
- uiout->message (_ ("(*): Shared library is missing "
- "debugging information.\n"));
+ int ns;
+ /* Check if the pattern includes the optional [[ and ]] decorators.
+ To match multiple occurrences, '+' needs to be escaped, and every
+ escape sequence must be doubled to survive the compiler pass. */
+ re_comp ("^\\[\\[[0-9]\\+\\]\\]$");
+ if (re_exec (pattern))
+ ns = strtol (pattern+2, nullptr, 10);
+ else
+ {
+ char * end = nullptr;
+ ns = strtol (pattern, &end, 10);
+ if (end[0] != '\0')
+ error (_ ("Invalid linker namespace identifier: %s"), pattern);
+ }
+
+ all_solibs_to_print.push_back
+ (std::make_pair (ns, ops->get_solibs_in_ns (ns)));
+ }
+
+ bool ns_separator = false;
+
+ for (auto &solibs_pair : all_solibs_to_print)
+ {
+ if (ns_separator)
+ uiout->message ("\n\n");
+ else
+ ns_separator = true;
+ int ns = solibs_pair.first;
+ std::vector<const solib *> solibs_to_print = solibs_pair.second;
+ if (solibs_to_print.size () == 0)
+ {
+ uiout->message (_("Linker namespace [[%d]] is not active.\n"), ns);
+ /* If we got here, a specific namespace was requested, so there
+ will only be one vector. We can leave early. */
+ break;
+ }
+ uiout->message
+ (_ ("There are %zu libraries loaded in linker namespace [[%d]]\n"),
+ solibs_to_print.size (), ns);
+ uiout->message
+ (_ ("Displaying libraries for linker namespace [[%d]]:\n"), ns);
+
+ print_solib_list_table (solibs_to_print, false);
}
}
@@ -1164,24 +1263,28 @@ solib_contains_address_p (const solib &solib, CORE_ADDR address)
const char *
solib_name_from_address (struct program_space *pspace, CORE_ADDR address)
{
- for (const solib &so : pspace->so_list)
+ for (const solib &so : pspace->solibs ())
if (solib_contains_address_p (so, address))
- return so.so_name.c_str ();
+ return so.name.c_str ();
return nullptr;
}
+bool
+solib_ops::same (const solib &a, const solib &b) const
+{
+ return (filename_cmp (a.original_name.c_str (), b.original_name.c_str ())
+ == 0);
+}
+
/* See solib.h. */
bool
solib_keep_data_in_core (CORE_ADDR vaddr, unsigned long size)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
+ const solib_ops *ops = current_program_space->solib_ops ();
- if (ops->keep_data_in_core)
- return ops->keep_data_in_core (vaddr, size) != 0;
- else
- return false;
+ return ops != nullptr && ops->keep_data_in_core (vaddr, size);
}
/* See solib.h. */
@@ -1189,9 +1292,7 @@ solib_keep_data_in_core (CORE_ADDR vaddr, unsigned long size)
void
clear_solib (program_space *pspace)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
-
- for (solib &so : pspace->so_list)
+ for (solib &so : pspace->solibs ())
{
bool still_in_use
= (so.objfile != nullptr && solib_used (pspace, so));
@@ -1200,9 +1301,10 @@ clear_solib (program_space *pspace)
pspace->remove_target_sections (&so);
};
- pspace->so_list.clear ();
+ pspace->solibs ().clear ();
- if (ops->clear_solib != nullptr)
+ if (const solib_ops *ops = pspace->solib_ops ();
+ ops != nullptr)
ops->clear_solib (pspace);
}
@@ -1214,9 +1316,9 @@ clear_solib (program_space *pspace)
void
solib_create_inferior_hook (int from_tty)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
-
- ops->solib_create_inferior_hook (from_tty);
+ if (const solib_ops *ops = current_program_space->solib_ops ();
+ ops != nullptr)
+ ops->create_inferior_hook (from_tty);
}
/* See solib.h. */
@@ -1224,9 +1326,9 @@ solib_create_inferior_hook (int from_tty)
bool
in_solib_dynsym_resolve_code (CORE_ADDR pc)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
+ const solib_ops *ops = current_program_space->solib_ops ();
- return ops->in_dynsym_resolve_code (pc) != 0;
+ return ops != nullptr && ops->in_dynsym_resolve_code (pc);
}
/* Implements the "sharedlibrary" command. */
@@ -1268,9 +1370,9 @@ no_shared_libraries_command (const char *ignored, int from_tty)
void
update_solib_breakpoints (void)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
+ const solib_ops *ops = current_program_space->solib_ops ();
- if (ops->update_breakpoints != NULL)
+ if (ops != nullptr)
ops->update_breakpoints ();
}
@@ -1279,9 +1381,8 @@ update_solib_breakpoints (void)
void
handle_solib_event (void)
{
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
-
- if (ops->handle_event != NULL)
+ if (const solib_ops *ops = current_program_space->solib_ops ();
+ ops != nullptr)
ops->handle_event ();
current_inferior ()->pspace->clear_solib_cache ();
@@ -1313,8 +1414,9 @@ reload_shared_libraries_1 (int from_tty)
add_flags |= SYMFILE_VERBOSE;
gdb::unique_xmalloc_ptr<char> filename (
- tilde_expand (so.so_original_name.c_str ()));
- gdb_bfd_ref_ptr abfd (solib_bfd_open (filename.get ()));
+ tilde_expand (so.original_name.c_str ()));
+
+ gdb_bfd_ref_ptr abfd = so.ops ().bfd_open (filename.get ());
if (abfd != NULL)
found_pathname = bfd_get_filename (abfd.get ());
@@ -1322,7 +1424,7 @@ reload_shared_libraries_1 (int from_tty)
symbol file, close that. */
if ((found_pathname == NULL && was_loaded)
|| (found_pathname != NULL
- && filename_cmp (found_pathname, so.so_name.c_str ()) != 0))
+ && filename_cmp (found_pathname, so.name.c_str ()) != 0))
{
if (so.objfile && !(so.objfile->flags & OBJF_USERLOADED)
&& !solib_used (current_program_space, so))
@@ -1335,7 +1437,7 @@ reload_shared_libraries_1 (int from_tty)
file, open it. */
if (found_pathname != NULL
&& (!was_loaded
- || filename_cmp (found_pathname, so.so_name.c_str ()) != 0))
+ || filename_cmp (found_pathname, so.name.c_str ()) != 0))
{
bool got_error = false;
@@ -1365,8 +1467,6 @@ reload_shared_libraries (const char *ignored, int from_tty,
{
reload_shared_libraries_1 (from_tty);
- const solib_ops *ops = gdbarch_so_ops (current_inferior ()->arch ());
-
/* Creating inferior hooks here has two purposes. First, if we reload
shared libraries then the address of solib breakpoint we've computed
previously might be no longer valid. For example, if we forgot to set
@@ -1379,8 +1479,9 @@ reload_shared_libraries (const char *ignored, int from_tty,
if (target_has_execution ())
{
/* Reset or free private data structures not associated with
- so_list entries. */
- if (ops->clear_solib != nullptr)
+ solib entries. */
+ if (const solib_ops *ops = current_program_space->solib_ops ();
+ ops != nullptr)
ops->clear_solib (current_program_space);
/* Remove any previous solib event breakpoint. This is usually
@@ -1707,18 +1808,42 @@ remove_user_added_objfile (struct objfile *objfile)
}
}
-/* See solist.h. */
+/* Implementation of the linker_namespace convenience variable.
+
+ This returns the GDB internal identifier of the linker namespace,
+ for the selected frame, as an integer. If the inferior doesn't support
+ linker namespaces, this always returns 0. */
-std::optional<CORE_ADDR>
-default_find_solib_addr (solib &so)
+static value *
+linker_namespace_make_value (gdbarch *gdbarch, internalvar *var,
+ void *ignore)
{
- return {};
+ int nsid = 0;
+ CORE_ADDR curr_pc = get_frame_pc (get_selected_frame ());
+
+ for (const solib &so : current_program_space->solibs ())
+ if (solib_contains_address_p (so, curr_pc))
+ {
+ if (so.ops ().supports_namespaces ())
+ nsid = so.ops ().find_solib_ns (so);
+
+ break;
+ }
+
+ /* If the PC is not in an SO, or the solib_ops doesn't support
+ linker namespaces, the inferior is in the default namespace. */
+ return value_from_longest (builtin_type (gdbarch)->builtin_int, nsid);
}
-void _initialize_solib ();
+/* Implementation of `$_linker_namespace' variable. */
-void
-_initialize_solib ()
+static const struct internalvar_funcs linker_namespace_funcs =
+{
+ linker_namespace_make_value,
+ nullptr,
+};
+
+INIT_GDB_FILE (solib)
{
gdb::observers::free_objfile.attach (remove_user_added_objfile, "solib");
gdb::observers::inferior_execd.attach (
@@ -1727,6 +1852,13 @@ _initialize_solib ()
},
"solib");
+ /* Convenience variables for debugging linker namespaces. These are
+ set here, even if the solib_ops doesn't support them,
+ for consistency. */
+ create_internalvar_type_lazy ("_linker_namespace",
+ &linker_namespace_funcs, nullptr);
+ set_internalvar_integer (lookup_internalvar ("_active_linker_namespaces"), 1);
+
add_com (
"sharedlibrary", class_files, sharedlibrary_command,
_ ("Load shared object library symbols for files matching REGEXP."));
@@ -1737,6 +1869,9 @@ _initialize_solib ()
add_com ("nosharedlibrary", class_files, no_shared_libraries_command,
_ ("Unload all shared object library symbols."));
+ add_info ("linker-namespaces", info_linker_namespace_command,
+ _ ("Get information about linker namespaces in the inferior."));
+
add_setshow_boolean_cmd ("auto-solib-add", class_support, &auto_solib_add,
_ ("\
Set autoloading of shared library symbols."),
diff --git a/gdb/solib.h b/gdb/solib.h
index 360b6ef..b9465e1 100644
--- a/gdb/solib.h
+++ b/gdb/solib.h
@@ -20,15 +20,14 @@
#ifndef GDB_SOLIB_H
#define GDB_SOLIB_H
-/* Forward decl's for prototypes */
-struct solib;
-struct target_ops;
-struct solib_ops;
-struct program_space;
-
#include "gdb_bfd.h"
-#include "symfile-add-flags.h"
#include "gdbsupport/function-view.h"
+#include "gdbsupport/intrusive_list.h"
+#include "gdbsupport/owning_intrusive_list.h"
+#include "symfile-add-flags.h"
+#include "target-section.h"
+
+struct program_space;
/* Value of the 'set debug solib' configuration variable. */
@@ -42,6 +41,243 @@ extern bool debug_solib;
#define SOLIB_SCOPED_DEBUG_START_END(fmt, ...) \
scoped_debug_start_end (debug_solib, "solib", fmt, ##__VA_ARGS__)
+#define SO_NAME_MAX_PATH_SIZE 512 /* FIXME: Should be dynamic */
+
+/* Base class for target-specific link map information. */
+
+struct lm_info
+{
+ lm_info () = default;
+ lm_info (const lm_info &) = default;
+ virtual ~lm_info () = 0;
+};
+
+using lm_info_up = std::unique_ptr<lm_info>;
+
+struct solib_ops;
+
+struct solib : intrusive_list_node<solib>
+{
+ /* Constructor
+
+ OPS is the solib_ops implementation providing this solib. */
+ explicit solib (const solib_ops &ops) : m_ops (&ops) {}
+
+ /* Return the solib_ops implementation providing this solib. */
+ const solib_ops &ops () const
+ { return *m_ops; }
+
+ /* Free symbol-file related contents of SO and reset for possible reloading
+ of SO. If we have opened a BFD for SO, close it. If we have placed SO's
+ sections in some target's section table, the caller is responsible for
+ removing them.
+
+ This function doesn't mess with objfiles at all. If there is an
+ objfile associated with SO that needs to be removed, the caller is
+ responsible for taking care of that. */
+ void clear () ;
+
+ /* The following fields of the structure come directly from the
+ dynamic linker's tables in the inferior, and are initialized by
+ current_sos. */
+
+ /* A pointer to target specific link map information. Often this
+ will be a copy of struct link_map from the user process, but
+ it need not be; it can be any collection of data needed to
+ traverse the dynamic linker's data structures. */
+ lm_info_up lm_info;
+
+ /* Shared object file name, exactly as it appears in the
+ inferior's link map. This may be a relative path, or something
+ which needs to be looked up in LD_LIBRARY_PATH, etc. We use it
+ to tell which entries in the inferior's dynamic linker's link
+ map we've already loaded. */
+ std::string original_name;
+
+ /* Shared object file name, expanded to something GDB can open. */
+ std::string name;
+
+ /* The following fields of the structure are built from
+ information gathered from the shared object file itself, and
+ are set when we actually add it to our symbol tables.
+
+ current_sos must initialize these fields to 0. */
+
+ gdb_bfd_ref_ptr abfd;
+
+ /* True if symbols have been read in. */
+ bool symbols_loaded = false;
+
+ /* objfile with symbols for a loaded library. Target memory is read from
+ ABFD. OBJFILE may be NULL either before symbols have been loaded, if
+ the file cannot be found or after the command "nosharedlibrary". */
+ struct objfile *objfile = nullptr;
+
+ std::vector<target_section> sections;
+
+ /* Record the range of addresses belonging to this shared library.
+ There may not be just one (e.g. if two segments are relocated
+ differently). This is used for "info sharedlibrary" and
+ the MI command "-file-list-shared-libraries". The latter has a format
+ that supports outputting multiple segments once the related code
+ supports them. */
+ CORE_ADDR addr_low = 0, addr_high = 0;
+
+private:
+ /* The solib_ops responsible for this solib. */
+ const solib_ops *m_ops;
+};
+
+/* A unique pointer to an solib. */
+using solib_up = std::unique_ptr<solib>;
+
+struct solib_ops
+{
+ virtual ~solib_ops () = default;
+
+ /* Adjust the section binding addresses by the base address at
+ which the object was actually mapped. */
+ virtual void relocate_section_addresses (solib &so, target_section *) const
+ = 0;
+
+ /* Reset private data structures associated with SO.
+ This is called when SO is about to be reloaded.
+ It is also called when SO is about to be freed.
+
+ Defaults to no-op. */
+ virtual void clear_so (const solib &so) const {}
+
+ /* Free private data structures associated to PSPACE. This method
+ should not free resources associated to individual solib entries,
+ those are cleared by the clear_so method.
+
+ Defaults to no-op. */
+ virtual void clear_solib (program_space *pspace) const {}
+
+ /* Target dependent code to run after child process fork.
+
+ Defaults to no-op. */
+ virtual void create_inferior_hook (int from_tty) const {};
+
+ /* Construct a list of the currently loaded shared objects. This
+ list does not include an entry for the main executable file.
+
+ Note that we only gather information directly available from the
+ inferior --- we don't examine any of the shared library files
+ themselves. The declaration of `struct solib' says which fields
+ we provide values for. */
+ virtual owning_intrusive_list<solib> current_sos () const = 0;
+
+ /* Find, open, and read the symbols for the main executable. If
+ FROM_TTY is non-zero, allow messages to be printed.
+
+ Return true if this was done successfully. Defaults to false. */
+ virtual bool open_symbol_file_object (int from_tty) const { return false; }
+
+ /* Determine if PC lies in the dynamic symbol resolution code of
+ the run time loader.
+
+ Defaults to false. */
+ virtual bool in_dynsym_resolve_code (CORE_ADDR pc) const
+ { return false; };
+
+ /* Find and open shared library binary file. */
+ virtual gdb_bfd_ref_ptr bfd_open (const char *pathname) const;
+
+ /* Given two solib objects, GDB from the GDB thread list and INFERIOR from the
+ list returned by current_sos, return true if they represent the same library.
+
+ Defaults to comparing the solib original names using filename_cmp. */
+ virtual bool same (const solib &gdb, const solib &inferior) const;
+
+ /* Return whether a region of memory must be kept in a core file
+ for shared libraries loaded before "gcore" is used to be
+ handled correctly when the core file is loaded. This only
+ applies when the section would otherwise not be kept in the
+ core file (in particular, for readonly sections).
+
+ Defaults to false. */
+ virtual bool keep_data_in_core (CORE_ADDR vaddr, unsigned long size) const
+ { return false; };
+
+ /* Enable or disable optional solib event breakpoints as appropriate. This
+ should be called whenever stop_on_solib_events is changed.
+
+ Defaults to no-op. */
+ virtual void update_breakpoints () const {};
+
+ /* Target-specific processing of solib events that will be performed before
+ solib_add is called.
+
+ Defaults to no-op. */
+ virtual void handle_event () const {};
+
+ /* Return an address within the inferior's address space which is known
+ to be part of SO. If there is no such address, or GDB doesn't know
+ how to figure out such an address then an empty optional is
+ returned.
+
+ The returned address can be used when loading the shared libraries
+ for a core file. GDB knows the build-ids for (some) files mapped
+ into the inferior's address space, and knows the address ranges which
+ those mapped files cover. If GDB can figure out a representative
+ address for the library then this can be used to match a library to a
+ mapped file, and thus to a build-id. GDB can then use this
+ information to help locate the shared library objfile, if the objfile
+ is not in the expected place (as defined by the shared libraries file
+ name).
+
+ The default implementation of returns an empty option, indicating GDB is
+ unable to find an address within the library SO. */
+ virtual std::optional<CORE_ADDR> find_solib_addr (solib &so) const
+ { return {}; };
+
+ /* Return true if the linker or libc supports linkage namespaces.
+
+ Defaults to false. */
+ virtual bool supports_namespaces () const { return false; }
+
+ /* Return which linker namespace contains SO.
+
+ The supports_namespaces method must return true for this to be
+ called.
+
+ Throw an error if the namespace can not be determined (such as when we're
+ stepping though the dynamic linker). */
+ virtual int find_solib_ns (const solib &so) const
+ { gdb_assert_not_reached ("namespaces not supported"); }
+
+ /* Returns the number of active namespaces in the inferior.
+
+ The supports_namespaces method must return true for this to be called. */
+ virtual int num_active_namespaces () const
+ { gdb_assert_not_reached ("namespaces not supported"); }
+
+ /* Returns all solibs for a given namespace. If the namespace is not
+ active, returns an empty vector.
+
+ The supports_namespaces method must return true for this to be called. */
+ virtual std::vector<const solib *> get_solibs_in_ns (int ns) const
+ { gdb_assert_not_reached ("namespaces not supported"); }
+};
+
+/* A unique pointer to an solib_ops. */
+using solib_ops_up = std::unique_ptr<solib_ops>;
+
+/* Find main executable binary file. */
+extern gdb::unique_xmalloc_ptr<char> exec_file_find (const char *in_pathname,
+ int *fd);
+
+/* Find shared library binary file. */
+extern gdb::unique_xmalloc_ptr<char> solib_find (const char *in_pathname,
+ int *fd);
+
+/* Open BFD for shared library file. */
+extern gdb_bfd_ref_ptr solib_bfd_fopen (const char *pathname, int fd);
+
+/* Find solib binary file and open it. */
+extern gdb_bfd_ref_ptr solib_bfd_open (const char *in_pathname);
+
/* Called when we free all symtabs of PSPACE, to free the shared library
information as well. */
@@ -89,7 +325,8 @@ extern void no_shared_libraries (program_space *pspace);
Extract the list of currently loaded shared objects from the
inferior, and compare it with the list of shared objects in the
current program space's list of shared libraries. Edit
- so_list_head to bring it in sync with the inferior's new list.
+ the current program space's solib list to bring it in sync with the
+ inferior's new list.
If we notice that the inferior has unloaded some shared objects,
free any symbolic info GDB had read about those shared objects.
diff --git a/gdb/solist.h b/gdb/solist.h
deleted file mode 100644
index 0b7bbf9..0000000
--- a/gdb/solist.h
+++ /dev/null
@@ -1,221 +0,0 @@
-/* Shared library declarations for GDB, the GNU Debugger.
- Copyright (C) 1990-2025 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#ifndef GDB_SOLIST_H
-#define GDB_SOLIST_H
-
-#define SO_NAME_MAX_PATH_SIZE 512 /* FIXME: Should be dynamic */
-
-/* For domain_enum domain. */
-#include "symtab.h"
-#include "gdb_bfd.h"
-#include "gdbsupport/owning_intrusive_list.h"
-#include "target-section.h"
-
-/* Base class for target-specific link map information. */
-
-struct lm_info
-{
- lm_info () = default;
- lm_info (const lm_info &) = default;
- virtual ~lm_info () = 0;
-};
-
-using lm_info_up = std::unique_ptr<lm_info>;
-
-struct solib : intrusive_list_node<solib>
-{
- /* Free symbol-file related contents of SO and reset for possible reloading
- of SO. If we have opened a BFD for SO, close it. If we have placed SO's
- sections in some target's section table, the caller is responsible for
- removing them.
-
- This function doesn't mess with objfiles at all. If there is an
- objfile associated with SO that needs to be removed, the caller is
- responsible for taking care of that. */
- void clear () ;
-
- /* The following fields of the structure come directly from the
- dynamic linker's tables in the inferior, and are initialized by
- current_sos. */
-
- /* A pointer to target specific link map information. Often this
- will be a copy of struct link_map from the user process, but
- it need not be; it can be any collection of data needed to
- traverse the dynamic linker's data structures. */
- lm_info_up lm_info;
-
- /* Shared object file name, exactly as it appears in the
- inferior's link map. This may be a relative path, or something
- which needs to be looked up in LD_LIBRARY_PATH, etc. We use it
- to tell which entries in the inferior's dynamic linker's link
- map we've already loaded. */
- std::string so_original_name;
-
- /* Shared object file name, expanded to something GDB can open. */
- std::string so_name;
-
- /* The following fields of the structure are built from
- information gathered from the shared object file itself, and
- are set when we actually add it to our symbol tables.
-
- current_sos must initialize these fields to 0. */
-
- gdb_bfd_ref_ptr abfd;
-
- /* True if symbols have been read in. */
- bool symbols_loaded = false;
-
- /* objfile with symbols for a loaded library. Target memory is read from
- ABFD. OBJFILE may be NULL either before symbols have been loaded, if
- the file cannot be found or after the command "nosharedlibrary". */
- struct objfile *objfile = nullptr;
-
- std::vector<target_section> sections;
-
- /* Record the range of addresses belonging to this shared library.
- There may not be just one (e.g. if two segments are relocated
- differently). This is used for "info sharedlibrary" and
- the MI command "-file-list-shared-libraries". The latter has a format
- that supports outputting multiple segments once the related code
- supports them. */
- CORE_ADDR addr_low = 0, addr_high = 0;
-};
-
-struct solib_ops
-{
- /* Adjust the section binding addresses by the base address at
- which the object was actually mapped. */
- void (*relocate_section_addresses) (solib &so, target_section *);
-
- /* Reset private data structures associated with SO.
- This is called when SO is about to be reloaded.
- It is also called when SO is about to be freed. */
- void (*clear_so) (const solib &so);
-
- /* Free private data structures associated to PSPACE. This method
- should not free resources associated to individual so_list entries,
- those are cleared by the clear_so method. */
- void (*clear_solib) (program_space *pspace);
-
- /* Target dependent code to run after child process fork. */
- void (*solib_create_inferior_hook) (int from_tty);
-
- /* Construct a list of the currently loaded shared objects. This
- list does not include an entry for the main executable file.
-
- Note that we only gather information directly available from the
- inferior --- we don't examine any of the shared library files
- themselves. The declaration of `struct solib' says which fields
- we provide values for. */
- owning_intrusive_list<solib> (*current_sos) ();
-
- /* Find, open, and read the symbols for the main executable. If
- FROM_TTY is non-zero, allow messages to be printed. */
- int (*open_symbol_file_object) (int from_ttyp);
-
- /* Determine if PC lies in the dynamic symbol resolution code of
- the run time loader. */
- int (*in_dynsym_resolve_code) (CORE_ADDR pc);
-
- /* Find and open shared library binary file. */
- gdb_bfd_ref_ptr (*bfd_open) (const char *pathname);
-
- /* Given two so_list objects, one from the GDB thread list
- and another from the list returned by current_sos, return 1
- if they represent the same library.
- Falls back to using strcmp on so_original_name field when set
- to NULL. */
- int (*same) (const solib &gdb, const solib &inferior);
-
- /* Return whether a region of memory must be kept in a core file
- for shared libraries loaded before "gcore" is used to be
- handled correctly when the core file is loaded. This only
- applies when the section would otherwise not be kept in the
- core file (in particular, for readonly sections). */
- int (*keep_data_in_core) (CORE_ADDR vaddr,
- unsigned long size);
-
- /* Enable or disable optional solib event breakpoints as
- appropriate. This should be called whenever
- stop_on_solib_events is changed. This pointer can be
- NULL, in which case no enabling or disabling is necessary
- for this target. */
- void (*update_breakpoints) (void);
-
- /* Target-specific processing of solib events that will be
- performed before solib_add is called. This pointer can be
- NULL, in which case no specific preprocessing is necessary
- for this target. */
- void (*handle_event) (void);
-
- /* Return an address within the inferior's address space which is known
- to be part of SO. If there is no such address, or GDB doesn't know
- how to figure out such an address then an empty optional is
- returned.
-
- The returned address can be used when loading the shared libraries
- for a core file. GDB knows the build-ids for (some) files mapped
- into the inferior's address space, and knows the address ranges which
- those mapped files cover. If GDB can figure out a representative
- address for the library then this can be used to match a library to a
- mapped file, and thus to a build-id. GDB can then use this
- information to help locate the shared library objfile, if the objfile
- is not in the expected place (as defined by the shared libraries file
- name). */
-
- std::optional<CORE_ADDR> (*find_solib_addr) (solib &so);
-
- /* Return which linker namespace contains the current so.
- If the linker or libc does not support linkage namespaces at all
- (which is basically all of them but solib-svr4), this function should
- be set to nullptr, so that "info shared" won't add an unnecessary
- column.
-
- If the namespace can not be determined (such as when we're stepping
- though the dynamic linker), this function should throw a
- gdb_exception_error. */
- int (*find_solib_ns) (const solib &so);
-
- /* Returns the number of active namespaces in the inferior. */
- int (*num_active_namespaces) ();
-};
-
-/* A unique pointer to a so_list. */
-using solib_up = std::unique_ptr<solib>;
-
-/* Find main executable binary file. */
-extern gdb::unique_xmalloc_ptr<char> exec_file_find (const char *in_pathname,
- int *fd);
-
-/* Find shared library binary file. */
-extern gdb::unique_xmalloc_ptr<char> solib_find (const char *in_pathname,
- int *fd);
-
-/* Open BFD for shared library file. */
-extern gdb_bfd_ref_ptr solib_bfd_fopen (const char *pathname, int fd);
-
-/* Find solib binary file and open it. */
-extern gdb_bfd_ref_ptr solib_bfd_open (const char *in_pathname);
-
-/* A default implementation of the solib_ops::find_solib_addr callback.
- This just returns an empty std::optional<CORE_ADDR> indicating GDB is
- unable to find an address within the library SO. */
-extern std::optional<CORE_ADDR> default_find_solib_addr (solib &so);
-
-#endif /* GDB_SOLIST_H */
diff --git a/gdb/source-cache.c b/gdb/source-cache.c
index ebe451d..9d5151a 100644
--- a/gdb/source-cache.c
+++ b/gdb/source-cache.c
@@ -511,9 +511,7 @@ static void extract_lines_test ()
}
#endif
-void _initialize_source_cache ();
-void
-_initialize_source_cache ()
+INIT_GDB_FILE (source_cache)
{
add_cmd ("source-cache", class_maintenance, source_cache_flush_command,
_("Force gdb to flush its source code cache."),
diff --git a/gdb/source.c b/gdb/source.c
index 13cb8d6..0fd370b 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -1910,9 +1910,7 @@ source_lines_range::source_lines_range (int startline,
}
-void _initialize_source ();
-void
-_initialize_source ()
+INIT_GDB_FILE (source)
{
init_source_path ();
diff --git a/gdb/sparc-linux-nat.c b/gdb/sparc-linux-nat.c
index 8dccce9..18db599 100644
--- a/gdb/sparc-linux-nat.c
+++ b/gdb/sparc-linux-nat.c
@@ -65,9 +65,7 @@ fill_fpregset (const struct regcache *regcache,
sparc32_collect_fpregset (sparc_fpregmap, regcache, regnum, fpregs);
}
-void _initialize_sparc_linux_nat ();
-void
-_initialize_sparc_linux_nat ()
+INIT_GDB_FILE (sparc_linux_nat)
{
sparc_fpregmap = &sparc32_bsd_fpregmap;
diff --git a/gdb/sparc-linux-tdep.c b/gdb/sparc-linux-tdep.c
index 27706b7..6e23fdd 100644
--- a/gdb/sparc-linux-tdep.c
+++ b/gdb/sparc-linux-tdep.c
@@ -33,6 +33,7 @@
#include "tramp-frame.h"
#include "xml-syscall.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
/* The syscall's XML filename for sparc 32-bit. */
#define XML_SYSCALL_FILENAME_SPARC32 "syscalls/sparc-linux.xml"
@@ -436,8 +437,7 @@ sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux has SVR4-style shared libraries... */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
/* ...which means that we need some special handling when doing
prologue analysis. */
@@ -466,9 +466,7 @@ sparc32_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
sparc32_linux_gdb_signal_to_target);
}
-void _initialize_sparc_linux_tdep ();
-void
-_initialize_sparc_linux_tdep ()
+INIT_GDB_FILE (sparc_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_LINUX,
sparc32_linux_init_abi);
diff --git a/gdb/sparc-nat.c b/gdb/sparc-nat.c
index c2d3833..1219612 100644
--- a/gdb/sparc-nat.c
+++ b/gdb/sparc-nat.c
@@ -309,9 +309,7 @@ sparc_xfer_wcookie (enum target_object object,
}
-void _initialize_sparc_nat ();
-void
-_initialize_sparc_nat ()
+INIT_GDB_FILE (sparc_nat)
{
/* Default to using SunOS 4 register sets. */
if (sparc_gregmap == NULL)
diff --git a/gdb/sparc-netbsd-nat.c b/gdb/sparc-netbsd-nat.c
index 8eee741..54cba0b 100644
--- a/gdb/sparc-netbsd-nat.c
+++ b/gdb/sparc-netbsd-nat.c
@@ -56,9 +56,7 @@ sparc32nbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
static sparc_target<inf_ptrace_target> the_sparc_nbsd_nat_target;
-void _initialize_sparcnbsd_nat ();
-void
-_initialize_sparcnbsd_nat ()
+INIT_GDB_FILE (sparcnbsd_nat)
{
sparc_gregmap = &sparc32nbsd_gregmap;
sparc_fpregmap = &sparc32_bsd_fpregmap;
diff --git a/gdb/sparc-netbsd-tdep.c b/gdb/sparc-netbsd-tdep.c
index 84e3a97..8e8a1ba 100644
--- a/gdb/sparc-netbsd-tdep.c
+++ b/gdb/sparc-netbsd-tdep.c
@@ -313,13 +313,10 @@ sparc32nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_unwind_append_unwinder (gdbarch, &sparc32nbsd_sigcontext_frame_unwind);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
-void _initialize_sparcnbsd_tdep ();
-void
-_initialize_sparcnbsd_tdep ()
+INIT_GDB_FILE (sparcnbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_NETBSD,
sparc32nbsd_init_abi);
diff --git a/gdb/sparc-obsd-tdep.c b/gdb/sparc-obsd-tdep.c
index 3486799..ff6e915 100644
--- a/gdb/sparc-obsd-tdep.c
+++ b/gdb/sparc-obsd-tdep.c
@@ -254,9 +254,7 @@ sparc32obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
bsd_uthread_set_collect_uthread (gdbarch, sparc32obsd_collect_uthread);
}
-void _initialize_sparc32obsd_tdep ();
-void
-_initialize_sparc32obsd_tdep ()
+INIT_GDB_FILE (sparc32obsd_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, 0, GDB_OSABI_OPENBSD,
sparc32obsd_init_abi);
diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c
index 5c6085a..337b929 100644
--- a/gdb/sparc-sol2-tdep.c
+++ b/gdb/sparc-sol2-tdep.c
@@ -207,8 +207,7 @@ sparc32_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Solaris has SVR4-style shared libraries... */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
/* ...which means that we need some special handling when doing
prologue analysis. */
@@ -220,9 +219,7 @@ sparc32_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
frame_unwind_append_unwinder (gdbarch, &sparc32_sol2_sigtramp_frame_unwind);
}
-void _initialize_sparc_sol2_tdep ();
-void
-_initialize_sparc_sol2_tdep ()
+INIT_GDB_FILE (sparc_sol2_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, 0,
GDB_OSABI_SOLARIS, sparc32_sol2_init_abi);
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
index 80914d9..4a12516 100644
--- a/gdb/sparc-tdep.c
+++ b/gdb/sparc-tdep.c
@@ -2264,9 +2264,7 @@ const struct sparc_fpregmap sparc32_bsd_fpregmap =
32 * 4, /* %fsr */
};
-void _initialize_sparc_tdep ();
-void
-_initialize_sparc_tdep ()
+INIT_GDB_FILE (sparc_tdep)
{
gdbarch_register (bfd_arch_sparc, sparc32_gdbarch_init);
}
diff --git a/gdb/sparc64-fbsd-nat.c b/gdb/sparc64-fbsd-nat.c
index 4848c77..d697841 100644
--- a/gdb/sparc64-fbsd-nat.c
+++ b/gdb/sparc64-fbsd-nat.c
@@ -61,9 +61,7 @@ sparc64fbsd_kvm_supply_pcb (struct regcache *regcache, struct pcb *pcb)
/* Add some extra features to the generic SPARC target. */
static sparc_target<fbsd_nat_target> the_sparc64_fbsd_nat_target;
-void _initialize_sparc64fbsd_nat ();
-void
-_initialize_sparc64fbsd_nat ()
+INIT_GDB_FILE (sparc64fbsd_nat)
{
add_inf_child_target (&the_sparc64_fbsd_nat_target);
diff --git a/gdb/sparc64-fbsd-tdep.c b/gdb/sparc64-fbsd-tdep.c
index 738c3d1..ba04a71 100644
--- a/gdb/sparc64-fbsd-tdep.c
+++ b/gdb/sparc64-fbsd-tdep.c
@@ -238,13 +238,10 @@ sparc64fbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* FreeBSD/sparc64 has SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
}
-void _initialize_sparc64fbsd_tdep ();
-void
-_initialize_sparc64fbsd_tdep ()
+INIT_GDB_FILE (sparc64fbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
GDB_OSABI_FREEBSD, sparc64fbsd_init_abi);
diff --git a/gdb/sparc64-linux-nat.c b/gdb/sparc64-linux-nat.c
index 9a4b228..2884faa 100644
--- a/gdb/sparc64-linux-nat.c
+++ b/gdb/sparc64-linux-nat.c
@@ -87,9 +87,7 @@ fill_fpregset (const struct regcache *regcache,
sparc64_collect_fpregset (&sparc64_bsd_fpregmap, regcache, regnum, fpregs);
}
-void _initialize_sparc64_linux_nat ();
-void
-_initialize_sparc64_linux_nat ()
+INIT_GDB_FILE (sparc64_linux_nat)
{
sparc_fpregmap = &sparc64_bsd_fpregmap;
diff --git a/gdb/sparc64-linux-tdep.c b/gdb/sparc64-linux-tdep.c
index 6e7281c..373dfb6 100644
--- a/gdb/sparc64-linux-tdep.c
+++ b/gdb/sparc64-linux-tdep.c
@@ -32,6 +32,7 @@
#include "tramp-frame.h"
#include "xml-syscall.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
/* ADI specific si_code */
#ifndef SEGV_ACCADI
@@ -383,8 +384,7 @@ sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux has SVR4-style shared libraries... */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* ...which means that we need some special handling when doing
prologue analysis. */
@@ -409,9 +409,7 @@ sparc64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_report_signal_info (gdbarch, sparc64_linux_report_signal_info);
}
-void _initialize_sparc64_linux_tdep ();
-void
-_initialize_sparc64_linux_tdep ()
+INIT_GDB_FILE (sparc64_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
GDB_OSABI_LINUX, sparc64_linux_init_abi);
diff --git a/gdb/sparc64-nat.c b/gdb/sparc64-nat.c
index 6bb37d8..66451a0 100644
--- a/gdb/sparc64-nat.c
+++ b/gdb/sparc64-nat.c
@@ -68,9 +68,7 @@ sparc64_fpregset_supplies_p (struct gdbarch *gdbarch, int regnum)
return 0;
}
-void _initialize_sparc64_nat ();
-void
-_initialize_sparc64_nat ()
+INIT_GDB_FILE (sparc64_nat)
{
sparc_supply_gregset = sparc64_supply_gregset;
sparc_collect_gregset = sparc64_collect_gregset;
diff --git a/gdb/sparc64-netbsd-nat.c b/gdb/sparc64-netbsd-nat.c
index c4bec4c..1036160 100644
--- a/gdb/sparc64-netbsd-nat.c
+++ b/gdb/sparc64-netbsd-nat.c
@@ -169,9 +169,7 @@ sparc64nbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
/* We've got nothing to add to the generic SPARC target. */
static sparc_target<inf_ptrace_target> the_sparc64_nbsd_nat_target;
-void _initialize_sparc64nbsd_nat ();
-void
-_initialize_sparc64nbsd_nat ()
+INIT_GDB_FILE (sparc64nbsd_nat)
{
sparc_supply_gregset = sparc64nbsd_supply_gregset;
sparc_collect_gregset = sparc64nbsd_collect_gregset;
diff --git a/gdb/sparc64-netbsd-tdep.c b/gdb/sparc64-netbsd-tdep.c
index 1919598..0227ec4 100644
--- a/gdb/sparc64-netbsd-tdep.c
+++ b/gdb/sparc64-netbsd-tdep.c
@@ -266,13 +266,10 @@ sparc64nbsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* NetBSD/sparc64 has SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
}
-void _initialize_sparc64nbsd_tdep ();
-void
-_initialize_sparc64nbsd_tdep ()
+INIT_GDB_FILE (sparc64nbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
GDB_OSABI_NETBSD, sparc64nbsd_init_abi);
diff --git a/gdb/sparc64-obsd-nat.c b/gdb/sparc64-obsd-nat.c
index 5f9bd46..60dd188 100644
--- a/gdb/sparc64-obsd-nat.c
+++ b/gdb/sparc64-obsd-nat.c
@@ -108,9 +108,7 @@ sparc64obsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
/* Add some extra features to the generic SPARC target. */
static sparc_target<obsd_nat_target> the_sparc64_obsd_nat_target;
-void _initialize_sparc64obsd_nat ();
-void
-_initialize_sparc64obsd_nat ()
+INIT_GDB_FILE (sparc64obsd_nat)
{
sparc_supply_gregset = sparc64_supply_gregset;
sparc_collect_gregset = sparc64_collect_gregset;
diff --git a/gdb/sparc64-obsd-tdep.c b/gdb/sparc64-obsd-tdep.c
index 657f548..83cc9c0 100644
--- a/gdb/sparc64-obsd-tdep.c
+++ b/gdb/sparc64-obsd-tdep.c
@@ -440,8 +440,7 @@ sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
obsd_init_abi (info, gdbarch);
/* OpenBSD/sparc64 has SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
set_gdbarch_skip_solib_resolver (gdbarch, obsd_skip_solib_resolver);
/* OpenBSD provides a user-level threads implementation. */
@@ -449,9 +448,7 @@ sparc64obsd_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
bsd_uthread_set_collect_uthread (gdbarch, sparc64obsd_collect_uthread);
}
-void _initialize_sparc64obsd_tdep ();
-void
-_initialize_sparc64obsd_tdep ()
+INIT_GDB_FILE (sparc64obsd_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
GDB_OSABI_OPENBSD, sparc64obsd_init_abi);
diff --git a/gdb/sparc64-sol2-tdep.c b/gdb/sparc64-sol2-tdep.c
index 72a07ec..6d091f5 100644
--- a/gdb/sparc64-sol2-tdep.c
+++ b/gdb/sparc64-sol2-tdep.c
@@ -214,8 +214,7 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* Solaris has SVR4-style shared libraries... */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_lp64_solib_ops);
/* ...which means that we need some special handling when doing
prologue analysis. */
@@ -225,9 +224,7 @@ sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_software_single_step (gdbarch, NULL);
}
-void _initialize_sparc64_sol2_tdep ();
-void
-_initialize_sparc64_sol2_tdep ()
+INIT_GDB_FILE (sparc64_sol2_tdep)
{
gdbarch_register_osabi (bfd_arch_sparc, bfd_mach_sparc_v9,
GDB_OSABI_SOLARIS, sparc64_sol2_init_abi);
diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c
index ee7d7ed..6846421 100644
--- a/gdb/sparc64-tdep.c
+++ b/gdb/sparc64-tdep.c
@@ -529,9 +529,7 @@ adi_assign_command (const char *args, int from_tty)
do_assign (next_address, cnt, version);
}
-void _initialize_sparc64_adi_tdep ();
-void
-_initialize_sparc64_adi_tdep ()
+INIT_GDB_FILE (sparc64_adi_tdep)
{
add_basic_prefix_cmd ("adi", class_support,
_("ADI version related commands."),
diff --git a/gdb/stabsread.c b/gdb/stabsread.c
index 409f303..6ee61e0 100644
--- a/gdb/stabsread.c
+++ b/gdb/stabsread.c
@@ -7200,9 +7200,7 @@ hashname (const char *name)
/* Initializer for this module. */
-void _initialize_stabsread ();
-void
-_initialize_stabsread ()
+INIT_GDB_FILE (stabsread)
{
undef_types_allocated = 20;
undef_types_length = 0;
diff --git a/gdb/stack.c b/gdb/stack.c
index 6542840..e633566 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -3262,9 +3262,7 @@ static struct cmd_list_element *select_frame_cmd_list = NULL;
/* Commands with a prefix of `info frame'. */
static struct cmd_list_element *info_frame_cmd_list = NULL;
-void _initialize_stack ();
-void
-_initialize_stack ()
+INIT_GDB_FILE (stack)
{
struct cmd_list_element *cmd;
diff --git a/gdb/stap-probe.c b/gdb/stap-probe.c
index 8cc7599..3b692e2 100644
--- a/gdb/stap-probe.c
+++ b/gdb/stap-probe.c
@@ -1748,9 +1748,7 @@ info_probes_stap_command (const char *arg, int from_tty)
info_probes_for_spops (arg, from_tty, &stap_static_probe_ops);
}
-void _initialize_stap_probe ();
-void
-_initialize_stap_probe ()
+INIT_GDB_FILE (stap_probe)
{
all_static_probe_ops.push_back (&stap_static_probe_ops);
diff --git a/gdb/std-regs.c b/gdb/std-regs.c
index 2a3f93d..9940cb0 100644
--- a/gdb/std-regs.c
+++ b/gdb/std-regs.c
@@ -93,9 +93,7 @@ value_of_builtin_frame_ps_reg (const frame_info_ptr &frame, const void *baton)
error (_("Standard register ``$ps'' is not available for this target"));
}
-void _initialize_frame_reg ();
-void
-_initialize_frame_reg ()
+INIT_GDB_FILE (frame_reg)
{
/* Frame based $fp, $pc, $sp and $ps. These only come into play
when the target does not define its own version of these
diff --git a/gdb/svr4-tls-tdep.c b/gdb/svr4-tls-tdep.c
new file mode 100644
index 0000000..75d06a4
--- /dev/null
+++ b/gdb/svr4-tls-tdep.c
@@ -0,0 +1,254 @@
+/* Target-dependent code for GNU/Linux, architecture independent.
+
+ Copyright (C) 2009-2024 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "svr4-tls-tdep.h"
+#include "solib-svr4.h"
+#include "inferior.h"
+#include "objfiles.h"
+#include "cli/cli-cmds.h"
+#include <optional>
+
+struct svr4_tls_gdbarch_data
+{
+ /* Method for looking up TLS DTV. */
+ get_tls_dtv_addr_ftype *get_tls_dtv_addr = nullptr;
+
+ /* Method for looking up the TLS DTP offset. */
+ get_tls_dtp_offset_ftype *get_tls_dtp_offset = nullptr;
+
+ /* Cached libc value for TLS lookup purposes. */
+ enum svr4_tls_libc libc = svr4_tls_libc_unknown;
+};
+
+static const registry<gdbarch>::key<svr4_tls_gdbarch_data>
+ svr4_tls_gdbarch_data_handle;
+
+static struct svr4_tls_gdbarch_data *
+get_svr4_tls_gdbarch_data (struct gdbarch *gdbarch)
+{
+ struct svr4_tls_gdbarch_data *result = svr4_tls_gdbarch_data_handle.get (gdbarch);
+ if (result == nullptr)
+ result = svr4_tls_gdbarch_data_handle.emplace (gdbarch);
+ return result;
+}
+
+/* When true, force internal TLS address lookup instead of lookup via
+ the thread stratum. */
+
+static bool force_internal_tls_address_lookup = false;
+
+/* For TLS lookup purposes, use heuristics to decide whether program
+ was linked against MUSL or GLIBC. */
+
+static enum svr4_tls_libc
+libc_tls_sniffer (struct gdbarch *gdbarch)
+{
+ /* Check for cached libc value. */
+ svr4_tls_gdbarch_data *gdbarch_data = get_svr4_tls_gdbarch_data (gdbarch);
+ if (gdbarch_data->libc != svr4_tls_libc_unknown)
+ return gdbarch_data->libc;
+
+ svr4_tls_libc libc = svr4_tls_libc_unknown;
+
+ /* Fetch the program interpreter. */
+ std::optional<gdb::byte_vector> interp_name_holder
+ = svr4_find_program_interpreter ();
+ if (interp_name_holder)
+ {
+ /* A dynamically linked program linked against MUSL will have a
+ "ld-musl-" in its interpreter name. (Two examples of MUSL
+ interpreter names are "/lib/ld-musl-x86_64.so.1" and
+ "lib/ld-musl-aarch64.so.1".) If it's not found, assume GLIBC. */
+ const char *interp_name = (const char *) interp_name_holder->data ();
+ if (strstr (interp_name, "/ld-musl-") != nullptr)
+ libc = svr4_tls_libc_musl;
+ else
+ libc = svr4_tls_libc_glibc;
+ gdbarch_data->libc = libc;
+ return libc;
+ }
+
+ /* If there is no interpreter name, it's statically linked. For
+ programs with TLS data, a program statically linked against MUSL
+ will have the symbols 'main_tls' and 'builtin_tls'. If both of
+ these are present, assume that it was statically linked against
+ MUSL, otherwise assume GLIBC. */
+ if (lookup_minimal_symbol (current_program_space, "main_tls").minsym
+ != nullptr
+ && lookup_minimal_symbol (current_program_space, "builtin_tls").minsym
+ != nullptr)
+ libc = svr4_tls_libc_musl;
+ else
+ libc = svr4_tls_libc_glibc;
+ gdbarch_data->libc = libc;
+ return libc;
+}
+
+/* Implement gdbarch method, get_thread_local_address, for architectures
+ which provide a method for determining the DTV and possibly the DTP
+ offset. */
+
+CORE_ADDR
+svr4_tls_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid,
+ CORE_ADDR lm_addr, CORE_ADDR offset)
+{
+ svr4_tls_gdbarch_data *gdbarch_data = get_svr4_tls_gdbarch_data (gdbarch);
+
+ /* Use the target's get_thread_local_address method when:
+
+ - No method has been provided for finding the TLS DTV.
+
+ or
+
+ - The thread stratum has been pushed (at some point) onto the
+ target stack, except when 'force_internal_tls_address_lookup'
+ has been set.
+
+ The idea here is to prefer use of of the target's thread_stratum
+ method since it should be more accurate. */
+ if (gdbarch_data->get_tls_dtv_addr == nullptr
+ || (find_target_at (thread_stratum) != nullptr
+ && !force_internal_tls_address_lookup))
+ {
+ struct target_ops *target = current_inferior ()->top_target ();
+ return target->get_thread_local_address (ptid, lm_addr, offset);
+ }
+ else
+ {
+ /* Details, found below, regarding TLS layout is for the GNU C
+ library (glibc) and the MUSL C library (musl), circa 2024.
+ While some of this layout is defined by the TLS ABI, some of
+ it, such as how/where to find the DTV pointer in the TCB, is
+ not. A good source of ABI info for some architectures can be
+ found in "ELF Handling For Thread-Local Storage" by Ulrich
+ Drepper. That document is worth consulting even for
+ architectures not described there, since the general approach
+ and terminology is used regardless.
+
+ Some architectures, such as aarch64, are not described in
+ that document, so some details had to ferreted out using the
+ glibc source code. Likewise, the MUSL source code was
+ consulted for details which differ from GLIBC. */
+ enum svr4_tls_libc libc = libc_tls_sniffer (gdbarch);
+ int mod_id;
+ if (libc == svr4_tls_libc_glibc)
+ mod_id = glibc_link_map_to_tls_module_id (lm_addr);
+ else /* Assume MUSL. */
+ mod_id = musl_link_map_to_tls_module_id (lm_addr);
+ if (mod_id == 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to determine TLS module id"));
+
+ /* Use the architecture specific DTV fetcher to obtain the DTV. */
+ CORE_ADDR dtv_addr = gdbarch_data->get_tls_dtv_addr (gdbarch, ptid, libc);
+
+ /* In GLIBC, The DTV (dynamic thread vector) is an array of
+ structs consisting of two fields, the first of which is a
+ pointer to the TLS block of interest. (The second field is a
+ pointer that assists with memory management, but that's not
+ of interest here.) Also, the 0th entry is the generation
+ number, but although it's a single scalar, the 0th entry is
+ padded to be the same size as all the rest. Thus each
+ element of the DTV array is two pointers in size.
+
+ In MUSL, the DTV is simply an array of pointers. The 0th
+ entry is still the generation number, but contains no padding
+ aside from that which is needed to make it pointer sized. */
+ int m; /* Multiplier, for size of DTV entry. */
+ switch (libc)
+ {
+ case svr4_tls_libc_glibc:
+ m = 2;
+ break;
+ default:
+ m = 1;
+ break;
+ }
+
+ /* Obtain TLS block address. Module ids start at 1, so there's
+ no need to adjust it to skip over the 0th entry of the DTV,
+ which is the generation number. */
+ CORE_ADDR dtv_elem_addr
+ = dtv_addr + mod_id * m * (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ gdb::byte_vector buf (gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT);
+ if (target_read_memory (dtv_elem_addr, buf.data (), buf.size ()) != 0)
+ throw_error (TLS_GENERIC_ERROR, _("Unable to fetch TLS block address"));
+ const struct builtin_type *builtin = builtin_type (gdbarch);
+ CORE_ADDR tls_block_addr = gdbarch_pointer_to_address
+ (gdbarch, builtin->builtin_data_ptr,
+ buf.data ());
+
+ /* When the TLS block addr is 0 or -1, this usually indicates that
+ the TLS storage hasn't been allocated yet. (In GLIBC, some
+ architectures use 0 while others use -1.) */
+ if (tls_block_addr == 0 || tls_block_addr == (CORE_ADDR) -1)
+ throw_error (TLS_NOT_ALLOCATED_YET_ERROR, _("TLS not allocated yet"));
+
+ /* MUSL (and perhaps other C libraries, though not GLIBC) have
+ TLS implementations for some architectures which, for some
+ reason, have DTV entries which must be negatively offset by
+ DTP_OFFSET in order to obtain the TLS block address.
+ DTP_OFFSET is a constant in the MUSL sources - these offsets,
+ when they're non-zero, seem to be either 0x800 or 0x8000,
+ and are present for riscv[32/64], powerpc[32/64], m68k, and
+ mips.
+
+ Use the architecture specific get_tls_dtp_offset method, if
+ present, to obtain this offset. */
+ ULONGEST dtp_offset
+ = gdbarch_data->get_tls_dtp_offset == nullptr
+ ? 0
+ : gdbarch_data->get_tls_dtp_offset (gdbarch, ptid, libc);
+
+ return tls_block_addr - dtp_offset + offset;
+ }
+}
+
+/* See svr4-tls-tdep.h. */
+
+void
+svr4_tls_register_tls_methods (struct gdbarch_info info, struct gdbarch *gdbarch,
+ get_tls_dtv_addr_ftype *get_tls_dtv_addr,
+ get_tls_dtp_offset_ftype *get_tls_dtp_offset)
+{
+ gdb_assert (get_tls_dtv_addr != nullptr);
+
+ svr4_tls_gdbarch_data *gdbarch_data = get_svr4_tls_gdbarch_data (gdbarch);
+ gdbarch_data->get_tls_dtv_addr = get_tls_dtv_addr;
+ gdbarch_data->get_tls_dtp_offset = get_tls_dtp_offset;
+}
+
+INIT_GDB_FILE (svr4_tls_tdep)
+{
+ add_setshow_boolean_cmd ("force-internal-tls-address-lookup", class_obscure,
+ &force_internal_tls_address_lookup, _("\
+Set to force internal TLS address lookup."), _("\
+Show whether GDB is forced to use internal TLS address lookup."), _("\
+When resolving addresses for TLS (Thread Local Storage) variables,\n\
+GDB will attempt to use facilities provided by the thread library (i.e.\n\
+libthread_db). If those facilities aren't available, GDB will fall\n\
+back to using some internal (to GDB), but possibly less accurate\n\
+mechanisms to resolve the addresses for TLS variables. When this flag\n\
+is set, GDB will force use of the fall-back TLS resolution mechanisms.\n\
+This flag is used by some GDB tests to ensure that the internal fallback\n\
+code is exercised and working as expected. The default is to not force\n\
+the internal fall-back mechanisms to be used."),
+ NULL, NULL,
+ &maintenance_set_cmdlist,
+ &maintenance_show_cmdlist);
+}
diff --git a/gdb/svr4-tls-tdep.h b/gdb/svr4-tls-tdep.h
new file mode 100644
index 0000000..73efc02
--- /dev/null
+++ b/gdb/svr4-tls-tdep.h
@@ -0,0 +1,59 @@
+/* Target-dependent code for GNU/Linux, architecture independent.
+
+ Copyright (C) 2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDB_SVR4_TLS_TDEP_H
+#define GDB_SVR4_TLS_TDEP_H
+
+/* C library variants for TLS lookup. */
+
+enum svr4_tls_libc
+{
+ svr4_tls_libc_unknown,
+ svr4_tls_libc_musl,
+ svr4_tls_libc_glibc
+};
+
+/* Function type for "get_tls_dtv_addr" method. */
+
+typedef CORE_ADDR (get_tls_dtv_addr_ftype) (struct gdbarch *gdbarch,
+ ptid_t ptid,
+ enum svr4_tls_libc libc);
+
+/* Function type for "get_tls_dtp_offset" method. */
+
+typedef CORE_ADDR (get_tls_dtp_offset_ftype) (struct gdbarch *gdbarch,
+ ptid_t ptid,
+ enum svr4_tls_libc libc);
+
+/* Register architecture specific methods for fetching the TLS DTV
+ and TLS DTP, used by linux_get_thread_local_address. */
+
+extern void svr4_tls_register_tls_methods
+ (struct gdbarch_info info, struct gdbarch *gdbarch,
+ get_tls_dtv_addr_ftype *get_tls_dtv_addr,
+ get_tls_dtp_offset_ftype *get_tls_dtp_offset = nullptr);
+
+/* Used as a gdbarch method for get_thread_local_address when the tdep
+ file also defines a suitable method for obtaining the TLS DTV.
+ See linux_init_abi(), above. */
+CORE_ADDR
+svr4_tls_get_thread_local_address (struct gdbarch *gdbarch, ptid_t ptid,
+ CORE_ADDR lm_addr, CORE_ADDR offset);
+
+#endif /* GDB_SVR4_TLS_TDEP_H */
diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c
index 9c5ce85..a5ff21e 100644
--- a/gdb/symfile-debug.c
+++ b/gdb/symfile-debug.c
@@ -895,9 +895,7 @@ show_debug_symfile (struct ui_file *file, int from_tty,
gdb_printf (file, _("Symfile debugging is %s.\n"), value);
}
-void _initialize_symfile_debug ();
-void
-_initialize_symfile_debug ()
+INIT_GDB_FILE (symfile_debug)
{
add_setshow_boolean_cmd ("symfile", no_class, &debug_symfile, _("\
Set debugging of the symfile functions."), _("\
diff --git a/gdb/symfile-mem.c b/gdb/symfile-mem.c
index 92672d7..274dc0f 100644
--- a/gdb/symfile-mem.c
+++ b/gdb/symfile-mem.c
@@ -204,9 +204,7 @@ add_vsyscall_page (inferior *inf)
}
}
-void _initialize_symfile_mem ();
-void
-_initialize_symfile_mem ()
+INIT_GDB_FILE (symfile_mem)
{
add_cmd ("add-symbol-file-from-memory", class_files,
add_symbol_file_from_memory_command,
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 9a6322d..0e47f50 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -1101,7 +1101,7 @@ symbol_file_add_with_addrs (const gdb_bfd_ref_ptr &abfd, const char *name,
no separate debug file. If there is a separate debug file which
does not have symbols, we'll have emitted this message for that
file, and so printing it twice is just redundant. */
- if (should_print && !objfile_has_symbols (objfile)
+ if (should_print && !objfile->has_symbols ()
&& objfile->separate_debug_objfile == nullptr)
gdb_printf (_("(No debugging symbols found in %ps)\n"),
styled_string (file_name_style.style (), name));
@@ -2323,7 +2323,7 @@ add_symbol_file_command (const char *args, int from_tty)
objf = symbol_file_add (filename.get (), add_flags, &section_addrs,
flags);
- if (!objfile_has_symbols (objf) && objf->per_bfd->minimal_symbol_count <= 0)
+ if (!objf->has_symbols () && objf->per_bfd->minimal_symbol_count <= 0)
warning (_("newly-added symbol file \"%ps\" does not provide any symbols"),
styled_string (file_name_style.style (), filename.get ()));
@@ -2662,7 +2662,7 @@ reread_symbols (int from_tty)
objfile->expand_all_symtabs ();
}
- if (!objfile_has_symbols (objfile))
+ if (!objfile->has_symbols ())
{
gdb_stdout->wrap_here (0);
gdb_printf (_("(no debugging symbols found)\n"));
@@ -3849,9 +3849,7 @@ test_set_ext_lang_command ()
#endif /* GDB_SELF_TEST */
-void _initialize_symfile ();
-void
-_initialize_symfile ()
+INIT_GDB_FILE (symfile)
{
struct cmd_list_element *c;
diff --git a/gdb/symmisc.c b/gdb/symmisc.c
index 8a95958..0cb6a1b 100644
--- a/gdb/symmisc.c
+++ b/gdb/symmisc.c
@@ -1051,9 +1051,7 @@ maintenance_info_line_tables (const char *regexp, int from_tty)
/* Do early runtime initializations. */
-void _initialize_symmisc ();
-void
-_initialize_symmisc ()
+INIT_GDB_FILE (symmisc)
{
add_cmd ("symbols", class_maintenance, maintenance_print_symbols, _("\
Print dump of current symbol definitions.\n\
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 5147aee..7d1a0b0 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -60,7 +60,6 @@
#include "cp-abi.h"
#include "cp-support.h"
#include "observable.h"
-#include "solist.h"
#include "macrotab.h"
#include "macroscope.h"
@@ -2163,13 +2162,6 @@ lookup_symbol_aux (const char *name, symbol_name_match_type match_type,
domain_name (domain).c_str (), language_str (language));
}
- /* Make sure we do something sensible with is_a_field_of_this, since
- the callers that set this parameter to some non-null value will
- certainly use it later. If we don't set it, the contents of
- is_a_field_of_this are undefined. */
- if (is_a_field_of_this != NULL)
- memset (is_a_field_of_this, 0, sizeof (*is_a_field_of_this));
-
langdef = language_def (language);
/* Search specified block and its superiors. Don't search
@@ -4499,7 +4491,7 @@ info_sources_filter::matches (const char *fullname) const
switch (m_match_type)
{
case match_on::DIRNAME:
- dirname = ldirname (fullname);
+ dirname = gdb_ldirname (fullname);
to_match = dirname.c_str ();
break;
case match_on::BASENAME:
@@ -4714,7 +4706,7 @@ info_sources_worker (struct ui_out *uiout,
if (uiout->is_mi_like_p ())
{
const char *debug_info_state;
- if (objfile_has_symbols (objfile))
+ if (objfile->has_symbols ())
{
if (debug_fully_readin)
debug_info_state = "fully-read";
@@ -4730,7 +4722,7 @@ info_sources_worker (struct ui_out *uiout,
if (!debug_fully_readin)
uiout->text ("(Full debug information has not yet been read "
"for this file.)\n");
- if (!objfile_has_symbols (objfile))
+ if (!objfile->has_symbols ())
uiout->text ("(Objfile has no debug information.)\n");
uiout->text ("\n");
}
@@ -6206,8 +6198,6 @@ default_collect_symbol_completion_matches_break_on
if (current_language->macro_expansion () == macro_expansion_c
&& code == TYPE_CODE_UNDEF)
{
- gdb::unique_xmalloc_ptr<struct macro_scope> scope;
-
/* This adds a macro's name to the current completion list. */
auto add_macro_name = [&] (const char *macro_name,
const macro_definition *,
@@ -6225,10 +6215,9 @@ default_collect_symbol_completion_matches_break_on
resulting expression will be evaluated at "file:line" -- but
at there does not seem to be a way to detect this at
completion time. */
- scope = default_macro_scope ();
- if (scope)
- macro_for_each_in_scope (scope->file, scope->line,
- add_macro_name);
+ macro_scope scope = default_macro_scope ();
+ if (scope.is_valid ())
+ macro_for_each_in_scope (scope.file, scope.line, add_macro_name);
/* User-defined macros are always visible. */
macro_for_each (macro_user_macros, add_macro_name);
@@ -7120,9 +7109,7 @@ info_module_var_func_command_completer (struct cmd_list_element *ignore,
-void _initialize_symtab ();
-void
-_initialize_symtab ()
+INIT_GDB_FILE (symtab)
{
cmd_list_element *c;
diff --git a/gdb/symtab.h b/gdb/symtab.h
index e547d10..0a57be5 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -2101,17 +2101,17 @@ struct field_of_this_result
symbol was not found in 'this'. If non-NULL, then one of the
other fields will be non-NULL as well. */
- struct type *type;
+ struct type *type = nullptr;
/* If the symbol was found as an ordinary field of 'this', then this
is non-NULL and points to the particular field. */
- struct field *field;
+ struct field *field = nullptr;
/* If the symbol was found as a function field of 'this', then this
is non-NULL and points to the particular field. */
- struct fn_fieldlist *fn_field;
+ struct fn_fieldlist *fn_field = nullptr;
};
/* Find the definition for a specified symbol name NAME
diff --git a/gdb/syscalls/riscv-canonicalize-syscall-gen.py b/gdb/syscalls/riscv-canonicalize-syscall-gen.py
new file mode 100755
index 0000000..40039bb
--- /dev/null
+++ b/gdb/syscalls/riscv-canonicalize-syscall-gen.py
@@ -0,0 +1,171 @@
+#!/usr/bin/env python3
+# pylint: disable=invalid-name
+
+# Copyright (C) 2024-2025 Free Software Foundation, Inc.
+# Contributed by Timur Golubovich
+
+# This file is part of GDB.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+# To get help message for this script, run:
+# ./gdb/syscalls/riscv-canonicalize-syscall-gen.py --help
+
+# Execution result:
+
+# usage: riscv-canonicalize-syscall-gen.py [-h] -i INPUT
+#
+# Generate file gdb/riscv-canonicalize-syscall-gen.c from path to riscv linux syscalls.
+#
+# options:
+# -h, --help show this help message and exit
+# -i INPUT, --input INPUT
+# path to riscv linux syscalls (glibc/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h)
+
+import argparse
+import re
+import sys
+from pathlib import Path as _Path
+
+head = """\
+/* DO NOT EDIT: Autogenerated by riscv-canonicalize-syscall-gen.py
+
+ Copyright (C) 2024-2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "defs.h"
+#include "riscv-linux-tdep.h"
+
+/* riscv64_canonicalize_syscall maps from the native riscv 64 Linux set
+ of syscall ids into a canonical set of syscall ids used by
+ process record. */
+
+enum gdb_syscall
+riscv64_canonicalize_syscall (int syscall)
+{
+ switch (syscall)
+ {
+"""
+
+tail = """\
+ default:
+ return gdb_sys_no_syscall;
+ }
+}
+"""
+
+
+class Generator:
+ def _get_gdb_syscalls(self, gdb_syscalls_path: _Path) -> list[str]:
+ gdb_syscalls: list[str] = []
+ with open(gdb_syscalls_path, "r", encoding="UTF-8") as file:
+ lines = file.readlines()
+ for line in lines:
+ match = re.search(r"\s*(?P<name>gdb_sys_[^S]+)\S*=", line)
+ if match:
+ gdb_syscalls.append(match.group("name").strip())
+ return gdb_syscalls
+
+ def _get_canon_syscalls_lines(
+ self, syscalls_path: _Path, gdb_syscalls: list[str]
+ ) -> list[str]:
+ canon_syscalls: dict[int, str] = {}
+ with open(syscalls_path, "r", encoding="UTF-8") as file:
+ lines = file.readlines()
+ for line in lines:
+ match = re.match(
+ r"#define\s+__NR_(?P<name>[^\s]+)\s+(?P<number>\d+)", line
+ )
+ if match:
+ syscall_name = match.group("name")
+ syscall_num = int(match.group("number"))
+ gdb_syscall_name = f"gdb_sys_{syscall_name}"
+ if gdb_syscall_name in gdb_syscalls:
+ value = f" case {syscall_num}: return {gdb_syscall_name};\n"
+ canon_syscalls[syscall_num] = value
+ # this is a place for corner cases
+ elif syscall_name == "mmap":
+ gdb_old_syscall_name = "gdb_sys_old_mmap"
+ value = (
+ f" case {syscall_num}: return {gdb_old_syscall_name};\n"
+ )
+ canon_syscalls[syscall_num] = value
+ else:
+ value = f" /* case {syscall_num}: return {gdb_syscall_name}; */\n"
+ canon_syscalls[syscall_num] = value
+ return [canon_syscalls[syscall_num] for syscall_num in sorted(canon_syscalls)]
+
+ def generate(self, syscalls_path: _Path) -> None:
+ repo_path = _Path(__file__).parent.parent.parent
+ gdb_syscalls_path = repo_path / "gdb" / "linux-record.h"
+ canon_syscalls_path = repo_path / "gdb" / "riscv-canonicalize-syscall-gen.c"
+
+ gdb_syscalls = self._get_gdb_syscalls(gdb_syscalls_path)
+ canon_syscalls_lines = self._get_canon_syscalls_lines(
+ syscalls_path, gdb_syscalls
+ )
+
+ with open(canon_syscalls_path, "w", encoding="UTF-8") as file:
+ file.writelines(head)
+ file.writelines(canon_syscalls_lines)
+ file.writelines(tail)
+
+
+help_message = """\
+Generate file gdb/riscv-canonicalize-syscall-gen.c
+from path to riscv linux syscalls.
+"""
+
+
+def setup_parser() -> argparse.ArgumentParser:
+ parser = argparse.ArgumentParser(description=help_message)
+ parser.add_argument(
+ "-i",
+ "--input",
+ type=_Path,
+ required=True,
+ help="path to riscv linux syscalls (glibc/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h)",
+ )
+ return parser
+
+
+def main(argv: list[str]) -> int:
+ try:
+ parser = setup_parser()
+ args = parser.parse_args(argv)
+ generator = Generator()
+ generator.generate(args.input)
+ return 0
+ except RuntimeError as e:
+ print(str(e))
+ return -1
+
+
+if __name__ == "__main__":
+ sys.exit(main(sys.argv[1:]))
diff --git a/gdb/target-connection.c b/gdb/target-connection.c
index 60d7732..02eea05 100644
--- a/gdb/target-connection.c
+++ b/gdb/target-connection.c
@@ -149,10 +149,7 @@ info_connections_command (const char *args, int from_tty)
print_connection (current_uiout, args);
}
-void _initialize_target_connection ();
-
-void
-_initialize_target_connection ()
+INIT_GDB_FILE (target_connection)
{
add_info ("connections", info_connections_command,
_("\
diff --git a/gdb/target-dcache.c b/gdb/target-dcache.c
index 9fcdd1e..6be1224 100644
--- a/gdb/target-dcache.c
+++ b/gdb/target-dcache.c
@@ -161,9 +161,7 @@ maint_flush_dcache_command (const char *command, int from_tty)
gdb_printf (_("The dcache was flushed.\n"));
}
-void _initialize_target_dcache ();
-void
-_initialize_target_dcache ()
+INIT_GDB_FILE (target_dcache)
{
add_setshow_boolean_cmd ("stack-cache", class_support,
&stack_cache_enabled_1, _("\
diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c
index 8042d25..dc5fbac 100644
--- a/gdb/target-descriptions.c
+++ b/gdb/target-descriptions.c
@@ -1880,9 +1880,7 @@ maintenance_check_xml_descriptions (const char *dir, int from_tty)
(long) selftests::xml_tdesc.size (), failed);
}
-void _initialize_target_descriptions ();
-void
-_initialize_target_descriptions ()
+INIT_GDB_FILE (target_descriptions)
{
cmd_list_element *cmd;
diff --git a/gdb/target.c b/gdb/target.c
index 4a1964e..f7c43f6 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -1250,11 +1250,21 @@ generic_tls_error (void)
_("Cannot find thread-local variables on this target"));
}
-/* Using the objfile specified in OBJFILE, find the address for the
- current thread's thread-local storage with offset OFFSET. */
+/* See target.h. */
+
CORE_ADDR
-target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset)
+target_translate_tls_address (struct objfile *objfile, CORE_ADDR offset,
+ const char *name)
{
+ if (!target_has_registers ())
+ {
+ if (name == nullptr)
+ error (_("Cannot translate TLS address without registers"));
+ else
+ error (_("Cannot find address of TLS symbol `%s' without registers"),
+ name);
+ }
+
volatile CORE_ADDR addr = 0;
struct target_ops *target = current_inferior ()->top_target ();
gdbarch *gdbarch = current_inferior ()->arch ();
@@ -2454,6 +2464,7 @@ target_pre_inferior ()
if (!gdbarch_has_global_solist (current_inferior ()->arch ()))
{
no_shared_libraries (current_program_space);
+ current_program_space->unset_solib_ops ();
invalidate_target_mem_regions ();
@@ -3194,8 +3205,8 @@ target_ops::fileio_fstat (int fd, struct stat *sb, fileio_error *target_errno)
}
int
-target_ops::fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno)
+target_ops::fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno)
{
*target_errno = FILEIO_ENOSYS;
return -1;
@@ -3321,17 +3332,17 @@ target_fileio_fstat (int fd, struct stat *sb, fileio_error *target_errno)
/* See target.h. */
int
-target_fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno)
+target_fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno)
{
for (target_ops *t = default_fileio_target (); t != NULL; t = t->beneath ())
{
- int ret = t->fileio_stat (inf, filename, sb, target_errno);
+ int ret = t->fileio_lstat (inf, filename, sb, target_errno);
if (ret == -1 && *target_errno == FILEIO_ENOSYS)
continue;
- target_debug_printf_nofunc ("target_fileio_stat (%s) = %d (%d)",
+ target_debug_printf_nofunc ("target_fileio_lstat (%s) = %d (%d)",
filename, ret,
ret != -1 ? 0 : *target_errno);
return ret;
@@ -4492,10 +4503,7 @@ set_write_memory_registers_permission (const char *args, int from_tty,
update_observer_mode ();
}
-void _initialize_target ();
-
-void
-_initialize_target ()
+INIT_GDB_FILE (target)
{
the_debug_target = new debug_target ();
diff --git a/gdb/target.h b/gdb/target.h
index 004494d..365e894 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -1016,8 +1016,8 @@ struct target_ops
filesystem seen by the debugger (GDB or, for remote targets, the
remote stub). Return 0 on success, or -1 if an error occurs (and
set *TARGET_ERRNO). */
- virtual int fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno);
+ virtual int fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno);
/* Close FD on the target. Return 0, or -1 if an error occurs
(and set *TARGET_ERRNO). */
@@ -2256,8 +2256,8 @@ extern int target_fileio_fstat (int fd, struct stat *sb,
filesystem seen by the debugger (GDB or, for remote targets, the remote
stub). Return 0 on success, or -1 if an error occurs (and set
*TARGET_ERRNO). */
-extern int target_fileio_stat (struct inferior *inf, const char *filename,
- struct stat *sb, fileio_error *target_errno);
+extern int target_fileio_lstat (struct inferior *inf, const char *filename,
+ struct stat *sb, fileio_error *target_errno);
/* Close FD on the target. Return 0, or -1 if an error occurs
(and set *TARGET_ERRNO). */
@@ -2472,8 +2472,14 @@ extern void target_pre_inferior ();
extern void target_preopen (int);
+/* Using the objfile specified in OBJFILE, find the address for the
+ current thread's thread-local storage with offset OFFSET. If it's
+ provided, NAME might be used to indicate the relevant variable
+ in an error message. */
+
extern CORE_ADDR target_translate_tls_address (struct objfile *objfile,
- CORE_ADDR offset);
+ CORE_ADDR offset,
+ const char *name = nullptr);
/* Return the "section" containing the specified address. */
const struct target_section *target_section_by_addr (struct target_ops *target,
diff --git a/gdb/testsuite/Makefile.in b/gdb/testsuite/Makefile.in
index 0d5ad90..4a6665d 100644
--- a/gdb/testsuite/Makefile.in
+++ b/gdb/testsuite/Makefile.in
@@ -440,14 +440,15 @@ expect-read1 expect-readmore:
# function, making it read one byte at a time. Running the testsuite
# with this catches racy tests.
read1.so: lib/read1.c
- $(ECHO_CC) $(CC) -o $@ ${srcdir}/lib/read1.c -Wall -g -shared -fPIC $(CFLAGS)
+ $(ECHO_CC) $(CC) -o $@ ${srcdir}/lib/read1.c -Wall -g -shared -fPIC \
+ $(filter-out -fsanitize=%,$(CFLAGS))
# Build the readmore.so preload library. This overrides the `read'
# function, making it try harder to read more at a time. Running the
# testsuite with this catches racy tests.
readmore.so: lib/read1.c
$(ECHO_CC) $(CC) -o $@ ${srcdir}/lib/read1.c -Wall -g -shared -fPIC \
- $(CFLAGS) -DREADMORE
+ $(filter-out -fsanitize=%,$(CFLAGS)) -DREADMORE
# Build the read1 machinery.
.PHONY: read1 readmore
diff --git a/gdb/testsuite/analyze-racy-logs.py b/gdb/testsuite/analyze-racy-logs.py
index e7c5647..f24bea9 100755
--- a/gdb/testsuite/analyze-racy-logs.py
+++ b/gdb/testsuite/analyze-racy-logs.py
@@ -62,7 +62,6 @@ sum_matcher = re.compile("^(.?(PASS|FAIL)): (.*)$")
def parse_sum_line(line: str, dic: dict[str, set[str]]):
"""Parse a single LINE from a sumfile, and store the results in the
dictionary referenced by DIC."""
- global sum_matcher
line = line.rstrip()
m = re.match(sum_matcher, line)
@@ -96,7 +95,6 @@ def read_sum_files(files: list[str]):
"""Read the sumfiles (passed as a list in the FILES variable), and
process each one, filling the FILES_AND_TESTS global dictionary with
information about them."""
- global files_and_tests
for x in files:
with open(x, "r") as f:
@@ -115,7 +113,6 @@ def identify_racy_tests():
This function does that for all sets (PASS, FAIL, KPASS, KFAIL, etc.),
and then print a sorted list (without duplicates) of all the tests
that were found to be racy."""
- global files_and_tests
# First, construct two dictionaries that will hold one set of
# testcases for each state (PASS, FAIL, etc.).
diff --git a/gdb/testsuite/boards/cc-with-dwz-5.exp b/gdb/testsuite/boards/cc-with-dwz-5.exp
new file mode 100644
index 0000000..b254f91
--- /dev/null
+++ b/gdb/testsuite/boards/cc-with-dwz-5.exp
@@ -0,0 +1,28 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is a dejagnu "board file" and is used to run the testsuite
+# with contrib/cc-with-tweaks.sh -5.
+#
+# NOTE: We assume dwz is in $PATH.
+#
+# Example usage:
+# bash$ cd $objdir
+# bash$ make check-gdb \
+# RUNTESTFLAGS='--target_board=cc-with-dwz-5'
+#
+
+set CC_WITH_TWEAKS_FLAGS "-5"
+load_board_description "cc-with-tweaks"
diff --git a/gdb/testsuite/gdb.ada/array_subscript_addr/p.adb b/gdb/testsuite/gdb.ada/array_subscript_addr/p.adb
index eaa35c5..057d7a0 100644
--- a/gdb/testsuite/gdb.ada/array_subscript_addr/p.adb
+++ b/gdb/testsuite/gdb.ada/array_subscript_addr/p.adb
@@ -14,11 +14,12 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
procedure P is
- type Table is array (1 .. 3) of Integer;
+ -- Make this large enough to force it into memory with gnat-llvm.
+ type Table is array (1 .. 15) of Integer;
function Create (I : Integer) return Table is
begin
- return (4 + I, 8 * I, 7 * I + 4);
+ return (4 + I, 8 * I, 7 * I + 4, others => 72);
end Create;
A : Table := Create (7);
diff --git a/gdb/testsuite/gdb.ada/bp_inlined_func.exp b/gdb/testsuite/gdb.ada/bp_inlined_func.exp
index 6593d1e..04cf755 100644
--- a/gdb/testsuite/gdb.ada/bp_inlined_func.exp
+++ b/gdb/testsuite/gdb.ada/bp_inlined_func.exp
@@ -41,8 +41,10 @@ gdb_test "break read_small" \
for {set i 0} {$i < 4} {incr i} {
with_test_prefix "iteration $i" {
+ # gnat-llvm may emit a call to an out-of-line copy, so allow
+ # for this here.
gdb_test "continue" \
- "Breakpoint $bkptno_num_re, b\\.read_small \\(\\).*" \
+ "Breakpoint $bkptno_num_re, ($hex in )?b\\.read_small \\(\\).*" \
"stopped in read_small"
}
}
diff --git a/gdb/testsuite/gdb.ada/dyn-bit-offset.exp b/gdb/testsuite/gdb.ada/dyn-bit-offset.exp
new file mode 100644
index 0000000..f8a4363
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/dyn-bit-offset.exp
@@ -0,0 +1,79 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+require allow_ada_tests
+
+standard_ada_testfile exam
+
+set flags {debug}
+if {[ada_minimal_encodings]} {
+ lappend flags additional_flags=-fgnat-encodings=minimal
+}
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $flags] != ""} {
+ return -1
+}
+
+# GCC needs to have fixes:
+# - 809b46d2ccc ("Partially lift restriction from loc_list_from_tree_1")
+# - d7f24e37d4b ("Fix oversight about big-endian targets in latest change")
+set have_xfail [gnat_version_compare <= {16 1}]
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/exam.adb]
+runto "exam.adb:$bp_location"
+
+set re_pass \
+ [string_to_regexp \
+ " = (discr => 3, array_field => (-5, -6, -7), field => -5, another_field => -6)"]
+set re_xfail_le \
+ [string_to_regexp \
+ " = (discr => 3, array_field => (-5, -6, -7), field => -4, another_field => -4)"]
+set re_xfail_be \
+ [string_to_regexp \
+ " = (discr => 3, array_field => (-5, -6, -7), field => -6, another_field => -6)"]
+
+gdb_test_multiple "print spr" "" {
+ -re -wrap $re_pass {
+ pass $gdb_test_name
+ }
+ -re -wrap $re_xfail_le|$re_xfail_be {
+ if { $have_xfail } {
+ xfail $gdb_test_name
+ } else {
+ fail $gdb_test_name
+ }
+ }
+}
+
+set re_pass " = -5"
+set re_xfail_le " = -4"
+set re_xfail_be " = -6"
+
+gdb_test_multiple "print spr.field" "" {
+ -re -wrap $re_pass {
+ pass $gdb_test_name
+ }
+ -re -wrap $re_xfail_le|$re_xfail_be {
+ if { $have_xfail } {
+ xfail $gdb_test_name
+ } else {
+ fail $gdb_test_name
+ }
+ }
+}
diff --git a/gdb/testsuite/gdb.ada/dyn-bit-offset/exam.adb b/gdb/testsuite/gdb.ada/dyn-bit-offset/exam.adb
new file mode 100644
index 0000000..5c7f70b
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/dyn-bit-offset/exam.adb
@@ -0,0 +1,45 @@
+-- Copyright 2025 Free Software Foundation, Inc.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+procedure Exam is
+ type Small is range -7 .. -4;
+ for Small'Size use 2;
+
+ type Packed_Array is array (Integer range <>) of Small;
+ pragma pack (Packed_Array);
+
+ subtype Range_Int is Natural range 0 .. 7;
+
+ type Some_Packed_Record (Discr : Range_Int := 3) is record
+ Array_Field : Packed_Array (1 .. Discr);
+ Field: Small;
+ case Discr is
+ when 3 =>
+ Another_Field : Small;
+ when others =>
+ null;
+ end case;
+ end record;
+ pragma Pack (Some_Packed_Record);
+ pragma No_Component_Reordering (Some_Packed_Record);
+
+ SPR : Some_Packed_Record := (Discr => 3,
+ Field => -5,
+ Another_Field => -6,
+ Array_Field => (-5, -6, -7));
+
+begin
+ null; -- STOP
+end Exam;
diff --git a/gdb/testsuite/gdb.ada/finish-var-size.exp b/gdb/testsuite/gdb.ada/finish-var-size.exp
index e038ed4..ae30086 100644
--- a/gdb/testsuite/gdb.ada/finish-var-size.exp
+++ b/gdb/testsuite/gdb.ada/finish-var-size.exp
@@ -22,7 +22,13 @@ require {expr [gcc_major_version] >= 12}
standard_ada_testfile p
-if {[gdb_compile_ada "${srcfile}" "${binfile}" executable debug] != ""} {
+set opts {}
+lappend opts debug
+if { [have_fvar_tracking] } {
+ lappend opts additional_flags=-fvar-tracking
+}
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $opts] != ""} {
return -1
}
diff --git a/gdb/testsuite/gdb.ada/fixed_points.exp b/gdb/testsuite/gdb.ada/fixed_points.exp
index 8bb9e10..0e65004 100644
--- a/gdb/testsuite/gdb.ada/fixed_points.exp
+++ b/gdb/testsuite/gdb.ada/fixed_points.exp
@@ -90,6 +90,10 @@ foreach_gnat_encoding scenario flags {all minimal} {
# This only started working in GCC 11.
if {$scenario == "minimal" && [gnat_version_compare >= 11]} {
gdb_test "print fp5_var" " = 3e-19"
+
+ gdb_test "print Float(Object_Fixed) = Float(Semicircle_Delta * 5)" \
+ " = true" \
+ "examine object_fixed"
}
# This failed before GCC 10.
diff --git a/gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb b/gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb
index adab614..94a41b9 100644
--- a/gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb
+++ b/gdb/testsuite/gdb.ada/fixed_points/fixed_points.adb
@@ -64,6 +64,12 @@ procedure Fixed_Points is
for Another_Type'size use 64;
Another_Fixed : Another_Type := Another_Delta * 5;
+ Semicircle_Delta : constant := 1.0/(2**31);
+ type Semicircle_Type is delta Semicircle_Delta range -1.0 .. (1.0 - Semicircle_Delta);
+ for Semicircle_Type'small use Semicircle_Delta;
+ for Semicircle_Type'size use 32;
+ Object_Fixed : Semicircle_Type := Semicircle_Delta * 5;
+
begin
Base_Object := 1.0/16.0; -- Set breakpoint here
Subtype_Object := 1.0/16.0;
@@ -75,4 +81,5 @@ begin
Do_Nothing (FP4_Var'Address);
Do_Nothing (FP5_Var'Address);
Do_Nothing (Another_Fixed'Address);
+ Do_Nothing (Object_Fixed'Address);
end Fixed_Points;
diff --git a/gdb/testsuite/gdb.ada/negative-bit-offset.exp b/gdb/testsuite/gdb.ada/negative-bit-offset.exp
new file mode 100644
index 0000000..c5fcae1
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/negative-bit-offset.exp
@@ -0,0 +1,36 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test negative DW_AT_bit_offset.
+
+load_lib "ada.exp"
+
+require allow_ada_tests
+
+standard_ada_testfile prog
+
+# This particular output is only generated with -gdwarf-4.
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable \
+ {debug additional_flags=-gdwarf-4}] != ""} {
+ return
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/prog.adb]
+runto "prog.adb:$bp_location"
+
+gdb_test "print xp" \
+ [string_to_regexp "(x => 21, y => (-1, -2, -3, -4, -5, -6, -7, -8, -9, -10))"]
diff --git a/gdb/testsuite/gdb.ada/negative-bit-offset/prog.adb b/gdb/testsuite/gdb.ada/negative-bit-offset/prog.adb
new file mode 100644
index 0000000..e3c1775
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/negative-bit-offset/prog.adb
@@ -0,0 +1,36 @@
+-- Copyright 2025 Free Software Foundation, Inc.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+procedure Prog is
+
+ type Small is range -32 .. 31;
+ for Small'Size use 6;
+
+ type SomeArray is array (POSITIVE range <>) of Small;
+
+ type SomePackedArray is array (POSITIVE range <>) of Small;
+ pragma Pack (SomePackedArray);
+
+ type SomePackedRecord is record
+ X: Small;
+ Y: SomePackedArray (1 .. 10);
+ end record;
+ pragma Pack (SomePackedRecord);
+
+ XP: SomePackedRecord := (21, (-1, -2, -3, -4, -5, -6, -7, -8, -9, -10));
+
+begin
+ null; -- STOP
+end;
diff --git a/gdb/testsuite/gdb.ada/null_overload/foo.adb b/gdb/testsuite/gdb.ada/null_overload/foo.adb
index 002238f..55d3fd6 100644
--- a/gdb/testsuite/gdb.ada/null_overload/foo.adb
+++ b/gdb/testsuite/gdb.ada/null_overload/foo.adb
@@ -13,6 +13,8 @@
-- You should have received a copy of the GNU General Public License
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+with pck; use pck;
+
procedure Foo is
type R_Type is null record;
@@ -38,5 +40,5 @@ procedure Foo is
U_Ptr : U_P_T := null;
begin
- null; -- START
+ Do_Nothing (U_Ptr'Address); -- START
end Foo;
diff --git a/gdb/testsuite/gdb.ada/null_overload/pck.adb b/gdb/testsuite/gdb.ada/null_overload/pck.adb
new file mode 100644
index 0000000..95bd90a
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/null_overload/pck.adb
@@ -0,0 +1,23 @@
+-- Copyright 2020-2025 Free Software Foundation, Inc.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+package body Pck is
+
+ procedure Do_Nothing (A : System.Address) is
+ begin
+ null;
+ end Do_Nothing;
+
+end Pck;
diff --git a/gdb/testsuite/gdb.ada/null_overload/pck.ads b/gdb/testsuite/gdb.ada/null_overload/pck.ads
new file mode 100644
index 0000000..114aee0
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/null_overload/pck.ads
@@ -0,0 +1,22 @@
+-- Copyright 2020-2025 Free Software Foundation, Inc.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+with System;
+
+package Pck is
+
+ procedure Do_Nothing (A : System.Address);
+
+end Pck;
diff --git a/gdb/testsuite/gdb.ada/packed_record_2.exp b/gdb/testsuite/gdb.ada/packed_record_2.exp
new file mode 100644
index 0000000..d0bcdbd
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/packed_record_2.exp
@@ -0,0 +1,61 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+load_lib "ada.exp"
+
+require allow_ada_tests
+
+standard_ada_testfile exam
+
+set flags {debug}
+if {[ada_minimal_encodings]} {
+ lappend flags additional_flags=-fgnat-encodings=minimal
+}
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable $flags] != ""} {
+ return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/exam.adb]
+runto "exam.adb:$bp_location"
+
+set spr_contents "discr => 3, field => -4, array_field => \\(-5, -6, -7\\)"
+
+gdb_test "print spr" " = \\($spr_contents\\)"
+
+gdb_test "print spr.discr" " = 3"
+
+# See PR ada/32880 -- gdb should probably print array (1 .. 3) here,
+# but instead shows array (<>). However as this isn't totally
+# relevant to this test, we just accept it.
+gdb_test "ptype spr" \
+ [multi_line \
+ "type = tagged record" \
+ " discr: range 1 .. 8;" \
+ " field: range -7 .. -4;" \
+ " array_field: array \\(<>\\) of exam.small <packed: 2-bit elements>;" \
+ "end record"]
+
+gdb_test_multiple "print sc" "" {
+ -re " \\($spr_contents, outer => 2, another_array => \\(-7, -6\\)\\)" {
+ pass $gdb_test_name
+ }
+ -re " \\($spr_contents, outer => $decimal, another_array => \\(.*\\)\\)" {
+ # Other output is a known GCC bug.
+ xfail $gdb_test_name
+ }
+}
diff --git a/gdb/testsuite/gdb.ada/packed_record_2/exam.adb b/gdb/testsuite/gdb.ada/packed_record_2/exam.adb
new file mode 100644
index 0000000..e528ecf
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/packed_record_2/exam.adb
@@ -0,0 +1,51 @@
+-- Copyright 2025 Free Software Foundation, Inc.
+--
+-- This program is free software; you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation; either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+procedure Exam is
+ type Small is range -7 .. -4;
+ for Small'Size use 2;
+
+ type Range_Int is range 1 .. 8;
+ for Range_Int'Size use 3;
+
+ type Packed_Array is array (Range_Int range <>) of Small;
+ pragma pack (Packed_Array);
+
+ type Some_Packed_Record (Discr : Range_Int) is tagged record
+ Field: Small;
+ Array_Field : Packed_Array (1 .. Discr);
+ end record;
+ pragma Pack (Some_Packed_Record);
+
+ type Sub_Class (Inner, Outer : Range_Int)
+ is new Some_Packed_Record (Inner) with
+ record
+ Another_Array : Packed_Array (1 .. Outer);
+ end record;
+ pragma Pack (Sub_Class);
+
+ SPR : Some_Packed_Record := (Discr => 3,
+ Field => -4,
+ Array_Field => (-5, -6, -7));
+
+ SC : Sub_Class := (Inner => 3,
+ Outer => 2,
+ Field => -4,
+ Array_Field => (-5, -6, -7),
+ Another_Array => (-7, -6));
+
+begin
+ null; -- STOP
+end Exam;
diff --git a/gdb/testsuite/gdb.ada/scalar_storage.exp b/gdb/testsuite/gdb.ada/scalar_storage.exp
index 6b29226..52a85cd 100644
--- a/gdb/testsuite/gdb.ada/scalar_storage.exp
+++ b/gdb/testsuite/gdb.ada/scalar_storage.exp
@@ -45,10 +45,30 @@ if {![runto "storage.adb:$bp_location"]} {
return
}
-gdb_test "print V_LE" "= \\(value => 126, another_value => 12, color => green\\)"
+set re "value => 126, another_value => 12, color => green"
# This requires a compiler fix that is in GCC 14.
-if { ![gnat_version_compare >= 14] } {
- setup_kfail "DW_AT_endianity on enum types" *-*-*
+set have_xfail [expr ![gnat_version_compare >= 14]]
+set re_color "(red|green|blue|$decimal)"
+set re_xfail \
+ "value => $decimal, another_value => $decimal, color => $re_color"
+
+set re_pre [string_to_regexp " = ("]
+set re_post [string_to_regexp ")"]
+set re $re_pre$re$re_post
+set re_xfail $re_pre$re_xfail$re_post
+
+foreach var { V_LE V_BE } {
+ gdb_test_multiple "print $var" "" {
+ -re -wrap $re {
+ pass $gdb_test_name
+ }
+ -re -wrap $re_xfail {
+ if { $have_xfail } {
+ xfail $gdb_test_name
+ } else {
+ fail $gdb_test_name
+ }
+ }
+ }
}
-gdb_test "print V_BE" "= \\(value => 126, another_value => 12, color => green\\)"
diff --git a/gdb/testsuite/gdb.ada/task_switch_in_core.exp b/gdb/testsuite/gdb.ada/task_switch_in_core.exp
index 3aafc2b..bded377 100644
--- a/gdb/testsuite/gdb.ada/task_switch_in_core.exp
+++ b/gdb/testsuite/gdb.ada/task_switch_in_core.exp
@@ -15,7 +15,7 @@
load_lib "ada.exp"
-require allow_ada_tests
+require allow_ada_tests gcore_cmd_available
standard_ada_testfile crash
diff --git a/gdb/testsuite/gdb.ada/type-tick-size/prog.adb b/gdb/testsuite/gdb.ada/type-tick-size/prog.adb
index 34a9fca..a7457fd 100644
--- a/gdb/testsuite/gdb.ada/type-tick-size/prog.adb
+++ b/gdb/testsuite/gdb.ada/type-tick-size/prog.adb
@@ -50,6 +50,8 @@ procedure Prog is
Rec_Type_Size : Integer := Rec'Object_Size;
begin
+ Do_Nothing (Simple_Val'Address);
+ Do_Nothing (Rec_Val'Address);
Do_Nothing (Static_Blob'Address);
Do_Nothing (Dynamic_Blob'Address);
null; -- STOP
diff --git a/gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.c b/gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.c
new file mode 100644
index 0000000..c86beaf
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.c
@@ -0,0 +1,205 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Exercise unwinding AArch64's SVE registers from a signal frame. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <sys/prctl.h>
+#include <unistd.h>
+
+static int second_vl = 0;
+
+static void
+initialize_sve_state_main ()
+{
+ __asm __volatile ("dup z0.b, -1");
+ __asm __volatile ("dup z1.b, -1");
+ __asm __volatile ("dup z2.b, -1");
+ __asm __volatile ("dup z3.b, -1");
+ __asm __volatile ("dup z4.b, -1");
+ __asm __volatile ("dup z5.b, -1");
+ __asm __volatile ("dup z6.b, -1");
+ __asm __volatile ("dup z7.b, -1");
+ __asm __volatile ("dup z8.b, -1");
+ __asm __volatile ("dup z9.b, -1");
+ __asm __volatile ("dup z10.b, -1");
+ __asm __volatile ("dup z11.b, -1");
+ __asm __volatile ("dup z12.b, -1");
+ __asm __volatile ("dup z13.b, -1");
+ __asm __volatile ("dup z14.b, -1");
+ __asm __volatile ("dup z15.b, -1");
+ __asm __volatile ("dup z16.b, -1");
+ __asm __volatile ("dup z17.b, -1");
+ __asm __volatile ("dup z18.b, -1");
+ __asm __volatile ("dup z19.b, -1");
+ __asm __volatile ("dup z20.b, -1");
+ __asm __volatile ("dup z21.b, -1");
+ __asm __volatile ("dup z22.b, -1");
+ __asm __volatile ("dup z23.b, -1");
+ __asm __volatile ("dup z24.b, -1");
+ __asm __volatile ("dup z25.b, -1");
+ __asm __volatile ("dup z26.b, -1");
+ __asm __volatile ("dup z27.b, -1");
+ __asm __volatile ("dup z28.b, -1");
+ __asm __volatile ("dup z29.b, -1");
+ __asm __volatile ("dup z30.b, -1");
+ __asm __volatile ("dup z31.b, -1");
+ __asm __volatile ("ptrue p0.d");
+ __asm __volatile ("ptrue p1.d");
+ __asm __volatile ("ptrue p2.d");
+ __asm __volatile ("ptrue p3.d");
+ __asm __volatile ("ptrue p4.d");
+ __asm __volatile ("ptrue p5.d");
+ __asm __volatile ("ptrue p6.d");
+ __asm __volatile ("ptrue p7.d");
+ __asm __volatile ("ptrue p8.d");
+ __asm __volatile ("ptrue p9.d");
+ __asm __volatile ("ptrue p10.d");
+ __asm __volatile ("ptrue p11.d");
+ __asm __volatile ("ptrue p12.d");
+ __asm __volatile ("ptrue p13.d");
+ __asm __volatile ("ptrue p14.d");
+ __asm __volatile ("ptrue p15.d");
+ __asm __volatile ("setffr");
+}
+
+static void
+initialize_sve_state_sighandler ()
+{
+ __asm __volatile ("dup z0.b, -2");
+ __asm __volatile ("dup z1.b, -2");
+ __asm __volatile ("dup z2.b, -2");
+ __asm __volatile ("dup z3.b, -2");
+ __asm __volatile ("dup z4.b, -2");
+ __asm __volatile ("dup z5.b, -2");
+ __asm __volatile ("dup z6.b, -2");
+ __asm __volatile ("dup z7.b, -2");
+ __asm __volatile ("dup z8.b, -2");
+ __asm __volatile ("dup z9.b, -2");
+ __asm __volatile ("dup z10.b, -2");
+ __asm __volatile ("dup z11.b, -2");
+ __asm __volatile ("dup z12.b, -2");
+ __asm __volatile ("dup z13.b, -2");
+ __asm __volatile ("dup z14.b, -2");
+ __asm __volatile ("dup z15.b, -2");
+ __asm __volatile ("dup z16.b, -2");
+ __asm __volatile ("dup z17.b, -2");
+ __asm __volatile ("dup z18.b, -2");
+ __asm __volatile ("dup z19.b, -2");
+ __asm __volatile ("dup z20.b, -2");
+ __asm __volatile ("dup z21.b, -2");
+ __asm __volatile ("dup z22.b, -2");
+ __asm __volatile ("dup z23.b, -2");
+ __asm __volatile ("dup z24.b, -2");
+ __asm __volatile ("dup z25.b, -2");
+ __asm __volatile ("dup z26.b, -2");
+ __asm __volatile ("dup z27.b, -2");
+ __asm __volatile ("dup z28.b, -2");
+ __asm __volatile ("dup z29.b, -2");
+ __asm __volatile ("dup z30.b, -2");
+ __asm __volatile ("dup z31.b, -2");
+ __asm __volatile ("pfalse p0.b");
+ __asm __volatile ("pfalse p1.b");
+ __asm __volatile ("pfalse p2.b");
+ __asm __volatile ("pfalse p3.b");
+ __asm __volatile ("pfalse p4.b");
+ __asm __volatile ("pfalse p5.b");
+ __asm __volatile ("pfalse p6.b");
+ __asm __volatile ("pfalse p7.b");
+ __asm __volatile ("pfalse p8.b");
+ __asm __volatile ("pfalse p9.b");
+ __asm __volatile ("pfalse p10.b");
+ __asm __volatile ("pfalse p11.b");
+ __asm __volatile ("pfalse p12.b");
+ __asm __volatile ("pfalse p13.b");
+ __asm __volatile ("pfalse p14.b");
+ __asm __volatile ("pfalse p15.b");
+ __asm __volatile ("setffr");
+}
+
+/* Set new value for the SVE vector length.
+ Return the value that was set. */
+
+static int
+set_vl (int vl)
+{
+ int rc;
+
+ rc = prctl (PR_SVE_SET_VL, vl, 0, 0, 0);
+ if (rc < 0)
+ {
+ perror ("FAILED to PR_SVE_SET_VL");
+ exit (EXIT_FAILURE);
+ }
+
+ return rc & PR_SVE_VL_LEN_MASK;
+}
+
+static void
+sighandler (int sig, siginfo_t *info, void *ucontext)
+{
+ /* Set vector length to the second value. */
+ second_vl = set_vl (second_vl);
+ initialize_sve_state_sighandler ();
+ printf ("sighandler: second_vl = %d\n", second_vl); /* Break here. */
+}
+
+int
+main (int argc, char *argv[])
+{
+ if (argc != 3)
+ {
+ fprintf (stderr, "Usage: %s <first vl> <second vl>\n", argv[0]);
+ return 1;
+ }
+
+ int first_vl = atoi (argv[1]);
+ second_vl = atoi (argv[2]);
+
+ if (first_vl == 0 || second_vl == 0)
+ {
+ fprintf (stderr, "Invalid vector length.\n");
+ return 1;
+ }
+
+ /* Set vector length to the first value. */
+ first_vl = set_vl (first_vl);
+
+ printf ("main: first_vl = %d\n", first_vl);
+
+ unsigned char buf[256];
+
+ /* Use an SVE register to make the kernel start saving the SVE bank. */
+ asm volatile ("mov z0.b, #255\n\t"
+ "str z0, %0"
+ :
+ : "m" (buf)
+ : "z0", "memory");
+
+ initialize_sve_state_main ();
+
+ struct sigaction sigact;
+ sigact.sa_sigaction = sighandler;
+ sigact.sa_flags = SA_SIGINFO;
+ sigaction (SIGUSR1, &sigact, NULL);
+
+ kill (getpid (), SIGUSR1);
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.exp b/gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.exp
new file mode 100644
index 0000000..32340bb
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/aarch64-sve-sigunwind.exp
@@ -0,0 +1,106 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Exercise unwinding AArch64's SVE registers from a signal frame.
+
+require allow_aarch64_sve_tests
+# Remote targets can't communicate vector length changes to GDB via the RSP.
+require !gdb_protocol_is_remote
+
+set first_vl 0
+set second_vl 0
+
+# Find two valid VL values to use in the test.
+# The minimum supported VL is 16 bytes, maximum is 256 bytes, and VL can change
+# in increments of at least 16 bytes.
+for {set i 16} {$i <= 256} {incr i 16} {
+ if {![aarch64_supports_sve_vl $i]} {
+ continue
+ }
+
+ if {$first_vl == 0} {
+ set first_vl $i
+ } elseif {$second_vl == 0} {
+ set second_vl $i
+ break
+ }
+}
+
+if {$first_vl == 0 || $second_vl == 0} {
+ untested "test needs to support at least two vector lengths"
+ return
+}
+
+standard_testfile
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
+ [list debug additional_flags=-march=armv9-a]] } {
+ return
+}
+
+# We want SIGUSR1 to be delivered normally.
+gdb_test "handle SIGUSR1 nostop" \
+ [multi_line {Signal Stop Print Pass to program Description} \
+ {SIGUSR1 No Yes Yes User defined signal 1}] \
+ "don't stop for SIGUSR1"
+
+set linespec ${srcfile}:[gdb_get_line_number "Break here."]
+gdb_test_no_output "set args $first_vl $second_vl"
+
+if ![runto ${linespec}] {
+ return
+}
+
+set first_vg [expr $first_vl/8]
+set second_vg [expr $second_vl/8]
+
+gdb_test "print \$vg" ". = $second_vg" "vg was changed"
+
+for {set row 0} {$row < 32} {incr row} {
+ set register_name "\$z${row}\.b\.u"
+ gdb_test "print sizeof $register_name" " = $second_vl" \
+ "size of $register_name in the signal handler"
+ gdb_test "print $register_name" ". = \\{254 <repeats $second_vl times>\\}" \
+ "$register_name contents in signal handler"
+}
+
+for {set row 0} {$row < 16} {incr row} {
+ set register_name "\$p${row}"
+ gdb_test "print $register_name" ". = \\{(0, ){[expr $second_vl/8 - 1]}0\\}" \
+ "$register_name contents in signal handler"
+}
+gdb_test "print \$ffr" ". = \\{(255, ){[expr $second_vl/8 - 1]}255\\}" \
+ "ffr contents in signal handler"
+
+gdb_test "frame function main" \
+ [multi_line "#$decimal $hex in main \[^\r\n\]+" \
+ "$decimal\[ \t\]+kill \\(getpid \\(\\), SIGUSR1\\);"]
+
+gdb_test "print \$vg" ". = $first_vg" "vg was correctly unwound"
+
+for {set row 0} {$row < 32} {incr row} {
+ set register_name "\$z${row}\.b\.u"
+ gdb_test "print sizeof $register_name" " = $first_vl" \
+ "size of $register_name was correctly unwound"
+ gdb_test "print $register_name" ". = \\{255 <repeats $first_vl times>\\}" \
+ "$register_name contents were correctly unwound"
+}
+
+for {set row 0} {$row < 16} {incr row} {
+ set register_name "\$p${row}"
+ gdb_test "print $register_name" ". = \\{(1, ){[expr $first_vl/8 - 1]}1\\}" \
+ "$register_name contents were correctly unwound"
+}
+gdb_test "print \$ffr" ". = \\{(255, ){[expr $first_vl/8 - 1]}255\\}" \
+ "ffr contents were correctly unwound"
diff --git a/gdb/testsuite/gdb.arch/amd64-watchpoint-downgrade.exp b/gdb/testsuite/gdb.arch/amd64-watchpoint-downgrade.exp
index dcee040..5663b0d 100644
--- a/gdb/testsuite/gdb.arch/amd64-watchpoint-downgrade.exp
+++ b/gdb/testsuite/gdb.arch/amd64-watchpoint-downgrade.exp
@@ -58,7 +58,7 @@ gdb_test "starti" \
[multi_line \
"warning: watchpoint $num downgraded to software watchpoint" \
"" \
- "Program stopped\\." \
+ "(Program|Thread \[^\r\n\]) stopped\\." \
".*"]
# Watchpoint should now have downgraded to a s/w watchpoint.
diff --git a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection-stackalign.c b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection-stackalign.c
new file mode 100644
index 0000000..f55cee5
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection-stackalign.c
@@ -0,0 +1,27 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <alloca.h>
+
+int
+main (int argc, char **argv)
+{
+ volatile __attribute__ ((__aligned__ (64))) int a;
+ volatile char *p = (char *) alloca (argc * 12);
+ p[2] = 'b';
+ return 1;
+}
diff --git a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp
index eb93127..06285ce 100644
--- a/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp
+++ b/gdb/testsuite/gdb.arch/i386-prologue-skip-cf-protection.exp
@@ -19,41 +19,65 @@
# This option places an `endbr32`/`endbr64` instruction at the start of
# all functions, which can interfere with prologue analysis.
-standard_testfile .c
-set binfile ${binfile}
+standard_testfile .c -stackalign.c
require {is_any_target x86_64-*-* i?86-*-*}
-
require supports_fcf_protection
-set opts {debug additional_flags=-fcf-protection=full}
+# Tests if breakpoint set on main is placed past main's entry.
+proc test_run {} {
+ # Get start address of function main.
+ set main_addr [get_integer_valueof &main -1]
+ gdb_assert {$main_addr != -1}
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $opts] != "" } {
- untested "failed to compile"
- return
-}
+ set bp_addr -1
-clean_restart ${binfile}
+ # Put breakpoint on main, get the address where the breakpoint was installed.
+ gdb_test_multiple "break -q main" "break on main, get address" {
+ -re -wrap "Breakpoint $::decimal at ($::hex).*" {
+ set bp_addr $expect_out(1,string)
-# Get start address of function main.
-set main_addr [get_integer_valueof &main -1]
-gdb_assert {$main_addr != -1}
+ # Convert to decimal.
+ set bp_addr [expr $bp_addr]
-set bp_addr -1
+ pass $gdb_test_name
+ }
+ }
-# Put breakpoint on main, get the address where the breakpoint was installed.
-gdb_test_multiple "break -q main" "break on main, get address" {
- -re -wrap "Breakpoint $decimal at ($hex).*" {
- set bp_addr $expect_out(1,string)
+ # Make sure some prologue was skipped.
+ gdb_assert {$bp_addr != -1 && $bp_addr > $main_addr} \
+ "breakpoint placed past main's entry"
+}
- # Convert to decimal.
- set bp_addr [expr $bp_addr]
+with_test_prefix "skip-cf-protection" {
+ set opts {debug additional_flags=-fcf-protection=full}
- pass $gdb_test_name
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
+ $opts] != "" } {
+ untested "failed to compile"
+ return
}
+
+ clean_restart ${binfile}
+
+ test_run
}
-if { $bp_addr != -1 } {
- # Make sure some prologue was skipped.
- gdb_assert {$bp_addr > $main_addr}
+# Now, make sure that the prologue analysis does not end up at function's entry
+# when stack alignment sequence is generated right after 'endbr64'/'endbr32'.
+# That could happen if GDB handled those incorrectly - there was a bug that
+# checked for those two in incorrect order, which caused such issue.
+with_test_prefix "skip-cf-protection-stackalign" {
+ # gcc is easier to make it produce the sequence of interest.
+ if { ![is_c_compiler_gcc] } {
+ unsupported "stackalign test part requires gcc compiler"
+ return
+ }
+
+ if { [prepare_for_testing "failed to prepare" "${testfile}-stackalign" \
+ $srcfile2 [list optimize=-O0 additional_flags=-fcf-protection=full]] } {
+ return
+ }
+
+ test_run
}
diff --git a/gdb/testsuite/gdb.base/attach-deleted-exec.exp b/gdb/testsuite/gdb.base/attach-deleted-exec.exp
index 82a7bb4..45fac0d 100644
--- a/gdb/testsuite/gdb.base/attach-deleted-exec.exp
+++ b/gdb/testsuite/gdb.base/attach-deleted-exec.exp
@@ -67,5 +67,49 @@ if { [regexp $re_nfs $filename] } {
gdb_assert { [string equal $filename /proc/${testpid}/exe] } $test
}
+# Restart GDB.
+clean_restart
+
+# Setup an empty sysroot. GDB will fail to find the executable within
+# the sysroot. Additionally, the presence of a sysroot should prevent
+# GDB from trying to load the executable from /proc/PID/exe.
+set sysroot [standard_output_file "sysroot"]
+gdb_test_no_output "set sysroot $sysroot" \
+ "setup sysroot"
+
+# Attach to the inferior. GDB should complain about failing to find
+# the executable. It is the name of the executable that GDB doesn't
+# find that we're interesting in here. For native targets GDB should
+# be looking for BINFILE, not /proc/PID/exe.
+#
+# For extended-remote targets things are unfortunately harder. Native
+# GDB looks for BINFILE because it understands that GDB will be
+# looking in the sysroot. But remote GDB doesn't know if GDB is using
+# a sysroot or not. As such, gdbserver will return /proc/PID/exe if
+# it knows that the file has been deleted locally. This isn't great
+# if GDB then plans to look in a sysroot, but equally, if the remote
+# file has been deleted, then the name GDB will return, will have had
+# " (deleted" appended, so we're unlikely to get a hit in the sysroot
+# either way.
+if { [target_info gdb_protocol] == "extended-remote" } {
+ set filename_re "/proc/$testpid/exe"
+} else {
+ set filename_re "\[^\r\n\]+/${testfile} \\(deleted\\)"
+}
+
+verbose -log "APB: warning: No executable has been specified, and target executable $filename_re could not be found\\. Try using the \"file\" command\\."
+
+gdb_test "attach $testpid" \
+ [multi_line \
+ "Attaching to process $decimal" \
+ "warning: No executable has been specified, and target executable $filename_re could not be found\\. Try using the \"file\" command\\." \
+ ".*"] \
+ "attach to inferior"
+
+# Check GDB hasn't managed to load an executable.
+gdb_test "info inferior" \
+ "\\*\[^)\]+\\)\\s*" \
+ "confirm no executable is loaded."
+
# Cleanup.
kill_wait_spawned_process $test_spawn_id
diff --git a/gdb/testsuite/gdb.base/bg-execution-repeat.c b/gdb/testsuite/gdb.base/bg-execution-repeat.c
index 8e9bae4..3c0cc76 100644
--- a/gdb/testsuite/gdb.base/bg-execution-repeat.c
+++ b/gdb/testsuite/gdb.base/bg-execution-repeat.c
@@ -37,9 +37,9 @@ main (void)
{
alarm (60);
+ do_wait = 1;
foo ();
- do_wait = 1;
wait ();
/* do_wait set to 0 externally. */
diff --git a/gdb/testsuite/gdb.base/bg-execution-repeat.exp b/gdb/testsuite/gdb.base/bg-execution-repeat.exp
index b1496ee..d5580fb 100644
--- a/gdb/testsuite/gdb.base/bg-execution-repeat.exp
+++ b/gdb/testsuite/gdb.base/bg-execution-repeat.exp
@@ -67,6 +67,17 @@ proc test {continue_cmd} {
# enable the "set var" command with an interrupt / continue& pair.
gdb_test -no-prompt-anchor "interrupt"
+ set test "interrupt received"
+ set re [string_to_regexp "Program received signal SIGINT, Interrupt."]
+ gdb_expect {
+ -re $re {
+ pass $test
+ }
+ timeout {
+ fail "$test (timeout)"
+ }
+ }
+
# Allow the breakpoint to trigger.
gdb_test -no-prompt-anchor "set var do_wait=0"
diff --git a/gdb/testsuite/gdb.base/bp-cond-failure.exp b/gdb/testsuite/gdb.base/bp-cond-failure.exp
index d645454..4d03e7b 100644
--- a/gdb/testsuite/gdb.base/bp-cond-failure.exp
+++ b/gdb/testsuite/gdb.base/bp-cond-failure.exp
@@ -75,7 +75,7 @@ proc run_test { cond_eval access_type bpexpr nloc } {
"Error in testing condition for breakpoint ${bp_num}.2:" \
"Cannot access memory at address 0x0" \
"" \
- "Breakpoint ${bp_num}.2, foo \\(c=49 ...\\) at \[^\r\n\]+:\[0-9\]+" \
+ "(Thread \[^\r\n\]+ hit )?Breakpoint ${bp_num}.2, foo \\(c=49 ...\\) at \[^\r\n\]+:\[0-9\]+" \
"${::decimal}\\s+\[^\r\n\]+ breakpoint here\\. \[^\r\n\]+"]
} else {
gdb_test "continue" \
@@ -84,7 +84,7 @@ proc run_test { cond_eval access_type bpexpr nloc } {
"Error in testing condition for breakpoint ${bp_num}:" \
"Cannot access memory at address 0x0" \
"" \
- "Breakpoint ${bp_num}, bar \\(\\) at \[^\r\n\]+:\[0-9\]+" \
+ "(Thread \[^\r\n\]+ hit )?Breakpoint ${bp_num}, bar \\(\\) at \[^\r\n\]+:\[0-9\]+" \
"${::decimal}\\s+\[^\r\n\]+ breakpoint here\\. \[^\r\n\]+"]
}
}
diff --git a/gdb/testsuite/gdb.base/bp-permanent.c b/gdb/testsuite/gdb.base/bp-permanent.c
index d586acc..72e5e8a 100644
--- a/gdb/testsuite/gdb.base/bp-permanent.c
+++ b/gdb/testsuite/gdb.base/bp-permanent.c
@@ -101,7 +101,7 @@ test_signal_no_handler (void)
}
static void
-test_signal_nested_handler ()
+test_signal_nested_handler (int sig)
{
test ();
}
diff --git a/gdb/testsuite/gdb.base/bp-permanent.exp b/gdb/testsuite/gdb.base/bp-permanent.exp
index 62ce3f6..c6c6269 100644
--- a/gdb/testsuite/gdb.base/bp-permanent.exp
+++ b/gdb/testsuite/gdb.base/bp-permanent.exp
@@ -134,7 +134,7 @@ proc test {always_inserted sw_watchpoint} {
unsupported "failed to stop at permanent breakpoint"
return
}
- -re "Program received signal SIGTRAP.*$gdb_prompt $" {
+ -re "received signal SIGTRAP.*$gdb_prompt $" {
pass $test
}
}
@@ -174,7 +174,7 @@ proc test {always_inserted sw_watchpoint} {
# disabled, it should act as if we hadn't created it in the first
# place. IOW, we should get a random signal, and, the breakpoint's
# command should not run.
- gdb_test "continue" "Program received signal SIGTRAP.*" \
+ gdb_test "continue" "received signal SIGTRAP.*" \
"disabled permanent breakpoint doesn't explain stop"
gdb_test "info breakpoints" \
diff --git a/gdb/testsuite/gdb.base/break-dbg.cc b/gdb/testsuite/gdb.base/break-dbg.cc
new file mode 100644
index 0000000..642ded0
--- /dev/null
+++ b/gdb/testsuite/gdb.base/break-dbg.cc
@@ -0,0 +1,31 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+volatile int global_var = 0;
+
+int
+foo ()
+{
+ return global_var;
+}
+
+int
+main ()
+{
+ int res = foo ();
+ return res;
+}
diff --git a/gdb/testsuite/gdb.base/break-dbg.exp b/gdb/testsuite/gdb.base/break-dbg.exp
new file mode 100644
index 0000000..3652b8e
--- /dev/null
+++ b/gdb/testsuite/gdb.base/break-dbg.exp
@@ -0,0 +1,70 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+# Some basic testing of 'set debug breakpoint on'. At one point a bug
+# meant that some breakpoints would immediately trigger a segfault if
+# GDB tried to run with breakpoint debugging turned on.
+#
+# Test is compiled as C++ only so 'catch catch/throw/rethrow' have a
+# something to do. The original bug would trigger for any 'catch'
+# style breakpoint, so C++ isn't really a hard requirement.
+
+standard_testfile .cc
+
+require allow_cplus_tests
+
+if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} \
+ {debug c++}] } {
+ return
+}
+
+if {![runto_main]} {
+ return
+}
+
+gdb_test "catch catch" "^Catchpoint $decimal \\(catch\\)"
+gdb_test "catch throw" "^Catchpoint $decimal \\(throw\\)"
+gdb_test "catch rethrow" "^Catchpoint $decimal \\(rethrow\\)"
+
+gdb_test "catch exec" "^Catchpoint $decimal \\(exec\\)"
+gdb_test "catch fork" "^Catchpoint $decimal \\(fork\\)"
+gdb_test "catch vfork" "^Catchpoint $decimal \\(vfork\\)"
+
+gdb_test "catch load" "^Catchpoint $decimal \\(load\\)"
+gdb_test "catch unload" "^Catchpoint $decimal \\(unload\\)"
+
+gdb_test "catch signal" "^Catchpoint $decimal \\(standard signals\\)"
+gdb_test "catch syscall" "^Catchpoint $decimal \\(any syscall\\)"
+
+gdb_test "watch -l global_var" "\[Ww]atchpoint $decimal: -location global_var"
+
+gdb_test_no_output "set debug breakpoint on"
+
+set saw_bp_debug_line false
+gdb_test_multiple "step" "" {
+ -re "^step\r\n" {
+ exp_continue
+ }
+ -re "^\\\[breakpoint\\\] \[^\r\n\]+\r\n" {
+ set saw_bp_debug_line true
+ exp_continue
+ }
+ -re "^$gdb_prompt $" {
+ gdb_assert { $saw_bp_debug_line } $gdb_test_name
+ }
+ -re "^\[^\r\n\]*\r\n" {
+ exp_continue
+ }
+}
diff --git a/gdb/testsuite/gdb.base/break1.c b/gdb/testsuite/gdb.base/break1.c
index 110341c..26c4663 100644
--- a/gdb/testsuite/gdb.base/break1.c
+++ b/gdb/testsuite/gdb.base/break1.c
@@ -23,7 +23,13 @@ struct some_struct
{
int a_field;
int b_field;
- union { int z_field; };
+ union
+ {
+ struct
+ {
+ int z_field;
+ };
+ };
};
struct some_struct values[50];
diff --git a/gdb/testsuite/gdb.base/catch-fork-kill.exp b/gdb/testsuite/gdb.base/catch-fork-kill.exp
index 0fd853b..224a8df 100644
--- a/gdb/testsuite/gdb.base/catch-fork-kill.exp
+++ b/gdb/testsuite/gdb.base/catch-fork-kill.exp
@@ -32,6 +32,8 @@
standard_testfile
+require allow_fork_tests
+
# Build two programs -- one for fork, and another for vfork.
set testfile_fork "${testfile}-fork"
set testfile_vfork "${testfile}-vfork"
diff --git a/gdb/testsuite/gdb.base/catch-fork-static.exp b/gdb/testsuite/gdb.base/catch-fork-static.exp
index b171a6d..9d50d5d 100644
--- a/gdb/testsuite/gdb.base/catch-fork-static.exp
+++ b/gdb/testsuite/gdb.base/catch-fork-static.exp
@@ -21,9 +21,7 @@
# ld.so probes before reaching main, and ptrace flags were set then. But a
# static executable would just keep running and never catch the fork.
-# Until "catch fork" is implemented on other targets...
-#
-require {is_any_target "*-*-linux*" "*-*-openbsd*"}
+require allow_fork_tests
# Reusing foll-fork.c since it's a simple forking program.
standard_testfile foll-fork.c
diff --git a/gdb/testsuite/gdb.base/catch-signal-fork.exp b/gdb/testsuite/gdb.base/catch-signal-fork.exp
index dea0cc4..2a33ee1 100644
--- a/gdb/testsuite/gdb.base/catch-signal-fork.exp
+++ b/gdb/testsuite/gdb.base/catch-signal-fork.exp
@@ -14,6 +14,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
require {!target_info exists gdb,nosignals}
+require allow_fork_tests
standard_testfile
diff --git a/gdb/testsuite/gdb.base/coredump-filter-build-id.exp b/gdb/testsuite/gdb.base/coredump-filter-build-id.exp
index 7594cc2..eb5b489 100644
--- a/gdb/testsuite/gdb.base/coredump-filter-build-id.exp
+++ b/gdb/testsuite/gdb.base/coredump-filter-build-id.exp
@@ -28,7 +28,7 @@ if { ![istarget *-*-linux*] } {
untested "$testfile.exp"
return -1
}
-require is_x86_64_m64_target
+require is_x86_64_m64_target gcore_cmd_available
if { [prepare_for_testing "failed to prepare" $testfile $srcfile {debug build-id}] } {
return -1
diff --git a/gdb/testsuite/gdb.base/corefile-shmem-zero-id-lib.c b/gdb/testsuite/gdb.base/corefile-shmem-zero-id-lib.c
new file mode 100644
index 0000000..58fdec6
--- /dev/null
+++ b/gdb/testsuite/gdb.base/corefile-shmem-zero-id-lib.c
@@ -0,0 +1,522 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* This file contains a library that can be preloaded into GDB on Linux
+ using the LD_PRELOAD technique.
+
+ The library intercepts calls to OPEN, CLOSE, READ, and PREAD in order to
+ fake the inode number of a shared memory mapping.
+
+ When GDB creates a core file (e.g. with the 'gcore' command), then
+ shared memory mappings should be included in the generated core file.
+
+ The 'id' for the shared memory mapping shares the inode slot in the
+ /proc/PID/smaps file, which is what GDB consults to decide which
+ mappings should be included in the core file.
+
+ It is possible for a shared memory mapping to have an 'id' of zero.
+
+ At one point there was a bug in GDB where mappings with an inode of zero
+ would not be included in the generated core file. This meant that most
+ shared memory mappings would be included in the generated core file,
+ but, if a shared memory mapping happened to get an 'id' of zero, then,
+ because this would appear as a zero inode in the smaps file, this shared
+ memory mapping would be excluded from the generated core file.
+
+ This preload library spots when GDB opens a /proc/PID/smaps file and
+ immediately copies the contents of this file into an internal buffer.
+ The buffer is then scanned looking for a shared memory mapping, and, if
+ a shared memory mapping is found, its 'id' (in the inode position) is
+ changed to zero.
+
+ Calls to read/pread are intercepted, and attempts to read from the smaps
+ file are then served from the modified buffer contents.
+
+ The close calls are monitored and, when the smaps file is closed, the
+ internal buffer is released.
+
+ This works with GDB (currently) because the requirements for access to
+ the smaps file are pretty simple. GDB opens the file and grabs the
+ entire contents with a single pread call and a large buffer. There's no
+ seeking within the file or anything like that.
+
+ The intention is that this library is preloaded into a GDB session which
+ is then used to start an inferior and generate a core file. GDB will
+ then see the zero inode for the shared memory mapping and should, if the
+ bug is correctly fixed, still add the shared memory mapping to the
+ generated core file. */
+
+#define _GNU_SOURCE
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <dlfcn.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdarg.h>
+#include <errno.h>
+#include <ctype.h>
+#include <string.h>
+#include <stdbool.h>
+#include <assert.h>
+
+/* Logging. */
+
+static void
+log_msg (const char *fmt, ...)
+{
+#ifdef LOGGING
+ va_list ap;
+
+ va_start (ap, fmt);
+ vfprintf (stderr, fmt, ap);
+ va_end (ap);
+#endif /* LOGGING */
+}
+
+/* Error handling, message and exit. */
+
+static void
+error (const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start (ap, fmt);
+ vfprintf (stderr, fmt, ap);
+ va_end (ap);
+
+ exit (EXIT_FAILURE);
+}
+
+/* The type of the open() function. */
+typedef int (*open_func_type)(const char *pathname, int flags, ...);
+
+/* The type of the close() function. */
+typedef int (*close_func_type)(int fd);
+
+/* The type of the read() function. */
+typedef ssize_t (*read_func_type)(int fd, void *buf, size_t count);
+
+/* The type of the pread() function. */
+typedef ssize_t (*pread_func_type) (int fd, void *buf, size_t count, off_t offset);
+
+/* Structure that holds information about a /proc/PID/smaps file that has
+ been opened. */
+struct interesting_file
+{
+ /* The file descriptor for the opened file. */
+ int fd;
+
+ /* The read offset within the file. Set to zero when the file is
+ opened. Any 'read' calls will update this offset. */
+ size_t offset;
+
+ /* The size of the contents within the buffer. This is not the total
+ buffer size (which might be larger). Attempts to read beyond SIZE
+ indicate an attempt to read beyond the end of the file. */
+ size_t size;
+
+ /* The (possibly modified) contents of the file. */
+ char *content;
+};
+
+/* We only track a single interesting file. Currently, for the use case
+ we imagine, GDB will only ever open one /proc/PID/smaps file at once. */
+struct interesting_file the_file = { -1, 0, 0, NULL };
+
+/* Update the contents of the global THE_FILE buffer. It is assumed that
+ the file contents have already been loaded into THE_FILE's content
+ buffer.
+
+ Look for any lines that represent a shared memory mapping and modify
+ the inode field (which holds the shared memory id) to be zero. */
+static void
+update_file_content_buffer (void)
+{
+ assert (the_file.content != NULL);
+
+ char *start = the_file.content;
+ do
+ {
+ /* Every line, even the last one, ends with a newline. */
+ char *end = strchrnul (start, '\n');
+ assert (end != NULL);
+ assert (*end != '\0');
+
+ /* Attribute lines start with an uppercase letter. The lines we want
+ to modify should start with a lower case hex character,
+ i.e. [0-9a-f]. Also, every line that we want to consider should
+ be long enough, but just in case, check the longest possible
+ filename that we care about. */
+ if (isxdigit (*start) && (isdigit (*start) || islower (*start))
+ && (end - start) > 23)
+ {
+ /* There are two possible filenames that we look for:
+ /SYSV%08x
+ /SYSV%08x (deleted)
+ The END pointer is pointing to the first character after the
+ filename.
+
+ Setup OFFSET to be the offset from END to the start of the
+ filename. As we check the filename we set OFFSET to 0 if the
+ filename doesn't match one of the expected patterns. */
+ size_t offset;
+ if (strncmp ((end - 13), "/SYSV", 5) == 0)
+ offset = 13;
+ else if (strncmp ((end - 23), "/SYSV", 5) == 0)
+ {
+ if (strncmp ((end - 10), " (deleted)", 10) == 0)
+ offset = 23;
+ else
+ offset = 0;
+ }
+ else
+ offset = 0;
+
+ for (int i = 0; i < 8 && offset != 0; ++i)
+ {
+ if (!isdigit (*(end - offset + 5 + i)))
+ offset = 0;
+ }
+
+ /* If OFFSET is non-zero then the filename on this line looks
+ like a shared memory mapping, and OFFSET is the offset from
+ END to the first character of the filename. */
+ if (offset != 0)
+ {
+ log_msg ("[LD_PRELOAD] shared memory entry: %.*s\n",
+ offset, (end - offset));
+
+ /* Set PTR to the first character before the filename. This
+ should be a white space character. */
+ char *ptr = end - offset - 1;
+ assert (isspace (*ptr));
+
+ /* Walk backwards until we find the inode field. */
+ while (isspace (*ptr))
+ --ptr;
+
+ /* Now replace every character in the inode field, except the
+ first one, with a space character. */
+ while (!isspace (*(ptr - 1)))
+ {
+ assert (isdigit (*ptr));
+ *ptr = ' ';
+ --ptr;
+ }
+
+ /* Replace the first character with '0'. */
+ assert (isdigit (*ptr));
+ *ptr = '0';
+
+ /* This print is checked for from GDB. */
+ printf ("[LD_PRELOAD] updated a shared memory mapping\n");
+ }
+ }
+
+ /* Update START to point to the next line. The last line of the
+ file will be empty. */
+ assert (*end == '\n');
+ start = end;
+ while (*start == '\n')
+ ++start;
+ }
+ while (*start != '\0');
+}
+
+/* Return true if PATHNAME has for form "/proc/PID/smaps" (without the
+ quotes). Otherwise, return false. */
+
+static bool
+is_smaps_file (const char *pathname)
+{
+ if (strncmp (pathname, "/proc/", 6) == 0)
+ {
+ int idx = 6;
+ while (isdigit (pathname[idx]))
+ idx++;
+ if (idx > 6 && strcmp (&pathname[idx], "/smaps") == 0)
+ return true;
+ }
+
+ return false;
+}
+
+/* Return true if PATHNAME should be considered interesting. PATHNAME is
+ interesting if it has the form /proc/PID/smaps, and there is no
+ interesting file already opened. */
+
+static bool
+is_interesting_pathname (const char *pathname)
+{
+ return the_file.fd == -1 && is_smaps_file (pathname);
+}
+
+/* Read the contents of an interesting file from FD (and open file
+ descriptor) into the global THE_FILE variable, making the file FD the
+ current interesting file. There should be no already open interesting
+ file when this function is called.
+
+ The contents of the file FD are read into a memory buffer and updated so
+ that any shared memory mappings listed within FD (which will be an smaps
+ file) will have the id zero. */
+
+static void
+read_interesting_file_contents (int fd)
+{
+#define BLOCK_SIZE 1024
+ /* Slurp contents into a local buffer. */
+ size_t buffer_size = 1024;
+ size_t offset = 0;
+
+ assert (the_file.size == 0);
+ assert (the_file.content == NULL);
+ assert (the_file.fd == -1);
+ assert (the_file.offset == 0);
+
+ do
+ {
+ the_file.content = (char *) realloc (the_file.content, buffer_size);
+ if (the_file.content == NULL)
+ error ("[LD_PRELOAD] Failed allocating memory: %s\n", strerror (errno));
+
+ ssize_t bytes_read = read (fd, the_file.content + offset, BLOCK_SIZE);
+ if (bytes_read == -1)
+ error ("[LD_PRELOAD] Failed reading file: %s\n", strerror (errno));
+
+ the_file.size += bytes_read;
+
+ if (bytes_read < BLOCK_SIZE)
+ break;
+
+ offset += BLOCK_SIZE;
+ buffer_size += BLOCK_SIZE;
+ }
+ while (true);
+
+ /* Add a null terminator. This makes the update easier. We know
+ there will be space because we only break out of the loop above
+ when the last read returns less than BLOCK_SIZE bytes. This means
+ we allocated an extra BLOCK_SIZE bytes, but didn't fill them all.
+ This means there must be at least 1 byte available for the null. */
+ the_file.content[the_file.size] = '\0';
+
+ /* Reset the seek pointer. */
+ if (lseek (fd, 0, SEEK_SET) == (off_t) -1)
+ error ("[LD_PRELOAD] Failed to lseek in file: %s\n", strerror (errno));
+
+ /* Record the file descriptor, this is used in read, pread, and close
+ in order to spot when we need to intercept the call. */
+ the_file.fd = fd;
+
+ update_file_content_buffer ();
+#undef BLOCK_SIZE
+}
+
+/* Intercept calls to 'open'. If this is an attempt to open a
+ /proc/PID/smaps file then intercept it, load the file contents into a
+ buffer and update the file contents. For all other open requests, just
+ forward to the real open function. */
+int
+open (const char *pathname, int flags, ...)
+{
+ /* Pointer to the real open function. */
+ static open_func_type real_open = NULL;
+
+ /* Mode is only used if the O_CREAT flag is set in FLAGS. */
+ mode_t mode = 0;
+
+ /* Set true if this is a /proc/PID/smaps file. */
+ bool is_interesting = is_interesting_pathname (pathname);
+
+ /* Check if O_CREAT is in flags. If it is, get the mode. */
+ if (flags & O_CREAT)
+ {
+ va_list args;
+ va_start (args, flags);
+ mode = va_arg (args, mode_t);
+ va_end (args);
+ }
+
+ /* Debug. */
+ if (is_interesting)
+ log_msg ("[LD_PRELOAD] Opening file: %s\n", pathname);
+
+ /* Make sure we have a pointer to the real open() function. */
+ if (real_open == NULL)
+ {
+ /* Get the address of the real open() function. */
+ real_open = (open_func_type) dlsym (RTLD_NEXT, "open");
+ if (real_open == NULL)
+ error ("[LD_PRELOAD] dlsym() error for 'open': %s\n", dlerror ());
+ }
+
+ /* Call the original open() function with the provided arguments. */
+ int res = -1;
+ if (flags & O_CREAT)
+ res = real_open (pathname, flags, mode);
+ else
+ res = real_open (pathname, flags);
+
+ if (res != -1 && is_interesting)
+ read_interesting_file_contents (res);
+
+ return res;
+}
+
+/* Like above, but for open64. */
+
+int
+open64 (const char *pathname, int flags, ...)
+{
+ /* Pointer to the real open64 function. */
+ static open_func_type real_open64 = NULL;
+
+ /* Mode is only used if the O_CREAT flag is set in FLAGS. */
+ mode_t mode = 0;
+
+ /* Set true if this is a /proc/PID/smaps file. */
+ bool is_interesting = is_interesting_pathname (pathname);
+
+ /* Check if O_CREAT is in flags. If it is, get the mode. */
+ if (flags & O_CREAT)
+ {
+ va_list args;
+ va_start (args, flags);
+ mode = va_arg (args, mode_t);
+ va_end (args);
+ }
+
+ /* Debug. */
+ if (is_interesting)
+ log_msg ("[LD_PRELOAD] Opening file: %s\n", pathname);
+
+ /* Make sure we have a pointer to the real open64() function. */
+ if (real_open64 == NULL)
+ {
+ /* Get the address of the real open64() function. */
+ real_open64 = (open_func_type) dlsym (RTLD_NEXT, "open64");
+ if (real_open64 == NULL)
+ error ("[LD_PRELOAD] dlsym() error for 'open64': %s\n", dlerror ());
+ }
+
+ /* Call the original open64() function with the provided arguments. */
+ int res = -1;
+ if (flags & O_CREAT)
+ res = real_open64 (pathname, flags, mode);
+ else
+ res = real_open64 (pathname, flags);
+
+ if (res != -1 && is_interesting)
+ read_interesting_file_contents (res);
+
+ return res;
+}
+
+/* Intercept the 'close' function. If this is a previously opened
+ interesting file then clean up. Otherwise, forward to the normal close
+ function. */
+int
+close (int fd)
+{
+ static close_func_type real_close = NULL;
+
+ if (fd == the_file.fd)
+ {
+ the_file.fd = -1;
+ free (the_file.content);
+ the_file.content = NULL;
+ the_file.offset = 0;
+ the_file.size = 0;
+ log_msg ("[LD_PRELOAD] Closing file.\n");
+ }
+
+ /* Make sure we have a pointer to the real open() function. */
+ if (real_close == NULL)
+ {
+ /* Get the address of the real open() function. */
+ real_close = (close_func_type) dlsym (RTLD_NEXT, "close");
+ if (real_close == NULL)
+ error ("[LD_PRELOAD] dlsym() error for 'close': %s\n", dlerror ());
+ }
+
+ return real_close (fd);
+}
+
+/* Intercept 'pread' calls. If this is a pread from a previously opened
+ interesting file, then read from the in memory buffer. Otherwise,
+ forward to the real pread function. */
+ssize_t
+pread (int fd, void *buf, size_t count, off_t offset)
+{
+ static pread_func_type real_pread = NULL;
+
+ if (fd == the_file.fd)
+ {
+ size_t max;
+
+ if (offset > the_file.size)
+ max = 0;
+ else
+ max = the_file.size - offset;
+ if (count > max)
+ count = max;
+
+ memcpy (buf, the_file.content + offset, count);
+ log_msg ("[LD_PRELOAD] Read from file.\n");
+ return count;
+ }
+
+ if (real_pread == NULL)
+ {
+ /* Get the address of the real read() function. */
+ real_pread = (pread_func_type) dlsym (RTLD_NEXT, "pread");
+ if (real_pread == NULL)
+ error ("[LD_PRELOAD] dlsym() error for 'pread': %s\n", dlerror ());
+ }
+
+ return real_pread (fd, buf, count, offset);
+}
+
+/* Intercept 'read' calls. If this is a read from a previously opened
+ interesting file, then read from the in memory buffer. Otherwise,
+ forward to the real read function. */
+ssize_t
+read (int fd, void *buf, size_t count)
+{
+ static read_func_type real_read = NULL;
+
+ if (fd == the_file.fd)
+ {
+ ssize_t bytes_read = pread (fd, buf, count, the_file.offset);
+ if (bytes_read > 0)
+ the_file.offset += bytes_read;
+ return bytes_read;
+ }
+
+ if (real_read == NULL)
+ {
+ /* Get the address of the real read() function. */
+ real_read = (read_func_type) dlsym (RTLD_NEXT, "read");
+ if (real_read == NULL)
+ error ("[LD_PRELOAD] dlsym() error for 'read': %s\n", dlerror ());
+ }
+
+ return real_read (fd, buf, count);
+}
diff --git a/gdb/testsuite/gdb.base/corefile-shmem-zero-id.c b/gdb/testsuite/gdb.base/corefile-shmem-zero-id.c
new file mode 100644
index 0000000..92d2edf
--- /dev/null
+++ b/gdb/testsuite/gdb.base/corefile-shmem-zero-id.c
@@ -0,0 +1,63 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <stdio.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <assert.h>
+#include <time.h>
+
+void
+breakpt (void)
+{
+ /* Nothing. */
+}
+
+int
+main (void)
+{
+ /* Create a shared memory mapping. */
+ int sid = shmget (IPC_PRIVATE, 0x1000, IPC_CREAT | IPC_EXCL | 0777);
+ if (sid == -1)
+ {
+ perror ("shmget");
+ exit (1);
+ }
+
+ /* Attach the shared memory mapping. */
+ void *addr = shmat (sid, NULL, SHM_RND);
+ if (addr == (void *) -1L)
+ {
+ perror ("shmat");
+ exit (1);
+ }
+
+ breakpt ();
+
+ /* Mark the shared memory mapping as deleted -- once the last user
+ has finished with it. */
+ if (shmctl (sid, IPC_RMID, NULL) != 0)
+ {
+ perror ("shmctl");
+ exit (1);
+ }
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/corefile-shmem-zero-id.exp b/gdb/testsuite/gdb.base/corefile-shmem-zero-id.exp
new file mode 100644
index 0000000..57c665e
--- /dev/null
+++ b/gdb/testsuite/gdb.base/corefile-shmem-zero-id.exp
@@ -0,0 +1,228 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This test script tries to check GDB's ability to create a core file
+# (e.g. with 'gcore' command) when there's a shared memory mapping
+# with the id zero.
+#
+# Testing this case is hard. Older kernels don't even seem to give
+# out the shared memory id zero. And on new kernels you still cannot
+# guarantee to grab the zero id for testing; the id might be in use by
+# some other process, or the kernel might just not give out that id
+# for some other reason.
+#
+# To figure out which mappings to include in the core file, GDB reads
+# the /proc/PID/smaps file. There is a field in this file which for
+# file backed mappings, holds the inode of the file. But for shared
+# memory mappings this field holds the shared memory id. The problem
+# was that GDB would ignore any entry in /proc/PID/smaps with an inode
+# entry of zero, which would catch the shared memory mapping with a
+# zero id.
+#
+# There was an attempt to write a test which spammed out requests for
+# shared memory mappings and tried to find the one with id zero, but
+# this was still really unreliable.
+#
+# This test takes a different approach. We compile a library which we
+# preload into the GDB process. This library intercepts calls to
+# open, close, read, and pread, and watches for an attempt to open the
+# /proc/PID/smaps file.
+#
+# When we see that file being opened, we copy the file contents into a
+# memory buffer and modify the buffer so that the inode field for any
+# shared memory mappings is set to zero. We then intercept calls to
+# read and pread and return results from that in memory buffer.
+#
+# The test executable itself create a shared memory mapping (which
+# might have any id).
+#
+# GDB, with the pre-load library in place, start the inferior and then
+# uses the 'gcore' command to dump a core file. When GDB opens the
+# smaps file and reads from it, the preload library ensures that GDB
+# sees an inode of zero.
+#
+
+# This test only works on Linux
+require isnative
+require {!is_remote host}
+require {!is_remote target}
+require {istarget *-linux*}
+require gcore_cmd_available
+
+standard_testfile .c -lib.c
+
+set libfile ${testfile}-lib
+set libobj [standard_output_file ${libfile}.so]
+
+# Compile the preload library. We only get away with this as we
+# limit this test to running when ISNATIVE is true.
+if { [build_executable "build preload lib" $libobj $srcfile2 \
+ {debug shlib libs=-ldl}] == -1 } {
+ return
+}
+
+# Now compile the inferior executable.
+if {[build_executable "build executable" $testfile $srcfile] == -1} {
+ return
+}
+
+# Spawn GDB with LIBOBJ preloaded using LD_PRELOAD.
+save_vars { env(LD_PRELOAD) env(ASAN_OPTIONS) } {
+ if { ![info exists env(LD_PRELOAD) ]
+ || $env(LD_PRELOAD) == "" } {
+ set env(LD_PRELOAD) "$libobj"
+ } else {
+ append env(LD_PRELOAD) ":$libobj"
+ }
+
+ # Prevent address sanitizer error:
+ # ASan runtime does not come first in initial library list; you should
+ # either link runtime to your application or manually preload it with
+ # LD_PRELOAD.
+ append_environment_default ASAN_OPTIONS verify_asan_link_order 0
+
+ clean_restart $binfile
+
+ # Start GDB with the modified environment, this means that, when
+ # using remote targets, gdbserver will also use the preload
+ # library.
+ if {![runto_main]} {
+ return
+ }
+}
+
+gdb_breakpoint breakpt
+gdb_continue_to_breakpoint "run to breakpt"
+
+# Check the /proc/PID/smaps file itself. The call to 'cat' should
+# inherit the preload library, so should see the modified file
+# contents. Check that the shared memory mapping line has an id of
+# zero. This confirms that the preload library is working. If the
+# preload library breaks then we'll start seeing non-zero shared
+# memory ids, which always worked, so we'd never know that this test
+# is broken!
+#
+# This check ensures the test is working as expected.
+set shmem_line_count 0
+set fixup_line_count 0
+set inf_pid [get_inferior_pid]
+gdb_test_multiple "shell cat /proc/${inf_pid}/smaps" "check smaps" {
+ -re "^\\\[LD_PRELOAD\\\] updated a shared memory mapping\r\n" {
+ incr fixup_line_count
+ exp_continue
+ }
+ -re "^\[^\r\n\]+($decimal)\\s+/SYSV\[0-9\]{8}(?: \\(deleted\\))?\r\n" {
+ set id $expect_out(1,string)
+ if { $id == 0 } {
+ incr shmem_line_count
+ }
+ exp_continue
+ }
+ -re "^$gdb_prompt $" {
+ with_test_prefix $gdb_test_name {
+ gdb_assert { $shmem_line_count == 1 } \
+ "single shared memory mapping found"
+ gdb_assert { $fixup_line_count == 1 } \
+ "single fixup line found"
+ }
+ }
+ -re "^\[^\r\n\]+\r\n" {
+ exp_continue
+ }
+}
+
+# Now generate a core file. This will use the preload library to read
+# the smaps file. The code below is copied from 'proc gdb_gcore_cmd',
+# but we don't use that as we also look for a message that is printed
+# by the LD_PRELOAD library. This is an extra level of check that the
+# preload library is triggering when needed.
+set corefile [standard_output_file ${testfile}.core]
+set saw_ld_preload_msg false
+set saw_saved_msg false
+with_timeout_factor 3 {
+ gdb_test_multiple "gcore $corefile" "save core file" {
+ -re "^\\\[LD_PRELOAD\\\] updated a shared memory mapping\r\n" {
+ # GDB actually reads the smaps file multiple times when
+ # creating a core file, so we'll see multiple of these
+ # fixup lines.
+ set saw_ld_preload_msg true
+ exp_continue
+ }
+ -re "^Saved corefile \[^\r\n\]+\r\n" {
+ set saw_saved_msg true
+ exp_continue
+ }
+ -re "^$gdb_prompt $" {
+ with_test_prefix $gdb_test_name {
+ gdb_assert { $saw_saved_msg } \
+ "saw 'Saved corefile' message"
+
+ # If we're using a remote target then the message from
+ # the preload library will go to gdbservers stdout,
+ # not GDB's, so don't check for it.
+ if { [gdb_protocol_is_native] } {
+ gdb_assert { $saw_ld_preload_msg } \
+ "saw LD_PRELOAD message from library"
+ }
+ }
+ }
+ -re "^\[^\r\n\]*\r\n" {
+ exp_continue
+ }
+ }
+}
+
+# Restart GDB. This time we are _not_ using the preload library. We
+# no longer need it as we are only analysing the core file now.
+clean_restart $binfile
+
+# Load the core file.
+gdb_test "core-file $corefile" \
+ "Program terminated with signal SIGTRAP, Trace/breakpoint trap\\..*" \
+ "load core file"
+
+# Look through the mappings. We _should_ see the shared memory
+# mapping. We _should_not_ see any of the special '[blah]' style
+# mappings, e.g. [vdso], [vstack], [vsyscalls], etc.
+set saw_special_mapping false
+set saw_shmem_mapping false
+gdb_test_multiple "info proc mappings" "" {
+ -re "\r\nStart Addr\[^\r\n\]+File\\s*\r\n" {
+ exp_continue
+ }
+
+ -re "^$hex\\s+$hex\\s+$hex\\s+$hex\\s+\\\[\\S+\\\]\\s*\r\n" {
+ set saw_special_mapping true
+ exp_continue
+ }
+
+ -re "^$hex\\s+$hex\\s+$hex\\s+$hex\\s+/SYSV\[0-9\]+ \\(deleted\\)\\s*\r\n" {
+ set saw_shmem_mapping true
+ exp_continue
+ }
+
+ -re "^$hex\\s+$hex\\s+$hex\\s+$hex\[^\r\n\]*\r\n" {
+ exp_continue
+ }
+
+ -re "^$gdb_prompt $" {
+ with_test_prefix $gdb_test_name {
+ gdb_assert { $saw_shmem_mapping } \
+ "check shared memory mapping exists"
+ gdb_assert { !$saw_special_mapping } \
+ "check no special mappings added"
+ }
+ }
+}
diff --git a/gdb/testsuite/gdb.base/default.exp b/gdb/testsuite/gdb.base/default.exp
index d4d6b20..01e3cc1 100644
--- a/gdb/testsuite/gdb.base/default.exp
+++ b/gdb/testsuite/gdb.base/default.exp
@@ -253,10 +253,39 @@ gdb_test "h" "List of classes of commands:(\[^\r\n\]*\[\r\n\])+aliases -- User-d
gdb_test "help" "List of classes of commands:(\[^\r\n\]*\[\r\n\])+aliases -- User-defined aliases of other commands(\[^\r\n\]*\[\r\n\])+breakpoints -- Making program stop at certain points(\[^\r\n\]*\[\r\n\])+data -- Examining data(\[^\r\n\]*\[\r\n\])+files -- Specifying and examining files(\[^\r\n\]*\[\r\n\])+obscure -- Obscure features(\[^\r\n\]*\[\r\n\])+running -- Running the program(\[^\r\n\]*\[\r\n\])+stack -- Examining the stack(\[^\r\n\]*\[\r\n\])+status -- Status inquiries(\[^\r\n\]*\[\r\n\])+support -- Support facilities(\[^\r\n\]*\[\r\n\])+user-defined -- User-defined commands(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by a class name for a list of commands in that class.(\[^\r\n\]*\[\r\n\])+Type \"help\" followed by command name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
#test handle
gdb_test "handle" "Argument required .signal to handle.*"
-#test info "i" abbreviation
-gdb_test "i" "List of \"info\" subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help info\" followed by subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "info \"i\" abbreviation"
+
+proc test_info_command { command message } {
+ set saw_info_header 0
+ set saw_help_info 0
+ set saw_command_abbrev 0
+ gdb_test_multiple $command $message -lbl {
+ -re "\r\nList of \"info\" subcommands:" {
+ verbose "Info header displayed"
+ set saw_info_header 1
+ exp_continue
+ }
+ -re "Type \"help info\" followed by subcommand name for full documentation\\." {
+ verbose "Help info displayed"
+ set saw_help_info 1
+ exp_continue
+ }
+ -re "\r\nCommand name abbreviations are allowed if unambiguous\\." {
+ verbose "Command name abbreviations displayed"
+ set saw_command_abbrev 1
+ exp_continue
+ }
+ -re -wrap "" {
+ gdb_assert { $saw_info_header && $saw_help_info
+ && $saw_command_abbrev } $gdb_test_name
+ }
+ }
+}
+
+#test info "i" abbreviation
+test_info_command "i" "info \"i\" abbreviation"
#test info
-gdb_test "info" "List of \"info\" subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help info\" followed by subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
+test_info_command "info" "info"
+
#test ignore
gdb_test "ignore" "Argument required .a breakpoint number.*"
#test info address
@@ -379,38 +408,52 @@ gdb_test "info registers" "The program has no registers now."
gdb_test "info s" "No stack." "info stack \"s\" abbreviation"
#test info stack
gdb_test "info stack" "No stack."
-#test info set
-# Test improved to check three parts:
-# 1) confirm
-# 2) prompt
-# 3) write
-# And only succeed if all three are matched.
-# This should fix an old problem on native solaris 2.8,
-# where this test fails due to this line:
+
+#test "info set" and "show" commands
+# The test needs to match the "prompt: ..." part to fix an old problem on native
+# Solaris 2.8, where this test fails due to this line:
# prompt: Gdb's prompt is "(gdb) ".^M
-set set_confirm_seen 0
-set set_prompt_seen 0
-gdb_test_multiple "info set" "info set" {
- -re "confirm: Whether to confirm potentially dangerous operations is o\[a-z\]*.(\[^\r\n\]*\[\r\n\])+history filename: The filename in which to record the command history is (\[^\r\n\]*\[\r\n\])+listsize: Number of source lines gdb will list by default is 10" {
- verbose "Confirm dislayed"
- set set_confirm_seen 1
- exp_continue
- }
- -re "Gdb's prompt is \"$gdb_prompt \"" {
- verbose "GDB prompt displayed"
- set set_prompt_seen 1
- exp_continue
- }
- -re "Writing into executable.*$gdb_prompt $" {
- verbose "write displayed"
- if { $set_prompt_seen && $set_confirm_seen } {
- pass "info set"
- } else {
- verbose "prompt $set_prompt_seen confirm $set_confirm_seen"
- fail "info set (incomplete output)"
+proc test_info_set_show { command } {
+ set set_confirm_seen 0
+ set set_history_filename_seen 0
+ set set_listsize_seen 0
+ set set_prompt_seen 0
+ set set_write_seen 0
+ gdb_test_multiple $command $command -lbl {
+ -re "\r\nconfirm: Whether to confirm potentially dangerous operations is o\[a-z\]+\\." {
+ verbose "Confirm displayed"
+ set set_confirm_seen 1
+ exp_continue
+ }
+ -re "\r\nhistory filename: The filename in which to record the command history is \[^\r\n\]+\\." {
+ verbose "History filename displayed"
+ set set_history_filename_seen 1
+ exp_continue
+ }
+ -re "\r\nlistsize: Number of source lines gdb will list by default is 10\\." {
+ verbose "Listsize displayed"
+ set set_listsize_seen 1
+ exp_continue
+ }
+ -re "\r\nprompt: Gdb's prompt is \"$::gdb_prompt \"" {
+ verbose "GDB prompt displayed"
+ set set_prompt_seen 1
+ exp_continue
+ }
+ -re "write: Writing into executable and core files is o\[a-z\]+\\." {
+ verbose "Write displayed"
+ set set_write_seen 1
+ exp_continue
+ }
+ -re -wrap "" {
+ gdb_assert { $set_confirm_seen && $set_history_filename_seen
+ && $set_listsize_seen && $set_prompt_seen
+ && $set_write_seen } $gdb_test_name
}
}
}
+test_info_set_show "info set"
+
gdb_test "info symbol" "Argument required .address.."
#test info source
gdb_test "info source" "No current source file..*"
@@ -591,12 +634,41 @@ gdb_test "set history" "List of \"set history\" subcommands:(\[^\r\n\]*\[\r\n\])
gdb_test "set language" "Requires an argument. Valid arguments are auto, local, unknown, ada, asm, c, c.., d, fortran, go, minimal, modula-2, objective-c, opencl, pascal, rust."
#test set listsize
gdb_test "set listsize" "Argument required .integer to set it to.*"
+
+proc test_set_print { command message } {
+ set saw_info_header 0
+ set saw_help_info 0
+ set saw_command_abbrev 0
+ gdb_test_multiple $command $message -lbl {
+ -re "\r\nList of \"set print\" subcommands:" {
+ verbose "Info header displayed"
+ set saw_info_header 1
+ exp_continue
+ }
+ -re "Type \"help set print\" followed by subcommand name for full documentation\\." {
+ verbose "Help info displayed"
+ set saw_help_info 1
+ exp_continue
+ }
+ -re "\r\nCommand name abbreviations are allowed if unambiguous\\." {
+ verbose "Command name abbreviations displayed"
+ set saw_command_abbrev 1
+ exp_continue
+ }
+ -re -wrap "" {
+ gdb_assert { $saw_info_header && $saw_help_info
+ && $saw_command_abbrev } $gdb_test_name
+ }
+ }
+}
+
#test set print "p" abbreviation
-gdb_test "set p" "List of \"set print\" subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "set print \"p\" abbreviation"
+test_set_print "set p" "set print \"p\" abbreviation"
#test set print "pr" abbreviation
-gdb_test "set pr" "List of \"set print\" subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous." "set print \"pr\" abbreviation"
+test_set_print "set pr" "set print \"pr\" abbreviation"
#test set print
-gdb_test "set print" "List of \"set print\" subcommands:(\[^\r\n\]*\[\r\n\])+Type \"help set print\" followed by subcommand name for full documentation.(\[^\r\n\]*\[\r\n\])+Command name abbreviations are allowed if unambiguous."
+test_set_print "set print" "set print"
+
#test set print address
gdb_test_no_output "set print address" "set print address"
#test set print array
@@ -699,6 +771,8 @@ set show_conv_list \
{$_gdb_minor = 1} \
{$_shell_exitsignal = void} \
{$_shell_exitcode = 0} \
+ {$_active_linker_namespaces = 1} \
+ {$_linker_namespace = <error: No registers.>}\
}
if [allow_python_tests] {
append show_conv_list \
@@ -739,12 +813,47 @@ gdb_test "show history" "history expansion: *History expansion on command input
gdb_test "show language" "The current source language is \"auto; currently c\"."
#test show listsize
gdb_test "show listsize" "Number of source lines gdb will list by default is 10."
+
+proc test_show_print { command } {
+ set saw_print_address 0
+ set saw_print_frame_args 0
+ set saw_print_symbol 0
+ set saw_print_vtbl 0
+ gdb_test_multiple $command $command -lbl {
+ -re "\r\nprint address: Printing of addresses is o\[a-z\]+\\." {
+ verbose "Print address displayed"
+ set saw_print_address 1
+ exp_continue
+ }
+ -re "\r\nprint frame-arguments: Printing of non-scalar frame arguments is \[^\r\n\]+\\." {
+ verbose "Print frame-arguments displayed"
+ set saw_print_frame_args 1
+ exp_continue
+ }
+ -re "\r\nprint symbol: Printing of symbols when printing pointers is o\[a-z\]+\\." {
+ verbose "Print symbol displayed"
+ set saw_print_symbol 1
+ exp_continue
+ }
+ -re "\r\nprint vtbl: Printing of C\\+\\+ virtual function tables is o\[a-z\]+\\." {
+ verbose "Print vtbl displayed"
+ set saw_print_vtbl 1
+ exp_continue
+ }
+ -re -wrap "" {
+ gdb_assert { $saw_print_address && $saw_print_frame_args
+ && $saw_print_symbol && $saw_print_vtbl } $gdb_test_name
+ }
+ }
+}
+
#test show print "p" abbreviation
-gdb_test "show p" ".*"
+test_show_print "show p"
#test show print "pr" abbreviation
-gdb_test "show pr" ".*"
+test_show_print "show pr"
#test show print
-gdb_test "show print" ".*"
+test_show_print "show print"
+
#test show paths
gdb_test "show paths" "Executable and object file path:.*"
#test show print address
@@ -790,30 +899,10 @@ gdb_test "show width" "Number of characters gdb thinks are in a line is.*"
#test show write
# This is only supported on targets which use exec.o.
gdb_test "show write" "Writing into executable and core files is o.*"
+
#test show
-set show_confirm_seen 0
-set show_prompt_seen 0
-gdb_test_multiple "show" "show" {
- -re "confirm: *Whether to confirm potentially dangerous operations is on.(\[^\r\n\]*\[\r\n\])+history filename: *The filename in which to record the command history is (\[^\r\n\]*\[\r\n\])+history save: *Saving of the history record on exit is on.(\[^\r\n\]*\[\r\n\])+history size: *The size of the command history is(\[^\r\n\]*\[\r\n\])+listsize: *Number of source lines gdb will list by default is 10(\[^\r\n]*\[\r\n\])+print elements: *Limit on string chars or array elements to print is 200." {
- verbose "Confirm displayed"
- set show_confirm_seen 1
- exp_continue
- }
- -re "Gdb's prompt is \"$gdb_prompt \"" {
- verbose "GDB prompt displayed"
- set show_prompt_seen 1
- exp_continue
- }
- -re "Writing into executable.*$gdb_prompt $" {
- verbose "write displayed"
- if { $show_prompt_seen && $show_confirm_seen } {
- pass "show"
- } else {
- verbose "prompt $show_prompt_seen confirm $show_confirm_seen"
- fail "show (incomplete output)"
- }
- }
-}
+test_info_set_show "show"
+
#history saving should stay disabled
gdb_test_no_output "set history save off" "set history save off"
#test stepi "si" abbreviation
diff --git a/gdb/testsuite/gdb.base/dlmopen-ns-ids-main.c b/gdb/testsuite/gdb.base/dlmopen-ns-ids-main.c
index 3bcd819..c7c038a 100644
--- a/gdb/testsuite/gdb.base/dlmopen-ns-ids-main.c
+++ b/gdb/testsuite/gdb.base/dlmopen-ns-ids-main.c
@@ -41,6 +41,12 @@ main (void)
handle[2] = dlmopen (LM_ID_NEWLM, DSO_NAME, RTLD_LAZY | RTLD_LOCAL);
assert (handle[2] != NULL);
+ for (dl = 2; dl >= 0; dl--)
+ {
+ fun = dlsym (handle[dl], "inc");
+ fun (dl);
+ }
+
dlclose (handle[0]); /* TAG: first dlclose */
dlclose (handle[1]); /* TAG: second dlclose */
dlclose (handle[2]); /* TAG: third dlclose */
diff --git a/gdb/testsuite/gdb.base/dlmopen-ns-ids.exp b/gdb/testsuite/gdb.base/dlmopen-ns-ids.exp
index 3ddc07e..4d3e8eb 100644
--- a/gdb/testsuite/gdb.base/dlmopen-ns-ids.exp
+++ b/gdb/testsuite/gdb.base/dlmopen-ns-ids.exp
@@ -105,4 +105,149 @@ proc test_info_shared {} {
"after unloading everything"
}
+# Run all tests related to the linkage namespaces convenience
+# variables, _active_namespaces and _current_namespaces.
+proc_with_prefix test_conv_vars {} {
+ clean_restart $::binfile
+
+ gdb_test "print \$_active_linker_namespaces" "1" \
+ "1 namespace before starting inferior"
+ gdb_test "print \$_linker_namespace" "No registers." \
+ "No current namespace before starting inferior"
+
+ if { ![runto_main] } {
+ return
+ }
+
+ gdb_test "print \$_active_linker_namespaces" "1" \
+ "Before activating namespaces"
+ gdb_test "print \$_linker_namespace" ".* = 0" \
+ "Still in the default namespace"
+
+ gdb_breakpoint "inc" allow-pending
+ gdb_breakpoint [gdb_get_line_number "TAG: first dlclose"]
+
+ foreach_with_prefix dl {3 2 1} {
+ gdb_continue_to_breakpoint "inc"
+
+ gdb_test "print \$_linker_namespace" ".* = $dl" \
+ "Verify we're in namespace $dl"
+ }
+
+ # Check that we display the namespace of the selected
+ # frame, not the lowermost one.
+ gdb_test "up" "\#1.*in main.*"
+ gdb_test "print \$_linker_namespace" ".* = 0" \
+ "print namespace of selected frame"
+
+ gdb_continue_to_breakpoint "first dlclose"
+ gdb_test "print \$_active_linker_namespaces" "4" "all SOs loaded"
+
+ gdb_test "next" ".*second dlclose.*" "close one SO"
+ gdb_test "print \$_active_linker_namespaces" "3" "one SOs unloaded"
+ gdb_test "next" ".*third dlclose.*" "close another SO"
+ gdb_test "print \$_active_linker_namespaces" "2" "two SOs unloaded"
+
+ # Restarting GDB so that we can test setting a breakpoint
+ # using the convenience variable, while a proper bp syntax
+ # isn't implemented for namespaces
+ clean_restart $::binfile
+ if {![runto_main]} {
+ return
+ }
+
+ # We need to load one SO because you can't have confitional
+ # breakpoints and pending breakpoints at the same time with
+ # gdb_breakpoint.
+ gdb_test "next" ".*assert.*" "load the first SO"
+ gdb_breakpoint "inc if \$_linker_namespace == 2"
+ gdb_continue_to_breakpoint "inc"
+ gdb_continue_to_end "" continue 1
+}
+
+# Run several tests relating to the command "info namespaces".
+proc test_info_linker_namespaces {} {
+ clean_restart $::binfile
+
+ # Check that "info linker-namespaces" while the inferior is not running
+ # doesn't crash.
+ gdb_test "info linker-namespaces" \
+ "Current inferior does not support linker namespaces\\. Use \"info sharedlibrary\" instead\\." \
+ "info linker-namespaces before running"
+
+ if { ![runto_main] } {
+ return
+ }
+
+ with_test_prefix "info linker-namespaces" {
+ gdb_breakpoint [gdb_get_line_number "TAG: first dlclose"]
+ gdb_continue_to_breakpoint "TAG: first dlclose"
+ }
+
+ # First, test printing a single namespace, and ensure all of
+ # them are correct, using both syntaxes.
+ set found_all_libs false
+ gdb_test_multiple "info linker-namespaces \[\[0\]\]" "print namespace 0" -lbl {
+ -re "^\r\nThere are ($::decimal) libraries loaded in linker namespace \\\[\\\[0\\\]\\\]" {
+ # Some systems may add libc and libm to every loaded namespace,
+ # others may load only one or neither, because the SO doesn't
+ # actually use either library. The best we can do is check if
+ # we found the dynamic linker, and up to 2 more libraries.
+ set libs $expect_out(1,string)
+ set found_all_libs [expr $libs - 1 <= 2]
+ exp_continue
+ }
+ -re "^\r\n$::gdb_prompt $" {
+ gdb_assert $found_all_libs "the correct number of libraries was reported"
+ }
+ -re "(^\r\n)?\[^\r\n\]+(?=\r\n)" {
+ exp_continue
+ }
+ }
+ foreach_with_prefix ns {1 2 3} {
+ set found_test_so false
+ set found_all_libs false
+ gdb_test_multiple "info linker-namespaces $ns" "print namespace $ns" -lbl {
+ -re "^\r\nThere are ($::decimal) libraries loaded in linker namespace \\\[\\\[$ns\\\]\\\]" {
+ set libs $expect_out(1,string)
+ # Some systems may add libc and libm to every loaded namespace,
+ # others may load only one or neither, because the SO doesn't
+ # actually use either library. The best we can do is check if
+ # we found the dynamic linker, the test SO, and maybe up to 2
+ # more libraries.
+ set found_all_libs [expr $libs - 2 <= 2]
+ exp_continue
+ }
+ -re "^\r\n\[^\r\n\]+${::binfile_lib}\[^\r\n\]*(?=\r\n)" {
+ set found_test_so true
+ exp_continue
+ }
+ -re "^\r\n$::gdb_prompt $" {
+ gdb_assert $found_test_so "this testfle's SO was reported"
+ gdb_assert $found_all_libs "the correct number of libraries was reported"
+ }
+ -re "(^\r\n)?\[^\r\n\]+(?=\r\n)" {
+ exp_continue
+ }
+ }
+ }
+
+ # These patterns are simpler, and purposefully glob multiple lines.
+ # The point is to ensure that we find and display all the namespaces,
+ # without worrying about the libraries printed, since that was tested
+ # above.
+ gdb_test "info linker-namespaces" \
+ [multi_line "There are 4 linker namespaces loaded" \
+ "There are $::decimal libraries loaded in linker namespace ..0.." \
+ ".*" \
+ "There are $::decimal libraries loaded in linker namespace ..1.." \
+ ".*" \
+ "There are $::decimal libraries loaded in linker namespace ..2.." \
+ ".*" \
+ "There are $::decimal libraries loaded in linker namespace ..3.." \
+ ".*" ] "print namespaces with no argument"
+}
+
test_info_shared
+test_conv_vars
+test_info_linker_namespaces
diff --git a/gdb/testsuite/gdb.base/exprs.exp b/gdb/testsuite/gdb.base/exprs.exp
index eb2d0e4..f703c18 100644
--- a/gdb/testsuite/gdb.base/exprs.exp
+++ b/gdb/testsuite/gdb.base/exprs.exp
@@ -284,3 +284,21 @@ gdb_test "print v_short + " \
# Test for a syntax error in the middle of an expression.
gdb_test "print v_short =}{= 3" \
"A syntax error in expression, near `\\}\\{= 3'\\."
+
+gdb_test_no_output "set debug parse 1"
+set saw_start 0
+set saw_val 0
+gdb_test_multiple "print 23" "print with debugging" -lbl {
+ -re "\r\nStarting parse(?=\r\n)" {
+ set saw_start 1
+ exp_continue
+ }
+ -re "\r\n.$decimal = 23(?=\r\n)" {
+ set saw_val 1
+ exp_continue
+ }
+
+ -re -wrap "" {
+ gdb_assert {$saw_start && $saw_val} $gdb_test_name
+ }
+}
diff --git a/gdb/testsuite/gdb.base/filename-completion.exp b/gdb/testsuite/gdb.base/filename-completion.exp
index cb3fc90..c10941c 100644
--- a/gdb/testsuite/gdb.base/filename-completion.exp
+++ b/gdb/testsuite/gdb.base/filename-completion.exp
@@ -385,7 +385,7 @@ proc run_quoting_and_escaping_tests { root } {
remove-symbol-file \
"target core" "target exec" "target tfile" \
"maint print c-tdesc" "save gdb-index"
- "save gdb-index -dwarf-5" }
+ "save gdb-index -dwarf-5" "shell ls"}
if { [allow_compile_tests] } {
lappend all_cmds "compile file"
}
@@ -408,6 +408,31 @@ proc run_quoting_and_escaping_tests { root } {
run_quoting_and_escaping_tests_1 $root $cmd
}
}
+
+ # Some additional testing of shell command. Test 'shell' and '!'
+ # when there are multiple filenames on the command line. This
+ # focuses on completion of the final filename. There is also some
+ # testing of the shell command above, this tests completion within
+ # the line.
+ foreach_with_prefix shell_cmd { "shell " "!" "pipe print 1 | " } {
+ foreach suffix { "aaa/aa bb" "bb2/dir 1/unique file" } {
+ set dir $root/$suffix
+
+ regsub -all " " "$dir" "\\ " dir_with_backslash
+
+ with_test_prefix "suffix='$suffix'" {
+ with_test_prefix "with_backslash" {
+ run_quoting_and_escaping_tests_1 $root "${shell_cmd}ls $dir_with_backslash"
+ }
+ with_test_prefix "with double quotes" {
+ run_quoting_and_escaping_tests_1 $root "${shell_cmd}ls \"$dir\""
+ }
+ with_test_prefix "with single quotes" {
+ run_quoting_and_escaping_tests_1 $root "${shell_cmd}ls '$dir'"
+ }
+ }
+ }
+ }
}
# Helper for run_unquoted_tests. ROOT is the root directory as setup
diff --git a/gdb/testsuite/gdb.base/foll-exec-c++.exp b/gdb/testsuite/gdb.base/foll-exec-c++.exp
new file mode 100644
index 0000000..d96310b
--- /dev/null
+++ b/gdb/testsuite/gdb.base/foll-exec-c++.exp
@@ -0,0 +1,24 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+# See foll-exec.exp.tcl for test details. This file runs the test
+# using the C++ compiler.
+
+require allow_cplus_tests
+set lang c++
+
+source $srcdir/$subdir/foll-exec.exp.tcl
diff --git a/gdb/testsuite/gdb.base/foll-exec-c.exp b/gdb/testsuite/gdb.base/foll-exec-c.exp
new file mode 100644
index 0000000..67f62cc
--- /dev/null
+++ b/gdb/testsuite/gdb.base/foll-exec-c.exp
@@ -0,0 +1,23 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the gdb testsuite
+
+# See foll-exec.exp.tcl for test details. This file runs the test
+# using the C compiler.
+
+set lang c
+
+source $srcdir/$subdir/foll-exec.exp.tcl
diff --git a/gdb/testsuite/gdb.base/foll-exec.c b/gdb/testsuite/gdb.base/foll-exec.c
index a1c9b70..291f803 100644
--- a/gdb/testsuite/gdb.base/foll-exec.c
+++ b/gdb/testsuite/gdb.base/foll-exec.c
@@ -19,25 +19,38 @@
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
-
+#include <libgen.h>
+#include <assert.h>
#include <limits.h>
int global_i = 100;
+#ifndef EXECD_PROG
+#define EXECD_PROG "execd-prog"
+#endif
+
int main (int argc, char ** argv)
{
int local_j = global_i + 1;
int local_k = local_j + 1;
char prog[PATH_MAX];
- int len;
+ size_t len = PATH_MAX - 1;
+
+ printf ("foll-exec is about to execlp(%s)...\n", EXECD_PROG);
+
+ prog [len] = '\0';
+
+ strncpy (prog, dirname (argv[0]), len);
+ len -= strlen (prog);
+ assert (len > 0);
- printf ("foll-exec is about to execlp(execd-prog)...\n");
+ strncat (prog, "/", len);
+ len -= 1;
+ assert (len > 0);
- strcpy (prog, argv[0]);
- len = strlen (prog);
- /* Replace "foll-exec" with "execd-prog". */
- memcpy (prog + len - 9, "execd-prog", 10);
- prog[len + 1] = 0;
+ strncat (prog, EXECD_PROG, len);
+ len -= strlen (EXECD_PROG);
+ assert (len > 0);
/* In the following function call, maximum line length exceed the limit 80.
This is intentional and required for clang compiler such that complete
@@ -45,7 +58,7 @@ int main (int argc, char ** argv)
multi-line. */
execlp (prog, /* tbreak-execlp */ prog, "execlp arg1 from foll-exec", (char *) 0);
- printf ("foll-exec is about to execl(execd-prog)...\n");
+ printf ("foll-exec is about to execl(%s)...\n", EXECD_PROG);
/* In the following function call, maximum line length exceed the limit 80.
This is intentional and required for clang compiler such that complete
@@ -61,7 +74,7 @@ int main (int argc, char ** argv)
argv[0] = prog;
- printf ("foll-exec is about to execv(execd-prog)...\n");
+ printf ("foll-exec is about to execv(%s)...\n", EXECD_PROG);
execv (prog, argv); /* tbreak-execv */
}
diff --git a/gdb/testsuite/gdb.base/foll-exec.exp b/gdb/testsuite/gdb.base/foll-exec.exp.tcl
index ad4c3516..8f96a55 100644
--- a/gdb/testsuite/gdb.base/foll-exec.exp
+++ b/gdb/testsuite/gdb.base/foll-exec.exp.tcl
@@ -22,33 +22,55 @@ require {istarget "*-linux*"}
standard_testfile foll-exec.c
-set testfile2 "execd-prog"
-set srcfile2 ${testfile2}.c
-set binfile2 [standard_output_file ${testfile2}]
+# Compile a program that performs an exec as EXECER_LANG, and a
+# program that will be exec'd as EXECEE_LANG. Either language can be
+# 'c' or 'c++'. Then run various test associated with 'catch exec'
+# using the compiled programs.
+proc do_exec_tests { execer_lang execee_lang } {
+ global srcfile testfile
+ global gdb_prompt
-set compile_options debug
+ # First compile the program to be exec'd, the execee.
+ set execee_base_filename "execd-prog"
+ set srcfile2 ${execee_base_filename}.c
+ set execee_testfile "execd-prog-${execee_lang}"
+ set execee_testfile_re [string_to_regexp $execee_testfile]
+ set execee_binfile [standard_output_file $execee_testfile]
-# build the first test case
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile2}" "${binfile2}" executable $compile_options] != "" } {
- untested "failed to compile"
- return -1
-}
+ set execee_flags debug
+ if { $execee_lang == "c++" } {
+ lappend execee_flags "c++"
+ }
-if { [is_remote target] } {
- gdb_remote_download target $binfile2
-}
+ if { [build_executable "failed to build $execee_testfile" $execee_testfile \
+ $srcfile2 $execee_flags] == -1 } {
+ return
+ }
-if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable $compile_options] != "" } {
- untested "failed to compile"
- return -1
-}
+ if { [is_remote target] } {
+ gdb_remote_download target $execee_binfile
+ }
-proc do_exec_tests {} {
- global binfile srcfile srcfile2 testfile testfile2
- global gdb_prompt
+
+ # Now compile the program to do the exec, the execer.
+ set execer_testfile "$testfile-${execee_lang}"
+ set execer_binfile [standard_output_file $execer_testfile]
+
+ set execer_flags debug
+ if { $execer_lang == "c++" } {
+ lappend execer_flags "c++"
+ }
+ lappend execer_flags "additional_flags=-DEXECD_PROG=\"${execee_testfile}\""
+
+ if { [build_executable "failed to build $execer_testfile" $execer_testfile \
+ $srcfile $execer_flags] == -1 } {
+ return
+ }
+
+ # Now we can start running the tests.
+ clean_restart $execer_binfile
# Start the program running, and stop at main.
- #
if {![runto_main]} {
return
}
@@ -71,7 +93,7 @@ proc do_exec_tests {} {
return
}
- clean_restart $binfile
+ clean_restart $execer_binfile
# Start the program running, and stop at main.
#
@@ -120,7 +142,7 @@ proc do_exec_tests {} {
set execd_line [gdb_get_line_number "after-exec" $srcfile2]
send_gdb "next\n"
gdb_expect {
- -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
+ -re ".*xecuting new program: .*${execee_testfile_re}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
{pass "step through execlp call"}
-re "$gdb_prompt $" {fail "step through execlp call"}
timeout {fail "(timeout) step through execlp call"}
@@ -160,7 +182,7 @@ proc do_exec_tests {} {
# Explicitly kill this program, or a subsequent rerun actually runs
# the exec'd program, not the original program...
- clean_restart $binfile
+ clean_restart $execer_binfile
# Start the program running, and stop at main.
#
@@ -193,7 +215,7 @@ proc do_exec_tests {} {
send_gdb "continue\n"
gdb_expect {
- -re ".*xecuting new program:.*${testfile2}.*Catchpoint .*(exec\'d .*${testfile2}).*$gdb_prompt $"\
+ -re ".*xecuting new program:.*${execee_testfile_re}.*Catchpoint .*(exec\'d .*${execee_testfile_re}).*$gdb_prompt $"\
{pass "hit catch exec"}
-re "$gdb_prompt $" {fail "hit catch exec"}
timeout {fail "(timeout) hit catch exec"}
@@ -210,7 +232,7 @@ proc do_exec_tests {} {
#
set msg "info shows catchpoint exec pathname"
gdb_test_multiple "info breakpoints" $msg {
- -re ".*catchpoint.*keep y.*exec, program \".*${testfile2}\".*$gdb_prompt $" {
+ -re ".*catchpoint.*keep y.*exec, program \".*${execee_testfile_re}\".*$gdb_prompt $" {
pass $msg
}
}
@@ -228,7 +250,7 @@ proc do_exec_tests {} {
# Explicitly kill this program, or a subsequent rerun actually runs
# the exec'd program, not the original program...
- clean_restart $binfile
+ clean_restart $execer_binfile
# Start the program running, and stop at main.
#
@@ -269,7 +291,7 @@ proc do_exec_tests {} {
#
send_gdb "next 2\n"
gdb_expect {
- -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
+ -re ".*xecuting new program: .*${execee_testfile_re}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
{pass "step through execl call"}
-re "$gdb_prompt $" {fail "step through execl call"}
timeout {fail "(timeout) step through execl call"}
@@ -295,7 +317,7 @@ proc do_exec_tests {} {
# Explicitly kill this program, or a subsequent rerun actually runs
# the exec'd program, not the original program...
- clean_restart $binfile
+ clean_restart $execer_binfile
# Start the program running, and stop at main.
#
@@ -330,7 +352,7 @@ proc do_exec_tests {} {
}
send_gdb "next\n"
gdb_expect {
- -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
+ -re ".*xecuting new program: .*${execee_testfile_re}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
{pass "step through execv call"}
-re "$gdb_prompt $" {fail "step through execv call"}
timeout {fail "(timeout) step through execv call"}
@@ -356,7 +378,7 @@ proc do_exec_tests {} {
# Explicitly kill this program, or a subsequent rerun actually runs
# the exec'd program, not the original program...
- clean_restart $binfile
+ clean_restart $execer_binfile
# Start the program running, and stop at main.
#
@@ -370,13 +392,13 @@ proc do_exec_tests {} {
#
send_gdb "continue\n"
gdb_expect {
- -re ".*xecuting new program: .*${testfile2}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
+ -re ".*xecuting new program: .*${execee_testfile_re}.*${srcfile2}:${execd_line}.*int local_j = argc;.*$gdb_prompt $"\
{pass "continue through exec"}
-re "$gdb_prompt $" {fail "continue through exec"}
timeout {fail "(timeout) continue through exec"}
}
}
-clean_restart $binfile
-
-do_exec_tests
+foreach_with_prefix execee_lang { c c++ } {
+ do_exec_tests $lang $execee_lang
+}
diff --git a/gdb/testsuite/gdb.base/foll-fork-syscall.c b/gdb/testsuite/gdb.base/foll-fork-syscall.c
new file mode 100644
index 0000000..ef695f5
--- /dev/null
+++ b/gdb/testsuite/gdb.base/foll-fork-syscall.c
@@ -0,0 +1,35 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <unistd.h>
+#include <stdio.h>
+
+int
+main (int argc, char **argv)
+{
+ int pid, x = 0;
+
+ pid = fork ();
+ if (pid == 0) /* set breakpoint here */
+ printf ("I am the child\n");
+ else
+ printf ("I am the parent\n");
+
+ chdir (".");
+ ++x; /* set exit breakpoint here */
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/foll-fork-syscall.exp b/gdb/testsuite/gdb.base/foll-fork-syscall.exp
new file mode 100644
index 0000000..21ef334
--- /dev/null
+++ b/gdb/testsuite/gdb.base/foll-fork-syscall.exp
@@ -0,0 +1,143 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test catching syscalls with all permutations of follow-fork parent/child
+# and detach-on-fork on/off.
+
+# Test relies on checking follow-fork output. Do not run if gdb debug is
+# enabled because it will be redirected to the log.
+require !gdb_debug_enabled
+require {is_any_target "i?86-*-*" "x86_64-*-*"}
+require allow_fork_tests
+
+standard_testfile
+
+if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
+ return -1
+}
+
+proc setup_gdb {} {
+ global testfile
+
+ clean_restart $testfile
+
+ if {![runto_main]} {
+ return false
+ }
+
+ # Set a breakpoint after the fork is "complete."
+ if {![gdb_breakpoint [gdb_get_line_number "set breakpoint here"]]} {
+ return false
+ }
+
+ # Set exit breakpoint (to prevent inferior from exiting).
+ if {![gdb_breakpoint [gdb_get_line_number "set exit breakpoint here"]]} {
+ return false
+ }
+ return true
+}
+
+# Check that fork catchpoints are supported, as an indicator for whether
+# fork-following is supported. Return 1 if they are, else 0.
+
+proc_with_prefix check_fork_catchpoints {} {
+ global gdb_prompt
+
+ if { ![setup_gdb] } {
+ return false
+ }
+
+ # Verify that the system supports "catch fork".
+ gdb_test "catch fork" "Catchpoint \[0-9\]* \\(fork\\)" "insert first fork catchpoint"
+ set has_fork_catchpoints false
+ gdb_test_multiple "continue" "continue to first fork catchpoint" {
+ -re ".*Your system does not support this type\r\nof catchpoint.*$gdb_prompt $" {
+ unsupported "continue to first fork catchpoint"
+ }
+ -re ".*Catchpoint.*$gdb_prompt $" {
+ set has_fork_catchpoints true
+ pass "continue to first fork catchpoint"
+ }
+ }
+
+ return $has_fork_catchpoints
+}
+
+proc_with_prefix test_catch_syscall {follow-fork-mode detach-on-fork} {
+ # Start with shiny new gdb instance.
+ if {![setup_gdb]} {
+ return
+ }
+
+ # The "Detaching..." and "Attaching..." messages may be hidden by
+ # default.
+ gdb_test_no_output "set verbose"
+
+ # Setup modes to test.
+ gdb_test_no_output "set follow-fork-mode ${follow-fork-mode}"
+ gdb_test_no_output "set detach-on-fork ${detach-on-fork}"
+
+ gdb_test "catch fork" "Catchpoint . \\(fork\\)"
+ gdb_test "catch syscall chdir" "Catchpoint . \\(syscall 'chdir'.*\\)"
+
+ # Which inferior we're expecting to follow. Assuming the parent
+ # will be inferior #1, and the child will be inferior #2.
+ if {${follow-fork-mode} == "parent"} {
+ set following_inf 1
+ } else {
+ set followin_inf 2
+ }
+ # Next stop should be the fork catchpoint.
+ set expected_re ""
+ append expected_re "Catchpoint . \\(forked process.*"
+ gdb_test "continue" $expected_re "continue to fork catchpoint"
+
+ # Next stop should be the breakpoint after the fork.
+ set expected_re ".*"
+ if {${follow-fork-mode} == "child" || ${detach-on-fork} == "off"} {
+ append expected_re "\\\[New inferior.*"
+ }
+ if {${detach-on-fork} == "on"} {
+ append expected_re "\\\[Detaching after fork from "
+ if {${follow-fork-mode} == "parent"} {
+ append expected_re "child"
+ } else {
+ append expected_re "parent"
+ }
+ append expected_re " process.*"
+ }
+ append expected_re "Breakpoint .*set breakpoint here.*"
+ gdb_test "continue" $expected_re "continue to breakpoint after fork"
+
+ # Next stop should be the syscall catchpoint.
+ set expected_re ".*Catchpoint . \\(call to syscall chdir\\).*"
+ gdb_test continue $expected_re "continue to chdir syscall"
+}
+
+# Check for follow-fork support.
+if {![check_fork_catchpoints]} {
+ untested "follow-fork not supported"
+ return
+}
+
+# Test all permutations.
+foreach_with_prefix follow-fork-mode {"parent" "child"} {
+
+ # Do not run tests when not detaching from the parent.
+ # See breakpoints/13457 for discussion.
+ foreach_with_prefix detach-on-fork {"on"} {
+ test_catch_syscall ${follow-fork-mode} ${detach-on-fork}
+ }
+}
diff --git a/gdb/testsuite/gdb.base/foll-fork.exp b/gdb/testsuite/gdb.base/foll-fork.exp
index 94755c6..12db516 100644
--- a/gdb/testsuite/gdb.base/foll-fork.exp
+++ b/gdb/testsuite/gdb.base/foll-fork.exp
@@ -17,6 +17,8 @@
# enabled as it will be redirected to the log.
require !gdb_debug_enabled
+require allow_fork_tests
+
standard_testfile
if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
diff --git a/gdb/testsuite/gdb.base/foll-vfork.exp b/gdb/testsuite/gdb.base/foll-vfork.exp
index 266df46..6ca7711 100644
--- a/gdb/testsuite/gdb.base/foll-vfork.exp
+++ b/gdb/testsuite/gdb.base/foll-vfork.exp
@@ -18,12 +18,7 @@
# either execs or exits --- since those events take somewhat different
# code paths in GDB, both variants are exercised.
-# Until "set follow-fork-mode" and "catch vfork" are implemented on
-# other targets...
-#
-if {![istarget "*-linux*"]} {
- continue
-}
+require allow_fork_tests
standard_testfile .c -exit.c vforked-prog.c
diff --git a/gdb/testsuite/gdb.base/fork-no-detach-follow-child-dlopen.exp b/gdb/testsuite/gdb.base/fork-no-detach-follow-child-dlopen.exp
index 311d7ba..2d47d5d 100644
--- a/gdb/testsuite/gdb.base/fork-no-detach-follow-child-dlopen.exp
+++ b/gdb/testsuite/gdb.base/fork-no-detach-follow-child-dlopen.exp
@@ -23,6 +23,7 @@
# in the source of the shlib, and "list" should display the source where
# the program stopped.
+require allow_fork_tests
require allow_shlib_tests
standard_testfile .c -shlib.c
diff --git a/gdb/testsuite/gdb.base/fork-print-inferior-events.exp b/gdb/testsuite/gdb.base/fork-print-inferior-events.exp
index 26ed2f9..19ace00 100644
--- a/gdb/testsuite/gdb.base/fork-print-inferior-events.exp
+++ b/gdb/testsuite/gdb.base/fork-print-inferior-events.exp
@@ -19,6 +19,8 @@
# inferior-events [on,off]', 'set follow-fork-mode [child,parent]' and
# 'set detach-on-fork [on,off]' are the correct ones.
+require allow_fork_tests
+
# This test relies on "run", so it cannot run on target remote stubs.
require !use_gdb_stub
diff --git a/gdb/testsuite/gdb.base/fork-running-state.exp b/gdb/testsuite/gdb.base/fork-running-state.exp
index 4b810a6..c446800 100644
--- a/gdb/testsuite/gdb.base/fork-running-state.exp
+++ b/gdb/testsuite/gdb.base/fork-running-state.exp
@@ -17,6 +17,8 @@
# in non-stop). GDB used to miss updating the parent/child running
# states after a fork.
+require allow_fork_tests
+
standard_testfile
# The test proper.
diff --git a/gdb/testsuite/gdb.base/gcore.exp b/gdb/testsuite/gdb.base/gcore.exp
index 5251e3f..0a9f099 100644
--- a/gdb/testsuite/gdb.base/gcore.exp
+++ b/gdb/testsuite/gdb.base/gcore.exp
@@ -16,6 +16,7 @@
# This file was written by Michael Snyder (msnyder@redhat.com)
# This is a test for the gdb command "generate-core-file".
+require gcore_cmd_available
standard_testfile
diff --git a/gdb/testsuite/gdb.base/infcall-failure.exp b/gdb/testsuite/gdb.base/infcall-failure.exp
index 66bccd1..e7aeac1 100644
--- a/gdb/testsuite/gdb.base/infcall-failure.exp
+++ b/gdb/testsuite/gdb.base/infcall-failure.exp
@@ -131,7 +131,13 @@ proc_with_prefix run_cond_hits_segfault_test { async_p non_stop_p } {
[multi_line \
"Continuing\\." \
"" \
- "Program received signal SIGSEGV, Segmentation fault\\." \
+ [string cat \
+ [string_to_regexp \
+ "Program received signal SIGSEGV, Segmentation fault."] \
+ "("] \
+ [string cat \
+ [string_to_regexp "Address not mapped to object."] \
+ ")?"] \
"${::hex} in func_segfault \\(\\) at \[^\r\n\]+:${::segv_line}" \
"${::decimal}\\s+\[^\r\n\]+Segfault here\[^\r\n\]+" \
"Error in testing condition for breakpoint ${bp_1_num}:" \
@@ -161,7 +167,13 @@ proc_with_prefix run_call_hits_segfault_test { async_p non_stop_p } {
gdb_test "call func_segfault ()" \
[multi_line \
"" \
- "Program received signal SIGSEGV, Segmentation fault\\." \
+ [string cat \
+ [string_to_regexp \
+ "Program received signal SIGSEGV, Segmentation fault."] \
+ "("] \
+ [string cat \
+ [string_to_regexp "Address not mapped to object."] \
+ ")?"] \
"${::hex} in func_segfault \\(\\) at \[^\r\n\]+:${::segv_line}" \
"${::decimal}\\s+\[^\r\n\]+Segfault here\[^\r\n\]+" \
"The program being debugged was signaled while in a function called from GDB\\." \
diff --git a/gdb/testsuite/gdb.base/inferior-died.exp b/gdb/testsuite/gdb.base/inferior-died.exp
index 3992561..764a88d 100644
--- a/gdb/testsuite/gdb.base/inferior-died.exp
+++ b/gdb/testsuite/gdb.base/inferior-died.exp
@@ -13,10 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Until "set follow-fork-mode" and "catch fork" are implemented on
-# other targets...
-#
-require {istarget "*-*-linux*"}
+require allow_fork_tests
require support_displaced_stepping
diff --git a/gdb/testsuite/gdb.base/info-shared.exp b/gdb/testsuite/gdb.base/info-shared.exp
index 6f1b2d6..e81b28e 100644
--- a/gdb/testsuite/gdb.base/info-shared.exp
+++ b/gdb/testsuite/gdb.base/info-shared.exp
@@ -79,6 +79,9 @@ proc check_info_shared { test expect1 expect2 } {
}
}
+# Check that "info shared" before running doesn't crash.
+check_info_shared "info sharedlibrary before running" 0 0
+
# Start the inferior, and check neither of the libraries are loaded at
# the start.
if ![runto_main] {
diff --git a/gdb/testsuite/gdb.base/interrupt-daemon.exp b/gdb/testsuite/gdb.base/interrupt-daemon.exp
index 161f854..8b8c61d 100644
--- a/gdb/testsuite/gdb.base/interrupt-daemon.exp
+++ b/gdb/testsuite/gdb.base/interrupt-daemon.exp
@@ -16,6 +16,8 @@
# Make sure that we can interrupt an inferior that forks and moves to
# its own session.
+require allow_fork_tests
+
standard_testfile
if {[build_executable "failed to build" $testfile $srcfile {debug}]} {
diff --git a/gdb/testsuite/gdb.base/jit-bfd-name.exp b/gdb/testsuite/gdb.base/jit-bfd-name.exp
index 9e4daa1..219929b 100644
--- a/gdb/testsuite/gdb.base/jit-bfd-name.exp
+++ b/gdb/testsuite/gdb.base/jit-bfd-name.exp
@@ -67,11 +67,13 @@ gdb_breakpoint [gdb_get_line_number "break here 1" $::main_srcfile]
gdb_continue_to_breakpoint "break here 1"
# Confirm that the two expected functions are available.
+set re_f1 [string_to_regexp "int jit_function_0001(void)"]
+set re_f2 [string_to_regexp "int jit_function_0002(void)"]
gdb_test "info function ^jit_function" \
[multi_line \
"File \[^\r\n\]+jit-elf-solib.c:" \
- "${decimal}:\\s+int jit_function_0001\\(\\);" \
- "${decimal}:\\s+int jit_function_0002\\(\\);"]
+ "${decimal}:\\s+$re_f1;" \
+ "${decimal}:\\s+$re_f2;"]
# Capture the addresses of each JIT symfile.
set symfile_addrs {}
diff --git a/gdb/testsuite/gdb.base/jit-elf-fork.exp b/gdb/testsuite/gdb.base/jit-elf-fork.exp
index 81d3350..c1fa428 100644
--- a/gdb/testsuite/gdb.base/jit-elf-fork.exp
+++ b/gdb/testsuite/gdb.base/jit-elf-fork.exp
@@ -15,6 +15,7 @@
# Test fork handling of an inferior that has JIT-ed objfiles.
+require allow_fork_tests
require allow_shlib_tests
load_lib jit-elf-helpers.exp
diff --git a/gdb/testsuite/gdb.base/jit-elf-solib.c b/gdb/testsuite/gdb.base/jit-elf-solib.c
index 690d7a0..c6fcb89 100644
--- a/gdb/testsuite/gdb.base/jit-elf-solib.c
+++ b/gdb/testsuite/gdb.base/jit-elf-solib.c
@@ -22,4 +22,4 @@
#error "Must define the FUNCTION_NAME macro to set a jited function name"
#endif
-int FUNCTION_NAME() { return 42; }
+int FUNCTION_NAME(void) { return 42; }
diff --git a/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp b/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp
index ef4bb88..57ec330 100644
--- a/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp
+++ b/gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.exp
@@ -19,6 +19,7 @@
# commands.
require can_spawn_for_attach
+require allow_multi_inferior_tests
standard_testfile
set executable $testfile
diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp
index e006d55..7936e53 100644
--- a/gdb/testsuite/gdb.base/maint.exp
+++ b/gdb/testsuite/gdb.base/maint.exp
@@ -52,6 +52,40 @@ if {[prepare_for_testing "failed to prepare" $testfile \
return -1
}
+# Check "maint set per-command" warnings. We do this early so that
+# the following tests don't need to expect them, as GDB only warns
+# once.
+
+with_test_prefix "warnings" {
+ # Potential warning given by "maint set per-command time".
+ set maybe_per_command_warning \
+ "(?:warning: per-thread run time information not available on this platform)?"
+
+ # This one should not issue the "per-command time" warning.
+ with_test_prefix "per-command space" {
+ gdb_test_no_output "mt set per-command space on"
+ gdb_test_no_output "mt set per-command space off"
+ }
+
+ # These might warn. "per-command on" enables all sub commands, so
+ # might trigger the "per-command time" warning.
+ foreach cmd {"per-command" "per-command time"} {
+ with_test_prefix $cmd {
+ # GDB only warns once, so restart between commands.
+ clean_restart $binfile
+ gdb_test "mt set $cmd on" "$maybe_per_command_warning"
+ gdb_test "mt set $cmd off" "command started"
+ gdb_test_no_output "mt set $cmd on" \
+ "mt set $cmd on, again"
+ gdb_test "mt set $cmd off" "command started" \
+ "mt set $cmd off, again"
+ }
+ }
+
+ # We've already warned once above, so the following tests don't
+ # need to expect the warning.
+}
+
set readnow_p [readnow]
# The commands we test here produce many lines of output; disable "press
@@ -205,8 +239,8 @@ set re \
"( Number of \"partial\" symbols read: $decimal" \
")?( Number of psym tables \\(not yet expanded\\): $decimal" \
")?( Total memory used for psymbol cache: $decimal" \
- ")?( Number of read CUs: $decimal" \
- " Number of unread CUs: $decimal" \
+ ")?( Number of read units: $decimal" \
+ " Number of unread units: $decimal" \
")? Total memory used for objfile obstack: $decimal" \
" Total memory used for BFD obstack: $decimal" \
" Total memory used for string cache: $decimal" \
@@ -513,4 +547,9 @@ gdb_test_no_output "maint print symbols"
gdb_test_no_output "maint print msymbols"
gdb_test_no_output "maint print psymbols"
+gdb_test "maint canonicalize int short" "canonical = short"
+gdb_test "maint canonicalize fn<ty<int>>" \
+ "canonical = fn<ty<int> >"
+gdb_test "maint canonical unsigned int" "No change\\."
+
gdb_exit
diff --git a/gdb/testsuite/gdb.base/multi-forks.exp b/gdb/testsuite/gdb.base/multi-forks.exp
index 61a240f..3facccb 100644
--- a/gdb/testsuite/gdb.base/multi-forks.exp
+++ b/gdb/testsuite/gdb.base/multi-forks.exp
@@ -13,11 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Until "set follow-fork-mode" and "catch fork" are implemented on
-# other targets...
-#
-require {istarget "*-*-linux*"}
-
+require allow_fork_tests
standard_testfile .c
diff --git a/gdb/testsuite/gdb.base/options.exp b/gdb/testsuite/gdb.base/options.exp
index f32d258..a0947e2 100644
--- a/gdb/testsuite/gdb.base/options.exp
+++ b/gdb/testsuite/gdb.base/options.exp
@@ -62,8 +62,7 @@ proc check_completion_result {expected test} {
# just checking whether GDB recognizes the option and auto-appends a
# space.
proc test_completer_recognizes {res input_line} {
- set expected_re [string_to_regexp $input_line]
- test_gdb_complete_unique $input_line $expected_re
+ test_gdb_complete_unique $input_line $input_line
check_completion_result $res $input_line
}
@@ -509,12 +508,26 @@ proc_with_prefix test-thread-apply {} {
proc_with_prefix test-info-threads {} {
test_gdb_complete_multiple "info threads " "" "" {
"-gid"
+ "-running"
+ "-stopped"
"ID"
}
+ test_gdb_complete_multiple "info threads " "-" "" {
+ "-gid"
+ "-running"
+ "-stopped"
+ }
+
test_gdb_complete_unique \
- "info threads -" \
+ "info threads -g" \
"info threads -gid"
+ test_gdb_complete_unique \
+ "info threads -r" \
+ "info threads -running"
+ test_gdb_complete_unique \
+ "info threads -s" \
+ "info threads -stopped"
# "ID" isn't really something the user can type.
test_gdb_complete_none "info threads I"
diff --git a/gdb/testsuite/gdb.base/pie-fork.exp b/gdb/testsuite/gdb.base/pie-fork.exp
index 48c01d9..86407b4 100644
--- a/gdb/testsuite/gdb.base/pie-fork.exp
+++ b/gdb/testsuite/gdb.base/pie-fork.exp
@@ -16,6 +16,8 @@
# Test that we can follow forks properly when the executable is
# position-independent.
+require allow_fork_tests
+
standard_testfile
set opts [list debug pie]
diff --git a/gdb/testsuite/gdb.base/print-symbol-loading.exp b/gdb/testsuite/gdb.base/print-symbol-loading.exp
index 15f2c19..c9e2480 100644
--- a/gdb/testsuite/gdb.base/print-symbol-loading.exp
+++ b/gdb/testsuite/gdb.base/print-symbol-loading.exp
@@ -15,7 +15,7 @@
# Test the "print symbol-loading" option.
-require allow_shlib_tests
+require allow_shlib_tests gcore_cmd_available
standard_testfile print-symbol-loading-main.c
set libfile print-symbol-loading-lib
diff --git a/gdb/testsuite/gdb.base/ptype.exp b/gdb/testsuite/gdb.base/ptype.exp
index 788cdfc..6971f4c 100644
--- a/gdb/testsuite/gdb.base/ptype.exp
+++ b/gdb/testsuite/gdb.base/ptype.exp
@@ -544,10 +544,10 @@ proc ptype_maybe_prototyped { id prototyped plain { overprototyped "NO-MATCH" }
fail "ptype $id (compiler doesn't emit prototyped types)"
}
-re "type = $overprototyped\[\r\n\]+$gdb_prompt $" {
- if { [test_compiler_info "armcc-*"] } {
- setup_xfail "*-*-*"
- }
- fail "ptype $id (compiler doesn't emit unprototyped types)"
+ # C23 no longer supports non-prototype function declaration, in which
+ # case the overprototyped regexp is the expected one. Simply pass
+ # in all cases.
+ pass "ptype $id (overprototyped)"
}
}
}
diff --git a/gdb/testsuite/gdb.base/run-control-while-bg-execution.exp b/gdb/testsuite/gdb.base/run-control-while-bg-execution.exp
index 22913ca..eaee010 100644
--- a/gdb/testsuite/gdb.base/run-control-while-bg-execution.exp
+++ b/gdb/testsuite/gdb.base/run-control-while-bg-execution.exp
@@ -49,6 +49,11 @@ if {[build_executable "failed to prepare" $testfile $srcfile]} {
# - run: use the run command
# - attach: start a process outside of GDB and attach it
proc do_test { action1 action2 } {
+
+ if {$action1 == "add" && ![allow_multi_inferior_tests]} {
+ return
+ }
+
save_vars { ::GDBFLAGS } {
append ::GDBFLAGS " -ex \"maintenance set target-non-stop on\""
clean_restart $::binfile
diff --git a/gdb/testsuite/gdb.base/sigall.exp b/gdb/testsuite/gdb.base/sigall.exp
index b23e3c5..461a92b 100644
--- a/gdb/testsuite/gdb.base/sigall.exp
+++ b/gdb/testsuite/gdb.base/sigall.exp
@@ -41,13 +41,14 @@ proc test_one_sig {nextsig} {
setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu"
}
# On Linux SPARC64 systems SIGLOST==SIGPWR and gdb identifies
- # the raised signal as PWR.
- if {$thissig == "LOST" && [istarget "sparc64-*-linux*"]} {
+ # the raised signal as PWR. Same for Cygwin.
+ if {$thissig == "LOST"
+ && ([istarget "sparc64-*-linux*"] || [istarget "*-*-cygwin*"])} {
set esig "PWR"
}
gdb_test "continue" \
- "Continuing.*Program received signal SIG$esig.*" \
+ "Continuing.* received signal SIG$esig.*" \
"get signal $esig"
}
@@ -177,7 +178,7 @@ gdb_test "handle SIGTERM stop print" \
"SIGTERM\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*"
gdb_test "b handle_TERM" "Breakpoint \[0-9\]+ .*"
gdb_test "continue" \
- "Continuing.*Program received signal SIGTERM.*" \
+ "Continuing.* received signal SIGTERM.*" \
"get signal TERM"
gdb_test "continue" "Breakpoint.*handle_TERM.*" "send signal TERM"
gdb_continue_to_end "continue to sigall exit"
diff --git a/gdb/testsuite/gdb.base/solib-search.exp b/gdb/testsuite/gdb.base/solib-search.exp
index 2efad18..35b0314 100644
--- a/gdb/testsuite/gdb.base/solib-search.exp
+++ b/gdb/testsuite/gdb.base/solib-search.exp
@@ -16,7 +16,7 @@
# Test solib-search-path, and in the case of solib-svr4.c whether l_addr_p
# is properly reset when the path is changed.
-require allow_shlib_tests
+require allow_shlib_tests gcore_cmd_available
require {!is_remote target}
# Build "wrong" and "right" versions of the libraries in separate directories.
diff --git a/gdb/testsuite/gdb.base/step-over-exit.exp b/gdb/testsuite/gdb.base/step-over-exit.exp
index 2370f97..6dfa7bb 100644
--- a/gdb/testsuite/gdb.base/step-over-exit.exp
+++ b/gdb/testsuite/gdb.base/step-over-exit.exp
@@ -13,11 +13,14 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-standard_testfile
-
# Test a thread is doing step-over a syscall instruction which is exit,
# and GDBserver should cleanup its state of step-over properly.
+# The testcase relies on follow-fork-mode child.
+require allow_fork_tests
+
+standard_testfile
+
set syscall_insn ""
# Define the syscall instruction for each target.
diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp
index 59c93ee..503671b 100644
--- a/gdb/testsuite/gdb.base/style.exp
+++ b/gdb/testsuite/gdb.base/style.exp
@@ -329,6 +329,18 @@ proc run_style_tests { } {
"The \033\\\[38;2;254;210;16;48;5;255;22;27m.*\".*version.*\".*style.*\033\\\[m foreground color is: #FED210" \
"Version's TrueColor foreground style"
}
+
+ gdb_test_no_output "set host-charset UTF-8"
+ # Chosen since it will print an error.
+ gdb_test "maint translate-address" \
+ "❌️ requires argument.*" \
+ "emoji output"
+
+ gdb_test_no_output "set style error-prefix abcd:" \
+ "set the error prefix"
+ gdb_test "maint translate-address" \
+ "abcd:requires argument.*" \
+ "error prefix"
}
}
@@ -739,6 +751,280 @@ proc test_enable_styling_warning { } {
}
}
+# Run an 'apropos' command. Each line of output starts with a
+# non-default style (command style). Ensure that pagination triggers
+# during the 'apropos' output such that, at the point pagination kicks
+# in, a non-default style is in effect.
+#
+# Then, at the pagination prompt, quit the command.
+#
+# Next, run a command which switches to a different style, and then
+# back to the current style.
+#
+# At one point, a bug in the pagination code would leave the
+# non-default style from the 'apropos' command recorded as the current
+# style, such that the second command would switch back to the earlier
+# style.
+proc test_pagination_cmd_after_quit_styling {} {
+ with_ansi_styling_terminal {
+ clean_restart
+ }
+
+ # We're going to use 'apropos time'. Check that with a height of
+ # 12 lines, each line starts with a non-default style, and that we
+ # do see the pagination prompt. This means that there are more
+ # than 12 lines for this command.
+ with_test_prefix "validate apropos output" {
+ gdb_test_no_output "set height 12"
+
+ set saw_pagination_prompt false
+ gdb_test_multiple "apropos time" "" {
+ -re "^apropos time\r\n" {
+ exp_continue
+ }
+ -re "^\033\\\[39;49;1;27m\[^\r\n\]+\r\n" {
+ exp_continue
+ }
+ -re "^$::pagination_prompt$" {
+ set saw_pagination_prompt true
+ send_gdb "q\n"
+ exp_continue
+ }
+ -re "^q\r\n" {
+ exp_continue
+ }
+ -re "^Quit\r\n" {
+ exp_continue
+ }
+ -re "^$::gdb_prompt $" {
+ gdb_assert { $saw_pagination_prompt } $gdb_test_name
+ }
+ -re "^\[^\r\n\]+\r\n" {
+ exp_continue
+ }
+ }
+ }
+
+ # Now reduce the height to 10 and re-run 'apropos time'. Based on
+ # the previous check, we know that this is going to present the
+ # pagination prompt when a non-default style is in use.
+ gdb_test_no_output "set height 10"
+
+ set saw_pagination_prompt false
+ gdb_test_multiple "apropos time" "" {
+ -re "$::pagination_prompt" {
+ set saw_pagination_prompt true
+ send_gdb "q\n"
+ exp_continue
+ }
+ -re "\r\n$::gdb_prompt $" {
+ gdb_assert { $saw_pagination_prompt } $gdb_test_name
+ }
+ }
+
+ # The help output for this maintenance command switches to a
+ # different style, and then back to the default. If the
+ # pagination bug still exists, then this would switch back to the
+ # non-default style that was in use when pagination kicked in
+ # above.
+ gdb_test "maintenance time" \
+ "^\"\033\\\[39;49;1;27mmaintenance time\033\\\[m\" takes a numeric argument\\."
+}
+
+# Helper for test_pagination_prompt_styling. Return false if STR, a
+# line that appears immediately before a pagination prompt, matches
+# the pattern for needing a style reset at the end, but does not have
+# the style reset.
+#
+# In all other cases, return true. So lines that don't match the
+# known pattern for neededing a style reset will always return true,
+# as will lines that match the pattern, and do have the style reset.
+proc previous_line_is_ok { str } {
+
+ # Create a copy of STR with all the '\033' characters removed.
+ # Then compare string lengths to get a count of the '\033'
+ # charactes present in STR.
+ regsub -all "\033" $str {} stripped
+ set count [expr [string length $str] - [string length $stripped]]
+
+ # If STR switched styles, then it _must_ switch back again,
+ # otherwise the pagination prompt will be in the wrong style.
+ # This means that there _must_ be an even number of '\033'
+ # characters in STR. If there is not then we switched style, but
+ # failed to switch back.
+ if { [expr $count % 2] != 0 } {
+ return false
+ }
+
+ # For lines that don't match this pattern, we cannot comment on
+ # where the style reset should occur, so lets just claim the line
+ # is fine.
+ if { ![regexp "\\s+$::hex - $::hex is \[^\r\n\]+ in " $str] } {
+ return true
+ }
+
+ # This line did match the above pattern, so we know that a style
+ # reset _must_ occur at the end of the line. If it doesn't then
+ # this line is not OK.
+ if { ![regexp "\033\\\[m$" $str] } {
+ return false
+ }
+
+ # All tests passed, this line looks OK.
+ return true
+}
+
+# Test that the pagination prompt is displayed unstyled. This is done
+# by looking at the 'info files' output and selecting a width that
+# will mean we should get a pagination prompt part way through a
+# styled filename.
+#
+# Then, re-run 'info files' and check that for every pagination
+# prompt, the previous line disables styling as expected.
+proc test_pagination_prompt_styling {} {
+ with_ansi_styling_terminal {
+ clean_restart $::binfile
+ }
+
+ if {![runto_main]} {
+ return
+ }
+
+ # Set height so we actually get a pagination prompt.
+ gdb_test_no_output "set height 3"
+
+ # Scan the 'info files' output and set DESIRED_WIDTH such that it
+ # will trigger pagination part-way through a styled filename.
+ set desired_width 0
+ gdb_test_multiple "info files" "find good test width" {
+ -re "^info files\r\n" {
+ exp_continue
+ }
+
+ -re "^$::pagination_prompt$" {
+ send_gdb "\n"
+ exp_continue
+ }
+
+ -re "^$::gdb_prompt $" {
+ }
+
+ -re "^((\\s+$::hex - $::hex is \[^\r\n\]+ in )\[^\r\n\]+)\r\n" {
+ if { $desired_width == 0 } {
+ set full_line $expect_out(1,string)
+ set inner_line $expect_out(2,string)
+ set desired_width [expr [string length $inner_line] + ([string length $full_line] - [string length $inner_line]) / 2]
+ }
+ exp_continue
+ }
+
+ -re "^\[^\r\n\]*\r\n" {
+ exp_continue
+ }
+ }
+
+ # Now setup the screen width.
+ gdb_test_no_output "set width $desired_width"
+
+ # Re-run 'info files'. Check that the content before any
+ # pagination prompt correctly disables styling.
+ set saw_bad_line false
+ set prev_line ""
+ gdb_test_multiple "info files" "check pagination prompt styling" {
+ -re "^info files\r\n" {
+ exp_continue
+ }
+
+ -re "^$::pagination_prompt$" {
+ if { ![previous_line_is_ok $prev_line] } {
+ set saw_bad_line true
+ }
+ send_gdb "\n"
+ exp_continue
+ }
+
+ -re "^(\[^\r\n\]+)$::pagination_prompt$" {
+ set prev_line $expect_out(1,string)
+ if { ![previous_line_is_ok $prev_line] } {
+ set saw_bad_line true
+ }
+ send_gdb "\n"
+ exp_continue
+ }
+
+ -re "^$::gdb_prompt $" {
+ gdb_assert { !$saw_bad_line } $gdb_test_name
+ }
+
+ -re "^(\[^\r\n\]*)\r\n" {
+ set prev_line $expect_out(1,string)
+ exp_continue
+ }
+ }
+}
+
+# Test that GDB can correctly restore the current style after a
+# pagination prompt.
+#
+# Set the logging file to a garbage string based on LENGTH (is
+# actually 2x LENGTH), then 'show logging file'. Press return at the
+# pagination prompt, and check that the reset of the filename is
+# styled correctly, and that GDB correctly switches back to the
+# default style once the logging file has finished.
+proc test_pagination_continue_styling_1 { length } {
+ with_ansi_styling_terminal {
+ clean_restart $::binfile
+ }
+
+ set filename [string repeat "ax" $length]
+
+ gdb_test_no_output "set logging file $filename"
+
+ gdb_test_no_output "set height 3"
+ gdb_test_no_output "set width 80"
+
+ set saw_bad_styling false
+ gdb_test_multiple "show logging file" "" {
+ -re "^show logging file\r\n" {
+ exp_continue
+ }
+
+ -re "^The current logfile is \"\033\\\[32;49;22;27m(?:ax)+\033\\\[m" {
+ exp_continue
+ }
+
+ -re "^\r\n\033\\\[32;49;22;27m(?:ax)+\033\\\[m(?=--)" {
+ exp_continue
+ }
+
+ -re "^\r\n\033\\\[32;49;22;27m(?:ax)+(?=--)" {
+ set saw_bad_styling true
+ exp_continue
+ }
+
+ -re "^\r\n\033\\\[32;49;22;27m(?:ax)+\033\\\[m\"\\.\r\n" {
+ exp_continue
+ }
+
+ -re "^$::gdb_prompt $" {
+ gdb_assert { !$saw_bad_styling } $gdb_test_name
+ }
+
+ -re "^$::pagination_prompt$$" {
+ send_gdb "\n"
+ exp_continue
+ }
+ }
+}
+
+# Wrapper around test_pagination_continue_styling_1, calls that
+# function with different lengths.
+proc test_pagination_continue_styling { } {
+ foreach_with_prefix length { 80 160 } {
+ test_pagination_continue_styling_1 $length
+ }
+}
+
# Check to see if the Python styling of disassembler output is
# expected or not, this styling requires Python support in GDB, and
# the Python pygments module to be available.
@@ -781,3 +1067,6 @@ test_colorsupport_truecolor
test_colorsupport_truecolor_only
test_enable_styling_warning
+test_pagination_cmd_after_quit_styling
+test_pagination_prompt_styling
+test_pagination_continue_styling
diff --git a/gdb/testsuite/gdb.base/tls-common.exp.tcl b/gdb/testsuite/gdb.base/tls-common.exp.tcl
new file mode 100644
index 0000000..7aa7f46
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-common.exp.tcl
@@ -0,0 +1,50 @@
+# Copyright 2024 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# Require statement, variables and procs used by tls-nothreads.exp,
+# tls-multiobj.exp, and tls-dlobj.exp.
+
+# The tests listed above are known to work for the targets listed on
+# the 'require' line, below.
+#
+# At the moment, only the Linux target is listed, but, ideally, these
+# tests should be run on other targets too. E.g, testing on FreeBSD
+# shows many failures which should be addressed in some fashion before
+# enabling it for that target.
+
+require {is_any_target "*-*-linux*"}
+
+# These are the targets which have support for internal TLS lookup:
+
+set internal_tls_linux_targets {"x86_64-*-linux*" "aarch64-*-linux*"
+ "riscv*-*-linux*" "powerpc64*-*-linux*"
+ "s390x*-*-linux*"}
+
+# The "maint set force-internal-tls-address-lookup" command is only
+# available for certain Linux architectures. Don't attempt to force
+# use of internal TLS support for architectures which don't support
+# it.
+
+if [is_any_target {*}$internal_tls_linux_targets] {
+ set internal_tls_iters { false true }
+} else {
+ set internal_tls_iters { false }
+}
+
+# Set up a kfail with message KFAIL_MSG when KFAIL_COND holds, then
+# issue gdb_test with command CMD and regular expression RE.
+
+proc gdb_test_with_kfail {cmd re kfail_cond kfail_msg} {
+ if [uplevel 1 [list expr $kfail_cond]] {
+ setup_kfail $kfail_msg *-*-*
+ }
+ gdb_test $cmd $re
+}
diff --git a/gdb/testsuite/gdb.base/tls-dlobj-lib.c b/gdb/testsuite/gdb.base/tls-dlobj-lib.c
new file mode 100644
index 0000000..c69bab7
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-dlobj-lib.c
@@ -0,0 +1,87 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* This program needs to be compiled with preprocessor symbol set to
+ a small integer, e.g. "gcc -DN=1 ..." With N defined, the CONCAT2
+ and CONCAT3 macros will construct suitable names for the global
+ variables and functions. */
+
+#define CONCAT2(a,b) CONCAT2_(a,b)
+#define CONCAT2_(a,b) a ## b
+
+#define CONCAT3(a,b,c) CONCAT3_(a,b,c)
+#define CONCAT3_(a,b,c) a ## b ## c
+
+/* For N=1, this ends up being...
+ __thread int tls_lib1_tbss_1;
+ __thread int tls_lib1_tbss_2;
+ __thread int tls_lib1_tdata_1 = 196;
+ __thread int tls_lib1_tdata_2 = 197; */
+
+__thread int CONCAT3(tls_lib, N, _tbss_1);
+__thread int CONCAT3(tls_lib, N, _tbss_2);
+__thread int CONCAT3(tls_lib, N, _tdata_1) = CONCAT2(N, 96);
+__thread int CONCAT3(tls_lib, N, _tdata_2) = CONCAT2(N, 97);
+
+/* Substituting for N, define function:
+
+ int get_tls_libN_var (int which) . */
+
+int
+CONCAT3(get_tls_lib, N, _var) (int which)
+{
+ switch (which)
+ {
+ case 0:
+ return -1;
+ case 1:
+ return CONCAT3(tls_lib, N, _tbss_1);
+ case 2:
+ return CONCAT3(tls_lib, N, _tbss_2);
+ case 3:
+ return CONCAT3(tls_lib, N, _tdata_1);
+ case 4:
+ return CONCAT3(tls_lib, N, _tdata_2);
+ }
+ return -1;
+}
+
+/* Substituting for N, define function:
+
+ void set_tls_libN_var (int which, int val) . */
+
+void
+CONCAT3(set_tls_lib, N, _var) (int which, int val)
+{
+ switch (which)
+ {
+ case 0:
+ break;
+ case 1:
+ CONCAT3(tls_lib, N, _tbss_1) = val;
+ break;
+ case 2:
+ CONCAT3(tls_lib, N, _tbss_2) = val;
+ break;
+ case 3:
+ CONCAT3(tls_lib, N, _tdata_1) = val;
+ break;
+ case 4:
+ CONCAT3(tls_lib, N, _tdata_2) = val;
+ break;
+ }
+}
diff --git a/gdb/testsuite/gdb.base/tls-dlobj.c b/gdb/testsuite/gdb.base/tls-dlobj.c
new file mode 100644
index 0000000..322bdda
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-dlobj.c
@@ -0,0 +1,311 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <dlfcn.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+typedef void (*setter_ftype) (int which, int val);
+
+__thread int tls_main_tbss_1;
+__thread int tls_main_tbss_2;
+__thread int tls_main_tdata_1 = 96;
+__thread int tls_main_tdata_2 = 97;
+
+extern void set_tls_lib10_var (int which, int val);
+extern void set_tls_lib11_var (int which, int val);
+
+volatile int data;
+
+static void
+set_tls_main_var (int which, int val)
+{
+ switch (which)
+ {
+ case 1:
+ tls_main_tbss_1 = val;
+ break;
+ case 2:
+ tls_main_tbss_2 = val;
+ break;
+ case 3:
+ tls_main_tdata_1 = val;
+ break;
+ case 4:
+ tls_main_tdata_2 = val;
+ break;
+ }
+}
+
+void
+use_it (int a)
+{
+ data = a;
+}
+
+static void *
+load_dso (char *dso_name, int n, setter_ftype *setterp)
+{
+ char buf[80];
+ void *sym;
+ void *handle = dlopen (dso_name, RTLD_NOW | RTLD_GLOBAL);
+ if (handle == NULL)
+ {
+ fprintf (stderr, "dlopen of DSO '%s' failed: %s\n", dso_name, dlerror ());
+ exit (1);
+ }
+ sprintf (buf, "set_tls_lib%d_var", n);
+ sym = dlsym (handle, buf);
+ assert (sym != NULL);
+ *setterp = sym;
+
+ /* Some libc implementations (for some architectures) refuse to
+ initialize TLS data structures (specifically, the DTV) without
+ first calling dlsym on one of the TLS symbols. */
+ sprintf (buf, "tls_lib%d_tdata_1", n);
+ assert (dlsym (handle, buf) != NULL);
+
+ return handle;
+}
+
+int
+main (int argc, char **argv)
+{
+ int i, status;
+ setter_ftype s0, s1, s2, s3, s4, s10, s11;
+ void *h1 = load_dso (OBJ1, 1, &s1);
+ void *h2 = load_dso (OBJ2, 2, &s2);
+ void *h3 = load_dso (OBJ3, 3, &s3);
+ void *h4 = load_dso (OBJ4, 4, &s4);
+ s0 = set_tls_main_var;
+ s10 = set_tls_lib10_var;
+ s11 = set_tls_lib11_var;
+
+ use_it (0); /* main-breakpoint-1 */
+
+ /* Set TLS variables in main program and all libraries. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 10 + i);
+ for (i = 1; i <= 4; i++)
+ s1 (i, 110 + i);
+ for (i = 1; i <= 4; i++)
+ s2 (i, 210 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 310 + i);
+ for (i = 1; i <= 4; i++)
+ s4 (i, 410 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1010 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1110 + i);
+
+ use_it (0); /* main-breakpoint-2 */
+
+ /* Unload lib2 and lib3. */
+ status = dlclose (h2);
+ assert (status == 0);
+ status = dlclose (h3);
+ assert (status == 0);
+
+ /* Set TLS variables in main program and in libraries which are still
+ loaded. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 20 + i);
+ for (i = 1; i <= 4; i++)
+ s1 (i, 120 + i);
+ for (i = 1; i <= 4; i++)
+ s4 (i, 420 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1020 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1120 + i);
+
+ use_it (0); /* main-breakpoint-3 */
+
+ /* Load lib3. */
+ h3 = load_dso (OBJ3, 3, &s3);
+
+ /* Set TLS vars again; currently, only lib2 is not loaded. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 30 + i);
+ for (i = 1; i <= 4; i++)
+ s1 (i, 130 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 330 + i);
+ for (i = 1; i <= 4; i++)
+ s4 (i, 430 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1030 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1130 + i);
+
+ use_it (0); /* main-breakpoint-4 */
+
+ /* Unload lib1 and lib4; load lib2. */
+ status = dlclose (h1);
+ assert (status == 0);
+ status = dlclose (h4);
+ assert (status == 0);
+ h2 = load_dso (OBJ2, 2, &s2);
+
+ /* Set TLS vars; currently, lib2 and lib3 are loaded,
+ lib1 and lib4 are not. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 40 + i);
+ for (i = 1; i <= 4; i++)
+ s2 (i, 240 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 340 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1040 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1140 + i);
+
+ use_it (0); /* main-breakpoint-5 */
+
+ /* Load lib4 and lib1. Unload lib2. */
+ h4 = load_dso (OBJ4, 4, &s4);
+ h1 = load_dso (OBJ1, 1, &s1);
+ status = dlclose (h2);
+ assert (status == 0);
+
+ /* Set TLS vars; currently, lib1, lib3, and lib4 are loaded;
+ lib2 is not loaded. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 50 + i);
+ for (i = 1; i <= 4; i++)
+ s1 (i, 150 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 350 + i);
+ for (i = 1; i <= 4; i++)
+ s4 (i, 450 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1050 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1150 + i);
+
+ use_it (0); /* main-breakpoint-6 */
+
+ /* Load lib2, unload lib1, lib3, and lib4; then load lib3 again. */
+ h2 = load_dso (OBJ2, 2, &s2);
+ status = dlclose (h1);
+ assert (status == 0);
+ status = dlclose (h3);
+ assert (status == 0);
+ status = dlclose (h4);
+ assert (status == 0);
+ h3 = load_dso (OBJ3, 3, &s3);
+
+ /* Set TLS vars; currently, lib2 and lib3 are loaded;
+ lib1 and lib4 are not loaded. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 60 + i);
+ for (i = 1; i <= 4; i++)
+ s2 (i, 260 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 360 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1060 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1160 + i);
+
+ use_it (0); /* main-breakpoint-7 */
+
+ /* Unload lib3 and lib2, then (re)load lib4, lib3, lib2, and lib1,
+ in that order. */
+ status = dlclose (h3);
+ assert (status == 0);
+ status = dlclose (h2);
+ assert (status == 0);
+ h4 = load_dso (OBJ4, 4, &s4);
+ h3 = load_dso (OBJ3, 3, &s3);
+ h2 = load_dso (OBJ2, 2, &s2);
+ h1 = load_dso (OBJ1, 1, &s1);
+
+ /* Set TLS vars; currently, lib1, lib2, lib3, and lib4 are all
+ loaded. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 70 + i);
+ for (i = 1; i <= 4; i++)
+ s1 (i, 170 + i);
+ for (i = 1; i <= 4; i++)
+ s2 (i, 270 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 370 + i);
+ for (i = 1; i <= 4; i++)
+ s4 (i, 470 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1070 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1170 + i);
+
+ use_it (0); /* main-breakpoint-8 */
+
+ /* Unload lib3, lib1, and lib4. */
+ status = dlclose (h3);
+ assert (status == 0);
+ status = dlclose (h1);
+ assert (status == 0);
+ status = dlclose (h4);
+ assert (status == 0);
+
+ /* Set TLS vars; currently, lib2 is loaded; lib1, lib3, and lib4 are
+ not. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 80 + i);
+ for (i = 1; i <= 4; i++)
+ s2 (i, 280 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1080 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1180 + i);
+
+ use_it (0); /* main-breakpoint-9 */
+
+ /* Load lib3, unload lib2, load lib4. */
+ h3 = load_dso (OBJ3, 3, &s3);
+ status = dlclose (h2);
+ assert (status == 0);
+ h4 = load_dso (OBJ4, 4, &s4);
+
+ /* Set TLS vars; currently, lib3 and lib4 are loaded; lib1 and lib2
+ are not. */
+ for (i = 1; i <= 4; i++)
+ s0 (i, 90 + i);
+ for (i = 1; i <= 4; i++)
+ s3 (i, 390 + i);
+ for (i = 1; i <= 4; i++)
+ s4 (i, 490 + i);
+ for (i = 1; i <= 4; i++)
+ s10 (i, 1090 + i);
+ for (i = 1; i <= 4; i++)
+ s11 (i, 1190 + i);
+
+ use_it (0); /* main-breakpoint-10 */
+
+ /* Attempt to keep variables in the main program from being optimized
+ away. */
+ use_it (tls_main_tbss_1);
+ use_it (tls_main_tbss_2);
+ use_it (tls_main_tdata_1);
+ use_it (tls_main_tdata_2);
+
+ use_it (100); /* main-breakpoint-last */
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/tls-dlobj.exp b/gdb/testsuite/gdb.base/tls-dlobj.exp
new file mode 100644
index 0000000..02f2ff8
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-dlobj.exp
@@ -0,0 +1,378 @@
+# Copyright 2024 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# Test that the GDB-internal TLS link map to module id mapping code
+# works correctly when debugging a program which is linked against
+# shared objects and which also loads and unloads other shared objects
+# in different orders. For targets which have GDB-internal TLS
+# support, it'll check both GDB-internal TLS support as well as that
+# provided by a helper library such as libthread_db.
+
+source $srcdir/$subdir/tls-common.exp.tcl
+
+require allow_shlib_tests
+
+standard_testfile
+
+set libsrc "${srcdir}/${subdir}/${testfile}-lib.c"
+
+# These will be dlopen'd:
+set lib1obj [standard_output_file "${testfile}1-lib.so"]
+set lib2obj [standard_output_file "${testfile}2-lib.so"]
+set lib3obj [standard_output_file "${testfile}3-lib.so"]
+set lib4obj [standard_output_file "${testfile}4-lib.so"]
+
+# These will be dynamically linked with the main program:
+set lib10obj [standard_output_file "${testfile}10-lib.so"]
+set lib11obj [standard_output_file "${testfile}11-lib.so"]
+
+# Due to problems with some versions of glibc, we expect some tests to
+# fail due to TLS storage not being allocated/initialized. Test
+# command CMD using regular expression RE, and use XFAIL instead of
+# FAIL when the relevant RE is matched and COND is true when evaluated
+# in the upper level.
+
+proc gdb_test_with_xfail { cmd re cond} {
+ gdb_test_multiple $cmd $cmd {
+ -re -wrap $re {
+ pass $gdb_test_name
+ }
+ -re -wrap "The inferior has not yet allocated storage for thread-local variables.*" {
+ if [ uplevel 1 [list expr $cond]] {
+ xfail $gdb_test_name
+ } else {
+ fail $gdb_test_name
+ }
+ }
+ }
+}
+
+proc do_tests {force_internal_tls} {
+ clean_restart $::binfile
+ if ![runto_main] {
+ return
+ }
+
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-1"]
+ gdb_continue_to_breakpoint "main-breakpoint-1"
+
+ with_test_prefix "before assignments" {
+ gdb_test "print tls_main_tbss_1" ".* = 0"
+ gdb_test "print tls_main_tbss_2" ".* = 0"
+ gdb_test "print tls_main_tdata_1" ".* = 96"
+ gdb_test "print tls_main_tdata_2" ".* = 97"
+
+ # For these tests, where we're attempting to access TLS vars
+ # in a dlopen'd library, but before assignment to any of the
+ # vars, so it could happen that storage hasn't been allocated
+ # yet. But it might also work. (When testing against MUSL,
+ # things just work; GLIBC ends to produce the TLS error.) So
+ # accept either the right answer or a TLS error message.
+
+ set tlserr "The inferior has not yet allocated storage for thread-local variables.*"
+ foreach n {1 2 3 4} {
+ gdb_test "print tls_lib${n}_tbss_1" \
+ "0|${tlserr}"
+ gdb_test "print tls_lib${n}_tbss_2" \
+ "0|${tlserr}"
+ gdb_test "print tls_lib${n}_tdata_1" \
+ "96|${tlserr}"
+ gdb_test "print tls_lib${n}_tdata_2" \
+ "97|${tlserr}"
+ }
+ foreach n {10 11} {
+ gdb_test "print tls_lib${n}_tbss_1" ".* = 0"
+ gdb_test "print tls_lib${n}_tbss_2" ".* = 0"
+ gdb_test "print tls_lib${n}_tdata_1" ".* = ${n}96"
+ gdb_test "print tls_lib${n}_tdata_2" ".* = ${n}97"
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-2"]
+ gdb_continue_to_breakpoint "main-breakpoint-2"
+
+ with_test_prefix "at main-breakpoint-2" {
+ gdb_test "print tls_main_tbss_1" ".* = 11"
+ gdb_test "print tls_main_tbss_2" ".* = 12"
+ gdb_test "print tls_main_tdata_1" ".* = 13"
+ gdb_test "print tls_main_tdata_2" ".* = 14"
+
+ foreach n {1 2 3 4 10 11} {
+ gdb_test "print tls_lib${n}_tbss_1" ".* = ${n}11"
+ gdb_test "print tls_lib${n}_tbss_2" ".* = ${n}12"
+ gdb_test "print tls_lib${n}_tdata_1" ".* = ${n}13"
+ gdb_test "print tls_lib${n}_tdata_2" ".* = ${n}14"
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-3"]
+ gdb_continue_to_breakpoint "main-breakpoint-3"
+
+ # At this point lib2 and lib3 have been unloaded. Also, TLS vars
+ # in remaining libraries have been changed.
+
+ with_test_prefix "at main-breakpoint-3" {
+ gdb_test "print tls_main_tbss_1" ".* = 21"
+ gdb_test "print tls_main_tbss_2" ".* = 22"
+ gdb_test "print tls_main_tdata_1" ".* = 23"
+ gdb_test "print tls_main_tdata_2" ".* = 24"
+
+ foreach n {1 4 10 11} {
+ gdb_test "print tls_lib${n}_tbss_1" ".* = ${n}21"
+ gdb_test "print tls_lib${n}_tbss_2" ".* = ${n}22"
+ gdb_test "print tls_lib${n}_tdata_1" ".* = ${n}23"
+ gdb_test "print tls_lib${n}_tdata_2" ".* = ${n}24"
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-4"]
+ gdb_continue_to_breakpoint "main-breakpoint-4"
+
+ # lib3 has been loaded again; lib2 is the only one not loaded.
+
+ with_test_prefix "at main-breakpoint-4" {
+ gdb_test "print tls_main_tbss_1" ".* = 31"
+ gdb_test "print tls_main_tbss_2" ".* = 32"
+ gdb_test "print tls_main_tdata_1" ".* = 33"
+ gdb_test "print tls_main_tdata_2" ".* = 34"
+
+ set cond { $n == 3 }
+ foreach n {1 3 4 10 11} {
+ gdb_test_with_xfail "print tls_lib${n}_tbss_1" ".* = ${n}31" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tbss_2" ".* = ${n}32" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_1" ".* = ${n}33" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_2" ".* = ${n}34" $cond
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-5"]
+ gdb_continue_to_breakpoint "main-breakpoint-5"
+
+ # lib2 and lib3 are loaded; lib1 and lib4 are not.
+
+ with_test_prefix "at main-breakpoint-5" {
+ gdb_test "print tls_main_tbss_1" ".* = 41"
+ gdb_test "print tls_main_tbss_2" ".* = 42"
+ gdb_test "print tls_main_tdata_1" ".* = 43"
+ gdb_test "print tls_main_tdata_2" ".* = 44"
+
+ set cond { $n == 2 || $n == 3 }
+ foreach n {2 3 10 11} {
+ gdb_test_with_xfail "print tls_lib${n}_tbss_1" ".* = ${n}41" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tbss_2" ".* = ${n}42" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_1" ".* = ${n}43" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_2" ".* = ${n}44" $cond
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-6"]
+ gdb_continue_to_breakpoint "main-breakpoint-6"
+
+ # lib1, lib3 and lib4 are loaded; lib2 is not loaded.
+
+ with_test_prefix "at main-breakpoint-6" {
+ gdb_test "print tls_main_tbss_1" ".* = 51"
+ gdb_test "print tls_main_tbss_2" ".* = 52"
+ gdb_test "print tls_main_tdata_1" ".* = 53"
+ gdb_test "print tls_main_tdata_2" ".* = 54"
+
+ set cond { $n == 1 || $n == 3 || $n == 4}
+ foreach n {1 3 4 10 11} {
+ gdb_test_with_xfail "print tls_lib${n}_tbss_1" ".* = ${n}51" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tbss_2" ".* = ${n}52" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_1" ".* = ${n}53" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_2" ".* = ${n}54" $cond
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-7"]
+ gdb_continue_to_breakpoint "main-breakpoint-7"
+
+ # lib2 and lib3 are loaded; lib1 and lib4 are not.
+
+ with_test_prefix "at main-breakpoint-7" {
+ gdb_test "print tls_main_tbss_1" ".* = 61"
+ gdb_test "print tls_main_tbss_2" ".* = 62"
+ gdb_test "print tls_main_tdata_1" ".* = 63"
+ gdb_test "print tls_main_tdata_2" ".* = 64"
+
+ set cond { $n == 2 || $n == 3 }
+ foreach n {2 3 10 11} {
+ gdb_test_with_xfail "print tls_lib${n}_tbss_1" ".* = ${n}61" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tbss_2" ".* = ${n}62" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_1" ".* = ${n}63" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_2" ".* = ${n}64" $cond
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-8"]
+ gdb_continue_to_breakpoint "main-breakpoint-8"
+
+ # lib1, lib2, lib3, and lib4 are all loaded.
+
+ with_test_prefix "at main-breakpoint-8" {
+ gdb_test "print tls_main_tbss_1" ".* = 71"
+ gdb_test "print tls_main_tbss_2" ".* = 72"
+ gdb_test "print tls_main_tdata_1" ".* = 73"
+ gdb_test "print tls_main_tdata_2" ".* = 74"
+
+ foreach n {1 2 3 4 10 11} {
+ gdb_test "print tls_lib${n}_tbss_1" ".* = ${n}71"
+ gdb_test "print tls_lib${n}_tbss_2" ".* = ${n}72"
+ gdb_test "print tls_lib${n}_tdata_1" ".* = ${n}73"
+ gdb_test "print tls_lib${n}_tdata_2" ".* = ${n}74"
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-9"]
+ gdb_continue_to_breakpoint "main-breakpoint-9"
+
+ # lib2 is loaded; lib1, lib3, and lib4 are not.
+
+ with_test_prefix "at main-breakpoint-9" {
+ gdb_test "print tls_main_tbss_1" ".* = 81"
+ gdb_test "print tls_main_tbss_2" ".* = 82"
+ gdb_test "print tls_main_tdata_1" ".* = 83"
+ gdb_test "print tls_main_tdata_2" ".* = 84"
+
+ foreach n {2 10 11} {
+ gdb_test "print tls_lib${n}_tbss_1" ".* = ${n}81"
+ gdb_test "print tls_lib${n}_tbss_2" ".* = ${n}82"
+ gdb_test "print tls_lib${n}_tdata_1" ".* = ${n}83"
+ gdb_test "print tls_lib${n}_tdata_2" ".* = ${n}84"
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-10"]
+ gdb_continue_to_breakpoint "main-breakpoint-10"
+
+ # lib3 and lib4 are loaded; lib1 and lib2 are not.
+
+ with_test_prefix "at main-breakpoint-10" {
+ gdb_test "print tls_main_tbss_1" ".* = 91"
+ gdb_test "print tls_main_tbss_2" ".* = 92"
+ gdb_test "print tls_main_tdata_1" ".* = 93"
+ gdb_test "print tls_main_tdata_2" ".* = 94"
+
+ set cond { $n == 3 || $n == 4 }
+ foreach n {3 4 10 11} {
+ gdb_test_with_xfail "print tls_lib${n}_tbss_1" ".* = ${n}91" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tbss_2" ".* = ${n}92" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_1" ".* = ${n}93" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_2" ".* = ${n}94" $cond
+ }
+ }
+
+ # gdb_interact
+
+ set corefile ${::binfile}.core
+ set core_supported 0
+ if { ![is_remote host] } {
+ set core_supported [gdb_gcore_cmd $corefile "save corefile"]
+ }
+
+ # Finish test early if no core file was made.
+ if !$core_supported {
+ return
+ }
+
+ clean_restart $::binfile
+
+ set core_loaded [gdb_core_cmd $corefile "load corefile"]
+ if { $core_loaded == -1 } {
+ return
+ }
+
+ with_test_prefix "core file" {
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ gdb_test "print tls_main_tbss_1" ".* = 91"
+ gdb_test "print tls_main_tbss_2" ".* = 92"
+ gdb_test "print tls_main_tdata_1" ".* = 93"
+ gdb_test "print tls_main_tdata_2" ".* = 94"
+
+ set cond { $n == 3 || $n == 4 }
+ foreach n {3 4 10 11} {
+ gdb_test_with_xfail "print tls_lib${n}_tbss_1" ".* = ${n}91" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tbss_2" ".* = ${n}92" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_1" ".* = ${n}93" $cond
+ gdb_test_with_xfail "print tls_lib${n}_tdata_2" ".* = ${n}94" $cond
+ }
+ }
+}
+
+# Build shared objects for dlopen:
+if { [gdb_compile_shlib $libsrc $lib1obj [list debug additional_flags=-DN=1]] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+if { [gdb_compile_shlib $libsrc $lib2obj [list debug additional_flags=-DN=2]] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+if { [gdb_compile_shlib $libsrc $lib3obj [list debug additional_flags=-DN=3]] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+if { [gdb_compile_shlib $libsrc $lib4obj [list debug additional_flags=-DN=4]] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+
+# Build shared objects to link against main program:
+if { [gdb_compile_shlib $libsrc $lib10obj [list debug additional_flags=-DN=10]] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+if { [gdb_compile_shlib $libsrc $lib11obj [list debug additional_flags=-DN=11]] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+
+# Use gdb_compile_pthreads to build and link the main program for
+# testing. It's also possible to run the tests using plain old
+# gdb_compile, but this adds complexity with setting up additional
+# KFAILs. (When run using GLIBC versions earlier than 2.34, a program
+# that's not dynamically linked against libpthread will lack a working
+# libthread_db, and, therefore, won't be able to access thread local
+# storage without GDB-internal TLS support. Additional complications
+# arise from when testing on x86_64 with -m32, which tends to work
+# okay on GLIBC 2.34 and newer, but not older versions. It gets messy
+# to properly sort out all of these cases.)
+#
+# This test was originally written to do it both ways, i.e. with both
+# both gdb_compile and gdb_compile_pthreads, but the point of this
+# test is to check that the link map address to TLS module id mapping
+# code works correctly in programs which use lots of dlopen and
+# dlclose calls in various orders - and that can be done using just
+# gdb_compile_pthreads.
+
+if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
+ [list debug shlib_load \
+ shlib=${lib10obj} \
+ shlib=${lib11obj} \
+ additional_flags=-DOBJ1=\"${lib1obj}\" \
+ additional_flags=-DOBJ2=\"${lib2obj}\" \
+ additional_flags=-DOBJ3=\"${lib3obj}\" \
+ additional_flags=-DOBJ4=\"${lib4obj}\" \
+ ]] != "" } {
+ untested "failed to compile"
+} else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ do_tests $force_internal_tls
+ }
+}
diff --git a/gdb/testsuite/gdb.base/tls-multiobj.c b/gdb/testsuite/gdb.base/tls-multiobj.c
new file mode 100644
index 0000000..10e67da
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-multiobj.c
@@ -0,0 +1,89 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+__thread int tls_main_tbss_1;
+__thread int tls_main_tbss_2;
+__thread int tls_main_tdata_1 = 96;
+__thread int tls_main_tdata_2 = 97;
+
+extern __thread int tls_lib1_tbss_1;
+extern __thread int tls_lib1_tbss_2;
+extern __thread int tls_lib1_tdata_1;
+extern __thread int tls_lib1_tdata_2;
+
+extern __thread int tls_lib2_tbss_1;
+extern __thread int tls_lib2_tbss_2;
+extern __thread int tls_lib2_tdata_1;
+extern __thread int tls_lib2_tdata_2;
+
+extern __thread int tls_lib3_tbss_1;
+extern __thread int tls_lib3_tbss_2;
+extern __thread int tls_lib3_tdata_1;
+extern __thread int tls_lib3_tdata_2;
+
+extern void lib1_func ();
+extern void lib2_func ();
+extern void lib3_func ();
+
+volatile int data;
+
+void
+use_it (int a)
+{
+ data = a;
+}
+
+int
+main (int argc, char **argv)
+{
+ use_it (-1);
+
+ tls_main_tbss_1 = 51; /* main-breakpoint-1 */
+ tls_main_tbss_2 = 52;
+ tls_main_tdata_1 = 53;
+ tls_main_tdata_2 = 54;
+
+ tls_lib1_tbss_1 = 151;
+ tls_lib1_tbss_2 = 152;
+ tls_lib1_tdata_1 = 153;
+ tls_lib1_tdata_2 = 154;
+
+ tls_lib2_tbss_1 = 251;
+ tls_lib2_tbss_2 = 252;
+ tls_lib2_tdata_1 = 253;
+ tls_lib2_tdata_2 = 254;
+
+ tls_lib3_tbss_1 = 351;
+ tls_lib3_tbss_2 = 352;
+ tls_lib3_tdata_1 = 353;
+ tls_lib3_tdata_2 = 354;
+
+ lib1_func ();
+ lib2_func ();
+ lib3_func ();
+
+ /* Attempt to keep variables in the main program from being optimized
+ away. */
+ use_it (tls_main_tbss_1);
+ use_it (tls_main_tbss_2);
+ use_it (tls_main_tdata_1);
+ use_it (tls_main_tdata_2);
+
+ use_it (100); /* main-breakpoint-2 */
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/tls-multiobj.exp b/gdb/testsuite/gdb.base/tls-multiobj.exp
new file mode 100644
index 0000000..97acb33
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-multiobj.exp
@@ -0,0 +1,230 @@
+# Copyright 2024 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# Using different compilation/linking scenarios, attempt to access
+# thread-local variables in a non-threaded program using multiple
+# shared objects.
+
+source $srcdir/$subdir/tls-common.exp.tcl
+
+standard_testfile
+
+set lib1src "${srcdir}/${subdir}/${testfile}1.c"
+set lib2src "${srcdir}/${subdir}/${testfile}2.c"
+set lib3src "${srcdir}/${subdir}/${testfile}3.c"
+
+set lib1obj [standard_output_file "${testfile}1-lib.so"]
+set lib2obj [standard_output_file "${testfile}2-lib.so"]
+set lib3obj [standard_output_file "${testfile}3-lib.so"]
+
+proc do_tests {force_internal_tls {do_kfail_tls_access 0}} {
+ clean_restart $::binfile
+ if ![runto_main] {
+ return
+ }
+
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ if { $do_kfail_tls_access && [istarget "*-*-linux*"] } {
+ # Turn off do_kfail_tls_access when libthread_db is loaded.
+ # This can happen for the default case when testing x86_64
+ # w/ -m32 using glibc versions 2.34 or newer.
+ gdb_test_multiple "maint check libthread-db" "Check for loaded libthread_db" {
+ -re -wrap "libthread_db integrity checks passed." {
+ set do_kfail_tls_access 0
+ pass $gdb_test_name
+ }
+ -re -wrap "No libthread_db loaded" {
+ pass $gdb_test_name
+ }
+ }
+ # Also turn off do_kfail_tls_access when connected to a
+ # gdbserver and we observe that accessing a TLS variable
+ # works.
+ if [target_is_gdbserver] {
+ gdb_test_multiple "print tls_main_tbss_1" \
+ "Check TLS accessibility when connected to a gdbserver" {
+ -re -wrap "= 0" {
+ set do_kfail_tls_access 0
+ pass $gdb_test_name
+ }
+ -re -wrap "Remote target failed to process qGetTLSAddr request" {
+ pass $gdb_test_name
+ }
+ }
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-1"]
+ gdb_continue_to_breakpoint "main-breakpoint-1"
+
+ set t $do_kfail_tls_access
+ set m "tls not available"
+ with_test_prefix "before assignments" {
+ gdb_test_with_kfail "print tls_main_tbss_1" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_main_tbss_2" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_main_tdata_1" ".* = 96" $t $m
+ gdb_test_with_kfail "print tls_main_tdata_2" ".* = 97" $t $m
+
+ gdb_test_with_kfail "print tls_lib1_tbss_1" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_lib1_tbss_2" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_lib1_tdata_1" ".* = 196" $t $m
+ gdb_test_with_kfail "print tls_lib1_tdata_2" ".* = 197" $t $m
+
+ gdb_test_with_kfail "print tls_lib2_tbss_1" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_lib2_tbss_2" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_lib2_tdata_1" ".* = 296" $t $m
+ gdb_test_with_kfail "print tls_lib2_tdata_2" ".* = 297" $t $m
+
+ gdb_test_with_kfail "print tls_lib3_tbss_1" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_lib3_tbss_2" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_lib3_tdata_1" ".* = 396" $t $m
+ gdb_test_with_kfail "print tls_lib3_tdata_2" ".* = 397" $t $m
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-2"]
+ gdb_continue_to_breakpoint "main-breakpoint-2"
+
+ with_test_prefix "after assignments" {
+ gdb_test_with_kfail "print tls_main_tbss_1" ".* = 51" $t $m
+ gdb_test_with_kfail "print tls_main_tbss_2" ".* = 52" $t $m
+ gdb_test_with_kfail "print tls_main_tdata_1" ".* = 53" $t $m
+ gdb_test_with_kfail "print tls_main_tdata_2" ".* = 54" $t $m
+
+ gdb_test_with_kfail "print tls_lib1_tbss_1" ".* = 151" $t $m
+ gdb_test_with_kfail "print tls_lib1_tbss_2" ".* = 152" $t $m
+ gdb_test_with_kfail "print tls_lib1_tdata_1" ".* = 153" $t $m
+ gdb_test_with_kfail "print tls_lib1_tdata_2" ".* = 154" $t $m
+
+ gdb_test_with_kfail "print tls_lib2_tbss_1" ".* = 251" $t $m
+ gdb_test_with_kfail "print tls_lib2_tbss_2" ".* = 252" $t $m
+ gdb_test_with_kfail "print tls_lib2_tdata_1" ".* = 253" $t $m
+ gdb_test_with_kfail "print tls_lib2_tdata_2" ".* = 254" $t $m
+
+ gdb_test_with_kfail "print tls_lib3_tbss_1" ".* = 351" $t $m
+ gdb_test_with_kfail "print tls_lib3_tbss_2" ".* = 352" $t $m
+ gdb_test_with_kfail "print tls_lib3_tdata_1" ".* = 353" $t $m
+ gdb_test_with_kfail "print tls_lib3_tdata_2" ".* = 354" $t $m
+ }
+
+ set corefile ${::binfile}.core
+ set core_supported 0
+ if { ![is_remote host] } {
+ set core_supported [gdb_gcore_cmd $corefile "save corefile"]
+ }
+
+ # Finish test early if no core file was made.
+ if !$core_supported {
+ return
+ }
+
+ clean_restart $::binfile
+
+ set core_loaded [gdb_core_cmd $corefile "load corefile"]
+ if { $core_loaded == -1 } {
+ return
+ }
+
+ with_test_prefix "core file" {
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ gdb_test_with_kfail "print tls_main_tbss_1" ".* = 51" $t $m
+ gdb_test_with_kfail "print tls_main_tbss_2" ".* = 52" $t $m
+ gdb_test_with_kfail "print tls_main_tdata_1" ".* = 53" $t $m
+ gdb_test_with_kfail "print tls_main_tdata_2" ".* = 54" $t $m
+
+ gdb_test_with_kfail "print tls_lib1_tbss_1" ".* = 151" $t $m
+ gdb_test_with_kfail "print tls_lib1_tbss_2" ".* = 152" $t $m
+ gdb_test_with_kfail "print tls_lib1_tdata_1" ".* = 153" $t $m
+ gdb_test_with_kfail "print tls_lib1_tdata_2" ".* = 154" $t $m
+
+ gdb_test_with_kfail "print tls_lib2_tbss_1" ".* = 251" $t $m
+ gdb_test_with_kfail "print tls_lib2_tbss_2" ".* = 252" $t $m
+ gdb_test_with_kfail "print tls_lib2_tdata_1" ".* = 253" $t $m
+ gdb_test_with_kfail "print tls_lib2_tdata_2" ".* = 254" $t $m
+
+ gdb_test_with_kfail "print tls_lib3_tbss_1" ".* = 351" $t $m
+ gdb_test_with_kfail "print tls_lib3_tbss_2" ".* = 352" $t $m
+ gdb_test_with_kfail "print tls_lib3_tdata_1" ".* = 353" $t $m
+ gdb_test_with_kfail "print tls_lib3_tdata_2" ".* = 354" $t $m
+ }
+}
+
+if { [gdb_compile_shlib $lib1src $lib1obj {debug}] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+if { [gdb_compile_shlib $lib2src $lib2obj {debug}] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+if { [gdb_compile_shlib $lib3src $lib3obj {debug}] != "" } {
+ untested "failed to compile shared object"
+ return -1
+}
+
+# Certain linux target architectures implement support for internal
+# TLS lookup which is used when thread stratum support (via
+# libthread_db) is missing or when the linux-only GDB maintenance
+# setting 'force-internal-tls-address-lookup' is 'on'. Thus for some
+# of the testing scenarios, such as statically linked executables,
+# this internal support will be used. Set 'do_kfail_tls_access' to 1
+# for those architectures which don't implement internal tls support.
+if {[istarget *-*-linux*]
+ && ![is_any_target {*}$internal_tls_linux_targets]} {
+ set do_kfail_tls_access 1
+} elseif {[istarget *-*-linux*] && [is_x86_like_target]} {
+ # This covers the case of x86_64 with -m32:
+ set do_kfail_tls_access 1
+} else {
+ set do_kfail_tls_access 0
+}
+
+set binprefix $binfile
+
+with_test_prefix "default" {
+ set binfile $binprefix-default
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
+ [list debug shlib=${lib1obj} \
+ shlib=${lib2obj} \
+ shlib=${lib3obj}]] != "" } {
+ untested "failed to compile"
+ } else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ # Depending on glibc version, it might not be appropriate
+ # for do_kfail_tls_access to be set here. That will be
+ # handled in 'do_tests', disabling it if necessary.
+ #
+ # Specifically, glibc versions 2.34 and later have the
+ # thread library (and libthread_db availability) in
+ # programs not linked against libpthread.so
+ do_tests $force_internal_tls $do_kfail_tls_access
+ }
+ }
+}
+
+with_test_prefix "pthreads" {
+ set binfile $binprefix-pthreads
+ if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable \
+ [list debug shlib=${lib1obj} \
+ shlib=${lib2obj} \
+ shlib=${lib3obj}]] != "" } {
+ untested "failed to compile"
+ } else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ do_tests $force_internal_tls
+ }
+ }
+}
diff --git a/gdb/testsuite/gdb.base/tls-multiobj1.c b/gdb/testsuite/gdb.base/tls-multiobj1.c
new file mode 100644
index 0000000..86e7222
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-multiobj1.c
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+__thread int tls_lib1_tbss_1;
+__thread int tls_lib1_tbss_2;
+__thread int tls_lib1_tdata_1 = 196;
+__thread int tls_lib1_tdata_2 = 197;
+
+void
+lib1_func ()
+{
+}
diff --git a/gdb/testsuite/gdb.base/tls-multiobj2.c b/gdb/testsuite/gdb.base/tls-multiobj2.c
new file mode 100644
index 0000000..cea0709
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-multiobj2.c
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+__thread int tls_lib2_tbss_1;
+__thread int tls_lib2_tbss_2;
+__thread int tls_lib2_tdata_1 = 296;
+__thread int tls_lib2_tdata_2 = 297;
+
+void
+lib2_func ()
+{
+}
diff --git a/gdb/testsuite/gdb.base/tls-multiobj3.c b/gdb/testsuite/gdb.base/tls-multiobj3.c
new file mode 100644
index 0000000..bb0f239
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-multiobj3.c
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+__thread int tls_lib3_tbss_1;
+__thread int tls_lib3_tbss_2;
+__thread int tls_lib3_tdata_1 = 396;
+__thread int tls_lib3_tdata_2 = 397;
+
+void
+lib3_func ()
+{
+}
diff --git a/gdb/testsuite/gdb.base/tls-nothreads.c b/gdb/testsuite/gdb.base/tls-nothreads.c
new file mode 100644
index 0000000..b3aaa33
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-nothreads.c
@@ -0,0 +1,57 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2024 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+__thread int tls_tbss_1;
+__thread int tls_tbss_2;
+__thread int tls_tbss_3;
+
+__thread int tls_tdata_1 = 21;
+__thread int tls_tdata_2 = 22;
+__thread int tls_tdata_3 = 23;
+
+volatile int data;
+
+void
+use_it (int a)
+{
+ data = a;
+}
+
+int
+main (int argc, char **argv)
+{
+ use_it (-1);
+
+ tls_tbss_1 = 24; /* main-breakpoint-1 */
+ tls_tbss_2 = 25;
+ tls_tbss_3 = 26;
+
+ tls_tdata_1 = 42;
+ tls_tdata_2 = 43;
+ tls_tdata_3 = 44;
+
+ use_it (tls_tbss_1);
+ use_it (tls_tbss_2);
+ use_it (tls_tbss_3);
+ use_it (tls_tdata_1);
+ use_it (tls_tdata_2);
+ use_it (tls_tdata_3);
+
+ use_it (100); /* main-breakpoint-2 */
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/tls-nothreads.exp b/gdb/testsuite/gdb.base/tls-nothreads.exp
new file mode 100644
index 0000000..92a5cd9
--- /dev/null
+++ b/gdb/testsuite/gdb.base/tls-nothreads.exp
@@ -0,0 +1,248 @@
+# Copyright 2024 Free Software Foundation, Inc.
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# Using different compilation/linking scenarios, attempt to access
+# thread-local variables in a non-threaded program. Also test that
+# GDB internal TLS lookup works correctly.
+
+source $srcdir/$subdir/tls-common.exp.tcl
+
+standard_testfile
+
+proc do_tests {force_internal_tls {do_kfail_tls_access 0}} {
+ clean_restart $::binfile
+ if ![runto_main] {
+ return
+ }
+
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ if { $do_kfail_tls_access && [istarget "*-*-linux*"] } {
+ # Turn off do_kfail_tls_access when libthread_db is loaded.
+ # This can happen for the default case when testing x86_64
+ # w/ -m32 using glibc versions 2.34 or newer.
+ gdb_test_multiple "maint check libthread-db" "Check for loaded libthread_db" {
+ -re -wrap "libthread_db integrity checks passed." {
+ set do_kfail_tls_access 0
+ pass $gdb_test_name
+ }
+ -re -wrap "No libthread_db loaded" {
+ pass $gdb_test_name
+ }
+ }
+ # Also turn off do_kfail_tls_access when connected to a
+ # gdbserver and we observe that accessing a TLS variable
+ # works.
+ if [target_is_gdbserver] {
+ gdb_test_multiple "print tls_tbss_1" "Check TLS accessibility when connected to a gdbserver" {
+ -re -wrap "= 0" {
+ set do_kfail_tls_access 0
+ pass $gdb_test_name
+ }
+ -re -wrap "Remote target failed to process qGetTLSAddr request" {
+ pass $gdb_test_name
+ }
+ }
+ }
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-1"]
+ gdb_continue_to_breakpoint "main-breakpoint-1"
+
+ set t $do_kfail_tls_access
+ set m "tls not available"
+ with_test_prefix "before assignments" {
+ gdb_test_with_kfail "print tls_tbss_1" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_tbss_2" ".* = 0" $t $m
+ gdb_test_with_kfail "print tls_tbss_3" ".* = 0" $t $m
+
+ gdb_test_with_kfail "print tls_tdata_1" ".* = 21" $t $m
+ gdb_test_with_kfail "print tls_tdata_2" ".* = 22" $t $m
+ gdb_test_with_kfail "print tls_tdata_3" ".* = 23" $t $m
+ }
+
+ gdb_breakpoint [gdb_get_line_number "main-breakpoint-2"]
+ gdb_continue_to_breakpoint "main-breakpoint-2"
+
+ with_test_prefix "after assignments" {
+ gdb_test_with_kfail "print tls_tbss_1" ".* = 24" $t $m
+ gdb_test_with_kfail "print tls_tbss_2" ".* = 25" $t $m
+ gdb_test_with_kfail "print tls_tbss_3" ".* = 26" $t $m
+
+ gdb_test_with_kfail "print tls_tdata_1" ".* = 42" $t $m
+ gdb_test_with_kfail "print tls_tdata_2" ".* = 43" $t $m
+ gdb_test_with_kfail "print tls_tdata_3" ".* = 44" $t $m
+ }
+
+ # Make a core file now, but save testing using it until the end
+ # in case core files are not supported.
+ set corefile ${::binfile}.core
+ set core_supported 0
+ if { ![is_remote host] } {
+ set core_supported [gdb_gcore_cmd $corefile "save corefile"]
+ }
+
+ # Now continue to end and see what happens when attempting to
+ # access a TLS variable when the program is no longer running.
+ gdb_continue_to_end
+ with_test_prefix "after exit" {
+ gdb_test "print tls_tbss_1" \
+ "Cannot (?:read|find address of TLS symbol) `tls_tbss_1' without registers"
+ }
+
+ with_test_prefix "stripped" {
+ set binfile_stripped "${::binfile}.stripped"
+ set objcopy [gdb_find_objcopy]
+ set cmd "$objcopy --strip-debug ${::binfile} $binfile_stripped"
+ if ![catch "exec $cmd" cmd_output] {
+ clean_restart $binfile_stripped
+ if ![runto_main] {
+ return
+ }
+
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ # While there are no debug (e.g. DWARF) symbols, there
+ # are minimal symbols, so we should be able to place a
+ # breakpoint in use_it and continue to it. Continuing
+ # twice should put us past the assignments, at which point
+ # we can see if the TLS variables are still accessible.
+ gdb_test "break use_it" "Breakpoint 2 at $::hex"
+ gdb_test "continue" "Breakpoint 2, $::hex in use_it.*"
+ gdb_test "continue" "Breakpoint 2, $::hex in use_it.*" "continue 2"
+
+ # Note that a cast has been added in order to avoid the
+ # "...has unknown type; cast it to its declared type"
+ # problem.
+ gdb_test_with_kfail "print (int) tls_tbss_1" ".* = 24" $t $m
+ gdb_test_with_kfail "print (int) tls_tbss_2" ".* = 25" $t $m
+ gdb_test_with_kfail "print (int) tls_tbss_3" ".* = 26" $t $m
+
+ gdb_test_with_kfail "print (int) tls_tdata_1" ".* = 42" $t $m
+ gdb_test_with_kfail "print (int) tls_tdata_2" ".* = 43" $t $m
+ gdb_test_with_kfail "print (int) tls_tdata_3" ".* = 44" $t $m
+
+ # Get rid of the "use_it" breakpoint
+ gdb_test_no_output "del 2"
+
+ # Continue to program exit
+ gdb_continue_to_end
+
+ # TLS variables should not be accessible after program exit
+ # (This case initially caused GDB to crash during development
+ # of GDB-internal TLS lookup support.)
+ with_test_prefix "after exit" {
+ gdb_test "print (int) tls_tbss_1" \
+ "Cannot find address of TLS symbol `tls_tbss_1' without registers"
+ }
+ }
+ }
+
+ # Finish test early if no core file was made.
+ if !$core_supported {
+ return
+ }
+
+ clean_restart $::binfile
+
+ set core_loaded [gdb_core_cmd $corefile "load corefile"]
+ if { $core_loaded == -1 } {
+ return
+ }
+
+ with_test_prefix "core file" {
+ if $force_internal_tls {
+ gdb_test_no_output "maint set force-internal-tls-address-lookup on"
+ }
+
+ gdb_test_with_kfail "print tls_tbss_1" ".* = 24" $t $m
+ gdb_test_with_kfail "print tls_tbss_2" ".* = 25" $t $m
+ gdb_test_with_kfail "print tls_tbss_3" ".* = 26" $t $m
+
+ gdb_test_with_kfail "print tls_tdata_1" ".* = 42" $t $m
+ gdb_test_with_kfail "print tls_tdata_2" ".* = 43" $t $m
+ gdb_test_with_kfail "print tls_tdata_3" ".* = 44" $t $m
+ }
+}
+
+# Certain linux target architectures implement support for internal
+# TLS lookup which is used when thread stratum support (via
+# libthread_db) is missing or when the linux-only GDB maintenance
+# setting 'force-internal-tls-address-lookup' is 'on'. Thus for some
+# of the testing scenarios, such as statically linked executables,
+# this internal support will be used. Set 'do_kfail_tls_access' to 1
+# for those architectures which don't implement internal TLS support.
+if {[istarget *-*-linux*]
+ && ![is_any_target {*}$internal_tls_linux_targets]} {
+ set do_kfail_tls_access 1
+} elseif {[istarget *-*-linux*] && [is_x86_like_target]} {
+ # This covers the case of x86_64 with -m32:
+ set do_kfail_tls_access 1
+} else {
+ set do_kfail_tls_access 0
+}
+
+set binprefix $binfile
+
+with_test_prefix "default" {
+ set binfile $binprefix-default
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+ untested "failed to compile"
+ } else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ # Depending on glibc version, it might not be appropriate
+ # for do_kfail_tls_access to be set here. That will be
+ # handled in 'do_tests', disabling it if necessary.
+ #
+ # Specifically, glibc versions 2.34 and later have the
+ # thread library (and libthread_db availability) in
+ # programs not linked against libpthread.so
+ do_tests $force_internal_tls $do_kfail_tls_access
+ }
+ }
+}
+
+with_test_prefix "static" {
+ set binfile $binprefix-static
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug "additional_flags=-static"}] != "" } {
+ untested "failed to compile"
+ } else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ do_tests $force_internal_tls $do_kfail_tls_access
+ }
+ }
+}
+
+with_test_prefix "pthreads" {
+ set binfile $binprefix-pthreads
+ if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
+ untested "failed to compile"
+ } else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ do_tests $force_internal_tls
+ }
+ }
+}
+
+with_test_prefix "pthreads-static" {
+ set binfile $binprefix-pthreads-static
+ if { [gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug "additional_flags=-static"}] != "" } {
+ untested "failed to compile"
+ } else {
+ foreach_with_prefix force_internal_tls $internal_tls_iters {
+ do_tests $force_internal_tls $do_kfail_tls_access
+ }
+ }
+}
diff --git a/gdb/testsuite/gdb.base/user-namespace-attach.c b/gdb/testsuite/gdb.base/user-namespace-attach.c
new file mode 100644
index 0000000..684ce1c
--- /dev/null
+++ b/gdb/testsuite/gdb.base/user-namespace-attach.c
@@ -0,0 +1,35 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <stdio.h>
+
+volatile int spin_p = 1;
+
+int
+main ()
+{
+ alarm (60);
+
+ printf ("pid = %lld\n", ((long long) getpid ()));
+
+ while (spin_p)
+ sleep (1);
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.base/user-namespace-attach.exp b/gdb/testsuite/gdb.base/user-namespace-attach.exp
new file mode 100644
index 0000000..741093c
--- /dev/null
+++ b/gdb/testsuite/gdb.base/user-namespace-attach.exp
@@ -0,0 +1,148 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Check that GDB can attach to a process started using 'unshare'. The
+# inferior is started in a separate mnt namespace.
+
+require can_spawn_for_attach
+
+standard_testfile
+
+if {[prepare_for_testing "failed to prepare" $testfile $srcfile] == -1} {
+ return
+}
+
+# This test relies (at least in some parts) on the sysroot being
+# 'target:'. Grab the current sysroot now so we can skip those tests
+# if the board file has changed the sysroot.
+set sysroot ""
+set test "show sysroot"
+gdb_test_multiple $test $test {
+ -re -wrap "The current system root is \"(.*)\"\\." {
+ set sysroot $expect_out(1,string)
+ }
+}
+
+# Start a process using 'unshare FLAGS', then attach to the process
+# from GDB. Check that the attach worked as expected.
+proc run_test { flags } {
+
+ # If FLAGS contains '--mount' then a separate mnt namespace will
+ # be created, in which case the executable will have been read
+ # from the 'target:'. Otherwise, the executable will have been
+ # read from the local filesystem, and there will be no prefix.
+ #
+ # Of course, this only applies if the sysroot is 'target:', some
+ # boards change this, so skip these tests on those boards.
+ if { [lsearch -exact [split $flags " "] "--mount"] != -1 } {
+ if { $::sysroot ne "target:" } {
+ return
+ }
+
+ set prefix "target:"
+ } else {
+ set prefix ""
+ }
+
+ set unshare_cmd "unshare $flags"
+
+ # Run '/bin/true' using UNSHARE_CMD. If the flags in UNSHARE_CMD
+ # aren't supported then this will fail, this means we shouldn't
+ # spawn the command with our test executable and try attaching.
+ #
+ # This will also fail if /bin/true isn't present, or doesn't work
+ # as we expect. But this should be fine for many targets.
+ set res [remote_exec target "$unshare_cmd /bin/true"]
+ if { [lindex $res 0] != 0 } {
+ unsupported "unshare flags not supported"
+ return
+ }
+
+ set inferior_spawn_id \
+ [spawn_wait_for_attach [list "$unshare_cmd $::binfile"]]
+ if { $inferior_spawn_id == -1 } {
+ unsupported "failed to spawn for attach"
+ return
+ }
+
+ set inferior_pid [spawn_id_get_pid $inferior_spawn_id]
+
+ clean_restart
+
+ set saw_bad_warning false
+ gdb_test_multiple "attach $inferior_pid" "attach to inferior" {
+ -re "^attach $::decimal\r\n" {
+ exp_continue
+ }
+
+ -re "^warning: \[^\r\n\]+: could not open as an executable file: \[^\r\n\]+\r\n" {
+ set saw_bad_warning true
+ exp_continue
+ }
+
+ -re "^warning: \[^\r\n\]+: can't open to read symbols: \[^\r\n\]+\r\n" {
+ set saw_bad_warning true
+ exp_continue
+ }
+
+ -re "^warning: Could not load vsyscall page because no executable was specified\r\n" {
+ # This warning is a secondary consequence of the above bad
+ # warnings, so don't count this as a bad warnings, ignore
+ # it instead.
+ exp_continue
+ }
+
+ -re "^warning:\\s+$::decimal\\s*\[^\r\n\]+: No such file or directory\r\n" {
+ # This unrelated warning is seen when GDB stops in libc,
+ # and the source code for libc is not available.
+ exp_continue
+ }
+
+ -re "^warning: \[^\r\n\]+\r\n" {
+ # If we ignore "other" warnings then, should the above
+ # warnings strings change we'll start ignoring the bad
+ # warnings, and the test will appear to pass.
+ #
+ # If you are seeing a warning here that really has nothing
+ # to do with the test failing, then the correct solution
+ # is to add a new regexp to specifically match _that_
+ # warning, and ignore it.
+ set saw_bad_warning true
+ exp_continue
+ }
+
+ -re "^$::gdb_prompt $" {
+ gdb_assert { !$saw_bad_warning } $gdb_test_name
+ }
+
+ -re "^\[^\r\n\]*\r\n" {
+ exp_continue
+ }
+ }
+
+ # Ensure GDB could access the executable.
+ set binfile_re [string_to_regexp $::binfile]
+ gdb_test "info inferiors" \
+ "\r\n\\*\\s+$::decimal\\s+\[^\r\n\]+\\s+${prefix}${binfile_re}\\s*"
+}
+
+set test_flags [list \
+ "--mount --map-root-user" \
+ "--user" \
+ "--user --map-root-user"]
+
+foreach_with_prefix flags $test_flags {
+ run_test $flags
+}
diff --git a/gdb/testsuite/gdb.base/vfork-follow-parent.exp b/gdb/testsuite/gdb.base/vfork-follow-parent.exp
index fca2993..8cb785d 100644
--- a/gdb/testsuite/gdb.base/vfork-follow-parent.exp
+++ b/gdb/testsuite/gdb.base/vfork-follow-parent.exp
@@ -19,6 +19,8 @@
# schedule-multiple on" or "set detach-on-fork on". Test these two resolution
# methods.
+require allow_fork_tests
+
standard_testfile .c vforked-prog.c
set binfile ${testfile}-exit
diff --git a/gdb/testsuite/gdb.base/watch-before-fork.exp b/gdb/testsuite/gdb.base/watch-before-fork.exp
index 074cfbd..509561e 100644
--- a/gdb/testsuite/gdb.base/watch-before-fork.exp
+++ b/gdb/testsuite/gdb.base/watch-before-fork.exp
@@ -20,6 +20,8 @@
# This test uses "awatch".
require allow_hw_watchpoint_access_tests
+require allow_fork_tests
+
standard_testfile
if {[build_executable "failed to prepare" $testfile $srcfile debug]} {
diff --git a/gdb/testsuite/gdb.base/watch-vfork.exp b/gdb/testsuite/gdb.base/watch-vfork.exp
index 1bc61bc..503727d 100644
--- a/gdb/testsuite/gdb.base/watch-vfork.exp
+++ b/gdb/testsuite/gdb.base/watch-vfork.exp
@@ -17,6 +17,8 @@
standard_testfile .c
+require allow_fork_tests
+
if { [build_executable ${testfile}.exp ${testfile} $srcfile {debug}] } {
untested "failed to compile"
return -1
diff --git a/gdb/testsuite/gdb.base/watchpoint-hw-attach.exp b/gdb/testsuite/gdb.base/watchpoint-hw-attach.exp
index b3892f3..fa63edb 100644
--- a/gdb/testsuite/gdb.base/watchpoint-hw-attach.exp
+++ b/gdb/testsuite/gdb.base/watchpoint-hw-attach.exp
@@ -26,29 +26,18 @@ if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
return -1
}
-if ![runto_main] {
- return -1
-}
+set test_spawn_id [spawn_wait_for_attach $binfile]
+set testpid [spawn_id_get_pid $test_spawn_id]
-# Run to the point where mypid in the test program has been
-# populated.
-gdb_breakpoint [gdb_get_line_number "pidacquired"]
-gdb_continue_to_breakpoint "pidacquired"
-
-# Get the PID of the test process.
-set testpid [get_integer_valueof "mypid" 0]
+gdb_test "attach $testpid" "Attaching to program: .*, process $testpid.*" "attach once"
gdb_test "detach" "Detaching from program: .*, process $testpid\r\n\\\[Inferior $decimal \\(process $testpid\\) detached\\\]"
-if {$testpid == ""} {
- return -1
-}
-
# A clean restart is needed to force the hardware watchpoint setup
# logic to run post attach rather than post inferior launch.
clean_restart $binfile
-gdb_test "attach $testpid" "Attaching to program: .*, process $testpid.*" "attach"
+gdb_test "attach $testpid" "Attaching to program: .*, process $testpid.*" "attach twice"
# Ensure the test program is in the top frame so the required
# variables are in scope.
@@ -62,3 +51,5 @@ gdb_test "watch watched_variable" \
gdb_test "continue" \
"continue.*Continuing.*\.Hardware watchpoint $decimal: watched_variable.*Old value = 0.*New value = 4.*watched_variable\\);"
+
+kill_wait_spawned_process $test_spawn_id
diff --git a/gdb/testsuite/gdb.btrace/multi-inferior.exp b/gdb/testsuite/gdb.btrace/multi-inferior.exp
index ed2acb2..d87a941 100644
--- a/gdb/testsuite/gdb.btrace/multi-inferior.exp
+++ b/gdb/testsuite/gdb.btrace/multi-inferior.exp
@@ -24,6 +24,8 @@
require allow_btrace_tests
+require allow_multi_inferior_tests
+
require !use_gdb_stub
standard_testfile
diff --git a/gdb/testsuite/gdb.cp/chained-calls.cc b/gdb/testsuite/gdb.cp/chained-calls.cc
index 9d12c98..9358c71 100644
--- a/gdb/testsuite/gdb.cp/chained-calls.cc
+++ b/gdb/testsuite/gdb.cp/chained-calls.cc
@@ -23,6 +23,8 @@ public:
S operator+ (const S &s);
+ int get ();
+
int a;
};
@@ -41,6 +43,12 @@ S::operator+ (const S &s)
return res;
}
+int
+S::get ()
+{
+ return a;
+}
+
S
f (int i)
{
@@ -162,6 +170,8 @@ public:
U (type t);
type get_type ();
+ int get ();
+
int a;
char c;
type tp[2];
@@ -191,6 +201,12 @@ U::get_type ()
}
int
+U::get ()
+{
+ return a;
+}
+
+int
main ()
{
int i = g(f(0));
@@ -198,6 +214,7 @@ main ()
B b = makeb ();
C c;
+ int z = f (42).get ();
return i + getb(b, 0); /* Break here */
}
diff --git a/gdb/testsuite/gdb.cp/chained-calls.exp b/gdb/testsuite/gdb.cp/chained-calls.exp
index 4f0597a..d34162c 100644
--- a/gdb/testsuite/gdb.cp/chained-calls.exp
+++ b/gdb/testsuite/gdb.cp/chained-calls.exp
@@ -42,3 +42,6 @@ gdb_test "p *c" ".* = {a = 5678}" "*c"
gdb_test "p *c + *c" ".* = {a = 11356}" "*c + *c"
gdb_test "p q(*c + *c)" ".* = {a = 11356}" "q(*c + *c)"
gdb_test "p make_int().get_type ()" ".* = INT" "make_int().get_type ()"
+gdb_test "p f(42).get()" " = 42" "f().get()"
+gdb_test "ptype f(42).get()" "type = int" "ptype f().get()"
+gdb_test "ptype make_int().get()" "type = int" "make_int().get()"
diff --git a/gdb/testsuite/gdb.cp/cpexprs.exp.tcl b/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
index 1ac35af..5c3dfd6 100644
--- a/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
+++ b/gdb/testsuite/gdb.cp/cpexprs.exp.tcl
@@ -28,17 +28,33 @@ proc test_breakpoint {func} {
delete_breakpoints
if { ! [gdb_breakpoint test_function] } {
fail "set test_function breakpoint for $func"
- } elseif { [gdb_test "continue" \
- "Continuing.\r\n\r\nBreakpoint $DEC+,.*test_function.*" \
- "continue to test_function for $func"] != 0 } {
- } else {
- gdb_breakpoint "$func"
- set i [expr {[string last : $func] + 1}]
- set efunc [string_to_regexp [string range $func $i end]]
- gdb_test "continue" \
- "Continuing.\r\n\r\nBreakpoint $DEC+,.*$efunc.*" \
- "continue to $func"
+ return
+ }
+
+ # Accept any input between "Continuing" and the breakpoint hit, as
+ # on Cygwin, we may see a "New Thread" notification. This is the
+ # Cygwin runtime spawning its own internal threads.
+ if { [gdb_test "continue" \
+ "Continuing.\r\n.*Breakpoint $DEC+,.*test_function.*" \
+ "continue to test_function for $func"] != 0 } {
+ return
}
+
+ # On some systems, the in-charge and not-in-charge dtors of a
+ # class may end up with the same address, so setting a breakpoint
+ # at a dtor like base::~base only finds one location. On other
+ # systems (e.g. Cygwin), the two dtors for the same class may have
+ # different addresses, so we find two locations for the
+ # breakpoint. Thus, expect that the breakpoint hit may or may not
+ # report a location number.
+ set bp_re "$DEC+(\.$DEC+)?"
+
+ gdb_breakpoint "$func"
+ set i [expr {[string last : $func] + 1}]
+ set efunc [string_to_regexp [string range $func $i end]]
+ gdb_test "continue" \
+ "Continuing.\r\n.*Breakpoint $bp_re,.*$efunc.*" \
+ "continue to $func"
}
# Add a function to the list of tested functions
diff --git a/gdb/testsuite/gdb.cp/cplusfuncs.exp b/gdb/testsuite/gdb.cp/cplusfuncs.exp
index 94d9df3..e785909 100644
--- a/gdb/testsuite/gdb.cp/cplusfuncs.exp
+++ b/gdb/testsuite/gdb.cp/cplusfuncs.exp
@@ -579,7 +579,8 @@ proc do_tests {} {
gdb_test_no_output "set width 0"
- runto_main
+ # Don't run to main, to avoid loading and expanding debug info for
+ # libstdc++.
gdb_test_no_output "set language c++"
probe_demangler
diff --git a/gdb/testsuite/gdb.cp/templates.exp b/gdb/testsuite/gdb.cp/templates.exp
index 74e4a92..52d0229 100644
--- a/gdb/testsuite/gdb.cp/templates.exp
+++ b/gdb/testsuite/gdb.cp/templates.exp
@@ -58,9 +58,9 @@ proc test_ptype_of_templates {} {
xfail "ptype T5<int> (obsolescent gcc or gdb)"
}
-re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}void T5\\(int\\);${ws}void T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\(\\);${ws}static void \\* operator new\\((size_t|unsigned( int| long|))\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}\}\r\n$gdb_prompt $" {
- # This also triggers gdb/1113...
- kfail "gdb/1111" "ptype T5<int>"
- # Add here a PASS case when PR gdb/1111 gets fixed.
+ # This also triggers gdb/8218...
+ kfail "gdb/8216" "ptype T5<int>"
+ # Add here a PASS case when PR gdb/8216 gets fixed.
# These are really:
# http://sourceware.org/bugzilla/show_bug.cgi?id=8216
# http://sourceware.org/bugzilla/show_bug.cgi?id=8218
@@ -98,9 +98,9 @@ proc test_ptype_of_templates {} {
xfail "ptype t5i (obsolescent gcc or gdb) -- without size_t"
}
-re "type = class T5<int> \{${ws}public:${ws}static int X;${ws}int x;${ws}int val;${ws}void T5\\(int\\);${ws}void T5\\((T5<int> const|const T5<int>) ?&\\);${ws}~T5\\(\\);${ws}static void \\* operator new\\((size_t|unsigned( int| long|))\\);${ws}static void operator delete\\(void ?\\*\\);${ws}int value\\((void|)\\);${ws}\}\r\n$gdb_prompt $" {
- # This also triggers gdb/1113...
- kfail "gdb/1111" "ptype t5i"
- # Add here a PASS case when PR gdb/1111 gets fixed.
+ # This also triggers gdb/8218...
+ kfail "gdb/8216" "ptype t5i"
+ # Add here a PASS case when PR gdb/8216 gets fixed.
# These are really:
# http://sourceware.org/bugzilla/show_bug.cgi?id=8216
# http://sourceware.org/bugzilla/show_bug.cgi?id=8218
@@ -132,7 +132,7 @@ proc test_template_breakpoints {} {
"constructor breakpoint"
}
-re "0. cancel.*\[\r\n\]*.1. all.*\[\r\n\]*.2. T5 at .*\[\r\n\]*.3. T5 at .*\[\r\n\]*> $" {
- setup_kfail "gdb/1062" "*-*-*"
+ setup_kfail "gdb/8167" "*-*-*"
gdb_test "0" \
"nonsense intended to insure that this test fails" \
"constructor breakpoint"
@@ -151,7 +151,7 @@ proc test_template_breakpoints {} {
}
-re "the class `T5<int>' does not have destructor defined\r\nHint: try 'T5<int>::~T5<TAB> or 'T5<int>::~T5<ESC-\\?>\r\n\\(Note leading single quote.\\)\r\n$gdb_prompt $"
{
- kfail "gdb/1112" "destructor breakpoint"
+ kfail "gdb/8217" "destructor breakpoint"
}
}
@@ -307,7 +307,7 @@ gdb_test_multiple "ptype/r Foo" "ptype Foo" {
}
-re "type = class Foo<int> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int foo\\(int, int\\);\r\n\\}\r\n$gdb_prompt $" {
# GCC 3.1, DWARF-2 output.
- kfail "gdb/57" "ptype Foo"
+ kfail "gdb/7162" "ptype Foo"
}
-re "No symbol \"Foo\" in current context.\r\n$gdb_prompt $" {
# GCC 2.95.3, stabs+ output.
@@ -342,28 +342,25 @@ gdb_test_multiple "ptype/r fchar" "ptype fchar" {
# ptype Foo<volatile char *>
gdb_test_multiple "ptype/r fvpchar" "ptype fvpchar" {
- -re "type = (class |)Foo<volatile char ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*char.*\\*t;\r\n\r\n\[ \t\]*.*char \\* foo\\(int,.*char.*\\*\\);\r\n\\}\r\n$gdb_prompt $" {
- pass "ptype fvpchar"
- }
- -re "type = (class |)Foo<volatile char ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*char.*\\*t;\r\n\r\n\[ \t\]*.*char \\* foo\\(int,.*char.*\\*\\);.*\r\n\\}\r\n$gdb_prompt $" {
+ -re "type = class Foo<char volatile\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*volatile char \\*t;\r\n\r\n\[ \t\]*volatile char \\* foo\\(int, volatile char \\*\\);.*\r\n\\}\r\n$gdb_prompt $" {
pass "ptype fvpchar"
}
-re "type = (class |)Foo<char volatile ?\\*> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*.*char.*\\*t;\r\n\r\n\[ \t\]*.*char \\* foo\\(int,.*char.*\\*\\);\r\n\\}\r\n$gdb_prompt $" {
- kfail "gdb/1512" "ptype fvpchar"
+ kfail "gdb/8617" "ptype fvpchar"
}
}
# print a function from Foo<volatile char *>
# This test is sensitive to whitespace matching, so we'll do it twice,
-# varying the spacing, because of PR gdb/33.
+# varying the spacing, because of PR gdb/7138.
gdb_test_multiple "print Foo<volatile char *>::foo" "print Foo<volatile char *>::foo" {
-re "\\$\[0-9\]* = \\{.*char \\*\\((class |)Foo<(volatile char|char volatile) ?\\*> \\*(| const), int, .*char \\*\\)\\} $hex <Foo<.*char.*\\*>::foo\\(int, .*char.*\\*\\)>\r\n$gdb_prompt $" {
pass "print Foo<volatile char *>::foo"
}
-re "No symbol \"Foo<volatile char \\*>\" in current context.\r\n$gdb_prompt $" {
- # This used to be a kfail gdb/33 and then kfail gdb/931.
+ # This used to be a kfail gdb/7138 and then kfail gdb/8036.
fail "print Foo<volatile char *>::foo"
}
}
@@ -373,7 +370,7 @@ gdb_test_multiple "print Foo<volatile char*>::foo" "print Foo<volatile char*>::f
pass "print Foo<volatile char*>::foo"
}
-re "No symbol \"Foo<volatile char\\*>\" in current context.\r\n$gdb_prompt $" {
- # This used to be a kfail gdb/33 and then kfail gdb/931.
+ # This used to be a kfail gdb/7138 and then kfail gdb/8036.
fail "print Foo<volatile char*>::foo"
}
}
@@ -390,7 +387,7 @@ gdb_test_multiple "ptype/r Bar" "ptype Bar" {
}
-re "ptype Bar\r\ntype = class Bar<int, ?33> {\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int bar\\(int, int\\);\r\n}\r\n$gdb_prompt $" {
# GCC 3.1, DWARF-2 output.
- kfail "gdb/57" "ptype Bar"
+ kfail "gdb/7162" "ptype Bar"
}
-re "No symbol \"Bar\" in current context.\r\n$gdb_prompt $" {
# GCC 2.95.3, stabs+ output.
@@ -433,11 +430,11 @@ gdb_test_multiple "ptype/r Baz" "ptype Baz" {
}
-re "type = class Baz<int, ?'s'> {\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int baz\\(int, int\\);\r\n}\r\n$gdb_prompt $" {
# GCC 3.1, DWARF-2 output.
- kfail "gdb/57" "ptype Baz"
+ kfail "gdb/7162" "ptype Baz"
}
-re "type = class Baz<int, ?(\\(char\\))?115> {\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int baz\\(int, int\\);\r\n}\r\n$gdb_prompt $" {
- # GCC 3.x, DWARF-2 output, running into gdb/57 and gdb/1512.
- kfail "gdb/57" "ptype Baz"
+ # GCC 3.x, DWARF-2 output, running into gdb/7162 and gdb/8617.
+ kfail "gdb/7162" "ptype Baz"
}
-re "No symbol \"Baz\" in current context.\r\n$gdb_prompt $" {
# GCC 2.95.3, stabs+ output.
@@ -479,11 +476,11 @@ gdb_test_multiple "ptype/r Qux" "ptype Qux" {
}
-re "type = class Qux<char, ?&string> {\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char qux\\(int, char\\);\r\n}\r\n$gdb_prompt $" {
# GCC 3.1, DWARF-2 output.
- kfail "gdb/57" "ptype Qux"
+ kfail "gdb/7162" "ptype Qux"
}
-re "type = class Qux<char, ?&\\(string\\)> {\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*char t;\r\n\r\n\[ \t\]*char qux\\(int, char\\);\r\n}\r\n$gdb_prompt $" {
- # GCC 3.x, DWARF-2 output; gdb/57 + gdb/1512.
- kfail "gdb/57" "ptype Qux"
+ # GCC 3.x, DWARF-2 output; gdb/7162 + gdb/8617.
+ kfail "gdb/7162" "ptype Qux"
}
-re "No symbol \"Qux\" in current context.\r\n$gdb_prompt $" {
# GCC 2.95.3, stabs+ output.
@@ -507,7 +504,7 @@ gdb_test_multiple "ptype/r quxint" "ptype quxint" {
pass "ptype quxint"
}
-re "type = class Qux<int, ?& ?\\(string\\)> \\{\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\[ \t\]*int t;\r\n\r\n\[ \t\]*int qux\\(int, int\\);.*\r\n\\}\r\n$gdb_prompt $" {
- kfail "gdb/1512" "ptype quxint"
+ kfail "gdb/8617" "ptype quxint"
}
}
@@ -524,7 +521,7 @@ gdb_test_multiple "ptype/r Spec" "ptype Spec" {
}
-re "type = class Spec<int, ?char> {\r\n\[ \t\]*public:\r\n\[ \t\]*int x;\r\n\r\n\[ \t\]*int spec\\(char\\);\r\n}\r\n$gdb_prompt $" {
# GCC 3.1, DWARF-2 output.
- kfail "gdb/57" "ptype Spec"
+ kfail "gdb/7162" "ptype Spec"
}
-re "No symbol \"Spec\" in current context.\r\n$gdb_prompt $" {
# GCC 2.95.3, stabs+ output.
diff --git a/gdb/testsuite/gdb.dap/attach.exp b/gdb/testsuite/gdb.dap/attach.exp
index 37e867c..5e1f634 100644
--- a/gdb/testsuite/gdb.dap/attach.exp
+++ b/gdb/testsuite/gdb.dap/attach.exp
@@ -33,11 +33,11 @@ set attach_id [dap_attach $testpid $binfile]
dap_check_request_and_response "configurationDone" configurationDone
+dap_check_response "attach response" attach $attach_id
+
dap_wait_for_event_and_check "stopped" stopped \
"body reason" attach
-dap_check_response "attach response" attach $attach_id
-
dap_shutdown true
kill_wait_spawned_process $test_spawn_id
diff --git a/gdb/testsuite/gdb.dap/log-message.exp b/gdb/testsuite/gdb.dap/log-message.exp
index 421df14..cce367d 100644
--- a/gdb/testsuite/gdb.dap/log-message.exp
+++ b/gdb/testsuite/gdb.dap/log-message.exp
@@ -40,6 +40,15 @@ set obj [dap_check_request_and_response "set breakpoint" \
[list s $srcfile] $line]]
set fn_bpno [dap_get_breakpoint_number $obj]
+set eol {\n}
+dap_wait_for_event_and_check "set breakpoint output, part 1" output \
+ {body category} stdout \
+ {body output} "No source file named log-message.c.$eol"
+
+dap_wait_for_event_and_check "set breakpoint output, part 2" output \
+ {body category} stdout \
+ {body output} "Breakpoint 1 (-source log-message.c -line $line) pending.$eol"
+
dap_check_request_and_response "configurationDone" configurationDone
dap_check_response "launch response" launch $launch_id
diff --git a/gdb/testsuite/gdb.dap/threads.c b/gdb/testsuite/gdb.dap/threads.c
new file mode 100644
index 0000000..168f044
--- /dev/null
+++ b/gdb/testsuite/gdb.dap/threads.c
@@ -0,0 +1,67 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2019-2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <pthread.h>
+
+#define NUM 2
+
+static pthread_barrier_t threads_started_barrier;
+
+static void *
+thread_function (void *arg)
+{
+ pthread_barrier_wait (&threads_started_barrier);
+
+ while (1)
+ sleep (1);
+
+ pthread_exit (NULL);
+}
+
+static void
+all_started (void)
+{
+}
+
+int
+main ()
+{
+ pthread_t threads[NUM];
+ long i;
+
+ pthread_barrier_init (&threads_started_barrier, NULL, NUM + 1);
+
+ for (i = 1; i <= NUM; i++)
+ {
+ int res;
+
+ res = pthread_create (&threads[i - 1], NULL, thread_function, NULL);
+ }
+
+ pthread_barrier_wait (&threads_started_barrier);
+
+ all_started ();
+
+ printf ("sleeping\n");
+ fflush (stdout);
+ sleep (180);
+
+ exit (EXIT_SUCCESS);
+}
diff --git a/gdb/testsuite/gdb.dap/threads.exp b/gdb/testsuite/gdb.dap/threads.exp
new file mode 100644
index 0000000..c91d107
--- /dev/null
+++ b/gdb/testsuite/gdb.dap/threads.exp
@@ -0,0 +1,81 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test DAP "threads" request.
+
+require allow_shlib_tests allow_dap_tests
+
+load_lib dap-support.exp
+
+standard_testfile
+
+set libname $testfile-solib
+set srcfile_lib $srcdir/$subdir/$libname.c
+set binfile_lib [standard_output_file $libname.so]
+
+if {[build_executable "failed to prepare" $testfile $srcfile \
+ {debug pthreads}] == -1} {
+ return
+}
+
+if {[dap_initialize] == ""} {
+ return
+}
+
+set launch_id [dap_launch $testfile]
+
+set obj [dap_check_request_and_response "set breakpoint on all_started function" \
+ setFunctionBreakpoints \
+ {o breakpoints [a [o name [s all_started]]]}]
+set fn_bpno [dap_get_breakpoint_number $obj]
+
+dap_check_request_and_response "configurationDone" configurationDone
+
+dap_check_response "launch response" launch $launch_id
+
+lassign [dap_wait_for_event_and_check "stopped at function breakpoint" \
+ stopped \
+ "body reason" breakpoint \
+ "body hitBreakpointIds" $fn_bpno] \
+ ignore \
+ all_events
+
+# Verify that we saw the correct number of thread events.
+set count 0
+foreach event $all_events {
+ if {[dict get $event type] == "event"
+ && [dict get $event event] == "thread"
+ && [dict get $event body reason] == "started"} {
+ incr count
+ }
+}
+gdb_assert {$count == 3} "correct number of thread events"
+
+dap_check_request_and_response "continue" continue \
+ {o threadId [i 1]}
+
+# Make sure that the inferior has really re-started -- note that there
+# is no "continue" event, because the "continue" request suppresses
+# those.
+dap_wait_for_event_and_check "output from inferior" output \
+ {body output} "sleeping\\n"
+
+lassign [dap_check_request_and_response "threads request" threads] \
+ response ignore
+
+gdb_assert {[llength [dict get $response body threads]] == 3} \
+ "correct number of threads"
+
+dap_shutdown true
diff --git a/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp b/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp
index 93f8f92..35bb401 100644
--- a/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp
+++ b/gdb/testsuite/gdb.debuginfod/build-id-no-debug-warning.exp
@@ -46,7 +46,7 @@ set build_id_debug_file \
[standard_output_file [build_id_debug_filename_get $binfile]]
# Get the BINFILE.debug filename. This is the file we should be
-# moving to the BUILD_ID_DEBUG_FILE location, but we wont, we're going
+# moving to the BUILD_ID_DEBUG_FILE location, but we won't, we're going
# to move something else there instead.
set debugfile [standard_output_file "${binfile}.debug"]
diff --git a/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp b/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp
index 78fa252..dac4e6c 100644
--- a/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp
+++ b/gdb/testsuite/gdb.debuginfod/corefile-mapped-file.exp
@@ -49,7 +49,7 @@
#
# This obviously needs fixing, but is a separate problem from the one being
# tested here, so this test deliberately checks the mapping using a file that
-# is mmaped rather than loaded as a shared library, as such the file is in the
+# is mmapped rather than loaded as a shared library, as such the file is in the
# core-files list of mapped files, but is not in the shared library list.
#
# Despite this test living in the gdb.debuginfod/ directory, only the last
@@ -260,7 +260,7 @@ proc load_core_file { testname { line_re "" } } {
# We expect RES to be 2 (TCL_RETURN) or 1 (TCL_ERROR). If we get
# here then somehow the 'catch' above finished without hitting
# either of those cases, which is .... weird.
- perror "unexepcted return value, code = $res, value = $string"
+ perror "unexpected return value, code = $res, value = $string"
return -1
}
}
diff --git a/gdb/testsuite/gdb.debuginfod/fetch_src_and_symbols.exp b/gdb/testsuite/gdb.debuginfod/fetch_src_and_symbols.exp
index 7b36f65..4b3894e 100644
--- a/gdb/testsuite/gdb.debuginfod/fetch_src_and_symbols.exp
+++ b/gdb/testsuite/gdb.debuginfod/fetch_src_and_symbols.exp
@@ -152,7 +152,7 @@ proc_with_prefix no_url { } {
# Test that GDB cannot find dwz without debuginfod.
clean_restart
gdb_test "file ${binfile}_alt.o" \
- ".*could not find '.gnu_debugaltlink'.*" \
+ ".*could not find supplementary DWARF file .*" \
"file [file tail ${binfile}_alt.o]"
# Generate a core file and test that GDB cannot find the
diff --git a/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp b/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp
index 9f1842c..1008e46 100644
--- a/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp
+++ b/gdb/testsuite/gdb.debuginfod/solib-with-soname.exp
@@ -89,7 +89,7 @@ if {[lindex $status 0] != 0} {
}
# Build the executable. This links against libfoo.so, which is
-# poining at libfoo_1.so. Just to confuse things even more, this
+# pointing at libfoo_1.so. Just to confuse things even more, this
# executable uses dlopen to load libfoo_2.so. Weird!
if { [build_executable "build executable" ${binfile} ${srcfile2} \
[list debug shlib=${library_filename} shlib_load]] == -1 } {
diff --git a/gdb/testsuite/gdb.dwarf2/ada-array-bound.c b/gdb/testsuite/gdb.dwarf2/ada-array-bound.c
new file mode 100644
index 0000000..5a7d397
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/ada-array-bound.c
@@ -0,0 +1,29 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* The data used for the structure. */
+
+unsigned char our_data[] = { 3, 7, 11, 13 };
+
+/* Dummy main function. */
+
+int
+main()
+{
+ asm ("main_label: .globl main_label");
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.dwarf2/ada-array-bound.exp b/gdb/testsuite/gdb.dwarf2/ada-array-bound.exp
new file mode 100644
index 0000000..f48df7b
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/ada-array-bound.exp
@@ -0,0 +1,89 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test handling of an array type whose bound comes from the field of a
+# structure.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+require dwarf2_support
+
+standard_testfile .c -debug.S
+
+# Set up the DWARF for the test.
+
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+ global srcdir subdir srcfile
+
+ cu {} {
+ DW_TAG_compile_unit {
+ {DW_AT_language @DW_LANG_Ada95}
+ {DW_AT_name $srcfile}
+ } {
+ declare_labels byte array disc struct
+
+ byte: DW_TAG_base_type {
+ {DW_AT_byte_size 1 DW_FORM_sdata}
+ {DW_AT_encoding @DW_ATE_unsigned}
+ {DW_AT_name byte}
+ }
+
+ array: DW_TAG_array_type {
+ {DW_AT_name array_type}
+ {DW_AT_type :$byte}
+ } {
+ DW_TAG_subrange_type {
+ {DW_AT_type :$byte}
+ {DW_AT_upper_bound :$disc}
+ }
+ }
+
+ struct: DW_TAG_structure_type {
+ {DW_AT_name discriminated}
+ {DW_AT_byte_size 4 DW_FORM_sdata}
+ } {
+ disc: DW_TAG_member {
+ {DW_AT_name disc}
+ {DW_AT_type :$byte}
+ {DW_AT_data_member_location 0 DW_FORM_sdata}
+ }
+ DW_TAG_member {
+ {DW_AT_name nums}
+ {DW_AT_type :$array}
+ {DW_AT_data_member_location 1 DW_FORM_sdata}
+ }
+ }
+
+ DW_TAG_variable {
+ {DW_AT_name "value"}
+ {DW_AT_type :$struct}
+ {DW_AT_external 1 DW_FORM_flag}
+ {DW_AT_location {DW_OP_addr [gdb_target_symbol "our_data"]}
+ SPECIAL_expr}
+ }
+ }
+ }
+}
+
+if { [prepare_for_testing "failed to prepare" ${testfile} \
+ [list $srcfile $asm_file] {nodebug}] } {
+ return -1
+}
+
+gdb_test_no_output "set language ada"
+gdb_test "print value" \
+ [string_to_regexp " = (disc => 3, nums => (7, 11, 13))"]
diff --git a/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp b/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp
new file mode 100644
index 0000000..cb24b19
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw-form-strx-out-of-bounds.exp
@@ -0,0 +1,41 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Check that an out-of-bounds DW_FORM_strx attribute triggers a DWARF error.
+
+# Out of bounds index.
+set int_str_idx 1
+
+# With readnow, the dwarf error is printed during the file command, so skip
+# the test.
+require !readnow
+
+set prepare_for_testing_done 0
+source $srcdir/$subdir/dw-form-strx.exp.tcl
+require {expr $prepare_for_testing_done == 1}
+
+set re_dwarf_error \
+ [string_list_to_regexp \
+ "DWARF Error: Offset from DW_FORM_GNU_str_index or DW_FORM_strx" \
+ " pointing outside of .debug_str_offsets section in CU at offset"\
+ " "]$hex
+set re_in_module \
+ {in module [^\r\n]+}
+set re_in_module [string_to_regexp {[}]$re_in_module[string_to_regexp {]}]
+set re_no_symbol [string_to_regexp {No symbol "global_var" in current context.}]
+gdb_test "ptype global_var" \
+ [multi_line \
+ "$re_dwarf_error $re_in_module"\
+ $re_no_symbol]
diff --git a/gdb/testsuite/gdb.dwarf2/dw-form-strx.exp b/gdb/testsuite/gdb.dwarf2/dw-form-strx.exp
new file mode 100644
index 0000000..3f739c4
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw-form-strx.exp
@@ -0,0 +1,25 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Check that DW_FORM_strx works.
+
+# Correct index.
+set int_str_idx 0
+
+set prepare_for_testing_done 0
+source $srcdir/$subdir/dw-form-strx.exp.tcl
+require {expr $prepare_for_testing_done == 1}
+
+gdb_test "ptype global_var" "type = int"
diff --git a/gdb/testsuite/gdb.dwarf2/dw-form-strx.exp.tcl b/gdb/testsuite/gdb.dwarf2/dw-form-strx.exp.tcl
new file mode 100644
index 0000000..bc5a654
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dw-form-strx.exp.tcl
@@ -0,0 +1,64 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+require dwarf2_support
+
+standard_testfile main.c -dw.S
+
+set asm_file [standard_output_file $srcfile2]
+
+# Debug info in the main file.
+Dwarf::assemble $asm_file {
+ declare_labels base_offset_cu1
+
+ debug_str_offsets { base_offset base_offset_cu1 } int
+
+ cu {
+ version 5
+ } {
+ DW_TAG_compile_unit {
+ {DW_AT_str_offsets_base $base_offset_cu1 sec_offset}
+ } {
+ declare_labels int4_type
+
+ int4_type: DW_TAG_base_type {
+ {DW_AT_byte_size 4 DW_FORM_sdata}
+ {DW_AT_encoding @DW_ATE_signed}
+ {DW_AT_name $::int_str_idx DW_FORM_strx_id}
+ }
+
+ DW_TAG_variable {
+ {DW_AT_name global_var}
+ {DW_AT_type :$int4_type}
+ {DW_AT_location {
+ DW_OP_const1u 12
+ DW_OP_stack_value
+ } SPECIAL_expr}
+ }
+ }
+ }
+}
+
+if { [prepare_for_testing "failed to prepare" ${testfile} \
+ [list $srcfile $asm_file] {nodebug}] } {
+ return
+}
+
+# Let includers know prepare_for_testing was done, without having to check
+# source return status.
+set prepare_for_testing_done 1
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-error.exp b/gdb/testsuite/gdb.dwarf2/dw2-error.exp
index f1c8617..0701ec6 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-error.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-error.exp
@@ -37,7 +37,7 @@ set host_binfile [gdb_remote_download host $binfile]
# First test that reading symbols fails.
gdb_test "file $host_binfile" \
- {Reading symbols.*DWARF Error: wrong version in compilation unit header \(is 153, should be 2, 3, 4 or 5\).*} \
+ {Reading symbols.*DWARF Error: wrong version in unit header \(is 153, should be 2, 3, 4 or 5\).*} \
"file $testfile"
# We can't use proc readnow, because the PR makes it return 0.
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S b/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S
index c09c6db..06a93ac 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S
@@ -114,7 +114,11 @@ die221:
.byte 0x0
- .section .debug_str
+#ifdef __arm__
+ .section .debug_str,"MS",%progbits,1
+#else
+ .section .debug_str,"MS",@progbits,1
+#endif
.LASF1:
.string "2.mod"
.LASF0:
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ranges-psym-warning.exp b/gdb/testsuite/gdb.dwarf2/dw2-ranges-psym-warning.exp
index ea0fc03..6120878 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ranges-psym-warning.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ranges-psym-warning.exp
@@ -117,7 +117,7 @@ if ![runto_main] {
# the hole is there in the symbol table, but not the partial symbol table,
# we run into:
# (gdb) bt
-# warning: (Internal error: pc 0x555555554619 in read in psymtab, \
+# warning: (Internal error: pc 0x555555554619 in read in psymtab,
# but not in symtab.)
# ...
# (gdb)
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
index cd999f4..551dda7 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S
@@ -160,7 +160,11 @@ d:
.byte 0
.byte 0
.byte 0
- .section .debug_str
+#ifdef __arm__
+ .section .debug_str,"MS",%progbits,1
+#else
+ .section .debug_str,"MS",@progbits,1
+#endif
.LASF2:
.string "GNU C 4.7.0 20110727 (experimental)"
.LASF0:
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-strp.S b/gdb/testsuite/gdb.dwarf2/dw2-strp.S
index c7ede95..db3e64f 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-strp.S
+++ b/gdb/testsuite/gdb.dwarf2/dw2-strp.S
@@ -163,7 +163,11 @@
.byte 0x0 /* Terminator */
/* String table */
- .section .debug_str
+#ifdef __arm__
+ .section .debug_str,"MS",%progbits,1
+#else
+ .section .debug_str,"MS",@progbits,1
+#endif
.Lproducer:
.string "GNU C 3.3.3"
.Lchar_str:
diff --git a/gdb/testsuite/gdb.dwarf2/dwzbuildid.exp b/gdb/testsuite/gdb.dwarf2/dwzbuildid.exp
index 055e69c..080e999 100644
--- a/gdb/testsuite/gdb.dwarf2/dwzbuildid.exp
+++ b/gdb/testsuite/gdb.dwarf2/dwzbuildid.exp
@@ -13,160 +13,5 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-load_lib dwarf.exp
-
-# This test can only be run on targets which support DWARF-2 and use gas.
-require dwarf2_support
-
-# No remote host testing either.
-require {!is_remote host}
-
-
-# Lots of source files since we test a few cases and make new files
-# for each.
-# The tests are:
-# ok - the main file refers to a dwz and the buildids match
-# mismatch - the buildids do not match
-# fallback - the buildids do not match but a match is found via buildid
-standard_testfile main.c \
- dwzbuildid-ok-base.S dwzbuildid-ok-sep.S \
- dwzbuildid-mismatch-base.S dwzbuildid-mismatch-sep.S \
- dwzbuildid-fallback-base.S dwzbuildid-fallback-sep.S \
- dwzbuildid-fallback-ok.S
-
-# Write some assembly that just has a .gnu_debugaltlink section.
-proc write_just_debugaltlink {filename dwzname buildid} {
- set asm_file [standard_output_file $filename]
-
- Dwarf::assemble $asm_file {
- upvar dwzname dwzname
- upvar buildid buildid
-
- gnu_debugaltlink $dwzname $buildid
-
- # Only the DWARF reader checks .gnu_debugaltlink, so make sure
- # there is a bit of DWARF in here.
- cu { label cu_start } {
- compile_unit {{language @DW_LANG_C}} {
- }
- }
- aranges {} cu_start {
- arange {} 0 0
- }
- }
-}
-
-# Write some DWARF that also sets the buildid.
-proc write_dwarf_file {filename buildid {value 99}} {
- set asm_file [standard_output_file $filename]
-
- Dwarf::assemble $asm_file {
- declare_labels int_label int_label2
-
- upvar buildid buildid
- upvar value value
-
- build_id $buildid
-
- cu { label cu_start } {
- compile_unit {{language @DW_LANG_C}} {
- int_label2: base_type {
- {name int}
- {byte_size 4 sdata}
- {encoding @DW_ATE_signed}
- }
-
- constant {
- {name the_int}
- {type :$int_label2}
- {const_value $value data1}
- }
- }
- }
-
- aranges {} cu_start {
- arange {} 0 0
- }
- }
-}
-
-if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile}1.o \
- object {nodebug}] != "" } {
- return -1
-}
-
-# The values don't really matter, just whether they are equal.
-set ok_prefix 01
-set ok_suffix 02030405060708091011121314151617181920
-set ok_suffix2 020304050607080910111213141516171819ff
-set ok_buildid ${ok_prefix}${ok_suffix}
-set ok_buildid2 ${ok_prefix}${ok_suffix2}
-set bad_buildid [string repeat ff 20]
-
-set debugdir [standard_output_file {}]
-set basedir $debugdir/.build-id
-file mkdir $basedir $basedir/$ok_prefix
-
-# Test where the separate debuginfo's buildid matches.
-write_just_debugaltlink $srcfile2 ${binfile}3.o $ok_buildid
-write_dwarf_file $srcfile3 $ok_buildid
-
-# Test where the separate debuginfo's buildid does not match.
-write_just_debugaltlink $srcfile4 ${binfile}5.o $ok_buildid
-write_dwarf_file $srcfile5 $bad_buildid
-
-# Test where the separate debuginfo's buildid does not match, but then
-# we find a match in the .build-id directory.
-write_just_debugaltlink $srcfile6 ${binfile}7.o $ok_buildid2
-# Use 77 as the value so that if we load the bad debuginfo, we will
-# see the wrong result.
-write_dwarf_file $srcfile7 $bad_buildid 77
-write_dwarf_file $srcfile8 $ok_buildid2
-
-# Compile everything.
-for {set i 2} {$i <= 8} {incr i} {
- if {[gdb_compile [standard_output_file [set srcfile$i]] \
- ${binfile}$i.o object nodebug] != ""} {
- return -1
- }
-}
-
-# Copy a file into the .build-id place for the "fallback" test.
-file copy -force -- ${binfile}8.o $basedir/$ok_prefix/$ok_suffix2.debug
-
-proc do_test {} {
- clean_restart
-
- gdb_test_no_output "set debug-file-directory $::debugdir" \
- "set debug-file-directory"
-
- gdb_load ${::binfile}-${::testname}
-
- if {![runto_main]} {
- return
- }
-
- if {$::testname == "mismatch"} {
- gdb_test "print the_int" \
- "(No symbol table is loaded|No symbol \"the_int\" in current context).*"
- } else {
- gdb_test "print the_int" " = 99"
- }
-}
-
-foreach_with_prefix testname { ok mismatch fallback } {
- if { $testname == "ok" } {
- set objs [list ${binfile}1.o ${binfile}2.o]
- } elseif { $testname == "mismatch" } {
- set objs [list ${binfile}1.o ${binfile}4.o]
- } elseif { $testname == "fallback" } {
- set objs [list ${binfile}1.o ${binfile}6.o]
- }
-
- if {[gdb_compile $objs ${binfile}-$testname executable {quiet}] != ""} {
- unsupported "compilation failed"
- continue
- }
-
- do_test
-}
+set scenario gnu
+source $srcdir/$subdir/dwzbuildid.tcl
diff --git a/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl b/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl
new file mode 100644
index 0000000..a9077eb
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dwzbuildid.tcl
@@ -0,0 +1,184 @@
+# Copyright 2013-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+require dwarf2_support
+
+# No remote host testing either.
+require {!is_remote host}
+
+
+# Lots of source files since we test a few cases and make new files
+# for each.
+# The tests are:
+# ok - the main file refers to a dwz and the buildids match
+# mismatch - the buildids do not match
+# fallback - the buildids do not match but a match is found via buildid
+standard_testfile main.c \
+ dwzbuildid-ok-base.S dwzbuildid-ok-sep.S \
+ dwzbuildid-mismatch-base.S dwzbuildid-mismatch-sep.S \
+ dwzbuildid-fallback-base.S dwzbuildid-fallback-sep.S \
+ dwzbuildid-fallback-ok.S
+
+# Write some assembly that just has a .gnu_debugaltlink section.
+proc write_just_debugaltlink {filename dwzname buildid} {
+ set asm_file [standard_output_file $filename]
+
+ Dwarf::assemble $asm_file {
+ upvar dwzname dwzname
+ upvar buildid buildid
+
+ if {$::scenario == "gnu"} {
+ gnu_debugaltlink $dwzname $buildid
+ } else {
+ debug_sup 0 $dwzname $buildid
+ }
+
+ # Only the DWARF reader checks .gnu_debugaltlink, so make sure
+ # there is a bit of DWARF in here.
+ cu { label cu_start } {
+ compile_unit {{language @DW_LANG_C}} {
+ }
+ }
+ aranges {} cu_start {
+ arange {} 0 0
+ }
+ }
+}
+
+# Write some DWARF that also sets the buildid.
+proc write_dwarf_file {filename buildid {value 99}} {
+ set asm_file [standard_output_file $filename]
+
+ Dwarf::assemble $asm_file {
+ declare_labels int_label int_label2
+
+ upvar buildid buildid
+ upvar value value
+
+ if {$::scenario == "gnu"} {
+ build_id $buildid
+ } else {
+ debug_sup 1 "" $buildid
+ }
+
+ cu { label cu_start } {
+ compile_unit {{language @DW_LANG_C}} {
+ int_label2: base_type {
+ {name int}
+ {byte_size 4 sdata}
+ {encoding @DW_ATE_signed}
+ }
+
+ constant {
+ {name the_int}
+ {type :$int_label2}
+ {const_value $value data1}
+ }
+ }
+ }
+
+ aranges {} cu_start {
+ arange {} 0 0
+ }
+ }
+}
+
+if { [gdb_compile ${srcdir}/${subdir}/${srcfile} ${binfile}1.o \
+ object {nodebug}] != "" } {
+ return -1
+}
+
+# The values don't really matter, just whether they are equal.
+set ok_prefix 01
+set ok_suffix 02030405060708091011121314151617181920
+set ok_suffix2 020304050607080910111213141516171819ff
+set ok_buildid ${ok_prefix}${ok_suffix}
+set ok_buildid2 ${ok_prefix}${ok_suffix2}
+set bad_buildid [string repeat ff 20]
+
+set debugdir [standard_output_file {}]
+set basedir $debugdir/.build-id
+file mkdir $basedir $basedir/$ok_prefix
+
+# Test where the separate debuginfo's buildid matches.
+write_just_debugaltlink $srcfile2 ${binfile}3.o $ok_buildid
+write_dwarf_file $srcfile3 $ok_buildid
+
+# Test where the separate debuginfo's buildid does not match.
+write_just_debugaltlink $srcfile4 ${binfile}5.o $ok_buildid
+write_dwarf_file $srcfile5 $bad_buildid
+
+# Test where the separate debuginfo's buildid does not match, but then
+# we find a match in the .build-id directory.
+write_just_debugaltlink $srcfile6 ${binfile}7.o $ok_buildid2
+# Use 77 as the value so that if we load the bad debuginfo, we will
+# see the wrong result.
+write_dwarf_file $srcfile7 $bad_buildid 77
+write_dwarf_file $srcfile8 $ok_buildid2
+
+# Compile everything.
+for {set i 2} {$i <= 8} {incr i} {
+ if {[gdb_compile [standard_output_file [set srcfile$i]] \
+ ${binfile}$i.o object nodebug] != ""} {
+ return -1
+ }
+}
+
+# Copy a file into the .build-id place for the "fallback" test.
+file copy -force -- ${binfile}8.o $basedir/$ok_prefix/$ok_suffix2.debug
+
+proc do_test {} {
+ clean_restart
+
+ gdb_test_no_output "set debug-file-directory $::debugdir" \
+ "set debug-file-directory"
+
+ gdb_load ${::binfile}-${::testname}
+
+ if {![runto_main]} {
+ return
+ }
+
+ if {$::testname == "mismatch"} {
+ gdb_test "print the_int" \
+ "(No symbol table is loaded|No symbol \"the_int\" in current context).*"
+ } else {
+ gdb_test "print the_int" " = 99"
+ }
+}
+
+set tests {ok mismatch}
+if {$scenario == "gnu"} {
+ lappend tests fallback
+}
+foreach_with_prefix testname $tests {
+ if { $testname == "ok" } {
+ set objs [list ${binfile}1.o ${binfile}2.o]
+ } elseif { $testname == "mismatch" } {
+ set objs [list ${binfile}1.o ${binfile}4.o]
+ } elseif { $testname == "fallback" } {
+ set objs [list ${binfile}1.o ${binfile}6.o]
+ }
+
+ if {[gdb_compile $objs ${binfile}-$testname executable {quiet}] != ""} {
+ unsupported "compilation failed"
+ continue
+ }
+
+ do_test
+}
diff --git a/gdb/testsuite/gdb.dwarf2/dwzbuildid5.exp b/gdb/testsuite/gdb.dwarf2/dwzbuildid5.exp
new file mode 100644
index 0000000..047626c
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dwzbuildid5.exp
@@ -0,0 +1,17 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+set scenario dwarf5
+source $srcdir/$subdir/dwzbuildid.tcl
diff --git a/gdb/testsuite/gdb.dwarf2/dwznolink.exp b/gdb/testsuite/gdb.dwarf2/dwznolink.exp
index 91fe369..0c486ea 100644
--- a/gdb/testsuite/gdb.dwarf2/dwznolink.exp
+++ b/gdb/testsuite/gdb.dwarf2/dwznolink.exp
@@ -49,5 +49,5 @@ if {[build_executable $testfile.exp $testfile \
clean_restart
gdb_test "file -readnow $binfile" \
- "could not read '.gnu_debugaltlink' section" \
+ "could not find supplementary DWARF file" \
"file $testfile"
diff --git a/gdb/testsuite/gdb.dwarf2/dynamic-bit-offset.exp b/gdb/testsuite/gdb.dwarf2/dynamic-bit-offset.exp
new file mode 100644
index 0000000..f4e02da
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/dynamic-bit-offset.exp
@@ -0,0 +1,95 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test DW_AT_data_bit_offset with an expression. This is a DWARF
+# extension, but expected to be in DWARF 6. See
+# https://dwarfstd.org/issues/250501.1.html
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+require dwarf2_support
+
+standard_testfile ada-array-bound.c -debug.S
+
+# Set up the DWARF for the test.
+
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+ global srcdir subdir srcfile
+
+ cu {} {
+ DW_TAG_compile_unit {
+ {DW_AT_language @DW_LANG_Ada95}
+ {DW_AT_name $srcfile}
+ } {
+ declare_labels byte array struct
+
+ byte: DW_TAG_base_type {
+ {DW_AT_byte_size 1 DW_FORM_sdata}
+ {DW_AT_encoding @DW_ATE_unsigned}
+ {DW_AT_name byte}
+ }
+
+ array: DW_TAG_array_type {
+ {DW_AT_name array_type}
+ {DW_AT_type :$byte}
+ } {
+ DW_TAG_subrange_type {
+ {DW_AT_type :$byte}
+ {DW_AT_upper_bound 3 DW_FORM_sdata}
+ }
+ }
+
+ struct: DW_TAG_structure_type {
+ {DW_AT_name discriminated}
+ {DW_AT_byte_size 4 DW_FORM_sdata}
+ } {
+ DW_TAG_member {
+ {DW_AT_name disc}
+ {DW_AT_type :$byte}
+ {DW_AT_data_member_location 0 DW_FORM_sdata}
+ }
+
+ # We know this is always at offset 1 but use an
+ # expression just to test this code path. This is a
+ # DWARF extension. See
+ # https://dwarfstd.org/issues/250501.1.html.
+ DW_TAG_member {
+ {DW_AT_name nums}
+ {DW_AT_type :$array}
+ {DW_AT_data_bit_offset {DW_OP_lit8} SPECIAL_expr}
+ }
+ }
+
+ DW_TAG_variable {
+ {DW_AT_name "value"}
+ {DW_AT_type :$struct}
+ {DW_AT_external 1 DW_FORM_flag}
+ {DW_AT_location {DW_OP_addr [gdb_target_symbol "our_data"]}
+ SPECIAL_expr}
+ }
+ }
+ }
+}
+
+if {[prepare_for_testing "failed to prepare" ${testfile} \
+ [list $srcfile $asm_file] {nodebug}]} {
+ return -1
+}
+
+gdb_test_no_output "set language ada"
+gdb_test "print value" \
+ [string_to_regexp " = (disc => 3, nums => (7, 11, 13))"]
diff --git a/gdb/testsuite/gdb.dwarf2/fission-dw-form-strx.exp b/gdb/testsuite/gdb.dwarf2/fission-dw-form-strx.exp
new file mode 100644
index 0000000..4f5867c
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/fission-dw-form-strx.exp
@@ -0,0 +1,88 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Check support for a DW_FORM_strx attribute in a dwo file.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+require dwarf2_support
+
+standard_testfile main.c -dw.S -dwo.S
+
+set main_asm_file [standard_output_file $srcfile2]
+set dwo_asm_file [standard_output_file $srcfile3]
+
+# Debug info in the main file.
+Dwarf::assemble $main_asm_file {
+ cu {
+ version 5
+ dwo_id 0xF00D
+ } {
+ compile_unit {
+ {DW_AT_dwo_name ${::gdb_test_file_name}.dwo DW_FORM_strp}
+ } {}
+ }
+}
+
+# Debug info in the DWO file.
+Dwarf::assemble $dwo_asm_file {
+ debug_str_offsets { dwo 1 } int
+
+ cu {
+ fission 1
+ version 5
+ dwo_id 0xF00D
+ } {
+ compile_unit {} {
+ declare_labels int4_type
+
+ int4_type: DW_TAG_base_type {
+ {DW_AT_byte_size 4 DW_FORM_sdata}
+ {DW_AT_encoding @DW_ATE_signed}
+ {DW_AT_name 0 DW_FORM_strx_id}
+ }
+
+ DW_TAG_variable {
+ {DW_AT_name global_var}
+ {DW_AT_type :$int4_type}
+ {DW_AT_location {
+ DW_OP_const1u 12
+ DW_OP_stack_value
+ } SPECIAL_expr}
+ }
+ }
+ }
+}
+
+# Build main file.
+if { [build_executable "${testfile}.exp" $binfile \
+ [list ${srcfile} ${main_asm_file}] {nodebug}] } {
+ return
+}
+
+# Build DWO file.
+set dwo_file [standard_output_file ${testfile}.dwo]
+if { [gdb_compile_shlib $dwo_asm_file $dwo_file nodebug] != "" } {
+ return
+}
+
+if { [is_remote host] } {
+ gdb_remote_download host $dwo_file
+}
+
+clean_restart $binfile
+
+gdb_test "ptype global_var" "type = int"
diff --git a/gdb/testsuite/gdb.dwarf2/intbits.c b/gdb/testsuite/gdb.dwarf2/intbits.c
index 82e6ae8..909d283 100644
--- a/gdb/testsuite/gdb.dwarf2/intbits.c
+++ b/gdb/testsuite/gdb.dwarf2/intbits.c
@@ -41,6 +41,9 @@ unsigned char be30_1_off[4] = { 0x80, 0, 0, 2 };
here, to catch any situation where gdb tries to use the memory. */
unsigned char u32_0[4] = { 0xff, 0xff, 0xff, 0xff };
+/* An 8 bit slot holding a 3 bit value. */
+unsigned char just_bit_0 = 5;
+
int
main (void)
{
diff --git a/gdb/testsuite/gdb.dwarf2/intbits.exp b/gdb/testsuite/gdb.dwarf2/intbits.exp
index 7b50e15..ff1d69a 100644
--- a/gdb/testsuite/gdb.dwarf2/intbits.exp
+++ b/gdb/testsuite/gdb.dwarf2/intbits.exp
@@ -36,7 +36,7 @@ Dwarf::assemble ${asm_file} {
{DW_AT_language @DW_LANG_C_plus_plus}
} {
declare_labels i7_type u1_type u17_type u31_type \
- u31_1_type u32_0_type u0_0_type be30_1_type
+ u31_1_type u32_0_type u0_0_type be30_1_type just_bit_type
i7_type: DW_TAG_base_type {
{DW_AT_encoding @DW_ATE_signed}
@@ -167,6 +167,20 @@ Dwarf::assemble ${asm_file} {
{DW_AT_location {DW_OP_addr [gdb_target_symbol "u32_0"]}
SPECIAL_expr}
}
+
+ just_bit_type: DW_TAG_base_type {
+ {DW_AT_encoding @DW_ATE_unsigned}
+ {DW_AT_name "just_bit_type"}
+ {DW_AT_bit_size 3 DW_FORM_udata}
+ }
+
+ DW_TAG_variable {
+ {DW_AT_name "v_just_bit"}
+ {DW_AT_type :${just_bit_type}}
+ {DW_AT_external 1 DW_FORM_flag}
+ {DW_AT_location {DW_OP_addr [gdb_target_symbol "just_bit_0"]}
+ SPECIAL_expr}
+ }
}
}
}
@@ -197,3 +211,6 @@ gdb_test "x/4xb &v_u32_1_off" ":\t0x0e\t0x00\t0x00\t0x00"
gdb_test "print v_be30_1_off" "= 1"
gdb_test "print v_be30_1_off = 7" " = 7"
gdb_test "x/4xb &v_be30_1_off" ":\t0x00\t0x00\t0x00\t0x0e"
+
+gdb_test "print/x v_just_bit" " = 0x5"
+gdb_test "print/x (just_bit_type) 5" " = 0x5"
diff --git a/gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw4.exp b/gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw4.exp
new file mode 100644
index 0000000..c0c2635
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw4.exp
@@ -0,0 +1,71 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2022-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Generate binaries imitating different ways source file paths can be passed to
+# compilers. Test printing macros from those binaries.
+
+# The do_test proc comes from macro-source-path.exp.tcl.
+source $srcdir/$subdir/macro-source-path.exp.tcl
+
+# When adding a test here, please consider adding an equivalent case to
+# `gdb.base/macro-source-path.exp`.
+
+# The following tests are based on the output of `clang-14 -gdwarf-4
+# -fdebug-macro -g3 <file>` (using its built-in assembler). With -gdwarf-4,
+# clang produces a .debug_macinfo section, not a .debug_macro section. But
+# this test still creates a .debug_macro section, that's good enough for what
+# we want to test.
+
+## test.c
+do_test filename 4 "test.c" 1 {
+} {
+ {"test.c" 0}
+}
+
+## ./test.c
+do_test dot-filename 4 "test.c" 1 {
+ "."
+} {
+ {"test.c" 1}
+}
+
+## ../cwd/test.c
+do_test dot-dot-cwd 4 "../cwd/test.c" 1 {
+ "../cwd"
+} {
+ {"test.c" 1}
+}
+
+## /tmp/cwd/test.c
+do_test absolute-cwd 4 "/tmp/cwd/test.c" 1 {
+} {
+ {"test.c" 0}
+}
+
+## ../other/test.c
+do_test dot-dot-other 4 "../other/test.c" 1 {
+ "../other"
+} {
+ {"test.c" 1}
+}
+
+## /tmp/other/test.c
+do_test absolute-other 4 "/tmp/other/test.c" 1 {
+ "/tmp"
+} {
+ {"other/test.c" 1}
+}
diff --git a/gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw5.exp b/gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw5.exp
new file mode 100644
index 0000000..0b3239e
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/macro-source-path-clang14-dw5.exp
@@ -0,0 +1,75 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2022-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Generate binaries imitating different ways source file paths can be passed to
+# compilers. Test printing macros from those binaries.
+
+# The do_test proc comes from macro-source-path.exp.tcl.
+source $srcdir/$subdir/macro-source-path.exp.tcl
+
+# When adding a test here, please consider adding an equivalent case to
+# `gdb.base/macro-source-path.exp`.
+
+# The following tests are based on the output of `clang-14 -gdwarf-5
+# -fdebug-macro -g3 <file>` (using its built-in assembler)
+
+## test.c
+do_test filename 5 "test.c" 0 {
+ "/tmp/cwd"
+} {
+ {"test.c" 0}
+}
+
+## ./test.c
+do_test dot-filename 5 "test.c" 1 {
+ "/tmp/cwd"
+ "."
+} {
+ {"test.c" 0}
+ {"test.c" 1}
+}
+
+## ../cwd/test.c
+do_test dot-dot-cwd 5 "../cwd/test.c" 0 {
+ "/tmp/cwd"
+} {
+ {"../cwd/test.c" 0}
+}
+
+## /tmp/cwd/test.c
+do_test absolute-cwd 5 "/tmp/cwd/test.c" 1 {
+ "/tmp/cwd"
+} {
+ {"/tmp/cwd/test.c" 0}
+ {"test.c" 0}
+}
+
+## ../other/test.c
+do_test dot-dot-other 5 "../other/test.c" 0 {
+ "/tmp/cwd"
+} {
+ {"../other/test.c" 0}
+}
+
+## /tmp/other/test.c
+do_test absolute-other 5 "/tmp/other/test.c" 1 {
+ "/tmp/cwd"
+ "/tmp"
+} {
+ {"/tmp/other/test.c" 0}
+ {"other/test.c" 1}
+}
diff --git a/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld234-dw5.exp b/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld234-dw5.exp
new file mode 100644
index 0000000..940f997
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld234-dw5.exp
@@ -0,0 +1,70 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2022-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Generate binaries imitating different ways source file paths can be passed to
+# compilers. Test printing macros from those binaries.
+
+# The do_test proc comes from macro-source-path.exp.tcl.
+source $srcdir/$subdir/macro-source-path.exp.tcl
+
+# When adding a test here, please consider adding an equivalent case to
+# `gdb.base/macro-source-path.exp`.
+
+# The following tests are based on the output of `gcc -gdwarf-5 -g3 <file>`,
+# gcc 11 paired with gas from binutils 2.34 (Ubuntu 20.04). It generates a v5
+# .debug_macro section, but a v3 .debug_line section.
+
+## test.c
+do_test filename 3 "test.c" 1 {
+} {
+ {"test.c" 0}
+}
+
+## ./test.c
+do_test dot-filename 3 "./test.c" 1 {
+ "."
+} {
+ {"test.c" 1}
+}
+
+## ../cwd/test.c
+do_test dot-dot-cwd 3 "../cwd/test.c" 1 {
+ "../cwd"
+} {
+ {"test.c" 1}
+}
+
+## /tmp/cwd/test.c
+do_test absolute-cwd 3 "/tmp/cwd/test.c" 1 {
+ "/tmp/cwd"
+} {
+ {"test.c" 1}
+}
+
+## ../other/test.c
+do_test dot-dot-other 3 "../other/test.c" 1 {
+ "../other"
+} {
+ {"test.c" 1}
+}
+
+## /tmp/other/test.c
+do_test absolute-other 3 "/tmp/other/test.c" 1 {
+ "/tmp/other"
+} {
+ {"test.c" 1}
+}
diff --git a/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw4.exp b/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw4.exp
new file mode 100644
index 0000000..dea0308
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw4.exp
@@ -0,0 +1,70 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2022-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Generate binaries imitating different ways source file paths can be passed to
+# compilers. Test printing macros from those binaries.
+
+# The do_test proc comes from macro-source-path.exp.tcl.
+source $srcdir/$subdir/macro-source-path.exp.tcl
+
+# When adding a test here, please consider adding an equivalent case to
+# `gdb.base/macro-source-path.exp`.
+
+# The following tests are based on the output of `gcc -gdwarf-4 -g3 <file>`,
+# gcc 11 paired with gas from binutils 2.38. With -gdwarf-4, gcc generates a
+# v4 (pre-standard) .debug_macro section.
+
+## test.c
+do_test filename 4 "test.c" 1 {
+} {
+ {"test.c" 0}
+}
+
+## ./test.c
+do_test dot-filename 4 "./test.c" 1 {
+ "."
+} {
+ {"test.c" 1}
+}
+
+## ../cwd/test.c
+do_test dot-dot-cwd 4 "../cwd/test.c" 1 {
+ "../cwd"
+} {
+ {"test.c" 1}
+}
+
+## /tmp/cwd/test.c
+do_test absolute-cwd 4 "/tmp/cwd/test.c" 1 {
+ "/tmp/cwd"
+} {
+ {"test.c" 1}
+}
+
+## ../other/test.c
+do_test dot-dot-other 4 "../other/test.c" 1 {
+ "../other"
+} {
+ {"test.c" 1}
+}
+
+## /tmp/other/test.c
+do_test absolute-other 4 "/tmp/other/test.c" 1 {
+ "/tmp/other"
+} {
+ {"test.c" 1}
+}
diff --git a/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw5.exp b/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw5.exp
new file mode 100644
index 0000000..98a278e
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/macro-source-path-gcc11-ld238-dw5.exp
@@ -0,0 +1,81 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2022-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Generate binaries imitating different ways source file paths can be passed to
+# compilers. Test printing macros from those binaries.
+
+# The do_test proc comes from macro-source-path.exp.tcl.
+source $srcdir/$subdir/macro-source-path.exp.tcl
+
+# When adding a test here, please consider adding an equivalent case to
+# `gdb.base/macro-source-path.exp`.
+
+# The following tests are based on the output of `gcc -gdwarf-5 -g3 <file>`,
+# gcc 11 paired with gas from binutils 2.38.
+
+## test.c
+do_test filename 5 "test.c" 1 {
+ "/tmp/cwd"
+} {
+ {"test.c" 0}
+ {"test.c" 0}
+}
+
+## ./test.c
+do_test dot-filename 5 "./test.c" 1 {
+ "/tmp/cwd"
+ "."
+} {
+ {"test.c" 1}
+ {"test.c" 1}
+}
+
+## ../cwd/test.c
+do_test dot-dot-cwd 5 "../cwd/test.c" 1 {
+ "/tmp/cwd"
+ "../cwd"
+} {
+ {"test.c" 1}
+ {"test.c" 1}
+}
+
+## /tmp/cwd/test.c
+do_test absolute-cwd 5 "/tmp/cwd/test.c" 1 {
+ "/tmp/cwd"
+ "/tmp/cwd"
+} {
+ {"test.c" 1}
+ {"test.c" 0}
+}
+
+## ../other/test.c
+do_test dot-dot-other 5 "../other/test.c" 1 {
+ "/tmp/cwd"
+ "../other"
+} {
+ {"test.c" 1}
+ {"test.c" 1}
+}
+
+## /tmp/other/test.c
+do_test absolute-other 5 "/tmp/other/test.c" 1 {
+ "/tmp/cwd"
+ "/tmp/other"
+} {
+ {"test.c" 1}
+ {"test.c" 1}
+}
diff --git a/gdb/testsuite/gdb.dwarf2/macro-source-path.exp b/gdb/testsuite/gdb.dwarf2/macro-source-path.exp.tcl
index 1318f8e..ecaf685 100644
--- a/gdb/testsuite/gdb.dwarf2/macro-source-path.exp
+++ b/gdb/testsuite/gdb.dwarf2/macro-source-path.exp.tcl
@@ -17,12 +17,15 @@
# Generate binaries imitating different ways source file paths can be passed to
# compilers. Test printing macros from those binaries.
+#
+# The entry points for this test are in the various
+# gdb.dwarf2/macro-source-path-*.exp files.
load_lib dwarf.exp
require dwarf2_support
-standard_testfile .c
+standard_testfile macro-source-path.c
lassign [function_range main $srcdir/$subdir/$srcfile] \
main_start main_len
@@ -160,248 +163,3 @@ proc do_test { test_name lines_version DW_AT_name main_file_idx directories
}
}
}
-
-# When adding a test here, please consider adding an equivalent case to the test
-# of the same name in gdb.base.
-
-# The following tests are based on the output of `gcc -gdwarf-5 -g3 <file>`,
-# gcc 11 paired with gas from binutils 2.38.
-
-## test.c
-do_test gcc11-ld238-dw5-filename 5 "test.c" 1 {
- "/tmp/cwd"
-} {
- {"test.c" 0}
- {"test.c" 0}
-}
-
-## ./test.c
-do_test gcc11-ld238-dw5-dot-filename 5 "./test.c" 1 {
- "/tmp/cwd"
- "."
-} {
- {"test.c" 1}
- {"test.c" 1}
-}
-
-## ../cwd/test.c
-do_test gcc11-ld238-dw5-dot-dot-cwd 5 "../cwd/test.c" 1 {
- "/tmp/cwd"
- "../cwd"
-} {
- {"test.c" 1}
- {"test.c" 1}
-}
-
-## /tmp/cwd/test.c
-do_test gcc11-ld238-dw5-absolute-cwd 5 "/tmp/cwd/test.c" 1 {
- "/tmp/cwd"
- "/tmp/cwd"
-} {
- {"test.c" 1}
- {"test.c" 0}
-}
-
-## ../other/test.c
-do_test gcc11-ld238-dw5-dot-dot-other 5 "../other/test.c" 1 {
- "/tmp/cwd"
- "../other"
-} {
- {"test.c" 1}
- {"test.c" 1}
-}
-
-## /tmp/other/test.c
-do_test gcc11-ld238-dw5-absolute-other 5 "/tmp/other/test.c" 1 {
- "/tmp/cwd"
- "/tmp/other"
-} {
- {"test.c" 1}
- {"test.c" 1}
-}
-
-# The following tests are based on the output of `gcc -gdwarf-4 -g3 <file>`,
-# gcc 11 paired with gas from binutils 2.38. With -gdwarf-4, gcc generates a
-# v4 (pre-standard) .debug_macro section.
-
-## test.c
-do_test gcc11-ld238-dw4-filename 4 "test.c" 1 {
-} {
- {"test.c" 0}
-}
-
-## ./test.c
-do_test gcc11-ld238-dw4-dot-filename 4 "./test.c" 1 {
- "."
-} {
- {"test.c" 1}
-}
-
-## ../cwd/test.c
-do_test gcc11-ld238-dw4-dot-dot-cwd 4 "../cwd/test.c" 1 {
- "../cwd"
-} {
- {"test.c" 1}
-}
-
-## /tmp/cwd/test.c
-do_test gcc11-ld238-dw4-absolute-cwd 4 "/tmp/cwd/test.c" 1 {
- "/tmp/cwd"
-} {
- {"test.c" 1}
-}
-
-## ../other/test.c
-do_test gcc11-ld238-dw4-dot-dot-other 4 "../other/test.c" 1 {
- "../other"
-} {
- {"test.c" 1}
-}
-
-## /tmp/other/test.c
-do_test gcc11-ld238-dw4-absolute-other 4 "/tmp/other/test.c" 1 {
- "/tmp/other"
-} {
- {"test.c" 1}
-}
-
-# The following tests are based on the output of `clang-14 -gdwarf-5
-# -fdebug-macro -g3 <file>` (using its built-in assembler)
-
-## test.c
-do_test clang14-dw5-filename 5 "test.c" 0 {
- "/tmp/cwd"
-} {
- {"test.c" 0}
-}
-
-## ./test.c
-do_test clang14-dw5-dot-filename 5 "test.c" 1 {
- "/tmp/cwd"
- "."
-} {
- {"test.c" 0}
- {"test.c" 1}
-}
-
-## ../cwd/test.c
-do_test clang14-dw5-dot-dot-cwd 5 "../cwd/test.c" 0 {
- "/tmp/cwd"
-} {
- {"../cwd/test.c" 0}
-}
-
-## /tmp/cwd/test.c
-do_test clang14-dw5-absolute-cwd 5 "/tmp/cwd/test.c" 1 {
- "/tmp/cwd"
-} {
- {"/tmp/cwd/test.c" 0}
- {"test.c" 0}
-}
-
-## ../other/test.c
-do_test clang14-dw5-dot-dot-other 5 "../other/test.c" 0 {
- "/tmp/cwd"
-} {
- {"../other/test.c" 0}
-}
-
-## /tmp/other/test.c
-do_test clang14-dw5-absolute-other 5 "/tmp/other/test.c" 1 {
- "/tmp/cwd"
- "/tmp"
-} {
- {"/tmp/other/test.c" 0}
- {"other/test.c" 1}
-}
-
-# The following tests are based on the output of `clang-14 -gdwarf-4
-# -fdebug-macro -g3 <file>` (using its built-in assembler). With -gdwarf-4,
-# clang produces a .debug_macinfo section, not a .debug_macro section. But
-# this test still creates a .debug_macro section, that's good enough for what
-# we want to test.
-
-## test.c
-do_test clang14-dw4-filename 4 "test.c" 1 {
-} {
- {"test.c" 0}
-}
-
-## ./test.c
-do_test clang14-dw4-dot-filename 4 "test.c" 1 {
- "."
-} {
- {"test.c" 1}
-}
-
-## ../cwd/test.c
-do_test clang14-dw4-dot-dot-cwd 4 "../cwd/test.c" 1 {
- "../cwd"
-} {
- {"test.c" 1}
-}
-
-## /tmp/cwd/test.c
-do_test clang14-dw4-absolute-cwd 4 "/tmp/cwd/test.c" 1 {
-} {
- {"test.c" 0}
-}
-
-## ../other/test.c
-do_test clang14-dw4-dot-dot-other 4 "../other/test.c" 1 {
- "../other"
-} {
- {"test.c" 1}
-}
-
-## /tmp/other/test.c
-do_test clang14-dw4-absolute-other 4 "/tmp/other/test.c" 1 {
- "/tmp"
-} {
- {"other/test.c" 1}
-}
-
-# The following tests are based on the output of `gcc -gdwarf-5 -g3 <file>`,
-# gcc 11 paired with gas from binutils 2.34 (Ubuntu 20.04). It generates a v5
-# .debug_macro section, but a v3 .debug_line section.
-
-## test.c
-do_test gcc11-ld234-dw5-filename 3 "test.c" 1 {
-} {
- {"test.c" 0}
-}
-
-## ./test.c
-do_test gcc11-ld234-dw5-dot-filename 3 "./test.c" 1 {
- "."
-} {
- {"test.c" 1}
-}
-
-## ../cwd/test.c
-do_test gcc11-ld234-dw5-dot-dot-cwd 3 "../cwd/test.c" 1 {
- "../cwd"
-} {
- {"test.c" 1}
-}
-
-## /tmp/cwd/test.c
-do_test gcc11-ld234-dw5-absolute-cwd 3 "/tmp/cwd/test.c" 1 {
- "/tmp/cwd"
-} {
- {"test.c" 1}
-}
-
-## ../other/test.c
-do_test gcc11-ld234-dw5-dot-dot-other 3 "../other/test.c" 1 {
- "../other"
-} {
- {"test.c" 1}
-}
-
-## /tmp/other/test.c
-do_test gcc11-ld234-dw5-absolute-other 3 "/tmp/other/test.c" 1 {
- "/tmp/other"
-} {
- {"test.c" 1}
-}
diff --git a/gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp b/gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp
index 7475d7a..05e625f 100644
--- a/gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp
+++ b/gdb/testsuite/gdb.dwarf2/no-gnu-debuglink.exp
@@ -38,7 +38,7 @@ if { [build_executable $testfile.exp $testfile [list $srcfile $asm_file]] } {
clean_restart
gdb_test_no_output "maint set dwarf synchronous on"
-set msg "\r\nwarning: could not find '\.gnu_debugaltlink' file for \[^\r\n\]*"
+set msg "\r\nwarning: could not find supplementary DWARF file \[^\r\n\]*"
gdb_test "file $binfile" "$msg" "file command"
set question "Load new symbol table from .*\? .y or n. "
diff --git a/gdb/testsuite/gdb.dwarf2/pr11465.S b/gdb/testsuite/gdb.dwarf2/pr11465.S
index fed98bc..f3f2c57 100644
--- a/gdb/testsuite/gdb.dwarf2/pr11465.S
+++ b/gdb/testsuite/gdb.dwarf2/pr11465.S
@@ -344,7 +344,11 @@ die149: .uleb128 0x16 /* DW_TAG_variable */
.byte 0x0
.byte 0x0
.byte 0x0
- .section .debug_str
+#ifdef __arm__
+ .section .debug_str,"MS",%progbits,1
+#else
+ .section .debug_str,"MS",@progbits,1
+#endif
.LASF0:
.string "_ZN1N1fE"
.LASF7:
diff --git a/gdb/testsuite/gdb.guile/scm-cmd.exp b/gdb/testsuite/gdb.guile/scm-cmd.exp
index 9caca24..3709cb1 100644
--- a/gdb/testsuite/gdb.guile/scm-cmd.exp
+++ b/gdb/testsuite/gdb.guile/scm-cmd.exp
@@ -71,6 +71,65 @@ gdb_test_multiline "input subcommand" \
gdb_test "prefix-cmd subcmd ugh" "subcmd output, arg = ugh" "call subcmd"
+# Create a sub-command using a partial, but still unique, prefix.
+
+gdb_test_multiline "sub-command using partial prefix" \
+ "guile" "" \
+ "(register-command! (make-command \"prefix subcmd2\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:invoke (lambda (self arg from-tty)" "" \
+ " (display (format #f \"subcmd2 output, arg = ~a\\n\" arg)))))" "" \
+ "end" ""
+
+gdb_test "prefix-cmd subcmd2 ugh" "subcmd2 output, arg = ugh" "call subcmd2"
+
+# Now create a second prefix, similar to the first.
+
+gdb_test_multiline "create prefix-xxx prefix command" \
+ "guile" "" \
+ "(register-command! (make-command \"prefix-xxx\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:completer-class COMPLETE_NONE" "" \
+ " #:prefix? #t))" "" \
+ "end" ""
+
+# Now create a sub-command using an ambiguous prefix.
+
+gdb_test_multiline "sub-command using ambiguous partial prefix" \
+ "guile" "" \
+ "(register-command! (make-command \"prefix subcmd3\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:invoke (lambda (self arg from-tty)" "" \
+ " (display (format #f \"subcmd3 output, arg = ~a\\n\" arg)))))" "" \
+ "end" \
+ [multi_line \
+ "Out of range: could not find command prefix 'prefix' in position 1: \"prefix subcmd3\"" \
+ "Error while executing Scheme code\\."]
+
+# Check for errors when creating a command with an unknown prefix.
+
+gdb_test_multiline "try to create 'unknown-prefix subcmd'" \
+ "guile" "" \
+ "(register-command! (make-command \"unknown-prefix subcmd\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:invoke (lambda (self arg from-tty)" "" \
+ " (display \"called unknown-prefix subcmd\"))))" "" \
+ "end" \
+ [multi_line \
+ "Out of range: could not find command prefix 'unknown-prefix' in position 1: \"unknown-prefix subcmd\"" \
+ "Error while executing Scheme code\\."]
+
+gdb_test_multiline "try to create 'prefix-cmd unknown-prefix subcmd'" \
+ "guile" "" \
+ "(register-command! (make-command \"prefix-cmd unknown-prefix subcmd\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:invoke (lambda (self arg from-tty)" "" \
+ " (display \"called prefix-cmd unknown-prefix subcmd\"))))" "" \
+ "end" \
+ [multi_line \
+ "Out of range: could not find command prefix 'prefix-cmd unknown-prefix' in position 1: \"prefix-cmd unknown-prefix subcmd\"" \
+ "Error while executing Scheme code\\."]
+
# Test a subcommand in an existing GDB prefix.
gdb_test_multiline "input new subcommand" \
diff --git a/gdb/testsuite/gdb.guile/scm-color.exp b/gdb/testsuite/gdb.guile/scm-color.exp
index bbc9e71..578f712 100644
--- a/gdb/testsuite/gdb.guile/scm-color.exp
+++ b/gdb/testsuite/gdb.guile/scm-color.exp
@@ -20,7 +20,10 @@ load_lib gdb-guile.exp
require allow_guile_tests
-clean_restart
+# Start GDB with styling support.
+with_ansi_styling_terminal {
+ clean_restart
+}
gdb_install_guile_utils
gdb_install_guile_module
@@ -108,3 +111,8 @@ gdb_test [concat "guile " \
"\033\\\[31m\033\\\[42mred on green\033\\\[49m red on default\033\\\[39m" \
"escape sequences"
+# Ensure that turning styling off means no escape sequences.
+gdb_test_no_output "set style enabled off"
+gdb_test_no_output "guile (display (color-escape-sequence c_red #t))"
+gdb_test_no_output "guile (display (color-escape-sequence c_red #f))"
+gdb_test_no_output "set style enabled on"
diff --git a/gdb/testsuite/gdb.guile/scm-frame.exp b/gdb/testsuite/gdb.guile/scm-frame.exp
index b5ec73f..9a27c42 100644
--- a/gdb/testsuite/gdb.guile/scm-frame.exp
+++ b/gdb/testsuite/gdb.guile/scm-frame.exp
@@ -52,7 +52,7 @@ gdb_test "guile (print (frame-read-var bf1 \"b\"))" \
"\"bar\"" "test b"
# Test the read-var function in another block other than the current
-# block (in this case, the super block). Test thar read-var is reading
+# block (in this case, the super block). Test that read-var is reading
# the correct variables of i and f but they are the correct value and type.
gdb_scm_test_silent_cmd "guile (define sb (block-superblock (frame-block bf1)))" \
"get superblock"
diff --git a/gdb/testsuite/gdb.guile/scm-parameter.exp b/gdb/testsuite/gdb.guile/scm-parameter.exp
index 8ab5d93..e35428a 100644
--- a/gdb/testsuite/gdb.guile/scm-parameter.exp
+++ b/gdb/testsuite/gdb.guile/scm-parameter.exp
@@ -67,9 +67,19 @@ with_test_prefix "test-param" {
gdb_test_no_output "set print test-param off"
gdb_test "show print test-param" "The state of the Test Parameter is off." "show parameter off"
gdb_test "guile (print (parameter-value test-param))" "= #f" "parameter value, false"
- gdb_test "help show print test-param" "Show the state of the boolean test-param.*" "show help"
- gdb_test "help set print test-param" "Set the state of the boolean test-param.*" "set help"
- gdb_test "help set print" "set print test-param -- Set the state of the boolean test-param.*" "general help"
+ gdb_test "help show print test-param" \
+ [multi_line \
+ "^Show the state of the boolean test-param\\." \
+ "When enabled, test param does something useful\\. When disabled, does nothing\\."] \
+ "show help"
+ gdb_test "help set print test-param" \
+ [multi_line \
+ "^Set the state of the boolean test-param\\." \
+ "When enabled, test param does something useful\\. When disabled, does nothing\\."] \
+ "set help"
+ gdb_test "help set print" \
+ "set print test-param -- Set the state of the boolean test-param.*" \
+ "general help"
gdb_test "guile (print (parameter? test-param))" "= #t"
gdb_test "guile (print (parameter? 42))" "= #f"
@@ -314,9 +324,17 @@ with_test_prefix "test-undocumented-param" {
gdb_test "show print test-undoc-param" "The state of the Test Parameter is on." "show parameter on"
gdb_test_no_output "set print test-undoc-param off"
gdb_test "show print test-undoc-param" "The state of the Test Parameter is off." "show parameter off"
- gdb_test "help show print test-undoc-param" "This command is not documented." "show help"
- gdb_test "help set print test-undoc-param" "This command is not documented." "set help"
- gdb_test "help set print" "set print test-undoc-param -- This command is not documented.*" "general help"
+ gdb_test "help show print test-undoc-param" \
+ [multi_line \
+ "^Show the current value of 'print test-undoc-param'\\." \
+ "This command is not documented\\."] \
+ "show help"
+ gdb_test "help set print test-undoc-param" \
+ [multi_line \
+ "Set the current value of 'print test-undoc-param'\\." \
+ "This command is not documented\\."] \
+ "set help"
+ gdb_test "help set print" "set print test-undoc-param -- Set the current value of 'print test-undoc-param'\\..*" "general help"
}
# Test a parameter with a restricted range, where we need to notify the user
@@ -379,13 +397,168 @@ gdb_test_no_output "guile (register-parameter! prev-ambig)"
with_test_prefix "previously-ambiguous" {
gdb_test "guile (print (parameter-value prev-ambig))" "= #f" "parameter value, false"
- gdb_test "show print s" "Command is not documented is off." "show parameter off"
+ gdb_test "show print s" \
+ "The current value of 'print s' is off\\." "show parameter off"
gdb_test_no_output "set print s on"
- gdb_test "show print s" "Command is not documented is on." "show parameter on"
+ gdb_test "show print s" \
+ "The current value of 'print s' is on\\." "show parameter on"
gdb_test "guile (print (parameter-value prev-ambig))" "= #t" "parameter value, true"
- gdb_test "help show print s" "This command is not documented." "show help"
- gdb_test "help set print s" "This command is not documented." "set help"
- gdb_test "help set print" "set print s -- This command is not documented.*" "general help"
+ gdb_test "help show print s" \
+ [multi_line \
+ "^Show the current value of 'print s'\\." \
+ "This command is not documented\\."] \
+ "show help"
+ gdb_test "help set print s" \
+ [multi_line \
+ "Set the current value of 'print s'\\." \
+ "This command is not documented\\."] \
+ "set help"
+ gdb_test "help set print" \
+ "set print s -- Set the current value of 'print s'\\..*" \
+ "general help"
+}
+
+gdb_test_multiline "create set/show foo1 prefix commands" \
+ "guile" "" \
+ "(register-command! (make-command \"set foo1\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:prefix? #t))" "" \
+ "(register-command! (make-command \"show foo1\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:prefix? #t))" "" \
+ "end"
+
+gdb_test_multiline "create set/show foo1 baz1 prefix commands" \
+ "guile" "" \
+ "(register-command! (make-command \"set foo1 baz1\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:prefix? #t))" "" \
+ "(register-command! (make-command \"show foo1 baz1\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:prefix? #t))" "" \
+ "end"
+
+gdb_test_multiline "create 'foo bar' parameter" \
+ "guile" "" \
+ "(register-parameter! (make-parameter \"foo bar\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:parameter-type PARAM_BOOLEAN" "" \
+ " #:show-func (lambda (self value)" "" \
+ " (format #f \"The state of 'foo bar' is ~a.\" value))" "" \
+ " #:initial-value #t))" "" \
+ "end"
+
+gdb_test "show foo1 bar" "^The state of 'foo bar' is on\\." "show parameter 'foo bar'"
+
+gdb_test_multiline "create set/show foo2 prefix commands" \
+ "guile" "" \
+ "(register-command! (make-command \"set foo2\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:prefix? #t))" "" \
+ "(register-command! (make-command \"show foo2\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:prefix? #t))" "" \
+ "end" ""
+
+gdb_test_multiline "create ambiguous 'foo baz' parameter" \
+ "guile" "" \
+ "(register-parameter! (make-parameter \"foo baz\"" "" \
+ " #:command-class COMMAND_OBSCURE" "" \
+ " #:parameter-type PARAM_BOOLEAN" "" \
+ " #:show-func (lambda (self value)" "" \
+ " (format #f \"The state of 'foo baz' is ~a.\" value))" "" \
+ " #:initial-value #t))" "" \
+ "end" \
+ [multi_line \
+ "Out of range: could not find command prefix 'foo' in position 1: \"foo baz\"" \
+ "Error while executing Scheme code."]
+
+with_test_prefix "empty doc string" {
+ gdb_test_multiline "empty doc string parameter" \
+ "guile" "" \
+ "(register-parameter! (make-parameter \"empty-doc-string\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_ZINTEGER" "" \
+ " #:doc \"\"" "" \
+ " #:set-doc \"Set doc string.\"" "" \
+ " #:show-doc \"Show doc string.\"))" "" \
+ "end"
+
+ gdb_test "help set empty-doc-string" "^Set doc string\\."
+ gdb_test "help show empty-doc-string" "^Show doc string\\."
+}
+
+with_test_prefix "set/show parameter" {
+ # This first set/show prefix command doesn't have an invoke
+ # method. As such, GDB installs the default invoke behaviour; set
+ # prints the full list of sub-commands, and show prints all the
+ # sub-command values.
+ gdb_test_multiline "Setup set/show parameter prefix with no invoke" \
+ "guile" "" \
+ "(register-command! (make-command \"set test-prefix\"" "" \
+ " #:prefix? #t" "" \
+ " #:command-class COMMAND_NONE))" ""\
+ "(register-command! (make-command \"show test-prefix\"" "" \
+ " #:prefix? #t" "" \
+ " #:command-class COMMAND_NONE))" ""\
+ "(register-parameter! (make-parameter \"test-prefix param-1\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_BOOLEAN))" "" \
+ "(register-parameter! (make-parameter \"test-prefix param-2\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_UINTEGER))" "" \
+ "(register-parameter! (make-parameter \"test-prefix param-3\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_STRING))" "" \
+ "end" ""
+
+ gdb_test "set test-prefix" \
+ [multi_line \
+ "List of \"set test-prefix\" subcommands:" \
+ "" \
+ "set test-prefix param-1 -- Set the current value of 'test-prefix param-1'." \
+ "set test-prefix param-2 -- Set the current value of 'test-prefix param-2'." \
+ "set test-prefix param-3 -- Set the current value of 'test-prefix param-3'." \
+ "" \
+ "Type \"help set test-prefix\" followed by subcommand name for full documentation\\." \
+ "Type \"apropos word\" to search for commands related to \"word\"\\." \
+ "Type \"apropos -v word\" for full documentation of commands related to \"word\"\\." \
+ "Command name abbreviations are allowed if unambiguous\\."]
+
+ gdb_test "show test-prefix" \
+ [multi_line \
+ "test-prefix param-1: The current value of 'test-prefix param-1' is off\\." \
+ "test-prefix param-2: The current value of 'test-prefix param-2' is 0\\." \
+ "test-prefix param-3: The current value of 'test-prefix param-3' is \"\"\\."]
+
+ # This next set/show prefix has an invoke method, which will be
+ # called instead of the default behaviour tested above.
+ gdb_test_multiline "Setup set/show parameter prefix with invoke" \
+ "guile" "" \
+ "(register-command! (make-command \"set test-prefix-2\"" "" \
+ " #:prefix? #t" "" \
+ " #:command-class COMMAND_NONE" ""\
+ " #:invoke (lambda (self arg from-tty)" "" \
+ " (display \"invoke -- set\\n\"))))" "" \
+ "(register-command! (make-command \"show test-prefix-2\"" "" \
+ " #:prefix? #t" "" \
+ " #:command-class COMMAND_NONE" ""\
+ " #:invoke (lambda (self arg from-tty)" "" \
+ " (display \"invoke -- show\\n\"))))" "" \
+ "(register-parameter! (make-parameter \"test-prefix-2 param-1\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_BOOLEAN))" "" \
+ "(register-parameter! (make-parameter \"test-prefix-2 param-2\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_UINTEGER))" "" \
+ "(register-parameter! (make-parameter \"test-prefix-2 param-3\"" "" \
+ " #:command-class COMMAND_NONE" "" \
+ " #:parameter-type PARAM_STRING))" "" \
+ "end" ""
+
+ gdb_test "set test-prefix-2" "^invoke -- set"
+
+ gdb_test "show test-prefix-2" "^invoke -- show"
}
rename scm_param_test_maybe_no_output ""
diff --git a/gdb/testsuite/gdb.linespec/linespec.exp b/gdb/testsuite/gdb.linespec/linespec.exp
index 69744dd..86b55bb 100644
--- a/gdb/testsuite/gdb.linespec/linespec.exp
+++ b/gdb/testsuite/gdb.linespec/linespec.exp
@@ -194,6 +194,12 @@ gdb_test "break lspec.h:$line" \
"Breakpoint \[0-9\]+ at $hex: file .*lspec.h, line $line." \
"set breakpoint in f1"
+# This should only have a single location -- in no_multi_locs.
+set line [gdb_get_line_number no_multi_locs]
+gdb_test "break $line" \
+ "Breakpoint \[0-9\]+ at $hex: file .*$srcfile, line $line." \
+ "set breakpoint at no_multi_locs"
+
#
# Multi-inferior tests.
#
diff --git a/gdb/testsuite/gdb.linespec/lspec.cc b/gdb/testsuite/gdb.linespec/lspec.cc
index bb660fb..ab0a193 100644
--- a/gdb/testsuite/gdb.linespec/lspec.cc
+++ b/gdb/testsuite/gdb.linespec/lspec.cc
@@ -13,6 +13,8 @@ int body_elsewhere()
#include "body.h"
}
+void no_multi_locs () { {int var = 0;} }
+
int main()
{
return dupname(0) + m(0) + n(0) + f1() + f2() + body_elsewhere();
diff --git a/gdb/testsuite/gdb.mi/interrupt-thread-group.exp b/gdb/testsuite/gdb.mi/interrupt-thread-group.exp
index ff35109..869fb1c 100644
--- a/gdb/testsuite/gdb.mi/interrupt-thread-group.exp
+++ b/gdb/testsuite/gdb.mi/interrupt-thread-group.exp
@@ -54,7 +54,7 @@ mi_send_resuming_command "exec-continue --thread-group i1" \
# We can't run a second inferior on stub targets. We can still test with one
# inferior and ensure that the command has the desired effect.
-set use_second_inferior [expr {![use_gdb_stub]}]
+set use_second_inferior [expr {![use_gdb_stub] && [allow_multi_inferior_tests]}]
if { $use_second_inferior } {
mi_gdb_test "-add-inferior" \
diff --git a/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp b/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp
index 9897b2b..0a89a8a 100644
--- a/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp
+++ b/gdb/testsuite/gdb.mi/mi-condbreak-throw.exp
@@ -16,7 +16,7 @@
# Check that when GDB fails to evaluate the condition of a conditional
# breakpoint we only get one *stopped notification. In this test case
# the breakpoint condition fails due to throwing an uncaught C++
-# excpetion.
+# exception.
require allow_cplus_tests
diff --git a/gdb/testsuite/gdb.mi/mi-multi-commands.exp b/gdb/testsuite/gdb.mi/mi-multi-commands.exp
index 20b8d46..3bc63eb 100644
--- a/gdb/testsuite/gdb.mi/mi-multi-commands.exp
+++ b/gdb/testsuite/gdb.mi/mi-multi-commands.exp
@@ -90,7 +90,7 @@ proc run_test { args } {
# looking for. However, due to the unpredictable
# intermingling, it's much easier if we drop the ^ anchor.
# However, with this gone dejagnu would sometimes match the
- # second comand output before the first commands output.
+ # second command output before the first commands output.
#
# This approach just looks for the first command output, then,
# once that has been found, we start looking for the second
diff --git a/gdb/testsuite/gdb.mi/mi-var-display.exp b/gdb/testsuite/gdb.mi/mi-var-display.exp
index 61b3894..5535368 100644
--- a/gdb/testsuite/gdb.mi/mi-var-display.exp
+++ b/gdb/testsuite/gdb.mi/mi-var-display.exp
@@ -96,7 +96,7 @@ mi_gdb_test "-var-evaluate-expression bar" \
# Desc: change value of bar
mi_gdb_test "-var-assign bar 3" \
"\\^done,value=\"0x3\"" \
- "assing to variable bar"
+ "assign to variable bar"
mi_gdb_test "-var-set-format bar decimal" \
"\\^done,format=\"decimal\",value=\"3\"" \
@@ -152,7 +152,7 @@ mi_gdb_test "-var-evaluate-expression foo" \
# Desc: change value of foo
mi_gdb_test "-var-assign foo 3" \
"\\^done,value=\"03\"" \
- "assing to variable foo"
+ "assign to variable foo"
mi_gdb_test "-var-set-format foo decimal" \
"\\^done,format=\"decimal\",value=\"3\"" \
diff --git a/gdb/testsuite/gdb.mi/user-selected-context-sync.exp b/gdb/testsuite/gdb.mi/user-selected-context-sync.exp
index 9198cfb..f85e108 100644
--- a/gdb/testsuite/gdb.mi/user-selected-context-sync.exp
+++ b/gdb/testsuite/gdb.mi/user-selected-context-sync.exp
@@ -40,6 +40,8 @@ standard_testfile
# gdbserver modes are supported.
require !use_gdb_stub
+require allow_multi_inferior_tests
+
set compile_options "debug pthreads"
if {[build_executable $testfile.exp $testfile ${srcfile} ${compile_options}] == -1} {
untested "failed to compile"
@@ -985,7 +987,7 @@ proc_with_prefix test_mi_stack_select_frame { mode } {
# Now use the '-stack-select-frame' command with the --frame
# option, this verifies that even when the frame GDB would
- # swith to is the same as the frame specified with --frame, an
+ # switch to is the same as the frame specified with --frame, an
# event is still sent to the CLI.
set cli_re [make_cli_re $mode -1 -1 0]
diff --git a/gdb/testsuite/gdb.multi/attach-no-multi-process.exp b/gdb/testsuite/gdb.multi/attach-no-multi-process.exp
index 28aabaf..502f309 100644
--- a/gdb/testsuite/gdb.multi/attach-no-multi-process.exp
+++ b/gdb/testsuite/gdb.multi/attach-no-multi-process.exp
@@ -59,7 +59,10 @@ proc test {target_non_stop} {
"switch to inferior 2"
set res [gdbserver_start "--multi" ""]
set gdbserver_gdbport [lindex $res 1]
- gdb_target_cmd "extended-remote" $gdbserver_gdbport
+ if { [gdb_target_cmd_ext "extended-remote" $gdbserver_gdbport] == 2 } {
+ unsupported "non-stop RSP"
+ return
+ }
# Start a program, then attach to it.
set spawn_id_list [spawn_wait_for_attach [list $binfile]]
diff --git a/gdb/testsuite/gdb.multi/attach-while-running.exp b/gdb/testsuite/gdb.multi/attach-while-running.exp
index 5b63030..723ebb2 100644
--- a/gdb/testsuite/gdb.multi/attach-while-running.exp
+++ b/gdb/testsuite/gdb.multi/attach-while-running.exp
@@ -37,6 +37,7 @@
standard_testfile
require can_spawn_for_attach
+require allow_multi_inferior_tests
if { [build_executable "failed to prepare" ${testfile} ${srcfile}] } {
return
@@ -49,7 +50,7 @@ proc do_test {} {
}
gdb_test -no-prompt-anchor "run &"
- gdb_test "add-inferior" "Added inferior 2 on connection 1 .*"
+ gdb_test -no-prompt-anchor "add-inferior" "Added inferior 2 on connection 1 .*"
gdb_test "inferior 2" "Switching to inferior 2 .*"
set spawn_id [spawn_wait_for_attach $::binfile]
diff --git a/gdb/testsuite/gdb.multi/bp-thread-specific.exp b/gdb/testsuite/gdb.multi/bp-thread-specific.exp
index 32b7602..3fe4c20 100644
--- a/gdb/testsuite/gdb.multi/bp-thread-specific.exp
+++ b/gdb/testsuite/gdb.multi/bp-thread-specific.exp
@@ -19,6 +19,8 @@
# Also check that the correct thread-ids are used in the saved
# breakpoints file.
+require allow_multi_inferior_tests
+
# The plain remote target can't do multiple inferiors.
require !use_gdb_stub
diff --git a/gdb/testsuite/gdb.multi/dummy-frame-restore.exp b/gdb/testsuite/gdb.multi/dummy-frame-restore.exp
index 1a9d413..4119e3f 100644
--- a/gdb/testsuite/gdb.multi/dummy-frame-restore.exp
+++ b/gdb/testsuite/gdb.multi/dummy-frame-restore.exp
@@ -19,6 +19,8 @@ set executable ${testfile}
# The plain remote target can't do multiple inferiors.
require !use_gdb_stub
+require allow_multi_inferior_tests
+
if {[prepare_for_testing "failed to prepare" $testfile $srcfile {debug}]} {
return -1
}
diff --git a/gdb/testsuite/gdb.multi/multi-arch.exp b/gdb/testsuite/gdb.multi/multi-arch.exp
index d0ae511..1d41ba5 100644
--- a/gdb/testsuite/gdb.multi/multi-arch.exp
+++ b/gdb/testsuite/gdb.multi/multi-arch.exp
@@ -18,6 +18,8 @@
set testfile "multi-arch"
+require allow_multi_inferior_tests
+
# The plain remote target can't do multiple inferiors.
require !use_gdb_stub
diff --git a/gdb/testsuite/gdb.multi/multi-attach.exp b/gdb/testsuite/gdb.multi/multi-attach.exp
index 2d702ee..210c8ca 100644
--- a/gdb/testsuite/gdb.multi/multi-attach.exp
+++ b/gdb/testsuite/gdb.multi/multi-attach.exp
@@ -17,6 +17,8 @@
# Test attaching to multiple threaded programs.
+require allow_multi_inferior_tests
+
standard_testfile
require can_spawn_for_attach
diff --git a/gdb/testsuite/gdb.multi/multi-exit.exp b/gdb/testsuite/gdb.multi/multi-exit.exp
index 71236c1..8393067 100644
--- a/gdb/testsuite/gdb.multi/multi-exit.exp
+++ b/gdb/testsuite/gdb.multi/multi-exit.exp
@@ -24,6 +24,8 @@
standard_testfile
+require allow_multi_inferior_tests
+
require !use_gdb_stub
if {[build_executable "failed to prepare" $testfile $srcfile]} {
diff --git a/gdb/testsuite/gdb.multi/multi-kill.exp b/gdb/testsuite/gdb.multi/multi-kill.exp
index 48a2534..7d66ab0 100644
--- a/gdb/testsuite/gdb.multi/multi-kill.exp
+++ b/gdb/testsuite/gdb.multi/multi-kill.exp
@@ -24,6 +24,8 @@
standard_testfile
+require allow_multi_inferior_tests
+
require !use_gdb_stub
if {[build_executable "failed to prepare" $testfile $srcfile {debug}]} {
diff --git a/gdb/testsuite/gdb.multi/multi-re-run.exp b/gdb/testsuite/gdb.multi/multi-re-run.exp
index 002de57..4caadea 100644
--- a/gdb/testsuite/gdb.multi/multi-re-run.exp
+++ b/gdb/testsuite/gdb.multi/multi-re-run.exp
@@ -20,6 +20,8 @@
# misbehave, including failing to load libthread_db.so. See PR
# gdb/25410.
+require allow_multi_inferior_tests
+
# Build two executables, with different symbols.
set exec1 "multi-re-run-1"
diff --git a/gdb/testsuite/gdb.multi/multi-target.exp.tcl b/gdb/testsuite/gdb.multi/multi-target.exp.tcl
index 8c24602..dc88ca4 100644
--- a/gdb/testsuite/gdb.multi/multi-target.exp.tcl
+++ b/gdb/testsuite/gdb.multi/multi-target.exp.tcl
@@ -175,6 +175,10 @@ proc multi_target_prepare {} {
return 0
}
+ if {![allow_multi_inferior_tests]} {
+ return 0
+ }
+
# The plain remote target can't do multiple inferiors.
if {[target_info gdb_protocol] != ""} {
return 0
diff --git a/gdb/testsuite/gdb.multi/multi-term-settings.exp b/gdb/testsuite/gdb.multi/multi-term-settings.exp
index 2f8b3b8..38322be 100644
--- a/gdb/testsuite/gdb.multi/multi-term-settings.exp
+++ b/gdb/testsuite/gdb.multi/multi-term-settings.exp
@@ -25,6 +25,8 @@
standard_testfile
+require allow_multi_inferior_tests
+
require can_spawn_for_attach
if [build_executable "failed to prepare" $testfile $srcfile {debug}] {
diff --git a/gdb/testsuite/gdb.multi/start-inferior-specific.exp b/gdb/testsuite/gdb.multi/start-inferior-specific.exp
index 819c1c3..74f984c 100644
--- a/gdb/testsuite/gdb.multi/start-inferior-specific.exp
+++ b/gdb/testsuite/gdb.multi/start-inferior-specific.exp
@@ -25,6 +25,8 @@
standard_testfile .c -other.c
+require allow_multi_inferior_tests
+
require !use_gdb_stub
set srcfile_other ${srcfile2}
diff --git a/gdb/testsuite/gdb.multi/stop-all-on-exit.exp b/gdb/testsuite/gdb.multi/stop-all-on-exit.exp
index b4ff09c..47071f3 100644
--- a/gdb/testsuite/gdb.multi/stop-all-on-exit.exp
+++ b/gdb/testsuite/gdb.multi/stop-all-on-exit.exp
@@ -18,6 +18,8 @@
# Test that in all-stop mode with multiple inferiors, GDB stops all
# threads upon receiving an exit event from one of the inferiors.
+require allow_multi_inferior_tests
+
# This is a test specific for a native target, where we use the
# "-exec" argument to "add-inferior" and we explicitly don't do
# "maint set target-non-stop on".
diff --git a/gdb/testsuite/gdb.multi/tids-gid-reset.exp b/gdb/testsuite/gdb.multi/tids-gid-reset.exp
index 6cc27eb..1785ac2 100644
--- a/gdb/testsuite/gdb.multi/tids-gid-reset.exp
+++ b/gdb/testsuite/gdb.multi/tids-gid-reset.exp
@@ -54,6 +54,8 @@ with_test_prefix "single-inferior" {
# non-extended gdbserver is not supported.
require !use_gdb_stub
+require allow_multi_inferior_tests
+
# Test with multiple inferiors. This time, since we restart inferior
# 1 while inferior 2 still has threads, then the new thread 1.1 should
# end up with GID == 3, since we won't be able to reset the global
diff --git a/gdb/testsuite/gdb.multi/tids.exp b/gdb/testsuite/gdb.multi/tids.exp
index b84f908..436a38a 100644
--- a/gdb/testsuite/gdb.multi/tids.exp
+++ b/gdb/testsuite/gdb.multi/tids.exp
@@ -124,6 +124,9 @@ with_test_prefix "single inferior" {
gdb_test "print \$_inferior_thread_count" " = 1"
}
+# The rest of the tests require running multiple inferiors.
+require allow_multi_inferior_tests
+
# "info threads" while there are multiple inferiors should show
# qualified thread IDs.
with_test_prefix "two inferiors" {
@@ -290,7 +293,7 @@ with_test_prefix "two inferiors" {
# Try both the convenience variable and the literal number.
foreach thr {"\$thr" "20" "1.20" "\$inf.1" "30.1" } {
set expected [string_to_regexp $thr]
- gdb_test "info threads $thr" "No threads match '${expected}'."
+ gdb_test "info threads $thr" "No threads matched\\."
# "info threads" works like a filter. If there's any other
# valid thread in the list, there's no error.
info_threads "$thr 1.1" "1.1"
@@ -412,7 +415,7 @@ with_test_prefix "two inferiors" {
# Check that we do parse the inferior number and don't confuse it.
gdb_test "info threads 3.1" \
- "No threads match '3.1'\."
+ "No threads matched\\."
}
if { [allow_python_tests] } {
diff --git a/gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp b/gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp
index 70c3da9..3446296 100644
--- a/gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp
+++ b/gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp
@@ -17,6 +17,8 @@
# watchpoints don't end up with stale locations, preventing resumption
# of other inferiors.
+require allow_fork_tests
+
standard_testfile
if {[build_executable "failed to build" $testfile $srcfile {debug}]} {
diff --git a/gdb/testsuite/gdb.multi/watchpoint-multi.exp b/gdb/testsuite/gdb.multi/watchpoint-multi.exp
index f448689..b0c8731 100644
--- a/gdb/testsuite/gdb.multi/watchpoint-multi.exp
+++ b/gdb/testsuite/gdb.multi/watchpoint-multi.exp
@@ -16,6 +16,8 @@
standard_testfile
set executable ${testfile}
+require allow_multi_inferior_tests
+
# Multiple inferiors are needed, therefore both native and extended gdbserver
# modes are supported. Only non-extended gdbserver is not supported.
require !use_gdb_stub
diff --git a/gdb/testsuite/gdb.opt/break-on-_exit.exp b/gdb/testsuite/gdb.opt/break-on-_exit.exp
index 2b94be8..9295fea 100644
--- a/gdb/testsuite/gdb.opt/break-on-_exit.exp
+++ b/gdb/testsuite/gdb.opt/break-on-_exit.exp
@@ -25,7 +25,7 @@
# for libc, then the breakpoint is set on the exec-local _exit@plt instead,
# and that functionality will also not be used.
#
-# We may get the required setup in case of a libc with misssing separate
+# We may get the required setup in case of a libc with missing separate
# debuginfo, but we want the same effect if that debuginfo is installed.
#
# So, we use -readnever to read minimal symbols, but not non-miminal symbols.
diff --git a/gdb/testsuite/gdb.pascal/integers.exp b/gdb/testsuite/gdb.pascal/integers.exp
index 5c878c5..c9974a1 100644
--- a/gdb/testsuite/gdb.pascal/integers.exp
+++ b/gdb/testsuite/gdb.pascal/integers.exp
@@ -59,7 +59,7 @@ gdb_test "next" "l := k;" "next to 'l := k' line"
gdb_test "print j" " = 2"
# k should be equal to 3
gdb_test "print k" " = 3"
-# But l shoud still be zero
+# But l should still be zero
if { $pascal_compiler_is_gpc } {
setup_xfail *-*-*
}
diff --git a/gdb/testsuite/gdb.python/gdb_leak_detector.py b/gdb/testsuite/gdb.python/gdb_leak_detector.py
new file mode 100644
index 0000000..8f74b67
--- /dev/null
+++ b/gdb/testsuite/gdb.python/gdb_leak_detector.py
@@ -0,0 +1,121 @@
+# Copyright (C) 2021-2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Defines a base class, which can be sub-classed, in order to run
+# memory leak tests on some aspects of GDB's Python API. See the
+# comments on the gdb_leak_detector class for more details.
+
+import os
+import tracemalloc
+
+import gdb
+
+
+# This class must be sub-classed to create a memory leak test. The
+# sub-classes __init__ method should call the parent classes __init__
+# method, and the sub-class should override allocate() and
+# deallocate(). See the comments on the various methods below for
+# more details of required arguments and expected usage.
+class gdb_leak_detector:
+
+ # Class initialisation. FILENAME is the file in which the
+ # sub-class is defined, usually passed as just '__file__'. This
+ # is used when looking for memory allocations; only allocations in
+ # FILENAME are considered.
+ def __init__(self, filename):
+ self.filters = [tracemalloc.Filter(True, "*" + os.path.basename(filename))]
+
+ # Internal helper function to actually run the test. Calls the
+ # allocate() method to allocate an object from GDB's Python API.
+ # When CLEAR is True the object will then be deallocated by
+ # calling deallocate(), otherwise, deallocate() is not called.
+ #
+ # Finally, this function checks for any memory allocatios
+ # originating from 'self.filename' that have not been freed, and
+ # returns the total (in bytes) of the memory that has been
+ # allocated, but not freed.
+ def _do_test(self, clear):
+ # Start tracing, and take a snapshot of the current allocations.
+ tracemalloc.start()
+ snapshot1 = tracemalloc.take_snapshot()
+
+ # Generate the GDB Python API object by calling the allocate
+ # method.
+ self.allocate()
+
+ # Possibly clear the reference to the allocated object.
+ if clear:
+ self.deallocate()
+
+ # Now grab a second snapshot of memory allocations, and stop
+ # tracing memory allocations.
+ snapshot2 = tracemalloc.take_snapshot()
+ tracemalloc.stop()
+
+ # Filter the snapshots; we only care about allocations originating
+ # from this file.
+ snapshot1 = snapshot1.filter_traces(self.filters)
+ snapshot2 = snapshot2.filter_traces(self.filters)
+
+ # Compare the snapshots, this leaves only things that were
+ # allocated, but not deallocated since the first snapshot.
+ stats = snapshot2.compare_to(snapshot1, "traceback")
+
+ # Total up all the allocated things.
+ total = 0
+ for stat in stats:
+ total += stat.size_diff
+ return total
+
+ # Run the memory leak test. Prints 'PASS' if successful,
+ # otherwise, raises an exception (of type GdbError).
+ def run(self):
+ # The first time we run this some global state will be allocated which
+ # shows up as memory that is allocated, but not released. So, run the
+ # test once and discard the result.
+ self._do_test(True)
+
+ # Now run the test twice, the first time we clear our global reference
+ # to the allocated object, which should allow Python to deallocate the
+ # object. The second time we hold onto the global reference, preventing
+ # Python from performing the deallocation.
+ bytes_with_clear = self._do_test(True)
+ bytes_without_clear = self._do_test(False)
+
+ # If there are any allocations left over when we cleared the reference
+ # (and expected deallocation) then this indicates a leak.
+ if bytes_with_clear > 0:
+ raise gdb.GdbError("memory leak when object reference was released")
+
+ # If there are no allocations showing when we hold onto a reference,
+ # then this likely indicates that the testing infrastructure is broken,
+ # and we're no longer spotting the allocations at all.
+ if bytes_without_clear == 0:
+ raise gdb.GdbError("object is unexpectedly not showing as allocated")
+
+ # Print a PASS message that the TCL script can see.
+ print("PASS")
+
+ # Sub-classes must override this method. Allocate an object (or
+ # multiple objects) from GDB's Python API. Store references to
+ # these objects within SELF.
+ def allocate(self):
+ raise NotImplementedError("allocate() not implemented")
+
+ # Sub-classes must override this method. Deallocate the object(s)
+ # allocated by the allocate() method. All that is required is for
+ # the references created in allocate() to be set to None.
+ def deallocate(self):
+ raise NotImplementedError("allocate() not implemented")
diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp
index 1b9c05f..9a901a3 100644
--- a/gdb/testsuite/gdb.python/py-breakpoint.exp
+++ b/gdb/testsuite/gdb.python/py-breakpoint.exp
@@ -707,7 +707,7 @@ proc_with_prefix test_bkpt_explicit_loc {} {
delete_breakpoints
gdb_test "python bp1 = gdb.Breakpoint (line=bp1)" \
- "RuntimeError.*: Line keyword should be an integer or a string.*" \
+ "RuntimeError.*: Line keyword should be an integer or a string\\.\r\n.*" \
"set explicit breakpoint by invalid line type"
delete_breakpoints
diff --git a/gdb/testsuite/gdb.python/py-cmd.exp b/gdb/testsuite/gdb.python/py-cmd.exp
index f76c176..5ac5712 100644
--- a/gdb/testsuite/gdb.python/py-cmd.exp
+++ b/gdb/testsuite/gdb.python/py-cmd.exp
@@ -328,4 +328,89 @@ proc_with_prefix test_command_redefining_itself {} {
"call command redefining itself 2"
}
+# Try to create commands using unknown prefixes and check GDB gives an
+# error. There's also a test in here for an ambiguous prefix, which
+# gives the same error.
+proc_with_prefix test_unknown_prefix {} {
+ clean_restart
+
+ gdb_test_no_output "python gdb.Command('foo1', gdb.COMMAND_NONE, prefix=True)"
+ gdb_test_no_output "python gdb.Command('foo cmd', gdb.COMMAND_NONE)"
+
+ foreach prefix { "xxx" "foo xxx" "foo1 xxx" } {
+ gdb_test "python gdb.Command('$prefix cmd', gdb.COMMAND_NONE)" \
+ [multi_line \
+ "Python Exception <class 'RuntimeError'>: Could not find command prefix $prefix\\." \
+ "Error occurred in Python: Could not find command prefix $prefix\\."]
+ }
+
+ gdb_test_no_output "python gdb.Command('foo2', gdb.COMMAND_NONE, prefix=True)"
+
+ foreach prefix { "foo" "foo xxx" "foo1 xxx" "foo2 xxx" } {
+ gdb_test "python gdb.Command('$prefix cmd2', gdb.COMMAND_NONE)" \
+ [multi_line \
+ "Python Exception <class 'RuntimeError'>: Could not find command prefix $prefix\\." \
+ "Error occurred in Python: Could not find command prefix $prefix\\."]
+ }
+}
+
+# Check what happens if a command object is called without an 'invoke'
+# method.
+proc_with_prefix test_deleting_invoke_methods {} {
+ clean_restart
+
+ gdb_test_multiline "create 'foo' prefix command" \
+ "python" "" \
+ "class test_prefix(gdb.Command):" "" \
+ " def __init__ (self):" "" \
+ " super().__init__ (\"foo\", gdb.COMMAND_USER, prefix=True)" "" \
+ " def invoke (self, arg, from_tty):" "" \
+ " print(\"In 'foo' invoke: %s\" % arg)" "" \
+ "foo = test_prefix()" "" \
+ "end" ""
+
+ gdb_test_multiline "create 'foo bar' command" \
+ "python" "" \
+ "class test_cmd(gdb.Command):" "" \
+ " def __init__ (self):" "" \
+ " super().__init__ (\"foo bar\", gdb.COMMAND_USER)" "" \
+ " def invoke (self, arg, from_tty):" "" \
+ " print(\"In 'foo bar' invoke: %s\" % arg)" "" \
+ "foo_bar = test_cmd()" "" \
+ "end" ""
+
+ gdb_test "foo def" "In 'foo' invoke: def" \
+ "call 'foo' with an unknown sub-command"
+
+ gdb_test "foo bar def" "In 'foo bar' invoke: def" \
+ "call 'foo bar' with arguments"
+
+ gdb_test_no_output "python del(foo_bar.__class__.invoke)" \
+ "delete invoke from test_cmd class"
+
+ with_test_prefix "after deleting test_cmd.invoke" {
+ gdb_test "foo def" "In 'foo' invoke: def" \
+ "call 'foo' with an unknown sub-command"
+
+ gdb_test "foo bar def" \
+ "^Python command object missing 'invoke' method\\." \
+ "call 'foo bar' with arguments"
+ }
+
+ gdb_test_no_output "python del(foo.__class__.invoke)" \
+ "delete invoke from test_prefix class"
+
+ with_test_prefix "after deleting test_prefix.invoke" {
+ gdb_test "foo def" \
+ "^Python command object missing 'invoke' method\\." \
+ "call 'foo' with an unknown sub-command"
+
+ gdb_test "foo bar def" \
+ "^Python command object missing 'invoke' method\\." \
+ "call 'foo bar' with arguments"
+ }
+}
+
test_command_redefining_itself
+test_unknown_prefix
+test_deleting_invoke_methods
diff --git a/gdb/testsuite/gdb.python/py-color-leak.exp b/gdb/testsuite/gdb.python/py-color-leak.exp
new file mode 100644
index 0000000..6d7fa7c
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-color-leak.exp
@@ -0,0 +1,28 @@
+# Copyright (C) 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the GDB testsuite. It checks for memory leaks
+# associated with allocating gdb.Color objects.
+
+load_lib gdb-python.exp
+
+require allow_python_tests
+
+standard_testfile
+
+clean_restart
+
+gdb_py_run_memory_leak_test ${srcdir}/${subdir}/${testfile}.py \
+ "gdb.Color object deallocates correctly"
diff --git a/gdb/testsuite/gdb.python/py-color-leak.py b/gdb/testsuite/gdb.python/py-color-leak.py
new file mode 100644
index 0000000..28afd59
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-color-leak.py
@@ -0,0 +1,37 @@
+# Copyright (C) 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import sys
+
+# Avoid generating
+# src/gdb/testsuite/gdb.python/__pycache__/gdb_leak_detector.cpython-<n>.pyc.
+sys.dont_write_bytecode = True
+
+import gdb_leak_detector
+
+
+class color_leak_detector(gdb_leak_detector.gdb_leak_detector):
+ def __init__(self):
+ super().__init__(__file__)
+ self.color = None
+
+ def allocate(self):
+ self.color = gdb.Color("red")
+
+ def deallocate(self):
+ self.color = None
+
+
+color_leak_detector().run()
diff --git a/gdb/testsuite/gdb.python/py-color.exp b/gdb/testsuite/gdb.python/py-color.exp
index c6f1041..2601cf3 100644
--- a/gdb/testsuite/gdb.python/py-color.exp
+++ b/gdb/testsuite/gdb.python/py-color.exp
@@ -13,17 +13,21 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# This file is part of the GDB testsuite.
-# It tests gdb.parameter and gdb.Parameter.
+# This file is part of the GDB testsuite. It tests gdb.Color.
load_lib gdb-python.exp
require allow_python_tests
-# Start with a fresh gdb.
-clean_restart
+# Start with a fresh GDB, but enable color support.
+with_ansi_styling_terminal {
+ clean_restart
+}
-gdb_test_no_output "python print_color_attrs = lambda c: print (c, c.colorspace, c.is_none, c.is_indexed, c.is_direct)" \
+gdb_test_no_output "python get_color_attrs = lambda c: \"%s %s %s %s %s\" % (str(c), c.colorspace, c.is_none, c.is_indexed, c.is_direct)" \
+ "get_color_attrs helper"
+
+gdb_test_no_output "python print_color_attrs = lambda c: print (get_color_attrs (c))" \
"print_color_attrs helper"
gdb_test_no_output "python c = gdb.Color ()" \
@@ -59,6 +63,15 @@ gdb_test "python print_color_attrs (c)" "green 1 False True False" \
gdb_test "python print (c.index)" "2" \
"print index of a basic color with ansi colorspace"
+# Create a color using keyword arguments, and check it matches the
+# non-keyword color.
+gdb_test_no_output "python c2 = gdb.Color (color_space = gdb.COLORSPACE_ANSI_8COLOR, value = 2)" \
+ "create color from basic index and ansi colorspace using keywords"
+gdb_test "python print(get_color_attrs (c) == get_color_attrs (c2))" "True" \
+ "check attributes match"
+gdb_test "python print(c.index == c2.index)" "True" \
+ "check index matches"
+
gdb_test_no_output "python c = gdb.Color (2, gdb.COLORSPACE_XTERM_256COLOR)" \
"create color from basic index and xterm256 colorspace"
gdb_test "python print_color_attrs (c)" "2 3 False True False" \
@@ -97,4 +110,54 @@ gdb_test [concat "python print (c_red.escape_sequence (True) + " \
"c_none.escape_sequence (True))"] \
"\033\\\[31m\033\\\[42mred on green\033\\\[49m red on default\033\\\[39m" \
"escape sequences"
-
+gdb_test [concat "python print (c_red.escape_sequence (is_foreground = True) + " \
+ "c_green.escape_sequence (is_foreground = False) + 'red on green' + " \
+ "c_none.escape_sequence (is_foreground = False) + ' red on default' + " \
+ "c_none.escape_sequence (is_foreground = True))"] \
+ "\033\\\[31m\033\\\[42mred on green\033\\\[49m red on default\033\\\[39m" \
+ "escape sequences using keyword arguments"
+
+# Ensure that turning styling off means no escape sequences.
+gdb_test_no_output "set style enabled off"
+gdb_test_no_output "python print (c_red.escape_sequence (True), end='')"
+gdb_test_no_output "python print (c_red.escape_sequence (False), end='')"
+gdb_test_no_output "set style enabled on"
+
+gdb_test_multiline "Try to sub-class gdb.Color" \
+ "python" "" \
+ "class my_color(gdb.Color):" "" \
+ " def __init__(self):" "" \
+ " super().__init__('red')" "" \
+ "end" \
+ [multi_line \
+ "Python Exception <class 'TypeError'>: type 'gdb\\.Color' is not an acceptable base type" \
+ "Error occurred in Python: type 'gdb\\.Color' is not an acceptable base type"]
+
+gdb_test_multiline "Setup a color parameter and non gdb.Color object" \
+ "python" "" \
+ "class my_param(gdb.Parameter):" "" \
+ " def __init__(self):" "" \
+ " super().__init__('color-param', gdb.COMMAND_NONE, gdb.PARAM_COLOR)" "" \
+ " self.value = gdb.Color('red')" "" \
+ "color_param = my_param()" "" \
+ " " "" \
+ "class bad_type:" "" \
+ " @property" "" \
+ " def __class__(self):" "" \
+ " raise RuntimeError('__class__ error for bad_type')" "" \
+ "bad_obj = bad_type()" "" \
+ "end" ""
+
+gdb_test_no_output "python color_param.value = gdb.Color('blue')" \
+ "set color parameter to blue"
+
+gdb_test "python color_param.value = bad_obj" \
+ [multi_line \
+ "Python Exception <class 'RuntimeError'>: color argument must be a gdb\\.Color object\\." \
+ "Error occurred in Python: color argument must be a gdb\\.Color object\\."] \
+ "set color parameter to a non-color type"
+
+gdb_test "python c_none.escape_sequence(c_red)" \
+ [multi_line \
+ "Python Exception <class 'TypeError'>: argument 1 must be bool, not gdb.Color" \
+ "Error occurred in Python: argument 1 must be bool, not gdb.Color"]
diff --git a/gdb/testsuite/gdb.python/py-disasm.exp.tcl b/gdb/testsuite/gdb.python/py-disasm.exp.tcl
index 938326d..c5099ba 100644
--- a/gdb/testsuite/gdb.python/py-disasm.exp.tcl
+++ b/gdb/testsuite/gdb.python/py-disasm.exp.tcl
@@ -152,7 +152,10 @@ set test_plans \
"Buffer returned from read_memory is sized $decimal instead of the expected $decimal"]] \
[list "ResultOfWrongType" \
[make_exception_pattern "TypeError" \
- "Result is not a DisassemblerResult."]] \
+ "Result from Disassembler must be gdb.DisassemblerResult, not Blah."]] \
+ [list "ResultOfVeryWrongType" \
+ [make_exception_pattern "TypeError" \
+ "Result from Disassembler must be gdb.DisassemblerResult, not Blah."]] \
[list "ErrorCreatingTextPart_NoArgs" \
[make_exception_pattern "TypeError" \
[missing_arg_pattern "style" 1]]] \
diff --git a/gdb/testsuite/gdb.python/py-disasm.py b/gdb/testsuite/gdb.python/py-disasm.py
index 32d6aa7..9761337 100644
--- a/gdb/testsuite/gdb.python/py-disasm.py
+++ b/gdb/testsuite/gdb.python/py-disasm.py
@@ -294,6 +294,24 @@ class ResultOfWrongType(TestDisassembler):
return self.Blah(1, "ABC")
+class ResultOfVeryWrongType(TestDisassembler):
+ """Return something that is not a DisassemblerResult from disassemble
+ method. The thing returned will raise an exception if used in an
+ isinstance() call, or in PyObject_IsInstance from C++.
+ """
+
+ class Blah:
+ def __init__(self):
+ pass
+
+ @property
+ def __class__(self):
+ raise RuntimeError("error from __class__ in Blah")
+
+ def disassemble(self, info):
+ return self.Blah()
+
+
class TaggingDisassembler(TestDisassembler):
"""A simple disassembler that just tags the output."""
diff --git a/gdb/testsuite/gdb.python/py-frame.exp b/gdb/testsuite/gdb.python/py-frame.exp
index 5668807..c1e3e33 100644
--- a/gdb/testsuite/gdb.python/py-frame.exp
+++ b/gdb/testsuite/gdb.python/py-frame.exp
@@ -188,6 +188,21 @@ gdb_test "python print(gdb.selected_frame().read_register(list()))" \
".*Invalid type for register.*" \
"test Frame.read_register with list"
+gdb_test_multiline "setup a bad object" \
+ "python" "" \
+ "class bad_type:" "" \
+ " def __init__ (self):" "" \
+ " pass" "" \
+ " @property" "" \
+ " def __class__(self):" "" \
+ " raise RuntimeError('error from __class in bad_type')" "" \
+ "bad_object = bad_type()" "" \
+ "end" ""
+
+gdb_test "python print(gdb.selected_frame().read_register(bad_object))" \
+ ".*Invalid type for register.*" \
+ "test Frame.read_register with bad_type object"
+
# Compile again without debug info.
gdb_exit
if { [prepare_for_testing "failed to prepare" ${testfile} ${srcfile} {}] } {
diff --git a/gdb/testsuite/gdb.python/py-inferior-leak.exp b/gdb/testsuite/gdb.python/py-inferior-leak.exp
index 6710f59..15216ee 100644
--- a/gdb/testsuite/gdb.python/py-inferior-leak.exp
+++ b/gdb/testsuite/gdb.python/py-inferior-leak.exp
@@ -24,15 +24,5 @@ standard_testfile
clean_restart
-# Skip this test if the tracemalloc module is not available.
-if { ![gdb_py_module_available "tracemalloc"] } {
- unsupported "tracemalloc module not available"
- return
-}
-
-set pyfile [gdb_remote_download host ${srcdir}/${subdir}/${testfile}.py]
-
-# Source the Python script, this runs the test (which is written
-# completely in Python), and either prints PASS, or throws an
-# exception.
-gdb_test "source ${pyfile}" "PASS" "source python script"
+gdb_py_run_memory_leak_test ${srcdir}/${subdir}/${testfile}.py \
+ "gdb.Inferior object deallocates correctly"
diff --git a/gdb/testsuite/gdb.python/py-inferior-leak.py b/gdb/testsuite/gdb.python/py-inferior-leak.py
index 97837dc..bf61668 100644
--- a/gdb/testsuite/gdb.python/py-inferior-leak.py
+++ b/gdb/testsuite/gdb.python/py-inferior-leak.py
@@ -13,100 +13,39 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import re
-import tracemalloc
-
-import gdb
-
-# A global variable in which we store a reference to the gdb.Inferior
-# object sent to us in the new_inferior event.
-inf = None
-
-
-# Register the new_inferior event handler.
-def new_inferior_handler(event):
- global inf
- inf = event.inferior
-
-
-gdb.events.new_inferior.connect(new_inferior_handler)
+import sys
-# A global filters list, we only care about memory allocations
-# originating from this script.
-filters = [tracemalloc.Filter(True, "*py-inferior-leak.py")]
+# Avoid generating
+# src/gdb/testsuite/gdb.python/__pycache__/gdb_leak_detector.cpython-<n>.pyc.
+sys.dont_write_bytecode = True
+import re
-# Add a new inferior, and return the number of the new inferior.
-def add_inferior():
- output = gdb.execute("add-inferior", False, True)
- m = re.search(r"Added inferior (\d+)", output)
- if m:
- num = int(m.group(1))
- else:
- raise RuntimeError("no match")
- return num
-
-
-# Run the test. When CLEAR is True we clear the global INF variable
-# before comparing the before and after memory allocation traces.
-# When CLEAR is False we leave INF set to reference the gdb.Inferior
-# object, thus preventing the gdb.Inferior from being deallocated.
-def test(clear):
- global filters, inf
-
- # Start tracing, and take a snapshot of the current allocations.
- tracemalloc.start()
- snapshot1 = tracemalloc.take_snapshot()
-
- # Create an inferior, this triggers the new_inferior event, which
- # in turn holds a reference to the new gdb.Inferior object in the
- # global INF variable.
- num = add_inferior()
- gdb.execute("remove-inferiors %s" % num)
-
- # Possibly clear the global INF variable.
- if clear:
- inf = None
-
- # Now grab a second snapshot of memory allocations, and stop
- # tracing memory allocations.
- snapshot2 = tracemalloc.take_snapshot()
- tracemalloc.stop()
+import gdb_leak_detector
- # Filter the snapshots; we only care about allocations originating
- # from this file.
- snapshot1 = snapshot1.filter_traces(filters)
- snapshot2 = snapshot2.filter_traces(filters)
- # Compare the snapshots, this leaves only things that were
- # allocated, but not deallocated since the first snapshot.
- stats = snapshot2.compare_to(snapshot1, "traceback")
+class inferior_leak_detector(gdb_leak_detector.gdb_leak_detector):
+ def __init__(self):
+ super().__init__(__file__)
+ self.inferior = None
+ self.__handler = lambda event: setattr(self, "inferior", event.inferior)
+ gdb.events.new_inferior.connect(self.__handler)
- # Total up all the deallocated things.
- total = 0
- for stat in stats:
- total += stat.size_diff
- return total
+ def __del__(self):
+ gdb.events.new_inferior.disconnect(self.__handler)
+ def allocate(self):
+ output = gdb.execute("add-inferior", False, True)
+ m = re.search(r"Added inferior (\d+)", output)
+ if m:
+ num = int(m.group(1))
+ else:
+ raise RuntimeError("no match")
-# The first time we run this some global state will be allocated which
-# shows up as memory that is allocated, but not released. So, run the
-# test once and discard the result.
-test(True)
+ gdb.execute("remove-inferiors %s" % num)
-# Now run the test twice, the first time we clear our global reference
-# to the gdb.Inferior object, which should allow Python to deallocate
-# the object. The second time we hold onto the global reference,
-# preventing Python from performing the deallocation.
-bytes_with_clear = test(True)
-bytes_without_clear = test(False)
+ def deallocate(self):
+ self.inferior = None
-# The bug that used to exist in GDB was that even when we released the
-# global reference the gdb.Inferior object would not be deallocated.
-if bytes_with_clear > 0:
- raise gdb.GdbError("memory leak when gdb.Inferior should be released")
-if bytes_without_clear == 0:
- raise gdb.GdbError("gdb.Inferior object is no longer allocated")
-# Print a PASS message that the test script can see.
-print("PASS")
+inferior_leak_detector().run()
diff --git a/gdb/testsuite/gdb.python/py-missing-objfile.exp b/gdb/testsuite/gdb.python/py-missing-objfile.exp
index e4a1b3f..29bc555 100644
--- a/gdb/testsuite/gdb.python/py-missing-objfile.exp
+++ b/gdb/testsuite/gdb.python/py-missing-objfile.exp
@@ -79,6 +79,16 @@ proc setup_debugdir { dirname files } {
# executable (when EXEC_LOADED is true) and/or the library (when LIB_LOADED
# is true).
proc check_loaded_debug { exec_loaded lib_loaded } {
+ set re_warn \
+ [string_to_regexp \
+ "Warning: the current language does not match this frame."]
+ set cmd "set lang c"
+ gdb_test_multiple $cmd "" {
+ -re -wrap "${cmd}(\r\n$re_warn)?" {
+ pass $gdb_test_name
+ }
+ }
+
if { $exec_loaded } {
gdb_test "whatis global_exec_var" "^type = volatile struct exec_type"
diff --git a/gdb/testsuite/gdb.python/py-objfile.c b/gdb/testsuite/gdb.python/py-objfile.c
index fe68671..d721e0c 100644
--- a/gdb/testsuite/gdb.python/py-objfile.c
+++ b/gdb/testsuite/gdb.python/py-objfile.c
@@ -19,7 +19,7 @@ int global_var = 42;
static int __attribute__ ((used)) static_var = 50;
int
-main ()
+main (void)
{
int some_var = 0;
return 0;
diff --git a/gdb/testsuite/gdb.python/py-objfile.exp b/gdb/testsuite/gdb.python/py-objfile.exp
index d14eec6..8d11028 100644
--- a/gdb/testsuite/gdb.python/py-objfile.exp
+++ b/gdb/testsuite/gdb.python/py-objfile.exp
@@ -144,7 +144,8 @@ gdb_test "python print (sep_objfile.owner.filename)" "${testfile}2" \
gdb_test "python print (sep_objfile.owner.username)" "${testfile}2" \
"Test user-name of owner of separate debug file"
-gdb_test "p main" "= {int \\(\\)} $hex <main>" \
+set re_prototype [string_to_regexp "int (void)"]
+gdb_test "p main" "= {$re_prototype} $hex <main>" \
"print main with debug info"
# Separate debug files are not findable.
diff --git a/gdb/testsuite/gdb.python/py-parameter-prefix.exp b/gdb/testsuite/gdb.python/py-parameter-prefix.exp
new file mode 100644
index 0000000..eb09fe7
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-parameter-prefix.exp
@@ -0,0 +1,382 @@
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This file is part of the GDB testsuite. It tests
+# gdb.ParameterPrefix. See each of the test procs for a full
+# description of what is being tested.
+
+load_lib gdb-python.exp
+
+require allow_python_tests
+
+clean_restart
+
+# Helper proc to generate the output of 'show PREFIX' commands for the
+# case where the prefix command doesn't handle unknown sub-commands.
+# In this case GDB will list the value of every sub-command under
+# PREFIX.
+proc make_show_prefix_re { prefix } {
+ return "$prefix param-1:\\s+The current value of '$prefix param-1' is \"off\"\\."
+}
+
+# Helper proc to generate the help text that describes all of the sub
+# commands under PREFIX. The MODE is either 'set' or 'show'. This
+# output will appear for 'help MODE PREFIX' and also for 'set PREFIX'.
+proc make_sub_cmd_help_re { mode prefix } {
+ if { $mode == "set" } {
+ set word "Set"
+ } else {
+ set word "Show"
+ }
+
+ return \
+ [multi_line \
+ "List of \"$mode $prefix\" subcommands:" \
+ "" \
+ "$mode $prefix param-1 -- $word the current value of '$prefix param-1'\\." \
+ "" \
+ "Type \"help $mode $prefix\" followed by subcommand name for full documentation\\." \
+ "Type \"apropos word\" to search for commands related to \"word\"\\." \
+ "Type \"apropos -v word\" for full documentation of commands related to \"word\"\\." \
+ "Command name abbreviations are allowed if unambiguous\\."]
+}
+
+# Helper proc to generate the output of 'help MODE PREFIX', where MODE
+# will be either 'set' or 'show'. The HELP_TEXT is the expected help
+# text for this prefix command, this should not be a regexp, as this
+# proc converts the text to a regexp.
+#
+# Return a single regexp which should match the output.
+proc make_help_re { mode prefix help_text } {
+ set help_re [string_to_regexp $help_text]
+
+ return \
+ [multi_line \
+ "$help_re" \
+ "" \
+ [make_sub_cmd_help_re $mode $prefix]]
+}
+
+# Create gdb.ParameterPrefix without using a sub-class, both with, and
+# without a doc string. For the doc string case, test single line,
+# and multi-line doc strings.
+proc_with_prefix test_basic_usage {} {
+ gdb_test_multiline "some basic ParameterPrefix usage" \
+ "python" "" \
+ "gdb.ParameterPrefix('prefix-1', gdb.COMMAND_NONE)" "" \
+ "gdb.Parameter('prefix-1 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.Parameter('prefix-1 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.ParameterPrefix('prefix-2', gdb.COMMAND_NONE," "" \
+ " \"\"\"This is prefix-2 help string.\"\"\")" "" \
+ "gdb.Parameter('prefix-2 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.ParameterPrefix('prefix-3', gdb.COMMAND_NONE," "" \
+ " \"\"\"This is prefix-3 help string." "" \
+ " " "" \
+ " This help text spans multiple lines.\"\"\")" "" \
+ "gdb.Parameter('prefix-3 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "end"
+
+ foreach mode { "set" "show" } {
+ gdb_test "help $mode prefix-1" \
+ [make_help_re $mode "prefix-1" \
+ "This command is not documented."]
+
+ gdb_test "help $mode prefix-2" \
+ [make_help_re $mode "prefix-2" \
+ "This is prefix-2 help string."]
+
+ gdb_test "help $mode prefix-3" \
+ [make_help_re $mode "prefix-3" \
+ [multi_line \
+ "This is prefix-3 help string." \
+ "" \
+ "This help text spans multiple lines."]]
+
+ foreach prefix { prefix-1 prefix-2 prefix-3 } {
+ gdb_test "$mode $prefix xxx" \
+ "^Undefined $mode $prefix command: \"xxx\"\\. Try \"help $mode $prefix\"\\."
+ }
+ }
+
+ foreach prefix { prefix-1 prefix-2 prefix-3 } {
+ gdb_test "set $prefix" \
+ [make_sub_cmd_help_re "set" $prefix]
+
+ gdb_test "show $prefix" \
+ [make_show_prefix_re $prefix]
+ }
+}
+
+# Create a sub-class of gdb.ParameterPrefix, but don't do anything
+# particularly interesting. Again test the with and without
+# documentation string cases.
+proc_with_prefix test_simple_sub_class {} {
+ gdb_test_multiline "some basic ParameterPrefix usage" \
+ "python" "" \
+ "class BasicParamPrefix(gdb.ParameterPrefix):" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ "BasicParamPrefix('prefix-4')" "" \
+ "gdb.Parameter('prefix-4 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "class BasicParamPrefixWithSingleLineDoc(gdb.ParameterPrefix):" "" \
+ " \"\"\"This is a single line doc string.\"\"\"" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ "BasicParamPrefixWithSingleLineDoc('prefix-5')" "" \
+ "gdb.Parameter('prefix-5 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "class BasicParamPrefixWithMultiLineDoc(gdb.ParameterPrefix):" "" \
+ " \"\"\"This is a multi line doc string." "" \
+ " " "" \
+ " The rest of the doc string is here.\"\"\"" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ "BasicParamPrefixWithMultiLineDoc('prefix-6')" "" \
+ "gdb.Parameter('prefix-6 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "class BasicParamPrefixWithDocParameter(gdb.ParameterPrefix):" "" \
+ " \"\"\"This is an unsused doc string.\"\"\"" "" \
+ " def __init__(self, name, doc):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE, doc)" "" \
+ "BasicParamPrefixWithDocParameter('prefix-7'," "" \
+ " \"\"\"The doc string text is here.\"\"\")" "" \
+ "gdb.Parameter('prefix-7 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "end"
+
+ foreach mode { "set" "show" } {
+ gdb_test "help $mode prefix-4" \
+ [make_help_re $mode "prefix-4" \
+ "This command is not documented."]
+
+ gdb_test "help $mode prefix-5" \
+ [make_help_re $mode "prefix-5" \
+ "This is a single line doc string."]
+
+ gdb_test "help $mode prefix-6" \
+ [make_help_re $mode "prefix-6" \
+ [multi_line \
+ "This is a multi line doc string." \
+ "" \
+ "The rest of the doc string is here."]]
+
+ gdb_test "help $mode prefix-7" \
+ [make_help_re $mode "prefix-7" \
+ "The doc string text is here."]
+
+ foreach prefix { prefix-4 prefix-5 prefix-6 prefix-7 } {
+ gdb_test "$mode $prefix xxx" \
+ "^Undefined $mode $prefix command: \"xxx\"\\. Try \"help $mode $prefix\"\\."
+ }
+ }
+
+ foreach prefix { prefix-4 prefix-5 prefix-6 prefix-7 } {
+ gdb_test "set $prefix" \
+ [make_sub_cmd_help_re "set" $prefix]
+
+ gdb_test "show $prefix" \
+ [make_show_prefix_re $prefix]
+ }
+}
+
+# Create a sub-class of gdb.ParameterPrefix, and make use of
+# 'invoke_set' and 'invoke_show'. Test that the invoke method is
+# executed when expected, and that, by default, these invoke methods
+# repeat when the user issues an empty command.
+proc_with_prefix test_prefix_with_invoke {} {
+ gdb_test_multiline "ParameterPrefix with invoke_set" \
+ "python" "" \
+ "class PrefixWithInvokeSet(gdb.ParameterPrefix):" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ " def invoke_set(self, args, from_tty):" "" \
+ " print(f\"invoke_set (a): \\\"{args}\\\" {from_tty}\")" "" \
+ "PrefixWithInvokeSet('prefix-8')" "" \
+ "gdb.Parameter('prefix-8 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "class PrefixWithInvokeShow(gdb.ParameterPrefix):" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ " def invoke_show(self, args, from_tty):" "" \
+ " print(f\"invoke_show (b): \\\"{args}\\\" {from_tty}\")" "" \
+ "PrefixWithInvokeShow('prefix-9')" "" \
+ "gdb.Parameter('prefix-9 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "class PrefixWithBothInvoke(gdb.ParameterPrefix):" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ " def invoke_set(self, args, from_tty):" "" \
+ " print(f\"invoke_set (c): \\\"{args}\\\" {from_tty}\")" "" \
+ " def invoke_show(self, args, from_tty):" "" \
+ " print(f\"invoke_show (d): \\\"{args}\\\" {from_tty}\")" "" \
+ "PrefixWithBothInvoke('prefix-10')" "" \
+ "gdb.Parameter('prefix-10 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "end"
+
+ gdb_test "set prefix-8 xxx yyy" \
+ "^invoke_set \\(a\\): \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^\r\ninvoke_set \\(a\\): \"xxx yyy\" True" \
+ "repeat set prefix-8 xxx yyy"
+
+ gdb_test "show prefix-8 xxx yyy" \
+ "^Undefined show prefix-8 command: \"xxx yyy\"\\. Try \"help show prefix-8\"\\."
+
+ gdb_test "set prefix-9 xxx yyy" \
+ "^Undefined set prefix-9 command: \"xxx yyy\"\\. Try \"help set prefix-9\"\\."
+
+ gdb_test "show prefix-9 xxx yyy" \
+ "^invoke_show \\(b\\): \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^\r\ninvoke_show \\(b\\): \"xxx yyy\" True" \
+ "repeat show prefix-9 xxx yyy"
+
+ gdb_test "set prefix-10 xxx yyy" \
+ "^invoke_set \\(c\\): \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^\r\ninvoke_set \\(c\\): \"xxx yyy\" True" \
+ "repeat set prefix-10 xxx yyy"
+
+ gdb_test "show prefix-10 xxx yyy" \
+ "^invoke_show \\(d\\): \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^\r\ninvoke_show \\(d\\): \"xxx yyy\" True" \
+ "repeat show prefix-10 xxx yyy"
+
+ gdb_test "set prefix-8" \
+ "^invoke_set \\(a\\): \"\" True"
+
+ gdb_test "show prefix-8" \
+ [make_show_prefix_re "prefix-8"]
+
+ gdb_test "set prefix-9" \
+ [make_sub_cmd_help_re "set" "prefix-9"]
+
+ gdb_test "show prefix-9" \
+ "^invoke_show \\(b\\): \"\" True"
+
+ gdb_test "set prefix-10" \
+ "^invoke_set \\(c\\): \"\" True"
+
+ gdb_test "show prefix-10" \
+ "^invoke_show \\(d\\): \"\" True"
+}
+
+# Create ParameterPrefix sub-classes that make use of the
+# dont_repeat() method. Check that the relevant set/show invoke
+# callback doesn't repeat when an empty command is used.
+proc_with_prefix test_dont_repeat {} {
+ gdb_test_multiline "ParameterPrefix with invoke_set and dont_repeat" \
+ "python" "" \
+ "class PrefixWithInvokeAndDoNotRepeatSet(gdb.ParameterPrefix):" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ " def invoke_set(self, args, from_tty):" "" \
+ " self.dont_repeat()" "" \
+ " print(f\"invoke_set: \\\"{args}\\\" {from_tty}\")" "" \
+ " def invoke_show(self, args, from_tty):" "" \
+ " print(f\"invoke_show: \\\"{args}\\\" {from_tty}\")" "" \
+ "PrefixWithInvokeAndDoNotRepeatSet('prefix-11')" "" \
+ "gdb.Parameter('prefix-11 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "class PrefixWithInvokeAndDoNotRepeatShow(gdb.ParameterPrefix):" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE)" "" \
+ " def invoke_set(self, args, from_tty):" "" \
+ " print(f\"invoke_set: \\\"{args}\\\" {from_tty}\")" "" \
+ " def invoke_show(self, args, from_tty):" "" \
+ " self.dont_repeat()" "" \
+ " print(f\"invoke_show: \\\"{args}\\\" {from_tty}\")" "" \
+ "PrefixWithInvokeAndDoNotRepeatShow('prefix-12')" "" \
+ "gdb.Parameter('prefix-12 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "end"
+
+ gdb_test "set prefix-11 xxx yyy" \
+ "^invoke_set: \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^" \
+ "repeat set prefix-11 xxx yyy"
+
+ gdb_test "show prefix-11 xxx yyy" \
+ "^invoke_show: \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "invoke_show: \"xxx yyy\" True" \
+ "repeat show prefix-11 xxx yyy"
+
+ gdb_test "set prefix-12 xxx yyy" \
+ "^invoke_set: \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^\r\ninvoke_set: \"xxx yyy\" True" \
+ "repeat set prefix-12 xxx yyy"
+
+ gdb_test "show prefix-12 xxx yyy" \
+ "^invoke_show: \"xxx yyy\" True"
+
+ send_gdb "\n"
+ gdb_test "" "^" \
+ "repeat show prefix-12 xxx yyy"
+}
+
+# Create a parameter prefixm, and immediately add another prefix under
+# the first. The important thing here is that the second prefix is
+# created into an otherwise empty prefix as this triggered a bug at
+# one point.
+proc_with_prefix test_nested {} {
+ gdb_test_multiline "Create nested parameter prefixes" \
+ "python" "" \
+ "gdb.ParameterPrefix('prefix-13', gdb.COMMAND_NONE)" "" \
+ "gdb.ParameterPrefix('prefix-13 prefix-14', gdb.COMMAND_NONE)" "" \
+ "gdb.Parameter('prefix-13 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.Parameter('prefix-13 param-2', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.Parameter('prefix-13 prefix-14 param-3', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.Parameter('prefix-13 prefix-14 param-4', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "end" ""
+
+ gdb_test "show prefix-13 prefix-14" \
+ [multi_line \
+ "^prefix-13 prefix-14 param-3: The current value of 'prefix-13 prefix-14 param-3' is \"off\"\\." \
+ "prefix-13 prefix-14 param-4: The current value of 'prefix-13 prefix-14 param-4' is \"off\"\\."]
+
+ gdb_test "show prefix-13" \
+ [multi_line \
+ "^prefix-13 param-1: The current value of 'prefix-13 param-1' is \"off\"\\." \
+ "prefix-13 param-2: The current value of 'prefix-13 param-2' is \"off\"\\." \
+ "prefix-13 prefix-14 param-3: The current value of 'prefix-13 prefix-14 param-3' is \"off\"\\." \
+ "prefix-13 prefix-14 param-4: The current value of 'prefix-13 prefix-14 param-4' is \"off\"\\."]
+
+ gdb_test "set prefix-13 prefix-14" \
+ [multi_line \
+ "" \
+ "set prefix-13 prefix-14 param-3 -- Set the current value of 'prefix-13 prefix-14 param-3'\\." \
+ "set prefix-13 prefix-14 param-4 -- Set the current value of 'prefix-13 prefix-14 param-4'\\." \
+ "" \
+ ".*"]
+
+ gdb_test "set prefix-13" \
+ [multi_line \
+ "" \
+ "set prefix-13 param-1 -- Set the current value of 'prefix-13 param-1'\\." \
+ "set prefix-13 param-2 -- Set the current value of 'prefix-13 param-2'\\." \
+ "set prefix-13 prefix-14 -- This command is not documented\\." \
+ "" \
+ ".*"]
+}
+
+test_basic_usage
+test_simple_sub_class
+test_prefix_with_invoke
+test_dont_repeat
+test_nested
diff --git a/gdb/testsuite/gdb.python/py-parameter.exp b/gdb/testsuite/gdb.python/py-parameter.exp
index c15bef1..214c570 100644
--- a/gdb/testsuite/gdb.python/py-parameter.exp
+++ b/gdb/testsuite/gdb.python/py-parameter.exp
@@ -346,6 +346,91 @@ proc_with_prefix test_really_undocumented_parameter { } {
"test general help"
}
+# Test a parameter in which the __doc__ string is empty or None.
+proc_with_prefix test_empty_doc_parameter {} {
+ gdb_test_multiline "empty __doc__ parameter" \
+ "python" "" \
+ "class EmptyDocParam(gdb.Parameter):" "" \
+ " __doc__ = \"\"" "" \
+ " def __init__(self, name):" "" \
+ " super ().__init__(name, gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ " self.value = True" "" \
+ "test_empty_doc_param = EmptyDocParam('print test-empty-doc-param')" ""\
+ "end"
+
+ # Setting the __doc__ string to empty means GDB will completely
+ # elide it from the output.
+ gdb_test "help set print test-empty-doc-param" \
+ "^Set the current value of 'print test-empty-doc-param'\\."
+
+ gdb_test_multiline "None __doc__ parameter" \
+ "python" "" \
+ "class NoneDocParam(gdb.Parameter):" "" \
+ " __doc__ = None" "" \
+ " def __init__(self, name):" "" \
+ " super ().__init__(name, gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ " self.value = True" "" \
+ "test_none_doc_param = NoneDocParam('print test-none-doc-param')" ""\
+ "end"
+
+ # Setting the __doc__ string to None, or anything else that isn't
+ # a string, causes GDB to use a default string instead.
+ gdb_test "help set print test-none-doc-param" \
+ [multi_line \
+ "^Set the current value of 'print test-none-doc-param'\\." \
+ "This command is not documented\\."]
+}
+
+# Test a parameter in which the set_doc/show_doc strings are either
+# empty, or None.
+proc_with_prefix test_empty_set_show_doc_parameter {} {
+ gdb_test_multiline "empty set/show doc parameter" \
+ "python" "" \
+ "class EmptySetShowParam(gdb.Parameter):" "" \
+ " set_doc = \"\"" "" \
+ " show_doc = \"\"" "" \
+ " def __init__(self, name):" "" \
+ " super ().__init__(name, gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ " self.value = True" "" \
+ "test_empty_set_show_param = EmptySetShowParam('print test-empty-set-show-param')" ""\
+ "end"
+
+ # Setting the set_doc/show_doc string to empty means GDB will use
+ # a suitable default string.
+ gdb_test "help set print test-empty-set-show-param" \
+ [multi_line \
+ "^Set the current value of 'print test-empty-set-show-param'\\." \
+ "This command is not documented\\."]
+
+ gdb_test "help show print test-empty-set-show-param" \
+ [multi_line \
+ "^Show the current value of 'print test-empty-set-show-param'\\." \
+ "This command is not documented\\."]
+
+ gdb_test_multiline "None set/show doc parameter" \
+ "python" "" \
+ "class NoneSetShowParam(gdb.Parameter):" "" \
+ " set_doc = None" "" \
+ " show_doc = None" "" \
+ " def __init__(self, name):" "" \
+ " super ().__init__(name, gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ " self.value = True" "" \
+ "test_none_set_show_param = NoneSetShowParam('print test-none-set-show-param')" ""\
+ "end"
+
+ # Setting the set_doc/show_doc string to None (or any non-string
+ # value) means GDB will use a suitable default string.
+ gdb_test "help set print test-none-set-show-param" \
+ [multi_line \
+ "^Set the current value of 'print test-none-set-show-param'\\." \
+ "This command is not documented\\."]
+
+ gdb_test "help show print test-none-set-show-param" \
+ [multi_line \
+ "^Show the current value of 'print test-none-set-show-param'\\." \
+ "This command is not documented\\."]
+}
+
# Test deprecated API. Do not use in your own implementations.
proc_with_prefix test_deprecated_api_parameter { } {
clean_restart
@@ -669,6 +754,104 @@ proc_with_prefix test_ambiguous_parameter {} {
"Parameter .* is ambiguous.*Error occurred in Python.*"
gdb_test "python print(gdb.parameter('test-ambiguous-value-1a'))" \
"Could not find parameter.*Error occurred in Python.*"
+
+ # Create command prefixs 'set foo1' and 'show foo1'.
+ gdb_test_no_output "python gdb.Command('set foo1', gdb.COMMAND_NONE, prefix=True)"
+ gdb_test_no_output "python gdb.Command('show foo1', gdb.COMMAND_NONE, prefix=True)"
+
+ # Create a parameter under 'foo1', but use a truncated prefix. At
+ # this point though, the prefix is not ambiguous.
+ gdb_test_no_output "python gdb.Parameter('foo bar', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)"
+ gdb_test "python print(gdb.parameter('foo1 bar'))" "False"
+
+ # Create another prefix command, similar in name to the first.
+ gdb_test_no_output "python gdb.Command('set foo2', gdb.COMMAND_NONE, prefix=True)"
+ gdb_test_no_output "python gdb.Command('show foo2', gdb.COMMAND_NONE, prefix=True)"
+
+ # An attempt to create a parameter using an ambiguous prefix will give an error.
+ gdb_test "python gdb.Parameter('foo baz', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" \
+ [multi_line \
+ "Python Exception <class 'RuntimeError'>: Could not find command prefix foo\\." \
+ "Error occurred in Python: Could not find command prefix foo\\."]
+}
+
+# Check that creating a gdb.Parameter with an unknown command prefix results in an error.
+proc_with_prefix test_unknown_prefix {} {
+ gdb_test_multiline "create parameter" \
+ "python" "" \
+ "class UnknownPrefixParam(gdb.Parameter):" "" \
+ " def __init__ (self, name):" "" \
+ " super().__init__ (name, gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ " self.value = True" "" \
+ "end"
+
+ foreach prefix { "unknown-prefix" "style unknown-prefix" "style disassembler unknown-prefix"} {
+ gdb_test "python UnknownPrefixParam('$prefix new-param')" \
+ [multi_line \
+ "Python Exception <class 'RuntimeError'>: Could not find command prefix $prefix\\." \
+ "Error occurred in Python: Could not find command prefix $prefix\\."]
+ }
+}
+
+# Test the default behaviour of a set/show parameter prefix command.
+proc_with_prefix test_set_show_parameters {} {
+ # This first set/show prefix command doesn't have an invoke
+ # method. As such, GDB installs the default invoke behaviour; set
+ # prints the full list of sub-commands, and show prints all the
+ # sub-command values.
+ gdb_test_multiline "Setup set/show parameter prefix with no invoke" \
+ "python" "" \
+ "class TestParamPrefix(gdb.Command):" "" \
+ " \"\"\"TestParamPrefix documentation string.\"\"\"" "" \
+ " def __init__(self, name):" "" \
+ " super().__init__(name, gdb.COMMAND_NONE, prefix = True)" "" \
+ "TestParamPrefix('set test-prefix')" "" \
+ "TestParamPrefix('show test-prefix')" "" \
+ "gdb.Parameter('test-prefix param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.Parameter('test-prefix param-2', gdb.COMMAND_NONE, gdb.PARAM_INTEGER)" "" \
+ "gdb.Parameter('test-prefix param-3', gdb.COMMAND_NONE, gdb.PARAM_STRING)" "" \
+ "end"
+
+ gdb_test "set test-prefix" \
+ [multi_line \
+ "List of \"set test-prefix\" subcommands:" \
+ "" \
+ "set test-prefix param-1 -- Set the current value of 'test-prefix param-1'." \
+ "set test-prefix param-2 -- Set the current value of 'test-prefix param-2'." \
+ "set test-prefix param-3 -- Set the current value of 'test-prefix param-3'." \
+ "" \
+ "Type \"help set test-prefix\" followed by subcommand name for full documentation\\." \
+ "Type \"apropos word\" to search for commands related to \"word\"\\." \
+ "Type \"apropos -v word\" for full documentation of commands related to \"word\"\\." \
+ "Command name abbreviations are allowed if unambiguous\\."]
+
+ gdb_test "show test-prefix" \
+ [multi_line \
+ "test-prefix param-1: The current value of 'test-prefix param-1' is \"off\"\\." \
+ "test-prefix param-2: The current value of 'test-prefix param-2' is \"0\"\\." \
+ "test-prefix param-3: The current value of 'test-prefix param-3' is \"\"\\."]
+
+ # This next set/show prefix has an invoke method, which will be
+ # called instead of the default behaviour tested above.
+ gdb_test_multiline "Setup set/show parameter prefix with invoke" \
+ "python" "" \
+ "class TestParamPrefix(gdb.Command):" "" \
+ " \"\"\"TestParamPrefix documentation string.\"\"\"" "" \
+ " def __init__(self, name, mode):" "" \
+ " self._mode = mode" "" \
+ " super().__init__(self._mode + ' ' + name, gdb.COMMAND_NONE, prefix = True)" "" \
+ " def invoke(self, args, from_tty):" "" \
+ " print('invoke -- ' + self._mode)" "" \
+ "TestParamPrefix('test-prefix-2', 'set')" "" \
+ "TestParamPrefix('test-prefix-2', 'show')" "" \
+ "gdb.Parameter('test-prefix-2 param-1', gdb.COMMAND_NONE, gdb.PARAM_BOOLEAN)" "" \
+ "gdb.Parameter('test-prefix-2 param-2', gdb.COMMAND_NONE, gdb.PARAM_INTEGER)" "" \
+ "gdb.Parameter('test-prefix-2 param-3', gdb.COMMAND_NONE, gdb.PARAM_STRING)" "" \
+ "end"
+
+ gdb_test "set test-prefix-2" "^invoke -- set"
+
+ gdb_test "show test-prefix-2" "^invoke -- show"
}
test_directories
@@ -679,11 +862,15 @@ test_color_parameter
test_file_parameter
test_undocumented_parameter
test_really_undocumented_parameter
+test_empty_doc_parameter
+test_empty_set_show_doc_parameter
test_deprecated_api_parameter
test_gdb_parameter
test_integer_parameter
test_throwing_parameter
test_language
test_ambiguous_parameter
+test_unknown_prefix
+test_set_show_parameters
rename py_param_test_maybe_no_output ""
diff --git a/gdb/testsuite/gdb.python/py-read-memory-leak.exp b/gdb/testsuite/gdb.python/py-read-memory-leak.exp
index 0015a57..9ae5eb8 100644
--- a/gdb/testsuite/gdb.python/py-read-memory-leak.exp
+++ b/gdb/testsuite/gdb.python/py-read-memory-leak.exp
@@ -30,15 +30,5 @@ if ![runto_main] {
return -1
}
-# Skip this test if the tracemalloc module is not available.
-if { ![gdb_py_module_available "tracemalloc"] } {
- unsupported "tracemalloc module not available"
- return
-}
-
-set pyfile [gdb_remote_download host ${srcdir}/${subdir}/${testfile}.py]
-
-# Source the Python script, this runs the test (which is written
-# completely in Python), and either prints PASS, or throws an
-# exception.
-gdb_test "source ${pyfile}" "PASS" "source python script"
+gdb_py_run_memory_leak_test ${srcdir}/${subdir}/${testfile}.py \
+ "buffers returned by read_memory() deallocates correctly"
diff --git a/gdb/testsuite/gdb.python/py-read-memory-leak.py b/gdb/testsuite/gdb.python/py-read-memory-leak.py
index 348403d..89647cf 100644
--- a/gdb/testsuite/gdb.python/py-read-memory-leak.py
+++ b/gdb/testsuite/gdb.python/py-read-memory-leak.py
@@ -13,81 +13,27 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import os
-import tracemalloc
+import sys
-import gdb
+# Avoid generating
+# src/gdb/testsuite/gdb.python/__pycache__/gdb_leak_detector.cpython-<n>.pyc.
+sys.dont_write_bytecode = True
-# A global variable in which we store a reference to the memory buffer
-# returned from gdb.Inferior.read_memory().
-mem_buf = None
+import gdb_leak_detector
-# A global filters list, we only care about memory allocations
-# originating from this script.
-filters = [tracemalloc.Filter(True, "*" + os.path.basename(__file__))]
+class read_leak_detector(gdb_leak_detector.gdb_leak_detector):
+ def __init__(self):
+ super().__init__(__file__)
+ self.mem_buf = None
+ self.addr = gdb.parse_and_eval("px")
+ self.inf = gdb.inferiors()[0]
+ def allocate(self):
+ self.mem_buf = self.inf.read_memory(self.addr, 4096)
-# Run the test. When CLEAR is True we clear the global INF variable
-# before comparing the before and after memory allocation traces.
-# When CLEAR is False we leave INF set to reference the gdb.Inferior
-# object, thus preventing the gdb.Inferior from being deallocated.
-def test(clear):
- global filters, mem_buf
+ def deallocate(self):
+ self.mem_buf = None
- addr = gdb.parse_and_eval("px")
- inf = gdb.inferiors()[0]
- # Start tracing, and take a snapshot of the current allocations.
- tracemalloc.start()
- snapshot1 = tracemalloc.take_snapshot()
-
- # Read from the inferior, this allocate a memory buffer object.
- mem_buf = inf.read_memory(addr, 4096)
-
- # Possibly clear the global INF variable.
- if clear:
- mem_buf = None
-
- # Now grab a second snapshot of memory allocations, and stop
- # tracing memory allocations.
- snapshot2 = tracemalloc.take_snapshot()
- tracemalloc.stop()
-
- # Filter the snapshots; we only care about allocations originating
- # from this file.
- snapshot1 = snapshot1.filter_traces(filters)
- snapshot2 = snapshot2.filter_traces(filters)
-
- # Compare the snapshots, this leaves only things that were
- # allocated, but not deallocated since the first snapshot.
- stats = snapshot2.compare_to(snapshot1, "traceback")
-
- # Total up all the allocated things.
- total = 0
- for stat in stats:
- total += stat.size_diff
- return total
-
-
-# The first time we run this some global state will be allocated which
-# shows up as memory that is allocated, but not released. So, run the
-# test once and discard the result.
-test(True)
-
-# Now run the test twice, the first time we clear our global reference
-# to the memory buffer object, which should allow Python to deallocate
-# the object. The second time we hold onto the global reference,
-# preventing Python from performing the deallocation.
-bytes_with_clear = test(True)
-bytes_without_clear = test(False)
-
-# The bug that used to exist in GDB was that even when we released the
-# global reference the gdb.Inferior object would not be deallocated.
-if bytes_with_clear > 0:
- raise gdb.GdbError("memory leak when memory buffer should be released")
-if bytes_without_clear == 0:
- raise gdb.GdbError("memory buffer object is no longer allocated")
-
-# Print a PASS message that the test script can see.
-print("PASS")
+read_leak_detector().run()
diff --git a/gdb/testsuite/gdb.python/py-source-styling-2.exp b/gdb/testsuite/gdb.python/py-source-styling-2.exp
index b13ee1f..ebf7f32 100644
--- a/gdb/testsuite/gdb.python/py-source-styling-2.exp
+++ b/gdb/testsuite/gdb.python/py-source-styling-2.exp
@@ -32,7 +32,9 @@ if { [build_executable "failed to build" $testfile $srcfile $opts] == -1 } {
return
}
-clean_restart
+with_ansi_styling_terminal {
+ clean_restart
+}
gdb_test_no_output "maint set gnu-source-highlight enabled off"
@@ -40,16 +42,14 @@ gdb_load $binfile
require {gdb_py_module_available pygments}
-with_ansi_styling_terminal {
- gdb_test_no_output "set style enabled on"
-
- gdb_test_multiple "list $line_number" "Styling of c++ keyword try" {
- -re -wrap " try\r\n.*" {
- # Unstyled.
- fail $gdb_test_name
- }
- -re -wrap "" {
- pass $gdb_test_name
- }
+gdb_test_no_output "set style enabled on"
+
+gdb_test_multiple "list $line_number" "Styling of c++ keyword try" {
+ -re -wrap " try\r\n.*" {
+ # Unstyled.
+ fail $gdb_test_name
+ }
+ -re -wrap "" {
+ pass $gdb_test_name
}
}
diff --git a/gdb/testsuite/gdb.python/py-unwind.exp b/gdb/testsuite/gdb.python/py-unwind.exp
index 80eac28..b416c2f 100644
--- a/gdb/testsuite/gdb.python/py-unwind.exp
+++ b/gdb/testsuite/gdb.python/py-unwind.exp
@@ -245,6 +245,13 @@ with_test_prefix "frame-id 'pc' is invalid" {
"Python Exception <class 'ValueError'>: invalid literal for int\\(\\) with base 10: 'xyz'\r\n.*"
}
+with_test_prefix "bad object unwinder" {
+ gdb_test_no_output "python obj = bad_object_unwinder(\"bad-object\")"
+ gdb_test_no_output "python gdb.unwinder.register_unwinder(None, obj, replace=True)"
+ gdb_test "backtrace" \
+ "Python Exception <class 'gdb.error'>: an Unwinder should return gdb.UnwindInfo, not Blah\\.\r\n.*"
+}
+
# Gather information about every frame.
gdb_test_no_output "python capture_all_frame_information()"
gdb_test_no_output "python gdb.newest_frame().select()"
diff --git a/gdb/testsuite/gdb.python/py-unwind.py b/gdb/testsuite/gdb.python/py-unwind.py
index 8e65a1a..0faccf2 100644
--- a/gdb/testsuite/gdb.python/py-unwind.py
+++ b/gdb/testsuite/gdb.python/py-unwind.py
@@ -267,4 +267,24 @@ class validating_unwinder(Unwinder):
return None
+class bad_object_unwinder(Unwinder):
+ def __init__(self, name):
+ super().__init__(name)
+
+ def __call__(self, pending_frame):
+
+ if pending_frame.level() != 1:
+ return None
+
+ class Blah:
+ def __init__(self):
+ pass
+
+ @property
+ def __class__(self):
+ raise RuntimeError("error in Blah.__class__")
+
+ return Blah()
+
+
print("Python script imported")
diff --git a/gdb/testsuite/gdb.python/py-warning.exp b/gdb/testsuite/gdb.python/py-warning.exp
new file mode 100644
index 0000000..6b26a4e
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-warning.exp
@@ -0,0 +1,63 @@
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test the gdb.warning() function.
+
+load_lib gdb-python.exp
+
+require allow_python_tests
+
+clean_restart
+
+# Basic usage.
+gdb_test "python gdb.warning(\"some text\")" \
+ "warning: some text"
+
+# Basic usage with named argument.
+gdb_test "python gdb.warning(text=\"a warning message\")" \
+ "warning: a warning message"
+
+# Make sure GDB prints format specifiers correctly.
+gdb_test "python gdb.warning(\"%s %d %p\")" \
+ "warning: %s %d %p"
+
+# Empty string gives an error.
+gdb_test "python gdb.warning(\"\")" \
+ [multi_line \
+ "Python Exception <class 'ValueError'>: Empty text string passed to gdb\\.warning" \
+ "Error occurred in Python: Empty text string passed to gdb\\.warning"]
+
+# Missing argument gives an error.
+set re1 \
+ [multi_line \
+ [string_to_regexp \
+ [concat \
+ "Python Exception <class 'TypeError'>:" \
+ "function missing required argument 'text' (pos 1)"]] \
+ [string_to_regexp \
+ [concat \
+ "Error occurred in Python:" \
+ "function missing required argument 'text' (pos 1)"]]]
+set re2 \
+ [multi_line \
+ [string_to_regexp \
+ [concat \
+ "Python Exception <class 'TypeError'>:" \
+ "Required argument 'text' (pos 1) not found"]] \
+ [string_to_regexp \
+ [concat \
+ "Error occurred in Python:" \
+ "Required argument 'text' (pos 1) not found"]]]
+gdb_test "python gdb.warning()" $re1|$re2
diff --git a/gdb/testsuite/gdb.replay/connect.exp b/gdb/testsuite/gdb.replay/connect.exp
index 5790d38..26b7aa3 100644
--- a/gdb/testsuite/gdb.replay/connect.exp
+++ b/gdb/testsuite/gdb.replay/connect.exp
@@ -13,7 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. */
#
-# Starts a communication with gdbsever setting the remotelog file.
+# Starts a communication with gdbserver setting the remotelog file.
# Modifies the remotelog with update_log proc, injects an error message
# instead of the expected replay to the vMustReplyEmpty packet in order
# to test GDB reacts to the error response properly. After the remotelog
diff --git a/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp b/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp
index 0ff56dd..00f58f8 100644
--- a/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/i386-avx-reverse.exp
@@ -397,7 +397,7 @@ gdb_test_no_output "set \$ymm15.v2_int128 = {0x0, 0xcafeface}" "set ymm15 for vp
if {[record_full_function "vzeroupper"] == true} {
# Since vzeroupper needs to save 8 or 16 registers, let's check what was
# actually recorded, instead of just undoing an instruction. Only
- # really check the values of egisters 0, 1, 2 and 15 because those are
+ # really check the values of registers 0, 1, 2 and 15 because those are
# the only ones we're setting.
gdb_test "maint print record-instruction" \
[multi_line "Register ymm0h changed: 74565" \
diff --git a/gdb/testsuite/gdb.reverse/solib-precsave.exp b/gdb/testsuite/gdb.reverse/solib-precsave.exp
index 277e33c..82b08cd 100644
--- a/gdb/testsuite/gdb.reverse/solib-precsave.exp
+++ b/gdb/testsuite/gdb.reverse/solib-precsave.exp
@@ -140,7 +140,7 @@ gdb_test_multiple "reverse-step" "reverse-step into solib function one" {
pass $gdb_test_name
}
}
-# Depending on wether the closing } has a line associated, we might have
+# Depending on whether the closing } has a line associated, we might have
# different acceptable results here
gdb_test_multiple "reverse-step" "reverse-step within solib function one" {
-re -wrap "return y;.*" {
diff --git a/gdb/testsuite/gdb.reverse/solib-reverse.exp b/gdb/testsuite/gdb.reverse/solib-reverse.exp
index 1e22e91..b2ef9b0 100644
--- a/gdb/testsuite/gdb.reverse/solib-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/solib-reverse.exp
@@ -116,7 +116,7 @@ gdb_test_multiple "reverse-step" "reverse-step into solib function one" {
pass $gdb_test_name
}
}
-# Depending on wether the closing } has a line associated, we might have
+# Depending on whether the closing } has a line associated, we might have
# different acceptable results here
gdb_test_multiple "reverse-step" "reverse-step within solib function one" {
-re -wrap "return y;.*" {
diff --git a/gdb/testsuite/gdb.reverse/time-reverse.exp b/gdb/testsuite/gdb.reverse/time-reverse.exp
index fe191a0..58dcdde 100644
--- a/gdb/testsuite/gdb.reverse/time-reverse.exp
+++ b/gdb/testsuite/gdb.reverse/time-reverse.exp
@@ -20,6 +20,7 @@
#
require supports_reverse
+require supports_process_record
standard_testfile
@@ -38,23 +39,49 @@ proc test {mode} {
return
}
- runto marker1
-
- if [supports_process_record] {
- # Activate process record/replay
- gdb_test_no_output "record" "turn on process record"
+ if { ![runto marker1] } {
+ return
}
+ # Activate process record/replay
+ gdb_test_no_output "record" "turn on process record"
+ gdb_test_no_output "set record full stop-at-limit on"
+ gdb_test_no_output "set record full insn-number-max 2000"
+
+ set re_srcfile [string_to_regexp $::srcfile]
+
gdb_test "break marker2" \
- "Breakpoint $::decimal at $::hex: file .*$::srcfile, line $::decimal.*" \
+ "Breakpoint $::decimal at $::hex: file .*$re_srcfile, line $::decimal.*" \
"set breakpoint at marker2"
- gdb_continue_to_breakpoint "marker2" ".*$::srcfile:.*"
+ set re_question \
+ [string_list_to_regexp \
+ "Do you want to auto delete previous execution log entries when" \
+ " record/replay buffer becomes full" \
+ { (record full stop-at-limit)?([y] or n)}]
+ set re_program_stopped \
+ [multi_line \
+ [string_to_regexp "Process record: stopped by user."] \
+ "" \
+ [string_to_regexp "Program stopped."]]
+ set re_marker2 [string_to_regexp "marker2 ()"]
+ gdb_test_multiple "continue" "continue to breakpoint: marker2" {
+ -re "$re_question " {
+ send_gdb "n\n"
+ exp_continue
+ }
+ -re -wrap "Breakpoint $::decimal, $re_marker2 .*" {
+ pass $gdb_test_name
+ }
+ -re -wrap "\r\n$re_program_stopped\r\n.*" {
+ unsupported $gdb_test_name
+ }
+ }
# Show how many instructions we've recorded.
gdb_test "info record" "Active record target: .*"
- gdb_test "reverse-continue" ".*$::srcfile:$::decimal.*" "reverse to marker1"
+ gdb_test "reverse-continue" ".*$re_srcfile:$::decimal.*" "reverse to marker1"
# If the variable was recorded properly, the old contents (-1)
# will be remembered. If not, new contents (current time) will be
diff --git a/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp b/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp
new file mode 100644
index 0000000..d75bc76
--- /dev/null
+++ b/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.cpp
@@ -0,0 +1,86 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef DEVICE
+
+#include <hip/hip_runtime.h>
+
+constexpr unsigned int NUM_BREAKPOINT_HITS = 5;
+
+static __device__ void
+break_here ()
+{
+}
+
+extern "C" __global__ void
+kernel ()
+{
+ for (int n = 0; n < NUM_BREAKPOINT_HITS; ++n)
+ break_here ();
+}
+
+#else
+
+#include <hip/hip_runtime.h>
+#include <unistd.h>
+
+constexpr unsigned int NUM_ITEMS_PER_BLOCK = 256;
+constexpr unsigned int NUM_BLOCKS = 128;
+constexpr unsigned int NUM_ITEMS = NUM_ITEMS_PER_BLOCK * NUM_BLOCKS;
+constexpr unsigned int NUM_LOAD_UNLOADS = 5;
+
+#define CHECK(cmd) \
+ { \
+ hipError_t error = cmd; \
+ if (error != hipSuccess) \
+ { \
+ fprintf (stderr, "error: '%s'(%d) at %s:%d\n", \
+ hipGetErrorString (error), error, __FILE__, __LINE__); \
+ exit (EXIT_FAILURE); \
+ } \
+ }
+
+int
+main (int argc, const char **argv)
+{
+ if (argc != 2)
+ {
+ fprintf (stderr, "Usage: %s <hip_module_path>\n", argv[0]);
+ return 1;
+ }
+
+ const auto module_path = argv[1];
+ hipModule_t module;
+ CHECK (hipModuleLoad (&module, module_path));
+
+ /* Launch the kernel. */
+ hipFunction_t function;
+ CHECK (hipModuleGetFunction (&function, module, "kernel"));
+ CHECK (hipModuleLaunchKernel (function, NUM_BLOCKS, 1, 1,
+ NUM_ITEMS_PER_BLOCK, 1, 1, 0, nullptr, nullptr,
+ nullptr));
+
+ /* Load and unload the module many times. */
+ for (int i = 0; i < NUM_LOAD_UNLOADS; ++i)
+ {
+ hipModule_t dummy_module;
+ CHECK (hipModuleLoad (&dummy_module, module_path));
+ CHECK (hipModuleUnload (dummy_module));
+ }
+}
+
+#endif
diff --git a/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.exp b/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.exp
new file mode 100644
index 0000000..3fe6a95
--- /dev/null
+++ b/gdb/testsuite/gdb.rocm/code-object-load-while-breakpoint-hit.exp
@@ -0,0 +1,68 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This file is part of GDB.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# This test verifies what happens when a code object list update happens at the
+# same time as some wave stop events are reported. It was added following a
+# performance bug fix, where forward progress requirement disabled when
+# pulling events from amd-dbgapi in amd_dbgapi_target_breakpoint::check_status.
+#
+# The test launches a kernel that hits a breakpoint with an always false
+# condition a certain number of times. Meanwhile, the host loads and unloads
+# a code object in a loop, causing check_status to be called. The hope is that
+# check_status, when calling process_event_queue, will pull many WAVE_STOP
+# events from the kernel hitting the breakpoint.
+#
+# Without the appropriate fix (of disabling forward progress requirement in
+# check_status), GDB would hit the newly-added assert in process_event_queue,
+# which verifies that forward progress requirement is disabled. Even without
+# this assert, the test would likely time out (depending on the actual timeout
+# value).
+
+load_lib rocm.exp
+standard_testfile .cpp
+require allow_hipcc_tests
+
+# Build the host executable.
+if { [build_executable "failed to prepare" \
+ $testfile $srcfile {debug hip}] == -1 } {
+ return -1
+}
+
+set hipmodule_path [standard_output_file ${testfile}.co]
+
+# Build the kernel object file.
+if { [gdb_compile $srcdir/$subdir/$srcfile \
+ $hipmodule_path object \
+ { debug hip additional_flags=--genco additional_flags=-DDEVICE } ] != "" } {
+ return -1
+}
+
+proc do_test { } {
+ with_rocm_gpu_lock {
+ clean_restart $::binfile
+ gdb_test_no_output "set args $::hipmodule_path" "set args"
+
+ if { ![runto_main] } {
+ return
+ }
+
+ gdb_test "with breakpoint pending on -- break break_here if 0"
+ gdb_continue_to_end "continue to end" "continue" 1
+ }
+}
+
+do_test
diff --git a/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu.exp b/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu.exp
index 7588525..22d4b75 100644
--- a/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu.exp
+++ b/gdb/testsuite/gdb.rocm/fork-exec-gpu-to-non-gpu.exp
@@ -21,6 +21,7 @@
load_lib rocm.exp
require allow_hipcc_tests
+require allow_fork_tests
standard_testfile -execer.cpp -execee.cpp
diff --git a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp
index a6bcf69..1386099 100644
--- a/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp
+++ b/gdb/testsuite/gdb.rocm/fork-exec-non-gpu-to-gpu.exp
@@ -20,6 +20,7 @@
load_lib rocm.exp
require allow_hipcc_tests
+require allow_fork_tests
standard_testfile -execer.cpp -execee.cpp
diff --git a/gdb/testsuite/gdb.rocm/mi-attach.exp b/gdb/testsuite/gdb.rocm/mi-attach.exp
index 2ca610c..37ce92a 100644
--- a/gdb/testsuite/gdb.rocm/mi-attach.exp
+++ b/gdb/testsuite/gdb.rocm/mi-attach.exp
@@ -13,10 +13,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+load_lib rocm.exp
load_lib mi-support.exp
set MIFLAGS "-i=mi"
-require can_spawn_for_attach
+require can_spawn_for_attach allow_hipcc_tests
standard_testfile .cpp
diff --git a/gdb/testsuite/gdb.rocm/precise-memory-fork.exp b/gdb/testsuite/gdb.rocm/precise-memory-fork.exp
index d326c2e..23c1ebe 100644
--- a/gdb/testsuite/gdb.rocm/precise-memory-fork.exp
+++ b/gdb/testsuite/gdb.rocm/precise-memory-fork.exp
@@ -21,6 +21,7 @@
load_lib rocm.exp
require allow_hipcc_tests
+require allow_fork_tests
standard_testfile .c
diff --git a/gdb/testsuite/gdb.rocm/precise-memory.exp b/gdb/testsuite/gdb.rocm/precise-memory.exp
index fbcb451..6711d80 100644
--- a/gdb/testsuite/gdb.rocm/precise-memory.exp
+++ b/gdb/testsuite/gdb.rocm/precise-memory.exp
@@ -59,7 +59,7 @@ proc do_test { } {
return
}
- # Get to the begining of the GPU kernel without precise memory enabled.
+ # Get to the beginning of the GPU kernel without precise memory enabled.
with_test_prefix "goto gpu code" {
gdb_test_no_output "set amdgpu precise-memory off"
gdb_breakpoint "kernel" allow-pending
diff --git a/gdb/testsuite/gdb.server/build-id-seqno.exp b/gdb/testsuite/gdb.server/build-id-seqno.exp
index a508a44..8475ccc 100644
--- a/gdb/testsuite/gdb.server/build-id-seqno.exp
+++ b/gdb/testsuite/gdb.server/build-id-seqno.exp
@@ -90,13 +90,13 @@ proc load_binfile_check_debug_is_found { debuginfo_file testname } {
with_test_prefix "$testname" {
with_timeout_factor 5 {
# Probing for .build-id based debug files on remote
- # targets uses the vFile:stat packet by default, though
+ # targets uses the vFile:lstat packet by default, though
# there is a work around that avoids this which can be
# used if GDB is connected to an older gdbserver without
# 'stat' support.
#
# Check the work around works by disabling use of the
- # vFile:stat packet.
+ # vFile:lstat packet.
foreach_with_prefix stat_pkt {auto off} {
clean_restart
@@ -105,7 +105,7 @@ proc load_binfile_check_debug_is_found { debuginfo_file testname } {
gdb_test_no_output "set sysroot target:"
- gdb_test "set remote hostio-stat-packet $stat_pkt"
+ gdb_test "set remote hostio-lstat-packet $stat_pkt"
# Make sure we're disconnected, in case we're testing with an
# extended-remote board, therefore already connected.
diff --git a/gdb/testsuite/gdb.server/fileio-packets.exp b/gdb/testsuite/gdb.server/fileio-packets.exp
new file mode 100644
index 0000000..9435efd
--- /dev/null
+++ b/gdb/testsuite/gdb.server/fileio-packets.exp
@@ -0,0 +1,66 @@
+# Copyright 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test some remote file I/O. The associated Python script uses the
+# Python API to create and send vFile:* packets to gdbserver to
+# perform actions like 'stat'. The same action is then performed
+# directly from Python (e.g. a 'stat' is performed), and the results,
+# from gdbserver, and from the local syscall, are compared.
+
+load_lib gdb-python.exp
+load_lib gdbserver-support.exp
+
+require allow_python_tests
+require allow_gdbserver_tests
+require {!is_remote host}
+require {!is_remote target}
+
+standard_testfile
+
+clean_restart
+
+# Make sure we're disconnected, in case we're testing with an
+# extended-remote board, therefore already connected.
+gdb_test "disconnect" ".*"
+
+set pyfile [gdb_remote_download host ${srcdir}/${subdir}/${testfile}.py]
+gdb_test_no_output "source $pyfile" "source the script"
+
+# Start gdbserver, but always in extended-remote mode, and then
+# connect to it from GDB.
+set res [gdbserver_start "--multi --once" ""]
+set gdbserver_protocol "extended-remote"
+set gdbserver_gdbport [lindex $res 1]
+gdb_target_cmd $gdbserver_protocol $gdbserver_gdbport
+
+gdb_test_no_output "set python print-stack full"
+
+set test_file_1 [standard_output_file "test_file_1"]
+remote_exec host "touch $test_file_1"
+
+set test_file_2 [standard_output_file "test_file_2"]
+remote_exec host "ln -s $test_file_1 $test_file_2"
+
+gdb_test "python check_lstat(\"$test_file_1\")" "PASS" \
+ "check remote lstat works on a normal file"
+
+gdb_test "python check_lstat(\"$test_file_2\")" "PASS" \
+ "check remote lstat works on a symbolic link"
+
+gdb_test "python check_stat(\"$test_file_1\")" "PASS" \
+ "check remote stat works on a normal file"
+
+gdb_test "python check_stat(\"$test_file_2\")" "PASS" \
+ "check remote stat works on a symbolic link"
diff --git a/gdb/testsuite/gdb.server/fileio-packets.py b/gdb/testsuite/gdb.server/fileio-packets.py
new file mode 100644
index 0000000..f132e91
--- /dev/null
+++ b/gdb/testsuite/gdb.server/fileio-packets.py
@@ -0,0 +1,208 @@
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+import os
+import stat
+
+
+# Hex encode INPUT_STRING in the same way that GDB does. Each
+# character in INPUT_STRING is expanded to its two digit hex
+# representation in the returned string.
+#
+# Only ASCII characters may appear in INPUT_STRING, this is more
+# restrictive than GDB, but is good enough for testing.
+def hex_encode(input_string):
+ byte_string = input_string.encode("ascii")
+ hex_string = byte_string.hex()
+ return hex_string
+
+
+# Binary remote data packets can contain some escaped bytes. Decode
+# the packet now.
+def unescape_remote_data(buf):
+ escaped = False
+ res = bytearray()
+ for b in buf:
+ if escaped:
+ res.append(b ^ 0x20)
+ escaped = False
+ elif b == ord("}"):
+ escaped = True
+ else:
+ res.append(b)
+ res = bytes(res)
+ return res
+
+
+# Decode the results of a remote stat like command from BUF. Returns
+# None if BUF is not a valid stat result (e.g. if it indicates an
+# error, or the buffer is too short). If BUF is valid then the fields
+# are decoded according to the GDB remote protocol and placed into a
+# dictionary, this dictionary is then returned.
+def decode_stat_reply(buf, byteorder="big"):
+
+ buf = unescape_remote_data(buf)
+
+ if (
+ buf[0] != ord("F")
+ or buf[1] != ord("4")
+ or buf[2] != ord("0")
+ or buf[3] != ord(";")
+ or len(buf) != 68
+ ):
+ l = len(buf)
+ print(f"decode_stat_reply failed: {buf}\t(length = {l})")
+ return None
+
+ # Discard the 'F40;' prefix. The rest is the 64 bytes of data to
+ # be decoded.
+ buf = buf[4:]
+
+ st_dev = int.from_bytes(buf[0:4], byteorder=byteorder)
+ st_ino = int.from_bytes(buf[4:8], byteorder=byteorder)
+ st_mode = int.from_bytes(buf[8:12], byteorder=byteorder)
+ st_nlink = int.from_bytes(buf[12:16], byteorder=byteorder)
+ st_uid = int.from_bytes(buf[16:20], byteorder=byteorder)
+ st_gid = int.from_bytes(buf[20:24], byteorder=byteorder)
+ st_rdev = int.from_bytes(buf[24:28], byteorder=byteorder)
+ st_size = int.from_bytes(buf[28:36], byteorder=byteorder)
+ st_blksize = int.from_bytes(buf[36:44], byteorder=byteorder)
+ st_blocks = int.from_bytes(buf[44:52], byteorder=byteorder)
+ st_atime = int.from_bytes(buf[52:56], byteorder=byteorder)
+ st_mtime = int.from_bytes(buf[56:60], byteorder=byteorder)
+ st_ctime = int.from_bytes(buf[60:64], byteorder=byteorder)
+
+ return {
+ "st_dev": st_dev,
+ "st_ino": st_ino,
+ "st_mode": st_mode,
+ "st_nlink": st_nlink,
+ "st_uid": st_uid,
+ "st_gid": st_gid,
+ "st_rdev": st_rdev,
+ "st_size": st_size,
+ "st_blksize": st_blksize,
+ "st_blocks": st_blocks,
+ "st_atime": st_atime,
+ "st_mtime": st_mtime,
+ "st_ctime": st_ctime,
+ }
+
+
+# Perform an lstat of remote file FILENAME, and create a dictionary of
+# the results, the keys are the fields of the stat structure.
+def remote_lstat(filename):
+ conn = gdb.selected_inferior().connection
+ if not isinstance(conn, gdb.RemoteTargetConnection):
+ raise gdb.GdbError("connection is the wrong type")
+
+ filename_hex = hex_encode(filename)
+ reply = conn.send_packet("vFile:lstat:%s" % filename_hex)
+
+ stat = decode_stat_reply(reply)
+ return stat
+
+
+# Perform a stat of remote file FILENAME, and create a dictionary of
+# the results, the keys are the fields of the stat structure.
+def remote_stat(filename):
+ conn = gdb.selected_inferior().connection
+ if not isinstance(conn, gdb.RemoteTargetConnection):
+ raise gdb.GdbError("connection is the wrong type")
+
+ filename_hex = hex_encode(filename)
+ reply = conn.send_packet("vFile:stat:%s" % filename_hex)
+
+ stat = decode_stat_reply(reply)
+ return stat
+
+
+# Convert a stat_result object to a dictionary that should match the
+# dictionary built from the remote protocol reply.
+def stat_result_to_dict(res):
+ # GDB doesn't support the S_IFLNK flag for the remote protocol, so
+ # clear that flag in the local results.
+ if stat.S_ISLNK(res.st_mode):
+ st_mode = stat.S_IMODE(res.st_mode)
+ else:
+ st_mode = res.st_mode
+
+ # GDB returns an integer for these fields, while Python returns a
+ # floating point value. Convert back to an integer to match GDB.
+ st_atime = int(res.st_atime)
+ st_mtime = int(res.st_mtime)
+ st_ctime = int(res.st_ctime)
+
+ return {
+ "st_dev": res.st_dev,
+ "st_ino": res.st_ino,
+ "st_mode": st_mode,
+ "st_nlink": res.st_nlink,
+ "st_uid": res.st_uid,
+ "st_gid": res.st_gid,
+ "st_rdev": res.st_rdev,
+ "st_size": res.st_size,
+ "st_blksize": res.st_blksize,
+ "st_blocks": res.st_blocks,
+ "st_atime": st_atime,
+ "st_mtime": st_mtime,
+ "st_ctime": st_ctime,
+ }
+
+
+# Perform an lstat of local file FILENAME, and create a dictionary of
+# the results, the keys are the fields of the stat structure.
+def local_lstat(filename):
+ res = os.lstat(filename)
+ return stat_result_to_dict(res)
+
+
+# Perform an lstat of local file FILENAME, and create a dictionary of
+# the results, the keys are the fields of the stat structure.
+def local_stat(filename):
+ res = os.stat(filename)
+ return stat_result_to_dict(res)
+
+
+# Perform a remote lstat using GDB, and a local lstat using os.lstat.
+# Compare the results to check they are the same.
+#
+# For this test to work correctly, gdbserver, and GDB (where this
+# Python script is running), must see the same filesystem.
+def check_lstat(filename):
+ s1 = remote_lstat(filename)
+ s2 = local_lstat(filename)
+
+ print(f"remote = {s1}")
+ print(f"local = {s2}")
+
+ assert s1 == s2
+ print("PASS")
+
+
+# Perform a remote stat using GDB, and a local stat using os.stat.
+# Compare the results to check they are the same.
+#
+# For this test to work correctly, gdbserver, and GDB (where this
+# Python script is running), must see the same filesystem.
+def check_stat(filename):
+ s1 = remote_stat(filename)
+ s2 = local_stat(filename)
+
+ print(f"remote = {s1}")
+ print(f"local = {s2}")
+
+ assert s1 == s2
+ print("PASS")
diff --git a/gdb/testsuite/gdb.server/no-thread-db.exp b/gdb/testsuite/gdb.server/no-thread-db.exp
index cc24708..9fd2090 100644
--- a/gdb/testsuite/gdb.server/no-thread-db.exp
+++ b/gdb/testsuite/gdb.server/no-thread-db.exp
@@ -57,6 +57,8 @@ gdb_breakpoint ${srcfile}:[gdb_get_line_number "after tls assignment"]
gdb_continue_to_breakpoint "after tls assignment"
# Printing a tls variable should fail gracefully without a libthread_db.
+# Alternately, the correct answer might be printed due GDB's internal
+# TLS support for some targets.
set re_exec "\[^\r\n\]*[file tail $binfile]"
gdb_test "print foo" \
- "Cannot find thread-local storage for Thread \[^,\]+, executable file $re_exec:\[\r\n\]+Remote target failed to process qGetTLSAddr request"
+ "= 1|(?:Cannot find thread-local storage for Thread \[^,\]+, executable file $re_exec:\[\r\n\]+Remote target failed to process qGetTLSAddr request)"
diff --git a/gdb/testsuite/gdb.server/pread-offset-size.S b/gdb/testsuite/gdb.server/pread-offset-size.S
new file mode 100644
index 0000000..6ca8cf0
--- /dev/null
+++ b/gdb/testsuite/gdb.server/pread-offset-size.S
@@ -0,0 +1,29 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* Here we are trying to create a large binary (> 2 GB),
+ 3742415472 bytes is about 3.5 gigabytes. */
+
+ .text
+ .globl _start
+_start:
+ .skip 3742415472
+ ret
+ .globl f
+ .type f, @function
+f:
+ ret
diff --git a/gdb/testsuite/gdb.server/pread-offset-size.exp b/gdb/testsuite/gdb.server/pread-offset-size.exp
new file mode 100644
index 0000000..54e67c5
--- /dev/null
+++ b/gdb/testsuite/gdb.server/pread-offset-size.exp
@@ -0,0 +1,49 @@
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+# Check that GDBserver's vFile::pread implementation is able to access
+# large files (> 2GB).
+
+load_lib gdbserver-support.exp
+
+require allow_gdbserver_tests
+
+standard_testfile .S
+
+if { [prepare_for_testing ${testfile}.exp $testfile \
+ $srcfile {debug additional_flags=-nostdlib} ] } {
+ return -1
+}
+
+clean_restart
+
+gdb_test_no_output "set remote exec-file $binfile" \
+ "set remote exec-file"
+
+# Make sure we're disconnected, in case we're testing with an
+# extended-remote board, therefore already connected.
+gdb_test "disconnect" ".*"
+
+set res [gdbserver_spawn ""]
+set gdbserver_protocol [lindex $res 0]
+set gdbserver_gdbport [lindex $res 1]
+
+gdb_test "target $gdbserver_protocol $gdbserver_gdbport" \
+ "Remote debugging using .*" \
+ "target $gdbserver_protocol"
+
+# If loading the large binary was successful, we should be able to
+# place a breakpoint on f.
+gdb_test "break f" "Breakpoint 1.*"
diff --git a/gdb/testsuite/gdb.stabs/weird.def b/gdb/testsuite/gdb.stabs/weird.def
index 179b126..f809963 100644
--- a/gdb/testsuite/gdb.stabs/weird.def
+++ b/gdb/testsuite/gdb.stabs/weird.def
@@ -294,7 +294,7 @@ attr69:
# Using double quotes requires an escaping, as the stabs string
# is a double quote delimited string.
.stabs "constString2:c=s\"Double quote String2\"", N_LSYM,0,0, 0
-# Escaping sinlge quote with is easy
+# Escaping single quote with is easy
.stabs "constString3:c=s'String3 with embedded quote \' in the middle'", N_LSYM,0,0, 0
# Esaping double quotes is less clear...
.stabs "constString4:c=s\"String4 with embedded quote \\" in the middle\"", N_LSYM,0,0, 0
diff --git a/gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.exp b/gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.exp
new file mode 100644
index 0000000..a05ce61
--- /dev/null
+++ b/gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.exp
@@ -0,0 +1,84 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test gdb_test_multiple -lbl, particularly with patterns that share a
+# common prefix.
+
+standard_testfile
+
+clean_restart
+
+gdb_test_no_output "source ${srcdir}/${subdir}/$testfile.gdb" \
+ "source gdb test script"
+
+set saw_prompt 0
+set saw_prefix 0
+set saw_command 0
+set saw_prefix_foo 0
+set saw_prefix_bar 0
+
+# #1 - We need anchors so that the "prefix foo" pattern below does not
+# match when the expect output buffer contains:
+#
+# "\r\nprefix xxx\r\n\prefix foo\r\n"
+#
+# #2 - We need an anchor on the prompt match as otherwise the prompt
+# regexp would match:
+#
+# "\r\nmeant-to-be-matched-by-lbl-2\r\nprefix xxx\r\n(gdb) "
+#
+# This test would fail if -lbl did not force the built-in prompt match
+# regexp to have an anchor as well, as without it, the built-in prompt
+# regexp would have the exact same issue as #2 above.
+
+gdb_test_multiple "command" "" -lbl {
+ -re "^command(?=\r\n)" {
+ verbose -log <COMMAND>
+ incr saw_command
+ exp_continue
+ }
+ -re "^\r\nprefix foo(?=\r\n)" {
+ verbose -log <PREFIX-FOO>
+ incr saw_prefix_foo
+ exp_continue
+ }
+ -re "^\r\nprefix bar(?=\r\n)" {
+ verbose -log <PREFIX-BAR>
+ incr saw_prefix_bar
+ exp_continue
+ }
+ -re "^\r\nprefix \[^\r\n\]*(?=\r\n)" {
+ verbose -log <PREFIX>
+ incr saw_prefix
+ exp_continue
+ }
+ -re "^\r\n$gdb_prompt $" {
+ verbose -log <PROMPT>
+ incr saw_prompt
+ pass $gdb_test_name
+ }
+}
+
+verbose -log "saw_command: $saw_command"
+verbose -log "saw_prefix_foo: $saw_prefix_foo"
+verbose -log "saw_prefix_bar: $saw_prefix_bar"
+verbose -log "saw_prefix: $saw_prefix"
+verbose -log "saw_prompt: $saw_prompt"
+
+gdb_assert {$saw_command == 1}
+gdb_assert {$saw_prefix_foo == 1}
+gdb_assert {$saw_prefix_bar == 1}
+gdb_assert {$saw_prefix == 3}
+gdb_assert {$saw_prompt == 1}
diff --git a/gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.gdb b/gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.gdb
new file mode 100755
index 0000000..8c94dfa
--- /dev/null
+++ b/gdb/testsuite/gdb.testsuite/gdb_test_multiple-lbl.gdb
@@ -0,0 +1,25 @@
+# Copyright 2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+define command
+ echo prefix xxx\n
+ echo meant-to-be-matched-by-lbl-1\n
+ echo prefix foo\n
+ echo prefix bar\n
+ echo meant-to-be-matched-by-lbl-2\n
+ echo prefix xxx\n
+ echo prefix xxx\n
+ echo meant-to-be-matched-by-lbl-3\n
+end
diff --git a/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp b/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp
index b41e3b2..fec31c3 100644
--- a/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp
+++ b/gdb/testsuite/gdb.threads/access-mem-running-thread-exit.exp
@@ -74,42 +74,45 @@ proc test { non_stop } {
delete_breakpoints
# Start the second inferior.
- with_test_prefix "second inferior" {
- # With stub targets that do reload on run, if we let the new
- # inferior share inferior 1's connection, runto would
- # fail because GDB is already connected to something, like
- # e.g. with --target_board=native-gdbserver:
- #
- # (gdb) kill
- # ...
- # (gdb) target remote localhost:2348
- # Already connected to a remote target. Disconnect? (y or n)
- #
- # Instead, start the inferior with no connection, and let
- # gdb_load/runto spawn a new remote connection/gdbserver.
- #
- # OTOH, with extended-remote, we must let the new inferior
- # reuse the current connection, so that runto below can
- # issue the "run" command, and have the inferior run on the
- # remote target. If we forced no connection, then "run" would
- # either fail if "set auto-connect-native-target" is on, like
- # the native-extended-gdbserver board enforces, or it would
- # run the inferior on the native target, which isn't what is
- # being tested.
- #
- # Since it's reload_on_run targets that need special care, we
- # default to reusing the connection on most targets.
- if [target_info exists gdb,do_reload_on_run] {
- gdb_test "add-inferior -no-connection" "New inferior 2.*"
- } else {
- gdb_test "add-inferior" "New inferior 2.*"
- }
- gdb_test "inferior 2" "Switching to inferior 2 .*"
-
- gdb_load $binfile
-
- if ![runto setup_done] {
- return -1
+ if {[allow_multi_inferior_tests]} {
+ with_test_prefix "second inferior" {
+ # With stub targets that do reload on run, if we let the
+ # new inferior share inferior 1's connection, runto would
+ # fail because GDB is already connected to something, like
+ # e.g. with --target_board=native-gdbserver:
+ #
+ # (gdb) kill
+ # ...
+ # (gdb) target remote localhost:2348
+ # Already connected to a remote target. Disconnect? (y or n)
+ #
+ # Instead, start the inferior with no connection, and let
+ # gdb_load/runto spawn a new remote connection/gdbserver.
+ #
+ # OTOH, with extended-remote, we must let the new inferior
+ # reuse the current connection, so that runto below can
+ # issue the "run" command, and have the inferior run on
+ # the remote target. If we forced no connection, then
+ # "run" would either fail if "set
+ # auto-connect-native-target" is on, like the
+ # native-extended-gdbserver board enforces, or it would
+ # run the inferior on the native target, which isn't what
+ # is being tested.
+ #
+ # Since it's reload_on_run targets that need special care,
+ # we default to reusing the connection on most targets.
+ if [target_info exists gdb,do_reload_on_run] {
+ gdb_test "add-inferior -no-connection" "New inferior 2.*"
+ } else {
+ gdb_test "add-inferior" "New inferior 2.*"
+ }
+ gdb_test "inferior 2" "Switching to inferior 2 .*"
+
+ gdb_load $binfile
+
+ if ![runto setup_done] {
+ return -1
+ }
}
}
@@ -158,13 +161,15 @@ proc test { non_stop } {
verbose -log "xxxxx: iteration $iter"
gdb_test -nopass "info threads"
- if {$inf == 1} {
- set inf 2
- } else {
- set inf 1
- }
+ if {[allow_multi_inferior_tests]} {
+ if {$inf == 1} {
+ set inf 2
+ } else {
+ set inf 1
+ }
- my_gdb_test "inferior $inf" ".*" "inferior $inf"
+ my_gdb_test "inferior $inf" ".*" "inferior $inf"
+ }
my_gdb_test "print global_var = 555" " = 555" \
"write to global_var"
diff --git a/gdb/testsuite/gdb.threads/clone-attach-detach.exp b/gdb/testsuite/gdb.threads/clone-attach-detach.exp
index 0ae4281..3da2c3e 100644
--- a/gdb/testsuite/gdb.threads/clone-attach-detach.exp
+++ b/gdb/testsuite/gdb.threads/clone-attach-detach.exp
@@ -74,7 +74,7 @@ set attempts 3
for {set attempt 1} {$attempt <= $attempts} {incr attempt} {
with_test_prefix "bg attach $attempt" {
- gdb_test "attach $testpid &" \
+ gdb_test -no-prompt-anchor "attach $testpid &" \
"Attaching to program.*process $testpid.*" \
"attach"
diff --git a/gdb/testsuite/gdb.threads/current-lwp-dead.exp b/gdb/testsuite/gdb.threads/current-lwp-dead.exp
index 7aa7ab9..c8364df 100644
--- a/gdb/testsuite/gdb.threads/current-lwp-dead.exp
+++ b/gdb/testsuite/gdb.threads/current-lwp-dead.exp
@@ -47,6 +47,6 @@ gdb_breakpoint $line
gdb_continue_to_breakpoint "fn_return" ".*at-fn_return.*"
# Confirm thread 2 is really gone.
-gdb_test "info threads 2" "No threads match '2'\\."
+gdb_test "info threads 2" "No threads matched\\."
gdb_continue_to_end "" continue 1
diff --git a/gdb/testsuite/gdb.threads/detach-step-over.exp b/gdb/testsuite/gdb.threads/detach-step-over.exp
index e48b83c..8a1cb29 100644
--- a/gdb/testsuite/gdb.threads/detach-step-over.exp
+++ b/gdb/testsuite/gdb.threads/detach-step-over.exp
@@ -50,6 +50,8 @@
require can_spawn_for_attach
+require allow_multi_inferior_tests
+
standard_testfile
set bp_lineno [gdb_get_line_number "Set breakpoint here"]
diff --git a/gdb/testsuite/gdb.threads/foll-fork-other-thread.exp b/gdb/testsuite/gdb.threads/foll-fork-other-thread.exp
index 5245988..8ab540c 100644
--- a/gdb/testsuite/gdb.threads/foll-fork-other-thread.exp
+++ b/gdb/testsuite/gdb.threads/foll-fork-other-thread.exp
@@ -17,6 +17,8 @@
# another thread, in different combinations of "set follow-fork
# parent/child", and other execution modes.
+require allow_fork_tests
+
standard_testfile
# Line where to stop the main thread.
diff --git a/gdb/testsuite/gdb.threads/fork-child-threads.exp b/gdb/testsuite/gdb.threads/fork-child-threads.exp
index abe9769..ba9dfc2 100644
--- a/gdb/testsuite/gdb.threads/fork-child-threads.exp
+++ b/gdb/testsuite/gdb.threads/fork-child-threads.exp
@@ -13,10 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Only GNU/Linux is known to support `set follow-fork-mode child'.
-if { ! [istarget "*-*-linux*"] } {
- return 0
-}
+require allow_fork_tests
standard_testfile
diff --git a/gdb/testsuite/gdb.threads/fork-plus-threads.exp b/gdb/testsuite/gdb.threads/fork-plus-threads.exp
index 3a5e66a..4ce88d3 100644
--- a/gdb/testsuite/gdb.threads/fork-plus-threads.exp
+++ b/gdb/testsuite/gdb.threads/fork-plus-threads.exp
@@ -20,6 +20,8 @@
#
# See https://sourceware.org/bugzilla/show_bug.cgi?id=18600
+require allow_fork_tests
+
# In remote mode, we cannot continue debugging after all
# inferiors have terminated, and this test requires that.
if { [target_info exists gdb_protocol]
diff --git a/gdb/testsuite/gdb.threads/fork-thread-pending.exp b/gdb/testsuite/gdb.threads/fork-thread-pending.exp
index d0a1ca1..538e1ca 100644
--- a/gdb/testsuite/gdb.threads/fork-thread-pending.exp
+++ b/gdb/testsuite/gdb.threads/fork-thread-pending.exp
@@ -13,11 +13,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Only GNU/Linux is known to support `set follow-fork-mode child'.
-#
-if { ! [istarget "*-*-linux*"] } {
- return 0
-}
+require allow_fork_tests
standard_testfile
diff --git a/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp b/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
index 1f76898..c668a65 100644
--- a/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
+++ b/gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp
@@ -16,6 +16,8 @@
# This test verifies that several threads forking while another thread
# is constantly stepping over a breakpoint is properly handled.
+require allow_fork_tests
+
standard_testfile
set linenum [gdb_get_line_number "set break here"]
diff --git a/gdb/testsuite/gdb.threads/inf-thr-count.exp b/gdb/testsuite/gdb.threads/inf-thr-count.exp
index d7a7687..61533ab 100644
--- a/gdb/testsuite/gdb.threads/inf-thr-count.exp
+++ b/gdb/testsuite/gdb.threads/inf-thr-count.exp
@@ -43,7 +43,7 @@ if {[build_executable "failed to prepare" $testfile $srcfile \
# Start GDB. Ensure we are in non-stop mode as we need to read from
# the inferior while it is running.
save_vars {GDBFLAGS} {
- append GDBFLAGS " -ex \"set non-stop on\""
+ append GDBFLAGS { -ex "set non-stop on"}
clean_restart $binfile
}
@@ -54,22 +54,20 @@ if ![runto_main] {
gdb_breakpoint breakpt
gdb_continue_to_breakpoint "first breakpt call"
+set re_var [string_to_regexp "$"]$decimal
+
# Check we can see a single thread to begin with.
-gdb_test "p \$_inferior_thread_count" \
- "^\\\$$::decimal = 1" \
- "only one thread in \$_inferior_thread_count"
+gdb_test {p $_inferior_thread_count} \
+ "^$re_var = 1" \
+ {only one thread in $_inferior_thread_count}
# We don't want thread events, it makes it harder to match GDB's
# output.
gdb_test_no_output "set print thread-events off"
# Continue the program in the background.
-set test "continue&"
-gdb_test_multiple "continue&" $test {
- -re "Continuing\\.\r\n$gdb_prompt " {
- pass $test
- }
-}
+gdb_test -no-prompt-anchor "continue&" \
+ [string_to_regexp "Continuing."]
# Read the 'stage' flag from the inferior. This is initially 0, but
# will be set to 1 once the extra thread has been created, and then 2
@@ -88,8 +86,17 @@ proc wait_for_stage { num } {
set failure_count 0
set cmd "print /d stage"
set stage_flag 0
+
+ set re_int -?$::decimal
+
+ set re_msg \
+ [multi_line \
+ "Cannot execute this command while the target is running" \
+ {Use the "interrupt" command to stop the target} \
+ [string_to_regexp "and then try again."]]
+
gdb_test_multiple "$cmd" "wait for 'stage' flag to be $num" {
- -re -wrap "^Cannot execute this command while the target is running\\.\r\nUse the \"interrupt\" command to stop the target\r\nand then try again\\." {
+ -re -wrap ^$re_msg {
fail "$gdb_test_name (can't read asynchronously)"
gdb_test_no_output "interrupt"
@@ -101,7 +108,7 @@ proc wait_for_stage { num } {
}
}
- -re -wrap "^\\$\[0-9\]* = (\[-\]*\[0-9\]*).*" {
+ -re -wrap "^$::re_var = ($re_int).*" {
set stage_flag $expect_out(1,string)
if {$stage_flag != $num} {
set stage_flag 0
@@ -131,8 +138,8 @@ if {![wait_for_stage 1]} {
if {[target_info exists gdb_protocol]
&& ([target_info gdb_protocol] == "remote"
|| [target_info gdb_protocol] == "extended-remote")} {
- set new_thread_re "\\\[New Thread \[^\r\n\]+\\\]\r\n"
- set exit_thread_re "\\\[Thread \[^\r\n\]+ exited\\\]\r\n"
+ set new_thread_re {\[New Thread [^\r\n]+\]\r\n}
+ set exit_thread_re {\[Thread [^\r\n]+ exited\]\r\n}
} else {
set new_thread_re ""
set exit_thread_re ""
@@ -141,9 +148,9 @@ if {[target_info exists gdb_protocol]
# This is the test we actually care about. Check that the
# $_inferior_thread_count convenience variable shows the correct
# thread count; the new thread should be visible.
-gdb_test "with print thread-events on -- p \$_inferior_thread_count" \
- "^${new_thread_re}\\\$$::decimal = 2" \
- "second thread visible in \$_inferior_thread_count"
+gdb_test {with print thread-events on -- p $_inferior_thread_count} \
+ "^${new_thread_re}$re_var = 2" \
+ {second thread visible in $_inferior_thread_count}
# Set a variable in the inferior, this will cause the second thread to
# exit.
@@ -157,19 +164,25 @@ if {![wait_for_stage 2]} {
}
# Check that the second thread has gone away.
-gdb_test "with print thread-events on -- p \$_inferior_thread_count" \
- "^${exit_thread_re}\\\$$::decimal = 1" \
- "back to one thread visible in \$_inferior_thread_count"
+gdb_test {with print thread-events on -- p $_inferior_thread_count} \
+ "^${exit_thread_re}$re_var = 1" \
+ {back to one thread visible in $_inferior_thread_count}
# Set a variable in the inferior, this will cause the second thread to
# exit.
-gdb_test_no_output "set variable spin = 0" \
+gdb_test_no_output -no-prompt-anchor "set variable spin = 0" \
"set 'spin' flag to allow main thread to exit"
# When the second thread exits, the main thread joins with it, and
# then proceeds to hit the breakpt function again.
+set re_breakpt [string_to_regexp "breakpt ()"]
+set re \
+ [multi_line \
+ "Thread 1 \[^\r\n\]+ hit Breakpoint $decimal, $re_breakpt\[^\r\n\]+" \
+ "\[^\r\n\]+" \
+ ""]
gdb_test_multiple "" "wait for main thread to stop" {
- -re "Thread 1 \[^\r\n\]+ hit Breakpoint $decimal, breakpt \\(\\)\[^\r\n\]+\r\n\[^\r\n\]+\r\n" {
+ -re $re {
pass $gdb_test_name
}
}
diff --git a/gdb/testsuite/gdb.threads/info-threads-options.c b/gdb/testsuite/gdb.threads/info-threads-options.c
new file mode 100644
index 0000000..2c4cd85
--- /dev/null
+++ b/gdb/testsuite/gdb.threads/info-threads-options.c
@@ -0,0 +1,77 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2022-2025 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <pthread.h>
+
+#define NUM 4
+
+static pthread_barrier_t threads_started_barrier;
+
+static void
+stop_here ()
+{
+}
+
+static void
+spin ()
+{
+ while (1)
+ usleep (1);
+}
+
+static void *
+work (void *arg)
+{
+ int id = *(int *) arg;
+
+ pthread_barrier_wait (&threads_started_barrier);
+
+ if (id % 2 == 0)
+ stop_here ();
+ else
+ spin ();
+
+ pthread_exit (NULL);
+}
+
+int
+main ()
+{
+ /* Ensure we stop if GDB crashes and DejaGNU fails to kill us. */
+ alarm (10);
+
+ pthread_t threads[NUM];
+ int ids[NUM];
+
+ pthread_barrier_init (&threads_started_barrier, NULL, NUM + 1);
+
+ for (int i = 0; i < NUM; i++)
+ {
+ ids[i] = i;
+ pthread_create (&threads[i], NULL, work, &ids[i]);
+ }
+
+ /* Wait until all threads are seen running. */
+ pthread_barrier_wait (&threads_started_barrier);
+
+ stop_here ();
+
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.threads/info-threads-options.exp b/gdb/testsuite/gdb.threads/info-threads-options.exp
new file mode 100644
index 0000000..38e4e67
--- /dev/null
+++ b/gdb/testsuite/gdb.threads/info-threads-options.exp
@@ -0,0 +1,131 @@
+# Copyright (C) 2022-2025 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Test the filter flags of the "info threads" command.
+
+standard_testfile
+
+if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" \
+ executable debug] != "" } {
+ return -1
+}
+
+save_vars { GDBFLAGS } {
+ append GDBFLAGS " -ex \"set non-stop on\""
+ clean_restart $binfile
+}
+
+if ![runto_main] {
+ return -1
+}
+
+gdb_breakpoint "stop_here"
+gdb_test_multiple "continue -a&" "" {
+ -re "Continuing.\r\n$gdb_prompt " {
+ pass $gdb_test_name
+ }
+}
+
+set expected_hits 3
+set fill "\[^\r\n\]+"
+set num_hits 0
+gdb_test_multiple "" "hit the breakpoint" -lbl {
+ -re "\r\nThread ${fill} hit Breakpoint ${decimal}," {
+ incr num_hits
+ if {$num_hits < $expected_hits} {
+ exp_continue
+ }
+ }
+}
+gdb_assert {$num_hits == $expected_hits} "expected threads hit the bp"
+
+# Count the number of running/stopped threads reported
+# by the "info threads" command. We also capture thread ids
+# for additional tests.
+set running_tid "invalid"
+set stopped_tid "invalid"
+
+set eol "(?=\r\n)"
+
+foreach_with_prefix flag {"" "-running" "-stopped" "-running -stopped"} {
+ set num_running 0
+ set num_stopped 0
+ gdb_test_multiple "info threads $flag" "info threads $flag" -lbl {
+ -re "Id${fill}Target Id${fill}Frame${fill}${eol}" {
+ exp_continue
+ }
+ -re "^\r\n. (${decimal})${fill}Thread ${fill}.running.${eol}" {
+ incr num_running
+ set running_tid $expect_out(1,string)
+ exp_continue
+ }
+ -re "^\r\n. (${decimal})${fill}Thread ${fill}stop_here ${fill}${eol}" {
+ incr num_stopped
+ set stopped_tid $expect_out(1,string)
+ exp_continue
+ }
+ -re "^\r\n$gdb_prompt $" {
+ pass $gdb_test_name
+ }
+ }
+
+ if {$flag eq "-running"} {
+ gdb_assert {$num_running == 2} "num running"
+ gdb_assert {$num_stopped == 0} "num stopped"
+ } elseif {$flag eq "-stopped"} {
+ gdb_assert {$num_running == 0} "num running"
+ gdb_assert {$num_stopped == 3} "num stopped"
+ } else {
+ gdb_assert {$num_running == 2} "num running"
+ gdb_assert {$num_stopped == 3} "num stopped"
+ }
+}
+
+verbose -log "running_tid=$running_tid, stopped_tid=$stopped_tid"
+
+# Test specifying thread ids.
+gdb_test "info threads -running $stopped_tid" \
+ "No threads matched\\." \
+ "info thread -running for a stopped thread"
+gdb_test "info threads -stopped $running_tid" \
+ "No threads matched\\." \
+ "info thread -stopped for a running thread"
+
+set ws "\[ \t\]+"
+foreach tid "\"$running_tid\" \"$running_tid $stopped_tid\"" {
+ gdb_test "info threads -running $tid" \
+ [multi_line \
+ "${ws}Id${ws}Target Id${ws}Frame${ws}" \
+ "${ws}${running_tid}${ws}Thread ${fill}.running."] \
+ "info thread -running with [llength $tid] thread ids"
+}
+
+foreach tid "\"$stopped_tid\" \"$stopped_tid $running_tid\"" {
+ gdb_test "info threads -stopped $tid" \
+ [multi_line \
+ "${ws}Id${ws}Target Id${ws}Frame${ws}" \
+ "${ws}${stopped_tid}${ws}Thread ${fill} stop_here ${fill}"] \
+ "info thread -stopped with [llength $tid] thread ids"
+}
+
+gdb_test_multiple "info threads -stopped -running $stopped_tid $running_tid" \
+ "filter flags and tids combined" {
+ -re -wrap ".*stop_here.*running.*" {
+ pass $gdb_test_name
+ }
+ -re -wrap ".*running.*stop_here.*" {
+ pass $gdb_test_name
+ }
+}
diff --git a/gdb/testsuite/gdb.threads/next-fork-exec-other-thread.exp b/gdb/testsuite/gdb.threads/next-fork-exec-other-thread.exp
index bd81438..3a97127 100644
--- a/gdb/testsuite/gdb.threads/next-fork-exec-other-thread.exp
+++ b/gdb/testsuite/gdb.threads/next-fork-exec-other-thread.exp
@@ -25,6 +25,8 @@
# 20.04.5 LTS with 32-bit kernel + 32-bit userland. It was NOT reproducible
# using a circa 2023 Raspberry Pi OS w/ 64-bit kernel and 32-bit userland.
+require allow_fork_tests
+
standard_testfile
# Line where to stop the main thread.
diff --git a/gdb/testsuite/gdb.threads/next-fork-other-thread.exp b/gdb/testsuite/gdb.threads/next-fork-other-thread.exp
index 183fda6..1cd6685 100644
--- a/gdb/testsuite/gdb.threads/next-fork-other-thread.exp
+++ b/gdb/testsuite/gdb.threads/next-fork-other-thread.exp
@@ -16,6 +16,8 @@
# Test doing a "next" on a thread during which forks or vforks happen in other
# threads.
+require allow_fork_tests
+
standard_testfile
# Line where to stop the main thread.
diff --git a/gdb/testsuite/gdb.threads/pending-fork-event-detach-ns.exp b/gdb/testsuite/gdb.threads/pending-fork-event-detach-ns.exp
index e6e311e..29a011e 100644
--- a/gdb/testsuite/gdb.threads/pending-fork-event-detach-ns.exp
+++ b/gdb/testsuite/gdb.threads/pending-fork-event-detach-ns.exp
@@ -29,6 +29,8 @@
# parent thread from waitpid'ing it, preventing the main thread from joining
# it, prevent it from writing the flag file, failing the test.
+require allow_fork_tests
+
standard_testfile
if { [is_remote target] } {
diff --git a/gdb/testsuite/gdb.threads/pending-fork-event-detach.exp b/gdb/testsuite/gdb.threads/pending-fork-event-detach.exp
index 8e77ab0..e627241 100644
--- a/gdb/testsuite/gdb.threads/pending-fork-event-detach.exp
+++ b/gdb/testsuite/gdb.threads/pending-fork-event-detach.exp
@@ -34,6 +34,8 @@
# event, and erroneously create a new inferior for it. Once fixed, the child
# process' thread is hidden by whoever holds the pending fork event.
+require allow_fork_tests
+
standard_testfile .c -touch-file.c
set touch_file_bin $binfile-touch-file
diff --git a/gdb/testsuite/gdb.threads/thread-bp-deleted.exp b/gdb/testsuite/gdb.threads/thread-bp-deleted.exp
index 2eadd38..8cabb70 100644
--- a/gdb/testsuite/gdb.threads/thread-bp-deleted.exp
+++ b/gdb/testsuite/gdb.threads/thread-bp-deleted.exp
@@ -147,7 +147,7 @@ if {$is_remote} {
exp_continue
}
- -re "No threads match '99'\\.\r\n$gdb_prompt $" {
+ -re "No threads matched\\.\r\n$gdb_prompt $" {
if {!$saw_thread_exited && !$saw_bp_deleted && $attempt_count > 0} {
sleep 1
incr attempt_count -1
diff --git a/gdb/testsuite/gdb.threads/thread-execl.c b/gdb/testsuite/gdb.threads/thread-execl.c
index 403aa31..2d312d4 100644
--- a/gdb/testsuite/gdb.threads/thread-execl.c
+++ b/gdb/testsuite/gdb.threads/thread-execl.c
@@ -25,8 +25,9 @@ static const char *image;
void *
thread_execler (void *arg)
{
- /* Exec ourselves again. */
- if (execl (image, image, NULL) == -1)
+ /* Exec ourselves again. Pass an extra argument so that the
+ post-exec image knows to not re-exec yet again. */
+ if (execl (image, image, "1", NULL) == -1)
{
perror ("execl");
abort ();
@@ -40,6 +41,11 @@ main (int argc, char **argv)
{
pthread_t thread;
+ /* An extra argument means we're in the post-exec image, so we're
+ done. Don't re-exec again. */
+ if (argc > 1)
+ exit (0);
+
image = argv[0];
pthread_create (&thread, NULL, thread_execler, NULL);
diff --git a/gdb/testsuite/gdb.threads/threadapply.exp b/gdb/testsuite/gdb.threads/threadapply.exp
index c53db79..9110617 100644
--- a/gdb/testsuite/gdb.threads/threadapply.exp
+++ b/gdb/testsuite/gdb.threads/threadapply.exp
@@ -224,6 +224,8 @@ proc kill_and_remove_inferior {thread_set} {
# Test both "all" and a thread list, because those are implemented as
# different commands in GDB.
-foreach_with_prefix thread_set {"all" "1.1"} {
- kill_and_remove_inferior $thread_set
+if {[allow_multi_inferior_tests]} {
+ foreach_with_prefix thread_set {"all" "1.1"} {
+ kill_and_remove_inferior $thread_set
+ }
}
diff --git a/gdb/testsuite/gdb.threads/tls.exp b/gdb/testsuite/gdb.threads/tls.exp
index 1bc5df2..73fada7 100644
--- a/gdb/testsuite/gdb.threads/tls.exp
+++ b/gdb/testsuite/gdb.threads/tls.exp
@@ -159,7 +159,7 @@ gdb_test_multiple "print a_thread_local" "" {
-re -wrap "Cannot find thread-local variables on this target" {
kfail "gdb/25807" $gdb_test_name
}
- -re -wrap "Cannot read .a_thread_local. without registers" {
+ -re -wrap "Cannot (?:read|find address of TLS symbol) .a_thread_local. without registers" {
pass $gdb_test_name
}
}
diff --git a/gdb/testsuite/gdb.threads/vfork-follow-child-exec.exp b/gdb/testsuite/gdb.threads/vfork-follow-child-exec.exp
index e23db0a..0b95a75 100644
--- a/gdb/testsuite/gdb.threads/vfork-follow-child-exec.exp
+++ b/gdb/testsuite/gdb.threads/vfork-follow-child-exec.exp
@@ -16,6 +16,8 @@
# Test following a vfork child that execs, when the vfork parent is a
# threaded program, and it's a non-main thread that vforks.
+require allow_fork_tests
+
standard_testfile
if {[build_executable "failed to prepare" $testfile $srcfile {debug pthreads}]} {
diff --git a/gdb/testsuite/gdb.threads/vfork-follow-child-exit.exp b/gdb/testsuite/gdb.threads/vfork-follow-child-exit.exp
index a6b7f49..ced52df 100644
--- a/gdb/testsuite/gdb.threads/vfork-follow-child-exit.exp
+++ b/gdb/testsuite/gdb.threads/vfork-follow-child-exit.exp
@@ -16,6 +16,8 @@
# Test following a vfork child that exits, when the vfork parent is a
# threaded program, and it's a non-main thread that vforks.
+require allow_fork_tests
+
standard_testfile
if {[build_executable "failed to prepare" $testfile $srcfile {debug pthreads}]} {
diff --git a/gdb/testsuite/gdb.threads/vfork-multi-inferior.exp b/gdb/testsuite/gdb.threads/vfork-multi-inferior.exp
index fd081b3..1f87427 100644
--- a/gdb/testsuite/gdb.threads/vfork-multi-inferior.exp
+++ b/gdb/testsuite/gdb.threads/vfork-multi-inferior.exp
@@ -25,6 +25,10 @@
# To catch the bug, this test verifies that we can hit a breakpoint after a
# vfork call, while a second inferior runs in the background.
+require allow_fork_tests
+
+require allow_multi_inferior_tests
+
require !use_gdb_stub
standard_testfile .c -sleep.c
diff --git a/gdb/testsuite/gdb.threads/vfork-multi-thread.exp b/gdb/testsuite/gdb.threads/vfork-multi-thread.exp
index 2b9294d..61811ae 100644
--- a/gdb/testsuite/gdb.threads/vfork-multi-thread.exp
+++ b/gdb/testsuite/gdb.threads/vfork-multi-thread.exp
@@ -30,6 +30,8 @@
# breakpoints are removed, so the main thread would miss the breakpoint and run
# until exit.
+require allow_fork_tests
+
standard_testfile
if { [build_executable "failed to prepare" ${testfile} ${srcfile} {debug pthreads}] } {
diff --git a/gdb/testsuite/gdb.threads/watchpoint-fork.exp b/gdb/testsuite/gdb.threads/watchpoint-fork.exp
index 376ca2a..8e9b1c3 100644
--- a/gdb/testsuite/gdb.threads/watchpoint-fork.exp
+++ b/gdb/testsuite/gdb.threads/watchpoint-fork.exp
@@ -21,6 +21,8 @@
# must be done before starting the test so as to not disrupt the execution
# of the actual test.
+require allow_fork_tests
+
set allow_hw_watchpoint_tests_p [allow_hw_watchpoint_tests]
set testfile watchpoint-fork
diff --git a/gdb/testsuite/gdb.trace/tspeed.exp b/gdb/testsuite/gdb.trace/tspeed.exp
index 25862bf..be7f37e 100644
--- a/gdb/testsuite/gdb.trace/tspeed.exp
+++ b/gdb/testsuite/gdb.trace/tspeed.exp
@@ -17,7 +17,7 @@ load_lib "trace-support.exp"
require allow_shlib_tests
-# Do not run if gdbsever debug is enabled - the output file is many Gb.
+# Do not run if gdbserver debug is enabled - the output file is many Gb.
if [gdbserver_debug_enabled] {
return 0
}
diff --git a/gdb/testsuite/gdb.tui/corefile-run.exp b/gdb/testsuite/gdb.tui/corefile-run.exp
index 89a48b5..657fc83 100644
--- a/gdb/testsuite/gdb.tui/corefile-run.exp
+++ b/gdb/testsuite/gdb.tui/corefile-run.exp
@@ -18,6 +18,8 @@
#
# Ref.: https://bugzilla.redhat.com/show_bug.cgi?id=1765117
+require gcore_cmd_available
+
tuiterm_env
standard_testfile tui-layout.c
diff --git a/gdb/testsuite/gdb.tui/pr30056.exp b/gdb/testsuite/gdb.tui/pr30056.exp
index 1123593..3403033 100644
--- a/gdb/testsuite/gdb.tui/pr30056.exp
+++ b/gdb/testsuite/gdb.tui/pr30056.exp
@@ -76,12 +76,12 @@ save_vars { env(LC_ALL) } {
# open about this.
kfail cli/30498 $test
- # At this point we don't have a reponsive prompt. Send ^G to abort
+ # At this point we don't have a responsive prompt. Send ^G to abort
# the i-search.
send_gdb "\007"
}
- # We need a reponsive prompt here, to deal with the "monitor exit"
+ # We need a responsive prompt here, to deal with the "monitor exit"
# that native-extended-gdbserver will send. Check that we have a
# responsive prompt.
Term::command "echo \\n"
diff --git a/gdb/testsuite/gdb.tui/tui-focus.exp b/gdb/testsuite/gdb.tui/tui-focus.exp
index 4c9d2a0..26e5060 100644
--- a/gdb/testsuite/gdb.tui/tui-focus.exp
+++ b/gdb/testsuite/gdb.tui/tui-focus.exp
@@ -73,7 +73,7 @@ foreach spec {{src true} {cmd true} {status true} {regs false} \
}
}
-# Use the Python TUI API to exercise some of the ambigous window name
+# Use the Python TUI API to exercise some of the ambiguous window name
# handling parts of the 'focus' command.
Term::clean_restart 24 80 $binfile
if {[allow_python_tests]} {
diff --git a/gdb/testsuite/gdb.tui/tui-layout-asm.exp b/gdb/testsuite/gdb.tui/tui-layout-asm.exp
index ec78a0c..333276e 100644
--- a/gdb/testsuite/gdb.tui/tui-layout-asm.exp
+++ b/gdb/testsuite/gdb.tui/tui-layout-asm.exp
@@ -24,7 +24,9 @@ if {[build_executable "failed to prepare" ${testfile} ${srcfile}] == -1} {
return -1
}
-# PPC currently needs a minimum window width of 90 to work correctly.
+# The wider the window is, the less line truncation happens, so matching
+# pre-scroll to post-scroll lines is more accurate. But 100% accurate line
+# matching isn't a goal of the test-case.
set tui_asm_window_width 90
Term::clean_restart 24 ${tui_asm_window_width} $testfile
@@ -33,15 +35,41 @@ if {![Term::prepare_for_tui]} {
return
}
-# Helper proc, returns a count of the ' ' characters in STRING.
-proc count_whitespace { string } {
- return [expr {[llength [split $string { }]] - 1}]
-}
-
# This puts us into TUI mode, and should display the ASM window.
Term::command_no_prompt_prefix "layout asm"
Term::check_box_contents "check asm box contents" 0 0 ${tui_asm_window_width} 15 "<main>"
+set re_border [string_to_regexp "|"]
+
+proc drop_borders { line } {
+ # Drop left border.
+ set line [regsub -- ^$::re_border $line {}]
+ # Drop right border.
+ set line [regsub -- $::re_border$ $line {}]
+
+ return $line
+}
+
+proc lines_match { line1 line2 } {
+ set line1 [drop_borders $line1]
+ set line2 [drop_borders $line2]
+
+ foreach line [list $line1 $line2] re [list $line2 $line1] {
+ # Convert to regexp.
+ set re [string_to_regexp $re]
+
+ # Ignore whitespace mismatches.
+ regsub -all {\s+} $re {\s+} re
+
+ # Allow a substring match.
+ if { [regexp -- $re $line] } {
+ return 1
+ }
+ }
+
+ return 0
+}
+
# Scroll the ASM window down using the down arrow key. In an ideal
# world we'd like to use PageDown here, but currently our terminal
# library doesn't support such advanced things.
@@ -58,51 +86,55 @@ while (1) {
# below will just timeout. So for now we avoid testing the edge
# case.
if {[regexp -- "^\\| +\\|$" $line]} {
- # Second line is blank, we're at the end of the assembler.
- pass $testname
+ # Second line is blank, we're at the end of the assembly.
+ pass "$testname (end of assembly reached)"
break
}
# Send the down key to GDB.
send_gdb "\033\[B"
incr down_count
- set re_line [string_to_regexp $line]
- # Ignore whitespace mismatches.
- regsub -all {\s+} $re_line {\s+} re_line
+
+ # Get address from the line.
+ regexp \
+ [join \
+ [list \
+ ^ \
+ $re_border \
+ {\s+} \
+ ($hex) \
+ {\s+}] \
+ ""] \
+ $line \
+ match \
+ address
+
+ # Regexp to match line containing address.
+ set re_line \
+ [join \
+ [list \
+ ^ \
+ $re_border \
+ {\s+} \
+ $address \
+ {\s+} \
+ {[^\r\n]+} \
+ $re_border \
+ $] \
+ ""]
+
if {[Term::wait_for $re_line] \
- && [regexp $re_line [Term::get_line 1]]} {
+ && [lines_match $line [Term::get_line 1]]} {
# We scrolled successfully.
} else {
- if {[count_whitespace ${line}] != \
- [count_whitespace [Term::get_line 1]]} {
- # GDB's TUI assembler display will widen columns based on
- # the longest item that appears in a column on any line.
- # As we have just scrolled, and so revealed a new line, it
- # is possible that the width of some columns has changed.
- #
- # As a result it is possible that part of the line we were
- # expected to see in the output is now off the screen. And
- # this test will fail.
- #
- # This is unfortunate, but, right now, there's no easy way
- # to "lock" the format of the TUI assembler window. The
- # only option appears to be making the window width wider,
- # this can be done by adjusting TUI_ASM_WINDOW_WIDTH.
- verbose -log "WARNING: The following failure is probably due to the TUI window"
- verbose -log " width. See the comments in the test script for more"
- verbose -log " details."
- }
-
fail "$testname (scroll failed)"
Term::dump_screen
break
}
- if { $down_count > 250 } {
- # Maybe we should accept this as a pass in case a target
- # really does have loads of assembler to scroll through.
- fail "$testname (too much assembler)"
- Term::dump_screen
+ if { $down_count > 25 } {
+ # We've scrolled enough, we're done.
+ pass "$testname (scroll limit reached)"
break
}
}
diff --git a/gdb/testsuite/gdb.xml/bad-include.xml b/gdb/testsuite/gdb.xml/bad-include.xml
index f7a2b72..cd9cce3 100644
--- a/gdb/testsuite/gdb.xml/bad-include.xml
+++ b/gdb/testsuite/gdb.xml/bad-include.xml
@@ -1 +1 @@
-<xi:include href="nonexistant.xml"/>
+<xi:include href="nonexistent.xml"/>
diff --git a/gdb/testsuite/gdb.xml/tdesc-xinclude.exp b/gdb/testsuite/gdb.xml/tdesc-xinclude.exp
index 885d217..b934c80 100644
--- a/gdb/testsuite/gdb.xml/tdesc-xinclude.exp
+++ b/gdb/testsuite/gdb.xml/tdesc-xinclude.exp
@@ -43,7 +43,7 @@ set_arch "includes.xml" \
# This file contains a missing include. We should warn the user about
# it.
set_arch "bad-include.xml" \
- "warning:.*Could not load XML document \"nonexistant.xml\"$common_warn"
+ "warning:.*Could not load XML document \"nonexistent.xml\"$common_warn"
# Make sure we detect infinite loops, eventually.
set_arch "loop.xml" \
diff --git a/gdb/testsuite/lib/dwarf.exp b/gdb/testsuite/lib/dwarf.exp
index 46b39a1..3a182c2 100644
--- a/gdb/testsuite/lib/dwarf.exp
+++ b/gdb/testsuite/lib/dwarf.exp
@@ -678,6 +678,11 @@ namespace eval Dwarf {
}
}
close $fd
+
+ variable _constants
+
+ # Add DW_FORM_strx_id as alias of DW_FORM_strx.
+ _process_one_constant DW_FORM_strx_id $_constants(DW_FORM_strx)
}
proc _quote {string} {
@@ -823,6 +828,12 @@ namespace eval Dwarf {
DW_FORM_indirect -
DW_FORM_exprloc -
+ # Generate a DW_FORM_str index, but assume generation of .debug_str and
+ # .debug_str_offsets is taken care of elsewhere.
+ DW_FORM_strx_id {
+ _op .uleb128 $value
+ }
+
DW_FORM_strx -
DW_FORM_strx1 -
DW_FORM_strx2 -
@@ -1061,7 +1072,10 @@ namespace eval Dwarf {
}
proc _section {name {flags ""} {type ""}} {
- if {$flags == "" && $type == ""} {
+ if {$name == ".debug_str"} {
+ # Hard-code this because it's always desirable.
+ _emit " .section $name, \"MS\", %progbits, 1"
+ } elseif {$flags == "" && $type == ""} {
_emit " .section $name"
} elseif {$type == ""} {
_emit " .section $name, \"$flags\""
@@ -3068,6 +3082,24 @@ namespace eval Dwarf {
}
}
+ # Emit a .debug_sup section with the given file name and build-id.
+ # The buildid should be represented as a hexadecimal string, like
+ # "ffeeddcc".
+ proc debug_sup {is_sup filename buildid} {
+ _defer_output .debug_sup {
+ # The version.
+ _op .2byte 0x5
+ # Supplementary marker.
+ _op .byte $is_sup
+ _op .ascii [_quote $filename]
+ set len [expr {[string length $buildid] / 2}]
+ _op .uleb128 $len
+ foreach {a b} [split $buildid {}] {
+ _op .byte 0x$a$b
+ }
+ }
+ }
+
proc _note {type name hexdata} {
set namelen [expr [string length $name] + 1]
set datalen [expr [string length $hexdata] / 2]
@@ -3367,6 +3399,58 @@ namespace eval Dwarf {
debug_names_end:
}
+ # Add the strings in ARGS to the .debug_str section, and create a
+ # .debug_str_offsets section pointing to those strings.
+ # Current options are:
+ # dwo 0|1 - boolean indicating if the sections have the dwo suffix.
+ # default = 0 (no .dwo suffix)
+ # base_offset label
+ # - generate label, to be used in DW_AT_str_offsets_base.
+ # default = "" (don't generate a label).
+ proc debug_str_offsets { options args } {
+ parse_options {
+ { dwo 0 }
+ { base_offset "" }
+ }
+
+ if { $dwo } {
+ _section .debug_str.dwo
+ } else {
+ _section .debug_str
+ }
+
+ set num 0
+ foreach arg $args {
+ set str_label [_compute_label "str_${num}"]
+ define_label $str_label
+ _op .asciz \"$arg\" ".debug_str_offsets string $num"
+ incr num
+ }
+
+ declare_labels debug_str_offsets_start debug_str_offsets_end
+ set initial_length "$debug_str_offsets_end - $debug_str_offsets_start"
+
+ if { $dwo } {
+ _section .debug_str_offsets.dwo
+ } else {
+ _section .debug_str_offsets
+ }
+ _op .4byte $initial_length "Initial_length"
+ debug_str_offsets_start:
+ _op .2byte 0x5 "version"
+ _op .2byte 0x0 "padding"
+ if { $base_offset != "" } {
+ $base_offset:
+ }
+ set num 0
+ foreach arg $args {
+ set str_label [_compute_label "str_${num}"]
+ _op .4byte $str_label "string $num"
+ incr num
+ }
+ debug_str_offsets_end:
+ }
+
# The top-level interface to the DWARF assembler.
# OPTIONS is a list with an even number of elements containing
# option-name and option-value pairs.
diff --git a/gdb/testsuite/lib/gdb-python.exp b/gdb/testsuite/lib/gdb-python.exp
index b4eb40d..e026c1b 100644
--- a/gdb/testsuite/lib/gdb-python.exp
+++ b/gdb/testsuite/lib/gdb-python.exp
@@ -77,3 +77,24 @@ proc gdb_py_module_available { name } {
return ${available}
}
+
+# Run a memory leak test within the Python script FILENAME. This proc
+# checks that the required Python modules are available, sets up the
+# syspath so that the helper module can be found (in the same
+# directory as FILENAME), then loads FILENAME to run the test.
+proc gdb_py_run_memory_leak_test { filename testname } {
+ if { ![gdb_py_module_available "tracemalloc"] } {
+ unsupported "$testname (tracemalloc module not available)"
+ }
+
+ gdb_test_no_output -nopass "python import sys"
+ gdb_test_no_output -nopass \
+ "python sys.path.insert(0, \"[file dirname $filename]\")" \
+ "setup sys.path"
+
+ set pyfile [gdb_remote_download host ${filename}]
+
+ # Source the Python script, this runs the test, and either prints
+ # PASS, or throws an exception.
+ gdb_test "source ${pyfile}" "^PASS" $testname
+}
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index c37cc89..777d64d 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -269,6 +269,13 @@ if ![info exists INTERNAL_GDBFLAGS] {
}
set INTERNAL_GDBFLAGS [append_gdb_data_directory_option $INTERNAL_GDBFLAGS]
+
+ # Handle the case that "interactive-mode auto" reports off.
+ append INTERNAL_GDBFLAGS { -iex "set interactive-mode on"}
+
+ if { [ishost "*-*-mingw*"] } {
+ append INTERNAL_GDBFLAGS { -iex "maint set console-translation-mode binary"}
+ }
}
# The variable gdb_prompt is a regexp which matches the gdb prompt.
@@ -1026,7 +1033,10 @@ proc command_to_message { command } {
# should not be anchored at the end of the buffer. This means that the
# pattern can match even if there is stuff output after the prompt. Does not
# have any effect if -prompt is specified.
-# -lbl specifies that line-by-line matching will be used.
+# -lbl specifies that line-by-line matching will be used. This means
+# that lines from GDB not matched by any pattern will be consumed from
+# the output buffer. This helps avoid buffer overflows and timeouts
+# when testing verbose commands.
# EXPECT_ARGUMENTS will be fed to expect in addition to the standard
# patterns. Pattern elements will be evaluated in the caller's
# context; action elements will be executed in the caller's context.
@@ -1124,6 +1134,7 @@ proc gdb_test_multiple { command message args } {
global any_spawn_id
set line_by_line 0
+ set lbl_anchor_re ""
set prompt_regexp ""
set prompt_anchor 1
for {set i 0} {$i < [llength $args]} {incr i} {
@@ -1133,6 +1144,7 @@ proc gdb_test_multiple { command message args } {
set prompt_regexp [lindex $args $i]
} elseif { $arg == "-lbl" } {
set line_by_line 1
+ set lbl_anchor_re "^"
} elseif { $arg == "-no-prompt-anchor" } {
set prompt_anchor 0
} else {
@@ -1391,7 +1403,7 @@ proc gdb_test_multiple { command message args } {
fail "$errmsg"
set result -1
}
- -re "\r\n$prompt_regexp" {
+ -re "${lbl_anchor_re}\r\n$prompt_regexp" {
if {![string match "" $message]} {
fail "$message"
}
@@ -2301,7 +2313,8 @@ proc default_gdb_exit {} {
}
}
- if { [is_remote host] && [board_info host exists fileid] } {
+ if { ([is_remote host] && [board_info host exists fileid])
+ || [istarget *-*-mingw*] } {
send_gdb "quit\n"
gdb_expect 10 {
-re "y or n" {
@@ -2314,7 +2327,9 @@ proc default_gdb_exit {} {
}
if ![is_remote host] {
- remote_close host
+ if {[catch { remote_close host } message]} {
+ warning "closing gdb failed with: $message"
+ }
}
unset gdb_spawn_id
unset ::gdb_tty_name
@@ -2577,6 +2592,17 @@ proc default_gdb_start { } {
# Output with -q, and bracketed paste mode enabled, see above.
verbose "GDB initialized."
}
+ -re "^\033\\\[6n$gdb_prompt $" {
+ # With MSYS2 and TERM={xterm,ansi}, I get:
+ #
+ # builtin_spawn gdb -q ...
+ # ^[[6n(gdb)
+ #
+ # We set TERM to dumb by default to avoid this, but some
+ # test-cases set TERM to xterm or ansi, in which case we get this
+ # output.
+ verbose "GDB initialized."
+ }
-re "$gdb_prompt $" {
perror "GDB never initialized."
unset gdb_spawn_id
@@ -3758,7 +3784,8 @@ proc supports_reverse {} {
|| [istarget "aarch64*-*-linux*"]
|| [istarget "loongarch*-*-linux*"]
|| [istarget "powerpc*-*-linux*"]
- || [istarget "s390*-*-linux*"] } {
+ || [istarget "s390*-*-linux*"]
+ || [istarget "riscv*-*-*"] } {
return 1
}
@@ -5086,6 +5113,40 @@ proc skip_inline_var_tests {} {
return 0
}
+# Return whether we allow running fork-related testcases. Targets
+# that don't even have any concept of fork will just fail to compile
+# the testcases and skip the tests that way if this returns true for
+# them. Unix targets that do have a fork system call, but don't
+# support intercepting forks will want to return false here, otherwise
+# the testcases that exercise fork may hit a number of long cascading
+# time out sequences.
+
+proc allow_fork_tests {} {
+ if {[istarget "*-*-cygwin*"] || [istarget "*-*-mingw*"]} {
+ return 0
+ }
+
+ return 1
+}
+
+# Return whether we allow running testcases that want to debug
+# multiple inferiors with the same target. Not all targets support
+# this. Note that some tests add a second inferior but never start
+# it. Those tests should not be skipped due to this proc returning
+# false.
+
+proc allow_multi_inferior_tests {} {
+ if {[istarget "*-*-cygwin*"] || [istarget "*-*-mingw*"]} {
+ return 0
+ }
+
+ if {[use_gdb_stub]} {
+ return 0
+ }
+
+ return 1
+}
+
# Return a 1 if we should run tests that require hardware breakpoints
proc allow_hw_breakpoint_tests {} {
@@ -6919,7 +6980,7 @@ proc kill_wait_spawned_process { proc_spawn_id } {
proc spawn_id_get_pid { spawn_id } {
set testpid [exp_pid -i $spawn_id]
- if { [istarget "*-*-cygwin*"] } {
+ if { [istarget "*-*-cygwin*"] || [istarget "*-*-mingw*"] } {
# testpid is the Cygwin PID, GDB uses the Windows PID, which
# might be different due to the way fork/exec works.
set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
@@ -7006,6 +7067,24 @@ proc gdb_load_cmd { args } {
return -1
}
+# Return non-zero if 'gcore' command is available.
+gdb_caching_proc gcore_cmd_available { } {
+ gdb_exit
+ gdb_start
+
+ # Does this gdb support gcore?
+ gdb_test_multiple "help gcore" "" {
+ -re -wrap "Undefined command: .*" {
+ return 0
+ }
+ -re -wrap "Save a core file .*" {
+ return 1
+ }
+ }
+
+ return 0
+}
+
# Invoke "gcore". CORE is the name of the core file to write. TEST
# is the name of the test case. This will return 1 if the core file
# was created, 0 otherwise. If this fails to make a core file because
@@ -7470,6 +7549,22 @@ proc default_gdb_init { test_file_name } {
setenv LC_CTYPE C
setenv LANG C
+ # With MSYS2 and TERM={xterm,ansi}, I get:
+ #
+ # builtin_spawn gdb -q ...
+ # ^[[6n(gdb)
+ #
+ # While we're addressing this in default_gdb_start, this is not specific
+ # to gdb, other tools produce the same CSI sequence, and consequently we
+ # run into trouble in other places (like get_compiler_info).
+ #
+ # Set TERM to dumb to prevent the '^[[6n' from occurring.
+ #
+ # We could do this only for ishost *-*-mingw*, but that introduces
+ # inconsistency between platforms, with test-cases passing on one platform
+ # but failing on the other. So, we do this for all platforms.
+ setenv TERM dumb
+
# Don't let a .inputrc file or an existing setting of INPUTRC mess
# up the test results. Certain tests (style tests and TUI tests)
# want to set the terminal to a non-"dumb" value, and for those we
@@ -9285,7 +9380,12 @@ proc core_find {binfile {deletefiles {}} {arg ""}} {
file mkdir $coredir
catch "system \"(cd ${coredir}; ulimit -c unlimited; ${binfile} ${arg}; true) >/dev/null 2>&1\""
# remote_exec host "${binfile}"
- foreach i "${coredir}/core ${coredir}/core.coremaker.c ${binfile}.core" {
+ set binfile_basename [file tail $binfile]
+ foreach i [list \
+ ${coredir}/core \
+ ${coredir}/core.coremaker.c \
+ ${coredir}/${binfile_basename}.core \
+ ${coredir}/${binfile_basename}.exe.core] {
if [remote_file build exists $i] {
remote_exec build "mv $i $destcore"
set found 1
diff --git a/gdb/testsuite/lib/gdbserver-support.exp b/gdb/testsuite/lib/gdbserver-support.exp
index c285072..2389206 100644
--- a/gdb/testsuite/lib/gdbserver-support.exp
+++ b/gdb/testsuite/lib/gdbserver-support.exp
@@ -69,7 +69,7 @@ proc gdb_target_cmd_ext { targetname serialport {additional_text ""} } {
}
-re "Non-stop mode requested, but remote does not support non-stop.*$gdb_prompt $" {
verbose "remote does not support non-stop"
- return 1
+ return 2
}
-re "Remote MIPS debugging.*$additional_text.*$gdb_prompt" {
verbose "Set target to $targetname"
diff --git a/gdb/testsuite/make-check-all.sh b/gdb/testsuite/make-check-all.sh
index c2fbadb..ab72574 100755
--- a/gdb/testsuite/make-check-all.sh
+++ b/gdb/testsuite/make-check-all.sh
@@ -192,7 +192,7 @@ do_tests ()
# Run make check.
make $maketarget \
- RUNTESTFLAGS="${rtf[*]} ${tests[*]}" \
+ RUNTESTFLAGS="${rtf[*]}" TESTS="${tests[*]}" \
2>&1 \
| summary
@@ -216,7 +216,7 @@ do_tests ()
cp gdb.sum gdb.log "$dir"
# Record the 'make check' command to enable easy re-running.
- echo "make $maketarget RUNTESTFLAGS=\"${rtf[*]} ${tests[*]}\"" \
+ echo "make $maketarget RUNTESTFLAGS=\"${rtf[*]}\" TESTS=\"${tests[*]}\"" \
> "$dir/make-check.sh"
fi
}
diff --git a/gdb/thread.c b/gdb/thread.c
index b659463..920d8dc 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -1038,6 +1038,37 @@ pc_in_thread_step_range (CORE_ADDR pc, struct thread_info *thread)
&& pc < thread->control.step_range_end);
}
+/* The options for the "info threads" command. */
+
+struct info_threads_opts
+{
+ /* For "-gid". */
+ bool show_global_ids = false;
+ /* For "-running". */
+ bool show_running_threads = false;
+ /* For "-stopped". */
+ bool show_stopped_threads = false;
+};
+
+static const gdb::option::option_def info_threads_option_defs[] = {
+
+ gdb::option::flag_option_def<info_threads_opts> {
+ "gid",
+ [] (info_threads_opts *opts) { return &opts->show_global_ids; },
+ N_("Show global thread IDs."),
+ },
+ gdb::option::flag_option_def<info_threads_opts> {
+ "running",
+ [] (info_threads_opts *opts) { return &opts->show_running_threads; },
+ N_("Show running threads only."),
+ },
+ gdb::option::flag_option_def<info_threads_opts> {
+ "stopped",
+ [] (info_threads_opts *opts) { return &opts->show_stopped_threads; },
+ N_("Show stopped threads only."),
+ },
+};
+
/* Helper for print_thread_info. Returns true if THR should be
printed. If REQUESTED_THREADS, a list of GDB ids/ranges, is not
NULL, only print THR if its ID is included in the list. GLOBAL_IDS
@@ -1046,11 +1077,13 @@ pc_in_thread_step_range (CORE_ADDR pc, struct thread_info *thread)
is a thread from the process PID. Otherwise, threads from all
attached PIDs are printed. If both REQUESTED_THREADS is not NULL
and PID is not -1, then the thread is printed if it belongs to the
- specified process. Otherwise, an error is raised. */
+ specified process. Otherwise, an error is raised. OPTS is the
+ options of the "info threads" command. */
static bool
-should_print_thread (const char *requested_threads, int default_inf_num,
- int global_ids, int pid, struct thread_info *thr)
+should_print_thread (const char *requested_threads,
+ const info_threads_opts &opts, int default_inf_num,
+ int global_ids, int pid, thread_info *thr)
{
if (requested_threads != NULL && *requested_threads != '\0')
{
@@ -1075,7 +1108,17 @@ should_print_thread (const char *requested_threads, int default_inf_num,
if (thr->state == THREAD_EXITED)
return false;
- return true;
+ bool is_stopped = (thr->state == THREAD_STOPPED);
+ if (opts.show_stopped_threads && is_stopped)
+ return true;
+
+ bool is_running = (thr->state == THREAD_RUNNING);
+ if (opts.show_running_threads && is_running)
+ return true;
+
+ /* If the user did not pass a filter flag, show the thread. */
+ return (!opts.show_stopped_threads
+ && !opts.show_running_threads);
}
/* Return the string to display in "info threads"'s "Target Id"
@@ -1104,8 +1147,8 @@ thread_target_id_str (thread_info *tp)
static void
do_print_thread (ui_out *uiout, const char *requested_threads,
- int global_ids, int pid, int show_global_ids,
- int default_inf_num, thread_info *tp,
+ const info_threads_opts &opts, int global_ids,
+ int pid, int default_inf_num, thread_info *tp,
thread_info *current_thread)
{
int core;
@@ -1114,7 +1157,7 @@ do_print_thread (ui_out *uiout, const char *requested_threads,
if (current_thread != nullptr)
switch_to_thread (current_thread);
- if (!should_print_thread (requested_threads, default_inf_num,
+ if (!should_print_thread (requested_threads, opts, default_inf_num,
global_ids, pid, tp))
return;
@@ -1130,7 +1173,7 @@ do_print_thread (ui_out *uiout, const char *requested_threads,
uiout->field_string ("id-in-tg", print_thread_id (tp));
}
- if (show_global_ids || uiout->is_mi_like_p ())
+ if (opts.show_global_ids || uiout->is_mi_like_p ())
uiout->field_signed ("id", tp->global_num);
/* Switch to the thread (and inferior / target). */
@@ -1191,23 +1234,22 @@ do_print_thread (ui_out *uiout, const char *requested_threads,
static void
print_thread (ui_out *uiout, const char *requested_threads,
- int global_ids, int pid, int show_global_ids,
+ const info_threads_opts &opts, int global_ids, int pid,
int default_inf_num, thread_info *tp, thread_info *current_thread)
{
do_with_buffered_output (do_print_thread, uiout, requested_threads,
- global_ids, pid, show_global_ids,
- default_inf_num, tp, current_thread);
+ opts, global_ids, pid, default_inf_num, tp,
+ current_thread);
}
/* Like print_thread_info, but in addition, GLOBAL_IDS indicates
whether REQUESTED_THREADS is a list of global or per-inferior
- thread ids. */
+ thread ids. OPTS is the options of the "info threads" command. */
static void
print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
- int global_ids, int pid,
- int show_global_ids)
+ const info_threads_opts &opts, int global_ids, int pid)
{
int default_inf_num = current_inferior ()->num;
@@ -1235,19 +1277,21 @@ print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
list_emitter.emplace (uiout, "threads");
else
{
- int n_threads = 0;
+ int n_matching_threads = 0;
/* The width of the "Target Id" column. Grown below to
accommodate the largest entry. */
size_t target_id_col_width = 17;
for (thread_info *tp : all_threads ())
{
+ any_thread = true;
+
/* In case REQUESTED_THREADS contains $_thread. */
if (current_thread != nullptr)
switch_to_thread (current_thread);
- if (!should_print_thread (requested_threads, default_inf_num,
- global_ids, pid, tp))
+ if (!should_print_thread (requested_threads, opts,
+ default_inf_num, global_ids, pid, tp))
continue;
/* Switch inferiors so we're looking at the right
@@ -1258,25 +1302,24 @@ print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
= std::max (target_id_col_width,
thread_target_id_str (tp).size ());
- ++n_threads;
+ ++n_matching_threads;
}
- if (n_threads == 0)
+ if (n_matching_threads == 0)
{
- if (requested_threads == NULL || *requested_threads == '\0')
+ if (!any_thread)
uiout->message (_("No threads.\n"));
else
- uiout->message (_("No threads match '%s'.\n"),
- requested_threads);
+ uiout->message (_("No threads matched.\n"));
return;
}
- table_emitter.emplace (uiout, show_global_ids ? 5 : 4,
- n_threads, "threads");
+ table_emitter.emplace (uiout, opts.show_global_ids ? 5 : 4,
+ n_matching_threads, "threads");
uiout->table_header (1, ui_left, "current", "");
uiout->table_header (4, ui_left, "id-in-tg", "Id");
- if (show_global_ids)
+ if (opts.show_global_ids)
uiout->table_header (4, ui_left, "id", "GId");
uiout->table_header (target_id_col_width, ui_left,
"target-id", "Target Id");
@@ -1287,13 +1330,11 @@ print_thread_info_1 (struct ui_out *uiout, const char *requested_threads,
for (inferior *inf : all_inferiors ())
for (thread_info *tp : inf->threads ())
{
- any_thread = true;
-
if (tp == current_thread && tp->state == THREAD_EXITED)
current_exited = true;
- print_thread (uiout, requested_threads, global_ids, pid,
- show_global_ids, default_inf_num, tp, current_thread);
+ print_thread (uiout, requested_threads, opts, global_ids, pid,
+ default_inf_num, tp, current_thread);
}
/* This end scope restores the current thread and the frame
@@ -1322,27 +1363,10 @@ void
print_thread_info (struct ui_out *uiout, const char *requested_threads,
int pid)
{
- print_thread_info_1 (uiout, requested_threads, 1, pid, 0);
+ info_threads_opts opts;
+ print_thread_info_1 (uiout, requested_threads, opts, 1, pid);
}
-/* The options for the "info threads" command. */
-
-struct info_threads_opts
-{
- /* For "-gid". */
- bool show_global_ids = false;
-};
-
-static const gdb::option::option_def info_threads_option_defs[] = {
-
- gdb::option::flag_option_def<info_threads_opts> {
- "gid",
- [] (info_threads_opts *opts) { return &opts->show_global_ids; },
- N_("Show global thread IDs."),
- },
-
-};
-
/* Create an option_def_group for the "info threads" options, with
IT_OPTS as context. */
@@ -1367,7 +1391,7 @@ info_threads_command (const char *arg, int from_tty)
gdb::option::process_options
(&arg, gdb::option::PROCESS_OPTIONS_UNKNOWN_IS_ERROR, grp);
- print_thread_info_1 (current_uiout, arg, 0, -1, it_opts.show_global_ids);
+ print_thread_info_1 (current_uiout, arg, it_opts, 0, -1);
}
/* Completer for the "info threads" command. */
@@ -2287,9 +2311,7 @@ static const struct internalvar_funcs inferior_thread_count_funcs =
NULL,
};
-void _initialize_thread ();
-void
-_initialize_thread ()
+INIT_GDB_FILE (thread)
{
static struct cmd_list_element *thread_apply_list = NULL;
cmd_list_element *c;
diff --git a/gdb/tic6x-linux-tdep.c b/gdb/tic6x-linux-tdep.c
index 280d46d..5b3d402 100644
--- a/gdb/tic6x-linux-tdep.c
+++ b/gdb/tic6x-linux-tdep.c
@@ -169,7 +169,7 @@ tic6x_uclinux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
linux_init_abi (info, gdbarch, 0);
/* Shared library handling. */
- set_gdbarch_so_ops (gdbarch, &dsbt_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_dsbt_solib_ops);
tdep->syscall_next_pc = tic6x_linux_syscall_next_pc;
@@ -203,9 +203,7 @@ tic6x_uclinux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
&tic6x_linux_rt_sigreturn_tramp_frame);
}
-void _initialize_tic6x_linux_tdep ();
-void
-_initialize_tic6x_linux_tdep ()
+INIT_GDB_FILE (tic6x_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_tic6x, 0, GDB_OSABI_LINUX,
tic6x_uclinux_init_abi);
diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
index 062a974..2ab8dac 100644
--- a/gdb/tic6x-tdep.c
+++ b/gdb/tic6x-tdep.c
@@ -1293,9 +1293,7 @@ tic6x_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_tic6x_tdep ();
-void
-_initialize_tic6x_tdep ()
+INIT_GDB_FILE (tic6x_tdep)
{
gdbarch_register (bfd_arch_tic6x, tic6x_gdbarch_init);
}
diff --git a/gdb/tilegx-linux-nat.c b/gdb/tilegx-linux-nat.c
index bd077b2..99f2cc4 100644
--- a/gdb/tilegx-linux-nat.c
+++ b/gdb/tilegx-linux-nat.c
@@ -163,9 +163,7 @@ tilegx_linux_nat_target::store_registers (struct regcache *regcache,
perror_with_name (_("Couldn't write registers"));
}
-void _initialize_tile_linux_nat ();
-void
-_initialize_tile_linux_nat ()
+INIT_GDB_FILE (tile_linux_nat)
{
linux_target = &the_tilegx_linux_nat_target;
add_inf_child_target (&the_tilegx_linux_nat_target);
diff --git a/gdb/tilegx-linux-tdep.c b/gdb/tilegx-linux-tdep.c
index a0e6954..f54e280 100644
--- a/gdb/tilegx-linux-tdep.c
+++ b/gdb/tilegx-linux-tdep.c
@@ -19,6 +19,7 @@
#include "osabi.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "glibc-tdep.h"
#include "solib-svr4.h"
#include "symtab.h"
@@ -119,11 +120,9 @@ tilegx_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
/* GNU/Linux uses SVR4-style shared libraries. */
if (arch_size == 32)
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
else
- set_solib_svr4_fetch_link_map_offsets (gdbarch,
- linux_lp64_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_lp64_svr4_solib_ops);
/* Enable TLS support. */
set_gdbarch_fetch_tls_load_module_address (gdbarch,
@@ -134,9 +133,7 @@ tilegx_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_skip_solib_resolver (gdbarch, glibc_skip_solib_resolver);
}
-void _initialize_tilegx_linux_tdep ();
-void
-_initialize_tilegx_linux_tdep ()
+INIT_GDB_FILE (tilegx_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_tilegx, bfd_mach_tilegx, GDB_OSABI_LINUX,
tilegx_linux_init_abi);
diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c
index 4922fff..a153f65 100644
--- a/gdb/tilegx-tdep.c
+++ b/gdb/tilegx-tdep.c
@@ -1021,9 +1021,7 @@ tilegx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_tilegx_tdep ();
-void
-_initialize_tilegx_tdep ()
+INIT_GDB_FILE (tilegx_tdep)
{
gdbarch_register (bfd_arch_tilegx, tilegx_gdbarch_init);
}
diff --git a/gdb/top.c b/gdb/top.c
index 6adef46..72d1953 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -415,7 +415,7 @@ wait_sync_command_done (void)
point. */
scoped_enable_commit_resumed enable ("sync wait");
- while (gdb_do_one_event () >= 0)
+ while (current_interpreter ()->do_one_event () >= 0)
if (ui->prompt_state != PROMPT_BLOCKED)
break;
}
@@ -1031,7 +1031,7 @@ gdb_readline_wrapper (const char *prompt)
(*after_char_processing_hook) ();
gdb_assert (after_char_processing_hook == NULL);
- while (gdb_do_one_event () >= 0)
+ while (current_interpreter ()->do_one_event () >= 0)
if (gdb_readline_wrapper_done)
break;
@@ -2347,9 +2347,7 @@ gdb_init ()
init_colorsupport_var ();
}
-void _initialize_top ();
-void
-_initialize_top ()
+INIT_GDB_FILE (top)
{
/* Determine a default value for the history filename. */
const char *tmpenv = getenv ("GDBHISTFILE");
diff --git a/gdb/tracectf.c b/gdb/tracectf.c
index 1650e67..0f80d08 100644
--- a/gdb/tracectf.c
+++ b/gdb/tracectf.c
@@ -1174,7 +1174,7 @@ ctf_target_open (const char *args, int from_tty)
merge_uploaded_trace_state_variables (&uploaded_tsvs);
merge_uploaded_tracepoints (&uploaded_tps);
- post_create_inferior (from_tty);
+ post_create_inferior (from_tty, true);
}
/* This is the implementation of target_ops method to_close. Destroy
@@ -1717,9 +1717,7 @@ ctf_target::traceframe_info ()
/* module initialization */
-void _initialize_ctf ();
-void
-_initialize_ctf ()
+INIT_GDB_FILE (ctf)
{
#if HAVE_LIBBABELTRACE
add_target (ctf_target_info, ctf_target_open,
diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c
index c2b5e3b..a45001c 100644
--- a/gdb/tracefile-tfile.c
+++ b/gdb/tracefile-tfile.c
@@ -194,12 +194,12 @@ tfile_write_status (struct trace_file_writer *self,
if (ts->start_time)
{
fprintf (writer->fp, ";starttime:%s",
- phex_nz (ts->start_time, sizeof (ts->start_time)));
+ phex_nz (ts->start_time));
}
if (ts->stop_time)
{
fprintf (writer->fp, ";stoptime:%s",
- phex_nz (ts->stop_time, sizeof (ts->stop_time)));
+ phex_nz (ts->stop_time));
}
if (ts->notes != NULL)
{
@@ -254,7 +254,7 @@ tfile_write_uploaded_tp (struct trace_file_writer *self,
char buf[MAX_TRACE_UPLOAD];
fprintf (writer->fp, "tp T%x:%s:%c:%x:%x",
- utp->number, phex_nz (utp->addr, sizeof (utp->addr)),
+ utp->number, phex_nz (utp->addr),
(utp->enabled ? 'E' : 'D'), utp->step, utp->pass);
if (utp->type == bp_fast_tracepoint)
fprintf (writer->fp, ":F%x", utp->orig_size);
@@ -265,10 +265,10 @@ tfile_write_uploaded_tp (struct trace_file_writer *self,
fprintf (writer->fp, "\n");
for (const auto &act : utp->actions)
fprintf (writer->fp, "tp A%x:%s:%s\n",
- utp->number, phex_nz (utp->addr, sizeof (utp->addr)), act.get ());
+ utp->number, phex_nz (utp->addr), act.get ());
for (const auto &act : utp->step_actions)
fprintf (writer->fp, "tp S%x:%s:%s\n",
- utp->number, phex_nz (utp->addr, sizeof (utp->addr)), act.get ());
+ utp->number, phex_nz (utp->addr), act.get ());
if (utp->at_string)
{
encode_source_string (utp->number, utp->addr,
@@ -290,7 +290,7 @@ tfile_write_uploaded_tp (struct trace_file_writer *self,
fprintf (writer->fp, "tp Z%s\n", buf);
}
fprintf (writer->fp, "tp V%x:%s:%x:%s\n",
- utp->number, phex_nz (utp->addr, sizeof (utp->addr)),
+ utp->number, phex_nz (utp->addr),
utp->hit_count,
phex_nz (utp->traceframe_usage,
sizeof (utp->traceframe_usage)));
@@ -567,7 +567,7 @@ tfile_target_open (const char *arg, int from_tty)
merge_uploaded_tracepoints (&uploaded_tps);
- post_create_inferior (from_tty);
+ post_create_inferior (from_tty, true);
}
/* Interpret the given line from the definitions part of the trace
@@ -1116,9 +1116,7 @@ tfile_append_tdesc_line (const char *line)
trace_tdesc += "\n";
}
-void _initialize_tracefile_tfile ();
-void
-_initialize_tracefile_tfile ()
+INIT_GDB_FILE (tracefile_tfile)
{
add_target (tfile_target_info, tfile_target_open,
filename_maybe_quoted_completer);
diff --git a/gdb/tracefile.c b/gdb/tracefile.c
index dac2eb7..19b4d1e 100644
--- a/gdb/tracefile.c
+++ b/gdb/tracefile.c
@@ -473,9 +473,7 @@ tracefile_target::get_trace_status (struct trace_status *ts)
return -1;
}
-void _initialize_tracefile ();
-void
-_initialize_tracefile ()
+INIT_GDB_FILE (tracefile)
{
add_com ("tsave", class_trace, tsave_command, _("\
Save the trace data to a file.\n\
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index a2f1a75..c0f1eae 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -2818,7 +2818,7 @@ encode_source_string (int tpnum, ULONGEST addr,
if (80 + strlen (srctype) > buf_size)
error (_("Buffer too small for source encoding"));
sprintf (buf, "%x:%s:%s:%x:%x:",
- tpnum, phex_nz (addr, sizeof (addr)),
+ tpnum, phex_nz (addr),
srctype, 0, (int) strlen (src));
if (strlen (buf) + strlen (src) * 2 >= buf_size)
error (_("Source string too long for buffer"));
@@ -3919,9 +3919,7 @@ static const struct internalvar_funcs sdata_funcs =
cmd_list_element *while_stepping_cmd_element = nullptr;
/* module initialization */
-void _initialize_tracepoint ();
-void
-_initialize_tracepoint ()
+INIT_GDB_FILE (tracepoint)
{
struct cmd_list_element *c;
diff --git a/gdb/tui/tui-disasm.c b/gdb/tui/tui-disasm.c
index 5488760..627f71c 100644
--- a/gdb/tui/tui-disasm.c
+++ b/gdb/tui/tui-disasm.c
@@ -546,9 +546,7 @@ run_tests ()
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_tui_disasm ();
-void
-_initialize_tui_disasm ()
+INIT_GDB_FILE (tui_disasm)
{
#if GDB_SELF_TEST
selftests::register_test ("tui-disasm", selftests::tui::disasm::run_tests);
diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c
index 814ddac..024fedd 100644
--- a/gdb/tui/tui-hooks.c
+++ b/gdb/tui/tui-hooks.c
@@ -262,9 +262,7 @@ tui_remove_hooks (void)
tui_attach_detach_observers (false);
}
-void _initialize_tui_hooks ();
-void
-_initialize_tui_hooks ()
+INIT_GDB_FILE (tui_hooks)
{
/* Install the permanent hooks. */
gdb::observers::new_objfile.attach (tui_new_objfile_hook, "tui-hooks");
diff --git a/gdb/tui/tui-interp.c b/gdb/tui/tui-interp.c
index 53acf82..3d0e152 100644
--- a/gdb/tui/tui-interp.c
+++ b/gdb/tui/tui-interp.c
@@ -161,9 +161,7 @@ tui_interp_factory (const char *name)
return new tui_interp (name);
}
-void _initialize_tui_interp ();
-void
-_initialize_tui_interp ()
+INIT_GDB_FILE (tui_interp)
{
interp_factory_register (INTERP_TUI, tui_interp_factory);
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 73ba0c6..558055d 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -1294,9 +1294,7 @@ tui_new_layout_command (const char *spec, int from_tty)
/* Function to initialize gdb commands, for tui window layout
manipulation. */
-void _initialize_tui_layout ();
-void
-_initialize_tui_layout ()
+INIT_GDB_FILE (tui_layout)
{
struct cmd_list_element *layout_cmd
= add_basic_prefix_cmd ("layout", class_tui, _("\
diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c
index 0b8cb85..ac2757a 100644
--- a/gdb/tui/tui-regs.c
+++ b/gdb/tui/tui-regs.c
@@ -566,9 +566,7 @@ tui_reggroup_completer (struct cmd_list_element *ignore,
complete_on_enum (tracker, extra, text, word);
}
-void _initialize_tui_regs ();
-void
-_initialize_tui_regs ()
+INIT_GDB_FILE (tui_regs)
{
struct cmd_list_element **tuicmd, *cmd;
diff --git a/gdb/tui/tui-status.c b/gdb/tui/tui-status.c
index 484f4e5..c2d3873 100644
--- a/gdb/tui/tui-status.c
+++ b/gdb/tui/tui-status.c
@@ -325,9 +325,7 @@ tui_update_command (const char *arg, int from_tty)
/* Function to initialize gdb commands, for tui window stack
manipulation. */
-void _initialize_tui_stack ();
-void
-_initialize_tui_stack ()
+INIT_GDB_FILE (tui_stack)
{
add_com ("update", class_tui, tui_update_command,
_("\
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index f44600d..d4fbbf1 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -1091,9 +1091,7 @@ bool tui_left_margin_verbose = false;
/* Function to initialize gdb commands, for tui window
manipulation. */
-void _initialize_tui_win ();
-void
-_initialize_tui_win ()
+INIT_GDB_FILE (tui_win)
{
static struct cmd_list_element *tui_setlist;
static struct cmd_list_element *tui_showlist;
diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c
index 2c7a6a0..5883d6c 100644
--- a/gdb/tui/tui.c
+++ b/gdb/tui/tui.c
@@ -618,9 +618,7 @@ tui_get_command_dimension (unsigned int *width,
return true;
}
-void _initialize_tui ();
-void
-_initialize_tui ()
+INIT_GDB_FILE (tui)
{
struct cmd_list_element **tuicmd;
diff --git a/gdb/typeprint.c b/gdb/typeprint.c
index 4bc5947..ef0c5aa 100644
--- a/gdb/typeprint.c
+++ b/gdb/typeprint.c
@@ -735,9 +735,7 @@ Display of struct members offsets and sizes in hexadecimal is %s\n"),
value);
}
-void _initialize_typeprint ();
-void
-_initialize_typeprint ()
+INIT_GDB_FILE (typeprint)
{
struct cmd_list_element *c;
diff --git a/gdb/ui-file.c b/gdb/ui-file.c
index 09e8b0b..f86b6b1 100644
--- a/gdb/ui-file.c
+++ b/gdb/ui-file.c
@@ -88,18 +88,6 @@ ui_file::emit_style_escape (const ui_file_style &style)
/* See ui-file.h. */
void
-ui_file::reset_style ()
-{
- if (can_emit_style_escape ())
- {
- m_applied_style = ui_file_style ();
- this->puts (m_applied_style.to_ansi ().c_str ());
- }
-}
-
-/* See ui-file.h. */
-
-void
ui_file::printchar (int c, int quoter, bool async_safe)
{
char buf[4];
diff --git a/gdb/ui-file.h b/gdb/ui-file.h
index 351cf1f..3919e52 100644
--- a/gdb/ui-file.h
+++ b/gdb/ui-file.h
@@ -123,9 +123,6 @@ public:
/* Emit an ANSI style escape for STYLE. */
virtual void emit_style_escape (const ui_file_style &style);
- /* Rest the current output style to the empty style. */
- virtual void reset_style ();
-
/* Print STR, bypassing any paging that might be done by this
ui_file. Note that nearly no code should call this -- it's
intended for use by gdb_printf, but nothing else. */
@@ -353,12 +350,6 @@ public:
m_two->emit_style_escape (style);
}
- void reset_style () override
- {
- m_one->reset_style ();
- m_two->reset_style ();
- }
-
void puts_unfiltered (const char *str) override
{
m_one->puts_unfiltered (str);
@@ -389,10 +380,6 @@ public:
void emit_style_escape (const ui_file_style &style) override
{
}
-
- void reset_style () override
- {
- }
};
/* A base class for ui_file types that wrap another ui_file. */
@@ -419,10 +406,6 @@ public:
void emit_style_escape (const ui_file_style &style) override
{ m_stream->emit_style_escape (style); }
- /* Rest the current output style to the empty style. */
- void reset_style () override
- { m_stream->reset_style (); }
-
int fd () const override
{ return m_stream->fd (); }
diff --git a/gdb/ui-style.c b/gdb/ui-style.c
index b8321c5..b8d73ab 100644
--- a/gdb/ui-style.c
+++ b/gdb/ui-style.c
@@ -45,7 +45,8 @@ static const char ansi_regex_text[] =
/* The compiled form of ansi_regex_text. */
-static regex_t ansi_regex;
+static compiled_regex ansi_regex (ansi_regex_text, REG_EXTENDED,
+ _("Error in ANSI terminal escape sequences regex"));
/* This maps 8-color palette to RGB triples. The values come from
plain linux terminal. */
@@ -364,7 +365,7 @@ ui_file_style::parse (const char *buf, size_t *n_read)
{
regmatch_t subexps[NUM_SUBEXPRESSIONS];
- int match = regexec (&ansi_regex, buf, ARRAY_SIZE (subexps), subexps, 0);
+ int match = ansi_regex.exec (buf, ARRAY_SIZE (subexps), subexps, 0);
if (match == REG_NOMATCH)
{
*n_read = 0;
@@ -531,7 +532,7 @@ skip_ansi_escape (const char *buf, int *n_read)
{
regmatch_t subexps[NUM_SUBEXPRESSIONS];
- int match = regexec (&ansi_regex, buf, ARRAY_SIZE (subexps), subexps, 0);
+ int match = ansi_regex.exec (buf, ARRAY_SIZE (subexps), subexps, 0);
if (match == REG_NOMATCH || buf[subexps[FINAL_SUBEXP].rm_so] != 'm')
return false;
@@ -539,16 +540,6 @@ skip_ansi_escape (const char *buf, int *n_read)
return true;
}
-void _initialize_ui_style ();
-void
-_initialize_ui_style ()
-{
- int code = regcomp (&ansi_regex, ansi_regex_text, REG_EXTENDED);
- /* If the regular expression was incorrect, it was a programming
- error. */
- gdb_assert (code == 0);
-}
-
/* See ui-style.h. */
const std::vector<color_space> &
diff --git a/gdb/ui.c b/gdb/ui.c
index d67ab2c..cd23399 100644
--- a/gdb/ui.c
+++ b/gdb/ui.c
@@ -237,9 +237,7 @@ new_ui_command (const char *args, int from_tty)
gdb_printf ("New UI allocated\n");
}
-void _initialize_ui ();
-void
-_initialize_ui ()
+INIT_GDB_FILE (ui)
{
cmd_list_element *c = add_cmd ("new-ui", class_support, new_ui_command, _("\
Create a new UI.\n\
diff --git a/gdb/unittests/array-view-selftests.c b/gdb/unittests/array-view-selftests.c
index fa96d3b..914800a 100644
--- a/gdb/unittests/array-view-selftests.c
+++ b/gdb/unittests/array-view-selftests.c
@@ -695,9 +695,7 @@ run_copy_tests ()
} /* namespace array_view_tests */
} /* namespace selftests */
-void _initialize_array_view_selftests ();
-void
-_initialize_array_view_selftests ()
+INIT_GDB_FILE (array_view_selftests)
{
selftests::register_test ("array_view",
selftests::array_view_tests::run_tests);
diff --git a/gdb/unittests/child-path-selftests.c b/gdb/unittests/child-path-selftests.c
index 0f29f7d..95b2c34 100644
--- a/gdb/unittests/child-path-selftests.c
+++ b/gdb/unittests/child-path-selftests.c
@@ -58,9 +58,7 @@ test ()
}
}
-void _initialize_child_path_selftests ();
-void
-_initialize_child_path_selftests ()
+INIT_GDB_FILE (child_path_selftests)
{
selftests::register_test ("child_path",
selftests::child_path::test);
diff --git a/gdb/unittests/cli-utils-selftests.c b/gdb/unittests/cli-utils-selftests.c
index e6c64a9..1382ca6 100644
--- a/gdb/unittests/cli-utils-selftests.c
+++ b/gdb/unittests/cli-utils-selftests.c
@@ -109,9 +109,7 @@ test_cli_utils ()
}
}
-void _initialize_cli_utils_selftests ();
-void
-_initialize_cli_utils_selftests ()
+INIT_GDB_FILE (cli_utils_selftests)
{
selftests::register_test ("cli_utils",
selftests::cli_utils::test_cli_utils);
diff --git a/gdb/unittests/command-def-selftests.c b/gdb/unittests/command-def-selftests.c
index 6f169f5..0a54d31 100644
--- a/gdb/unittests/command-def-selftests.c
+++ b/gdb/unittests/command-def-selftests.c
@@ -219,9 +219,7 @@ command_structure_invariants_tests ()
} /* namespace selftests */
-void _initialize_command_def_selftests ();
-void
-_initialize_command_def_selftests ()
+INIT_GDB_FILE (command_def_selftests)
{
selftests::register_test
("help_doc_invariants",
diff --git a/gdb/unittests/common-utils-selftests.c b/gdb/unittests/common-utils-selftests.c
index fab9cd1..ecc4769 100644
--- a/gdb/unittests/common-utils-selftests.c
+++ b/gdb/unittests/common-utils-selftests.c
@@ -127,9 +127,7 @@ string_vappendf_tests ()
} /* namespace selftests */
-void _initialize_common_utils_selftests ();
-void
-_initialize_common_utils_selftests ()
+INIT_GDB_FILE (common_utils_selftests)
{
selftests::register_test ("string_printf", selftests::string_printf_tests);
selftests::register_test ("string_vprintf", selftests::string_vprintf_tests);
diff --git a/gdb/unittests/copy_bitwise-selftests.c b/gdb/unittests/copy_bitwise-selftests.c
index 8798cbd..6fcdcd7 100644
--- a/gdb/unittests/copy_bitwise-selftests.c
+++ b/gdb/unittests/copy_bitwise-selftests.c
@@ -151,9 +151,7 @@ copy_bitwise_tests (void)
} /* namespace selftests */
-void _initialize_copy_bitwise_utils_selftests ();
-void
-_initialize_copy_bitwise_utils_selftests ()
+INIT_GDB_FILE (copy_bitwise_utils_selftests)
{
selftests::register_test ("copy_bitwise", selftests::copy_bitwise_tests);
}
diff --git a/gdb/unittests/enum-flags-selftests.c b/gdb/unittests/enum-flags-selftests.c
index bb55019..3eb0f52 100644
--- a/gdb/unittests/enum-flags-selftests.c
+++ b/gdb/unittests/enum-flags-selftests.c
@@ -607,10 +607,7 @@ self_test ()
} /* namespace enum_flags_tests */
} /* namespace selftests */
-void _initialize_enum_flags_selftests ();
-
-void
-_initialize_enum_flags_selftests ()
+INIT_GDB_FILE (enum_flags_selftests)
{
selftests::register_test ("enum-flags",
selftests::enum_flags_tests::self_test);
diff --git a/gdb/unittests/environ-selftests.c b/gdb/unittests/environ-selftests.c
index 79bffed..5ac3384 100644
--- a/gdb/unittests/environ-selftests.c
+++ b/gdb/unittests/environ-selftests.c
@@ -297,9 +297,7 @@ run_tests ()
} /* namespace gdb_environ */
} /* namespace selftests */
-void _initialize_environ_selftests ();
-void
-_initialize_environ_selftests ()
+INIT_GDB_FILE (environ_selftests)
{
selftests::register_test ("gdb_environ",
selftests::gdb_environ_tests::run_tests);
diff --git a/gdb/unittests/filtered_iterator-selftests.c b/gdb/unittests/filtered_iterator-selftests.c
index b3ec70b..49c95cb 100644
--- a/gdb/unittests/filtered_iterator-selftests.c
+++ b/gdb/unittests/filtered_iterator-selftests.c
@@ -154,9 +154,7 @@ test_filtered_iterator_eq ()
} /* namespace selftests */
-void _initialize_filtered_iterator_selftests ();
-void
-_initialize_filtered_iterator_selftests ()
+INIT_GDB_FILE (filtered_iterator_selftests)
{
selftests::register_test ("filtered_iterator",
selftests::test_filtered_iterator);
diff --git a/gdb/unittests/format_pieces-selftests.c b/gdb/unittests/format_pieces-selftests.c
index 473d690..c7d8ff0 100644
--- a/gdb/unittests/format_pieces-selftests.c
+++ b/gdb/unittests/format_pieces-selftests.c
@@ -147,9 +147,7 @@ run_tests ()
} /* namespace format_pieces */
} /* namespace selftests */
-void _initialize_format_pieces_selftests ();
-void
-_initialize_format_pieces_selftests ()
+INIT_GDB_FILE (format_pieces_selftests)
{
selftests::register_test ("format_pieces",
selftests::format_pieces::run_tests);
diff --git a/gdb/unittests/frame_info_ptr-selftests.c b/gdb/unittests/frame_info_ptr-selftests.c
index c9eb4f4..d518482 100644
--- a/gdb/unittests/frame_info_ptr-selftests.c
+++ b/gdb/unittests/frame_info_ptr-selftests.c
@@ -66,9 +66,7 @@ test_user_created_frame ()
} /* namespace selftests */
-void _initialize_frame_info_ptr_selftests ();
-void
-_initialize_frame_info_ptr_selftests ()
+INIT_GDB_FILE (frame_info_ptr_selftests)
{
selftests::register_test ("frame_info_ptr_user",
selftests::test_user_created_frame);
diff --git a/gdb/unittests/function-view-selftests.c b/gdb/unittests/function-view-selftests.c
index 036c7f9..21838f1 100644
--- a/gdb/unittests/function-view-selftests.c
+++ b/gdb/unittests/function-view-selftests.c
@@ -250,9 +250,7 @@ run_tests ()
} /* namespace function_view */
} /* namespace selftests */
-void _initialize_function_view_selftests ();
-void
-_initialize_function_view_selftests ()
+INIT_GDB_FILE (function_view_selftests)
{
selftests::register_test ("function_view",
selftests::function_view::run_tests);
diff --git a/gdb/unittests/gdb_tilde_expand-selftests.c b/gdb/unittests/gdb_tilde_expand-selftests.c
index b0b7027..28c759f 100644
--- a/gdb/unittests/gdb_tilde_expand-selftests.c
+++ b/gdb/unittests/gdb_tilde_expand-selftests.c
@@ -84,9 +84,7 @@ do_test ()
} /* namespace gdb_tilde_expand_tests */
} /* namespace selftests */
-void _initialize_gdb_tilde_expand_selftests ();
-void
-_initialize_gdb_tilde_expand_selftests ()
+INIT_GDB_FILE (gdb_tilde_expand_selftests)
{
selftests::register_test
("gdb_tilde_expand", selftests::gdb_tilde_expand_tests::do_test);
diff --git a/gdb/unittests/gmp-utils-selftests.c b/gdb/unittests/gmp-utils-selftests.c
index 495947af..9843fcb 100644
--- a/gdb/unittests/gmp-utils-selftests.c
+++ b/gdb/unittests/gmp-utils-selftests.c
@@ -498,10 +498,7 @@ gdb_mpq_write_fixed_point ()
}
-void _initialize_gmp_utils_selftests ();
-
-void
-_initialize_gmp_utils_selftests ()
+INIT_GDB_FILE (gmp_utils_selftests)
{
selftests::register_test ("gdb_mpz_as_integer",
selftests::gdb_mpz_as_integer);
diff --git a/gdb/unittests/intrusive_list-selftests.c b/gdb/unittests/intrusive_list-selftests.c
index eaffbba..2dd1298 100644
--- a/gdb/unittests/intrusive_list-selftests.c
+++ b/gdb/unittests/intrusive_list-selftests.c
@@ -1648,10 +1648,7 @@ test_intrusive_list ()
test_node_is_linked ();
}
-void _initialize_intrusive_list_selftests ();
-
-void
-_initialize_intrusive_list_selftests ()
+INIT_GDB_FILE (intrusive_list_selftests)
{
selftests::register_test ("intrusive_list", test_intrusive_list);
}
diff --git a/gdb/unittests/lookup_name_info-selftests.c b/gdb/unittests/lookup_name_info-selftests.c
index 3e8440b..dc0d307 100644
--- a/gdb/unittests/lookup_name_info-selftests.c
+++ b/gdb/unittests/lookup_name_info-selftests.c
@@ -105,9 +105,7 @@ run_tests ()
}} /* namespace selftests::lookup_name */
-void _initialize_lookup_name_info_selftests ();
-void
-_initialize_lookup_name_info_selftests ()
+INIT_GDB_FILE (lookup_name_info_selftests)
{
selftests::register_test ("lookup_name_info",
selftests::lookup_name::run_tests);
diff --git a/gdb/unittests/main-thread-selftests.c b/gdb/unittests/main-thread-selftests.c
index 5f3d790..77adf47 100644
--- a/gdb/unittests/main-thread-selftests.c
+++ b/gdb/unittests/main-thread-selftests.c
@@ -73,9 +73,7 @@ run_tests ()
}
}
-void _initialize_main_thread_selftests ();
-void
-_initialize_main_thread_selftests ()
+INIT_GDB_FILE (main_thread_selftests)
{
#if CXX_STD_THREAD
selftests::register_test ("run_on_main_thread",
diff --git a/gdb/unittests/memory-map-selftests.c b/gdb/unittests/memory-map-selftests.c
index 6872d5a..c014c4d 100644
--- a/gdb/unittests/memory-map-selftests.c
+++ b/gdb/unittests/memory-map-selftests.c
@@ -75,9 +75,7 @@ parse_memory_map_tests ()
#endif /* HAVE_LIBEXPAT */
-void _initialize_memory_map_selftests ();
-void
-_initialize_memory_map_selftests ()
+INIT_GDB_FILE (memory_map_selftests)
{
#if defined(HAVE_LIBEXPAT)
selftests::register_test
diff --git a/gdb/unittests/memrange-selftests.c b/gdb/unittests/memrange-selftests.c
index 1433105..17e08e8 100644
--- a/gdb/unittests/memrange-selftests.c
+++ b/gdb/unittests/memrange-selftests.c
@@ -105,9 +105,7 @@ normalize_mem_ranges_tests ()
} /* namespace memrange_tests */
} /* namespace selftests */
-void _initialize_memrange_selftests ();
-void
-_initialize_memrange_selftests ()
+INIT_GDB_FILE (memrange_selftests)
{
selftests::register_test
("normalize_mem_ranges",
diff --git a/gdb/unittests/mkdir-recursive-selftests.c b/gdb/unittests/mkdir-recursive-selftests.c
index 764fe1a..b2ae383 100644
--- a/gdb/unittests/mkdir-recursive-selftests.c
+++ b/gdb/unittests/mkdir-recursive-selftests.c
@@ -80,9 +80,7 @@ test ()
}
}
-void _initialize_mkdir_recursive_selftests ();
-void
-_initialize_mkdir_recursive_selftests ()
+INIT_GDB_FILE (mkdir_recursive_selftests)
{
selftests::register_test ("mkdir_recursive",
selftests::mkdir_recursive::test);
diff --git a/gdb/unittests/observable-selftests.c b/gdb/unittests/observable-selftests.c
index 90d7392..0934249 100644
--- a/gdb/unittests/observable-selftests.c
+++ b/gdb/unittests/observable-selftests.c
@@ -237,9 +237,7 @@ run_tests ()
} /* namespace observers */
} /* namespace selftests */
-void _initialize_observer_selftest ();
-void
-_initialize_observer_selftest ()
+INIT_GDB_FILE (observer_selftest)
{
selftests::register_test ("gdb::observers",
selftests::observers::run_tests);
diff --git a/gdb/unittests/offset-type-selftests.c b/gdb/unittests/offset-type-selftests.c
index 1623f0d..2cba4e1 100644
--- a/gdb/unittests/offset-type-selftests.c
+++ b/gdb/unittests/offset-type-selftests.c
@@ -170,9 +170,7 @@ run_tests ()
} /* namespace offset_type */
} /* namespace selftests */
-void _initialize_offset_type_selftests ();
-void
-_initialize_offset_type_selftests ()
+INIT_GDB_FILE (offset_type_selftests)
{
selftests::register_test ("offset_type", selftests::offset_type::run_tests);
}
diff --git a/gdb/unittests/packed-selftests.c b/gdb/unittests/packed-selftests.c
index daa8036..5a91b29 100644
--- a/gdb/unittests/packed-selftests.c
+++ b/gdb/unittests/packed-selftests.c
@@ -119,9 +119,7 @@ run_tests ()
} /* namespace packed_tests */
} /* namespace selftests */
-void _initialize_packed_selftests ();
-void
-_initialize_packed_selftests ()
+INIT_GDB_FILE (packed_selftests)
{
selftests::register_test ("packed", selftests::packed_tests::run_tests);
}
diff --git a/gdb/unittests/parallel-for-selftests.c b/gdb/unittests/parallel-for-selftests.c
index 841d914..f545614 100644
--- a/gdb/unittests/parallel-for-selftests.c
+++ b/gdb/unittests/parallel-for-selftests.c
@@ -17,13 +17,6 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-/* This file is divided in two parts:
- - FOR_EACH-undefined, and
- - FOR_EACH-defined.
- The former includes the latter, more than once, with different values for
- FOR_EACH. The FOR_EACH-defined part reads like a regular function. */
-#ifndef FOR_EACH
-
#include "gdbsupport/selftest.h"
#include "gdbsupport/parallel-for.h"
@@ -49,97 +42,77 @@ struct save_restore_n_threads
int n_threads;
};
-/* Define test_par using TEST in the FOR_EACH-defined part. */
-#define TEST test_par
-#define FOR_EACH gdb::parallel_for_each
-#include "parallel-for-selftests.c"
-#undef FOR_EACH
-#undef TEST
-
-/* Define test_seq using TEST in the FOR_EACH-defined part. */
-#define TEST test_seq
-#define FOR_EACH gdb::sequential_for_each
-#include "parallel-for-selftests.c"
-#undef FOR_EACH
-#undef TEST
+using foreach_callback_t = gdb::function_view<void (int first, int last)>;
+using do_foreach_t = gdb::function_view<void (int first, int last,
+ foreach_callback_t)>;
static void
-test (int n_threads)
+test_one (int n_threads, do_foreach_t do_foreach)
{
- test_par (n_threads);
- test_seq (n_threads);
+ save_restore_n_threads saver;
+ gdb::thread_pool::g_thread_pool->set_thread_count (n_threads);
+
+ {
+ constexpr int upper_bound = 1000;
+ std::atomic<int> counter (0);
+ do_foreach (0, upper_bound,
+ [&] (int start, int end) { counter += end - start; });
+ SELF_CHECK (counter == upper_bound);
+ }
+
+ {
+ std::atomic<int> counter (0);
+ do_foreach (0, 0, [&] (int start, int end) { counter += end - start; });
+ SELF_CHECK (counter == 0);
+ }
+
+ {
+ /* Check that if there are fewer tasks than threads, then we won't
+ end up with a null result. */
+ std::vector<std::unique_ptr<int>> intresults;
+ std::atomic<bool> any_empty_tasks (false);
+
+ do_foreach (0, 1,
+ [&] (int start, int end)
+ {
+ if (start == end)
+ any_empty_tasks = true;
+
+ return std::make_unique<int> (end - start);
+ });
+
+ SELF_CHECK (!any_empty_tasks);
+ SELF_CHECK (std::all_of (intresults.begin (), intresults.end (),
+ [] (const std::unique_ptr<int> &entry)
+ { return entry != nullptr; }));
+ }
}
static void
-test_n_threads ()
+test_parallel_for_each ()
{
- test (0);
- test (1);
- test (3);
+ const std::vector<do_foreach_t> for_each_functions
+ {
+ [] (int start, int end, foreach_callback_t callback)
+ { gdb::parallel_for_each<1> (start, end, callback); },
+ [] (int start, int end, foreach_callback_t callback)
+ { gdb::sequential_for_each (start, end, callback);}
+ };
+
+ for (int n_threads : { 0, 1, 3 })
+ for (const auto &for_each_function : for_each_functions)
+ test_one (n_threads, for_each_function);
}
-}
-}
+} /* namespace parallel_for */
+} /* namespace selftests */
#endif /* CXX_STD_THREAD */
-void _initialize_parallel_for_selftests ();
-void
-_initialize_parallel_for_selftests ()
+INIT_GDB_FILE (parallel_for_selftests)
{
#ifdef CXX_STD_THREAD
selftests::register_test ("parallel_for",
- selftests::parallel_for::test_n_threads);
+ selftests::parallel_for::test_parallel_for_each);
#endif /* CXX_STD_THREAD */
}
-
-#else /* FOR_EACH */
-
-static void
-TEST (int n_threads)
-{
- save_restore_n_threads saver;
- gdb::thread_pool::g_thread_pool->set_thread_count (n_threads);
-
-#define NUMBER 10000
-
- std::atomic<int> counter (0);
- FOR_EACH (1, 0, NUMBER,
- [&] (int start, int end)
- {
- counter += end - start;
- });
- SELF_CHECK (counter == NUMBER);
-
- counter = 0;
- FOR_EACH (1, 0, 0,
- [&] (int start, int end)
- {
- counter += end - start;
- });
- SELF_CHECK (counter == 0);
-
-#undef NUMBER
-
- /* Check that if there are fewer tasks than threads, then we won't
- end up with a null result. */
- std::vector<std::unique_ptr<int>> intresults;
- std::atomic<bool> any_empty_tasks (false);
-
- FOR_EACH (1, 0, 1,
- [&] (int start, int end)
- {
- if (start == end)
- any_empty_tasks = true;
- return std::make_unique<int> (end - start);
- });
- SELF_CHECK (!any_empty_tasks);
- SELF_CHECK (std::all_of (intresults.begin (),
- intresults.end (),
- [] (const std::unique_ptr<int> &entry)
- {
- return entry != nullptr;
- }));
-}
-
-#endif /* FOR_EACH */
diff --git a/gdb/unittests/parse-connection-spec-selftests.c b/gdb/unittests/parse-connection-spec-selftests.c
index 7104272..ce2da35 100644
--- a/gdb/unittests/parse-connection-spec-selftests.c
+++ b/gdb/unittests/parse-connection-spec-selftests.c
@@ -238,9 +238,7 @@ run_tests ()
} /* namespace parse_connection_spec_tests */
} /* namespace selftests */
-void _initialize_parse_connection_spec_selftests ();
-void
-_initialize_parse_connection_spec_selftests ()
+INIT_GDB_FILE (parse_connection_spec_selftests)
{
selftests::register_test ("parse_connection_spec",
selftests::parse_connection_spec_tests::run_tests);
diff --git a/gdb/unittests/path-join-selftests.c b/gdb/unittests/path-join-selftests.c
index a4003f0..8bc5a91 100644
--- a/gdb/unittests/path-join-selftests.c
+++ b/gdb/unittests/path-join-selftests.c
@@ -63,9 +63,7 @@ test ()
}
}
-void _initialize_path_join_selftests ();
-void
-_initialize_path_join_selftests ()
+INIT_GDB_FILE (path_join_selftests)
{
selftests::register_test ("path_join",
selftests::path_join::test);
diff --git a/gdb/unittests/remote-arg-selftests.c b/gdb/unittests/remote-arg-selftests.c
new file mode 100644
index 0000000..17b8d1d
--- /dev/null
+++ b/gdb/unittests/remote-arg-selftests.c
@@ -0,0 +1,163 @@
+/* Self tests for GDB's argument splitting and merging.
+
+ Copyright (C) 2023-2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "defs.h"
+#include "gdbsupport/selftest.h"
+#include "gdbsupport/buildargv.h"
+#include "gdbsupport/common-inferior.h"
+#include "gdbsupport/remote-args.h"
+#include "gdbsupport/gdb_argv_vec.h"
+
+namespace selftests {
+namespace remote_args_tests {
+
+/* The data needed to perform a single remote argument test. */
+struct arg_test_desc
+{
+ /* The original inferior argument string. */
+ std::string input;
+
+ /* The individual arguments once they have been split. */
+ std::vector<std::string> split;
+
+ /* The new inferior argument string, created by joining SPLIT. */
+ std::string joined;
+};
+
+/* The list of tests. */
+arg_test_desc desc[] = {
+ { "abc", { "abc" }, "abc" },
+ { "a b c", { "a", "b", "c" }, "a b c" },
+ { "\"a b\" 'c d'", { "a b", "c d" }, "a\\ b c\\ d" },
+ { "\\' \\\"", { "'", "\"" }, "\\' \\\"" },
+ { "'\\'", { "\\" }, "\\\\" },
+ { "\"\\\\\" \"\\\\\\\"\"", { "\\", "\\\"" }, "\\\\ \\\\\\\"" },
+ { "\\ \" \" ' '", { " ", " ", " "}, "\\ \\ \\ " },
+ { "\"'\"", { "'" }, "\\'" },
+ { "'\"' '\\\"'", { "\"", "\\\"" } , "\\\" \\\\\\\""},
+ { "\"first arg\" \"\" \"third-arg\" \"'\" \"\\\"\" \"\\\\\\\"\" \" \" \"\"",
+ { "first arg", "", "third-arg", "'", "\"", "\\\""," ", "" },
+ "first\\ arg '' third-arg \\' \\\" \\\\\\\" \\ ''"},
+ { "\"\\a\" \"\\&\" \"\\#\" \"\\<\" \"\\^\"",
+ { "\\a", "\\&", "\\#" , "\\<" , "\\^"},
+ "\\\\a \\\\\\& \\\\\\# \\\\\\< \\\\\\^" },
+ { "1 '\n' 3", { "1", "\n", "3" }, "1 '\n' 3" },
+};
+
+/* Run the remote argument passing self tests. */
+
+static void
+self_test ()
+{
+ int failure_count = 0;
+ for (const auto &d : desc)
+ {
+ if (run_verbose ())
+ {
+ if (&d != &desc[0])
+ debug_printf ("------------------------------\n");
+ debug_printf ("Input (%s)\n", d.input.c_str ());
+ }
+
+ /* Split argument string into individual arguments. */
+ std::vector<std::string> split_args = gdb::remote_args::split (d.input);
+
+ if (run_verbose ())
+ {
+ debug_printf ("Split:\n");
+
+ size_t len = std::max (split_args.size (), d.split.size ());
+ for (size_t i = 0; i < len; ++i)
+ {
+ const char *got = "N/A";
+ const char *expected = got;
+
+ if (i < split_args.size ())
+ got = split_args[i].c_str ();
+
+ if (i < d.split.size ())
+ expected = d.split[i].c_str ();
+
+ debug_printf (" got (%s), expected (%s)\n", got, expected);
+ }
+ }
+
+ if (split_args != d.split)
+ {
+ ++failure_count;
+ if (run_verbose ())
+ debug_printf ("FAIL\n");
+ continue;
+ }
+
+ /* Now join the arguments. */
+ gdb::argv_vec split_args_c_str;
+ for (const std::string &s : split_args)
+ split_args_c_str.push_back (xstrdup (s.c_str ()));
+ std::string joined_args
+ = gdb::remote_args::join (split_args_c_str.get ());
+
+ if (run_verbose ())
+ debug_printf ("Joined (%s), expected (%s)\n",
+ joined_args.c_str (), d.joined.c_str ());
+
+ if (joined_args != d.joined)
+ {
+ ++failure_count;
+ if (run_verbose ())
+ debug_printf ("FAIL\n");
+ continue;
+ }
+
+ /* The contents of JOINED_ARGS will not be identical to D.INPUT.
+ There are multiple ways that an argument can be escaped, and our
+ join function just picks one. However, if we split JOINED_ARGS
+ again then each individual argument should be the same as those in
+ SPLIT_ARGS. So test that next. */
+ std::vector<std::string> split_args_v2
+ = gdb::remote_args::split (joined_args);
+
+ if (split_args_v2 != split_args)
+ {
+ ++failure_count;
+ if (run_verbose ())
+ {
+ debug_printf ("Re-split:\n");
+ for (const auto &a : split_args_v2)
+ debug_printf (" got (%s)\n", a.c_str ());
+ debug_printf ("FAIL\n");
+ }
+ continue;
+ }
+
+ if (run_verbose ())
+ debug_printf ("PASS\n");
+ }
+
+ SELF_CHECK (failure_count == 0);
+}
+
+} /* namespace remote_args_tests */
+} /* namespace selftests */
+
+INIT_GDB_FILE (remote_arg_selftests)
+{
+ selftests::register_test ("remote-args",
+ selftests::remote_args_tests::self_test);
+}
diff --git a/gdb/unittests/rsp-low-selftests.c b/gdb/unittests/rsp-low-selftests.c
index 7a1b2de..d0002ae 100644
--- a/gdb/unittests/rsp-low-selftests.c
+++ b/gdb/unittests/rsp-low-selftests.c
@@ -60,9 +60,7 @@ static void test_hex2str ()
} /* namespace rsp_low */
} /* namespace selftests */
-void _initialize_rsp_low_selftests ();
-void
-_initialize_rsp_low_selftests ()
+INIT_GDB_FILE (rsp_low_selftests)
{
selftests::register_test ("hex2bin_byte_vector",
selftests::rsp_low::test_hex2bin_byte_vector);
diff --git a/gdb/unittests/scoped_fd-selftests.c b/gdb/unittests/scoped_fd-selftests.c
index 7abbbd8..da59a18 100644
--- a/gdb/unittests/scoped_fd-selftests.c
+++ b/gdb/unittests/scoped_fd-selftests.c
@@ -92,9 +92,7 @@ run_tests ()
} /* namespace scoped_fd */
} /* namespace selftests */
-void _initialize_scoped_fd_selftests ();
-void
-_initialize_scoped_fd_selftests ()
+INIT_GDB_FILE (scoped_fd_selftests)
{
selftests::register_test ("scoped_fd",
selftests::scoped_fd::run_tests);
diff --git a/gdb/unittests/scoped_ignore_signal-selftests.c b/gdb/unittests/scoped_ignore_signal-selftests.c
index fdfaca3..86c5031 100644
--- a/gdb/unittests/scoped_ignore_signal-selftests.c
+++ b/gdb/unittests/scoped_ignore_signal-selftests.c
@@ -114,9 +114,7 @@ test_sigpipe ()
} /* namespace scoped_ignore_sig */
} /* namespace selftests */
-void _initialize_scoped_ignore_signal_selftests ();
-void
-_initialize_scoped_ignore_signal_selftests ()
+INIT_GDB_FILE (scoped_ignore_signal_selftests)
{
#ifdef SIGPIPE
selftests::register_test ("scoped_ignore_sigpipe",
diff --git a/gdb/unittests/scoped_mmap-selftests.c b/gdb/unittests/scoped_mmap-selftests.c
index 695ed1e..72568fe 100644
--- a/gdb/unittests/scoped_mmap-selftests.c
+++ b/gdb/unittests/scoped_mmap-selftests.c
@@ -135,9 +135,7 @@ run_tests ()
#endif /* !defined(HAVE_SYS_MMAN_H) */
-void _initialize_scoped_mmap_selftests ();
-void
-_initialize_scoped_mmap_selftests ()
+INIT_GDB_FILE (scoped_mmap_selftests)
{
#if defined(HAVE_SYS_MMAN_H)
selftests::register_test ("scoped_mmap",
diff --git a/gdb/unittests/scoped_restore-selftests.c b/gdb/unittests/scoped_restore-selftests.c
index 18d898b..4396046 100644
--- a/gdb/unittests/scoped_restore-selftests.c
+++ b/gdb/unittests/scoped_restore-selftests.c
@@ -102,9 +102,7 @@ run_tests ()
} /* namespace scoped_restore_tests */
} /* namespace selftests */
-void _initialize_scoped_restore_selftests ();
-void
-_initialize_scoped_restore_selftests ()
+INIT_GDB_FILE (scoped_restore_selftests)
{
selftests::register_test ("scoped_restore",
selftests::scoped_restore_tests::run_tests);
diff --git a/gdb/unittests/search-memory-selftests.c b/gdb/unittests/search-memory-selftests.c
index 0e82d6c..c1942fc 100644
--- a/gdb/unittests/search-memory-selftests.c
+++ b/gdb/unittests/search-memory-selftests.c
@@ -89,9 +89,7 @@ run_tests ()
} /* namespace selftests */
-void _initialize_search_memory_selftests ();
-void
-_initialize_search_memory_selftests ()
+INIT_GDB_FILE (search_memory_selftests)
{
selftests::register_test ("search_memory",
selftests::search_memory_tests::run_tests);
diff --git a/gdb/unittests/style-selftests.c b/gdb/unittests/style-selftests.c
index 2cbe194..f2a37bb 100644
--- a/gdb/unittests/style-selftests.c
+++ b/gdb/unittests/style-selftests.c
@@ -100,9 +100,7 @@ run_tests ()
} /* namespace style */
} /* namespace selftests */
-void _initialize_style_selftest ();
-void
-_initialize_style_selftest ()
+INIT_GDB_FILE (style_selftest)
{
selftests::register_test ("style",
selftests::style::run_tests);
diff --git a/gdb/unittests/tracepoint-selftests.c b/gdb/unittests/tracepoint-selftests.c
index 235dd1e..bef51ae 100644
--- a/gdb/unittests/tracepoint-selftests.c
+++ b/gdb/unittests/tracepoint-selftests.c
@@ -60,9 +60,7 @@ test_parse_static_tracepoint_marker_definition ()
} /* namespace tracepoint_tests */
} /* namespace selftests */
-void _initialize_tracepoint_selftests ();
-void
-_initialize_tracepoint_selftests ()
+INIT_GDB_FILE (tracepoint_selftests)
{
selftests::register_test
("parse_static_tracepoint_marker_definition",
diff --git a/gdb/unittests/tui-selftests.c b/gdb/unittests/tui-selftests.c
index e61b0db..5235a07 100644
--- a/gdb/unittests/tui-selftests.c
+++ b/gdb/unittests/tui-selftests.c
@@ -45,9 +45,7 @@ run_tests ()
#endif /* TUI */
-void _initialize_tui_selftest ();
-void
-_initialize_tui_selftest ()
+INIT_GDB_FILE (tui_selftest)
{
#ifdef TUI
selftests::register_test ("tui", selftests::tui::run_tests);
diff --git a/gdb/unittests/ui-file-selftests.c b/gdb/unittests/ui-file-selftests.c
index b62fd4f..d78c6b0 100644
--- a/gdb/unittests/ui-file-selftests.c
+++ b/gdb/unittests/ui-file-selftests.c
@@ -53,9 +53,7 @@ run_tests ()
} /* namespace file*/
} /* namespace selftests */
-void _initialize_ui_file_selftest ();
-void
-_initialize_ui_file_selftest ()
+INIT_GDB_FILE (ui_file_selftest)
{
selftests::register_test ("ui-file",
selftests::file::run_tests);
diff --git a/gdb/unittests/unique_xmalloc_ptr_char.c b/gdb/unittests/unique_xmalloc_ptr_char.c
index 984f692..7f61c06 100644
--- a/gdb/unittests/unique_xmalloc_ptr_char.c
+++ b/gdb/unittests/unique_xmalloc_ptr_char.c
@@ -47,9 +47,7 @@ unique_xmalloc_ptr_char ()
}
}
-void _initialize_unique_xmalloc_ptr_char ();
-void
-_initialize_unique_xmalloc_ptr_char ()
+INIT_GDB_FILE (unique_xmalloc_ptr_char)
{
selftests::register_test ("unique_xmalloc_ptr_char",
selftests::unpack::unique_xmalloc_ptr_char);
diff --git a/gdb/unittests/unpack-selftests.c b/gdb/unittests/unpack-selftests.c
index 54af777..fccf7a2 100644
--- a/gdb/unittests/unpack-selftests.c
+++ b/gdb/unittests/unpack-selftests.c
@@ -52,9 +52,7 @@ unpack_field_as_long_tests (struct gdbarch *arch)
}
}
-void _initialize_unpack_selftests ();
-void
-_initialize_unpack_selftests ()
+INIT_GDB_FILE (unpack_selftests)
{
selftests::register_test_foreach_arch
("unpack_field_as_long", selftests::unpack::unpack_field_as_long_tests);
diff --git a/gdb/unittests/utils-selftests.c b/gdb/unittests/utils-selftests.c
deleted file mode 100644
index b1c457c..0000000
--- a/gdb/unittests/utils-selftests.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Unit tests for the utils.c file.
-
- Copyright (C) 2018-2025 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-#include "utils.h"
-#include "gdbsupport/selftest.h"
-
-namespace selftests {
-namespace utils {
-
-static void
-test_substitute_path_component ()
-{
- auto test = [] (std::string s, const char *from, const char *to,
- const char *expected)
- {
- char *temp = xstrdup (s.c_str ());
- substitute_path_component (&temp, from, to);
- SELF_CHECK (strcmp (temp, expected) == 0);
- xfree (temp);
- };
-
- test ("/abc/$def/g", "abc", "xyz", "/xyz/$def/g");
- test ("abc/$def/g", "abc", "xyz", "xyz/$def/g");
- test ("/abc/$def/g", "$def", "xyz", "/abc/xyz/g");
- test ("/abc/$def/g", "g", "xyz", "/abc/$def/xyz");
- test ("/abc/$def/g", "ab", "xyz", "/abc/$def/g");
- test ("/abc/$def/g", "def", "xyz", "/abc/$def/g");
- test ("/abc/$def/g", "abc", "abc", "/abc/$def/g");
- test ("/abc/$def/g", "abc", "", "//$def/g");
- test ("/abc/$def/g", "abc/$def", "xyz", "/xyz/g");
- test ("/abc/$def/abc", "abc", "xyz", "/xyz/$def/xyz");
-}
-
-}
-}
-
-void _initialize_utils_selftests ();
-void
-_initialize_utils_selftests ()
-{
- selftests::register_test ("substitute_path_component",
- selftests::utils::test_substitute_path_component);
-}
diff --git a/gdb/unittests/vec-utils-selftests.c b/gdb/unittests/vec-utils-selftests.c
index 4be0b86..11fad31 100644
--- a/gdb/unittests/vec-utils-selftests.c
+++ b/gdb/unittests/vec-utils-selftests.c
@@ -65,9 +65,7 @@ unordered_remove_tests ()
} /* namespace vector_utils_tests */
} /* namespace selftests */
-void _initialize_vec_utils_selftests ();
-void
-_initialize_vec_utils_selftests ()
+INIT_GDB_FILE (vec_utils_selftests)
{
selftests::register_test
("unordered_remove",
diff --git a/gdb/unittests/xml-utils-selftests.c b/gdb/unittests/xml-utils-selftests.c
index 5884faa..f4a637b 100644
--- a/gdb/unittests/xml-utils-selftests.c
+++ b/gdb/unittests/xml-utils-selftests.c
@@ -47,9 +47,7 @@ static void test_xml_escape_text_append ()
}
}
-void _initialize_xml_utils ();
-void
-_initialize_xml_utils ()
+INIT_GDB_FILE (xml_utils)
{
selftests::register_test ("xml_escape_text",
selftests::xml_utils::test_xml_escape_text);
diff --git a/gdb/user-regs.c b/gdb/user-regs.c
index 5860d7d..7170cda 100644
--- a/gdb/user-regs.c
+++ b/gdb/user-regs.c
@@ -237,9 +237,7 @@ maintenance_print_user_registers (const char *args, int from_tty)
}
}
-void _initialize_user_regs ();
-void
-_initialize_user_regs ()
+INIT_GDB_FILE (user_regs)
{
add_cmd ("user-registers", class_maintenance,
maintenance_print_user_registers,
diff --git a/gdb/utils.c b/gdb/utils.c
index 986b906..3114a4b 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -54,7 +54,6 @@
#include "top.h"
#include "ui.h"
#include "main.h"
-#include "solist.h"
#include "inferior.h"
@@ -177,6 +176,7 @@ vwarning (const char *string, va_list args)
target_terminal::ours_for_output ();
}
gdb_puts (warning_pre_print, gdb_stderr);
+ print_warning_prefix (gdb_stderr);
gdb_puts (_("warning: "), gdb_stderr);
gdb_vprintf (gdb_stderr, string, args);
gdb_printf (gdb_stderr, "\n");
@@ -1401,24 +1401,31 @@ pager_file::emit_style_escape (const ui_file_style &style)
{
m_applied_style = style;
if (m_paging)
- m_stream->emit_style_escape (style);
+ {
+ /* Previous style changes will have been sent to m_stream via
+ escape sequences encoded in the m_wrap_buffer. As a result,
+ the m_stream->m_applied_style will not have been updated.
+
+ If we now use m_stream->emit_style_escape, then the required
+ style might not actually be emitted as the requested style
+ might happen to match the out of date value in
+ m_stream->m_applied_style.
+
+ Instead, send the style change directly using m_stream->puts.
+
+ However, we track what style is currently applied to the
+ underlying stream in m_stream_style, this is updated whenever
+ m_wrap_buffer is flushed to the underlying stream. And so, if
+ the style we are applying matches what we know is currently
+ applied to the underlying stream, then we can skip sending
+ this style to the stream. */
+ this->set_stream_style (m_applied_style);
+ }
else
m_wrap_buffer.append (style.to_ansi ());
}
}
-/* See pager.h. */
-
-void
-pager_file::reset_style ()
-{
- if (can_emit_style_escape ())
- {
- m_applied_style = ui_file_style ();
- m_wrap_buffer.append (m_applied_style.to_ansi ());
- }
-}
-
/* Wait, so the user can read what's on the screen. Prompt the user
to continue by pressing RETURN. 'q' is also provided because
telling users what to do in the prompt is more user-friendly than
@@ -1436,8 +1443,8 @@ pager_file::prompt_for_continue ()
scoped_restore save_paging = make_scoped_restore (&m_paging, true);
- /* Clear the current styling. */
- m_stream->emit_style_escape (ui_file_style ());
+ /* Clear the current styling on ourselves and the managed stream. */
+ this->emit_style_escape (ui_file_style ());
if (annotation_level > 1)
m_stream->puts (("\n\032\032pre-prompt-for-continue\n"));
@@ -1520,6 +1527,7 @@ pager_file::flush_wrap_buffer ()
if (!m_paging && !m_wrap_buffer.empty ())
{
m_stream->puts (m_wrap_buffer.c_str ());
+ m_stream_style = m_applied_style;
m_wrap_buffer.clear ();
}
}
@@ -1736,7 +1744,8 @@ pager_file::puts (const char *linebuffer)
current applied style to how it was at the WRAP_COLUMN
location. */
m_applied_style = m_wrap_style;
- m_stream->emit_style_escape (ui_file_style ());
+ this->set_stream_style (ui_file_style ());
+
/* If we aren't actually wrapping, don't output
newline -- if chars_per_line is right, we
probably just overflowed anyway; if it's wrong,
@@ -1764,7 +1773,7 @@ pager_file::puts (const char *linebuffer)
/* Having finished inserting the wrapping we should
restore the style as it was at the WRAP_COLUMN. */
- m_stream->emit_style_escape (m_wrap_style);
+ this->set_stream_style (m_wrap_style);
/* The WRAP_BUFFER will still contain content, and that
content might set some alternative style. Restore
@@ -1779,7 +1788,7 @@ pager_file::puts (const char *linebuffer)
m_wrap_column = 0; /* And disable fancy wrap */
}
else if (did_paginate)
- m_stream->emit_style_escape (save_style);
+ this->emit_style_escape (save_style);
}
}
@@ -3344,7 +3353,7 @@ gdb_argv_as_array_view_test ()
argument. */
std::string
-ldirname (const char *filename)
+gdb_ldirname (const char *filename)
{
std::string dirname;
const char *base = lbasename (filename);
@@ -3386,51 +3395,6 @@ parse_pid_to_attach (const char *args)
return pid;
}
-/* Substitute all occurrences of string FROM by string TO in *STRINGP. *STRINGP
- must come from xrealloc-compatible allocator and it may be updated. FROM
- needs to be delimited by IS_DIR_SEPARATOR or DIRNAME_SEPARATOR (or be
- located at the start or end of *STRINGP. */
-
-void
-substitute_path_component (char **stringp, const char *from, const char *to)
-{
- char *string = *stringp, *s;
- const size_t from_len = strlen (from);
- const size_t to_len = strlen (to);
-
- for (s = string;;)
- {
- s = strstr (s, from);
- if (s == NULL)
- break;
-
- if ((s == string || IS_DIR_SEPARATOR (s[-1])
- || s[-1] == DIRNAME_SEPARATOR)
- && (s[from_len] == '\0' || IS_DIR_SEPARATOR (s[from_len])
- || s[from_len] == DIRNAME_SEPARATOR))
- {
- char *string_new;
-
- string_new
- = (char *) xrealloc (string, (strlen (string) + to_len + 1));
-
- /* Relocate the current S pointer. */
- s = s - string + string_new;
- string = string_new;
-
- /* Replace from by to. */
- memmove (&s[to_len], &s[from_len], strlen (&s[from_len]) + 1);
- memcpy (s, to, to_len);
-
- s += to_len;
- }
- else
- s++;
- }
-
- *stringp = string;
-}
-
#ifdef HAVE_WAITPID
#ifdef SIGALRM
@@ -3752,9 +3716,7 @@ test_assign_set_return_if_changed ()
}
#endif
-void _initialize_utils ();
-void
-_initialize_utils ()
+INIT_GDB_FILE (utils)
{
add_setshow_uinteger_cmd ("width", class_support, &chars_per_line, _("\
Set number of characters where GDB should wrap lines of its output."), _("\
diff --git a/gdb/utils.h b/gdb/utils.h
index bc8c2ef..b37e8f7 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -133,10 +133,7 @@ private:
extern int gdb_filename_fnmatch (const char *pattern, const char *string,
int flags);
-extern void substitute_path_component (char **stringp, const char *from,
- const char *to);
-
-std::string ldirname (const char *filename);
+std::string gdb_ldirname (const char *filename);
extern int count_path_elements (const char *path);
diff --git a/gdb/v850-tdep.c b/gdb/v850-tdep.c
index e9ec858..d592344 100644
--- a/gdb/v850-tdep.c
+++ b/gdb/v850-tdep.c
@@ -1461,9 +1461,7 @@ v850_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return gdbarch;
}
-void _initialize_v850_tdep ();
-void
-_initialize_v850_tdep ()
+INIT_GDB_FILE (v850_tdep)
{
gdbarch_register (bfd_arch_v850, v850_gdbarch_init);
gdbarch_register (bfd_arch_v850_rh850, v850_gdbarch_init);
diff --git a/gdb/valops.c b/gdb/valops.c
index 1b63343..88f3e32 100644
--- a/gdb/valops.c
+++ b/gdb/valops.c
@@ -2420,47 +2420,42 @@ value_struct_elt (struct value **argp,
return v;
}
-/* Given *ARGP, a value of type structure or union, or a pointer/reference
+/* Given VAL, a value of type structure or union, or a pointer/reference
to a structure or union, extract and return its component (field) of
type FTYPE at the specified BITPOS.
Throw an exception on error. */
struct value *
-value_struct_elt_bitpos (struct value **argp, int bitpos, struct type *ftype,
- const char *err)
+value_struct_elt_bitpos (struct value *val, int bitpos, struct type *ftype)
{
struct type *t;
int i;
- *argp = coerce_array (*argp);
+ val = coerce_array (val);
- t = check_typedef ((*argp)->type ());
+ t = check_typedef (val->type ());
while (t->is_pointer_or_reference ())
{
- *argp = value_ind (*argp);
- if (check_typedef ((*argp)->type ())->code () != TYPE_CODE_FUNC)
- *argp = coerce_array (*argp);
- t = check_typedef ((*argp)->type ());
+ val = value_ind (val);
+ if (check_typedef (val->type ())->code () != TYPE_CODE_FUNC)
+ val = coerce_array (val);
+ t = check_typedef (val->type ());
}
if (t->code () != TYPE_CODE_STRUCT
&& t->code () != TYPE_CODE_UNION)
- error (_("Attempt to extract a component of a value that is not a %s."),
- err);
+ error (_("Attempt to extract a component of non-aggregate value."));
for (i = TYPE_N_BASECLASSES (t); i < t->num_fields (); i++)
{
if (!t->field (i).is_static ()
&& bitpos == t->field (i).loc_bitpos ()
&& types_equal (ftype, t->field (i).type ()))
- return (*argp)->primitive_field (0, i, t);
+ return val->primitive_field (0, i, t);
}
error (_("No field with matching bitpos and type."));
-
- /* Never hit. */
- return NULL;
}
/* Search through the methods of an object (and its bases) to find a
@@ -4167,9 +4162,7 @@ cast_into_complex (struct type *type, struct value *val)
error (_("cannot cast non-number to complex"));
}
-void _initialize_valops ();
-void
-_initialize_valops ()
+INIT_GDB_FILE (valops)
{
add_setshow_boolean_cmd ("overload-resolution", class_support,
&overload_resolution, _("\
diff --git a/gdb/valprint.c b/gdb/valprint.c
index ed03f6d..305faf7 100644
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
@@ -3194,9 +3194,7 @@ test_print_flags (gdbarch *arch)
#endif
-void _initialize_valprint ();
-void
-_initialize_valprint ()
+INIT_GDB_FILE (valprint)
{
#if GDB_SELF_TEST
selftests::register_test_foreach_arch ("print-flags", test_print_flags);
diff --git a/gdb/value.c b/gdb/value.c
index 0f1be2e..5574642 100644
--- a/gdb/value.c
+++ b/gdb/value.c
@@ -3266,6 +3266,9 @@ unpack_bits_as_long (struct type *field_type, const gdb_byte *valaddr,
}
}
+ if (field_type->code () == TYPE_CODE_RANGE)
+ val += field_type->bounds ()->bias;
+
return val;
}
@@ -3296,21 +3299,28 @@ unpack_value_field_as_long (struct type *type, const gdb_byte *valaddr,
return 1;
}
-/* Unpack a field FIELDNO of the specified TYPE, from the anonymous
- object at VALADDR. See unpack_bits_as_long for more details. */
+/* See value.h. */
LONGEST
-unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
+unpack_field_as_long (const gdb_byte *valaddr, struct field *field)
{
- int bitpos = type->field (fieldno).loc_bitpos ();
- int bitsize = type->field (fieldno).bitsize ();
- struct type *field_type = type->field (fieldno).type ();
+ int bitpos = field->loc_bitpos ();
+ int bitsize = field->bitsize ();
+ struct type *field_type = field->type ();
return unpack_bits_as_long (field_type, valaddr, bitpos, bitsize);
}
/* See value.h. */
+LONGEST
+unpack_field_as_long (struct type *type, const gdb_byte *valaddr, int fieldno)
+{
+ return unpack_field_as_long (valaddr, &type->field (fieldno));
+}
+
+/* See value.h. */
+
void
value::unpack_bitfield (struct value *dest_val,
LONGEST bitpos, LONGEST bitsize,
@@ -4486,9 +4496,7 @@ test_value_copy ()
} /* namespace selftests */
#endif /* GDB_SELF_TEST */
-void _initialize_values ();
-void
-_initialize_values ()
+INIT_GDB_FILE (values)
{
cmd_list_element *show_convenience_cmd
= add_cmd ("convenience", no_class, show_convenience, _("\
diff --git a/gdb/value.h b/gdb/value.h
index 0cbcfca..0c7c785 100644
--- a/gdb/value.h
+++ b/gdb/value.h
@@ -1058,10 +1058,19 @@ extern gdb_mpz value_as_mpz (struct value *val);
extern LONGEST unpack_long (struct type *type, const gdb_byte *valaddr);
extern CORE_ADDR unpack_pointer (struct type *type, const gdb_byte *valaddr);
+/* Unpack a field FIELDNO of the specified TYPE, from the anonymous
+ object at VALADDR. See unpack_bits_as_long for more details. */
+
extern LONGEST unpack_field_as_long (struct type *type,
const gdb_byte *valaddr,
int fieldno);
+/* Unpack a field, FIELD, from the anonymous object at VALADDR. See
+ unpack_bits_as_long for more details. */
+
+extern LONGEST unpack_field_as_long (const gdb_byte *valaddr,
+ struct field *field);
+
/* Unpack a bitfield of the specified FIELD_TYPE, from the object at
VALADDR, and store the result in *RESULT.
The bitfield starts at BITPOS bits and contains BITSIZE bits; if
@@ -1297,10 +1306,9 @@ extern struct value *value_struct_elt (struct value **argp,
const char *name, int *static_memfuncp,
const char *err);
-extern struct value *value_struct_elt_bitpos (struct value **argp,
+extern struct value *value_struct_elt_bitpos (struct value *val,
int bitpos,
- struct type *field_type,
- const char *err);
+ struct type *field_type);
extern struct value *value_aggregate_elt (struct type *curtype,
const char *name,
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 8dc7a30..4dc986a 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -2424,9 +2424,7 @@ eq_varobj_and_string (const void *a, const void *b)
return obj->obj_name == name;
}
-void _initialize_varobj ();
-void
-_initialize_varobj ()
+INIT_GDB_FILE (varobj)
{
varobj_table = htab_create_alloc (5, hash_varobj, eq_varobj_and_string,
nullptr, xcalloc, xfree);
diff --git a/gdb/vax-bsd-nat.c b/gdb/vax-bsd-nat.c
index 6d8bb54..717314e 100644
--- a/gdb/vax-bsd-nat.c
+++ b/gdb/vax-bsd-nat.c
@@ -136,9 +136,7 @@ vaxbsd_supply_pcb (struct regcache *regcache, struct pcb *pcb)
return 1;
}
-void _initialize_vaxbsd_nat ();
-void
-_initialize_vaxbsd_nat ()
+INIT_GDB_FILE (vaxbsd_nat)
{
add_inf_child_target (&the_vax_bsd_nat_target);
diff --git a/gdb/vax-netbsd-tdep.c b/gdb/vax-netbsd-tdep.c
index 34a9150..7781264 100644
--- a/gdb/vax-netbsd-tdep.c
+++ b/gdb/vax-netbsd-tdep.c
@@ -32,13 +32,10 @@ vaxnbsd_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
nbsd_init_abi (info, gdbarch);
/* NetBSD ELF uses SVR4-style shared libraries. */
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
}
-void _initialize_vaxnbsd_tdep ();
-void
-_initialize_vaxnbsd_tdep ()
+INIT_GDB_FILE (vaxnbsd_tdep)
{
gdbarch_register_osabi (bfd_arch_vax, 0, GDB_OSABI_NETBSD,
vaxnbsd_elf_init_abi);
diff --git a/gdb/vax-tdep.c b/gdb/vax-tdep.c
index 94dc308..0a83f4f 100644
--- a/gdb/vax-tdep.c
+++ b/gdb/vax-tdep.c
@@ -506,9 +506,7 @@ vax_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
return (gdbarch);
}
-void _initialize_vax_tdep ();
-void
-_initialize_vax_tdep ()
+INIT_GDB_FILE (vax_tdep)
{
gdbarch_register (bfd_arch_vax, vax_gdbarch_init, NULL);
}
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 0fee4ad..c001d38 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -56,7 +56,6 @@
#include "cli/cli-style.h"
#include <unistd.h>
#include "exec.h"
-#include "solist.h"
#include "solib.h"
#include "xml-support.h"
#include "inttypes.h"
@@ -433,7 +432,12 @@ wait_for_single (HANDLE handle, DWORD howlong)
{
while (true)
{
- DWORD r = WaitForSingleObject (handle, howlong);
+ /* Using an INFINITE argument to WaitForSingleObject may cause a system
+ deadlock. Avoid it by waiting for a bit in a loop instead. */
+ DWORD milliseconds = howlong == INFINITE ? 100 : howlong;
+ DWORD r = WaitForSingleObject (handle, milliseconds);
+ if (howlong == INFINITE && r == WAIT_TIMEOUT)
+ continue;
if (r == WAIT_OBJECT_0)
return;
if (r == WAIT_FAILED)
@@ -3089,9 +3093,7 @@ windows_nat_target::thread_name (struct thread_info *thr)
}
-void _initialize_windows_nat ();
-void
-_initialize_windows_nat ()
+INIT_GDB_FILE (windows_nat)
{
x86_dr_low.set_control = cygwin_set_dr7;
x86_dr_low.set_addr = cygwin_set_dr;
@@ -3265,9 +3267,7 @@ windows_nat_target::thread_alive (ptid_t ptid)
return WaitForSingleObject (th->h, 0) != WAIT_OBJECT_0;
}
-void _initialize_check_for_gdb_ini ();
-void
-_initialize_check_for_gdb_ini ()
+INIT_GDB_FILE (check_for_gdb_ini)
{
char *homedir;
if (inhibit_gdbinit)
diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c
index 0ba1472..05335d2 100644
--- a/gdb/windows-tdep.c
+++ b/gdb/windows-tdep.c
@@ -36,7 +36,6 @@
#include "gdbcore.h"
#include "coff/internal.h"
#include "libcoff.h"
-#include "solist.h"
#define CYGWIN_DLL_NAME "cygwin1.dll"
@@ -863,10 +862,25 @@ windows_get_siginfo_type (struct gdbarch *gdbarch)
return siginfo_type;
}
+/* solib_ops for Windows systems. */
+
+struct windows_solib_ops : target_solib_ops
+{
+ void create_inferior_hook (int from_tty) const override;
+};
+
+/* Return a new solib_ops for Windows systems. */
+
+static solib_ops_up
+make_windows_solib_ops ()
+{
+ return std::make_unique<windows_solib_ops> ();
+}
+
/* Implement the "solib_create_inferior_hook" solib_ops method. */
-static void
-windows_solib_create_inferior_hook (int from_tty)
+void
+windows_solib_ops::create_inferior_hook (int from_tty) const
{
CORE_ADDR exec_base = 0;
@@ -911,8 +925,6 @@ windows_solib_create_inferior_hook (int from_tty)
}
}
-static solib_ops windows_so_ops;
-
/* Common parts for gdbarch initialization for the Windows and Cygwin OS
ABIs. */
@@ -929,10 +941,7 @@ windows_init_abi_common (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_iterate_over_objfiles_in_search_order
(gdbarch, windows_iterate_over_objfiles_in_search_order);
- windows_so_ops = solib_target_so_ops;
- windows_so_ops.solib_create_inferior_hook
- = windows_solib_create_inferior_hook;
- set_gdbarch_so_ops (gdbarch, &windows_so_ops);
+ set_gdbarch_make_solib_ops (gdbarch, make_windows_solib_ops);
set_gdbarch_get_siginfo_type (gdbarch, windows_get_siginfo_type);
}
@@ -1183,9 +1192,7 @@ windows_core_pid_to_str (struct gdbarch *gdbarch, ptid_t ptid)
return normal_pid_to_str (ptid);
}
-void _initialize_windows_tdep ();
-void
-_initialize_windows_tdep ()
+INIT_GDB_FILE (windows_tdep)
{
init_w32_command_list ();
cmd_list_element *info_w32_thread_information_block_cmd
diff --git a/gdb/x86-bsd-nat.c b/gdb/x86-bsd-nat.c
index 0c9ddfd..37376bb 100644
--- a/gdb/x86-bsd-nat.c
+++ b/gdb/x86-bsd-nat.c
@@ -128,9 +128,7 @@ x86bsd_dr_get_control (void)
#endif /* PT_GETDBREGS */
-void _initialize_x86_bsd_nat ();
-void
-_initialize_x86_bsd_nat ()
+INIT_GDB_FILE (x86_bsd_nat)
{
#ifdef HAVE_PT_GETDBREGS
x86_dr_low.set_control = x86bsd_dr_set_control;
diff --git a/gdb/x86-gnu-nat.c b/gdb/x86-gnu-nat.c
index b9ba95b..e088189 100644
--- a/gdb/x86-gnu-nat.c
+++ b/gdb/x86-gnu-nat.c
@@ -491,9 +491,7 @@ x86_gnu_dr_get_control (void)
}
#endif /* i386_DEBUG_STATE */
-void _initialize_x86_gnu_nat ();
-void
-_initialize_x86_gnu_nat ()
+INIT_GDB_FILE (x86_gnu_nat)
{
#ifdef i386_DEBUG_STATE
x86_dr_low.set_control = x86_gnu_dr_set_control;
diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c
index fc7c5f6..81db5d8 100644
--- a/gdb/x86-linux-nat.c
+++ b/gdb/x86-linux-nat.c
@@ -210,9 +210,7 @@ x86_linux_get_thread_area (pid_t pid, void *addr, unsigned int *base_addr)
}
-void _initialize_x86_linux_nat ();
-void
-_initialize_x86_linux_nat ()
+INIT_GDB_FILE (x86_linux_nat)
{
/* Initialize the debug register function vectors. */
x86_dr_low.set_control = x86_linux_dr_set_control;
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index e91c64c..70585b3 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -2999,9 +2999,7 @@ xcoff_get_n_import_files (bfd *abfd)
return l_nimpid - 1;
}
-void _initialize_xcoffread ();
-void
-_initialize_xcoffread ()
+INIT_GDB_FILE (xcoffread)
{
add_symtab_fns (bfd_target_xcoff_flavour, &xcoff_sym_fns);
}
diff --git a/gdb/xml-support.c b/gdb/xml-support.c
index fb8b612..08524f8 100644
--- a/gdb/xml-support.c
+++ b/gdb/xml-support.c
@@ -999,10 +999,7 @@ xml_fetch_content_from_file (const char *filename, const char *dirname)
return text;
}
-void _initialize_xml_support ();
-void _initialize_xml_support ();
-void
-_initialize_xml_support ()
+INIT_GDB_FILE (xml_support)
{
add_setshow_boolean_cmd ("xml", class_maintenance, &debug_xml,
_("Set XML parser debugging."),
diff --git a/gdb/xml-syscall.c b/gdb/xml-syscall.c
index fe0ea2b..b58fe5d0 100644
--- a/gdb/xml-syscall.c
+++ b/gdb/xml-syscall.c
@@ -319,7 +319,7 @@ xml_init_syscalls_info (const char *filename)
if (!full_file)
return NULL;
- const std::string dirname = ldirname (filename);
+ const std::string dirname = gdb_ldirname (filename);
auto fetch_another = [&dirname] (const char *name)
{
return xml_fetch_content_from_file (name, dirname.c_str ());
diff --git a/gdb/xml-tdesc.c b/gdb/xml-tdesc.c
index 6c095af..2f213dc 100644
--- a/gdb/xml-tdesc.c
+++ b/gdb/xml-tdesc.c
@@ -670,7 +670,7 @@ file_read_description_xml (const char *filename)
return NULL;
}
- const std::string dirname = ldirname (filename);
+ const std::string dirname = gdb_ldirname (filename);
auto fetch_another = [&dirname] (const char *name)
{
return xml_fetch_content_from_file (name, dirname.c_str ());
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
index 8482461..b4042f1 100644
--- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c
@@ -828,9 +828,7 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
Initializer function for the Sanyo Xstormy16a module.
Called by gdb at start-up. */
-void _initialize_xstormy16_tdep ();
-void
-_initialize_xstormy16_tdep ()
+INIT_GDB_FILE (xstormy16_tdep)
{
gdbarch_register (bfd_arch_xstormy16, xstormy16_gdbarch_init);
}
diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c
index 11fbf55..4a50f38 100644
--- a/gdb/xtensa-linux-nat.c
+++ b/gdb/xtensa-linux-nat.c
@@ -327,9 +327,7 @@ ps_get_thread_area (struct ps_prochandle *ph,
return PS_OK;
}
-void _initialize_xtensa_linux_nat ();
-void
-_initialize_xtensa_linux_nat ()
+INIT_GDB_FILE (xtensa_linux_nat)
{
const xtensa_regtable_t *ptr;
diff --git a/gdb/xtensa-linux-tdep.c b/gdb/xtensa-linux-tdep.c
index b72d683..7792408 100644
--- a/gdb/xtensa-linux-tdep.c
+++ b/gdb/xtensa-linux-tdep.c
@@ -20,6 +20,7 @@
#include "xtensa-tdep.h"
#include "osabi.h"
#include "linux-tdep.h"
+#include "solib-svr4-linux.h"
#include "solib-svr4.h"
#include "symtab.h"
#include "gdbarch.h"
@@ -111,8 +112,7 @@ xtensa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
linux_init_abi (info, gdbarch, 0);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, linux_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
set_gdbarch_gdb_signal_from_target (gdbarch,
xtensa_linux_gdb_signal_from_target);
@@ -124,9 +124,7 @@ xtensa_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
svr4_fetch_objfile_link_map);
}
-void _initialize_xtensa_linux_tdep ();
-void
-_initialize_xtensa_linux_tdep ()
+INIT_GDB_FILE (xtensa_linux_tdep)
{
gdbarch_register_osabi (bfd_arch_xtensa, bfd_mach_xtensa, GDB_OSABI_LINUX,
xtensa_linux_init_abi);
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index a4bbffb..8a2f129 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -3238,8 +3238,7 @@ xtensa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_iterate_over_regset_sections
(gdbarch, xtensa_iterate_over_regset_sections);
- set_solib_svr4_fetch_link_map_offsets
- (gdbarch, svr4_ilp32_fetch_link_map_offsets);
+ set_solib_svr4_ops (gdbarch, make_svr4_ilp32_solib_ops);
/* Hook in the ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
@@ -3253,9 +3252,7 @@ xtensa_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
error (_("xtensa_dump_tdep(): not implemented"));
}
-void _initialize_xtensa_tdep ();
-void
-_initialize_xtensa_tdep ()
+INIT_GDB_FILE (xtensa_tdep)
{
gdbarch_register (bfd_arch_xtensa, xtensa_gdbarch_init, xtensa_dump_tdep);
xtensa_init_reggroups ();
diff --git a/gdb/z80-tdep.c b/gdb/z80-tdep.c
index bfa52dd..abba50b 100644
--- a/gdb/z80-tdep.c
+++ b/gdb/z80-tdep.c
@@ -1331,14 +1331,14 @@ ez80_ddfd_insn_table[] =
{ 0007, 0307, 2, insn_default }, //"ld rr,(ii+d)"
{ 0061, 0377, 2, insn_default }, //"ld ii,(ii+d)"
/* common instructions */
- { 0011, 0367, 2, insn_default }, //"add ii,rr"
+ { 0011, 0317, 1, insn_default }, //"add ii,rr"
{ 0041, 0377, 3, insn_default }, //"ld ii,nn"
{ 0042, 0367, 3, insn_default }, //"ld (nn),ii", "ld ii,(nn)"
{ 0043, 0367, 1, insn_default }, //"inc ii", "dec ii"
{ 0044, 0366, 1, insn_default }, //"inc/dec iih/iil"
{ 0046, 0367, 2, insn_default }, //"ld iih,n", "ld iil,n"
{ 0064, 0376, 2, insn_default }, //"inc (ii+d)", "dec (ii+d)"
- { 0066, 0377, 2, insn_default }, //"ld (ii+d),n"
+ { 0066, 0377, 3, insn_default }, //"ld (ii+d),n"
{ 0166, 0377, 0, insn_default }, //not an instruction
{ 0160, 0370, 2, insn_default }, //"ld (ii+d),r"
{ 0104, 0306, 1, insn_default }, //"ld r,iih", "ld r,iil"
@@ -1360,7 +1360,7 @@ ez80_adl_ddfd_insn_table[] =
{
{ 0007, 0307, 2, insn_default }, //"ld rr,(ii+d)"
{ 0061, 0377, 2, insn_default }, //"ld ii,(ii+d)"
- { 0011, 0367, 1, insn_default }, //"add ii,rr"
+ { 0011, 0317, 1, insn_default }, //"add ii,rr"
{ 0041, 0377, 4, insn_default }, //"ld ii,nn"
{ 0042, 0367, 4, insn_default }, //"ld (nn),ii", "ld ii,(nn)"
{ 0043, 0367, 1, insn_default }, //"inc ii", "dec ii"
@@ -1455,10 +1455,7 @@ z80_get_insn_info (struct gdbarch *gdbarch, const gdb_byte *buf, int *size)
while (1);
}
-extern initialize_file_ftype _initialize_z80_tdep;
-
-void
-_initialize_z80_tdep ()
+INIT_GDB_FILE (z80_tdep)
{
gdbarch_register (bfd_arch_z80, z80_gdbarch_init);
initialize_tdesc_z80 ();
diff --git a/gdbserver/hostio.cc b/gdbserver/hostio.cc
index 17b6179..69729a8 100644
--- a/gdbserver/hostio.cc
+++ b/gdbserver/hostio.cc
@@ -89,12 +89,18 @@ require_filename (char **pp, char *filename)
return 0;
}
+template <typename T>
static int
-require_int (char **pp, int *value)
+require_int (char **pp, T *value)
{
+ constexpr bool is_signed = std::is_signed<T>::value;
+
char *p;
int count, firstdigit;
+ /* Max count of hexadecimal digits in T (1 hex digit is 4 bits). */
+ int max_count = sizeof (T) * CHAR_BIT / 4;
+
p = *pp;
*value = 0;
count = 0;
@@ -111,7 +117,8 @@ require_int (char **pp, int *value)
firstdigit = nib;
/* Don't allow overflow. */
- if (count >= 8 || (count == 7 && firstdigit >= 0x8))
+ if (count >= max_count
+ || (is_signed && count == (max_count - 1) && firstdigit >= 0x8))
return -1;
*value = *value * 16 + nib;
@@ -343,7 +350,8 @@ handle_open (char *own_buf)
static void
handle_pread (char *own_buf, int *new_packet_len)
{
- int fd, ret, len, offset, bytes_sent;
+ int fd, ret, len, bytes_sent;
+ off_t offset;
char *p, *data;
static int max_reply_size = -1;
@@ -410,7 +418,8 @@ handle_pread (char *own_buf, int *new_packet_len)
static void
handle_pwrite (char *own_buf, int packet_len)
{
- int fd, ret, len, offset;
+ int fd, ret, len;
+ off_t offset;
char *p, *data;
p = own_buf + strlen ("vFile:pwrite:");
@@ -504,7 +513,48 @@ handle_stat (char *own_buf, int *new_packet_len)
return;
}
- if (lstat (filename, &st) == -1)
+ if (stat (filename, &st) == -1)
+ {
+ hostio_error (own_buf);
+ return;
+ }
+
+ host_to_fileio_stat (&st, &fst);
+
+ bytes_sent = hostio_reply_with_data (own_buf,
+ (char *) &fst, sizeof (fst),
+ new_packet_len);
+
+ /* If the response does not fit into a single packet, do not attempt
+ to return a partial response, but simply fail. */
+ if (bytes_sent < sizeof (fst))
+ write_enn (own_buf);
+}
+
+static void
+handle_lstat (char *own_buf, int *new_packet_len)
+{
+ int ret, bytes_sent;
+ char *p;
+ struct stat st;
+ struct fio_stat fst;
+ char filename[HOSTIO_PATH_MAX];
+
+ p = own_buf + strlen ("vFile:lstat:");
+
+ if (require_filename (&p, filename)
+ || require_end (p))
+ {
+ hostio_packet_error (own_buf);
+ return;
+ }
+
+ if (hostio_fs_pid != 0)
+ ret = the_target->multifs_lstat (hostio_fs_pid, filename, &st);
+ else
+ ret = lstat (filename, &st);
+
+ if (ret == -1)
{
hostio_error (own_buf);
return;
@@ -641,6 +691,8 @@ handle_vFile (char *own_buf, int packet_len, int *new_packet_len)
handle_fstat (own_buf, new_packet_len);
else if (startswith (own_buf, "vFile:stat:"))
handle_stat (own_buf, new_packet_len);
+ else if (startswith (own_buf, "vFile:lstat:"))
+ handle_lstat (own_buf, new_packet_len);
else if (startswith (own_buf, "vFile:close:"))
handle_close (own_buf);
else if (startswith (own_buf, "vFile:unlink:"))
diff --git a/gdbserver/linux-low.cc b/gdbserver/linux-low.cc
index 1d223c1..3964270 100644
--- a/gdbserver/linux-low.cc
+++ b/gdbserver/linux-low.cc
@@ -751,7 +751,7 @@ linux_process_target::handle_extended_wait (lwp_info **orig_event_lwp,
/* Set the event status. */
event_lwp->waitstatus.set_execd
(make_unique_xstrdup
- (linux_proc_pid_to_exec_file (event_thr->id.lwp ())));
+ (pid_to_exec_file (event_thr->id.lwp ())));
/* Mark the exec status as pending. */
event_lwp->stopped = 1;
@@ -6033,7 +6033,7 @@ linux_process_target::supports_pid_to_exec_file ()
const char *
linux_process_target::pid_to_exec_file (int pid)
{
- return linux_proc_pid_to_exec_file (pid);
+ return linux_proc_pid_to_exec_file (pid, linux_ns_same (pid, LINUX_NS_MNT));
}
bool
@@ -6050,6 +6050,12 @@ linux_process_target::multifs_open (int pid, const char *filename,
}
int
+linux_process_target::multifs_lstat (int pid, const char *filename, struct stat *sb)
+{
+ return linux_mntns_lstat (pid, filename, sb);
+}
+
+int
linux_process_target::multifs_unlink (int pid, const char *filename)
{
return linux_mntns_unlink (pid, filename);
diff --git a/gdbserver/linux-low.h b/gdbserver/linux-low.h
index 7d3e35f..e1c88ee 100644
--- a/gdbserver/linux-low.h
+++ b/gdbserver/linux-low.h
@@ -304,6 +304,8 @@ public:
int multifs_open (int pid, const char *filename, int flags,
mode_t mode) override;
+ int multifs_lstat (int pid, const char *filename, struct stat *st) override;
+
int multifs_unlink (int pid, const char *filename) override;
ssize_t multifs_readlink (int pid, const char *filename, char *buf,
diff --git a/gdbserver/server.cc b/gdbserver/server.cc
index 0ce40ee..ab69400 100644
--- a/gdbserver/server.cc
+++ b/gdbserver/server.cc
@@ -51,6 +51,7 @@
#include "gdbsupport/scoped_restore.h"
#include "gdbsupport/search.h"
#include "gdbsupport/gdb_argv_vec.h"
+#include "gdbsupport/remote-args.h"
/* PBUFSIZ must also be at least as big as IPA_CMD_BUF_SIZE, because
the client state data is passed directly to some agent
@@ -2863,7 +2864,7 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
{
char *end_buf = own_buf + strlen (own_buf);
sprintf (end_buf, ";QThreadOptions=%s",
- phex_nz (supported_options, sizeof (supported_options)));
+ phex_nz (supported_options));
}
strcat (own_buf, ";QThreadEvents+");
@@ -3465,7 +3466,7 @@ handle_v_run (char *own_buf)
else
program_path.set (new_program_name.get ());
- program_args = construct_inferior_arguments (new_argv.get (), true);
+ program_args = gdb::remote_args::join (new_argv.get ());
try
{
diff --git a/gdbserver/target.cc b/gdbserver/target.cc
index 4838b39..c400174c 100644
--- a/gdbserver/target.cc
+++ b/gdbserver/target.cc
@@ -258,7 +258,7 @@ target_pid_to_str (ptid_t ptid)
else if (ptid.tid () != 0)
return string_printf("Thread %d.0x%s",
ptid.pid (),
- phex_nz (ptid.tid (), sizeof (ULONGEST)));
+ phex_nz (ptid.tid ()));
else if (ptid.lwp () != 0)
return string_printf("LWP %d.%ld",
ptid.pid (), ptid.lwp ());
@@ -773,6 +773,13 @@ process_stratum_target::multifs_open (int pid, const char *filename,
}
int
+process_stratum_target::multifs_lstat (int pid, const char *filename,
+ struct stat *sb)
+{
+ return lstat (filename, sb);
+}
+
+int
process_stratum_target::multifs_unlink (int pid, const char *filename)
{
return unlink (filename);
diff --git a/gdbserver/target.h b/gdbserver/target.h
index af788e2..66ca72f 100644
--- a/gdbserver/target.h
+++ b/gdbserver/target.h
@@ -31,6 +31,7 @@
#include "gdbsupport/btrace-common.h"
#include <vector>
#include "gdbsupport/byte-vector.h"
+#include <sys/stat.h>
struct emit_ops;
struct process_info;
@@ -441,6 +442,12 @@ public:
virtual int multifs_open (int pid, const char *filename,
int flags, mode_t mode);
+ /* Multiple-filesystem-aware lstat. Like lstat(2), but operating in
+ the filesystem as it appears to process PID. Systems where all
+ processes share a common filesystem should not override this.
+ The default behavior is to use lstat(2). */
+ virtual int multifs_lstat (int pid, const char *filename, struct stat *sb);
+
/* Multiple-filesystem-aware unlink. Like unlink(2), but operates
in the filesystem as it appears to process PID. Systems where
all processes share a common filesystem should not override this.
diff --git a/gdbserver/tracepoint.cc b/gdbserver/tracepoint.cc
index 715cc63..b308c82 100644
--- a/gdbserver/tracepoint.cc
+++ b/gdbserver/tracepoint.cc
@@ -3461,8 +3461,8 @@ cmd_qtstatus (char *packet)
free_space (), phex_nz (trace_buffer_hi - trace_buffer_lo, 0),
circular_trace_buffer,
disconnected_tracing,
- phex_nz (tracing_start_time, sizeof (tracing_start_time)),
- phex_nz (tracing_stop_time, sizeof (tracing_stop_time)),
+ phex_nz (tracing_start_time),
+ phex_nz (tracing_stop_time),
buf1, buf2);
}
@@ -4990,7 +4990,7 @@ build_traceframe_info_xml (char blocktype, unsigned char *dataptr, void *data)
dataptr += sizeof (mlen);
string_xml_appendf (*buffer,
"<memory start=\"0x%s\" length=\"0x%s\"/>\n",
- paddress (maddr), phex_nz (mlen, sizeof (mlen)));
+ paddress (maddr), phex_nz (mlen));
break;
}
case 'V':
diff --git a/gdbserver/utils.cc b/gdbserver/utils.cc
index 092fe47..a86405e 100644
--- a/gdbserver/utils.cc
+++ b/gdbserver/utils.cc
@@ -102,5 +102,5 @@ internal_vwarning (const char *file, int line, const char *fmt, va_list args)
const char *
paddress (CORE_ADDR addr)
{
- return phex_nz (addr, sizeof (CORE_ADDR));
+ return phex_nz (addr);
}
diff --git a/gdbsupport/Makefile.am b/gdbsupport/Makefile.am
index 79aef95..20122e4 100644
--- a/gdbsupport/Makefile.am
+++ b/gdbsupport/Makefile.am
@@ -80,6 +80,7 @@ libgdbsupport_a_SOURCES = \
pathstuff.cc \
print-utils.cc \
ptid.cc \
+ remote-args.cc \
rsp-low.cc \
run-time-clock.cc \
safe-strerror.cc \
diff --git a/gdbsupport/Makefile.in b/gdbsupport/Makefile.in
index c2feacc..66b8891 100644
--- a/gdbsupport/Makefile.in
+++ b/gdbsupport/Makefile.in
@@ -163,12 +163,12 @@ am_libgdbsupport_a_OBJECTS = agent.$(OBJEXT) btrace-common.$(OBJEXT) \
gdb_tilde_expand.$(OBJEXT) gdb_wait.$(OBJEXT) \
gdb_vecs.$(OBJEXT) job-control.$(OBJEXT) netstuff.$(OBJEXT) \
new-op.$(OBJEXT) osabi.$(OBJEXT) pathstuff.$(OBJEXT) \
- print-utils.$(OBJEXT) ptid.$(OBJEXT) rsp-low.$(OBJEXT) \
- run-time-clock.$(OBJEXT) safe-strerror.$(OBJEXT) \
- scoped_mmap.$(OBJEXT) search.$(OBJEXT) signals.$(OBJEXT) \
- signals-state-save-restore.$(OBJEXT) task-group.$(OBJEXT) \
- tdesc.$(OBJEXT) thread-pool.$(OBJEXT) xml-utils.$(OBJEXT) \
- $(am__objects_1) $(am__objects_2)
+ print-utils.$(OBJEXT) ptid.$(OBJEXT) remote-args.$(OBJEXT) \
+ rsp-low.$(OBJEXT) run-time-clock.$(OBJEXT) \
+ safe-strerror.$(OBJEXT) scoped_mmap.$(OBJEXT) search.$(OBJEXT) \
+ signals.$(OBJEXT) signals-state-save-restore.$(OBJEXT) \
+ task-group.$(OBJEXT) tdesc.$(OBJEXT) thread-pool.$(OBJEXT) \
+ xml-utils.$(OBJEXT) $(am__objects_1) $(am__objects_2)
libgdbsupport_a_OBJECTS = $(am_libgdbsupport_a_OBJECTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -438,6 +438,7 @@ libgdbsupport_a_SOURCES = \
pathstuff.cc \
print-utils.cc \
ptid.cc \
+ remote-args.cc \
rsp-low.cc \
run-time-clock.cc \
safe-strerror.cc \
@@ -548,6 +549,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pathstuff.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/print-utils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptid.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/remote-args.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rsp-low.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/run-time-clock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/safe-strerror.Po@am__quote@
diff --git a/gdbsupport/common-utils.h b/gdbsupport/common-utils.h
index a168458..10bf9f4 100644
--- a/gdbsupport/common-utils.h
+++ b/gdbsupport/common-utils.h
@@ -196,6 +196,16 @@ in_inclusive_range (T value, T low, T high)
extern ULONGEST align_up (ULONGEST v, int n);
extern ULONGEST align_down (ULONGEST v, int n);
+/* Sign-extend the value V, using N as the number of valid bits. That
+ is, bit N-1 is the sign bit. The higher-order bits (those outside
+ 0..N-1) must be zero. */
+static inline ULONGEST
+sign_extend (ULONGEST v, int n)
+{
+ ULONGEST mask = (ULONGEST) 1 << (n - 1);
+ return (v ^ mask) - mask;
+}
+
/* Convert hex digit A to a number, or throw an exception. */
extern int fromhex (int a);
diff --git a/gdbsupport/event-loop.cc b/gdbsupport/event-loop.cc
index c080490..e7b21e7 100644
--- a/gdbsupport/event-loop.cc
+++ b/gdbsupport/event-loop.cc
@@ -827,7 +827,8 @@ update_wait_timeout (void)
/* Update the timeout for select/ poll. */
#ifdef HAVE_POLL
if (use_poll)
- gdb_notifier.poll_timeout = timeout.tv_sec * 1000;
+ gdb_notifier.poll_timeout = (timeout.tv_sec * 1000 +
+ (timeout.tv_usec + 1000 - 1) / 1000);
else
#endif /* HAVE_POLL */
{
diff --git a/gdbsupport/parallel-for.h b/gdbsupport/parallel-for.h
index c485c36..b74c806 100644
--- a/gdbsupport/parallel-for.h
+++ b/gdbsupport/parallel-for.h
@@ -40,10 +40,9 @@ namespace gdb
at least N elements processed per thread. Setting N to 0 is not
allowed. */
-template<class RandomIt, class RangeFunction>
+template<std::size_t n, class RandomIt, class RangeFunction>
void
-parallel_for_each (unsigned n, RandomIt first, RandomIt last,
- RangeFunction callback)
+parallel_for_each (RandomIt first, RandomIt last, RangeFunction callback)
{
/* If enabled, print debug info about how the work is distributed across
the threads. */
@@ -73,7 +72,7 @@ parallel_for_each (unsigned n, RandomIt first, RandomIt last,
if (parallel_for_each_debug)
{
debug_printf (_("Parallel for: n_elements: %zu\n"), n_elements);
- debug_printf (_("Parallel for: minimum elements per thread: %u\n"), n);
+ debug_printf (_("Parallel for: minimum elements per thread: %zu\n"), n);
debug_printf (_("Parallel for: elts_per_thread: %zu\n"), elts_per_thread);
}
@@ -141,8 +140,7 @@ parallel_for_each (unsigned n, RandomIt first, RandomIt last,
template<class RandomIt, class RangeFunction>
void
-sequential_for_each (unsigned n, RandomIt first, RandomIt last,
- RangeFunction callback)
+sequential_for_each (RandomIt first, RandomIt last, RangeFunction callback)
{
callback (first, last);
}
diff --git a/gdbsupport/poison.h b/gdbsupport/poison.h
index 791a18f..a91ee5d 100644
--- a/gdbsupport/poison.h
+++ b/gdbsupport/poison.h
@@ -183,7 +183,7 @@ xnewvar (size_t s)
{
static_assert (IsMallocable<T>::value, "Trying to use XNEWVAR with a \
non-POD data type.");
- return XNEWVAR (T, s);;
+ return XNEWVAR (T, s);
}
#undef XNEWVAR
diff --git a/gdbsupport/print-utils.cc b/gdbsupport/print-utils.cc
index 84a7485..8514720 100644
--- a/gdbsupport/print-utils.cc
+++ b/gdbsupport/print-utils.cc
@@ -145,7 +145,7 @@ static int thirty_two = 32;
/* See print-utils.h. */
const char *
-phex (ULONGEST l, int sizeof_l)
+phex_ulongest (ULONGEST l, int sizeof_l)
{
char *str;
@@ -170,7 +170,7 @@ phex (ULONGEST l, int sizeof_l)
xsnprintf (str, PRINT_CELL_SIZE, "%02x", (unsigned short) (l & 0xff));
break;
default:
- return phex (l, sizeof (l));
+ return phex (l);
break;
}
@@ -180,7 +180,7 @@ phex (ULONGEST l, int sizeof_l)
/* See print-utils.h. */
const char *
-phex_nz (ULONGEST l, int sizeof_l)
+phex_nz_ulongest (ULONGEST l, int sizeof_l)
{
char *str;
@@ -212,7 +212,7 @@ phex_nz (ULONGEST l, int sizeof_l)
xsnprintf (str, PRINT_CELL_SIZE, "%x", (unsigned short) (l & 0xff));
break;
default:
- return phex_nz (l, sizeof (l));
+ return phex_nz (l);
break;
}
@@ -226,7 +226,7 @@ hex_string (LONGEST num)
{
char *result = get_print_cell ();
- xsnprintf (result, PRINT_CELL_SIZE, "0x%s", phex_nz (num, sizeof (num)));
+ xsnprintf (result, PRINT_CELL_SIZE, "0x%s", phex_nz (num));
return result;
}
@@ -237,7 +237,7 @@ hex_string_custom (LONGEST num, int width)
{
char *result = get_print_cell ();
char *result_end = result + PRINT_CELL_SIZE - 1;
- const char *hex = phex_nz (num, sizeof (num));
+ const char *hex = phex_nz (num);
int hex_len = strlen (hex);
if (hex_len > width)
@@ -304,8 +304,7 @@ core_addr_to_string (const CORE_ADDR addr)
{
char *str = get_print_cell ();
- strcpy (str, "0x");
- strcat (str, phex (addr, sizeof (addr)));
+ xsnprintf (str, PRINT_CELL_SIZE, "0x%s", phex (addr));
return str;
}
@@ -316,8 +315,7 @@ core_addr_to_string_nz (const CORE_ADDR addr)
{
char *str = get_print_cell ();
- strcpy (str, "0x");
- strcat (str, phex_nz (addr, sizeof (addr)));
+ xsnprintf (str, PRINT_CELL_SIZE, "0x%s", phex_nz (addr));
return str;
}
diff --git a/gdbsupport/print-utils.h b/gdbsupport/print-utils.h
index e50d96f..dc5011c 100644
--- a/gdbsupport/print-utils.h
+++ b/gdbsupport/print-utils.h
@@ -34,15 +34,35 @@ extern const char *pulongest (ULONGEST u);
extern const char *plongest (LONGEST l);
-/* Convert a ULONGEST into a HEX string, like %lx, with leading zeros.
+/* Convert L (of type ULONGEST) into a hex string, like %lx, with leading
+ zeros. The result is stored in a circular static buffer, NUMCELLS
+ deep. */
+
+extern const char *phex_ulongest (ULONGEST l, int sizeof_l);
+
+/* Convert L into a HEX string, like %lx, with leading zeros.
The result is stored in a circular static buffer, NUMCELLS deep. */
-extern const char *phex (ULONGEST l, int sizeof_l);
+template<typename T>
+const char *phex (T l, int sizeof_l = sizeof (T))
+{
+ return phex_ulongest (l, sizeof_l);
+}
+
+/* Convert L (of type ULONGEST) into a hex string, like %lx, without leading
+ zeros. The result is stored in a circular static buffer, NUMCELLS
+ deep. */
-/* Convert a ULONGEST into a HEX string, like %lx, without leading zeros.
- The result is stored in a circular static buffer, NUMCELLS deep. */
+extern const char *phex_nz_ulongest (ULONGEST l, int sizeof_l);
+
+/* Convert L into a hex string, like %lx, without leading zeros.
+ The result is stored in a circular static buffer, NUMCELLS deep. */
-extern const char *phex_nz (ULONGEST l, int sizeof_l);
+template<typename T>
+const char *phex_nz (T l, int sizeof_l = sizeof (T))
+{
+ return phex_nz_ulongest (l, sizeof_l);
+}
/* Converts a LONGEST to a C-format hexadecimal literal and stores it
in a static string. Returns a pointer to this string. */
diff --git a/gdbsupport/remote-args.cc b/gdbsupport/remote-args.cc
new file mode 100644
index 0000000..2493433
--- /dev/null
+++ b/gdbsupport/remote-args.cc
@@ -0,0 +1,43 @@
+/* Copyright (C) 2023-2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include "gdbsupport/common-defs.h"
+#include "gdbsupport/remote-args.h"
+#include "gdbsupport/common-inferior.h"
+#include "gdbsupport/buildargv.h"
+
+/* See remote-args.h. */
+
+std::vector<std::string>
+gdb::remote_args::split (const std::string &args)
+{
+ std::vector<std::string> results;
+
+ gdb_argv argv (args.c_str ());
+ for (int i = 0; argv[i] != nullptr; i++)
+ results.emplace_back (argv[i]);
+
+ return results;
+}
+
+/* See remote-args.h. */
+
+std::string
+gdb::remote_args::join (const std::vector<char *> &args)
+{
+ return construct_inferior_arguments (args, true);
+}
diff --git a/gdbsupport/remote-args.h b/gdbsupport/remote-args.h
new file mode 100644
index 0000000..0533da6
--- /dev/null
+++ b/gdbsupport/remote-args.h
@@ -0,0 +1,60 @@
+/* Functions to help when passing arguments between GDB and gdbserver.
+
+ Copyright (C) 2023-2025 Free Software Foundation, Inc.
+
+ This file is part of GDB.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#ifndef GDBSUPPORT_REMOTE_ARGS_H
+#define GDBSUPPORT_REMOTE_ARGS_H
+
+/* The functions declared here are used when passing inferior arguments
+ from GDB to gdbserver.
+
+ The remote protocol requires that arguments are passed as a vector of
+ separate argument while GDB stores the arguments as a single string, and
+ gdbserver also requires the arguments be a single string.
+
+ These functions then provide a mechanism to split up an argument string
+ and recombine it within gdbserver while preserving escaping of special
+ characters within the argument string. */
+
+namespace gdb
+{
+
+namespace remote_args
+{
+
+/* ARGS is an inferior argument string. This function splits ARGS into
+ individual arguments and returns a vector containing each argument. */
+
+extern std::vector<std::string> split (const std::string &args);
+
+/* Join together the separate arguments in ARGS and build a single
+ inferior argument string. The string returned by this function will be
+ equivalent, but not necessarily identical to the string passed to
+ ::split, for example passing the string '"a b"' (without the single
+ quotes, but including the double quotes) to ::split, will return an
+ argument of 'a b' (without the single quotes). When this argument is
+ passed through ::join we will get back the string 'a\ b' (without the
+ single quotes), that is, we choose to escape the white space, rather
+ than wrap the argument in quotes. */
+extern std::string join (const std::vector<char *> &args);
+
+} /* namespace remote_args */
+
+} /* namespace gdb */
+
+#endif /* GDBSUPPORT_REMOTE_ARGS_H */
diff --git a/gdbsupport/run-time-clock.cc b/gdbsupport/run-time-clock.cc
index 43da1d9..cda60b0 100644
--- a/gdbsupport/run-time-clock.cc
+++ b/gdbsupport/run-time-clock.cc
@@ -37,14 +37,51 @@ timeval_to_microseconds (struct timeval *tv)
}
#endif
+/* See run-time-clock.h. */
+
+bool
+get_run_time_thread_scope_available ()
+{
+#if defined HAVE_GETRUSAGE && defined RUSAGE_THREAD
+ return true;
+#else
+ return false;
+#endif
+}
+
void
-run_time_clock::now (user_cpu_time_clock::time_point &user,
- system_cpu_time_clock::time_point &system) noexcept
+get_run_time (user_cpu_time_clock::time_point &user,
+ system_cpu_time_clock::time_point &system,
+ run_time_scope scope) noexcept
{
#ifdef HAVE_GETRUSAGE
+
+ /* If we can't provide thread scope run time usage, fallback to
+ process scope. This will at least be right if GDB is built
+ without threading support in the first place (or is set to use
+ zero worker threads). */
+# ifndef RUSAGE_THREAD
+# define RUSAGE_THREAD RUSAGE_SELF
+# endif
+
struct rusage rusage;
+ int who;
+
+ switch (scope)
+ {
+ case run_time_scope::thread:
+ who = RUSAGE_THREAD;
+ break;
+
+ case run_time_scope::process:
+ who = RUSAGE_SELF;
+ break;
+
+ default:
+ gdb_assert_not_reached ("invalid run_time_scope value");
+ }
- getrusage (RUSAGE_SELF, &rusage);
+ getrusage (who, &rusage);
microseconds utime = timeval_to_microseconds (&rusage.ru_utime);
microseconds stime = timeval_to_microseconds (&rusage.ru_stime);
diff --git a/gdbsupport/run-time-clock.h b/gdbsupport/run-time-clock.h
index a961f4c..2743514 100644
--- a/gdbsupport/run-time-clock.h
+++ b/gdbsupport/run-time-clock.h
@@ -51,6 +51,33 @@ struct system_cpu_time_clock
static time_point now () noexcept = delete;
};
+/* Whether to measure time run time for the whole process or just one
+ thread. */
+
+enum class run_time_scope
+{
+ process,
+ thread,
+};
+
+/* Return the user/system time as separate time points, if
+ supported. If not supported, then the combined user+kernel time
+ is returned in USER and SYSTEM is set to zero.
+
+ SCOPE indicates whether to return the run time for the whole
+ process or just for the calling thread. If the latter isn't
+ supported, then returns the run time for the whole process even if
+ run_time_scope::thread is requested. */
+
+void get_run_time (user_cpu_time_clock::time_point &user,
+ system_cpu_time_clock::time_point &system,
+ run_time_scope scope) noexcept;
+
+/* Returns true if is it possible for get_run_time above to return the
+ run time for just the calling thread. */
+
+bool get_run_time_thread_scope_available ();
+
/* Count the total amount of time spent executing in userspace+kernel
mode. */
@@ -64,12 +91,6 @@ struct run_time_clock
static constexpr bool is_steady = true;
static time_point now () noexcept;
-
- /* Return the user/system time as separate time points, if
- supported. If not supported, then the combined user+kernel time
- is returned in USER and SYSTEM is set to zero. */
- static void now (user_cpu_time_clock::time_point &user,
- system_cpu_time_clock::time_point &system) noexcept;
};
#endif /* GDBSUPPORT_RUN_TIME_CLOCK_H */
diff --git a/gprof/cg_arcs.c b/gprof/cg_arcs.c
index a19686b..9085be0 100644
--- a/gprof/cg_arcs.c
+++ b/gprof/cg_arcs.c
@@ -89,7 +89,7 @@ void
arc_add (Sym *parent, Sym *child, unsigned long count)
{
static unsigned int maxarcs = 0;
- Arc *arc, **newarcs;
+ Arc *arc;
DBG (TALLYDEBUG, printf ("[arc_add] %lu arcs from %s to %s\n",
count, parent->name, child->name));
@@ -124,17 +124,7 @@ arc_add (Sym *parent, Sym *child, unsigned long count)
maxarcs = 1;
maxarcs *= 2;
- /* Allocate the new array. */
- newarcs = (Arc **)xmalloc(sizeof (Arc *) * maxarcs);
-
- /* Copy the old array's contents into the new array. */
- memcpy (newarcs, arcs, numarcs * sizeof (Arc *));
-
- /* Free up the old array. */
- free (arcs);
-
- /* And make the new array be the current array. */
- arcs = newarcs;
+ arcs = xrealloc (arcs, sizeof (*arcs) * maxarcs);
}
/* Place this arc in the arc array. */
diff --git a/gprofng/common/config.h.in b/gprofng/common/config.h.in
index f8484f2..5f2c127 100644
--- a/gprofng/common/config.h.in
+++ b/gprofng/common/config.h.in
@@ -1,11 +1,17 @@
/* common/config.h.in. Generated from configure.ac by autoheader. */
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
/* Enable debugging output. */
#undef DEBUG
/* Enable java profiling */
#undef GPROFNG_JAVA_PROFILING
+/* Define to 1 if you have the <asm/hwprobe.h> header file. */
+#undef HAVE_ASM_HWPROBE_H
+
/* Define to 1 if you have the `clock_gettime' function. */
#undef HAVE_CLOCK_GETTIME
@@ -109,6 +115,18 @@
/* Version number of package */
#undef VERSION
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+ significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+# define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+# undef WORDS_BIGENDIAN
+# endif
+#endif
+
/* Define to 1 if on MINIX. */
#undef _MINIX
diff --git a/gprofng/common/core_pcbe.c b/gprofng/common/core_pcbe.c
index 107a994..14080ab 100644
--- a/gprofng/common/core_pcbe.c
+++ b/gprofng/common/core_pcbe.c
@@ -2759,7 +2759,7 @@ core_pcbe_init (void)
return -1;
}
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
/* No Architectural Performance Monitoring Leaf returned by CPUID */
if (get_cpuid_info ()->cpi_maxeax < 0xa)
return (-1);
@@ -2918,7 +2918,7 @@ core_pcbe_cpuref (void)
{
#if defined(__aarch64__) || defined(__riscv)
return "";
-#elif defined(__i386__) || defined(__x86_64)
+#elif defined(__i386__) || defined(__x86_64__)
switch (cpuid_getmodel ())
{
case 60: /* Haswell */
diff --git a/gprofng/common/cpu_frequency.h b/gprofng/common/cpu_frequency.h
index 2371863..c6979c4 100644
--- a/gprofng/common/cpu_frequency.h
+++ b/gprofng/common/cpu_frequency.h
@@ -41,7 +41,7 @@ extern "C"
#define COL_CPUFREQ_SCALING 0x0001
#define COL_CPUFREQ_TURBO 0x0002
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
// XXXX This is a rough table to estimate frequency increment due to intel turbo boost.
// CPU with different stepping and different core number have different turbo increment.
// It is used internally here, and is not implemented on SPARC
@@ -129,7 +129,7 @@ extern "C"
{
char temp[1024];
int cpu = -1;
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
int model = -1;
int family = -1;
#endif
@@ -140,7 +140,7 @@ extern "C"
char *val = strchr (temp, ':');
cpu = val ? atoi (val + 1) : -1;
}
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
else if (strncmp (temp, "model", strlen ("model")) == 0
&& strstr (temp, "name") == 0)
{
@@ -241,7 +241,7 @@ extern "C"
frequency_scaling = 1;
if (tmpmhz > 1000)
{
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
if (family == 6)
{
// test turbo mode
diff --git a/gprofng/common/cpuid.c b/gprofng/common/cpuid.c
index 9e45233..f9f9046 100644
--- a/gprofng/common/cpuid.c
+++ b/gprofng/common/cpuid.c
@@ -18,7 +18,7 @@
Foundation, 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
#include <cpuid.h> /* GCC-provided */
#elif defined(__aarch64__)
#if !defined(ATTRIBUTE_UNUSED)
@@ -48,8 +48,10 @@ __get_cpuid (unsigned int op ATTRIBUTE_UNUSED, unsigned int *eax,
#include <sched.h>
#include <sys/syscall.h>
#include <unistd.h>
+#ifdef HAVE_ASM_HWPROBE_H
#include <asm/hwprobe.h>
#endif
+#endif
/*
* Various routines to handle identification
@@ -91,7 +93,7 @@ typedef struct
} cpuid_info_t;
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
static uint_t
cpuid_vendorstr_to_vendorcode (char *vendorstr)
{
@@ -151,7 +153,7 @@ get_cpuid_info ()
Tprintf (DBG_LT0, "cpuid.c:%d read_cpuid_id() MIDR_EL1==0x%016x cpi_vendor=%d cpi_model=%d\n",
__LINE__, (unsigned int) reg, cpi->cpi_vendor, cpi->cpi_model);
-#elif defined(__i386__) || defined(__x86_64)
+#elif defined(__i386__) || defined(__x86_64__)
cpuid_regs_t regs;
my_cpuid (0, &regs);
cpi->cpi_maxeax = regs.eax;
@@ -188,7 +190,7 @@ get_cpuid_info ()
break;
}
#elif defined(__riscv)
- #ifndef __riscv_hwprobe
+ #if !defined(__riscv_hwprobe) || !defined(HAVE_ASM_HWPROBE_H)
cpi->cpi_vendor = 0;
cpi->cpi_family = 0;
cpi->cpi_model = 0;
@@ -208,7 +210,7 @@ get_cpuid_info ()
cpi->cpi_vendor = res.value;
cpi->cpi_family = 0;
cpi->cpi_model = 0;
- #endif
+ #endif
#endif
return cpi;
}
diff --git a/gprofng/common/gp-defs.h b/gprofng/common/gp-defs.h
index d6c9445..4b5d6fa 100644
--- a/gprofng/common/gp-defs.h
+++ b/gprofng/common/gp-defs.h
@@ -42,7 +42,7 @@
#if defined(sparc) || defined(__sparcv9)
#define ARCH_SPARC 1
-#elif defined(__i386__) || defined(__x86_64)
+#elif defined(__i386__) || defined(__x86_64__)
#define ARCH_Intel 1
#elif defined(__aarch64__)
#define ARCH_Aarch64 1
@@ -52,7 +52,7 @@
#error "Undefined platform"
#endif
-#if defined(__sparcv9) || defined(__x86_64) || defined(__aarch64__) || defined(__riscv)
+#if defined(__sparcv9) || defined(__x86_64__) || defined(__aarch64__) || defined(__riscv)
#define WSIZE_64 1
#else
#define WSIZE_32 1
diff --git a/gprofng/common/gp-experiment.h b/gprofng/common/gp-experiment.h
index fab08f1..7abccdf 100644
--- a/gprofng/common/gp-experiment.h
+++ b/gprofng/common/gp-experiment.h
@@ -39,6 +39,23 @@
#define IS_DESC_EXPT(exptname) (strstr(exptname,DESCENDANT_EXPT_KEY) != NULL)
#define IS_FNDR_EXPT(exptname) (strstr(exptname,DESCENDANT_EXPT_KEY) == NULL)
+// environment variables that must be forwarded to libcollector
+#define SP_COLLECTOR_PARAMS "SP_COLLECTOR_PARAMS"
+#define SP_COLLECTOR_EXPNAME "SP_COLLECTOR_EXPNAME"
+#define SP_COLLECTOR_FOLLOW_SPEC "SP_COLLECTOR_FOLLOW_SPEC"
+#define SP_COLLECTOR_FOUNDER "SP_COLLECTOR_FOUNDER"
+#define SP_PRELOAD_STRINGS "SP_COLLECTOR_PRELOAD"
+#define LD_PRELOAD_STRINGS "LD_PRELOAD"
+#define SP_LIBPATH_STRINGS "SP_COLLECTOR_LIBRARY_PATH"
+#define LD_LIBPATH_STRINGS "LD_LIBRARY_PATH"
+#define JAVA_TOOL_OPTIONS "JAVA_TOOL_OPTIONS"
+#define COLLECTOR_JVMTI_OPTION "-agentlib:gp-collector"
+#define LIBGP_COLLECTOR "libgp-collector.so"
+#define GPROFNG_PRELOAD_LIBDIRS "GPROFNG_PRELOAD_LIBDIRS"
+#define SP_COLLECTOR_ORIGIN_COLLECT "SP_COLLECTOR_ORIGIN_COLLECT"
+#define SP_COLLECTOR_DEBUG "SP_COLLECTOR_DEBUG"
+#define SP_COLLECTOR_TRACELEVEL "SP_COLLECTOR_TRACELEVEL"
+
/* File name definitions */
#define SP_ARCHIVES_DIR "archives"
#define SP_ARCHIVE_LOG_FILE "archive.log"
@@ -86,70 +103,31 @@
/* records for log and loadobjects files */
/* note that these are in alphabetical order */
-#define SP_JCMD_ARCH "architecture"
#define SP_JCMD_ARCHIVE "archive_run"
-#define SP_JCMD_ARGLIST "arglist"
#define SP_JCMD_BLKSZ "blksz"
#define SP_JCMD_CERROR "cerror"
-#define SP_JCMD_CLASS_LOAD "class_load"
-#define SP_JCMD_CLASS_UNLOAD "class_unload"
#define SP_JCMD_COLLENV "collenv"
#define SP_JCMD_COMMENT "comment"
-#define SP_JCMD_CPUID "cpuid"
#define SP_JCMD_CWARN "cwarn"
-#define SP_JCMD_CWD "cwd"
-#define SP_JCMD_CVERSION "cversion"
-#define SP_JCMD_DATARACE "datarace"
-#define SP_JCMD_DEADLOCK "deadlock"
#define SP_JCMD_DELAYSTART "delay_start"
#define SP_JCMD_DESC_START "desc_start"
#define SP_JCMD_DESC_STARTED "desc_started"
-#define SP_JCMD_DVERSION "dversion"
#define SP_JCMD_EXEC_START "exec_start"
#define SP_JCMD_EXEC_ERROR "exec_error"
#define SP_JCMD_EXIT "exit"
-#define SP_JCMD_EXPT_DURATION "exp_duration"
#define SP_JCMD_FAKETIME "faketime"
-#define SP_JCMD_FN_LOAD "fn_load"
-#define SP_JCMD_FN_UNLOAD "fn_unload"
-#define SP_JCMD_FUN_MAP "fun_map"
-#define SP_JCMD_FUN_UNMAP "fun_unmap"
#define SP_JCMD_HEAPTRACE "heaptrace"
-#define SP_JCMD_HOSTNAME "hostname"
#define SP_JCMD_HWC_DEFAULT "hwc_default"
#define SP_JCMD_HW_COUNTER "hwcounter"
-#define SP_JCMD_HW_SIM_CTR "hwsimctr"
#define SP_JCMD_IOTRACE "iotrace"
-#define SP_JCMD_JCM_LOAD "jcm_load"
-#define SP_JCMD_JCM_UNLOAD "jcm_unload"
-#define SP_JCMD_JCM_MAP "jcm_map"
-#define SP_JCMD_JCM_UNMAP "jcm_unmap"
#define SP_JCMD_JTHREND "jthread_end"
#define SP_JCMD_JTHRSTART "jthread_start"
#define SP_JCMD_GCEND "gc_end"
#define SP_JCMD_GCSTART "gc_start"
#define SP_JCMD_JVERSION "jversion"
-//#define SP_JCMD_KPROFILE "kprofile" /* TBR */
#define SP_JCMD_LIMIT "limit"
#define SP_JCMD_LINETRACE "linetrace"
-#define SP_JCMD_LO_OPEN "lo_open"
-#define SP_JCMD_LO_CLOSE "lo_close"
-#define SP_JCMD_MOD_OPEN "mod_open"
-#define SP_JCMD_MPIEXP "MPIexperiment"
-#define SP_JCMD_MPI_NO_TRACE "MPI_no_trace"
-#define SP_JCMD_MPIOMPVER "mpi_openmpi_version"
-#define SP_JCMD_MPITRACEVER "mpi_trace_version"
-#define SP_JCMD_MPIPP "mpipp"
-#define SP_JCMD_MPIPPERR "mpipp_err"
-#define SP_JCMD_MPIPPWARN "mpipp_warn"
-#define SP_JCMD_MPISTATE "mpistate"
-#define SP_JCMD_MPITRACE "mpitrace" /* backwards compat only */
-#define SP_JCMD_MPVIEW "mpview"
-#define SP_JCMD_MSGTRACE "msgtrace"
#define SP_JCMD_NOIDLE "noidle"
-#define SP_JCMD_OMPTRACE "omptrace"
-#define SP_JCMD_OS "os"
-#define SP_JCMD_PAGESIZE "pagesize"
#define SP_JCMD_PAUSE "pause"
#define SP_JCMD_PAUSE_SIG "pause_signal"
#define SP_JCMD_PROFILE "profile"
@@ -158,21 +136,15 @@
#define SP_JCMD_SAMPLE "sample"
#define SP_JCMD_SAMPLE_PERIOD "sample_period"
#define SP_JCMD_SAMPLE_SIG "sample_signal"
-#define SP_JCMD_SEGMENT_MAP "seg_map"
-#define SP_JCMD_SEGMENT_UNMAP "seg_unmap"
#define SP_JCMD_SRCHPATH "search_path"
#define SP_JCMD_STACKBASE "stackbase"
-#define SP_JCMD_SUNPERF "sunperf"
#define SP_JCMD_SYNCTRACE "synctrace"
#define SP_JCMD_TERMINATE "terminate"
#define SP_JCMD_THREAD_PAUSE "thread_pause"
#define SP_JCMD_THREAD_RESUME "thread_resume"
-#define SP_JCMD_USERNAME "username"
#define SP_JCMD_VERSION "version"
-#define SP_JCMD_WSIZE "wsize"
/* strings naming memory-segments */
-#define SP_MAP_ANON "Anon"
#define SP_MAP_HEAP "Heap"
#define SP_MAP_STACK "Stack"
#define SP_MAP_SHMEM "SHMid"
diff --git a/gprofng/common/hwctable.c b/gprofng/common/hwctable.c
index 4b6f2a9..1ce365a 100644
--- a/gprofng/common/hwctable.c
+++ b/gprofng/common/hwctable.c
@@ -243,7 +243,7 @@ static Hwcentry papi_generic_list[] = {
{NULL, NULL, 0, NULL, 0, 0, 0, 0, ABST_NONE}
};
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
/* Kernel profiling pseudo-chip, OBSOLETE (To support 12.3 and earlier, TBR) */
static Hwcentry kproflist[] = {
{"kcycles", "kcycles", 0, STXT ("KCPU Cycles"), PRELOADS_5, 1, ABST_NONE},
@@ -1216,7 +1216,7 @@ static Hwcentry amd_15h[] = {
{"insts1", "EX_retired_instr_w_excp_intr", 1, NULL, PRELOADS_8, 0, ABST_NONE},
{NULL, NULL, 0, NULL, 0, 0, 0, 0, ABST_NONE}
};
-#endif /* __i386__ or __x86_64 */
+#endif /* __i386__ or __x86_64__ */
#define INIT_HWC(nm, mtr, cfg, ty) .name = (nm), .metric = (mtr), \
.config = (cfg), .type = ty, .use_perf_event_type = 1, \
@@ -1303,7 +1303,7 @@ static Hwcentry generic_list[] = {
{NULL, NULL, 0, NULL, 0, 0, 0, 0, ABST_NONE}
};
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
#include "hwc_amd_zen3.h"
#include "hwc_amd_zen4.h"
#include "hwc_intel_icelake.h"
@@ -1332,7 +1332,7 @@ typedef struct
* If the string is not formatted that way, -h hi and -h lo will fail
*/
static cpu_list_t cputabs[] = {
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
{CPC_PENTIUM_PRO_MMX, pentiumIIlist, {"insts", 0}},
{CPC_PENTIUM_PRO, pentiumIIIlist, {"insts", 0}},
{CPC_PENTIUM_4, pentium4, {"insts", 0}},
diff --git a/gprofng/configure b/gprofng/configure
index 3f40863..2f4e18c 100755
--- a/gprofng/configure
+++ b/gprofng/configure
@@ -15623,6 +15623,230 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Only expand once:
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if ${ac_cv_c_bigendian+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_c_bigendian=unknown
+ # See if we're dealing with a universal compiler.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifndef __APPLE_CC__
+ not a universal capable compiler
+ #endif
+ typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+ # Check for potential -arch flags. It is not universal unless
+ # there are at least two -arch flags with different values.
+ ac_arch=
+ ac_prev=
+ for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+ if test -n "$ac_prev"; then
+ case $ac_word in
+ i?86 | x86_64 | ppc | ppc64)
+ if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+ ac_arch=$ac_word
+ else
+ ac_cv_c_bigendian=universal
+ break
+ fi
+ ;;
+ esac
+ ac_prev=
+ elif test "x$ac_word" = "x-arch"; then
+ ac_prev=arch
+ fi
+ done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if sys/param.h defines the BYTE_ORDER macro.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+ && LITTLE_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <sys/types.h>
+ #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+ bogus endian macros
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ # It does; now see whether it defined to _BIG_ENDIAN or not.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+ not big endian
+ #endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_c_bigendian=yes
+else
+ ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ fi
+ if test $ac_cv_c_bigendian = unknown; then
+ # Compile a test program.
+ if test "$cross_compiling" = yes; then :
+ # Try to guess by grepping values from an object file.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+short int ascii_mm[] =
+ { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+ short int ascii_ii[] =
+ { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+ int use_ascii (int i) {
+ return ascii_mm[i] + ascii_ii[i];
+ }
+ short int ebcdic_ii[] =
+ { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+ short int ebcdic_mm[] =
+ { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+ int use_ebcdic (int i) {
+ return ebcdic_mm[i] + ebcdic_ii[i];
+ }
+ extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+ ac_cv_c_bigendian=yes
+ fi
+ if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+ if test "$ac_cv_c_bigendian" = unknown; then
+ ac_cv_c_bigendian=no
+ else
+ # finding both strings is unlikely to happen, but who knows?
+ ac_cv_c_bigendian=unknown
+ fi
+ fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$ac_includes_default
+int
+main ()
+{
+
+ /* Are we little or big endian? From Harbison&Steele. */
+ union
+ {
+ long int l;
+ char c[sizeof (long int)];
+ } u;
+ u.l = 1;
+ return u.c[sizeof (long int) - 1] == 1;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ ac_cv_c_bigendian=no
+else
+ ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+ yes)
+ $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+ no)
+ ;; #(
+ universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+ ;; #(
+ *)
+ as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
+ esac
+
GPROFNG_LIBADD="-L../../libiberty -liberty"
if test "$enable_shared" = "yes"; then
@@ -16941,6 +17165,21 @@ fi
done
+# For riscv builds inside incomplete environments such as during intermediate
+# steps of cross toolchain building, or with outdated Linux headers.
+for ac_header in asm/hwprobe.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "asm/hwprobe.h" "ac_cv_header_asm_hwprobe_h" "$ac_includes_default"
+if test "x$ac_cv_header_asm_hwprobe_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_ASM_HWPROBE_H 1
+_ACEOF
+
+fi
+
+done
+
+
clock_gettime_link=
# At least for glibc, clock_gettime is in librt. But don't
# pull that in if it still doesn't give us the function we want. This
@@ -17145,6 +17384,7 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+
if test -z "${BUILD_COLLECTOR_TRUE}" && test -z "${BUILD_COLLECTOR_FALSE}"; then
as_fn_error $? "conditional \"BUILD_COLLECTOR\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/gprofng/configure.ac b/gprofng/configure.ac
index d7a2c38..deb3ed5 100644
--- a/gprofng/configure.ac
+++ b/gprofng/configure.ac
@@ -33,6 +33,7 @@ gl_PROG_BISON([BISON],[3.0.4])
AC_DISABLE_SHARED
LT_INIT
+AC_C_BIGENDIAN
GPROFNG_LIBADD="-L../../libiberty -liberty"
if test "$enable_shared" = "yes"; then
@@ -244,6 +245,10 @@ AC_SUBST(GPROFNG_CPPFLAGS, [${gprofng_cppflags}])
AC_CHECK_DECLS([basename])
AC_CHECK_FUNCS(clock_gettime strsignal)
+# For riscv builds inside incomplete environments such as during intermediate
+# steps of cross toolchain building, or with outdated Linux headers.
+AC_CHECK_HEADERS(asm/hwprobe.h)
+
clock_gettime_link=
# At least for glibc, clock_gettime is in librt. But don't
# pull that in if it still doesn't give us the function we want. This
diff --git a/gprofng/doc/gprofng_ug.texi b/gprofng/doc/gprofng_ug.texi
index 7147090..f23f7b3 100644
--- a/gprofng/doc/gprofng_ug.texi
+++ b/gprofng/doc/gprofng_ug.texi
@@ -310,9 +310,8 @@ Since there is no need to recompile, existing executables can be used
and the profile measures the behaviour of exactly the same executable that is
used in production runs.
-With sampling, one inherently profiles a different executable, because
-the calls to the instrumentation library may affect the compiler optimizations
-and run time behaviour.
+With tracing, one inherently profiles a different executable, because
+the calls to the instrumentation library may affect runtime behaviour.
@item
With sampling, there are very few restrictions on what can be profiled and
diff --git a/gprofng/libcollector/collector.c b/gprofng/libcollector/collector.c
index 8d978a6..3bb3fc3 100644
--- a/gprofng/libcollector/collector.c
+++ b/gprofng/libcollector/collector.c
@@ -182,11 +182,12 @@ static void
init_tracelevel ()
{
#if DEBUG
- char *s = CALL_UTIL (getenv)("SP_COLLECTOR_TRACELEVEL");
+ char *s = CALL_UTIL (getenv)(SP_COLLECTOR_TRACELEVEL);
if (s != NULL)
__collector_tracelevel = CALL_UTIL (atoi)(s);
- TprintfT (DBG_LT0, "collector: SP_COLLECTOR_TRACELEVEL=%d\n", __collector_tracelevel);
- s = CALL_UTIL (getenv)("SP_COLLECTOR_DEBUG");
+ TprintfT (DBG_LT0, "collector: %s=%d\n", SP_COLLECTOR_TRACELEVEL,
+ __collector_tracelevel);
+ s = CALL_UTIL (getenv)(SP_COLLECTOR_DEBUG);
if (s != NULL)
collector_debug_opt = CALL_UTIL (atoi)(s) & ~(SP_DUMP_TIME | SP_DUMP_FLAG);
#endif
@@ -239,21 +240,24 @@ collector_init ()
collector_module_init (get_collector_interface ());
/* determine experiment name */
- char *exp = CALL_UTIL (getenv)("SP_COLLECTOR_EXPNAME");
+ char *exp = CALL_UTIL (getenv)(SP_COLLECTOR_EXPNAME);
if ((exp == NULL) || (CALL_UTIL (strlen)(exp) == 0))
{
- TprintfT (DBG_LT0, "collector_init: SP_COLLECTOR_EXPNAME undefined - no experiment to start\n");
+ TprintfT (DBG_LT0, "collector_init: %s undefined. no experiment to start\n",
+ SP_COLLECTOR_EXPNAME);
/* not set -- no experiment to run */
return;
}
else
- TprintfT (DBG_LT1, "collector_init: found SP_COLLECTOR_EXPNAME = %s\n", exp);
+ TprintfT (DBG_LT1, "collector_init: found %s = %s\n",
+ SP_COLLECTOR_EXPNAME, exp);
/* determine the data descriptor for the experiment */
- char *params = CALL_UTIL (getenv)("SP_COLLECTOR_PARAMS");
+ char *params = CALL_UTIL (getenv)(SP_COLLECTOR_PARAMS);
if (params == NULL)
{
- TprintfT (0, "collector_init: SP_COLLECTOR_PARAMS undefined - no experiment to start\n");
+ TprintfT (0, "collector_init: %s undefined - no experiment to start\n",
+ SP_COLLECTOR_EXPNAME);
return;
}
@@ -494,7 +498,8 @@ __collector_open_experiment (const char *exp, const char *params, sp_origin_t or
return COL_ERROR_EXPOPEN;
}
__collector_start_time = collector_interface.getHiResTime ();
- TprintfT (DBG_LT1, "\n\t\t__collector_open_experiment(SP_COLLECTOR_EXPNAME=%s, params=%s, origin=%d); setting start_time\n",
+ TprintfT (DBG_LT1, "\n\t\t__collector_open_experiment(%s=%s, params=%s, "
+ "origin=%d); setting start_time\n", SP_COLLECTOR_EXPNAME,
exp, params, origin);
if (environ)
__collector_env_printall ("__collector_open_experiment", environ);
@@ -548,23 +553,20 @@ __collector_open_experiment (const char *exp, const char *params, sp_origin_t or
is_founder = getpid ();
if (origin != SP_ORIGIN_DBX_ATTACH)
{
- envar = CALL_UTIL (getenv)("SP_COLLECTOR_FOUNDER");
+ envar = CALL_UTIL (getenv)(SP_COLLECTOR_FOUNDER);
if (envar)
is_founder = CALL_UTIL (atoi)(envar);
if (is_founder != 0)
{
if (is_founder != getpid ())
{
- TprintfT (0, "__collector_open_experiment SP_COLLECTOR_FOUNDER=%d != pid(%d)\n",
- is_founder, getpid ());
- //CALL_UTIL(fprintf)(stderr, "__collector_open_experiment SP_COLLECTOR_FOUNDER=%d != pid(%d); not recording experiment\n",
- //is_founder, getpid() );
- //return COL_ERROR_UNEXP_FOUNDER;
+ TprintfT (0, "__collector_open_experiment %s=%d != pid(%d)\n",
+ SP_COLLECTOR_FOUNDER, is_founder, getpid ());
is_founder = 0; // Special case (CR 22917352)
}
/* clear FOUNDER for descendant experiments */
- TprintfT (0, "__collector_open_experiment setting SP_COLLECTOR_FOUNDER=0\n");
- CALL_UTIL (strlcpy)(buffer, "SP_COLLECTOR_FOUNDER=0", sizeof (buffer));
+ TprintfT (0, "__collector_open_experiment setting %s=0\n", SP_COLLECTOR_FOUNDER);
+ CALL_UTIL (snprintf)(buffer, sizeof (buffer), "%s=0", SP_COLLECTOR_FOUNDER);
CALL_UTIL (putenv)(buffer);
}
}
@@ -617,8 +619,10 @@ __collector_open_experiment (const char *exp, const char *params, sp_origin_t or
return COL_ERROR_BADDIR;
}
static char exp_name_env[MAXPATHLEN + 1];
- TprintfT (DBG_LT1, "collector_open_experiment: setting SP_COLLECTOR_EXPNAME to %s\n", __collector_exp_dir_name);
- CALL_UTIL (snprintf)(exp_name_env, sizeof (exp_name_env), "SP_COLLECTOR_EXPNAME=%s", __collector_exp_dir_name);
+ TprintfT (DBG_LT1, "collector_open_experiment: setting %s to %s\n",
+ SP_COLLECTOR_EXPNAME, __collector_exp_dir_name);
+ CALL_UTIL (snprintf)(exp_name_env, sizeof (exp_name_env), "%s=%s",
+ SP_COLLECTOR_EXPNAME, __collector_exp_dir_name);
CALL_UTIL (putenv)(exp_name_env);
}
/* Check that the name is that of a directory (new structure) */
@@ -1049,8 +1053,10 @@ collector_tail_init (const char *parent_exp_name)
if (collector_exp_dir_append_x (linenum, parent_exp_name) != 0)
return COL_ERROR_BADDIR;
static char exp_name_env[MAXPATHLEN + 1];
- CALL_UTIL (snprintf)(exp_name_env, sizeof (exp_name_env), "SP_COLLECTOR_EXPNAME=%s", __collector_exp_dir_name);
- TprintfT (DBG_LT1, "collector_tail_init: setting SP_COLLECTOR_EXPNAME to %s\n", __collector_exp_dir_name);
+ CALL_UTIL (snprintf)(exp_name_env, sizeof (exp_name_env), "%s=%s",
+ SP_COLLECTOR_EXPNAME, __collector_exp_dir_name);
+ TprintfT (DBG_LT1, "collector_tail_init: setting %s to %s\n",
+ SP_COLLECTOR_EXPNAME, __collector_exp_dir_name);
CALL_UTIL (putenv)(exp_name_env);
}
/* initialize the segments map and mmap interposition */
@@ -2045,8 +2051,15 @@ log_header_write (sp_origin_t origin)
{
long page_size = CALL_UTIL (sysconf)(_SC_PAGESIZE);
long npages = CALL_UTIL (sysconf)(_SC_PHYS_PAGES);
- __collector_log_write ("<system hostname=\"%s\" arch=\"%s\" os=\"%s %s\" pagesz=\"%ld\" npages=\"%ld\">\n",
- sysinfo.nodename, sysinfo.machine, sysinfo.sysname, sysinfo.release, page_size, npages);
+#ifdef WORDS_BIGENDIAN
+ int bigendian = 1;
+#else
+ int bigendian = 0;
+#endif
+ __collector_log_write ("<system hostname=\"%s\" arch=\"%s\" os=\"%s %s\" "
+ "pagesz=\"%ld\" npages=\"%ld\" bigendian=\"%d\">\n",
+ sysinfo.nodename, sysinfo.machine, sysinfo.sysname,
+ sysinfo.release, page_size, npages, bigendian);
}
//YXXX Updating this section? Check similar cut/paste code in:
diff --git a/gprofng/libcollector/descendants.h b/gprofng/libcollector/descendants.h
index 0148410..7d594b3 100644
--- a/gprofng/libcollector/descendants.h
+++ b/gprofng/libcollector/descendants.h
@@ -44,7 +44,6 @@ typedef enum
LM_TRACK_LINEAGE = 1, /* env vars preserved, recording */
} line_mode_t;
-extern line_mode_t line_mode;
extern int user_follow_mode;
extern int java_mode;
extern int dbg_current_mode; /* for debug only */
@@ -56,19 +55,6 @@ extern char **sp_env_backup;
#define PUSH_REENTRANCE(x) ((*(x))++)
#define POP_REENTRANCE(x) ((*(x))--)
-/* environment variables that must be forwarded to descendents */
-#define SP_COLLECTOR_PARAMS "SP_COLLECTOR_PARAMS"
-#define SP_COLLECTOR_EXPNAME "SP_COLLECTOR_EXPNAME"
-#define SP_COLLECTOR_FOLLOW_SPEC "SP_COLLECTOR_FOLLOW_SPEC"
-#define SP_COLLECTOR_FOUNDER "SP_COLLECTOR_FOUNDER"
-#define SP_PRELOAD_STRINGS "SP_COLLECTOR_PRELOAD"
-#define LD_PRELOAD_STRINGS "LD_PRELOAD"
-#define SP_LIBPATH_STRINGS "SP_COLLECTOR_LIBRARY_PATH"
-#define LD_LIBPATH_STRINGS "LD_LIBRARY_PATH"
-#define JAVA_TOOL_OPTIONS "JAVA_TOOL_OPTIONS"
-#define COLLECTOR_JVMTI_OPTION "-agentlib:gp-collector"
-
-extern int __collector_linetrace_shutdown_hwcs_6830763_XXXX;
extern void __collector_env_unset (char *envp[]);
extern void __collector_env_save_preloads ();
extern char ** __collector_env_backup ();
diff --git a/gprofng/libcollector/envmgmt.c b/gprofng/libcollector/envmgmt.c
index 0c3bea1..0a2add9 100644
--- a/gprofng/libcollector/envmgmt.c
+++ b/gprofng/libcollector/envmgmt.c
@@ -285,9 +285,6 @@ env_ld_preload_strip (char *envv)
for (int v = 0; SP_PRELOAD[v]; v++)
if (env_strip (envv, sp_preloads[v]))
return 0;
- if (line_mode != LM_CLOSED)
- TprintfT (DBG_LT2, "env_ld_preload_strip(): WARNING - could not strip SP_PRELOADS from '%s'\n",
- envv);
return -2;
}
diff --git a/gprofng/libcollector/libcol-i386-dis.c b/gprofng/libcollector/libcol-i386-dis.c
index 81ca366..15c91f7 100644
--- a/gprofng/libcollector/libcol-i386-dis.c
+++ b/gprofng/libcollector/libcol-i386-dis.c
@@ -18,7 +18,7 @@
Foundation, 51 Franklin Street - Fifth Floor, Boston,
MA 02110-1301, USA. */
-#if defined(__i386__) || defined(__x86_64)
+#if defined(__i386__) || defined(__x86_64__)
#include "opcodes/i386-dis.c"
#undef _
diff --git a/gprofng/libcollector/libcol_util.h b/gprofng/libcollector/libcol_util.h
index afe75f8..08e34a1 100644
--- a/gprofng/libcollector/libcol_util.h
+++ b/gprofng/libcollector/libcol_util.h
@@ -183,7 +183,7 @@ static __attribute__ ((always_inline)) inline void *
__collector_getpc ()
{
void *r;
-#if defined(__x86_64)
+#if defined(__x86_64__)
__asm__ __volatile__("lea (%%rip), %0" : "=r" (r));
#else
__asm__ __volatile__("call 1f \n"
diff --git a/gprofng/libcollector/linetrace.c b/gprofng/libcollector/linetrace.c
index 86d9955..0e3e7cd 100644
--- a/gprofng/libcollector/linetrace.c
+++ b/gprofng/libcollector/linetrace.c
@@ -37,10 +37,10 @@
#define LT_MAXNAMELEN 1024
#define LT_MAXPATHLEN 1024
-int __collector_linetrace_shutdown_hwcs_6830763_XXXX = 0;
+static int __collector_linetrace_shutdown_hwcs_6830763_XXXX = 0;
int dbg_current_mode = FOLLOW_NONE; /* for debug only */
unsigned line_key = COLLECTOR_TSD_INVALID_KEY;
-line_mode_t line_mode = LM_DORMANT;
+static line_mode_t line_mode = LM_DORMANT;
int user_follow_mode = FOLLOW_ON;
int java_mode = 0;
diff --git a/gprofng/src/CallStack.cc b/gprofng/src/CallStack.cc
index 6df4112..9a3a15d 100644
--- a/gprofng/src/CallStack.cc
+++ b/gprofng/src/CallStack.cc
@@ -527,14 +527,10 @@ CallStackP::add_stack (DataDescriptor *dDscr, long idx, FramePacket *frp,
Vaddr va = frp->getFromStack (index);
DbeInstr *cur_instr = experiment->map_Vaddr_to_PC (va, tstamp);
-#if ARCH(Intel)// TBR? FIXUP_XXX_SPARC_LINUX: switch should be on experiment ARCH, not dbe ARCH
// We need to adjust return addresses on intel
- // in order to attribute inclusive metrics to
- // proper call instructions.
- if (experiment->exp_maj_version <= 9)
- if (!leaf && cur_instr->addr != 0)
- cur_instr = cur_instr->func->find_dbeinstr (0, cur_instr->addr - 1);
-#endif
+ // in order to attribute inclusive metrics to proper instructions.
+ if (experiment->platform == Intel && cur_instr->addr != 0)
+ cur_instr = cur_instr->func->find_dbeinstr (0, cur_instr->addr - 1);
// Skip PC's from PLT, update leaf and state accordingly
if ((cur_instr->func->flags & FUNC_FLAG_PLT)
diff --git a/gprofng/src/DbeSession.cc b/gprofng/src/DbeSession.cc
index f3426ce..b0aa745 100644
--- a/gprofng/src/DbeSession.cc
+++ b/gprofng/src/DbeSession.cc
@@ -2017,6 +2017,17 @@ DbeSession::is_omp_available ()
}
bool
+DbeSession::is_bigendian ()
+{
+#ifdef WORDS_BIGENDIAN
+ return true;
+#else
+ return false;
+#endif
+
+}
+
+bool
DbeSession::has_java ()
{
int status_has_java = 0;
diff --git a/gprofng/src/DbeSession.h b/gprofng/src/DbeSession.h
index 5cbddae..7db0998 100644
--- a/gprofng/src/DbeSession.h
+++ b/gprofng/src/DbeSession.h
@@ -120,6 +120,7 @@ public:
bool is_timeline_available ();
bool is_ifreq_available ();
bool is_omp_available ();
+ static bool is_bigendian ();
bool has_java ();
bool has_ompavail ();
diff --git a/gprofng/src/Dwarf.cc b/gprofng/src/Dwarf.cc
index a613c63..85891099 100644
--- a/gprofng/src/Dwarf.cc
+++ b/gprofng/src/Dwarf.cc
@@ -29,6 +29,7 @@
#include "LoadObject.h"
#include "Module.h"
#include "DefaultMap.h"
+#include "Symbol.h"
static int
datatypeCmp (const void *a, const void *b)
@@ -46,7 +47,6 @@ targetOffsetCmp (const void *a, const void *b)
return o1 == o2 ? 0 : (o1 < o2 ? -1 : 1);
}
-
//////////////////////////////////////////////////////////
// class Dwr_type
class Dwr_type
@@ -390,6 +390,7 @@ Dwarf::Dwarf (Stabs *_stabs)
debug_lineSec = dwrGetSec (NTXT (".debug_line"));
debug_rangesSec = dwrGetSec (NTXT (".debug_ranges"));
debug_line_strSec = dwrGetSec (".debug_line_str");
+ debug_rnglists = NULL;
if ((debug_infoSec == NULL) || (debug_abbrevSec == NULL) || (debug_lineSec == NULL))
{
@@ -441,7 +442,12 @@ DwrCU::get_linkage_name ()
nm = Dwarf_string (DW_AT_SUN_link_name);
if (nm != NULL)
return nm;
- return Dwarf_string (DW_AT_MIPS_linkage_name);
+ if (nm != NULL)
+ return nm;
+ nm = Dwarf_string (DW_AT_MIPS_linkage_name);
+ if (nm != NULL)
+ return nm;
+ return Dwarf_string (DW_AT_name);
}
void
@@ -454,7 +460,7 @@ DwrCU::parseChild (Dwarf_cnt *ctx)
Dwarf_Die next_die;
if (read_ref_attr (DW_AT_sibling, &next_die) == DW_DLV_OK)
{
- next_die_offset = next_die + cu_offset;
+ next_die_offset = next_die;
if (next_die_offset <= debug_infoSec->offset)
{
Dprintf (DEBUG_ERR_MSG, NTXT ("DwrCU::parseChild: next_die(0x%llx) <= debug_infoSec->offset(%llx)\n"),
@@ -490,8 +496,25 @@ DwrCU::parseChild (Dwarf_cnt *ctx)
}
break;
case DW_TAG_subprogram:
- if (dwrTag.get_attr (DW_AT_abstract_origin))
- break;
+ {
+ Symbol *sym = NULL;
+ Vector<Symbol *> *syms = NULL;
+ Dwr_Attr *dwrAttr = dwrTag.get_attr (DW_AT_abstract_origin);
+ if (dwrAttr)
+ {
+ // Set up functions from DW_AT_{ranges,low_pc,linkage_name}
+ set_up_funcs (dwrAttr->u.offset);
+ break;
+ }
+
+ dwrAttr = dwrTag.get_attr (DW_AT_specification);
+ if (dwrAttr)
+ {
+ // Set up functions from DW_AT_{ranges,low_pc,linkage_name}
+ set_up_funcs (dwrAttr->u.offset);
+ break;
+ }
+
if (dwrTag.get_attr (DW_AT_declaration))
{
// Only declaration
@@ -499,26 +522,39 @@ DwrCU::parseChild (Dwarf_cnt *ctx)
{
char *link_name = Dwarf_string (DW_AT_name);
if (link_name && streq (link_name, NTXT ("MAIN")))
- ctx->fortranMAIN = Stabs::find_func (NTXT ("MAIN"), ctx->module->functions, true, true);
+ ctx->fortranMAIN = Stabs::find_func (NTXT ("MAIN"),
+ ctx->module->functions, true, true);
}
+ sym = Symbol::get_symbol (symbols_sorted_by_name,
+ get_linkage_name ());
+ if (sym != NULL)
+ func = append_Function (sym, ctx->name);
break;
}
- func = append_Function (ctx);
- if (func)
+
+ func = NULL;
+ syms = get_symbols (tmp_syms);
+ for (int i = 0, sz = VecSize (syms); i < sz; i++)
{
+ sym = syms->get (i);
+ func = append_Function (sym, ctx->name);
if (Stabs::is_fortran (ctx->module->lang_code) &&
- streq (func->get_match_name (), NTXT ("MAIN")))
+ streq (func->get_match_name (), "MAIN"))
ctx->fortranMAIN = func;
- old_name = ctx->name;
- Function *old_func = ctx->func;
- ctx->name = func->get_match_name ();
- ctx->func = func;
- parseChild (ctx);
- hasChild = 0;
- ctx->name = old_name;
- ctx->func = old_func;
}
+ if (func == NULL)
+ break;
+
+ old_name = ctx->name;
+ Function *old_func = ctx->func;
+ ctx->name = func->get_match_name ();
+ ctx->func = func;
+ parseChild (ctx);
+ hasChild = 0;
+ ctx->name = old_name;
+ ctx->func = old_func;
break;
+ }
case DW_TAG_module:
old_name = ctx->name;
ctx->name = Dwarf_string (DW_AT_SUN_link_name);
@@ -631,6 +667,21 @@ Dwarf::archive_Dwarf (LoadObject *lo)
STR (lo_name), STR (mod->get_name ()));
dwrCU->dwrInlinedSubrs->dump (msg);
}
+ for (int i = 0, sz = VecSize (dwrCU->symbols); i < sz; i++)
+ {
+ Symbol *sp = dwrCU->symbols->get (i);
+ Function *f = sp->func;
+ if (f == NULL)
+ {
+ f = sp->createFunction (mod);
+ if (sp->alias && sp->alias->func)
+ {
+ Function *func = sp->alias->func;
+ f->setLineFirst (func->line_first);
+ f->setDefSrc (func->def_source);
+ }
+ }
+ }
}
}
return true;
@@ -645,6 +696,29 @@ Dwarf::srcline_Dwarf (Module *module)
dwrCU->map_dwarf_lines (module);
}
+Vector<Range *> *
+Dwarf::get_ranges (uint64_t offset)
+{
+ if (debug_rangesSec == NULL)
+ return NULL;
+ if (offset >= debug_rangesSec->size)
+ {
+ Dprintf (DUMP_DWARFLIB, "ERROR: Dwarf::get_ranges(0x%llx). size=0x%llx\n",
+ (long long) offset, (long long) debug_rangesSec->size);
+ return NULL;
+ }
+ Vector<Range*> *ranges = new Vector<Range*>();
+ debug_rangesSec->offset = offset;
+ for (;;)
+ {
+ uint64_t low_pc = debug_rangesSec->GetADDR ();
+ uint64_t high_pc = debug_rangesSec->GetADDR ();
+ if (low_pc == 0 || low_pc > high_pc)
+ break;
+ ranges->append (new Range (low_pc, high_pc));
+ }
+ return ranges;
+}
// parse hwcprof info for given module in loadobject
@@ -723,7 +797,7 @@ DwrCU::read_hwcprof_info (Dwarf_cnt *ctx)
Dwarf_Die next_die;
if (read_ref_attr (DW_AT_sibling, &next_die) == DW_DLV_OK)
{
- next_die_offset = next_die + cu_offset;
+ next_die_offset = next_die;
if (next_die_offset <= debug_infoSec->offset)
next_die_offset = 0;
else if (debug_infoSec->size > next_die_offset)
@@ -797,11 +871,17 @@ DwrCU::read_hwcprof_info (Dwarf_cnt *ctx)
case DW_TAG_subprogram:
{
Function *old_func = ctx->func;
- if (dwrTag.get_attr (DW_AT_abstract_origin)
- || dwrTag.get_attr (DW_AT_declaration))
- ctx->func = NULL;
- else
- ctx->func = append_Function (ctx);
+ ctx->func = NULL;
+ if (dwrTag.get_attr (DW_AT_abstract_origin) == NULL
+ && dwrTag.get_attr (DW_AT_declaration) == NULL)
+ {
+ Symbol *sym = Symbol::get_symbol (symbols_sorted_by_name,
+ get_linkage_name ());
+ if (sym == NULL)
+ sym = Symbol::get_symbol (symbols, get_low_pc ());
+ if (sym != NULL)
+ ctx->func = sym->func;
+ }
read_hwcprof_info (ctx);
ctx->func = old_func;
break;
@@ -955,49 +1035,31 @@ DwrCU::read_hwcprof_info (Dwarf_cnt *ctx)
// Append function to module
Function *
-DwrCU::append_Function (Dwarf_cnt *ctx)
+DwrCU::append_Function (Symbol *sym, const char *outerName)
{
- char *outerName = ctx->name, *name, tmpname[2048];
- Function *func;
+ if (sym->func != NULL)
+ return sym->func;
+ Function *func = sym->createFunction (module);
+
char *fname = Dwarf_string (DW_AT_name);
- if (fname && outerName && !strchr (fname, '.'))
+ if (fname)
{
- size_t outerlen = strlen (outerName);
- if (outerlen > 0 && outerName[outerlen - 1] == '_')
+ if (outerName && !strchr (fname, '.'))
{
- outerlen--;
- snprintf (tmpname, sizeof (tmpname), NTXT ("%s"), outerName);
- snprintf (tmpname + outerlen, sizeof (tmpname) - outerlen, NTXT (".%s_"), fname);
+ char *tmpname;
+ int outerlen = (int) strlen (outerName);
+ if (outerlen > 0 && outerName[outerlen - 1] == '_')
+ tmpname = dbe_sprintf ("%.*s.%s_", outerlen - 1, outerName, fname);
+ else
+ tmpname = dbe_sprintf ("%s.%s", outerName, fname);
+ func->set_match_name (tmpname);
+ Dprintf (DUMP_DWARFLIB, "Generated innerfunc name %s\n", tmpname);
+ free(tmpname);
}
else
- snprintf (tmpname, sizeof (tmpname), NTXT ("%s.%s"), outerName, fname);
- name = tmpname;
- Dprintf (DUMP_DWARFLIB, NTXT ("Generated innerfunc name %s\n"), name);
- }
- else
- name = fname;
-
- char *link_name = get_linkage_name ();
- if (link_name == NULL)
- link_name = name;
-
- uint64_t pc = get_low_pc ();
- func = dwarf->stabs->append_Function (module, link_name, pc);
- if (func != NULL)
- {
- int lineno = (int) Dwarf_data (DW_AT_decl_line);
- func->set_match_name (name);
- if (lineno > 0)
- {
- func->setLineFirst (lineno);
- int fileno = ((int) Dwarf_data (DW_AT_decl_file));
- SourceFile *sf = ((fileno >= 0) && (fileno < VecSize (srcFiles))) ? srcFiles->get (fileno)
- : module->getMainSrc ();
- func->setDefSrc (sf);
- func->pushSrcFile (func->def_source, 0);
- func->popSrcFile ();
- }
+ func->set_match_name (fname);
}
+ set_source (func);
return func;
}
@@ -1040,3 +1102,94 @@ DwrCU::Dwarf_lang ()
return Sp_lang_unknown;
}
}
+
+Vector <Dwr_rng_entry *> *
+Dwarf::get_debug_rnglists ()
+{
+ if (debug_rnglists != NULL)
+ return debug_rnglists;
+ debug_rnglists = new Vector <Dwr_rng_entry *> ();
+
+ DwrSec *debug_rnglistsSec = dwrGetSec (".debug_rnglists");
+ if (debug_rnglistsSec == NULL)
+ {
+ Dprintf (1, "No section .debug_rnglists\n");
+ return debug_rnglists;
+ }
+ while (debug_rnglistsSec->offset < debug_rnglistsSec->sizeSec)
+ {
+ uint64_t base_address = 0;
+ uint64_t length = debug_rnglistsSec->ReadLength ();
+ Dwr_rng_entry *rng = new Dwr_rng_entry ();
+ debug_rnglists->append (rng);
+ rng->offset = debug_rnglistsSec->offset;
+ rng->length = length;
+ rng->fmt64 = debug_rnglistsSec->fmt64;
+ rng->version = debug_rnglistsSec->Get_16 ();
+ rng->address_size = debug_rnglistsSec->Get_8 ();
+ rng->segment_selector_size = debug_rnglistsSec->Get_8 ();
+ rng->offset_entry_count = debug_rnglistsSec->Get_32 ();
+ while (debug_rnglistsSec->offset < debug_rnglistsSec->size)
+ {
+ uint64_t off = debug_rnglistsSec->offset;
+ uint64_t low_pc;
+ uint64_t high_pc;
+ int re = debug_rnglistsSec->Get_8 ();
+ switch (re)
+ {
+ case DW_RLE_end_of_list:
+ low_pc = 0;
+ high_pc = 0;
+ break;
+ case DW_RLE_base_address:
+ base_address = debug_rnglistsSec->GetADDR ();
+ low_pc = base_address;
+ high_pc = 0;
+ continue;
+ case DW_RLE_start_length:
+ low_pc = debug_rnglistsSec->GetADDR ();
+ high_pc = low_pc + debug_rnglistsSec->GetULEB128 ();
+ break;
+ case DW_RLE_offset_pair:
+ low_pc = base_address + debug_rnglistsSec->GetULEB128 ();
+ high_pc = base_address + debug_rnglistsSec->GetULEB128 ();
+ break;
+ case DW_RLE_start_end:
+ low_pc = debug_rnglistsSec->GetADDR ();
+ high_pc = debug_rnglistsSec->GetADDR ();
+ break;
+ case DW_RLE_base_addressx:
+ base_address = debug_rnglistsSec->GetULEB128 ();
+ low_pc = base_address;
+ high_pc = 0;
+ continue;
+
+ // TODO x-variants need .debug_addr support used for split-dwarf
+ case DW_RLE_startx_endx:
+ low_pc = debug_rnglistsSec->GetRef ();
+ high_pc = debug_rnglistsSec->GetRef ();
+ Dprintf (1, "DW_RLE_startx_endx is not implemented\n");
+ continue;
+ case DW_RLE_startx_length:
+ low_pc = debug_rnglistsSec->GetRef ();
+ high_pc = low_pc + debug_rnglistsSec->GetULEB128 ();
+ Dprintf (1, "DW_RLE_startx_length is not implemented\n");
+ continue;
+ default:
+ Dprintf (1, "Unknown tag DW_RLE: %d, offset=0x%llx\n", re,
+ (long long) off);
+ debug_rnglistsSec->offset = debug_rnglistsSec->size;
+ continue;
+ }
+ Dprintf (DUMP_DWARFLIB, "0x%08llx %d-%-20s [0x%08llx - 0x%08llx)\n",
+ (long long) off, re, Dwr_rng_entry::rng_entry2str (re),
+ (long long) low_pc, (long long) high_pc);
+ rng->ranges->append (new ExtRange (off, low_pc, high_pc));
+ }
+ debug_rnglistsSec->size = debug_rnglistsSec->sizeSec;
+ debug_rnglistsSec->offset = length;
+ }
+ delete debug_rnglistsSec;
+ debug_rnglists->dump ("Dwarf::get_debug_rnglists");
+ return debug_rnglists;
+}
diff --git a/gprofng/src/Dwarf.h b/gprofng/src/Dwarf.h
index 8e3ee7a..bf8ffb4 100644
--- a/gprofng/src/Dwarf.h
+++ b/gprofng/src/Dwarf.h
@@ -60,6 +60,7 @@ class LoadObject;
class Module;
class DwrCU;
class DwrSec;
+class Range;
class Dwarf
{
@@ -69,6 +70,8 @@ public:
bool archive_Dwarf (LoadObject *lo);
void srcline_Dwarf (Module *module);
void read_hwcprof_info (Module *module);
+ Vector<Range *> *get_ranges (uint64_t offset);
+ Vector <Dwr_rng_entry *> *get_debug_rnglists ();
Stabs::Stab_status status;
Vector<DwrCU *> *dwrCUs;
@@ -82,6 +85,7 @@ public:
Stabs *stabs;
private:
+ Vector <Dwr_rng_entry *> *debug_rnglists;
DwrSec *dwrGetSec (const char *sec_name);
};
diff --git a/gprofng/src/DwarfLib.cc b/gprofng/src/DwarfLib.cc
index d399c33..79be8cf 100644
--- a/gprofng/src/DwarfLib.cc
+++ b/gprofng/src/DwarfLib.cc
@@ -27,9 +27,9 @@
#include "Elf.h"
#include "Function.h"
#include "Module.h"
-#include "StringBuilder.h"
#include "DbeArray.h"
#include "DbeSession.h"
+#include "Symbol.h"
#define NO_STMT_LIST ((uint64_t) -1)
#define CASE_S(x) case x: s = (char *) #x; break
@@ -998,7 +998,6 @@ Dwr_Tag::dump ()
case DW_FORM_strx2:
case DW_FORM_strx3:
case DW_FORM_strx4:
- case DW_FORM_implicit_const:
Dprintf (DUMP_DWARFLIB, " \"%s\"", atrp->u.str ? atrp->u.str : "<NULL>");
break;
case DW_FORM_block:
@@ -1037,6 +1036,7 @@ Dwr_Tag::dump ()
case DW_FORM_exprloc:
case DW_FORM_ref_sig8:
case DW_FORM_flag_present:
+ case DW_FORM_implicit_const:
Dprintf (DUMP_DWARFLIB, " 0x%llx (%lld)", (long long) atrp->u.val,
(long long) atrp->u.val);
break;
@@ -1095,6 +1095,7 @@ DwrSec::bounds_violation (uint64_t sz)
{
Dprintf (DEBUG_ERR_MSG, "DwrSec::bounds_violation: offset=%lld + sz=%lld > size=%lld\n",
(long long) offset, (long long) sz, (long long) size);
+ offset = size;
return true;
}
return false;
@@ -1795,6 +1796,12 @@ DwrLineRegs::getPath (int fn)
DwrCU::DwrCU (Dwarf *_dwarf)
{
dwarf = _dwarf;
+ tmp_syms = new Vector<Symbol*>();
+ rng_list = NULL;
+ rng_list_inited = false;
+ base_address = 0;
+ symbols = NULL;
+ symbols_sorted_by_name = NULL;
cu_offset = dwarf->debug_infoSec->offset;
debug_infoSec = new DwrSec (dwarf->debug_infoSec, cu_offset);
next_cu_offset = debug_infoSec->ReadLength ();
@@ -1847,7 +1854,7 @@ DwrCU::DwrCU (Dwarf *_dwarf)
(long long) cu_offset, (long long) cu_offset,
(long long) next_cu_offset, (long long) next_cu_offset,
(long long) debug_abbrev_offset, (long long) debug_abbrev_offset,
- (long long) (next_cu_offset - cu_offset),
+ (long long) (next_cu_offset),
(int) version, (int) address_size,
debug_infoSec->fmt64 ? "true" : "false",
debug_infoSec->need_swap_endian ? "true" : "false",
@@ -1883,6 +1890,9 @@ DwrCU::~DwrCU ()
Destroy (dwrInlinedSubrs);
delete srcFiles;
delete dwrLineReg;
+ delete symbols;
+ delete symbols_sorted_by_name;
+ delete tmp_syms;
free (comp_dir);
}
@@ -1925,7 +1935,7 @@ DwrCU::build_abbrevTable (DwrSec *_debug_abbrevSec, uint64_t _offset)
switch (atf.at_form)
{
case DW_FORM_implicit_const:
- atf.len = debug_abbrevSec->GetSLEB128 ();
+ atf.u.val = debug_abbrevSec->GetSLEB128 ();
break;
}
abbrevAtForm->append (atf);
@@ -1945,7 +1955,7 @@ DwrCU::set_die (Dwarf_Die die)
|| debug_infoSec->offset >= debug_infoSec->size)
return DW_DLV_ERROR;
dwrTag.offset = debug_infoSec->offset;
- dwrTag.die = debug_infoSec->offset - cu_offset;
+ dwrTag.die = debug_infoSec->offset;
dwrTag.num = debug_infoSec->GetULEB128_32 ();
if (dwrTag.num == 0)
return DW_DLV_NO_ENTRY;
@@ -1994,19 +2004,19 @@ DwrCU::set_die (Dwarf_Die die)
atf->u.str = debug_infoSec->GetData (atf->len);
break;
case DW_FORM_ref1:
- atf->u.offset = debug_infoSec->Get_8 ();
+ atf->u.offset = debug_infoSec->Get_8 () + cu_offset;
break;
case DW_FORM_ref2:
- atf->u.offset = debug_infoSec->Get_16 ();
+ atf->u.offset = debug_infoSec->Get_16 () + cu_offset;
break;
case DW_FORM_ref4:
- atf->u.offset = debug_infoSec->Get_32 ();
+ atf->u.offset = debug_infoSec->Get_32 () + cu_offset;
break;
case DW_FORM_ref8:
- atf->u.offset = debug_infoSec->Get_64 ();
+ atf->u.offset = debug_infoSec->Get_64 () + cu_offset;
break;
case DW_FORM_ref_udata:
- atf->u.offset = debug_infoSec->GetULEB128 ();
+ atf->u.offset = debug_infoSec->GetULEB128 () + cu_offset;
break;
case DW_FORM_data1:
atf->u.offset = debug_infoSec->Get_8 ();
@@ -2109,7 +2119,7 @@ DwrCU::set_die (Dwarf_Die die)
atf->len = 0;
break;
case DW_FORM_implicit_const:
- atf->u.str = NULL;
+ // atf->u.val is already set
break;
default:
DEBUG_CODE
@@ -2187,9 +2197,241 @@ DwrCU::parse_cu_header (LoadObject *lo)
else
path = dbe_strdup (dwarf->stabs->path);
module->set_name (path);
+
+ // create a list of functions in this CU
+ base_address = get_low_pc ();
+ Vector <Range *> *ranges = get_ranges ();
+ if (ranges)
+ {
+ Vector <Symbol *> *syms = dwarf->stabs->get_symbols ();
+ symbols = Symbol::find_symbols (syms, ranges, new Vector <Symbol *> ());
+ symbols_sorted_by_name = Symbol::sort_by_name (symbols);
+ if (DUMP_ELF_SYM)
+ symbols->dump ("DwrCU::parse_cu_header: symbols");
+ Destroy (ranges);
+ }
return module;
}
+
+static int
+cmp_ExtRange (const void *a, const void *b)
+{
+ uint64_t a1 = *((uint64_t *) a);
+ ExtRange *rng = *((ExtRange **) b);
+ uint64_t b1 = rng->offset;
+ return a1 < b1 ? -1 : (a1 == b1 ? 0 : 1);
+}
+
+static int
+cmp_offset (const void *a, const void *b)
+{
+ uint64_t off = *((uint64_t *) a);
+ Dwr_rng_entry *rng = *((Dwr_rng_entry **) b);
+ return off < rng->offset ? -1 : (off < rng->length ? 0 : 1);
+}
+
+static int
+rangeCmp (const void *a, const void *b)
+{
+ Range *item1 = *((Range **) a);
+ Range *item2 = *((Range **) b);
+ return item1->low < item2->low ? -1 : (item1->low == item2->low ? 0 : 1);
+}
+
+Vector <Range *> *
+DwrCU::get_ranges ()
+{
+ Vector <Range *> *ranges = NULL;
+ Dwr_Attr *dwrAttr = dwrTag.get_attr (DW_AT_ranges);
+ if (dwrAttr)
+ {
+ uint64_t offset = dwrAttr->u.offset;
+ Dprintf (DUMP_DWARFLIB, "DwrCU::get_ranges: 0x%llx\n", (long long) offset);
+ if (version < 5)
+ ranges = dwarf->get_ranges (offset);
+ else
+ {
+ if (rng_list == NULL && !rng_list_inited)
+ {
+ rng_list_inited = true;
+ // Find the corresponding section in .debug_rnglists
+ Vector <Dwr_rng_entry *> *rng_entrys = dwarf->get_debug_rnglists ();
+ if (rng_entrys == NULL)
+ return NULL;
+ int ind = rng_entrys->bisearch (0, -1, &offset, cmp_offset);
+ if (ind != -1)
+ rng_list = rng_entrys->get (ind);
+ else
+ {
+ Dprintf (1, "Cannot find rnglist. DW_AT_ranges=0x%llx\n",
+ (long long) offset);
+ return NULL;
+ }
+ }
+ if (rng_list == NULL)
+ return NULL;
+ int ind = rng_list->ranges->bisearch (0, -1, &offset, cmp_ExtRange);
+ if (ind == -1)
+ {
+ Dprintf (1, "Cannot find rnglist. DW_AT_ranges=0x%llx\n",
+ (long long) offset);
+ return NULL;
+ }
+ ranges = new Vector <Range *> ();
+ for (long i = ind, sz = VecSize (rng_list->ranges); i < sz; i++)
+ {
+ ExtRange *r = rng_list->ranges->get (i);
+ if (r->high == 0)
+ break;
+ ranges->append (new Range (r->low + base_address,
+ r->high + base_address));
+ }
+ }
+ }
+ else
+ {
+ uint64_t low_pc = Dwarf_addr (DW_AT_low_pc);
+ if (low_pc > 0)
+ {
+ uint64_t high_pc = get_high_pc (low_pc);
+ ranges = new Vector <Range *> (1);
+ ranges->append (new Range (low_pc, high_pc));
+ Dprintf (DUMP_DWARFLIB, "DwrCU::get_ranges: pc=0x%llx\n",
+ (long long) low_pc);
+ }
+ }
+ if (ranges)
+ {
+ ranges->sort (rangeCmp);
+ if (DUMP_DWARFLIB)
+ ranges->dump ("DwrCU::get_ranges:");
+ }
+ return ranges;
+}
+
+Vector<Symbol *> *
+DwrCU::get_symbols (Vector<Symbol *> *syms)
+{
+ if (syms)
+ syms->reset ();
+ Vector <Range *> *ranges = get_ranges ();
+ if (ranges)
+ {
+ syms = Symbol::find_symbols (symbols, ranges, syms);
+ Destroy (ranges);
+ }
+ if (syms)
+ {
+ Symbol *sym = Symbol::get_symbol (symbols_sorted_by_name,
+ get_linkage_name ());
+ if (sym)
+ syms->append (sym);
+ }
+ if (syms && DUMP_ELF_SYM)
+ syms->dump ("DwrCU::get_symbols:");
+ return syms;
+}
+
+void
+DwrCU::set_source (Function *func)
+{
+ int lineno = (int) Dwarf_data (DW_AT_decl_line);
+ func->setLineFirst (lineno);
+
+ int fileno = (int) Dwarf_data (DW_AT_decl_file);
+ func->setDefSrc (get_source (fileno));
+}
+
+SourceFile *
+DwrCU::get_source (int fileno)
+{
+ if (fileno > 0 && fileno < VecSize (srcFiles))
+ return srcFiles->get (fileno);
+ return NULL;
+}
+
+void
+DwrCU::inherit_prop (int64_t offset, source_t *src)
+{
+ if (src->lineno == 0)
+ src->lineno = (int) Dwarf_data (DW_AT_decl_line);
+ if (src->sf == NULL)
+ src->sf = get_source ((int) Dwarf_data (DW_AT_decl_file));
+
+ int64_t old_offset = dwrTag.offset;
+ if (set_die (offset) == DW_DLV_OK)
+ {
+ if (src->lineno == 0)
+ src->lineno = (int) Dwarf_data (DW_AT_decl_line);
+ if (src->sf == NULL)
+ src->sf = get_source ((int) Dwarf_data (DW_AT_decl_file));
+
+ Dwr_Attr *dwrAttr = dwrTag.get_attr (DW_AT_specification);
+ if (dwrAttr)
+ inherit_prop (dwrAttr->u.offset, src);
+ else
+ {
+ Symbol *sym = Symbol::get_symbol (symbols_sorted_by_name,
+ get_linkage_name ());
+ if (sym)
+ update_source (sym, src);
+ }
+ }
+ set_die (old_offset);
+}
+
+void
+DwrCU::set_up_funcs (int64_t offset)
+{
+ // get symbols from DW_AT_ranges, DW_AT_low_pc, DW_AT_linkage_name
+ Vector<Symbol *> *syms = get_symbols (tmp_syms);
+ if (VecSize (syms) == 0)
+ return;
+
+ // Find previous declaration to inherit settings.
+ source_t src = {.lineno = 0, .sf = NULL};
+ inherit_prop (offset, &src);
+
+ for (int i = 0, sz = VecSize (syms); i < sz; i++)
+ {
+ Symbol *sym = syms->get (i);
+ update_source (sym, &src);
+ if (sym->alias)
+ update_source (sym->alias, &src);
+ }
+}
+
+/* Create a function if necessary.
+ * Update the source information */
+void
+DwrCU::update_source (Symbol *sym, source_t *src)
+{
+ Function *f = sym->createFunction (module);
+ f->setLineFirst (src->lineno);
+ f->setDefSrc (src->sf);
+}
+
+Symbol *
+DwrCU::find_declaration (int64_t offset, source_t *src)
+{
+ int64_t old_offset = dwrTag.offset;
+ Symbol *sym = NULL;
+ if (set_die (offset) == DW_DLV_OK)
+ {
+ if (src->lineno == 0)
+ src->lineno = (int) Dwarf_data (DW_AT_decl_line);
+ if (src->sf == NULL)
+ src->sf = get_source ((int) Dwarf_data (DW_AT_decl_file));
+
+ sym = Symbol::get_symbol (symbols_sorted_by_name, get_linkage_name ());
+ if (sym && sym->func == NULL)
+ update_source (sym, src);
+ }
+ set_die (old_offset);
+ return sym;
+}
+
Dwr_Attr *
Dwr_Tag::get_attr (Dwarf_Half attr)
{
@@ -2269,6 +2511,7 @@ DwrCU::read_data_attr (Dwarf_Half attr, int64_t *retVal)
case DW_FORM_data16:
case DW_FORM_udata:
case DW_FORM_sec_offset:
+ case DW_FORM_implicit_const:
*retVal = dwrAttr->u.val;
return DW_DLV_OK;
@@ -2357,7 +2600,7 @@ DwrCU::map_dwarf_lines (Module *mod)
InlinedSubr *p = func->inlinedSubr + func->inlinedSubrCnt;
func->inlinedSubrCnt++;
int fileno = inlinedSubr->file - 1;
- SourceFile *sf = ((fileno >= 0) && (fileno < VecSize (srcFiles))) ?
+ SourceFile *sf = ((fileno > 0) && (fileno < VecSize (srcFiles))) ?
srcFiles->get (fileno) : dbeSession->get_Unknown_Source ();
p->dbeLine = sf->find_dbeline (inlinedSubr->line);
p->high_pc = inlinedSubr->high_pc - low_pc;
@@ -2502,3 +2745,69 @@ DwrInlinedSubr::dump ()
(int) level, (long long) abstract_origin, (long long) low_pc,
(long long) high_pc, (int) file, (int) line);
}
+
+
+//////////////////////////////////////////////////////////
+// class Dwr_rng_entry
+Dwr_rng_entry::Dwr_rng_entry ()
+{
+ ranges = new Vector <ExtRange *>();
+}
+
+Dwr_rng_entry::~Dwr_rng_entry ()
+{
+ delete ranges;
+}
+
+void
+Dwr_rng_entry::dump ()
+{
+ Dprintf (DUMP_DWARFLIB, "offset=0x%08llx length=0x%08llx fmt=%d version=%d "
+ "addr_size=%d seg_size=%d offset_entry_count=0x%llx\n",
+ (long long) offset, (long long) (length - offset), fmt64 ? 64 : 32,
+ (int) version, (int) address_size, (int) segment_selector_size,
+ (long long) offset_entry_count);
+ for (long i = 0, sz = VecSize (ranges); i < sz; i++)
+ {
+ ExtRange *p = ranges->get (i);
+ Dprintf (DUMP_DWARFLIB, " %8ld: 0x%08llx 0x%08llx-0x%08llx [%lld-%lld)\n",
+ i, (long long) p->offset, (long long) p->low, (long long) p->high,
+ (long long) p->low, (long long) p->high);
+ }
+}
+
+char *
+Dwr_rng_entry::rng_entry2str (int val)
+{
+ char *s;
+ switch (val)
+ {
+ CASE_S (DW_RLE_end_of_list);
+ CASE_S (DW_RLE_base_address);
+ CASE_S (DW_RLE_start_length);
+ CASE_S (DW_RLE_offset_pair);
+ CASE_S (DW_RLE_start_end);
+ CASE_S (DW_RLE_base_addressx);
+ CASE_S (DW_RLE_startx_endx);
+ CASE_S (DW_RLE_startx_length);
+ default: s = (char *) "???";
+ break;
+ }
+ return s;
+}
+
+template<> void Vector<Dwr_rng_entry *>::dump (const char *msg)
+{
+ if (!DUMP_DWARFLIB)
+ return;
+ if (msg == NULL)
+ msg = "#";
+ Dprintf (1, NTXT ("\n%s Vector<Dwr_rng_entry *> [%lld]\n"), msg, (long long) size ());
+ for (long i = 0, sz = size (); i < sz; i++)
+ {
+ Dwr_rng_entry *p = get (i);
+ Dprintf (1, " %3ld ", i);
+ p->dump ();
+ }
+}
+
diff --git a/gprofng/src/DwarfLib.h b/gprofng/src/DwarfLib.h
index 178801d..06b19b8 100644
--- a/gprofng/src/DwarfLib.h
+++ b/gprofng/src/DwarfLib.h
@@ -25,7 +25,10 @@
class ElfReloc;
class Dwr_type;
+class Function;
+class Range;
class SourceFile;
+class Symbol;
template <class ITEM> class Vector;
template <class ITEM> class DbeArray;
@@ -73,12 +76,6 @@ public:
return (uint32_t) GetULEB128 ();
}
- bool
- inRange (uint64_t left, uint64_t right)
- {
- return (offset >= left) && (offset < right);
- };
-
ElfReloc *reloc;
uint64_t sizeSec;
uint64_t size;
@@ -260,6 +257,45 @@ public:
Dwr_type *put_dwr_type (Dwr_Tag *dwrTag);
};
+class ExtRange
+{
+public:
+ ExtRange (uint64_t _off, uint64_t _low, uint64_t _high)
+ {
+ offset = _off;
+ low = _low;
+ high = _high;
+ };
+
+ uint64_t offset;
+ uint64_t low;
+ uint64_t high;
+};
+
+class Dwr_rng_entry
+{
+public:
+ Dwr_rng_entry ();
+ ~Dwr_rng_entry ();
+ void dump();
+ static char *rng_entry2str(int val);
+
+ Dwarf_Half version;
+ Dwarf_Small address_size;
+ Dwarf_Small segment_selector_size;
+ int offset_entry_count;
+ uint64_t length;
+ uint64_t offset;
+ bool fmt64;
+ Vector <ExtRange *> *ranges;
+};
+
+typedef struct Source
+{
+ int lineno;
+ SourceFile *sf;
+} source_t;
+
class DwrCU
{
public:
@@ -280,6 +316,8 @@ public:
uint64_t cu_header_offset;
uint64_t cu_offset;
uint64_t next_cu_offset;
+ Vector<Symbol*> *symbols; // all symbols in this CU are sorted by pc
+ Vector<Symbol*> *symbols_sorted_by_name;
Vector<DwrInlinedSubr*> *dwrInlinedSubrs;
Vector<SourceFile *> *srcFiles;
bool isMemop;
@@ -287,7 +325,15 @@ public:
private:
void build_abbrevTable (DwrSec *debug_abbrevSec, uint64_t stmt_list_offset);
- Function *append_Function (Dwarf_cnt *ctx);
+ Function *append_Function (Symbol *sym, const char *outerName);
+ void set_up_funcs (int64_t offset);
+ void inherit_prop (int64_t offset, source_t *src);
+ void update_source (Symbol *sym, source_t *prop);
+ Symbol *find_declaration (int64_t offset, source_t *prop);
+ SourceFile *get_source (int fileno);
+ Vector<Symbol *> *get_symbols (Vector<Symbol *> *syms = NULL);
+ Vector <Range *> *get_ranges();
+ void set_source (Function *func);
void parse_inlined_subroutine (Dwarf_cnt *ctx);
uint64_t get_low_pc ();
uint64_t get_high_pc (uint64_t low_pc);
@@ -316,6 +362,10 @@ private:
DwrLineRegs *dwrLineReg;
DbeArray<DwrAbbrevTable> *abbrevTable;
DbeArray<Dwr_Attr> *abbrevAtForm;
+ Vector<Symbol*> *tmp_syms; // reused vector for get_symbols()
+ Dwr_rng_entry *rng_list; // entry in the .debug_rnglists section
+ bool rng_list_inited;
+ uint64_t base_address; // low_pc in compile_unit
};
#endif /* _DWARFLIB_H_ */
diff --git a/gprofng/src/Experiment.cc b/gprofng/src/Experiment.cc
index 45550e8..4cbb7f6 100644
--- a/gprofng/src/Experiment.cc
+++ b/gprofng/src/Experiment.cc
@@ -541,10 +541,14 @@ Experiment::ExperimentHandler::startElement (char*, char*, char *qName, Attribut
exp->platform = RISCV;
else
exp->platform = Sparc;
- exp->need_swap_endian = (DbeSession::platform == Sparc) ?
- (exp->platform != Sparc) : (exp->platform == Sparc);
exp->architecture = xstrdup (str);
}
+ str = attrs->getValue (NTXT ("bigendian"));
+ if (str != NULL)
+ {
+ exp->bigendian = *str == '1';
+ exp->need_swap_endian = DbeSession::is_bigendian () != exp->bigendian;
+ }
str = attrs->getValue (NTXT ("pagesz"));
if (str != NULL)
exp->page_size = atoi (str);
@@ -1314,6 +1318,7 @@ Experiment::Experiment ()
exp_maj_version = 0;
exp_min_version = 0;
platform = Unknown;
+ bigendian = DbeSession::is_bigendian(); // can be changed in log.xml reading
wsize = Wnone;
page_size = 4096;
npages = 0;
diff --git a/gprofng/src/Experiment.h b/gprofng/src/Experiment.h
index 2047a15..c85aadd 100644
--- a/gprofng/src/Experiment.h
+++ b/gprofng/src/Experiment.h
@@ -135,6 +135,7 @@ public:
// for current experiment, i.e. 8 for 32bit addresses
int broken; // If SP_JCMD_RUN line not seen
int obsolete; // If pointer file experiment detected
+ bool bigendian; // the experiment was created on a big_endian machine
bool hwc_default; // True if HW counters were enabled by default
int hwc_bogus; // Count of bogus HWC packets
int hwc_lost_int; // Count of packets reflecting lost interrupt
diff --git a/gprofng/src/LoadObject.cc b/gprofng/src/LoadObject.cc
index 1ca6ab6..bf49e9d 100644
--- a/gprofng/src/LoadObject.cc
+++ b/gprofng/src/LoadObject.cc
@@ -20,6 +20,7 @@
#include "config.h"
#include <errno.h>
+#include <libgen.h>
#include "util.h"
#include "StringBuilder.h"
@@ -86,7 +87,6 @@ LoadObject::LoadObject (const char *loname)
size = 0;
type = SEG_UNKNOWN;
isReadStabs = false;
- need_swap_endian = false;
instHTable = new DbeInstr*[LO_InstHTableSize];
for (int i = 0; i < LO_InstHTableSize; i++)
instHTable[i] = NULL;
@@ -298,18 +298,21 @@ LoadObject::dump_functions (FILE *out)
if (fitem->alias && fitem->alias != fitem)
fprintf (out, "id %6llu, @0x%llx - %s == alias of '%s'\n",
(ull_t) fitem->id, (ull_t) fitem->img_offset,
- fitem->get_name (), fitem->alias->get_name ());
+ fitem->get_mangled_name (), fitem->alias->get_mangled_name ());
else
{
mname = fitem->module ? fitem->module->file_name : noname->file_name;
sname = fitem->getDefSrcName ();
- fprintf (out,
- "id %6llu, @0x%llx - 0x%llx [save 0x%llx] o-%lld sz-%lld %s (module = %s)",
- (ull_t) fitem->id, (ull_t) fitem->img_offset,
- (ull_t) (fitem->img_offset + fitem->size),
- (ull_t) fitem->save_addr, (ull_t) fitem->img_offset,
- (ll_t) fitem->size, fitem->get_name (), mname);
- if (sname && !streq (sname, mname))
+ fprintf (out, "id %6llu, @0x%llx-0x%llx sz-%lld", (ull_t) fitem->id,
+ (ull_t) fitem->img_offset,
+ (ull_t) (fitem->img_offset + fitem->size),
+ (ll_t) fitem->size);
+ if (fitem->save_addr != 0)
+ fprintf (out, " [save 0x%llx]", (ull_t) fitem->save_addr);
+ if (strcmp (fitem->get_mangled_name (), fitem->get_name ()) != 0)
+ fprintf (out, " [%s]", fitem->get_mangled_name ());
+ fprintf (out, " %s (module = %s)", fitem->get_name (), mname);
+ if (sname && strcmp (basename (sname), basename (mname)) != 0)
fprintf (out, " (Source = %s)", sname);
fprintf (out, "\n");
}
diff --git a/gprofng/src/LoadObject.h b/gprofng/src/LoadObject.h
index 14dfe26..dd40ea0 100644
--- a/gprofng/src/LoadObject.h
+++ b/gprofng/src/LoadObject.h
@@ -167,7 +167,6 @@ public:
unsigned int flags; // SEG_FLAG_*
bool isReadStabs;
- bool need_swap_endian;
int seg_idx; // for compatibility (ADDRESS)
seg_type type;
int64_t size; // size of loadobject in bytes
diff --git a/gprofng/src/Makefile.am b/gprofng/src/Makefile.am
index 0465cdb..f6d3f5d 100644
--- a/gprofng/src/Makefile.am
+++ b/gprofng/src/Makefile.am
@@ -78,6 +78,7 @@ CCSOURCES = \
Stabs.cc \
Stats_data.cc \
StringBuilder.cc \
+ Symbol.cc \
Table.cc \
QLParser.tab.cc \
dbe_collctrl.cc \
diff --git a/gprofng/src/Makefile.in b/gprofng/src/Makefile.in
index 9f07986..0cdd444 100644
--- a/gprofng/src/Makefile.in
+++ b/gprofng/src/Makefile.in
@@ -174,7 +174,7 @@ am__objects_1 = Application.lo BaseMetric.lo BaseMetricTreeNode.lo \
MemorySpace.lo Metric.lo MetricList.lo Module.lo Ovw_data.lo \
PRBTree.lo PathTree.lo PreviewExp.lo Print.lo \
SAXParserFactory.lo Sample.lo Settings.lo SourceFile.lo \
- Stabs.lo Stats_data.lo StringBuilder.lo Table.lo \
+ Stabs.lo Stats_data.lo StringBuilder.lo Symbol.lo Table.lo \
QLParser.tab.lo dbe_collctrl.lo i18n.lo parse.lo UserLabel.lo \
util.lo Dbe.lo
am__objects_2 = dbe_hwcdrv.lo dbe_hwcfuncs.lo dbe_hwctable.lo \
@@ -505,6 +505,7 @@ CCSOURCES = \
Stabs.cc \
Stats_data.cc \
StringBuilder.cc \
+ Symbol.cc \
Table.cc \
QLParser.tab.cc \
dbe_collctrl.cc \
@@ -777,6 +778,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stabs.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Stats_data.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StringBuilder.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Symbol.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Table.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/UserLabel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checks.Po@am__quote@
diff --git a/gprofng/src/Stabs.cc b/gprofng/src/Stabs.cc
index b98ac28..c6d6473 100644
--- a/gprofng/src/Stabs.cc
+++ b/gprofng/src/Stabs.cc
@@ -35,10 +35,7 @@
#include "StringBuilder.h"
#include "DbeFile.h"
#include "StringMap.h"
-
-#define DISASM_REL_NONE 0 /* symtab search only */
-#define DISASM_REL_ONLY 1 /* relocation search only */
-#define DISASM_REL_TARG 2 /* relocatoin then symtab */
+#include "Symbol.h"
///////////////////////////////////////////////////////////////////////////////
// class StabReader
@@ -62,105 +59,6 @@ private:
int StabEntSize;
};
-///////////////////////////////////////////////////////////////////////////////
-// class Symbol
-
-class Symbol
-{
-public:
- Symbol (Vector<Symbol*> *vec = NULL);
-
- ~Symbol ()
- {
- free (name);
- }
-
- inline Symbol *
- cardinal ()
- {
- return alias ? alias : this;
- }
-
- static void dump (Vector<Symbol*> *vec, char*msg);
-
- Function *func;
- Sp_lang_code lang_code;
- uint64_t value; // st_value used in sym_name()
- uint64_t save;
- int64_t size;
- uint64_t img_offset; // image offset in the ELF file
- char *name;
- Symbol *alias;
- int local_ind;
- int flags;
- bool defined;
-};
-
-Symbol::Symbol (Vector<Symbol*> *vec)
-{
- func = NULL;
- lang_code = Sp_lang_unknown;
- value = 0;
- save = 0;
- size = 0;
- img_offset = 0;
- name = NULL;
- alias = NULL;
- local_ind = -1;
- flags = 0;
- defined = false;
- if (vec)
- vec->append (this);
-}
-
-void
-Symbol::dump (Vector<Symbol*> *vec, char*msg)
-{
- if (!DUMP_ELF_SYM || vec == NULL || vec->size () == 0)
- return;
- printf (NTXT ("======= Symbol::dump: %s =========\n"
- " value | img_offset | flags|local_ind|\n"), msg);
- for (int i = 0; i < vec->size (); i++)
- {
- Symbol *sp = vec->fetch (i);
- printf (NTXT (" %3d %8lld |0x%016llx |%5d |%8d |%s\n"),
- i, (long long) sp->value, (long long) sp->img_offset, sp->flags,
- sp->local_ind, sp->name ? sp->name : NTXT ("NULL"));
- }
- printf (NTXT ("\n===== END of Symbol::dump: %s =========\n\n"), msg);
-}
-
-// end of class Symbol
-///////////////////////////////////////////////////////////////////////////////
-
-///////////////////////////////////////////////////////////////////////////////
-// class Reloc
-class Reloc
-{
-public:
- Reloc ();
- ~Reloc ();
- uint64_t type;
- uint64_t value;
- uint64_t addend;
- char *name;
-};
-
-Reloc::Reloc ()
-{
- type = 0;
- value = 0;
- addend = 0;
- name = NULL;
-}
-
-Reloc::~Reloc ()
-{
- free (name);
-}
-// end of class Reloc
-///////////////////////////////////////////////////////////////////////////////
-
enum
{
SYM_PLT = 1 << 0,
@@ -232,15 +130,6 @@ SymImgOffsetCmp (const void *a, const void *b)
(item1->img_offset == item2->img_offset) ? SymNameCmp (a, b) : -1;
}
-static int
-RelValueCmp (const void *a, const void *b)
-{
- Reloc *item1 = *((Reloc **) a);
- Reloc *item2 = *((Reloc **) b);
- return (item1->value > item2->value) ? 1 :
- (item1->value == item2->value) ? 0 : -1;
-}
-
/* Remove all duplicate symbols which can be in SymLst. The
duplication is due to processing of both static and dynamic
symbols. This function is called before computing symbol
@@ -252,7 +141,6 @@ Stabs::removeDupSyms ()
long ind, i, last;
Symbol *symA, *symB;
SymLst->sort (SymImgOffsetCmp);
- dump ();
last = 0;
ind = SymLst->size ();
@@ -294,8 +182,6 @@ Stabs::Stabs (char *_path, char *_lo_name)
SymLstByName = NULL;
pltSym = NULL;
SymLst = new Vector<Symbol*>;
- RelLst = new Vector<Reloc*>;
- RelPLTLst = new Vector<Reloc*>;
LocalLst = new Vector<Symbol*>;
LocalFile = new Vector<char*>;
LocalFileIdx = new Vector<int>;
@@ -341,8 +227,6 @@ Stabs::~Stabs ()
{
delete SymLstByName;
Destroy (SymLst);
- Destroy (RelLst);
- Destroy (RelPLTLst);
Destroy (LocalFile);
delete elfDis;
delete dwarf;
@@ -458,42 +342,6 @@ Stabs::read_symbols (Vector<Function*> *functions)
return true;
}
-char *
-Stabs::sym_name (uint64_t target, uint64_t instr, int flag)
-{
- long index;
- if (flag == DISASM_REL_ONLY || flag == DISASM_REL_TARG)
- {
- Reloc *relptr = new Reloc;
- relptr->value = instr;
- index = RelLst->bisearch (0, -1, &relptr, RelValueCmp);
- if (index >= 0)
- {
- delete relptr;
- return RelLst->fetch (index)->name;
- }
- if (!is_relocatable ())
- {
- relptr->value = target;
- index = RelPLTLst->bisearch (0, -1, &relptr, RelValueCmp);
- if (index >= 0)
- {
- delete relptr;
- return RelPLTLst->fetch (index)->name;
- }
- }
- delete relptr;
- }
- if (flag == DISASM_REL_NONE || flag == DISASM_REL_TARG || !is_relocatable ())
- {
- Symbol *sptr;
- sptr = map_PC_to_sym (target);
- if (sptr && sptr->value == target)
- return sptr->name;
- }
- return NULL;
-}
-
Symbol *
Stabs::map_PC_to_sym (uint64_t pc)
{
@@ -1706,7 +1554,8 @@ Stabs::fixSymtabAlias ()
for (; i < k; i++)
{
sym = SymLst->fetch (i);
- sym->alias = bestAlias;
+ if (sym != bestAlias)
+ sym->alias = bestAlias;
sym->size = maxSize;
}
i--;
@@ -1761,10 +1610,12 @@ Stabs::readSymSec (Elf *elf, bool is_dynamic)
if (asym == NULL)
break;
const char *st_name = bfd_asymbol_name (asym);
+ if (st_name == NULL)
+ continue;
switch (GELF_ST_TYPE (Sym.st_info))
{
case STT_FUNC:
- if (Sym.st_size == 0)
+ if (Sym.st_size == 0 || ELF_ST_BIND (Sym.st_info) == STB_WEAK)
break;
if (Sym.st_shndx == 0)
{
@@ -1839,8 +1690,7 @@ Stabs::readSymSec (Elf *elf, bool is_dynamic)
fixSymtabAlias ();
SymLst->sort (SymValueCmp);
get_save_addr (elf->need_swap_endian);
- dump ();
-}//check_Symtab
+}
void
Stabs::get_save_addr (bool need_swap_endian)
@@ -2339,6 +2189,7 @@ Stabs::openDwarf ()
{
dwarf = new Dwarf (this);
check_Symtab ();
+ dump();
}
return dwarf;
}
@@ -2363,8 +2214,8 @@ Stabs::dump ()
printf (" %3d: %5d '%s'\n", i, LocalFileIdx->fetch (i),
LocalFile->fetch (i));
}
- Symbol::dump (SymLst, NTXT ("SymLst"));
- Symbol::dump (LocalLst, NTXT ("LocalLst"));
+ SymLst->dump ("SymLst");
+ LocalLst->dump ("LocalLst");
printf (NTXT ("\n===== END of Stabs::dump: %s =========\n\n"),
path ? path : NTXT ("NULL"));
}
diff --git a/gprofng/src/Stabs.h b/gprofng/src/Stabs.h
index d34741f..c8da278 100644
--- a/gprofng/src/Stabs.h
+++ b/gprofng/src/Stabs.h
@@ -40,7 +40,6 @@ class ComC;
class Elf;
class Dwarf;
class Symbol;
-class Reloc;
struct cpf_stabs_t;
class SourceFile;
template <typename Key_t, typename Value_t> class Map;
@@ -86,12 +85,12 @@ class Stabs {
Platform_t get_platform() { return platform; }
WSize_t get_class() { return wsize;}
Stab_status get_status() { return status;}
+ Vector<Symbol *> *get_symbols() { return SymLst; }
Stab_status read_stabs(ino64_t srcInode, Module *module, Vector<ComC*> *comComs, bool readDwarf = false);
Stab_status read_archive(LoadObject *lo);
bool read_symbols(Vector<Function*> *functions);
uint64_t mapOffsetToAddress(uint64_t img_offset);
- char *sym_name(uint64_t target, uint64_t instr, int flag);
Elf *openElf (bool dbg_info = false);
void read_hwcprof_info(Module *module);
void dump();
@@ -135,8 +134,6 @@ class Stabs {
Symbol *pltSym;
Vector<Symbol*> *SymLst; // list of func symbols
Vector<Symbol*> *SymLstByName; // list of func symbols sorted by Name
- Vector<Reloc*> *RelLst; // list of text relocations
- Vector<Reloc*> *RelPLTLst; // list of PLT relocations
Vector<Symbol*> *LocalLst; // list of local func symbols
Vector<char*> *LocalFile; // list of local files
Vector<int> *LocalFileIdx; // start index in LocalLst
diff --git a/gprofng/src/Symbol.cc b/gprofng/src/Symbol.cc
new file mode 100644
index 0000000..8cc578f
--- /dev/null
+++ b/gprofng/src/Symbol.cc
@@ -0,0 +1,218 @@
+/* Copyright (C) 2025 Free Software Foundation, Inc.
+ Contributed by Oracle.
+
+ This file is part of GNU Binutils.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#include "config.h"
+
+#include "DbeSession.h"
+#include "Function.h"
+#include "LoadObject.h"
+#include "Module.h"
+#include "Symbol.h"
+
+
+template<> void Vector<Symbol *>::dump (const char *msg)
+{
+ if (msg == NULL)
+ msg = "#";
+ Dprintf (1, NTXT ("\n%s Vector<Symbol *> [%lld]\n"), msg, (long long) size ());
+ if (size () > 0)
+ Dprintf (1, " value | img_offset | size | flags|local_ind|\n");
+ for (long i = 0, sz = size (); i < sz; i++)
+ {
+ Symbol *sp = get (i);
+ Dprintf (1, " %3ld ", i);
+ sp->dump ();
+ }
+ if (size () > 0)
+ Dprintf (1, "===== END of Symbol::dump: %s =========\n\n", msg);
+}
+
+void
+Symbol::dump (const char *msg)
+{
+ if (msg)
+ Dprintf (1, "%s\n", msg);
+ Dprintf (1, "%8lld |%11lld |%6d |%5d |%8d |%s\n", (long long) value,
+ (long long) img_offset, (int) size, flags, local_ind,
+ name ? name : "NULL");
+}
+
+Symbol::Symbol (Vector<Symbol*> *vec)
+{
+ func = NULL;
+ lang_code = Sp_lang_unknown;
+ value = 0;
+ save = 0;
+ size = 0;
+ img_offset = 0;
+ name = NULL;
+ alias = NULL;
+ local_ind = -1;
+ flags = 0;
+ defined = false;
+ if (vec)
+ vec->append (this);
+}
+
+Symbol::~Symbol ()
+{
+ free (name);
+}
+
+static int
+cmpSym (const void *a, const void *b)
+{
+ Symbol *item1 = *((Symbol **) a);
+ Symbol *item2 = *((Symbol **) b);
+ return (item1->value > item2->value) ? 1 :
+ (item1->value == item2->value) ? 0 : -1;
+}
+
+static int
+cmpSymName (const void *a, const void *b)
+{
+ Symbol *item1 = *((Symbol **) a);
+ Symbol *item2 = *((Symbol **) b);
+ return strcmp (item1->name, item2->name);
+}
+
+Symbol *
+Symbol::get_symbol (Vector<Symbol*> *syms, uint64_t pc)
+{
+ if (syms != NULL && pc != 0)
+ {
+ Symbol *sp = new Symbol;
+ sp->value = pc;
+ long i = syms->bisearch (0, -1, &sp, cmpSym);
+ delete sp;
+ if (i != -1)
+ return syms->get (i)->cardinal ();
+ }
+ return NULL;
+}
+
+Symbol *
+Symbol::get_symbol (Vector<Symbol*> *syms, char *linker_name)
+{
+ if (syms != NULL && linker_name != NULL)
+ {
+ Symbol *sp = new Symbol;
+ sp->name = linker_name;
+ long i = syms->bisearch (0, -1, &sp, cmpSymName);
+ sp->name = NULL;
+ delete sp;
+ if (i != -1)
+ return syms->get (i)->cardinal ();
+ }
+ return NULL;
+}
+
+Vector<Symbol *> *
+Symbol::sort_by_name (Vector<Symbol *> *syms)
+{
+ if (VecSize (syms) == 0)
+ return NULL;
+ Vector<Symbol *> *symbols = syms->copy ();
+ symbols->sort (cmpSymName);
+ return symbols;
+}
+
+Vector<Symbol *> *
+Symbol::find_symbols (Vector<Symbol*> *syms, Vector<Range *> *ranges,
+ Vector<Symbol *> *symbols)
+{
+ // 'syms' and 'ranges' must already be sorted.
+ // return symbols matched by 'ranges'
+ if (VecSize (syms) == 0 || VecSize (ranges) == 0)
+ return NULL;
+
+ // Use binary search to find a suitable index in 'syms'
+ int ind = 0;
+ uint64_t addr = ranges->get (0)->low;
+ for (int lo = 0, hi = syms->size (); lo < hi;)
+ {
+ int mid = (hi + lo) >> 1;
+ Symbol *sym = syms->get (mid);
+ if (sym->value == addr)
+ {
+ ind = mid;
+ break;
+ }
+ else if (sym->value > addr)
+ hi = mid - 1;
+ else
+ {
+ ind = mid;
+ lo = mid + 1;
+ }
+ }
+
+ for (int i = 0, r_sz = ranges->size (), sz = syms->size (); ind < sz; ind++)
+ {
+ Symbol *sym = syms->get (ind);
+ while (i < r_sz)
+ {
+ Range *r = ranges->get (i);
+ if (sym->value < r->low)
+ break;
+ if (sym->value <= r->high)
+ {
+ symbols->append (sym);
+ break;
+ }
+ i++;
+ }
+ if (i >= r_sz)
+ break;
+ }
+ return symbols;
+}
+
+/* Create and append a new function to the 'module'.
+ * Copy attributes (size, name, etc) from Simbol, */
+Function *
+Symbol::createFunction (Module *module)
+{
+ if (func)
+ return func;
+ func = dbeSession->createFunction ();
+ func->img_fname = module->file_name;
+ func->img_offset = img_offset;
+ func->save_addr = save;
+ func->size = size;
+ func->module = module;
+ func->set_name (name);
+ module->functions->append (func);
+ module->loadobject->functions->append (func);
+ return func;
+}
+
+template<> void Vector<Range *>::dump (const char *msg)
+{
+ Dprintf (1, NTXT ("%s Vector<Range *> [%lld]\n"),
+ msg ? msg : "#", (long long) size ());
+ for (long i = 0, sz = size (); i < sz; i++)
+ {
+ Range *p = get (i);
+ Dprintf (1, "%3ld 0x%08llx 0x%08llx (%lld - %lld)\n", i,
+ (long long) p->low, (long long) p->high,
+ (long long) p->low, (long long) p->high);
+ }
+} \ No newline at end of file
diff --git a/gprofng/src/Symbol.h b/gprofng/src/Symbol.h
new file mode 100644
index 0000000..e9e0060
--- /dev/null
+++ b/gprofng/src/Symbol.h
@@ -0,0 +1,84 @@
+/* Copyright (C) 2025 Free Software Foundation, Inc.
+ Contributed by Oracle.
+
+ This file is part of GNU Binutils.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+
+#ifndef _Symbol_h_
+#define _Symbol_h_
+
+class Function;
+class Module;
+
+class Range
+{
+public:
+ Range (uint64_t _low, uint64_t _high)
+ {
+ low = _low;
+ high = _high;
+ }
+
+ inline bool
+ inside (uint64_t val)
+ {
+ return val >= low && val < high;
+ };
+
+ uint64_t low;
+ uint64_t high;
+};
+
+class Symbol
+{
+public:
+ Symbol (Vector<Symbol *> *vec = NULL);
+ ~Symbol ();
+
+ Symbol *
+ cardinal ()
+ {
+ return alias ? alias : this;
+ }
+
+ // Find symbols in 'syms' matched by 'ranges'.
+ static Vector<Symbol *> *find_symbols (Vector<Symbol *> *syms,
+ Vector<Range *> *ranges, Vector<Symbol *> *symbols = NULL);
+ static Vector<Symbol *> *sort_by_name (Vector<Symbol *> *syms);
+
+ // Find symbol in CU corresponding to pc or linker_name.
+ static Symbol *get_symbol (Vector<Symbol *> *syms, uint64_t pc);
+ static Symbol *get_symbol (Vector<Symbol *> *syms, char *linker_name);
+
+ // Create and append a new function to the 'module'.
+ // Copy attributes (size, name, etc) from Symbol,
+ Function *createFunction(Module *module);
+ void dump (const char *msg = NULL);
+
+ Function *func;
+ Sp_lang_code lang_code;
+ uint64_t value;
+ uint64_t save;
+ int64_t size;
+ uint64_t img_offset; // image offset in the ELF file
+ char *name;
+ Symbol *alias;
+ int local_ind;
+ int flags;
+ bool defined;
+};
+#endif
diff --git a/gprofng/src/collect.h b/gprofng/src/collect.h
index 18ab564..3ce6b28 100644
--- a/gprofng/src/collect.h
+++ b/gprofng/src/collect.h
@@ -32,7 +32,6 @@ class Coll_Ctrl;
class Elf;
#define MAXLABELS 10 /* maximum number of -C arguments */
-#define STDEBUFSIZE 24000
enum { MAX_LD_PRELOAD_TYPES = 3 };
diff --git a/gprofng/src/envsets.cc b/gprofng/src/envsets.cc
index 30803aa..e92c017 100644
--- a/gprofng/src/envsets.cc
+++ b/gprofng/src/envsets.cc
@@ -31,16 +31,6 @@
#include "StringBuilder.h"
#include "Settings.h"
-#define STDEBUFSIZE 24000
-
-#define LIBGP_COLLECTOR "libgp-collector.so"
-#define GPROFNG_PRELOAD_LIBDIRS "GPROFNG_PRELOAD_LIBDIRS"
-#define SP_COLLECTOR_EXPNAME "SP_COLLECTOR_EXPNAME"
-#define SP_COLLECTOR_FOLLOW_SPEC "SP_COLLECTOR_FOLLOW_SPEC"
-#define SP_COLLECTOR_PARAMS "SP_COLLECTOR_PARAMS"
-#define SP_COLLECTOR_FOUNDER "SP_COLLECTOR_FOUNDER"
-#define SP_COLLECTOR_ORIGIN_COLLECT "SP_COLLECTOR_ORIGIN_COLLECT"
-
static const char *LD_AUDIT[] = {
// "LD_AUDIT", Do not set LD_AUDIT on Linux
NULL
diff --git a/gprofng/src/gp-archive.cc b/gprofng/src/gp-archive.cc
index 4e68336..ee9f917 100644
--- a/gprofng/src/gp-archive.cc
+++ b/gprofng/src/gp-archive.cc
@@ -140,7 +140,8 @@ er_archive::usage ()
"See also:\n"
"\n"
"gprofng(1), gprofng-collect-app(1), gprofng-display-html(1), "
- "gprofng-display-src(1), gprofng-display-text(1)\n"));
+ "gprofng-display-src(1), gprofng-display-text(1)\n"
+ "\nReport bugs to <https://sourceware.org/bugzilla/>\n"));
exit (1);
}
diff --git a/gprofng/src/gp-collect-app.cc b/gprofng/src/gp-collect-app.cc
index bf146d9..695c4af 100644
--- a/gprofng/src/gp-collect-app.cc
+++ b/gprofng/src/gp-collect-app.cc
@@ -44,8 +44,6 @@
#include "collect.h"
#include "StringBuilder.h"
-#define SP_COLLECTOR_FOUNDER "SP_COLLECTOR_FOUNDER"
-
extern char **environ;
static volatile int interrupt = 0;
@@ -1481,7 +1479,8 @@ collect::usage ()
"See also:\n"
"\n"
"gprofng(1), gprofng-archive(1), gprofng-display-html(1), "
- "gpgprofng-display-src(1), gprofng-display-text(1)\n"));
+ "gpgprofng-display-src(1), gprofng-display-text(1)\n"
+ "\nReport bugs to <https://sourceware.org/bugzilla/>\n"));
}
void
diff --git a/gprofng/src/gp-display-src.cc b/gprofng/src/gp-display-src.cc
index 7eb6b33..5475f27 100644
--- a/gprofng/src/gp-display-src.cc
+++ b/gprofng/src/gp-display-src.cc
@@ -172,7 +172,8 @@ er_src::usage ()
"See also:\n"
"\n"
"gprofng(1), gprofng-archive(1), gprofng-collect-app(1), "
- "gprofng-display-html(1), gprofng-display-text(1)\n"));
+ "gprofng-display-html(1), gprofng-display-text(1)\n"
+ "\nReport bugs to <https://sourceware.org/bugzilla/>\n"));
/*
printf (GTXT ("Usage: %s [OPTION] a.out/.so/.o/.class\n\n"), whoami);
printf (GTXT (" -func List all the functions from the given object\n"
diff --git a/gprofng/src/gp-display-text.cc b/gprofng/src/gp-display-text.cc
index 4fcd639..32bda49 100644
--- a/gprofng/src/gp-display-text.cc
+++ b/gprofng/src/gp-display-text.cc
@@ -254,7 +254,8 @@ er_print::usage ()
"See also:\n"
"\n"
"gprofng(1), gprofng-archive(1), gprofng-collect-app(1), "
- "gprofng-display-html(1), gprofng-display-src(1)\n"));
+ "gprofng-display-html(1), gprofng-display-src(1)\n"
+ "\nReport bugs to <https://sourceware.org/bugzilla/>\n"));
}
int // returns count of experiments read
diff --git a/gprofng/src/gprofng.cc b/gprofng/src/gprofng.cc
index 99f904a..4364d97 100644
--- a/gprofng/src/gprofng.cc
+++ b/gprofng/src/gprofng.cc
@@ -155,7 +155,8 @@ Gprofng::usage ()
"See also:\n"
"\n"
"gprofng-archive(1), gprofng-collect-app(1), gprofng-display-html(1), "
- "gprofng-display-src(1), gprofng-display-text(1)\n"));
+ "gprofng-display-src(1), gprofng-display-text(1)\n"
+ "\nReport bugs to <https://sourceware.org/bugzilla/>\n"));
/*
printf ( GTXT (
diff --git a/gprofng/src/ipcio.cc b/gprofng/src/ipcio.cc
index 36d2ba5..2890c6a 100644
--- a/gprofng/src/ipcio.cc
+++ b/gprofng/src/ipcio.cc
@@ -23,10 +23,7 @@
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>
-#include <iostream>
-#include <iomanip>
-#include <sstream>
-#include <queue>
+
#include "vec.h"
#include "util.h"
#include "ipcio.h"
diff --git a/include/elf/common.h b/include/elf/common.h
index fd032d1..01812b4 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -1041,6 +1041,11 @@
#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1U << 1)
#define GNU_PROPERTY_AARCH64_FEATURE_1_GCS (1U << 2)
+/* RISC-V specific GNU PROPERTY. */
+#define GNU_PROPERTY_RISCV_FEATURE_1_AND 0xc0000000
+#define GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED (1U << 0)
+#define GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS (1U << 1)
+
/* Values used in GNU .note.ABI-tag notes (NT_GNU_ABI_TAG). */
#define GNU_ABI_TAG_LINUX 0
#define GNU_ABI_TAG_HURD 1
diff --git a/include/libiberty.h b/include/libiberty.h
index e39f187..b88eb64 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -133,6 +133,18 @@ extern const char *dos_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIB
extern const char *unix_lbasename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);
+/* A dirname () that is always compiled in. */
+
+extern char *ldirname (const char *) ATTRIBUTE_NONNULL(1);
+
+/* Same, but assumes DOS semantics regardless of host. */
+
+extern char *dos_ldirname (const char *) ATTRIBUTE_NONNULL(1);
+
+/* Same, but assumes Unix semantics regardless of host. */
+
+extern char *unix_ldirname (const char *) ATTRIBUTE_NONNULL(1);
+
/* A well-defined realpath () that is always compiled in. */
extern char *lrealpath (const char *);
@@ -199,6 +211,16 @@ extern int fdmatch (int fd1, int fd2);
extern int ffs(int);
#endif
+#if defined (HAVE_DECL_MKSTEMPS) && !HAVE_DECL_MKSTEMPS
+extern int mkstemps(char *, int);
+#endif
+
+/* Make memrchr available on systems that do not have it. */
+#if !defined (__GNU_LIBRARY__ ) && !defined (__linux__) && \
+ !defined (HAVE_MEMRCHR)
+extern void *memrchr(const void *, int, size_t);
+#endif
+
/* Get the working directory. The result is cached, so don't call
chdir() between calls to getpwd(). */
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index dfe3f05..7c1163d 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -79,6 +79,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_CRC,
/* LSE instructions. */
AARCH64_FEATURE_LSE,
+ /* LSFE instructions. */
+ AARCH64_FEATURE_LSFE,
/* PAN instructions. */
AARCH64_FEATURE_PAN,
/* LOR instructions. */
@@ -135,8 +137,12 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_ID_PFR2,
/* SSBS mechanism enabled. */
AARCH64_FEATURE_SSBS,
+ /* Compare and branch instructions. */
+ AARCH64_FEATURE_CMPBR,
/* Memory Tagging Extension. */
AARCH64_FEATURE_MEMTAG,
+ /* Outer Cacheable Cache Maintenance Operation. */
+ AARCH64_FEATURE_OCCMO,
/* Transactional Memory Extension. */
AARCH64_FEATURE_TME,
/* XS memory attribute. */
@@ -210,7 +216,7 @@ enum aarch64_feature_bit {
/* Instrumentation Extension. */
AARCH64_FEATURE_ITE,
/* 128-bit page table descriptor, system registers
- and isntructions. */
+ and instructions. */
AARCH64_FEATURE_D128,
/* Armv8.9-A/Armv9.4-A architecture Debug extension. */
AARCH64_FEATURE_DEBUGv8p9,
@@ -230,6 +236,12 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_SME2p1,
/* SVE2.1 instructions. */
AARCH64_FEATURE_SVE2p1,
+ /* SVE_F16F32MM instructions. */
+ AARCH64_FEATURE_SVE_F16F32MM,
+ /* F8F32MM instructions. */
+ AARCH64_FEATURE_F8F32MM,
+ /* F8F16MM instructions. */
+ AARCH64_FEATURE_F8F16MM,
/* RCPC3 instructions. */
AARCH64_FEATURE_RCPC3,
/* Enhanced Software Step Extension. */
@@ -264,12 +276,26 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_SME_F8F16,
/* Non-widening half-precision FP16 to FP16 arithmetic for SME2. */
AARCH64_FEATURE_SME_F16F16,
+ /* FEAT_SVE_BFSCALE. */
+ AARCH64_FEATURE_SVE_BFSCALE,
/* SVE Z-targeting non-widening BFloat16 instructions. */
AARCH64_FEATURE_SVE_B16B16,
/* SME non-widening BFloat16 instructions. */
AARCH64_FEATURE_SME_B16B16,
+ /* Armv9.1-A processors. */
+ AARCH64_FEATURE_V9_1A,
+ /* Armv9.2-A processors. */
+ AARCH64_FEATURE_V9_2A,
+ /* Armv9.3-A processors. */
+ AARCH64_FEATURE_V9_3A,
+ /* Armv9.4-A processors. */
+ AARCH64_FEATURE_V9_4A,
/* Armv9.5-A processors. */
AARCH64_FEATURE_V9_5A,
+ /* FPRCVT instructions. */
+ AARCH64_FEATURE_FPRCVT,
+ /* Point of Physical Storage. */
+ AARCH64_FEATURE_PoPS,
/* Virtual features. These are used to gate instructions that are enabled
by either of two (or more) sets of command line flags. */
@@ -281,6 +307,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_FP8DOT2_SVE,
/* +sme-f16f16 or +sme-f8f16 */
AARCH64_FEATURE_SME_F16F16_F8F16,
+ /* +sve2 or +sme2 */
+ AARCH64_FEATURE_SVE2_SME2,
/* +sve2p1 or +sme */
AARCH64_FEATURE_SVE2p1_SME,
/* +sve2p1 or +sme2 */
@@ -290,13 +318,49 @@ enum aarch64_feature_bit {
AARCH64_NUM_FEATURES
};
+typedef uint64_t aarch64_feature_word;
+#define AARCH64_BITS_PER_FEATURE_WORD 64
+
+#define AA64_REPLICATE(SEP, BODY, ...) \
+ BODY (0, __VA_ARGS__) SEP \
+ BODY (1, __VA_ARGS__) SEP \
+ BODY (2, __VA_ARGS__)
+
+/* Some useful SEP operators for use with replication. */
+#define REP_COMMA ,
+#define REP_SEMICOLON ;
+#define REP_OR_OR ||
+#define REP_AND_AND &&
+#define REP_PLUS +
+
+/* Not currently needed, but if an empty SEP is required define:
+ #define REP_NO_SEP
+ Then use REP_NO_SEP in the SEP field. */
+
+/* Used to generate one instance of VAL for each value of ELT (ELT is
+ not otherwise used). */
+#define AA64_REPVAL(ELT, VAL) VAL
+
+/* static_assert requires C11 (or C++11) or later. Support older
+ versions by disabling this check since compilers without this are
+ pretty uncommon these days. */
+#if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L) \
+ || (defined __cplusplus && __cplusplus >= 201103L))
+static_assert ((AA64_REPLICATE (REP_PLUS, AA64_REPVAL,
+ AARCH64_BITS_PER_FEATURE_WORD))
+ >= AARCH64_NUM_FEATURES,
+ "Insufficient repetitions in AA64_REPLICATE()");
+#endif
+
/* These macros take an initial argument X that gives the index into
an aarch64_feature_set. The macros then return the bitmask for
that array index. */
/* A mask in which feature bit BIT is set and all other bits are clear. */
-#define AARCH64_UINT64_BIT(X, BIT) \
- ((X) == (BIT) / 64 ? 1ULL << (BIT) % 64 : 0)
+#define AARCH64_UINT64_BIT(X, BIT) \
+ ((X) == (BIT) / AARCH64_BITS_PER_FEATURE_WORD \
+ ? 1ULL << (BIT) % AARCH64_BITS_PER_FEATURE_WORD \
+ : 0)
/* A mask that includes only AARCH64_FEATURE_<NAME>. */
#define AARCH64_FEATBIT(X, NAME) \
@@ -374,10 +438,14 @@ enum aarch64_feature_bit {
| AARCH64_FEATBIT (X, F16) \
| AARCH64_FEATBIT (X, SVE) \
| AARCH64_FEATBIT (X, SVE2))
-#define AARCH64_ARCH_V9_1A_FEATURES(X) AARCH64_ARCH_V8_6A_FEATURES (X)
-#define AARCH64_ARCH_V9_2A_FEATURES(X) AARCH64_ARCH_V8_7A_FEATURES (X)
-#define AARCH64_ARCH_V9_3A_FEATURES(X) AARCH64_ARCH_V8_8A_FEATURES (X)
-#define AARCH64_ARCH_V9_4A_FEATURES(X) (AARCH64_ARCH_V8_9A_FEATURES (X) \
+#define AARCH64_ARCH_V9_1A_FEATURES(X) (AARCH64_FEATBIT (X, V9_1A) \
+ | AARCH64_ARCH_V8_6A_FEATURES (X))
+#define AARCH64_ARCH_V9_2A_FEATURES(X) (AARCH64_FEATBIT (X, V9_2A) \
+ | AARCH64_ARCH_V8_7A_FEATURES (X))
+#define AARCH64_ARCH_V9_3A_FEATURES(X) (AARCH64_FEATBIT (X, V9_3A) \
+ | AARCH64_ARCH_V8_8A_FEATURES (X))
+#define AARCH64_ARCH_V9_4A_FEATURES(X) (AARCH64_FEATBIT (X, V9_4A) \
+ | AARCH64_ARCH_V8_9A_FEATURES (X) \
| AARCH64_FEATBIT (X, SVE2p1))
#define AARCH64_ARCH_V9_5A_FEATURES(X) (AARCH64_FEATBIT (X, V9_5A) \
| AARCH64_FEATBIT (X, CPA) \
@@ -431,60 +499,74 @@ enum aarch64_feature_bit {
/* CPU-specific features. */
typedef struct {
- uint64_t flags[(AARCH64_NUM_FEATURES + 63) / 64];
+ aarch64_feature_word flags[AA64_REPLICATE (REP_PLUS, AA64_REPVAL, 1)];
} aarch64_feature_set;
-#define AARCH64_CPU_HAS_FEATURE(CPU,FEAT) \
- ((~(CPU).flags[0] & AARCH64_FEATBIT (0, FEAT)) == 0 \
- && (~(CPU).flags[1] & AARCH64_FEATBIT (1, FEAT)) == 0)
+#define AARCH64_CPU_HAS_FEATURE_BODY(ELT, CPU, FEAT) \
+ ((~(CPU).flags[ELT] & AARCH64_FEATBIT (ELT, FEAT)) == 0)
+#define AARCH64_CPU_HAS_FEATURE(CPU, FEAT) \
+ (AA64_REPLICATE (REP_AND_AND, AARCH64_CPU_HAS_FEATURE_BODY, CPU, FEAT))
-#define AARCH64_CPU_HAS_ALL_FEATURES(CPU,FEAT) \
- ((~(CPU).flags[0] & (FEAT).flags[0]) == 0 \
- && (~(CPU).flags[1] & (FEAT).flags[1]) == 0)
+#define AARCH64_CPU_HAS_ALL_FEATURES_BODY(ELT, CPU, FEAT) \
+ ((~(CPU).flags[ELT] & (FEAT).flags[ELT]) == 0)
+#define AARCH64_CPU_HAS_ALL_FEATURES(CPU, FEAT) \
+ (AA64_REPLICATE (REP_AND_AND, AARCH64_CPU_HAS_ALL_FEATURES_BODY, CPU, FEAT))
+#define AARCH64_CPU_HAS_ANY_FEATURES_BODY(ELT, CPU, FEAT) \
+ (((CPU).flags[ELT] & (FEAT).flags[ELT]) != 0)
#define AARCH64_CPU_HAS_ANY_FEATURES(CPU,FEAT) \
- (((CPU).flags[0] & (FEAT).flags[0]) != 0 \
- || ((CPU).flags[1] & (FEAT).flags[1]) != 0)
+ (AA64_REPLICATE (REP_OR_OR, AARCH64_CPU_HAS_ANY_FEATURES_BODY, CPU, FEAT))
+#define AARCH64_SET_FEATURE_BODY(ELT, DEST, FEAT) \
+ (DEST).flags[ELT] = FEAT (ELT)
#define AARCH64_SET_FEATURE(DEST, FEAT) \
- ((DEST).flags[0] = FEAT (0), \
- (DEST).flags[1] = FEAT (1))
+ (AA64_REPLICATE (REP_COMMA, AARCH64_SET_FEATURE_BODY, DEST, FEAT))
+#define AARCH64_CLEAR_FEATURE_BODY(ELT, DEST, SRC, FEAT) \
+ (DEST).flags[ELT] = ((SRC).flags[ELT] \
+ & ~AARCH64_FEATBIT (ELT, FEAT))
#define AARCH64_CLEAR_FEATURE(DEST, SRC, FEAT) \
- ((DEST).flags[0] = (SRC).flags[0] & ~AARCH64_FEATBIT (0, FEAT), \
- (DEST).flags[1] = (SRC).flags[1] & ~AARCH64_FEATBIT (1, FEAT))
-
-#define AARCH64_MERGE_FEATURE_SETS(TARG,F1,F2) \
- do \
- { \
- (TARG).flags[0] = (F1).flags[0] | (F2).flags[0]; \
- (TARG).flags[1] = (F1).flags[1] | (F2).flags[1]; \
- } \
+ (AA64_REPLICATE (REP_COMMA, AARCH64_CLEAR_FEATURE_BODY, DEST, SRC, FEAT))
+
+#define AARCH64_MERGE_FEATURE_SETS_BODY(ELT, TARG, F1, F2) \
+ (TARG).flags[ELT] = (F1).flags[ELT] | (F2).flags[ELT];
+#define AARCH64_MERGE_FEATURE_SETS(TARG, F1, F2) \
+ do \
+ { \
+ AA64_REPLICATE (REP_SEMICOLON, \
+ AARCH64_MERGE_FEATURE_SETS_BODY, TARG, F1, F2); \
+ } \
while (0)
-#define AARCH64_CLEAR_FEATURES(TARG,F1,F2) \
- do \
- { \
- (TARG).flags[0] = (F1).flags[0] &~ (F2).flags[0]; \
- (TARG).flags[1] = (F1).flags[1] &~ (F2).flags[1]; \
- } \
+#define AARCH64_CLEAR_FEATURES_BODY(ELT, TARG, F1, F2) \
+ (TARG).flags[ELT] = (F1).flags[ELT] &~ (F2).flags[ELT];
+#define AARCH64_CLEAR_FEATURES(TARG,F1,F2) \
+ do \
+ { \
+ AA64_REPLICATE (REP_SEMICOLON, \
+ AARCH64_CLEAR_FEATURES_BODY, TARG, F1, F2); \
+ } \
while (0)
/* aarch64_feature_set initializers for no features and all features,
respectively. */
-#define AARCH64_NO_FEATURES { { 0, 0 } }
-#define AARCH64_ALL_FEATURES { { -1, -1 } }
+#define AARCH64_NO_FEATURES { { AA64_REPLICATE (REP_COMMA, AA64_REPVAL, 0) } }
+#define AARCH64_ALL_FEATURES { { AA64_REPLICATE (REP_COMMA, AA64_REPVAL, -1) } }
/* An aarch64_feature_set initializer for a single feature,
AARCH64_FEATURE_<FEAT>. */
-#define AARCH64_FEATURE(FEAT) \
- { { AARCH64_FEATBIT (0, FEAT), AARCH64_FEATBIT (1, FEAT) } }
+#define AARCH64_FEATURE_BODY(ELT, FEAT) \
+ AARCH64_FEATBIT (ELT, FEAT)
+#define AARCH64_FEATURE(FEAT) \
+ { { AA64_REPLICATE (REP_COMMA, AARCH64_FEATURE_BODY, FEAT) } }
/* An aarch64_feature_set initializer for a specific architecture version,
including all the features that are enabled by default for that architecture
version. */
-#define AARCH64_ARCH_FEATURES(ARCH) \
- { { AARCH64_ARCH_##ARCH (0), AARCH64_ARCH_##ARCH (1) } }
+#define AARCH64_ARCH_FEATURES_BODY(ELT, ARCH) \
+ AARCH64_ARCH_##ARCH (ELT)
+#define AARCH64_ARCH_FEATURES(ARCH) \
+ { { AA64_REPLICATE (REP_COMMA, AARCH64_ARCH_FEATURES_BODY, ARCH) } }
/* Used by AARCH64_CPU_FEATURES. */
#define AARCH64_OR_FEATURES_1(X, ARCH, F1) \
@@ -508,9 +590,11 @@ typedef struct {
/* An aarch64_feature_set initializer for a CPU that implements architecture
version ARCH, and additionally provides the N features listed in "...". */
+#define AARCH64_CPU_FEATURES_BODY(ELT, ARCH, N, ...) \
+ AARCH64_OR_FEATURES_##N (ELT, ARCH, __VA_ARGS__)
#define AARCH64_CPU_FEATURES(ARCH, N, ...) \
- { { AARCH64_OR_FEATURES_##N (0, ARCH, __VA_ARGS__), \
- AARCH64_OR_FEATURES_##N (1, ARCH, __VA_ARGS__) } }
+ { { AA64_REPLICATE (REP_COMMA, AARCH64_CPU_FEATURES_BODY, \
+ ARCH, N, __VA_ARGS__) } }
/* An aarch64_feature_set initializer for the N features listed in "...". */
#define AARCH64_FEATURES(N, ...) \
@@ -618,6 +702,8 @@ enum aarch64_opnd
AARCH64_OPND_WIDTH, /* Immediate #<width> in e.g. BFI. */
AARCH64_OPND_IMM, /* Immediate. */
AARCH64_OPND_IMM_2, /* Immediate. */
+ AARCH64_OPND_IMMP1_2, /* Immediate plus 1. */
+ AARCH64_OPND_IMMS1_2, /* Immediate minus 1. */
AARCH64_OPND_UIMM3_OP1,/* Unsigned 3-bit immediate in the op1 field. */
AARCH64_OPND_UIMM3_OP2,/* Unsigned 3-bit immediate in the op2 field. */
AARCH64_OPND_UIMM4, /* Unsigned 4-bit immediate in the CRm field. */
@@ -645,6 +731,7 @@ enum aarch64_opnd
AARCH64_OPND_COND1, /* Same as the above, but excluding AL and NV. */
AARCH64_OPND_ADDR_ADRP, /* Memory address for ADRP */
+ AARCH64_OPND_ADDR_PCREL9, /* 9-bit PC-relative address for e.g. CB<cc>. */
AARCH64_OPND_ADDR_PCREL14, /* 14-bit PC-relative address for e.g. TBZ. */
AARCH64_OPND_ADDR_PCREL19, /* 19-bit PC-relative address for e.g. LDR. */
AARCH64_OPND_ADDR_PCREL21, /* 21-bit PC-relative address for e.g. ADR. */
@@ -704,12 +791,16 @@ enum aarch64_opnd
AARCH64_OPND_SVE_ADDR_RI_U6x2, /* SVE [<Xn|SP>, #<uimm6>*2]. */
AARCH64_OPND_SVE_ADDR_RI_U6x4, /* SVE [<Xn|SP>, #<uimm6>*4]. */
AARCH64_OPND_SVE_ADDR_RI_U6x8, /* SVE [<Xn|SP>, #<uimm6>*8]. */
- AARCH64_OPND_SVE_ADDR_R, /* SVE [<Xn|SP>]. */
- AARCH64_OPND_SVE_ADDR_RR, /* SVE [<Xn|SP>, <Xm|XZR>]. */
- AARCH64_OPND_SVE_ADDR_RR_LSL1, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #1]. */
- AARCH64_OPND_SVE_ADDR_RR_LSL2, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #2]. */
- AARCH64_OPND_SVE_ADDR_RR_LSL3, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #3]. */
- AARCH64_OPND_SVE_ADDR_RR_LSL4, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #4]. */
+ AARCH64_OPND_SVE_ADDR_RR, /* SVE [<Xn|SP>{, <Xm|XZR>}]. */
+ AARCH64_OPND_SVE_ADDR_RR_LSL1, /* SVE [<Xn|SP>{, <Xm|XZR>, LSL #1}]. */
+ AARCH64_OPND_SVE_ADDR_RR_LSL2, /* SVE [<Xn|SP>{, <Xm|XZR>, LSL #2}]. */
+ AARCH64_OPND_SVE_ADDR_RR_LSL3, /* SVE [<Xn|SP>{, <Xm|XZR>, LSL #3}]. */
+ AARCH64_OPND_SVE_ADDR_RR_LSL4, /* SVE [<Xn|SP>{, <Xm|XZR>, LSL #4}]. */
+ AARCH64_OPND_SVE_ADDR_RM, /* SVE [<Xn|SP>, <Xm|XZR>]. */
+ AARCH64_OPND_SVE_ADDR_RM_LSL1, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #1]. */
+ AARCH64_OPND_SVE_ADDR_RM_LSL2, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #2]. */
+ AARCH64_OPND_SVE_ADDR_RM_LSL3, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #3]. */
+ AARCH64_OPND_SVE_ADDR_RM_LSL4, /* SVE [<Xn|SP>, <Xm|XZR>, LSL #4]. */
AARCH64_OPND_SVE_ADDR_RX, /* SVE [<Xn|SP>, <Xm>]. */
AARCH64_OPND_SVE_ADDR_RX_LSL1, /* SVE [<Xn|SP>, <Xm>, LSL #1]. */
AARCH64_OPND_SVE_ADDR_RX_LSL2, /* SVE [<Xn|SP>, <Xm>, LSL #2]. */
@@ -824,6 +915,7 @@ enum aarch64_opnd
AARCH64_OPND_SME_Zdnx2, /* SVE vector register list from [4:1]*2. */
AARCH64_OPND_SME_Zdnx4, /* SVE vector register list from [4:2]*4. */
AARCH64_OPND_SME_Zm, /* SVE vector register list in 4-bit Zm. */
+ AARCH64_OPND_SME_Zm_17, /* SVE vector register list in [20:17]. */
AARCH64_OPND_SME_Zmx2, /* SVE vector register list from [20:17]*2. */
AARCH64_OPND_SME_Zmx4, /* SVE vector register list from [20:18]*4. */
AARCH64_OPND_SME_Znx2, /* SVE vector register list from [9:6]*2. */
@@ -1051,6 +1143,8 @@ enum aarch64_insn_class
floatdp3,
floatimm,
floatsel,
+ fprcvtfloat2int,
+ fprcvtint2float,
ldst_immpost,
ldst_immpre,
ldst_imm9, /* immpost or immpre */
@@ -1391,7 +1485,7 @@ extern const aarch64_opcode aarch64_opcode_table[];
#define F_OPD_PAIR_OPT (1ULL << 32)
/* This instruction does not allow the full range of values that the
width of fields in the assembler instruction would theoretically
- allow. This impacts the constraintts on assembly but yelds no
+ allow. This impacts the constraints on assembly but yields no
impact on disassembly. */
#define F_OPD_NARROW (1ULL << 33)
/* For the instruction with size[22:23] field. */
@@ -1421,7 +1515,10 @@ extern const aarch64_opcode aarch64_opcode_table[];
#define F_DP_TAG_ONLY (1ULL << 37)
#define F_SUBCLASS_OTHER (F_SUBCLASS)
-/* Next bit is 41. */
+
+/* For LSFE instructions with size[30:31] field. */
+#define F_LSFE_SZ (1ULL << 41)
+/* Next bit is 42. */
/* Instruction constraints. */
/* This instruction has a predication constraint on the instruction at PC+4. */
@@ -1505,7 +1602,7 @@ opcode_has_special_coder (const aarch64_opcode *opcode)
{
return (opcode->flags & (F_SF | F_LSE_SZ | F_SIZEQ | F_FPTYPE | F_SSIZE | F_T
| F_GPRSIZE_IN_Q | F_LDS_SIZE | F_MISC | F_N | F_COND
- | F_OPD_SIZE | F_RCPC3_SIZE)) != 0;
+ | F_OPD_SIZE | F_RCPC3_SIZE | F_LSFE_SZ )) != 0;
}
struct aarch64_name_value_pair
@@ -1757,7 +1854,7 @@ struct aarch64_inst
/* Corresponding opcode entry. */
const aarch64_opcode *opcode;
- /* Condition for a truly conditional-executed instrutions, e.g. b.cond. */
+ /* Condition for a truly conditional-executed instruction, e.g. b.cond. */
const aarch64_cond *cond;
/* Operands information. */
@@ -1857,7 +1954,7 @@ struct aarch64_inst
yet still accept a wider range of registers.
AARCH64_OPDE_RECOVERABLE, AARCH64_OPDE_SYNTAX_ERROR and
- AARCH64_OPDE_FATAL_SYNTAX_ERROR are only deteced by GAS while the
+ AARCH64_OPDE_FATAL_SYNTAX_ERROR are only detected by GAS while the
AARCH64_OPDE_INVALID_VARIANT error can only be spotted by libopcodes as
only libopcodes has the information about the valid variants of each
instruction.
diff --git a/include/opcode/kvx.h b/include/opcode/kvx.h
index aa51903..9a3c39c 100644
--- a/include/opcode/kvx.h
+++ b/include/opcode/kvx.h
@@ -140,13 +140,13 @@ struct kvx_pseudo_relocs
struct kvx_reloc *kreloc;
};
-typedef struct symbol symbolS;
+struct symbol;
struct pseudo_func
{
const char *name;
- symbolS *sym;
+ struct symbol *sym;
struct kvx_pseudo_relocs pseudo_relocs;
};
diff --git a/include/opcode/riscv-opc.h b/include/opcode/riscv-opc.h
index fea4948..1c64962 100644
--- a/include/opcode/riscv-opc.h
+++ b/include/opcode/riscv-opc.h
@@ -3804,6 +3804,25 @@
#define MASK_SFVFNRCLIPXUFQF 0xfe00707f
#define MATCH_SFVFNRCLIPXFQF 0x8e00505b
#define MASK_SFVFNRCLIPXFQF 0xfe00707f
+/* MIPS custom instruction. */
+#define MATCH_MIPS_CCMOV 0x600300b
+#define MASK_MIPS_CCMOV 0x600707f
+#define MATCH_MIPS_LWP 0x0010400b
+#define MASK_MIPS_LWP 0x0030707f
+#define MATCH_MIPS_LDP 0x0000400b
+#define MASK_MIPS_LDP 0x0070707f
+#define MATCH_MIPS_SWP 0x0000508b
+#define MASK_MIPS_SWP 0x000071ff
+#define MATCH_MIPS_SDP 0x0000500b
+#define MASK_MIPS_SDP 0x000073ff
+#define MATCH_MIPS_EHB 0x00301013
+#define MASK_MIPS_EHB 0xffffffff
+#define MATCH_MIPS_IHB 0x00101013
+#define MASK_MIPS_IHB 0xffffffff
+#define MATCH_MIPS_PAUSE 0x00501013
+#define MASK_MIPS_PAUSE 0xffffffff
+#define MATCH_MIPS_PREF 0x0000000b
+#define MASK_MIPS_PREF 0xe000707f
/* Unprivileged Counter/Timers CSR addresses. */
#define CSR_CYCLE 0xc00
#define CSR_TIME 0xc01
@@ -3895,6 +3914,7 @@
#define CSR_MTVEC 0x305
#define CSR_MCOUNTEREN 0x306
#define CSR_MSTATUSH 0x310
+#define CSR_MEDELEGH 0x312
#define CSR_MSCRATCH 0x340
#define CSR_MEPC 0x341
#define CSR_MCAUSE 0x342
@@ -4085,6 +4105,7 @@
#define CSR_HIE 0x604
#define CSR_HCOUNTEREN 0x606
#define CSR_HGEIE 0x607
+#define CSR_HEDELEGH 0x612
#define CSR_HTVAL 0x643
#define CSR_HIP 0x644
#define CSR_HVIP 0x645
@@ -4186,6 +4207,8 @@
#define CSR_HVIPRIO2H 0x657
#define CSR_VSIEH 0x214
#define CSR_VSIPH 0x254
+/* Ssccfg CSR address. */
+#define CSR_SCOUNTINHIBIT 0x120
/* Sscsrind extension */
#define CSR_SIREG2 0x152
#define CSR_SIREG3 0x153
@@ -4945,6 +4968,16 @@ DECLARE_INSN(ssamoswap_w, MATCH_SSAMOSWAP_W, MASK_SSAMOSWAP_W)
DECLARE_INSN(ssamoswap_d, MATCH_SSAMOSWAP_D, MASK_SSAMOSWAP_D)
/* Zicfilp instructions. */
DECLARE_INSN(lpad, MATCH_LPAD, MASK_LPAD)
+/* MIPS custom instructions. */
+DECLARE_INSN(mips_ccmov, MATCH_MIPS_CCMOV, MASK_MIPS_CCMOV)
+DECLARE_INSN(mips_lwp, MATCH_MIPS_LWP, MASK_MIPS_LWP)
+DECLARE_INSN(mips_ldp, MATCH_MIPS_LDP, MASK_MIPS_LDP)
+DECLARE_INSN(mips_swp, MATCH_MIPS_SWP, MASK_MIPS_SWP)
+DECLARE_INSN(mips_sdp, MATCH_MIPS_SDP, MASK_MIPS_SDP)
+DECLARE_INSN(mips_ehb, MATCH_MIPS_EHB, MASK_MIPS_EHB)
+DECLARE_INSN(mips_ihb, MATCH_MIPS_IHB, MASK_MIPS_IHB)
+DECLARE_INSN(mips_pause, MATCH_MIPS_PAUSE, MASK_MIPS_PAUSE)
+DECLARE_INSN(mips_pref, MATCH_MIPS_PREF, MASK_MIPS_PREF)
#endif /* DECLARE_INSN */
#ifdef DECLARE_CSR
/* Unprivileged Counter/Timers CSRs. */
@@ -5033,6 +5066,7 @@ DECLARE_CSR(mconfigptr, CSR_MCONFIGPTR, CSR_CLASS_I, PRIV_SPEC_CLASS_1P12, PRIV_
DECLARE_CSR(mstatus, CSR_MSTATUS, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(misa, CSR_MISA, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(medeleg, CSR_MEDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
+DECLARE_CSR(medelegh, CSR_MEDELEGH, CSR_CLASS_I_32, PRIV_SPEC_CLASS_1P13, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(mideleg, CSR_MIDELEG, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(mie, CSR_MIE, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(mtvec, CSR_MTVEC, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRIV_SPEC_CLASS_DRAFT)
@@ -5224,6 +5258,7 @@ DECLARE_CSR(mhpmevent31, CSR_MHPMEVENT31, CSR_CLASS_I, PRIV_SPEC_CLASS_1P10, PRI
/* Privileged Hypervisor CSRs. */
DECLARE_CSR(hstatus, CSR_HSTATUS, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(hedeleg, CSR_HEDELEG, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+DECLARE_CSR(hedelegh, CSR_HEDELEGH, CSR_CLASS_H_32, PRIV_SPEC_CLASS_1P13, PRIV_SPEC_CLASS_DRAFT)
DECLARE_CSR(hideleg, CSR_HIDELEG, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(hie, CSR_HIE, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(hcounteren, CSR_HCOUNTEREN, CSR_CLASS_H, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
@@ -5318,6 +5353,8 @@ DECLARE_CSR(hviprio1h, CSR_HVIPRIO1H, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_
DECLARE_CSR(hviprio2h, CSR_HVIPRIO2H, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(vsieh, CSR_VSIEH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(vsiph, CSR_VSIPH, CSR_CLASS_SSAIA_AND_H_32, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
+/* Ssccfg CSR. */
+DECLARE_CSR(scountinhibit, CSR_SCOUNTINHIBIT, CSR_CLASS_SSCCFG, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
/* Sscsrind extension */
DECLARE_CSR(sireg2, CSR_SIREG2, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
DECLARE_CSR(sireg3, CSR_SIREG3, CSR_CLASS_SSCSRIND, PRIV_SPEC_CLASS_NONE, PRIV_SPEC_CLASS_NONE)
diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
index d76bcdb..2b146af 100644
--- a/include/opcode/riscv.h
+++ b/include/opcode/riscv.h
@@ -132,6 +132,15 @@ static inline unsigned int riscv_insn_length (insn_t insn)
((RV_X(x, 25, 1)) | (RV_X(x, 20, 5) << 1) | (RV_IMM_SIGN_N(x, 20, 5) << 5))
#define EXTRACT_CV_SIMD_UIMM6(x) \
((RV_X(x, 25, 1)) | (RV_X(x, 20, 5) << 1))
+/* Vendor-specific (MIPS) extract macros. */
+#define EXTRACT_MIPS_LWP_IMM(x) \
+ (RV_X(x, 22, 5) << 2)
+#define EXTRACT_MIPS_LDP_IMM(x) \
+ (RV_X(x, 23, 4) << 3)
+#define EXTRACT_MIPS_SWP_IMM(x) \
+ ((RV_X(x, 25, 2) << 5) | (RV_X(x, 9, 3) << 2))
+#define EXTRACT_MIPS_SDP_IMM(x) \
+ ((RV_X(x, 25, 2) << 5) | (RV_X(x, 10, 2) << 3))
#define ENCODE_ITYPE_IMM(x) \
(RV_X(x, 0, 12) << 20)
@@ -200,6 +209,15 @@ static inline unsigned int riscv_insn_length (insn_t insn)
((RV_X(x, 0, 1) << 25) | (RV_X(x, 1, 5) << 20))
#define ENCODE_CV_SIMD_UIMM6(x) \
((RV_X(x, 0, 1) << 25) | (RV_X(x, 1, 5) << 20))
+/* Vendor-specific (MIPS) encode macros. */
+#define ENCODE_MIPS_LWP_IMM(x) \
+ (RV_X(x, 2, 5) << 22)
+#define ENCODE_MIPS_LDP_IMM(x) \
+ (RV_X(x, 3, 4) << 23)
+#define ENCODE_MIPS_SWP_IMM(x) \
+ ((RV_X(x, 5, 2) << 25) | (RV_X(x, 2, 3) << 9))
+#define ENCODE_MIPS_SDP_IMM(x) \
+ ((RV_X(x, 5, 2) << 25) | (RV_X(x, 3, 2) << 10))
#define VALID_ITYPE_IMM(x) (EXTRACT_ITYPE_IMM(ENCODE_ITYPE_IMM(x)) == (x))
#define VALID_STYPE_IMM(x) (EXTRACT_STYPE_IMM(ENCODE_STYPE_IMM(x)) == (x))
@@ -383,8 +401,27 @@ static inline unsigned int riscv_insn_length (insn_t insn)
#define OP_MASK_XSO1 0x1
#define OP_SH_XSO1 26
+/* MIPS fields. */
+#define OP_MASK_MIPS_IMM9 0x1ff
+#define OP_SH_MIPS_IMM9 20
+#define OP_MASK_MIPS_HINT 0x1f
+#define OP_SH_MIPS_HINT 7
+#define OP_MASK_MIPS_LWP_OFFSET 0x1f
+#define OP_SH_MIPS_LWP_OFFSET 22
+#define OP_MASK_MIPS_LDP_OFFSET 0xf
+#define OP_SH_MIPS_LDP_OFFSET 23
+#define OP_MASK_MIPS_SWP_OFFSET9 0x7
+#define OP_SH_MIPS_SWP_OFFSET9 9
+#define OP_MASK_MIPS_SWP_OFFSET25 0x3
+#define OP_SH_MIPS_SWP_OFFSET25 25
+#define OP_MASK_MIPS_SDP_OFFSET10 0x3
+#define OP_SH_MIPS_SDP_OFFSET10 10
+#define OP_MASK_MIPS_SDP_OFFSET25 0x3
+#define OP_SH_MIPS_SDP_OFFSET25 25
+
/* ABI names for selected x-registers. */
+#define X_ZERO 0
#define X_RA 1
#define X_SP 2
#define X_GP 3
@@ -526,6 +563,8 @@ enum riscv_insn_class
INSN_CLASS_ZCMP,
INSN_CLASS_ZCMT,
INSN_CLASS_SMCTR_OR_SSCTR,
+ INSN_CLASS_ZILSD,
+ INSN_CLASS_ZCLSD,
INSN_CLASS_SMRNMI,
INSN_CLASS_SVINVAL,
INSN_CLASS_ZICBOM,
@@ -563,6 +602,10 @@ enum riscv_insn_class
INSN_CLASS_XSFVQMACCQOQ,
INSN_CLASS_XSFVQMACCDOD,
INSN_CLASS_XSFVFNRCLIPXFQF,
+ INSN_CLASS_XMIPSCBOP,
+ INSN_CLASS_XMIPSCMOV,
+ INSN_CLASS_XMIPSEXECTL,
+ INSN_CLASS_XMIPSLSP,
};
/* This structure holds information for a particular instruction. */
diff --git a/ld/NEWS b/ld/NEWS
index 7b5e2e4..b101dec 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,8 @@
-*- text -*-
+* On RISC-V, add new PLT formats, and GNU property merge rules for zicfiss and
+ zicfilp extensions.
+
* The linker's --stats option can take an optional argument which if used is
interpreted as a filename into which resource usage information should be
stored. As an alternative mechanism the LD_STATS environment variable can
@@ -12,6 +15,11 @@
* Remove the linker -taso option for Alpha target, as Linux/Alpha kernel
support for 32-bit pointers has been removed.
+* On avr, the default linker scripts now assert that the .progmem sections
+ don't extend past 0xffff since they are accessed by means of LPM.
+ For data in program memory that may be located past 0xffff, a .progmemx
+ section should be used.
+
* On s390, generate ".eh_frame" unwind information for the linker generated
.plt section. Enabled by default. Can be disabled using linker option
--no-ld-generated-unwind-info.
diff --git a/ld/config.in b/ld/config.in
index e10c9e7..3781224 100644
--- a/ld/config.in
+++ b/ld/config.in
@@ -234,9 +234,6 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-/* The size of `void *', as computed by sizeof. */
-#undef SIZEOF_VOID_P
-
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
diff --git a/ld/configure b/ld/configure
index 3f745ac..64b42f1 100755
--- a/ld/configure
+++ b/ld/configure
@@ -696,8 +696,6 @@ install_as_default
TARGET_SYSTEM_ROOT_DEFINE
TARGET_SYSTEM_ROOT
use_sysroot
-ENABLE_BFD_64_BIT_FALSE
-ENABLE_BFD_64_BIT_TRUE
LARGEFILE_CPPFLAGS
CXXCPP
OTOOL64
@@ -842,7 +840,6 @@ enable_largefile
enable_checking
with_lib_path
enable_targets
-enable_64_bit_bfd
with_sysroot
enable_gold
enable_got
@@ -1536,7 +1533,6 @@ Optional Features:
--disable-largefile omit support for large files
--enable-checking enable run-time checks
--enable-targets alternative target configurations
- --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
--enable-gold[=ARG] build gold [ARG={default,yes,no}]
--enable-got=<type> GOT handling scheme (target, single, negative,
multigot)
@@ -2177,189 +2173,6 @@ fi
} # ac_fn_cxx_try_link
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-
# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
# ---------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -11688,7 +11501,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11691 "configure"
+#line 11504 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11794,7 +11607,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11797 "configure"
+#line 11610 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15462,70 +15275,40 @@ if test "${enable_targets+set}" = set; then :
esac
fi
-# Check whether --enable-64-bit-bfd was given.
-if test "${enable_64_bit_bfd+set}" = set; then :
- enableval=$enable_64_bit_bfd; case $enableval in #(
- yes|no) :
- ;; #(
- *) :
- as_fn_error $? "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;; #(
- *) :
- ;;
-esac
-else
- enable_64_bit_bfd=no
-fi
-
-
-if test "x$enable_64_bit_bfd" = "xno"; then :
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
-$as_echo_n "checking size of void *... " >&6; }
-if ${ac_cv_sizeof_void_p+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_void_p" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (void *)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_void_p=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
-$as_echo "$ac_cv_sizeof_void_p" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+# See whether 64-bit bfd lib has been enabled.
+OLD_CPPFLAGS=$CPPFLAGS
+# Put the old CPPFLAGS last, in case the user's CPPFLAGS point somewhere
+# with bfd, with -I/foo/include. We always want our bfd.
+CPPFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CPPFLAGS"
+# Note we cannot cache the result of this check because BFD64 may change
+# when a secondary target has been added or removed and we have no access
+# to this information here.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BFD is 64-bit" >&5
+$as_echo_n "checking whether BFD is 64-bit... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "bfd.h"
+int
+main ()
+{
+#ifdef BFD64
+HAVE_BFD64
+#endif
+ ;
+ return 0;
+}
_ACEOF
-
-
- if test "x$ac_cv_sizeof_void_p" = "x8"; then :
- enable_64_bit_bfd=yes
-fi
-
-fi
-
- if test "x$enable_64_bit_bfd" = "xyes"; then
- ENABLE_BFD_64_BIT_TRUE=
- ENABLE_BFD_64_BIT_FALSE='#'
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "HAVE_BFD64" >/dev/null 2>&1; then :
+ have_64_bit_bfd=yes
else
- ENABLE_BFD_64_BIT_TRUE='#'
- ENABLE_BFD_64_BIT_FALSE=
+ have_64_bit_bfd=no
fi
+rm -f conftest*
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_64_bit_bfd" >&5
+$as_echo "$have_64_bit_bfd" >&6; }
+CPPFLAGS=$OLD_CPPFLAGS
# Check whether --with-sysroot was given.
@@ -19306,11 +19089,11 @@ do
EMUL=$targ_emul
fi
- if test x${enable_64_bit_bfd} = xno; then
+ if test x${have_64_bit_bfd} = xno; then
. ${srcdir}/../bfd/config.bfd
fi
- if test x${enable_64_bit_bfd} = xyes; then
+ if test x${have_64_bit_bfd} = xyes; then
targ_extra_emuls="$targ_extra_emuls $targ64_extra_emuls"
targ_extra_libpath="$targ_extra_libpath $targ64_extra_libpath"
fi
@@ -19534,7 +19317,7 @@ _ACEOF
if test x${all_targets} = xtrue; then
- if test x${enable_64_bit_bfd} = xyes; then
+ if test x${have_64_bit_bfd} = xyes; then
EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES) $(ALL_64_EMUL_EXTRA_OFILES)'
else
@@ -19737,10 +19520,6 @@ if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${ENABLE_BFD_64_BIT_TRUE}" && test -z "${ENABLE_BFD_64_BIT_FALSE}"; then
- as_fn_error $? "conditional \"ENABLE_BFD_64_BIT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${ENABLE_LIBCTF_TRUE}" && test -z "${ENABLE_LIBCTF_FALSE}"; then
as_fn_error $? "conditional \"ENABLE_LIBCTF\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/ld/configure.ac b/ld/configure.ac
index 1ee0c0c..e5f56dd 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -495,11 +495,11 @@ do
EMUL=$targ_emul
fi
- if test x${enable_64_bit_bfd} = xno; then
+ if test x${have_64_bit_bfd} = xno; then
. ${srcdir}/../bfd/config.bfd
fi
- if test x${enable_64_bit_bfd} = xyes; then
+ if test x${have_64_bit_bfd} = xyes; then
targ_extra_emuls="$targ_extra_emuls $targ64_extra_emuls"
targ_extra_libpath="$targ_extra_libpath $targ64_extra_libpath"
fi
@@ -686,7 +686,7 @@ AC_SUBST(TDIRS)
AM_SUBST_NOTMAKE(TDIRS)
if test x${all_targets} = xtrue; then
- if test x${enable_64_bit_bfd} = xyes; then
+ if test x${have_64_bit_bfd} = xyes; then
EMULATION_OFILES='$(ALL_EMULATIONS) $(ALL_64_EMULATIONS)'
EMUL_EXTRA_OFILES='$(ALL_EMUL_EXTRA_OFILES) $(ALL_64_EMUL_EXTRA_OFILES)'
else
diff --git a/ld/emultempl/emulation.em b/ld/emultempl/emulation.em
index 7fe821a..8ff71d6 100644
--- a/ld/emultempl/emulation.em
+++ b/ld/emultempl/emulation.em
@@ -36,6 +36,7 @@ struct ld_emulation_xfer_struct ld_${EMULATION_NAME}_emulation =
${LDEMUL_EMIT_CTF_EARLY-NULL},
${LDEMUL_ACQUIRE_STRINGS_FOR_CTF-NULL},
${LDEMUL_NEW_DYNSYM_FOR_CTF-NULL},
- ${LDEMUL_PRINT_SYMBOL-NULL}
+ ${LDEMUL_PRINT_SYMBOL-NULL},
+ ${LDEMUL_FIND_START_SYMBOL-NULL}
};
EOF
diff --git a/ld/emultempl/kvxelf.em b/ld/emultempl/kvxelf.em
index 186f148..c9a83f7 100644
--- a/ld/emultempl/kvxelf.em
+++ b/ld/emultempl/kvxelf.em
@@ -173,7 +173,7 @@ elf${ELFSIZE}_kvx_add_stub_section (const char *stub_sec_name,
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
@@ -216,7 +216,7 @@ gld${EMULATION_NAME}_after_allocation (void)
ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
@@ -232,7 +232,7 @@ gld${EMULATION_NAME}_after_allocation (void)
{
if (ret < 0)
{
- einfo ("%X%P: could not compute sections lists for stub generation: %E\n");
+ einfo (_("%X%P: could not compute sections lists for stub generation: %E\n"));
return;
}
@@ -246,7 +246,7 @@ gld${EMULATION_NAME}_after_allocation (void)
& elf${ELFSIZE}_kvx_add_stub_section,
& gldkvx_layout_sections_again))
{
- einfo ("%X%P: cannot size stub section: %E\n");
+ einfo (_("%X%P: cannot size stub section: %E\n"));
return;
}
}
@@ -266,7 +266,7 @@ gld${EMULATION_NAME}_finish (void)
&& stub_file->the_bfd->sections != NULL)
{
if (! elf${ELFSIZE}_kvx_build_stubs (& link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
@@ -291,7 +291,7 @@ kvx_elf_create_output_section_statements (void)
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ fatal (_("%P: can not create BFD %E\n"));
return;
}
@@ -299,7 +299,7 @@ kvx_elf_create_output_section_statements (void)
ldlang_add_file (stub_file);
if (!kvx_elf${ELFSIZE}_init_stub_bfd (&link_info, stub_file->the_bfd))
- einfo ("%P: can not init BFD: %E\n");
+ fatal (_("%P: can not init BFD: %E\n"));
}
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 50bb082..b522687 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -2448,6 +2448,55 @@ gld${EMULATION_NAME}_find_potential_libraries
{
return ldfile_open_file_search (name, entry, "", ".lib");
}
+
+static struct bfd_link_hash_entry *
+gld${EMULATION_NAME}_find_alt_start_symbol
+ (struct bfd_sym_chain *entry)
+{
+#if defined (TARGET_IS_i386pe)
+ bool entry_has_stdcall_suffix;
+#endif
+ struct bfd_link_hash_entry *h;
+ size_t entry_name_len;
+ char *symbol_name;
+ const char *prefix;
+ const char *suffix;
+
+ entry_name_len = strlen (entry->name);
+
+ if (is_underscoring ())
+ prefix = "_";
+ else
+ prefix = "";
+
+#if defined (TARGET_IS_i386pe)
+ if ((entry_name_len > 2 && entry->name[entry_name_len-2] == '@' && ISDIGIT (entry->name[entry_name_len-1]))
+ || (entry_name_len > 3 && entry->name[entry_name_len-3] == '@' && ISDIGIT (entry->name[entry_name_len-2]) && ISDIGIT (entry->name[entry_name_len-1]))
+ || (entry_name_len > 4 && entry->name[entry_name_len-4] == '@' && ISDIGIT (entry->name[entry_name_len-3]) && ISDIGIT (entry->name[entry_name_len-2]) && ISDIGIT (entry->name[entry_name_len-1])))
+ entry_has_stdcall_suffix = true;
+ else
+ entry_has_stdcall_suffix = false;
+
+ if (!entry_has_stdcall_suffix && (bfd_link_dll (&link_info) || dll))
+ suffix = "@12";
+ else if (!entry_has_stdcall_suffix && pe_subsystem == 1 /* NT kernel driver */)
+ suffix = "@8";
+ else
+#endif
+ suffix = "";
+
+ if (*prefix == '\0' && *suffix == '\0')
+ return NULL;
+
+ symbol_name = xmalloc (entry_name_len + 5);
+ strcpy (symbol_name, prefix);
+ strcat (symbol_name, entry->name);
+ strcat (symbol_name, suffix);
+
+ h = bfd_link_hash_lookup (link_info.hash, symbol_name, false, false, true);
+ free (symbol_name);
+ return h;
+}
static char *
gld${EMULATION_NAME}_get_script (int *isfile)
@@ -2526,5 +2575,6 @@ LDEMUL_UNRECOGNIZED_FILE=gld${EMULATION_NAME}_unrecognized_file
LDEMUL_LIST_OPTIONS=gld${EMULATION_NAME}_list_options
LDEMUL_RECOGNIZED_FILE=gld${EMULATION_NAME}_recognized_file
LDEMUL_FIND_POTENTIAL_LIBRARIES=gld${EMULATION_NAME}_find_potential_libraries
+LDEMUL_FIND_START_SYMBOL=gld${EMULATION_NAME}_find_alt_start_symbol
source_em ${srcdir}/emultempl/emulation.em
diff --git a/ld/ld.texi b/ld/ld.texi
index e8e09f8..afcc3fe 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -531,7 +531,9 @@ named @var{entry}, the linker will try to parse @var{entry} as a number,
and use that as the entry address (the number will be interpreted in
base 10; you may use a leading @samp{0x} for base 16, or a leading
@samp{0} for base 8). @xref{Entry Point}, for a discussion of defaults
-and other ways of specifying the entry point.
+and other ways of specifying the entry point. For i386 PE, @var{entry}
+can be also the original function name (without the leading underscore
+and/or the trailing stdcall @samp{@@number} when applicable).
@kindex --exclude-libs
@item --exclude-libs @var{lib},@var{lib},...
@@ -1022,7 +1024,7 @@ Write a @dfn{dependency file} to @var{depfile}. This file contains a rule
suitable for @code{make} describing the output file and all the input files
that were read to produce it. The output is similar to the compiler's
output with @samp{-M -MP} (@pxref{Preprocessor Options,, Options
-Controlling the Preprocessor, gcc.info, Using the GNU Compiler
+Controlling the Preprocessor, gcc, Using the GNU Compiler
Collection}). Note that there is no option like the compiler's @samp{-MM},
to exclude ``system files'' (which is not a well-specified concept in the
linker, unlike ``system headers'' in the compiler). So the output from
@@ -9684,7 +9686,7 @@ format can be supported simply by creating a new BFD back end and adding
it to the library. To conserve runtime memory, however, the linker and
associated tools are usually configured to support only a subset of the
object file formats available. You can use @code{objdump -i}
-(@pxref{objdump,,objdump,binutils.info,The GNU Binary Utilities}) to
+(@pxref{objdump,,objdump,binutils,The GNU Binary Utilities}) to
list all the formats available for your configuration.
@cindex BFD requirements
diff --git a/ld/ldemul.c b/ld/ldemul.c
index dce0d38..35f91a2 100644
--- a/ld/ldemul.c
+++ b/ld/ldemul.c
@@ -35,6 +35,14 @@
static ld_emulation_xfer_type *ld_emulation;
+struct bfd_link_hash_entry *
+ldemul_find_alt_start_symbol (struct bfd_sym_chain *entry)
+{
+ if (ld_emulation->find_alt_start_symbol)
+ return ld_emulation->find_alt_start_symbol (entry);
+ return NULL;
+}
+
void
ldemul_hll (char *name)
{
diff --git a/ld/ldemul.h b/ld/ldemul.h
index aa014ae..c58d4c2 100644
--- a/ld/ldemul.h
+++ b/ld/ldemul.h
@@ -115,9 +115,10 @@ extern void ldemul_acquire_strings_for_ctf
(struct ctf_dict *, struct elf_strtab_hash *);
extern void ldemul_new_dynsym_for_ctf
(struct ctf_dict *, int symidx, struct elf_internal_sym *);
-
extern bool ldemul_print_symbol
(struct bfd_link_hash_entry *hash_entry, void *ptr);
+extern struct bfd_link_hash_entry * ldemul_find_alt_start_symbol
+ (struct bfd_sym_chain *);
typedef struct ld_emulation_xfer_struct {
/* Run before parsing the command line and script file.
@@ -259,6 +260,11 @@ typedef struct ld_emulation_xfer_struct {
bool (*print_symbol)
(struct bfd_link_hash_entry *hash_entry, void *ptr);
+ /* Called when ENTRY->name cannot be found by a direct lookup in INFO->hash.
+ Allows emulations to try variations of the name. */
+ struct bfd_link_hash_entry * (*find_alt_start_symbol)
+ (struct bfd_sym_chain *entry);
+
} ld_emulation_xfer_type;
typedef enum {
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 0bb9e17..32e6e7a 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -322,7 +322,7 @@ spec_match (const struct wildcard_spec *spec, const char *name)
}
static char *
-ldirname (const char *name)
+stat_ldirname (const char *name)
{
const char *base = lbasename (name);
@@ -1266,7 +1266,7 @@ new_afile (const char *name,
/* If name is a relative path, search the directory of the current linker
script first. */
if (from_filename && !IS_ABSOLUTE_PATH (name))
- p->extra_search_path = ldirname (from_filename);
+ p->extra_search_path = stat_ldirname (from_filename);
p->flags.real = true;
p->flags.search_dirs = true;
break;
@@ -2486,11 +2486,18 @@ lang_map (void)
}
static bool
+is_defined (struct bfd_link_hash_entry *h)
+{
+ return h != NULL
+ && (h->type == bfd_link_hash_defined
+ || h->type == bfd_link_hash_defweak);
+}
+
+static bool
sort_def_symbol (struct bfd_link_hash_entry *hash_entry,
void *info ATTRIBUTE_UNUSED)
{
- if ((hash_entry->type == bfd_link_hash_defined
- || hash_entry->type == bfd_link_hash_defweak)
+ if (is_defined (hash_entry)
&& hash_entry->u.def.section->owner != link_info.output_bfd
&& hash_entry->u.def.section->owner != NULL)
{
@@ -4184,9 +4191,7 @@ ldlang_check_require_defined_symbols (void)
h = bfd_link_hash_lookup (link_info.hash, ptr->name,
false, false, true);
- if (h == NULL
- || (h->type != bfd_link_hash_defined
- && h->type != bfd_link_hash_defweak))
+ if (! is_defined (h))
einfo(_("%X%P: required symbol `%s' not defined\n"), ptr->name);
}
}
@@ -4892,9 +4897,7 @@ print_assignment (lang_assignment_statement_type *assignment,
h = bfd_link_hash_lookup (link_info.hash, assignment->exp->assign.dst,
false, false, true);
- if (h != NULL
- && (h->type == bfd_link_hash_defined
- || h->type == bfd_link_hash_defweak))
+ if (is_defined (h))
{
value = h->u.def.value;
value += h->u.def.section->output_section->vma;
@@ -4939,8 +4942,7 @@ print_one_symbol (struct bfd_link_hash_entry *hash_entry, void *ptr)
{
asection *sec = (asection *) ptr;
- if ((hash_entry->type == bfd_link_hash_defined
- || hash_entry->type == bfd_link_hash_defweak)
+ if (is_defined (hash_entry)
&& sec == hash_entry->u.def.section)
{
print_spaces (SECTION_NAME_MAP_LENGTH);
@@ -5062,7 +5064,8 @@ print_input_section (asection *i, bool is_discarded)
}
print_spaces (SECTION_NAME_MAP_LENGTH - len);
- if (i->output_section != NULL
+ if ((i->flags & SEC_EXCLUDE) == 0
+ && i->output_section != NULL
&& i->output_section->owner == link_info.output_bfd)
addr = i->output_section->vma + i->output_offset;
else
@@ -7233,9 +7236,7 @@ lang_end (void)
{
h = bfd_link_hash_lookup (link_info.hash, sym->name,
false, false, false);
- if (h != NULL
- && (h->type == bfd_link_hash_defined
- || h->type == bfd_link_hash_defweak)
+ if (is_defined (h)
&& !bfd_is_const_section (h->u.def.section))
break;
}
@@ -7254,9 +7255,11 @@ lang_end (void)
h = bfd_link_hash_lookup (link_info.hash, entry_symbol.name,
false, false, true);
- if (h != NULL
- && (h->type == bfd_link_hash_defined
- || h->type == bfd_link_hash_defweak)
+
+ if (! is_defined (h) || h->u.def.section->output_section == NULL)
+ h = ldemul_find_alt_start_symbol (&entry_symbol);
+
+ if (is_defined (h)
&& h->u.def.section->output_section != NULL)
{
bfd_vma val;
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 91237a4..67c60c3 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -423,8 +423,8 @@ ld_stop_phase (ld_phase phase)
if (pd->begin.ru_maxrss < usage.ru_maxrss)
pd->use.ru_maxrss += usage.ru_maxrss - pd->begin.ru_maxrss;
-#endif
}
+#endif
}
static void
@@ -563,8 +563,8 @@ report_phases (FILE * file, time_t * start, char ** argv)
COLUMN_ENTRY (pd->duration, "ld", 1);
#if defined (HAVE_GETRUSAGE)
COLUMN_ENTRY (pd->use.ru_maxrss, "ld", 2);
- COLUMN_ENTRY (pd->use.ru_utime.tv_sec, "ld", 3);
- COLUMN_ENTRY (pd->use.ru_stime.tv_sec, "ld", 4);
+ COLUMN_ENTRY ((int64_t) pd->use.ru_utime.tv_sec, PRId64, 3);
+ COLUMN_ENTRY ((int64_t) pd->use.ru_stime.tv_sec, PRId64, 4);
#endif
fprintf (file, "\n");
}
diff --git a/ld/ldmisc.c b/ld/ldmisc.c
index 9ee0781..3f305fa 100644
--- a/ld/ldmisc.c
+++ b/ld/ldmisc.c
@@ -42,7 +42,6 @@
%C clever filename:linenumber with function
%D like %C, but no function name
%E current bfd error or errno
- %F error is fatal
%G like %D, but only function name
%H like %C but in addition emit section+offset
%P print program name
@@ -70,7 +69,6 @@
void
vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning)
{
- bool isfatal = false;
const char *scan;
int arg_type;
unsigned int arg_count = 0;
@@ -280,11 +278,6 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning)
}
break;
- case 'F':
- /* Error is fatal. */
- isfatal = true;
- break;
-
case 'P':
/* Print program name. */
fprintf (fp, "%s", program_name);
@@ -586,9 +579,6 @@ vfinfo (FILE *fp, const char *fmt, va_list ap, bool is_warning)
if (is_warning && config.fatal_warnings)
config.make_executable = false;
-
- if (isfatal)
- xexit (1);
}
/* Format info message and print on stdout. */
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
index 4a2ea03..210b77e 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
@@ -1620,10 +1620,11 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info)
printf ("rel: %s\n", sym->name);
}
if (!relocs[i]->howto->pc_relative
- && relocs[i]->howto->type != pe_details->imagebase_reloc
- && (relocs[i]->howto->type < pe_details->secrel_reloc_lo
- || relocs[i]->howto->type > pe_details->secrel_reloc_hi)
- && relocs[i]->howto->type != pe_details->section_reloc)
+ && (bfd_get_flavour (b) != bfd_target_coff_flavour
+ || (relocs[i]->howto->type != pe_details->imagebase_reloc
+ && (relocs[i]->howto->type < pe_details->secrel_reloc_lo
+ || relocs[i]->howto->type > pe_details->secrel_reloc_hi)
+ && relocs[i]->howto->type != pe_details->section_reloc)))
{
struct bfd_symbol *sym = *relocs[i]->sym_ptr_ptr;
const struct bfd_link_hash_entry *blhe
diff --git a/ld/scripttempl/avr.sc b/ld/scripttempl/avr.sc
index 8479ec3..4d9af7f 100644
--- a/ld/scripttempl/avr.sc
+++ b/ld/scripttempl/avr.sc
@@ -189,11 +189,16 @@ SECTIONS
${RELOCATING+*(.vectors)
KEEP(*(.vectors))
- /* For data that needs to reside in the lower 64k of progmem. */
- *(.progmem.gcc*)
+ /* For data that needs to reside in the lower 64k of progmem.
+ For data accessed with ELPM use .progmemx.* instead
+ so that no lower 64k .progmem addresses are wasted. */
+ __progmem_start = . ;
+ *(.progmem)
+ *(.progmem.*)
+ __progmem_end = . ;
+ ASSERT (__progmem_start == __progmem_end || __progmem_end <= 0x10000,
+ \".progmem section exceeds 0x10000\");
- /* PR 13812: Placing the trampolines here gives a better chance
- that they will be in range of the code that uses them. */
. = ALIGN(2);
__trampolines_start = . ;
/* The jump trampolines for the 16-bit limited relocs will reside here. */
@@ -201,12 +206,6 @@ SECTIONS
*(.trampolines*)
__trampolines_end = . ;
- /* avr-libc expects these data to reside in lower 64K. */
- *libprintf_flt.a:*(.progmem.data)
- *libc.a:*(.progmem.data)
-
- *(.progmem.*)
-
. = ALIGN(2);
/* For code that needs to reside in the lower 128k progmem. */
@@ -273,6 +272,7 @@ SECTIONS
*(.hightext)
*(.hightext*)
+ *(.progmemx)
*(.progmemx.*)
. = ALIGN(2);
diff --git a/ld/scripttempl/pe.sc b/ld/scripttempl/pe.sc
index 96a4751..8fb98b2 100644
--- a/ld/scripttempl/pe.sc
+++ b/ld/scripttempl/pe.sc
@@ -14,7 +14,7 @@ fi
# substitution, so we do this instead.
# Sorting of the .foo$* sections is required by the definition of
# grouped sections in PE.
-# Sorting of the file names in R_IDATA is required by the
+# Sorting of the file names in R_IDATA and R_DIDAT is required by the
# current implementation of dlltool (this could probably be changed to
# use grouped sections instead).
if test "${RELOCATING}"; then
@@ -39,6 +39,18 @@ if test "${RELOCATING}"; then
R_IDATA67='
KEEP (SORT(*)(.idata$6))
KEEP (SORT(*)(.idata$7))'
+ R_DIDAT234='
+ __DELAY_IMPORT_DIRECTORY_start__ = .;
+ KEEP (SORT(*)(.didat$2))
+ KEEP (SORT(*)(.didat$3))
+ __DELAY_IMPORT_DIRECTORY_end__ = .;
+ /* These zeroes mark the end of the import list. */
+ . += (__DELAY_IMPORT_DIRECTORY_end__ - __DELAY_IMPORT_DIRECTORY_start__) ? 8*4 : 0;
+ KEEP (SORT(*)(.didat$4))'
+ R_DIDAT5='KEEP (SORT(*)(.didat$5))'
+ R_DIDAT67='
+ KEEP (SORT(*)(.didat$6))
+ KEEP (SORT(*)(.didat$7))'
R_CRT_XC='KEEP (*(SORT(.CRT$XC*))) /* C initialization */'
R_CRT_XI='KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */'
R_CRT_XL='KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */'
@@ -61,6 +73,9 @@ else
R_IDATA234=
R_IDATA5=
R_IDATA67=
+ R_DIDAT234=
+ R_DIDAT5=
+ R_DIDAT67=
R_CRT_XC=
R_CRT_XI=
R_CRT_XL=
@@ -131,6 +146,11 @@ SECTIONS
${RELOCATING+__rt_psrelocs_start = .;}
${RELOCATING+KEEP(*(.rdata_runtime_pseudo_reloc))}
${RELOCATING+__rt_psrelocs_end = .;}
+ /* read-only parts of .didat */
+ /* This cannot currently be handled with grouped sections.
+ See pe.em:sort_sections. */
+ ${R_DIDAT234}
+ ${R_DIDAT67}
/* .ctors & .dtors */
${CONSTRUCTING+
@@ -244,6 +264,13 @@ SECTIONS
${R_IDATA67}
}
+ .didat ${RELOCATING+BLOCK(__section_alignment__)} :
+ {
+ /* This cannot currently be handled with grouped sections.
+ See pe.em:sort_sections. */
+ ${R_DIDAT5}
+ }
+
/* Windows TLS expects .tls\$AAA to be at the start and .tls\$ZZZ to be
at the end of section. This is important because _tls_start MUST
be at the beginning of the section to enable SECREL32 relocations with TLS
diff --git a/ld/scripttempl/pep.sc b/ld/scripttempl/pep.sc
index e2c6c2c..841ee35 100644
--- a/ld/scripttempl/pep.sc
+++ b/ld/scripttempl/pep.sc
@@ -14,7 +14,7 @@ fi
# substitution, so we do this instead.
# Sorting of the .foo$* sections is required by the definition of
# grouped sections in PE.
-# Sorting of the file names in R_IDATA is required by the
+# Sorting of the file names in R_IDATA and R_DIDAT is required by the
# current implementation of dlltool (this could probably be changed to
# use grouped sections instead).
if test "${RELOCATING}"; then
@@ -40,6 +40,19 @@ if test "${RELOCATING}"; then
R_IDATA67='
KEEP (SORT(*)(.idata$6))
KEEP (SORT(*)(.idata$7))'
+ R_DIDAT234='
+ __DELAY_IMPORT_DIRECTORY_start__ = .;
+ KEEP (SORT(*)(.didat$2))
+ KEEP (SORT(*)(.didat$3))
+ __DELAY_IMPORT_DIRECTORY_end__ = .;
+ /* These zeroes mark the end of the import list. */
+ . += (__DELAY_IMPORT_DIRECTORY_end__ - __DELAY_IMPORT_DIRECTORY_start__) ? 8*4 : 0;
+ . = ALIGN(8);
+ KEEP (SORT(*)(.didat$4))'
+ R_DIDAT5='SORT(*)(.didat$5)'
+ R_DIDAT67='
+ KEEP (SORT(*)(.didat$6))
+ KEEP (SORT(*)(.didat$7))'
R_CRT_XC='KEEP (*(SORT(.CRT$XC*))) /* C initialization */'
R_CRT_XI='KEEP (*(SORT(.CRT$XI*))) /* C++ initialization */'
R_CRT_XL='KEEP (*(SORT(.CRT$XL*))) /* TLS callbacks */'
@@ -62,6 +75,9 @@ else
R_IDATA234=
R_IDATA5=
R_IDATA67=
+ R_DIDAT234=
+ R_DIDAT5=
+ R_DIDAT67=
R_CRT_XC=
R_CRT_XI=
R_CRT_XL=
@@ -132,6 +148,12 @@ SECTIONS
${RELOCATING+__rt_psrelocs_start = .;}
${RELOCATING+KEEP(*(.rdata_runtime_pseudo_reloc))}
${RELOCATING+__rt_psrelocs_end = .;}
+ /* read-only parts of .didat */
+ /* This cannot currently be handled with grouped sections.
+ See pe.em:sort_sections. */
+ ${RELOCATING+. = ALIGN(8);}
+ ${R_DIDAT234}
+ ${R_DIDAT67}
/* .ctors & .dtors */
${CONSTRUCTING+. = ALIGN(8);}
@@ -251,6 +273,13 @@ SECTIONS
${R_IDATA67}
}
+ .didat ${RELOCATING+BLOCK(__section_alignment__)} :
+ {
+ /* This cannot currently be handled with grouped sections.
+ See pep.em:sort_sections. */
+ ${R_DIDAT5}
+ }
+
/* Windows TLS expects .tls\$AAA to be at the start and .tls\$ZZZ to be
at the end of the .tls section. This is important because _tls_start MUST
be at the beginning of the section to enable SECREL32 relocations with TLS
diff --git a/ld/testsuite/config/default.exp b/ld/testsuite/config/default.exp
index 66721ff..1d69681 100644
--- a/ld/testsuite/config/default.exp
+++ b/ld/testsuite/config/default.exp
@@ -538,10 +538,11 @@ if { [check_compiler_available] } {
}
}
-if {[file exists .libs/libdep.so]} {
- set dep_plug_opt "--plugin .libs/libdep.so"
-} elseif {[file exists .libs/libdep.dll]} {
- set dep_plug_opt "--plugin .libs/libdep.dll"
-} else {
- set dep_plug_opt ""
+set dep_plug_opt ""
+if [check_plugin_api_available] {
+ if {[file exists .libs/libdep.so]} {
+ set dep_plug_opt "--plugin .libs/libdep.so"
+ } elseif {[file exists .libs/libdep.dll]} {
+ set dep_plug_opt "--plugin .libs/libdep.dll"
+ }
}
diff --git a/ld/testsuite/ld-aarch64/aarch64.ld b/ld/testsuite/ld-aarch64/aarch64.ld
index 75ee3b5..765ddf5 100644
--- a/ld/testsuite/ld-aarch64/aarch64.ld
+++ b/ld/testsuite/ld-aarch64/aarch64.ld
@@ -3,17 +3,23 @@ OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
- /* Read-only sections, merged into text segment: */
- PROVIDE (__executable_start = 0x8000); . = 0x8000;
- .text :
+ PROVIDE (__executable_start = 0x8000);
+ . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS;
+ /* Start of the executable code region. */
+ . = 0x9000;
+ .plt : ALIGN(16) { *(.plt) *(.iplt) }
+ . = 0x10000;
+ .text :
{
*(.before)
*(.text)
*(.after)
} =0
- . = 0x9000;
- .got : { *(.got) *(.got.plt)}
. = 0x12340000;
- .far : { *(.far) }
- .ARM.attributes 0 : { *(.ARM.atttributes) }
+ .far : { *(.far) }
+ /* Start of the Read Write Data region. */
+ . = ALIGN (CONSTANT (MAXPAGESIZE)) - ((CONSTANT (MAXPAGESIZE) - .) & (CONSTANT (MAXPAGESIZE) - 1));
+ .got : { *(.got) *(.got.plt)}
+ /* Start of the metadata region. */
+ .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
}
diff --git a/ld/testsuite/ld-aarch64/gc-got-relocs.d b/ld/testsuite/ld-aarch64/gc-got-relocs.d
index 6525d10..a1821c3 100644
--- a/ld/testsuite/ld-aarch64/gc-got-relocs.d
+++ b/ld/testsuite/ld-aarch64/gc-got-relocs.d
@@ -12,15 +12,14 @@
.*: file format elf64-(little|big)aarch64
SYMBOL TABLE:
-0+8000 l d \.text 0+ \.text
-0+0000 l df \*ABS\* 0+ .*
-0+8000 g \.text 0+ _start
+0+10000 l d \.text 0+ \.text
+0+00000 l df \*ABS\* 0+ .*
+0+10000 g \.text 0+ _start
Contents of section .text:
- 8000 1f2003d5 .*
+ 10000 1f2003d5 .*
-Disassembly of section .text:
-
-0+8000 \<_start>:
- 8000: d503201f nop
+Disassembly of section \.text:
+0+10000 \<_start>:
+ 10000: d503201f nop
diff --git a/ld/testsuite/ld-aarch64/gc-plt-relocs.d b/ld/testsuite/ld-aarch64/gc-plt-relocs.d
index 5c9b5fe..ac455f8 100644
--- a/ld/testsuite/ld-aarch64/gc-plt-relocs.d
+++ b/ld/testsuite/ld-aarch64/gc-plt-relocs.d
@@ -13,36 +13,36 @@
.*: file format elf64-(little|big)aarch64
DYNAMIC SYMBOL TABLE:
-0+8000 g DF \.text 0+4 _start
-0+0000 D \*UND\* 0+ foo
-0+8008 g DF \.text 0+ bar
+0+10000 g DF \.text 0+4 _start
+0+00000 D \*UND\* 0+ foo
+0+10008 g DF \.text 0+ bar
+
+Disassembly of section \.plt:
+
+0+9000 \<\.plt\>:
+ 9000: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
+ 9004: f00919b0 adrp x16, 12340000 \<_GLOBAL_OFFSET_TABLE_\>
+ 9008: f9400e11 ldr x17, \[x16, #24\]
+ 900c: 91006210 add x16, x16, #0x18
+ 9010: d61f0220 br x17
+ 9014: d503201f nop
+ 9018: d503201f nop
+ 901c: d503201f nop
+ 9020: f00919b0 adrp x16, 12340000 \<_GLOBAL_OFFSET_TABLE_\>
+ 9024: f9401211 ldr x17, \[x16, #32\]
+ 9028: 91008210 add x16, x16, #0x20
+ 902c: d61f0220 br x17
Disassembly of section .text:
-0+8000 \<_start\>:
- 8000: 9400000c bl 8030 \<.*>
-
-0+8004 \<hidfn\>:
- 8004: 8a000000 and x0, x0, x0
-
-0+8008 \<bar\>:
- 8008: 14000001 b 800c \<foo\>
-
-0+800c \<foo\>:
- 800c: 97fffffe bl 8004 \<hidfn\>
-
-Disassembly of section .plt:
-
-0+8010 \<\.plt\>:
- 8010: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
- 8014: b0000010 adrp x16, 9000 .*
- 8018: f9400e11 ldr x17, \[x16, #24\]
- 801c: 91006210 add x16, x16, #0x18
- 8020: d61f0220 br x17
- 8024: d503201f nop
- 8028: d503201f nop
- 802c: d503201f nop
- 8030: b0000010 adrp x16, 9000 .*
- 8034: f9401211 ldr x17, \[x16, #32\]
- 8038: 91008210 add x16, x16, #0x20
- 803c: d61f0220 br x17
+0+10000 \<_start\>:
+ 10000: 97ffe408 bl 9020 \<\.plt\+0x20>
+
+0+10004 \<hidfn\>:
+ 10004: 8a000000 and x0, x0, x0
+
+0+10008 \<bar\>:
+ 10008: 14000001 b 1000c \<foo\>
+
+0+1000c \<foo\>:
+ 1000c: 97fffffe bl 10004 \<hidfn\>
diff --git a/ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d b/ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d
index 56fcfa4..2e5e4c6 100644
--- a/ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d
+++ b/ld/testsuite/ld-aarch64/gc-relocs-257-dyn.d
@@ -13,5 +13,5 @@
Disassembly of section .text:
-0+8000 \<_start\>:
- 8000: d503201f nop
+0+10000 \<_start\>:
+ 10000: d503201f nop
diff --git a/ld/testsuite/ld-aarch64/gc-relocs-257.d b/ld/testsuite/ld-aarch64/gc-relocs-257.d
index ffa7571..022b407 100644
--- a/ld/testsuite/ld-aarch64/gc-relocs-257.d
+++ b/ld/testsuite/ld-aarch64/gc-relocs-257.d
@@ -12,5 +12,5 @@
Disassembly of section .text:
-0+8000 \<_start\>:
- 8000: d503201f nop
+0+10000 \<_start\>:
+ 10000: d503201f nop
diff --git a/ld/testsuite/ld-aarch64/gc-tls-relocs.d b/ld/testsuite/ld-aarch64/gc-tls-relocs.d
index 38637dc..2f2210c 100644
--- a/ld/testsuite/ld-aarch64/gc-tls-relocs.d
+++ b/ld/testsuite/ld-aarch64/gc-tls-relocs.d
@@ -13,15 +13,15 @@
.*: file format elf64-(little|big)aarch64
SYMBOL TABLE:
-0+8000 l d \.text 0+ \.text
-0+0000 l df \*ABS\* 0+ .*
-0+8000 g \.text 0+ _start
+0+10000 l d \.text 0+ \.text
+0+00000 l df \*ABS\* 0+ .*
+0+10000 g \.text 0+ _start
Contents of section .text:
- 8000 1f2003d5 .*
+ 10000 1f2003d5 .*
-Disassembly of section .text:
+Disassembly of section \.text:
-0+8000 \<_start>:
- 8000: d503201f nop
+0+10000 \<_start>:
+ 10000: d503201f nop
diff --git a/ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-a.d b/ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-a.d
new file mode 100644
index 0000000..7409525
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-a.d
@@ -0,0 +1,45 @@
+#name: No '-z force-bti' with '-z memory-seal' with feature properties (BTI) forces the generation of BTI PLT (shared)
+#source: bti-plt-1.s
+#source: bti-plt-2.s
+#target: [check_shared_lib_support]
+#as: -mabi=lp64 -defsym __property_bti__=1
+#ld: -shared -z memory-seal -T bti-plt.ld -L./tmpdir -lbti-plt-so
+#objdump: -dr -j .plt
+
+[^:]*: *file format elf64-.*aarch64
+
+Disassembly of section \.plt:
+
+[0-9]+ <\.plt>:
+.*: d503245f bti c
+.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
+.*: f9400e11 ldr x17, \[x16, #24\]
+.*: 91006210 add x16, x16, #0x18
+.*: d61f0220 br x17
+.*: d503201f nop
+.*: d503201f nop
+
+[0-9]+ <.*>:
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
+.*: f9401211 ldr x17, \[x16, #32\]
+.*: 91008210 add x16, x16, #0x20
+.*: d61f0220 br x17
+
+[0-9]+ <.*>:
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
+.*: f9401611 ldr x17, \[x16, #40\]
+.*: 9100a210 add x16, x16, #0x28
+.*: d61f0220 br x17
+
+[0-9]+ <.*>:
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
+.*: f9401a11 ldr x17, \[x16, #48\]
+.*: 9100c210 add x16, x16, #0x30
+.*: d61f0220 br x17
+
+[0-9]+ <.*>:
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
+.*: f9401e11 ldr x17, \[x16, #56\]
+.*: 9100e210 add x16, x16, #0x38
+.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-b.d b/ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-b.d
new file mode 100644
index 0000000..0dadcc9
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/protections/bti-and-memory-seal-plt-1-b.d
@@ -0,0 +1,14 @@
+#name: No '-z force-bti' with '-z memory-seal' all input objects have BTI emits BTI feature (shared)
+#source: bti-plt-1.s
+#source: bti-plt-2.s
+#target: [check_shared_lib_support]
+#as: -mabi=lp64 -defsym __property_bti__=1
+#ld: -z memory-seal -shared -T bti-plt.ld
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+ GNU 0x00000018 NT_GNU_PROPERTY_TYPE_0
+ Properties: memory seal\s
+\s+AArch64 feature: BTI
+#pass
diff --git a/ld/testsuite/ld-aarch64/protections/bti-far-1.d b/ld/testsuite/ld-aarch64/protections/bti-far-1.d
index 63fbb43..eb295cf 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-far-1.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-far-1.d
@@ -13,7 +13,7 @@ Disassembly of section \.plt:
0000000000018000 <\.plt>:
18000: d503245f bti c
18004: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
- 18008: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18008: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
1800c: f9400e11 ldr x17, \[x16, #24\]
18010: 91006210 add x16, x16, #0x18
18014: d61f0220 br x17
@@ -21,7 +21,7 @@ Disassembly of section \.plt:
1801c: d503201f nop
0000000000018020 <foo@plt>:
- 18020: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18020: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
18024: f9401211 ldr x17, \[x16, #32\]
18028: 91008210 add x16, x16, #0x20
1802c: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-far-opt.d b/ld/testsuite/ld-aarch64/protections/bti-far-opt.d
index cb293b6..f5038c0 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-far-opt.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-far-opt.d
@@ -13,7 +13,7 @@ Disassembly of section \.plt:
0000000000018000 <\.plt>:
18000: d503245f bti c
18004: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
- 18008: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18008: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
1800c: f9400e11 ldr x17, \[x16, #24\]
18010: 91006210 add x16, x16, #0x18
18014: d61f0220 br x17
@@ -21,7 +21,7 @@ Disassembly of section \.plt:
1801c: d503201f nop
0000000000018020 <foo@plt>:
- 18020: 900000d0 adrp x16, 30000 <_GLOBAL_OFFSET_TABLE_>
+ 18020: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
18024: f9401211 ldr x17, \[x16, #32\]
18028: 91008210 add x16, x16, #0x20
1802c: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-far.ld b/ld/testsuite/ld-aarch64/protections/bti-far.ld
index 214b8cb..1568f18 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-far.ld
+++ b/ld/testsuite/ld-aarch64/protections/bti-far.ld
@@ -2,14 +2,28 @@ OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
+ PROVIDE(__executable_start = 0x8000);
+ . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS;
+ /* Start of the executable code region. */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
. = 0x10000;
- .rela.plt : { *(.rela.plt) *(.rela.iplt) }
+ .rela.dyn : { *(.rela.ifunc) }
+ .rela.plt : { *(.rela.plt) *(.rela.iplt) }
. = 0x18000;
- .plt : { *(.plt) *(.iplt) }
+ .plt : { *(.plt) *(.iplt) }
. = 0x20000;
- .text : { *(.text) }
- . = 0x30000;
- .got : { *(.got) *(.got.plt) }
+ .text : { *(.text) }
. = 0x12340000;
- .far : { *(.far) }
+ .far : { *(.far) }
+ /* Start of the Read Only Data region. */
+ .note.gnu-property : { *(.note.gnu-property) }
+
+ /* Start of the Read Write Data region. */
+ . = ALIGN (CONSTANT (MAXPAGESIZE));
+ .got : { *(.got) *(.got.plt) }
+ /* Start of the metadata region. */
+ .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
}
diff --git a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-a.d b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-a.d
index 96268d3..4ab1ca8 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-a.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-a.d
@@ -11,7 +11,7 @@ Disassembly of section \.plt:
[0-9a-f]+ <\.plt>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -20,13 +20,13 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-b.d b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-b.d
index 041bf22..ef744e1 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-b.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-1-b.d
@@ -16,7 +16,7 @@ Disassembly of section \.plt:
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -24,13 +24,13 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-a.d b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-a.d
index f1ae3cd..0e87bcc 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-a.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-a.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -20,7 +20,7 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
@@ -28,7 +28,7 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
diff --git a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-b.d b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-b.d
index 69ccaab..199585c 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-b.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-2-b.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -21,7 +21,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
@@ -29,7 +29,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
diff --git a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-a.d b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-a.d
index c0c0bdb..1789a98 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-a.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-a.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9a-f]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -20,7 +20,7 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
@@ -28,7 +28,7 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
diff --git a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-b.d b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-b.d
index 89a08ae..a0643ab 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-b.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-pac-plt-3-b.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -21,7 +21,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
@@ -29,7 +29,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt-1-a.d b/ld/testsuite/ld-aarch64/protections/bti-plt-1-a.d
index 2dc3864..89c0abc 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-plt-1-a.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-plt-1-a.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -20,13 +20,13 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt-1-b.d b/ld/testsuite/ld-aarch64/protections/bti-plt-1-b.d
index 1bf956c..c889c1c 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-plt-1-b.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-plt-1-b.d
@@ -2,7 +2,7 @@
#source: bti-plt-1.s
#target: [check_shared_lib_support]
#as: -mabi=lp64 -defsym __property_bti__=1
-#ld: -shared -z force-bti -T bti-plt.ld -L./tmpdir -lbti-plt-so
+#ld: -shared -T bti-plt.ld -L./tmpdir -lbti-plt-so
#objdump: -dr -j .plt
[^:]*: *file format elf64-.*aarch64
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -20,13 +20,13 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt-1-c.d b/ld/testsuite/ld-aarch64/protections/bti-plt-1-c.d
index 2fd0dea..c200b0c 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-plt-1-c.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-plt-1-c.d
@@ -13,7 +13,7 @@ Disassembly of section \.plt:
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -21,13 +21,13 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt-3.d b/ld/testsuite/ld-aarch64/protections/bti-plt-3.d
index e457bab..48db434 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-plt-3.d
+++ b/ld/testsuite/ld-aarch64/protections/bti-plt-3.d
@@ -12,7 +12,7 @@ Disassembly of section \.plt:
[0-9]+ <\.plt>:
.*: d503245f bti c
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -21,7 +21,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
@@ -29,7 +29,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: d503245f bti c
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/bti-plt.ld b/ld/testsuite/ld-aarch64/protections/bti-plt.ld
index 8682623..c930fc8 100644
--- a/ld/testsuite/ld-aarch64/protections/bti-plt.ld
+++ b/ld/testsuite/ld-aarch64/protections/bti-plt.ld
@@ -2,13 +2,26 @@ OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
+ PROVIDE(__executable_start = 0x8000);
+ . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS;
+ /* Start of the executable code region. */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
. = 0x10000;
- .rela.plt : { *(.rela.plt) *(.rela.iplt) }
+ .rela.dyn : { *(.rela.ifunc) }
+ .rela.plt : { *(.rela.plt) *(.rela.iplt) }
. = 0x18000;
- .plt : { *(.plt) *(.iplt) }
+ .plt : { *(.plt) *(.iplt) }
. = 0x20000;
- .text : { *(.text) }
- . = 0x28000;
- .got : { *(.got) *(.got.plt) }
- .ARM.attributes 0 : { *(.ARM.atttributes) }
+ .text : { *(.text) }
+ /* Start of the Read Only Data region. */
+ .note.gnu-property : { *(.note.gnu-property) }
+
+ /* Start of the Read Write Data region. */
+ . = ALIGN (CONSTANT (MAXPAGESIZE));
+ .got : { *(.got) *(.got.plt) }
+ /* Start of the metadata region. */
+ .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
}
diff --git a/ld/testsuite/ld-aarch64/protections/pac-plt-1-a.d b/ld/testsuite/ld-aarch64/protections/pac-plt-1-a.d
index fc10ec7..203cb12 100644
--- a/ld/testsuite/ld-aarch64/protections/pac-plt-1-a.d
+++ b/ld/testsuite/ld-aarch64/protections/pac-plt-1-a.d
@@ -11,7 +11,7 @@ Disassembly of section \.plt:
[0-9]+ <.*>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -20,7 +20,7 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d503219f autia1716
@@ -28,7 +28,7 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d503219f autia1716
diff --git a/ld/testsuite/ld-aarch64/protections/pac-plt-1-b.d b/ld/testsuite/ld-aarch64/protections/pac-plt-1-b.d
index 7a0fd59..6592689 100644
--- a/ld/testsuite/ld-aarch64/protections/pac-plt-1-b.d
+++ b/ld/testsuite/ld-aarch64/protections/pac-plt-1-b.d
@@ -15,7 +15,7 @@ Disassembly of section \.plt:
[0-9a-f]+ <\.plt>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9400e11 ldr x17, \[x16, #24\]
.*: 91006210 add x16, x16, #0x18
.*: d61f0220 br x17
@@ -24,13 +24,13 @@ Disassembly of section \.plt:
.*: d503201f nop
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401211 ldr x17, \[x16, #32\]
.*: 91008210 add x16, x16, #0x20
.*: d61f0220 br x17
[0-9a-f]+ <.*>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401611 ldr x17, \[x16, #40\]
.*: 9100a210 add x16, x16, #0x28
.*: d61f0220 br x17
diff --git a/ld/testsuite/ld-aarch64/protections/pac-plt-2.d b/ld/testsuite/ld-aarch64/protections/pac-plt-2.d
index 1c3d7f4..6795645 100644
--- a/ld/testsuite/ld-aarch64/protections/pac-plt-2.d
+++ b/ld/testsuite/ld-aarch64/protections/pac-plt-2.d
@@ -9,7 +9,7 @@ Disassembly of section \.plt:
.* \<.plt\>:
.*: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401a11 ldr x17, \[x16, #48\]
.*: 9100c210 add x16, x16, #0x30
.*: d61f0220 br x17
@@ -19,7 +19,7 @@ Disassembly of section \.plt:
.* \<__tls_get_addr@plt\>:
-.*: 90000090 adrp x16, 28000 <_GLOBAL_OFFSET_TABLE_>
+.*: [[:xdigit:]]{8} adrp x16, [[:xdigit:]]+ <_GLOBAL_OFFSET_TABLE_>
.*: f9401e11 ldr x17, \[x16, #56\]
.*: 9100e210 add x16, x16, #0x38
.*: d503219f autia1716
diff --git a/ld/testsuite/ld-aarch64/relocs-ilp32.ld b/ld/testsuite/ld-aarch64/relocs-ilp32.ld
index 4ddba91..3958ad8 100644
--- a/ld/testsuite/ld-aarch64/relocs-ilp32.ld
+++ b/ld/testsuite/ld-aarch64/relocs-ilp32.ld
@@ -15,7 +15,7 @@ SECTIONS
.got : { *(.got) *(.got.plt)}
. = 0x12340000;
.far : { *(.far) }
- .ARM.attributes 0 : { *(.ARM.atttributes) }
+ .ARM.attributes 0 : { *(.ARM.attributes) }
/* Providing a .data section triggers a non-executable segment to be
generated, which gives somewhere else for the linker to put the TLS
segment without creating a RWX permissioned one. */
diff --git a/ld/testsuite/ld-aarch64/relocs.ld b/ld/testsuite/ld-aarch64/relocs.ld
index 77adac8..b0e75e0 100644
--- a/ld/testsuite/ld-aarch64/relocs.ld
+++ b/ld/testsuite/ld-aarch64/relocs.ld
@@ -15,7 +15,7 @@ SECTIONS
.got : { *(.got) *(.got.plt)}
. = 0x12340000;
.far : { *(.far) }
- .ARM.attributes 0 : { *(.ARM.atttributes) }
+ .ARM.attributes 0 : { *(.ARM.attributes) }
/* Providing a .data section triggers a non-executable segment to be
generated, which gives somewhere else for the linker to put the TLS
segment without creating a RWX permissioned one. */
diff --git a/ld/testsuite/ld-aarch64/variant_pcs-now.d b/ld/testsuite/ld-aarch64/variant_pcs-now.d
index 5007632..1add2bb 100644
--- a/ld/testsuite/ld-aarch64/variant_pcs-now.d
+++ b/ld/testsuite/ld-aarch64/variant_pcs-now.d
@@ -4,65 +4,65 @@
#ld: -shared --hash-style=sysv -T variant_pcs.ld -z now
#readelf: -rsW
-Relocation section '\.rela\.plt' at offset 0x11000 contains 12 entries:
+Relocation section '\.rela\.plt' at offset 0x[[:xdigit:]]+ contains 12 entries:
Offset Info Type Symbol's Value Symbol's Name \+ Addend
-0000000000009020 0000000100000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
-0000000000009028 0000000200000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
-0000000000009030 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_base_global_default_def \+ 0
-0000000000009038 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_spec_global_default_def \+ 0
-0000000000009040 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009048 0000000300000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
-0000000000009050 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009058 0000000600000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
-0000000000009060 0000000000000408 R_AARCH64_IRELATIVE 8038
-0000000000009068 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009070 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009078 0000000000000408 R_AARCH64_IRELATIVE 8038
+00000000000[[:xdigit:]]{2}020 0000000100000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
+00000000000[[:xdigit:]]{2}028 0000000200000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
+00000000000[[:xdigit:]]{2}030 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000011000 f_base_global_default_def \+ 0
+00000000000[[:xdigit:]]{2}038 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000011000 f_spec_global_default_def \+ 0
+00000000000[[:xdigit:]]{2}040 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}048 0000000300000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
+00000000000[[:xdigit:]]{2}050 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}058 0000000600000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
+00000000000[[:xdigit:]]{2}060 0000000000000408 R_AARCH64_IRELATIVE 11038
+00000000000[[:xdigit:]]{2}068 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}070 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}078 0000000000000408 R_AARCH64_IRELATIVE 11038
Symbol table '\.dynsym' contains 7 entries:
Num: Value Size Type Bind Vis Ndx Name
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND\s
1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef
- 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc
- 4: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
- 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def
- 6: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
+ 3: 0000000000011000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_ifunc
+ 4: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 6 f_base_global_default_def
+ 5: 0000000000011000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_def
+ 6: 0000000000011000 0 IFUNC GLOBAL DEFAULT 6 f_base_global_default_ifunc
Symbol table '\.symtab' contains 35 entries:
Num: Value Size Type Bind Vis Ndx Name
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
- 1: 0000000000008000 0 SECTION LOCAL DEFAULT 1.*
- 2: 0000000000008070 0 SECTION LOCAL DEFAULT 2.*
- 3: 0000000000009000 0 SECTION LOCAL DEFAULT 3.*
- 4: 0000000000009080 0 SECTION LOCAL DEFAULT 4.*
- 5: 0000000000011000 0 SECTION LOCAL DEFAULT 5.*
- 6: 0000000000011120 0 SECTION LOCAL DEFAULT 6.*
- 7: 00000000000111c8 0 SECTION LOCAL DEFAULT 7.*
- 8: 0000000000011270 0 SECTION LOCAL DEFAULT 8.*
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND\s
+ 1: 00000000000080e8 0 SECTION LOCAL DEFAULT 1 \.hash
+ 2: 0000000000008118 0 SECTION LOCAL DEFAULT 2 \.dynsym
+ 3: 00000000000081c0 0 SECTION LOCAL DEFAULT 3 \.dynstr
+ 4: 0000000000009000 0 SECTION LOCAL DEFAULT 4 \.rela\.plt
+ 5: 0000000000010000 0 SECTION LOCAL DEFAULT 5 \.plt
+ 6: 0000000000011000 0 SECTION LOCAL DEFAULT 6 \.text
+ 7: 0000000000020000 0 SECTION LOCAL DEFAULT 7 \.dynamic
+ 8: 0000000000021000 0 SECTION LOCAL DEFAULT 8 \.got
9: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o
- 10: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local
- 11: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local_ifunc
- 12: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_local_ifunc
- 13: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_local
- 14: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 \$x
+ 10: 0000000000011000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local
+ 11: 0000000000011000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local_ifunc
+ 12: 0000000000011000 0 IFUNC LOCAL DEFAULT 6 f_base_local_ifunc
+ 13: 0000000000011000 0 NOTYPE LOCAL DEFAULT 6 f_base_local
+ 14: 0000000000011000 0 NOTYPE LOCAL DEFAULT 6 \$x
15: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-2\.o
- 16: 0000000000008038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2
- 17: 0000000000008038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2_ifunc
- 18: 0000000000008038 0 IFUNC LOCAL DEFAULT 1 f_base_local2_ifunc
- 19: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 f_base_local2
- 20: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 \$x
- 21: 0000000000000000 0 FILE LOCAL DEFAULT ABS
- 22: 0000000000009080 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC
- 23: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_def
- 24: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_global_hidden_ifunc
- 25: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_global_hidden_def
- 26: 0000000000009000 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- 27: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_ifunc
- 28: 0000000000008070 0 NOTYPE LOCAL DEFAULT 2 \$x
+ 16: 0000000000011038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local2
+ 17: 0000000000011038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local2_ifunc
+ 18: 0000000000011038 0 IFUNC LOCAL DEFAULT 6 f_base_local2_ifunc
+ 19: 0000000000011038 0 NOTYPE LOCAL DEFAULT 6 f_base_local2
+ 20: 0000000000011038 0 NOTYPE LOCAL DEFAULT 6 \$x
+ 21: 0000000000000000 0 FILE LOCAL DEFAULT ABS\s
+ 22: 0000000000020000 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC
+ 23: 0000000000011000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_hidden_def
+ 24: 0000000000011000 0 IFUNC LOCAL DEFAULT 6 f_base_global_hidden_ifunc
+ 25: 0000000000011000 0 NOTYPE LOCAL DEFAULT 6 f_base_global_hidden_def
+ 26: 0000000000021000 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ 27: 0000000000011000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_hidden_ifunc
+ 28: 0000000000010000 0 NOTYPE LOCAL DEFAULT 5 \$x
29: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
30: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef
- 31: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc
- 32: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
- 33: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def
- 34: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
+ 31: 0000000000011000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_ifunc
+ 32: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 6 f_base_global_default_def
+ 33: 0000000000011000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_def
+ 34: 0000000000011000 0 IFUNC GLOBAL DEFAULT 6 f_base_global_default_ifunc
diff --git a/ld/testsuite/ld-aarch64/variant_pcs-r.d b/ld/testsuite/ld-aarch64/variant_pcs-r.d
index 2651a68..65849e1 100644
--- a/ld/testsuite/ld-aarch64/variant_pcs-r.d
+++ b/ld/testsuite/ld-aarch64/variant_pcs-r.d
@@ -3,7 +3,7 @@
#ld: -r
#readelf: -rsW
-Relocation section '\.rela\.text' at offset .* contains 24 entries:
+Relocation section '\.rela\.text' at offset 0x[[:xdigit:]]+ contains 24 entries:
Offset Info Type Symbol's Value Symbol's Name \+ Addend
0000000000000000 000000180000011b R_AARCH64_CALL26 0000000000000000 f_spec_global_default_def \+ 0
0000000000000004 000000110000011b R_AARCH64_CALL26 0000000000000000 f_spec_global_default_undef \+ 0
@@ -32,10 +32,10 @@ Relocation section '\.rela\.text' at offset .* contains 24 entries:
Symbol table '\.symtab' contains 26 entries:
Num: Value Size Type Bind Vis Ndx Name
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
- 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1.*
- 2: 0000000000000000 0 SECTION LOCAL DEFAULT 3.*
- 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4.*
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND\s
+ 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1 \.text
+ 2: 0000000000000000 0 SECTION LOCAL DEFAULT 3 \.data
+ 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4 \.bss
4: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o
5: 0000000000000000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local
6: 0000000000000000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local_ifunc
diff --git a/ld/testsuite/ld-aarch64/variant_pcs-shared.d b/ld/testsuite/ld-aarch64/variant_pcs-shared.d
index e021799..3a39d8c 100644
--- a/ld/testsuite/ld-aarch64/variant_pcs-shared.d
+++ b/ld/testsuite/ld-aarch64/variant_pcs-shared.d
@@ -4,65 +4,65 @@
#ld: -shared --hash-style=sysv -T variant_pcs.ld
#readelf: -rsW
-Relocation section '\.rela\.plt' at offset 0x11000 contains 12 entries:
+Relocation section '\.rela\.plt' at offset 0x[[:xdigit:]]+ contains 12 entries:
Offset Info Type Symbol's Value Symbol's Name \+ Addend
-0000000000009020 0000000100000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
-0000000000009028 0000000200000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
-0000000000009030 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_base_global_default_def \+ 0
-0000000000009038 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000008000 f_spec_global_default_def \+ 0
-0000000000009040 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009048 0000000300000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
-0000000000009050 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009058 0000000600000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
-0000000000009060 0000000000000408 R_AARCH64_IRELATIVE 8038
-0000000000009068 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009070 0000000000000408 R_AARCH64_IRELATIVE 8000
-0000000000009078 0000000000000408 R_AARCH64_IRELATIVE 8038
+00000000000[[:xdigit:]]{2}020 0000000100000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_base_global_default_undef \+ 0
+00000000000[[:xdigit:]]{2}028 0000000200000402 R_AARCH64_JUMP_SLOT 0000000000000000 f_spec_global_default_undef \+ 0
+00000000000[[:xdigit:]]{2}030 0000000400000402 R_AARCH64_JUMP_SLOT 0000000000011000 f_base_global_default_def \+ 0
+00000000000[[:xdigit:]]{2}038 0000000500000402 R_AARCH64_JUMP_SLOT 0000000000011000 f_spec_global_default_def \+ 0
+00000000000[[:xdigit:]]{2}040 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}048 0000000300000402 R_AARCH64_JUMP_SLOT f_spec_global_default_ifunc\(\) f_spec_global_default_ifunc \+ 0
+00000000000[[:xdigit:]]{2}050 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}058 0000000600000402 R_AARCH64_JUMP_SLOT f_base_global_default_ifunc\(\) f_base_global_default_ifunc \+ 0
+00000000000[[:xdigit:]]{2}060 0000000000000408 R_AARCH64_IRELATIVE 11038
+00000000000[[:xdigit:]]{2}068 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}070 0000000000000408 R_AARCH64_IRELATIVE 11000
+00000000000[[:xdigit:]]{2}078 0000000000000408 R_AARCH64_IRELATIVE 11038
Symbol table '\.dynsym' contains 7 entries:
Num: Value Size Type Bind Vis Ndx Name
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND\s
1: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
2: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef
- 3: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc
- 4: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
- 5: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def
- 6: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
+ 3: 0000000000011000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_ifunc
+ 4: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 6 f_base_global_default_def
+ 5: 0000000000011000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_def
+ 6: 0000000000011000 0 IFUNC GLOBAL DEFAULT 6 f_base_global_default_ifunc
Symbol table '\.symtab' contains 35 entries:
Num: Value Size Type Bind Vis Ndx Name
- 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
- 1: 0000000000008000 0 SECTION LOCAL DEFAULT 1.*
- 2: 0000000000008070 0 SECTION LOCAL DEFAULT 2.*
- 3: 0000000000009000 0 SECTION LOCAL DEFAULT 3.*
- 4: 0000000000009080 0 SECTION LOCAL DEFAULT 4.*
- 5: 0000000000011000 0 SECTION LOCAL DEFAULT 5.*
- 6: 0000000000011120 0 SECTION LOCAL DEFAULT 6.*
- 7: 00000000000111c8 0 SECTION LOCAL DEFAULT 7.*
- 8: 0000000000011270 0 SECTION LOCAL DEFAULT 8.*
+ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND\s
+ 1: 00000000000080e8 0 SECTION LOCAL DEFAULT 1 \.hash
+ 2: 0000000000008118 0 SECTION LOCAL DEFAULT 2 \.dynsym
+ 3: 00000000000081c0 0 SECTION LOCAL DEFAULT 3 \.dynstr
+ 4: 0000000000009000 0 SECTION LOCAL DEFAULT 4 \.rela\.plt
+ 5: 0000000000010000 0 SECTION LOCAL DEFAULT 5 \.plt
+ 6: 0000000000011000 0 SECTION LOCAL DEFAULT 6 \.text
+ 7: 0000000000020000 0 SECTION LOCAL DEFAULT 7 \.dynamic
+ 8: 0000000000021000 0 SECTION LOCAL DEFAULT 8 \.got
9: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-1\.o
- 10: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local
- 11: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local_ifunc
- 12: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_local_ifunc
- 13: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_local
- 14: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 \$x
+ 10: 0000000000011000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local
+ 11: 0000000000011000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local_ifunc
+ 12: 0000000000011000 0 IFUNC LOCAL DEFAULT 6 f_base_local_ifunc
+ 13: 0000000000011000 0 NOTYPE LOCAL DEFAULT 6 f_base_local
+ 14: 0000000000011000 0 NOTYPE LOCAL DEFAULT 6 \$x
15: 0000000000000000 0 FILE LOCAL DEFAULT ABS .*variant_pcs-2\.o
- 16: 0000000000008038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2
- 17: 0000000000008038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_local2_ifunc
- 18: 0000000000008038 0 IFUNC LOCAL DEFAULT 1 f_base_local2_ifunc
- 19: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 f_base_local2
- 20: 0000000000008038 0 NOTYPE LOCAL DEFAULT 1 \$x
- 21: 0000000000000000 0 FILE LOCAL DEFAULT ABS
- 22: 0000000000009080 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC
- 23: 0000000000008000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_def
- 24: 0000000000008000 0 IFUNC LOCAL DEFAULT 1 f_base_global_hidden_ifunc
- 25: 0000000000008000 0 NOTYPE LOCAL DEFAULT 1 f_base_global_hidden_def
- 26: 0000000000009000 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
- 27: 0000000000008000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_hidden_ifunc
- 28: 0000000000008070 0 NOTYPE LOCAL DEFAULT 2 \$x
+ 16: 0000000000011038 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local2
+ 17: 0000000000011038 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_local2_ifunc
+ 18: 0000000000011038 0 IFUNC LOCAL DEFAULT 6 f_base_local2_ifunc
+ 19: 0000000000011038 0 NOTYPE LOCAL DEFAULT 6 f_base_local2
+ 20: 0000000000011038 0 NOTYPE LOCAL DEFAULT 6 \$x
+ 21: 0000000000000000 0 FILE LOCAL DEFAULT ABS\s
+ 22: 0000000000020000 0 OBJECT LOCAL DEFAULT ABS _DYNAMIC
+ 23: 0000000000011000 0 NOTYPE LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_hidden_def
+ 24: 0000000000011000 0 IFUNC LOCAL DEFAULT 6 f_base_global_hidden_ifunc
+ 25: 0000000000011000 0 NOTYPE LOCAL DEFAULT 6 f_base_global_hidden_def
+ 26: 0000000000021000 0 OBJECT LOCAL DEFAULT ABS _GLOBAL_OFFSET_TABLE_
+ 27: 0000000000011000 0 IFUNC LOCAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_hidden_ifunc
+ 28: 0000000000010000 0 NOTYPE LOCAL DEFAULT 5 \$x
29: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND f_base_global_default_undef
30: 0000000000000000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] UND f_spec_global_default_undef
- 31: 0000000000008000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_ifunc
- 32: 0000000000008000 0 NOTYPE GLOBAL DEFAULT 1 f_base_global_default_def
- 33: 0000000000008000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 1 f_spec_global_default_def
- 34: 0000000000008000 0 IFUNC GLOBAL DEFAULT 1 f_base_global_default_ifunc
+ 31: 0000000000011000 0 IFUNC GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_ifunc
+ 32: 0000000000011000 0 NOTYPE GLOBAL DEFAULT 6 f_base_global_default_def
+ 33: 0000000000011000 0 NOTYPE GLOBAL DEFAULT \[VARIANT_PCS\] 6 f_spec_global_default_def
+ 34: 0000000000011000 0 IFUNC GLOBAL DEFAULT 6 f_base_global_default_ifunc
diff --git a/ld/testsuite/ld-aarch64/variant_pcs.ld b/ld/testsuite/ld-aarch64/variant_pcs.ld
index a66a934..cadecd8 100644
--- a/ld/testsuite/ld-aarch64/variant_pcs.ld
+++ b/ld/testsuite/ld-aarch64/variant_pcs.ld
@@ -3,21 +3,31 @@ OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
- /* Read-only sections, merged into text segment: */
- PROVIDE (__executable_start = 0x8000); . = 0x8000;
+ PROVIDE(__executable_start = 0x8000);
+ . = SEGMENT_START("text-segment", 0x8000) + SIZEOF_HEADERS;
+ /* Start of the executable code region. */
+ .hash : { *(.hash) }
+ .gnu.hash : { *(.gnu.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+ . = 0x9000;
+ .rela.plt : { *(.rela.plt) *(.rela.iplt) }
+ . = 0x10000;
+ .plt : { *(.plt) }
+ . = 0x11000;
.text :
{
*(.before)
*(.text)
*(.after)
- } =0
- . = 0x9000;
+ }
+
+ /* Start of the Read Write Data region. */
+ . = ALIGN (CONSTANT (MAXPAGESIZE));
+ .dynamic : { *(.dynamic) }
+ . = ALIGN(4K);
.got : { *(.got) *(.got.plt)}
- . = 0x10000;
- .rela.dyn : { *(.rela.ifunc) }
- . = 0x11000;
- .rela.plt : { *(.rela.plt) *(.rela.iplt) }
- . = 0x12340000;
- .far : { *(.far) }
- .ARM.attributes 0 : { *(.ARM.atttributes) }
+
+ /* Start of the metadata region. */
+ .ARM.attributes 0 : { KEEP (*(.ARM.attributes)) }
}
diff --git a/ld/testsuite/ld-arm/arm.ld b/ld/testsuite/ld-arm/arm.ld
index 8e3fac2..4b596ce 100644
--- a/ld/testsuite/ld-arm/arm.ld
+++ b/ld/testsuite/ld-arm/arm.ld
@@ -19,5 +19,5 @@ SECTIONS
.got : { *(.got) *(.got.plt)}
. = 0x12340000;
.far : { *(.far) }
- .ARM.attribues 0 : { *(.ARM.atttributes) }
+ .ARM.attributes 0 : { *(.ARM.attributes) }
}
diff --git a/ld/testsuite/ld-arm/arm_purecode.ld b/ld/testsuite/ld-arm/arm_purecode.ld
index 195aca1..488e3dd 100644
--- a/ld/testsuite/ld-arm/arm_purecode.ld
+++ b/ld/testsuite/ld-arm/arm_purecode.ld
@@ -28,5 +28,5 @@ SECTIONS
.got : { *(.got) *(.got.plt)}
. = 0x12340000;
.far : { *(.far) }
- .ARM.attribues 0 : { *(.ARM.atttributes) }
+ .ARM.attributes 0 : { *(.ARM.attributes) }
}
diff --git a/ld/testsuite/ld-arm/discard-unwind.ld b/ld/testsuite/ld-arm/discard-unwind.ld
index d8f6524..54418f7 100644
--- a/ld/testsuite/ld-arm/discard-unwind.ld
+++ b/ld/testsuite/ld-arm/discard-unwind.ld
@@ -15,5 +15,5 @@ SECTIONS
*(.v4_bx)
} =0
/DISCARD/ : { *(.ARM.exidx*) }
- .ARM.attribues 0 : { *(.ARM.atttributes) }
+ .ARM.attributes 0 : { *(.ARM.attributes) }
}
diff --git a/ld/testsuite/ld-arm/script-type.ld b/ld/testsuite/ld-arm/script-type.ld
index 01995eb..af34697 100644
--- a/ld/testsuite/ld-arm/script-type.ld
+++ b/ld/testsuite/ld-arm/script-type.ld
@@ -3,7 +3,7 @@ SECTIONS {
foo_a = bar_a;
foo_t = bar_t;
foo_o = bar_o;
- *(.text)
+ *(.text)
}
- .ARM.attribues 0 : { *(.ARM.attributes) }
+ .ARM.attributes 0 : { *(.ARM.attributes) }
}
diff --git a/ld/testsuite/ld-arm/unwind-1.d b/ld/testsuite/ld-arm/unwind-1.d
index add5cb7..073d6a5 100644
--- a/ld/testsuite/ld-arm/unwind-1.d
+++ b/ld/testsuite/ld-arm/unwind-1.d
@@ -1,10 +1,7 @@
#ld: -T arm.ld
-#objdump: -s
+#objdump: -s -j .ARM.exidx
.*: file format.*
-#...
-Contents of section .ARM.exidx:
- 8008 (f8ffff7f b0b0a880 f4ffff7f 01000000|7ffffff8 80a8b0b0 7ffffff4 00000001) .*
-Contents of section .far:
-#...
+Contents of section \.ARM\.exidx:
+ 8008 (f8ffff7f b0b0a880 f4ffff7f 01000000|7ffffff8 80a8b0b0 7ffffff4 00000001) \.+
diff --git a/ld/testsuite/ld-arm/unwind-2.d b/ld/testsuite/ld-arm/unwind-2.d
index a096c9b..c9cd433 100644
--- a/ld/testsuite/ld-arm/unwind-2.d
+++ b/ld/testsuite/ld-arm/unwind-2.d
@@ -1,10 +1,7 @@
#ld: -T arm.ld
-#objdump: -s
+#objdump: -s -j .ARM.exidx
.*: file format.*
-#...
-Contents of section .ARM.exidx:
- 8004 (fcffff7f b0b0a880 f8ffff7f 01000000|7ffffffc 80a8b0b0 7ffffff8 00000001) .*
-Contents of section .far:
-#...
+Contents of section \.ARM\.exidx:
+ 8004 (fcffff7f b0b0a880 f8ffff7f 01000000|7ffffffc 80a8b0b0 7ffffff8 00000001) \.+
diff --git a/ld/testsuite/ld-arm/unwind-3.d b/ld/testsuite/ld-arm/unwind-3.d
index 0b8e85e..9da1484 100644
--- a/ld/testsuite/ld-arm/unwind-3.d
+++ b/ld/testsuite/ld-arm/unwind-3.d
@@ -1,11 +1,8 @@
#ld: -T arm.ld
-#objdump: -s
+#objdump: -s -j .ARM.exidx
.*: file format.*
-#...
-Contents of section .ARM.exidx:
- 800c (f4ffff7f b0b0a880 f0ffff7f 01000000|7ffffff4 80a8b0b0 7ffffff0 00000001) .*
- 801c (ecffff7f b0b0a880 e8ffff7f 01000000|7fffffec 80a8b0b0 7fffffe8 00000001) .*
-Contents of section .far:
-#...
+Contents of section \.ARM\.exidx:
+ 800c (f4ffff7f b0b0a880 f0ffff7f 01000000|7ffffff4 80a8b0b0 7ffffff0 00000001) \.+
+ 801c (ecffff7f b0b0a880 e8ffff7f 01000000|7fffffec 80a8b0b0 7fffffe8 00000001) \.+
diff --git a/ld/testsuite/ld-arm/unwind-4.d b/ld/testsuite/ld-arm/unwind-4.d
index ffc8725..7b71de88 100644
--- a/ld/testsuite/ld-arm/unwind-4.d
+++ b/ld/testsuite/ld-arm/unwind-4.d
@@ -1,9 +1,8 @@
#ld: -q -T arm.ld
-#objdump: -sr
+#objdump: -sr -j .ARM.exidx
.*: file format.*
-#...
RELOCATION RECORDS FOR \[\.ARM\.exidx\]:
OFFSET +TYPE +VALUE
00000000 R_ARM_PREL31 \.text
@@ -17,11 +16,6 @@ OFFSET +TYPE +VALUE
00000010 R_ARM_NONE __aeabi_unwind_cpp_pr0
00000018 R_ARM_PREL31 \.text
-
-Contents of section .text:
-#...
-Contents of section .ARM.exidx:
- 8020 (e0ffff7f b0b0a880 dcffff7f e8ffff7f|7fffffe0 80a8b0b0 7fffffdc 7fffffe8) .*
- 8030 (d8ffff7f b0b0a880 d8ffff7f 01000000|7fffffd8 80a8b0b0 7fffffd8 00000001) .*
-Contents of section .far:
-#...
+Contents of section \.ARM\.exidx:
+ 8020 (e0ffff7f b0b0a880 dcffff7f e8ffff7f|7fffffe0 80a8b0b0 7fffffdc 7fffffe8) \.+
+ 8030 (d8ffff7f b0b0a880 d8ffff7f 01000000|7fffffd8 80a8b0b0 7fffffd8 00000001) \.+
diff --git a/ld/testsuite/ld-elf/tbss4.d b/ld/testsuite/ld-elf/tbss4.d
new file mode 100644
index 0000000..336ed8f
--- /dev/null
+++ b/ld/testsuite/ld-elf/tbss4.d
@@ -0,0 +1,13 @@
+#ld: -e _start -Ttext=0x1000 -z max-page-size=0x1000 -z common-page-size=0x1000 -z noseparate-code
+#readelf: -lSW
+#target: *-linux* *-gnu*
+#notarget: hppa64-*-* ia64-*-*
+
+#...
+.* \.tbss +NOBITS +0+1014 +0+1014 +0+4 +0+ +WAT +0 +0 +4
+
+#...
+ +TLS +0x0*1014 +0x0+1014 +0x0+1014 +0x0+ +0x0+4 R +0x4
+#...
+.* \.tbss
+#pass
diff --git a/ld/testsuite/ld-elf/tbss4.s b/ld/testsuite/ld-elf/tbss4.s
new file mode 100644
index 0000000..f49491e
--- /dev/null
+++ b/ld/testsuite/ld-elf/tbss4.s
@@ -0,0 +1,25 @@
+# Writeable gcc_except_table is required in order to put this section after
+# the DATA_SEGMENT_ALIGN directive in the default linker script (and hence
+# in the same PT_LOAD as the PT_TLS segment, and hence so that the
+# gcc_except_table can affect the .tbss section location).
+ .section .gcc_except_table,"aw",%progbits
+# Alignment is needed -- otherwise gcc_except_table start position seems to
+# be adjusted so that the tbss section is fully aligned.
+ .balign 4
+ .ascii "Odd number of chars"
+
+ .section .tbss,"awT",%nobits
+ .balign 4
+ .type xyz, %object
+ .size xyz, 4
+xyz:
+ .zero 4
+
+ .data
+dataval:
+ .balign 4
+ .ascii "x"
+
+ .text
+ .global _start
+_start:
diff --git a/ld/testsuite/ld-elfvers/vers7.c b/ld/testsuite/ld-elfvers/vers7.c
index 54316c9..a4fb254 100644
--- a/ld/testsuite/ld-elfvers/vers7.c
+++ b/ld/testsuite/ld-elfvers/vers7.c
@@ -2,8 +2,8 @@
* Test program that goes with test7.so
*/
-extern int hide_a();
-extern int show_b();
+extern int hide_a(int e);
+extern int show_b(int e);
int
main()
diff --git a/ld/testsuite/ld-loongarch-elf/32_pcrel.s b/ld/testsuite/ld-loongarch-elf/32_pcrel.s
new file mode 100644
index 0000000..3ef16de
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/32_pcrel.s
@@ -0,0 +1,6 @@
+ .section sx,"a"
+x:
+ nop
+
+ .section sy,"a"
+ .4byte x-.
diff --git a/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp b/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp
index 0295be8..2f09a69 100644
--- a/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp
+++ b/ld/testsuite/ld-loongarch-elf/ld-loongarch-elf.exp
@@ -200,6 +200,8 @@ if [istarget "loongarch64-*-*"] {
run_dump_test "bad_pcrel20_s2_global"
run_dump_test "bad_pcrel20_s2_weak"
run_dump_test "weak-undef-hidden-shared"
+ run_dump_test "overflow_32_pcrel"
+ run_dump_test "underflow_32_pcrel"
}
if [check_pie_support] {
diff --git a/ld/testsuite/ld-loongarch-elf/overflow_32_pcrel.d b/ld/testsuite/ld-loongarch-elf/overflow_32_pcrel.d
new file mode 100644
index 0000000..154dac9
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/overflow_32_pcrel.d
@@ -0,0 +1,4 @@
+#source: 32_pcrel.s
+#as: -mthin-add-sub
+#ld: -shared --section-start=sx=0x80001000 --section-start=sy=0x1000
+#error: .*relocation truncated to fit: R_LARCH_32_PCREL against `x'
diff --git a/ld/testsuite/ld-loongarch-elf/underflow_32_pcrel.d b/ld/testsuite/ld-loongarch-elf/underflow_32_pcrel.d
new file mode 100644
index 0000000..a5396bc
--- /dev/null
+++ b/ld/testsuite/ld-loongarch-elf/underflow_32_pcrel.d
@@ -0,0 +1,4 @@
+#source: 32_pcrel.s
+#as: -mthin-add-sub
+#ld: -shared --section-start=sx=0x1000 --section-start=sy=0x80001001
+#error: .*relocation truncated to fit: R_LARCH_32_PCREL against `x'
diff --git a/ld/testsuite/ld-plugin/lto-binutils.exp b/ld/testsuite/ld-plugin/lto-binutils.exp
new file mode 100644
index 0000000..5b4e0a1
--- /dev/null
+++ b/ld/testsuite/ld-plugin/lto-binutils.exp
@@ -0,0 +1,358 @@
+# Expect script for binutils tests with LTO
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+# MA 02110-1301, USA.
+#
+
+# Make sure that binutils can correctly handle LTO IR in ELF.
+
+if { !([istarget *-*-linux*]
+ || [istarget arm*-*-uclinuxfdpiceabi]
+ || [istarget *-*-nacl*]
+ || [istarget *-*-gnu*]) || [istarget *ecoff] } then {
+ return
+}
+
+# Check to see if the C and C++ compilers work
+if { ![check_compiler_available] || [which $CXX_FOR_TARGET] == 0 } {
+ return
+}
+
+# These tests require plugin and LTO.
+if { ![check_plugin_api_available]
+ || ![check_lto_available] } {
+ return
+}
+
+set lto_fat ""
+set lto_no_fat ""
+if { [check_lto_fat_available] } {
+ set lto_fat "-ffat-lto-objects"
+ set lto_no_fat "-fno-fat-lto-objects"
+ set no_lto "-fno-lto"
+}
+
+# List contains test-items:
+# 0:program name
+# 1:program options
+# 2:input file
+# 3:output file
+# 4:action list (optional)
+#
+proc run_lto_binutils_test { lto_tests } {
+ global srcdir
+ global subdir
+ global nm
+ global objcopy
+ global objdump
+ global READELF
+ global strip
+ global plug_opt
+
+ foreach testitem $lto_tests {
+ set prog_name [lindex $testitem 0]
+ set prog_options [lindex $testitem 1]
+ set input tmpdir/[lindex $testitem 2]
+ set output tmpdir/[lindex $testitem 3]
+ set actions [lindex $testitem 4]
+ set objfiles {}
+ set is_unresolved 0
+ set failed 0
+
+# eval set prog \$$prog_name
+ switch -- $prog_name {
+ objcopy
+ {
+ set prog $objcopy
+ set prog_output "$output"
+ }
+ strip
+ {
+ set prog $strip
+ set prog_output "-o $output"
+ }
+ default
+ {
+ perror "Unrecognized action $action"
+ set is_unresolved 1
+ break
+ }
+ }
+
+ # Don't leave previous output around
+ if { $output ne "tmpdir/" } {
+ remote_file host delete $output
+ }
+
+ append prog_options " $plug_opt"
+
+ set cmd_options "$prog_options $prog_output $input"
+ set test_name "$prog_name $cmd_options"
+
+ set cmd "$prog $cmd_options"
+ send_log "$cmd\n"
+ set got [remote_exec host "$cmd"]
+ if { [lindex $got 0] != 0 || ![string match "" [lindex $got 1]] } then {
+ send_log "$got\n"
+ fail "$test_name"
+ continue
+ }
+
+ if { $failed == 0 } {
+ foreach actionlist $actions {
+ set action [lindex $actionlist 0]
+ set progopts [lindex $actionlist 1]
+
+ # There are actions where we run regexp_diff on the
+ # output, and there are other actions (presumably).
+ # Handling of the former look the same.
+ set dump_prog ""
+ switch -- $action {
+ objdump
+ { set dump_prog $objdump }
+ nm
+ { set dump_prog $nm }
+ readelf
+ { set dump_prog $READELF }
+ default
+ {
+ perror "Unrecognized action $action"
+ set is_unresolved 1
+ break
+ }
+ }
+
+ if { $dump_prog != "" } {
+ set dumpfile [lindex $actionlist 2]
+ set binary $dump_prog
+
+ # Ensure consistent sorting of symbols
+ if {[info exists env(LC_ALL)]} {
+ set old_lc_all $env(LC_ALL)
+ }
+ set env(LC_ALL) "C"
+ set cmd "$binary $progopts $output > tmpdir/dump.out"
+ send_log "$cmd\n"
+ catch "exec $cmd" comp_output
+ if {[info exists old_lc_all]} {
+ set env(LC_ALL) $old_lc_all
+ } else {
+ unset env(LC_ALL)
+ }
+ set comp_output [prune_warnings $comp_output]
+
+ if ![string match "" $comp_output] then {
+ send_log "$comp_output\n"
+ set failed 1
+ break
+ }
+
+ if { [regexp_diff "tmpdir/dump.out" "$srcdir/$subdir/$dumpfile"] } then {
+ verbose -log "output is [file_contents "tmpdir/dump.out"]" 2
+ set failed 1
+ break
+ }
+ }
+ }
+ }
+
+ if { $failed } {
+ fail $test_name
+ } elseif { $is_unresolved } {
+ unresolved $test_name
+ } else {
+ pass $test_name
+ }
+ }
+}
+
+run_cc_link_tests [list \
+ [list \
+ "Build strip-1a.o" \
+ "" \
+ "-O2 -flto $lto_no_fat" \
+ { strip-1a.c } \
+ ] \
+ [list \
+ "Build libstrip-1a.a" \
+ "$plug_opt" \
+ "-O2 -flto $lto_no_fat" \
+ { strip-1a.c } \
+ {} \
+ "libstrip-1a.a" \
+ ] \
+ [list \
+ "Build strip-1a-fat.o" \
+ "" \
+ "-O2 -flto $lto_fat" \
+ { strip-1a-fat.c } \
+ ] \
+ [list \
+ "Build libstrip-1a-fat.a" \
+ "$plug_opt" \
+ "-O2 -flto $lto_fat" \
+ { strip-1a-fat.c } \
+ {} \
+ "libstrip-1a-fat.a" \
+ ] \
+]
+
+run_lto_binutils_test [list \
+ [list \
+ "strip" \
+ "--strip-unneeded" \
+ "libstrip-1a.a" \
+ "libstrip-1a-s.a" \
+ ] \
+ [list \
+ "strip" \
+ "--strip-unneeded" \
+ "strip-1a.o" \
+ "strip-1a-s.o" \
+ ] \
+ [list \
+ "strip" \
+ "--strip-unneeded -R .gnu.*lto_* -N __gnu_lto_v1" \
+ "libstrip-1a-fat.a" \
+ "libstrip-1a-fat-s.a" \
+ {{readelf -SW strip-1a-fat.rd}} \
+ ] \
+ [list \
+ "strip" \
+ "--strip-unneeded -R .gnu.*lto_* -N __gnu_lto_v1" \
+ "strip-1a-fat.o" \
+ "strip-1a-fat-s.o" \
+ {{readelf -SW strip-1a-fat.rd}} \
+ ] \
+ [list \
+ "strip" \
+ "--strip-unneeded -R .gnu.debuglto_*" \
+ "libstrip-1a-fat.a" \
+ "libstrip-1b-fat-s.a" \
+ {{readelf -SW strip-1b-fat.rd}} \
+ ] \
+ [list \
+ "strip" \
+ "--strip-unneeded -R .gnu.debuglto_*" \
+ "strip-1a-fat.o" \
+ "strip-1b-fat-s.o" \
+ {{readelf -SW strip-1b-fat.rd}} \
+ ] \
+]
+
+if { [check_lto_fat_available] } {
+ run_lto_binutils_test [list \
+ [list \
+ "strip" \
+ "-R .gnu.*lto_* -N __gnu_lto_v1" \
+ "strip-1a.o" \
+ "strip-1a-s-all.o" \
+ {{nm -n strip-1a-s-all.nd}} \
+ ] \
+ [list \
+ "strip" \
+ "-R .gnu.*lto_* -N __gnu_lto_v1" \
+ "libstrip-1a.a" \
+ "libstrip-1a-s-all.a" \
+ {{nm -n strip-1a-s-all.nd}} \
+ ] \
+ ]
+}
+
+run_cc_link_tests [list \
+ [list \
+ "Build strip-1a (strip-1a.o)" \
+ "" \
+ "-O2 -flto $lto_no_fat" \
+ { strip-1b.c } \
+ {} \
+ "libstrip-1a" \
+ "C" \
+ "tmpdir/strip-1a.o" \
+ ] \
+ [list \
+ "Build strip-1b (strip-1a-s.o)" \
+ "" \
+ "-O2 -flto $lto_no_fat" \
+ { strip-1b.c } \
+ {} \
+ "libstrip-1b" \
+ "C" \
+ "tmpdir/strip-1a-s.o" \
+ ] \
+ [list \
+ "Build strip-1c (libstrip-1a.a)" \
+ "" \
+ "-O2 -flto $lto_no_fat" \
+ { strip-1b.c } \
+ {} \
+ "libstrip-1c" \
+ "C" \
+ "tmpdir/libstrip-1a.a" \
+ ] \
+ [list \
+ "Build strip-1d (libstrip-1a-s.a)" \
+ "" \
+ "-O2 -flto $lto_no_fat" \
+ { strip-1b.c } \
+ {} \
+ "libstrip-1d" \
+ "C" \
+ "tmpdir/libstrip-1a-s.a" \
+ ] \
+ [list \
+ "Build strip-1e (strip-1a-fat-s.o)" \
+ "" \
+ "-O2 -flto $lto_fat" \
+ { strip-1b-fat.c } \
+ {} \
+ "libstrip-1e" \
+ "C" \
+ "tmpdir/strip-1a-fat-s.o" \
+ ] \
+ [list \
+ "Build strip-1f (libstrip-1a-fat-s.a)" \
+ "" \
+ "-O2 -flto $lto_fat" \
+ { strip-1b-fat.c } \
+ {} \
+ "libstrip-1f" \
+ "C" \
+ "tmpdir/libstrip-1a-fat-s.a" \
+ ] \
+ [list \
+ "Build strip-1g (strip-1b-fat-s.o)" \
+ "" \
+ "-O2 -flto $lto_fat" \
+ { strip-1b-fat.c } \
+ {} \
+ "libstrip-1g" \
+ "C" \
+ "tmpdir/strip-1b-fat-s.o" \
+ ] \
+ [list \
+ "Build strip-1h (libstrip-1b-fat-s.a)" \
+ "" \
+ "-O2 -flto $lto_fat" \
+ { strip-1b-fat.c } \
+ {} \
+ "libstrip-1h" \
+ "C" \
+ "tmpdir/libstrip-1b-fat-s.a" \
+ ] \
+]
diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp
index 726dd93..f0d0954 100644
--- a/ld/testsuite/ld-plugin/lto.exp
+++ b/ld/testsuite/ld-plugin/lto.exp
@@ -1158,9 +1158,8 @@ remote_exec host "mv" "tmpdir/dump tmpdir/lto-5.o"
run_dump_test "lto-10r"
remote_exec host "mv" "tmpdir/dump tmpdir/lto-10.o"
set testname "nm mixed object"
-set lto_plugin [string trim [run_host_cmd "$CC_FOR_TARGET" "-print-prog-name=liblto_plugin.so"]]
-if { [ regexp "liblto_plugin.so" $lto_plugin ] } {
- set exec_output [run_host_cmd "$NM" "--plugin $lto_plugin tmpdir/lto-10.o"]
+if { $plug_opt != "" } {
+ set exec_output [run_host_cmd "$NM" "$plug_opt tmpdir/lto-10.o"]
if { [ regexp "(D|T) main" $exec_output ] } {
pass $testname
} else {
@@ -1215,24 +1214,24 @@ if { [is_elf_format] && [check_lto_shared_available] } {
if { [check_lto_fat_available] } {
run_cc_link_tests [list \
[list \
- "Build libpr32846a.a" \
- "$plug_opt" "-O2 -flto $lto_no_fat" \
- {pr32846a.c pr32846b.c} {} "libpr32846a.a" \
+ "Build libpr32846a.a" \
+ "$plug_opt" "-fPIC -O2 -flto $lto_no_fat" \
+ {pr32846a.c pr32846b.c} {} "libpr32846a.a" \
] \
[list \
"Build libpr32846b.a" \
- "$plug_opt" "-O2 -flto $lto_no_fat" \
+ "$plug_opt" "-fPIC -O2 -flto $lto_no_fat" \
{pr32846a.c pr32846b.c pr32846c.c} {} "libpr32846b.a" \
] \
[list \
- "Build pr32846d.o" \
- "$plug_opt" "-O2 -flto $lto_no_fat" \
- {pr32846d.c} {} \
+ "Build pr32846d.o" \
+ "$plug_opt" "-fPIC -O2 -flto $lto_no_fat" \
+ {pr32846d.c} {} \
] \
[list \
- "Build pr32846e.o" \
- "$plug_opt" "-O2 -flto $lto_no_fat" \
- {pr32846e.c} {} \
+ "Build pr32846e.o" \
+ "$plug_opt" "-fPIC -O2 -flto $lto_no_fat" \
+ {pr32846e.c} {} \
] \
[list \
"Build pr32846" \
diff --git a/ld/testsuite/ld-plugin/pr25618a.h b/ld/testsuite/ld-plugin/pr25618a.h
index 9bf857c..04be194 100644
--- a/ld/testsuite/ld-plugin/pr25618a.h
+++ b/ld/testsuite/ld-plugin/pr25618a.h
@@ -1,2 +1 @@
-#pragma once
__attribute__((visibility("default"))) int bar();
diff --git a/ld/testsuite/ld-plugin/pr25618b.h b/ld/testsuite/ld-plugin/pr25618b.h
index cd80074..65e72a0 100644
--- a/ld/testsuite/ld-plugin/pr25618b.h
+++ b/ld/testsuite/ld-plugin/pr25618b.h
@@ -1,2 +1 @@
-#pragma once
__attribute__((visibility("default"))) int foo();
diff --git a/ld/testsuite/ld-plugin/strip-1a-fat.c b/ld/testsuite/ld-plugin/strip-1a-fat.c
new file mode 100644
index 0000000..03b2a5c
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1a-fat.c
@@ -0,0 +1 @@
+#include "strip-1a.c"
diff --git a/ld/testsuite/ld-plugin/strip-1a-fat.rd b/ld/testsuite/ld-plugin/strip-1a-fat.rd
new file mode 100644
index 0000000..aefe1c5
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1a-fat.rd
@@ -0,0 +1,6 @@
+#failif
+#...
+Section Headers:
+#...
+ \[[ 0-9]+\] \.gnu.lto_.*
+#...
diff --git a/ld/testsuite/ld-plugin/strip-1a-s-all.nd b/ld/testsuite/ld-plugin/strip-1a-s-all.nd
new file mode 100644
index 0000000..612ba6a
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1a-s-all.nd
@@ -0,0 +1,3 @@
+#...
+[0-9a-f]* C _?__gnu_lto_slim
+#pass
diff --git a/ld/testsuite/ld-plugin/strip-1a.c b/ld/testsuite/ld-plugin/strip-1a.c
new file mode 100644
index 0000000..d84af20
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1a.c
@@ -0,0 +1,4 @@
+extern void foo2(void);
+extern void foo3(void);
+void foo1(void) { foo3(); }
+int main(void) { foo2(); }
diff --git a/ld/testsuite/ld-plugin/strip-1b-fat.c b/ld/testsuite/ld-plugin/strip-1b-fat.c
new file mode 100644
index 0000000..1a2e4d2
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1b-fat.c
@@ -0,0 +1 @@
+#include "strip-1b.c"
diff --git a/ld/testsuite/ld-plugin/strip-1b-fat.rd b/ld/testsuite/ld-plugin/strip-1b-fat.rd
new file mode 100644
index 0000000..e3a266f
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1b-fat.rd
@@ -0,0 +1,5 @@
+#...
+Section Headers:
+#...
+ \[[ 0-9]+\] \.gnu.lto_.*
+#pass
diff --git a/ld/testsuite/ld-plugin/strip-1b.c b/ld/testsuite/ld-plugin/strip-1b.c
new file mode 100644
index 0000000..967872a
--- /dev/null
+++ b/ld/testsuite/ld-plugin/strip-1b.c
@@ -0,0 +1,3 @@
+extern void foo1(void);
+void foo2(void) { foo1(); }
+void foo3(void) {}
diff --git a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
index 9cb847d..e103df6 100644
--- a/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
+++ b/ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp
@@ -227,6 +227,14 @@ if [istarget "riscv*-*-*"] {
run_dump_test "data-reloc-rv64-addr32-pic"
run_dump_test "data-reloc-rv64-undef32-pic"
+ run_dump_test "property-zicfilp-unlabeled"
+ run_dump_test "property-zicfiss"
+ run_dump_test "property-combine-and-1"
+ run_dump_test "property-combine-and-2"
+ run_dump_test "property-combine-and-3"
+
+ run_dump_test "zicfilp-unlabeled-plt"
+
# IFUNC testcases.
# Check IFUNC by single type relocs.
run_dump_test_ifunc "ifunc-reloc-call-01" rv32 exe
diff --git a/ld/testsuite/ld-riscv-elf/property-combine-and-1.d b/ld/testsuite/ld-riscv-elf/property-combine-and-1.d
new file mode 100644
index 0000000..571620f
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-combine-and-1.d
@@ -0,0 +1,6 @@
+#name: RISC-V GNU Property (multiple inputs, combine section) - 1
+#source: property1.s
+#source: property2.s
+#as: -march=rv64g
+#ld: -shared -melf64lriscv
+#readelf: -n
diff --git a/ld/testsuite/ld-riscv-elf/property-combine-and-2.d b/ld/testsuite/ld-riscv-elf/property-combine-and-2.d
new file mode 100644
index 0000000..23482af
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-combine-and-2.d
@@ -0,0 +1,11 @@
+#name: RISC-V GNU Property (multiple inputs, combine section) - 2
+#source: property1.s
+#source: property3.s
+#as: -march=rv64g
+#ld: -shared -melf64lriscv
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x00000010[ ]+NT_GNU_PROPERTY_TYPE_0
+[ ]+Properties: RISC-V AND feature: CFI_LP_UNLABELED
diff --git a/ld/testsuite/ld-riscv-elf/property-combine-and-3.d b/ld/testsuite/ld-riscv-elf/property-combine-and-3.d
new file mode 100644
index 0000000..b57a0f7
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-combine-and-3.d
@@ -0,0 +1,11 @@
+#name: RISC-V GNU Property (multiple inputs, combine section) - 3
+#source: property1.s
+#source: property4.s
+#as: -march=rv64g
+#ld: -shared -melf64lriscv
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x00000010[ ]+NT_GNU_PROPERTY_TYPE_0
+[ ]+Properties: RISC-V AND feature: CFI_SS
diff --git a/ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.d b/ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.d
new file mode 100644
index 0000000..48d60d6
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.d
@@ -0,0 +1,10 @@
+#name: GNU Property (single input, CFI_LP_UNLABELED)
+#source: property-zicfilp-unlabeled.s
+#as: -march=rv64g
+#ld: -shared -melf64lriscv
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x00000010[ ]+NT_GNU_PROPERTY_TYPE_0
+[ ]+Properties: RISC-V AND feature: CFI_LP_UNLABELED
diff --git a/ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.s b/ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.s
new file mode 100644
index 0000000..b0192c0
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-zicfilp-unlabeled.s
@@ -0,0 +1,21 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ ret
+
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x1 /* GNU_PROPERTY_RISCV_FEATURE_1_CFI_LP_UNLABELED. */
+4:
+ .p2align 3
+5:
diff --git a/ld/testsuite/ld-riscv-elf/property-zicfiss.d b/ld/testsuite/ld-riscv-elf/property-zicfiss.d
new file mode 100644
index 0000000..0dec1a1
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-zicfiss.d
@@ -0,0 +1,10 @@
+#name: GNU Property (single input, CFI_SS)
+#source: property-zicfiss.s
+#as: -march=rv64g
+#ld: -shared -melf64lriscv
+#readelf: -n
+
+Displaying notes found in: .note.gnu.property
+[ ]+Owner[ ]+Data size[ ]+Description
+[ ]+GNU[ ]+0x00000010[ ]+NT_GNU_PROPERTY_TYPE_0
+[ ]+Properties: RISC-V AND feature: CFI_SS
diff --git a/ld/testsuite/ld-riscv-elf/property-zicfiss.s b/ld/testsuite/ld-riscv-elf/property-zicfiss.s
new file mode 100644
index 0000000..21342ef
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property-zicfiss.s
@@ -0,0 +1,21 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ ret
+
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x2 /* GNU_PROPERTY_RISCV_FEATURE_1_CFI_SS. */
+4:
+ .p2align 3
+5:
diff --git a/ld/testsuite/ld-riscv-elf/property1.s b/ld/testsuite/ld-riscv-elf/property1.s
new file mode 100644
index 0000000..622bbcb
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property1.s
@@ -0,0 +1,21 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ ret
+
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x3 /* CFI_LP_UNLABELED and CFI_SS. */
+4:
+ .p2align 3
+5:
diff --git a/ld/testsuite/ld-riscv-elf/property2.s b/ld/testsuite/ld-riscv-elf/property2.s
new file mode 100644
index 0000000..4d1610c
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property2.s
@@ -0,0 +1,5 @@
+ .text
+ .globl foo
+ .type foo,@function
+foo:
+ ret
diff --git a/ld/testsuite/ld-riscv-elf/property3.s b/ld/testsuite/ld-riscv-elf/property3.s
new file mode 100644
index 0000000..61518fb
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property3.s
@@ -0,0 +1,21 @@
+ .text
+ .globl _start
+ .type _start,@function
+bar:
+ ret
+
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x1 /* CFI_LP_UNLABELED. */
+4:
+ .p2align 3
+5:
diff --git a/ld/testsuite/ld-riscv-elf/property4.s b/ld/testsuite/ld-riscv-elf/property4.s
new file mode 100644
index 0000000..54098a5
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/property4.s
@@ -0,0 +1,21 @@
+ .text
+ .globl _start
+ .type _start,@function
+zoo:
+ ret
+
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x2 /* CFI_LP_SS. */
+4:
+ .p2align 3
+5:
diff --git a/ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.d b/ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.d
new file mode 100644
index 0000000..bb888d1
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.d
@@ -0,0 +1,35 @@
+#name: Unlabled landing pad PLT
+#source: zicfilp-unlabeled-plt.s
+#ld: -shared -melf64lriscv
+#objdump: -dr -j .plt
+#as: -march=rv64gc_zicfilp
+
+[^:]*: *file format elf64-.*riscv
+
+Disassembly of section \.plt:
+
+[0-9a-f]+ <\.plt>:
+.*:[ ]+[0-9a-f]+[ ]+lpad[ ]+0x0
+.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+t2,0x[0-9a-f]+
+.*:[ ]+[0-9a-f]+[ ]+sub[ ]+t1,t1,t3
+.*:[ ]+[0-9a-f]+[ ]+ld[ ]+t3,[0-9]+\(t2\) # [0-9a-f]+ <\.got\.plt>
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+t1,t1,-64
+.*:[ ]+[0-9a-f]+[ ]+addi[ ]+t0,t2,[0-9]+
+.*:[ ]+[0-9a-f]+[ ]+srli[ ]+t1,t1,0x1
+.*:[ ]+[0-9a-f]+[ ]+ld[ ]+t0,8\(t0\)
+.*:[ ]+[0-9a-f]+[ ]+jr[ ]+t3
+.*:[ ]+[0-9a-f]+[ ]+nop
+.*:[ ]+[0-9a-f]+[ ]+nop
+.*:[ ]+[0-9a-f]+[ ]+nop
+
+[0-9a-f]+ <foo@plt>:
+.*:[ ]+[0-9a-f]+[ ]+lpad[ ]+0x0
+.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+t3,0x[0-9a-f]+
+.*:[ ]+[0-9a-f]+[ ]+ld[ ]+t3,[0-9]+\(t3\) # [0-9a-f]+ <foo>
+.*:[ ]+[0-9a-f]+[ ]+jalr[ ]+t1,t3
+
+[0-9a-f]+ <bar@plt>:
+.*:[ ]+[0-9a-f]+[ ]+lpad[ ]+0x0
+.*:[ ]+[0-9a-f]+[ ]+auipc[ ]+t3,0x1
+.*:[ ]+[0-9a-f]+[ ]+ld[ ]+t3,[0-9]+\(t3\) # [0-9a-f]+ <bar>
+.*:[ ]+[0-9a-f]+[ ]+jalr[ ]+t1,t3
diff --git a/ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.s b/ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.s
new file mode 100644
index 0000000..628fca8
--- /dev/null
+++ b/ld/testsuite/ld-riscv-elf/zicfilp-unlabeled-plt.s
@@ -0,0 +1,21 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ call foo
+ call bar
+ .section ".note.gnu.property", "a"
+ .p2align 3
+ .long 1f - 0f /* name length */
+ .long 5f - 2f /* data length */
+ .long 5 /* note type */
+0: .asciz "GNU" /* vendor name */
+1:
+ .p2align 3
+2: .long 0xc0000000 /* pr_type. */
+ .long 4f - 3f /* pr_datasz. */
+3:
+ .long 0x1 /* CFI_LP. */
+4:
+ .p2align 3
+5:
diff --git a/ld/testsuite/ld-s390/pr32969_64-1.dd b/ld/testsuite/ld-s390/pr32969_64-1.dd
new file mode 100644
index 0000000..fce262f
--- /dev/null
+++ b/ld/testsuite/ld-s390/pr32969_64-1.dd
@@ -0,0 +1,15 @@
+tmpdir/pr32969_64-1: file format elf64-s390
+
+Disassembly of section .text:
+
+.* <_start>:
+.*: c0 10 00 00 00 0e [ ]*larl %r1,10000cc <foo>
+.*: c4 18 00 00 08 1d [ ]*lgrl %r1,10010f0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+
+.* <b>:
+.*: c4 18 00 00 08 1a [ ]*lgrl %r1,10010f0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+#?.* 07 07 [ ]*nopr %r7
+
+.* <c>:
+.* c4 18 00 00 08 16 [ ]*lgrl %r1,10010f0 <_GLOBAL_OFFSET_TABLE_\+0x20>
+#?.* 07 07 [ ]*nopr %r7
diff --git a/ld/testsuite/ld-s390/pr32969_64-2.dd b/ld/testsuite/ld-s390/pr32969_64-2.dd
new file mode 100644
index 0000000..88c770e
--- /dev/null
+++ b/ld/testsuite/ld-s390/pr32969_64-2.dd
@@ -0,0 +1,15 @@
+tmpdir/pr32969_64-2: file format elf64-s390
+
+Disassembly of section .text:
+
+.* <_start>:
+.*: c0 10 00 00 00 0e [ ]*larl %r1,10000cc <foo>
+.*: c0 10 00 00 00 0c [ ]*larl %r1,10000ce <bar>
+
+.* <c>:
+.*: c0 10 00 00 00 09 [ ]*larl %r1,10000ce <bar>
+#?.* 07 07 [ ]*nopr %r7
+
+.* <b>:
+.* c0 10 00 00 00 05 [ ]*larl %r1,10000ce <bar>
+#?.* 07 07 [ ]*nopr %r7
diff --git a/ld/testsuite/ld-s390/pr32969a.s b/ld/testsuite/ld-s390/pr32969a.s
new file mode 100644
index 0000000..baee6ca
--- /dev/null
+++ b/ld/testsuite/ld-s390/pr32969a.s
@@ -0,0 +1,14 @@
+ .text
+ .globl _start
+ .type _start,@function
+_start:
+ lgrl %r1,foo@GOTENT
+ lgrl %r1,bar@GOTENT
+
+ .section .rodata,"a",@progbits
+ .align 1
+ .globl foo
+ .type foo,@object
+foo:
+ .byte 0xa
+ .size foo, .-foo
diff --git a/ld/testsuite/ld-s390/pr32969b.s b/ld/testsuite/ld-s390/pr32969b.s
new file mode 100644
index 0000000..54ee369
--- /dev/null
+++ b/ld/testsuite/ld-s390/pr32969b.s
@@ -0,0 +1,10 @@
+b:
+ lgrl %r1,bar@GOTENT
+
+ .section .rodata,"aG",@progbits,bar_group,comdat
+ .align 1
+ .globl bar
+ .type bar,@object
+bar:
+ .byte 0xb
+ .size bar, .-bar
diff --git a/ld/testsuite/ld-s390/pr32969c.s b/ld/testsuite/ld-s390/pr32969c.s
new file mode 100644
index 0000000..02cf584
--- /dev/null
+++ b/ld/testsuite/ld-s390/pr32969c.s
@@ -0,0 +1,10 @@
+c:
+ lgrl %r1,bar@GOTENT
+
+ .section .rodata,"aG",@progbits,bar_group,comdat
+ .align 2
+ .globl bar
+ .type bar,@object
+bar:
+ .byte 0xc
+ .size bar, .-bar
diff --git a/ld/testsuite/ld-s390/s390.exp b/ld/testsuite/ld-s390/s390.exp
index d91eeac..aaba88d 100644
--- a/ld/testsuite/ld-s390/s390.exp
+++ b/ld/testsuite/ld-s390/s390.exp
@@ -125,6 +125,14 @@ set s390xtests {
"-m elf64_s390 tmpdir/libpltlib_64.so" "" "-m64" {plt_64-1.s}
{{objdump "-dzrj.plt" plt_64-1.pd} {readelf "-wf" plt_64-1_eh.wf}}
"plt_64-1_eh"}
+ {"PR32969-1: do not rewrite load of misaligned COMDAT symbol address"
+ "-m elf64_s390" "" "-m64" {pr32969a.s pr32969b.s pr32969c.s}
+ {{objdump "-dzrj.text" pr32969_64-1.dd}}
+ "pr32969_64-1"}
+ {"PR32969-2: rewrite load of aligned COMDAT symbol address"
+ "-m elf64_s390" "" "-m64" {pr32969a.s pr32969c.s pr32969b.s}
+ {{objdump "-dzrj.text" pr32969_64-2.dd}}
+ "pr32969_64-2"}
}
if [istarget "s390-*-*"] {
diff --git a/ld/testsuite/ld-tic6x/discard-unwind.ld b/ld/testsuite/ld-tic6x/discard-unwind.ld
index 00582c1..172e2a8 100644
--- a/ld/testsuite/ld-tic6x/discard-unwind.ld
+++ b/ld/testsuite/ld-tic6x/discard-unwind.ld
@@ -11,5 +11,5 @@ SECTIONS
*(.c6xabi.extab*)
} =0
/DISCARD/ : { *(.c6xabi.exidx*) }
- .c6xabi.attribues 0 : { *(.c6xabi.atttributes) }
+ .c6xabi.attributes 0 : { *(.c6xabi.attributes) }
}
diff --git a/ld/testsuite/ld-tic6x/unwind.ld b/ld/testsuite/ld-tic6x/unwind.ld
index a4f8722..01ba9b6 100644
--- a/ld/testsuite/ld-tic6x/unwind.ld
+++ b/ld/testsuite/ld-tic6x/unwind.ld
@@ -16,5 +16,5 @@ SECTIONS
.got : { *(.got) *(.got.plt)}
. = 0x12340000;
.far : { *(.far) }
- .c6xabi.attribues 0 : { *(.c6xabi.atttributes) }
+ .c6xabi.attributes 0 : { *(.c6xabi.attributes) }
}
diff --git a/ld/testsuite/ld-x86-64/dwarf4.s b/ld/testsuite/ld-x86-64/dwarf4.s
new file mode 100644
index 0000000..7f1a90d
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/dwarf4.s
@@ -0,0 +1,346 @@
+/* Assembly outputs of
+
+extern void bar();
+
+void foo(int p) {
+ int local = p;
+ bar();
+ local = 123;
+ bar();
+ local = 456;
+}
+
+compiled by GCC 14.2.1 with -O2 -g -dA -gdwarf-4. */
+
+ .file "dwarf4.c"
+ .text
+.Ltext0:
+ .file 1 "dwarf4.c"
+ .p2align 4
+ .globl foo
+ .type foo, @function
+foo:
+.LVL0:
+ # DEBUG p => di
+.LFB0:
+ # dwarf4.c:3:17
+ .loc 1 3 17 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf4.c:4:3
+ .loc 1 4 3 view .LVU1
+ # DEBUG local => di
+ # dwarf4.c:5:3
+ .loc 1 5 3 view .LVU2
+ # dwarf4.c:3:17
+ .loc 1 3 17 is_stmt 0 view .LVU3
+ subq $8, %rsp
+ .cfi_def_cfa_offset 16
+ # dwarf4.c:5:3
+ .loc 1 5 3 view .LVU4
+ xorl %eax, %eax
+ call bar
+.LVL1:
+ # DEBUG local => entry_value#0
+ # DEBUG p => entry_value#0
+ # dwarf4.c:6:3
+ .loc 1 6 3 is_stmt 1 view .LVU5
+ # DEBUG local => 0x7b
+ # dwarf4.c:7:3
+ .loc 1 7 3 view .LVU6
+ xorl %eax, %eax
+ # dwarf4.c:9:1
+ .loc 1 9 1 is_stmt 0 view .LVU7
+ addq $8, %rsp
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:1073741824 (estimated locally, freq 1.0000) (ABNORMAL,SIBCALL)
+ # dwarf4.c:7:3
+ .loc 1 7 3 view .LVU8
+ jmp bar
+.LVL2:
+ .cfi_endproc
+.LFE0:
+ .size foo, .-foo
+.Letext0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0x9e # Length of Compilation Unit Info
+ .value 0x4 # DWARF version number
+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
+ .byte 0x8 # Pointer Size (in bytes)
+ .uleb128 0x1 # (DIE (0xb) DW_TAG_compile_unit)
+ .long .LASF0 # DW_AT_producer: "GNU C17 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee] -mtune=generic -march=x86-64 -g -gdwarf-4 -O2"
+ .byte 0xc # DW_AT_language
+ .long .LASF1 # DW_AT_name: "dwarf4.c"
+ .long .LASF2 # DW_AT_comp_dir: "."
+ .quad .Ltext0 # DW_AT_low_pc
+ .quad .Letext0-.Ltext0 # DW_AT_high_pc
+ .long .Ldebug_line0 # DW_AT_stmt_list
+ .uleb128 0x2 # (DIE (0x2d) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "bar\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (dwarf4.c)
+ .byte 0x1 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ # DW_AT_declaration
+ .long 0x3b # DW_AT_sibling
+ .uleb128 0x3 # (DIE (0x39) DW_TAG_unspecified_parameters)
+ .byte 0 # end of children of DIE 0x2d
+ .uleb128 0x4 # (DIE (0x3b) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "foo\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (dwarf4.c)
+ .byte 0x3 # DW_AT_decl_line
+ .byte 0x6 # DW_AT_decl_column
+ # DW_AT_prototyped
+ .quad .LFB0 # DW_AT_low_pc
+ .quad .LFE0-.LFB0 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .long 0x9a # DW_AT_sibling
+ .uleb128 0x5 # (DIE (0x59) DW_TAG_formal_parameter)
+ .ascii "p\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (dwarf4.c)
+ .byte 0x3 # DW_AT_decl_line
+ .byte 0xe # DW_AT_decl_column
+ .long 0x9a # DW_AT_type
+ .long .LLST0 # DW_AT_location
+ .long .LVUS0 # DW_AT_GNU_locviews
+ .uleb128 0x6 # (DIE (0x6b) DW_TAG_variable)
+ .long .LASF3 # DW_AT_name: "local"
+ .byte 0x1 # DW_AT_decl_file (dwarf4.c)
+ .byte 0x4 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x9a # DW_AT_type
+ .long .LLST1 # DW_AT_location
+ .long .LVUS1 # DW_AT_GNU_locviews
+ .uleb128 0x7 # (DIE (0x7f) DW_TAG_GNU_call_site)
+ .quad .LVL1 # DW_AT_low_pc
+ .long 0x2d # DW_AT_abstract_origin
+ .uleb128 0x8 # (DIE (0x8c) DW_TAG_GNU_call_site)
+ .quad .LVL2 # DW_AT_low_pc
+ # DW_AT_GNU_tail_call
+ .long 0x2d # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x3b
+ .uleb128 0x9 # (DIE (0x9a) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .ascii "int\0" # DW_AT_name
+ .byte 0 # end of children of DIE 0xb
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1 # (abbrev code)
+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x25 # (DW_AT_producer)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x13 # (DW_AT_language)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x1b # (DW_AT_comp_dir)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x10 # (DW_AT_stmt_list)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x2 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x3 # (abbrev code)
+ .uleb128 0x18 # (TAG: DW_TAG_unspecified_parameters)
+ .byte 0 # DW_children_no
+ .byte 0
+ .byte 0
+ .uleb128 0x4 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x27 # (DW_AT_prototyped)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x6 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x7 # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0 # DW_children_no
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x8 # (abbrev code)
+ .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
+ .byte 0 # DW_children_no
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x2115 # (DW_AT_GNU_tail_call)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x31 # (DW_AT_abstract_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x9 # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_loc,"",@progbits
+.Ldebug_loc0:
+.LVUS0:
+ .uleb128 0 # View list begin (*.LVUS0)
+ .uleb128 .LVU5 # View list end (*.LVUS0)
+ .uleb128 .LVU5 # View list begin (*.LVUS0)
+ .uleb128 0 # View list end (*.LVUS0)
+.LLST0:
+ .quad .LVL0-.Ltext0 # Location list begin address (*.LLST0)
+ .quad .LVL1-1-.Ltext0 # Location list end address (*.LLST0)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad .LVL1-1-.Ltext0 # Location list begin address (*.LLST0)
+ .quad .LFE0-.Ltext0 # Location list end address (*.LLST0)
+ .value 0x4 # Location expression size
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST0)
+ .quad 0 # Location list terminator end (*.LLST0)
+.LVUS1:
+ .uleb128 .LVU2 # View list begin (*.LVUS1)
+ .uleb128 .LVU5 # View list end (*.LVUS1)
+ .uleb128 .LVU5 # View list begin (*.LVUS1)
+ .uleb128 .LVU6 # View list end (*.LVUS1)
+ .uleb128 .LVU6 # View list begin (*.LVUS1)
+ .uleb128 0 # View list end (*.LVUS1)
+.LLST1:
+ .quad .LVL0-.Ltext0 # Location list begin address (*.LLST1)
+ .quad .LVL1-1-.Ltext0 # Location list end address (*.LLST1)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad .LVL1-1-.Ltext0 # Location list begin address (*.LLST1)
+ .quad .LVL1-.Ltext0 # Location list end address (*.LLST1)
+ .value 0x4 # Location expression size
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .quad .LVL1-.Ltext0 # Location list begin address (*.LLST1)
+ .quad .LFE0-.Ltext0 # Location list end address (*.LLST1)
+ .value 0x3 # Location expression size
+ .byte 0x8 # DW_OP_const1u
+ .byte 0x7b
+ .byte 0x9f # DW_OP_stack_value
+ .quad 0 # Location list terminator begin (*.LLST1)
+ .quad 0 # Location list terminator end (*.LLST1)
+ .section .debug_aranges,"",@progbits
+ .long 0x2c # Length of Address Ranges Info
+ .value 0x2 # DWARF aranges version
+ .long .Ldebug_info0 # Offset of Compilation Unit Info
+ .byte 0x8 # Size of Address
+ .byte 0 # Size of Segment Descriptor
+ .value 0 # Pad to 16 byte boundary
+ .value 0
+ .quad .Ltext0 # Address
+ .quad .Letext0-.Ltext0 # Length
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF0:
+ .string "GNU C17 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee] -mtune=generic -march=x86-64 -g -gdwarf-4 -O2"
+.LASF1:
+ .string "dwarf4.c"
+.LASF3:
+ .string "local"
+.LASF2:
+ .string "."
+ .ident "GCC: (GNU) 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee]"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-x86-64/dwarf5a.s b/ld/testsuite/ld-x86-64/dwarf5a.s
new file mode 100644
index 0000000..eefaaf4
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/dwarf5a.s
@@ -0,0 +1,400 @@
+/* Assembly outputs of
+
+extern void foo(int);
+
+int global;
+
+int main() {
+ int local = global;
+ foo(1);
+ local = 123;
+ foo(2);
+ local = 456;
+ return 0;
+}
+
+compiled by GCC 14.2.1 with -O2 -g -dA -gdwarf-5. */
+
+ .file "dwarf5a.c"
+ .text
+.Ltext0:
+ .file 0 "." "dwarf5a.c"
+ .section .text.startup,"ax",@progbits
+ .p2align 4
+ .globl main
+ .type main, @function
+main:
+.LFB0:
+ .file 1 "dwarf5a.c"
+ # dwarf5a.c:5:12
+ .loc 1 5 12 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf5a.c:6:3
+ .loc 1 6 3 view .LVU1
+.LVL0:
+ # DEBUG local => [`global']
+ # dwarf5a.c:7:3
+ .loc 1 7 3 view .LVU2
+ # dwarf5a.c:5:12
+ .loc 1 5 12 is_stmt 0 view .LVU3
+ subq $8, %rsp
+ .cfi_def_cfa_offset 16
+ # dwarf5a.c:7:3
+ .loc 1 7 3 view .LVU4
+ movl $1, %edi
+ call foo
+.LVL1:
+ # DEBUG local RESET
+ # dwarf5a.c:8:3
+ .loc 1 8 3 is_stmt 1 view .LVU5
+ # DEBUG local => 0x7b
+ # dwarf5a.c:9:3
+ .loc 1 9 3 view .LVU6
+ movl $2, %edi
+ call foo
+.LVL2:
+ # dwarf5a.c:10:3
+ .loc 1 10 3 view .LVU7
+ # DEBUG local => 0x1c8
+ # dwarf5a.c:11:3
+ .loc 1 11 3 view .LVU8
+ # dwarf5a.c:12:1
+ .loc 1 12 1 is_stmt 0 view .LVU9
+ xorl %eax, %eax
+ addq $8, %rsp
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:1073741824 (estimated locally, freq 1.0000)
+ ret
+ .cfi_endproc
+.LFE0:
+ .size main, .-main
+ .globl global
+ .bss
+ .align 4
+ .type global, @object
+ .size global, 4
+global:
+ .zero 4
+ .text
+.Letext0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0xb3 # Length of Compilation Unit Info
+ .value 0x5 # DWARF version number
+ .byte 0x1 # DW_UT_compile
+ .byte 0x8 # Pointer Size (in bytes)
+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
+ .uleb128 0x2 # (DIE (0xc) DW_TAG_compile_unit)
+ .long .LASF4 # DW_AT_producer: "GNU C17 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee] -mtune=generic -march=x86-64 -g -gdwarf-5 -O2"
+ .byte 0x1d # DW_AT_language
+ .long .LASF0 # DW_AT_name: "dwarf5a.c"
+ .long .LASF1 # DW_AT_comp_dir: "."
+ .long .LLRL1 # DW_AT_ranges
+ .quad 0 # DW_AT_low_pc
+ .long .Ldebug_line0 # DW_AT_stmt_list
+ .uleb128 0x3 # (DIE (0x2a) DW_TAG_variable)
+ .long .LASF2 # DW_AT_name: "global"
+ .byte 0x1 # DW_AT_decl_file (dwarf5a.c)
+ .byte 0x3 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long 0x40 # DW_AT_type
+ # DW_AT_external
+ .uleb128 0x9 # DW_AT_location
+ .byte 0x3 # DW_OP_addr
+ .quad global
+ .uleb128 0x4 # (DIE (0x40) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .ascii "int\0" # DW_AT_name
+ .uleb128 0x5 # (DIE (0x47) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "foo\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (dwarf5a.c)
+ .byte 0x1 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ # DW_AT_prototyped
+ # DW_AT_declaration
+ .long 0x59 # DW_AT_sibling
+ .uleb128 0x6 # (DIE (0x53) DW_TAG_formal_parameter)
+ .long 0x40 # DW_AT_type
+ .byte 0 # end of children of DIE 0x47
+ .uleb128 0x7 # (DIE (0x59) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF5 # DW_AT_name: "main"
+ .byte 0x1 # DW_AT_decl_file (dwarf5a.c)
+ .byte 0x5 # DW_AT_decl_line
+ .byte 0x5 # DW_AT_decl_column
+ .long 0x40 # DW_AT_type
+ .quad .LFB0 # DW_AT_low_pc
+ .quad .LFE0-.LFB0 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_call_all_calls
+ .uleb128 0x8 # (DIE (0x77) DW_TAG_variable)
+ .long .LASF3 # DW_AT_name: "local"
+ .byte 0x1 # DW_AT_decl_file (dwarf5a.c)
+ .byte 0x6 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x40 # DW_AT_type
+ .long .LLST0 # DW_AT_location
+ .long .LVUS0 # DW_AT_GNU_locviews
+ .uleb128 0x9 # (DIE (0x8b) DW_TAG_call_site)
+ .quad .LVL1 # DW_AT_call_return_pc
+ .long 0x47 # DW_AT_call_origin
+ .long 0xa2 # DW_AT_sibling
+ .uleb128 0x1 # (DIE (0x9c) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x1 # DW_AT_call_value
+ .byte 0x31 # DW_OP_lit1
+ .byte 0 # end of children of DIE 0x8b
+ .uleb128 0xa # (DIE (0xa2) DW_TAG_call_site)
+ .quad .LVL2 # DW_AT_call_return_pc
+ .long 0x47 # DW_AT_call_origin
+ .uleb128 0x1 # (DIE (0xaf) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x1 # DW_AT_call_value
+ .byte 0x32 # DW_OP_lit2
+ .byte 0 # end of children of DIE 0xa2
+ .byte 0 # end of children of DIE 0x59
+ .byte 0 # end of children of DIE 0xc
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1 # (abbrev code)
+ .uleb128 0x49 # (TAG: DW_TAG_call_site_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7e # (DW_AT_call_value)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x2 # (abbrev code)
+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x25 # (DW_AT_producer)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x13 # (DW_AT_language)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x1f # (DW_FORM_line_strp)
+ .uleb128 0x1b # (DW_AT_comp_dir)
+ .uleb128 0x1f # (DW_FORM_line_strp)
+ .uleb128 0x55 # (DW_AT_ranges)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x10 # (DW_AT_stmt_list)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x3 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x4 # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .byte 0
+ .byte 0
+ .uleb128 0x5 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x27 # (DW_AT_prototyped)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x7 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7a # (DW_AT_call_all_calls)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x8 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x9 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xa # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_loclists,"",@progbits
+ .long .Ldebug_loc3-.Ldebug_loc2 # Length of Location Lists
+.Ldebug_loc2:
+ .value 0x5 # DWARF version number
+ .byte 0x8 # Address Size
+ .byte 0 # Segment Size
+ .long 0 # Offset Entry Count
+.Ldebug_loc0:
+.LVUS0:
+ .uleb128 .LVU2 # View list begin (*.LVUS0)
+ .uleb128 .LVU5 # View list end (*.LVUS0)
+ .uleb128 .LVU6 # View list begin (*.LVUS0)
+ .uleb128 .LVU8 # View list end (*.LVUS0)
+ .uleb128 .LVU8 # View list begin (*.LVUS0)
+ .uleb128 0 # View list end (*.LVUS0)
+.LLST0:
+ .byte 0x6 # DW_LLE_base_address (*.LLST0)
+ .quad .LVL0 # Base address (*.LLST0)
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST0)
+ .uleb128 .LVL0-.LVL0 # Location list begin address (*.LLST0)
+ .uleb128 .LVL1-1-.LVL0 # Location list end address (*.LLST0)
+ .uleb128 0x9 # Location expression size
+ .byte 0x3 # DW_OP_addr
+ .quad global
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST0)
+ .uleb128 .LVL1-.LVL0 # Location list begin address (*.LLST0)
+ .uleb128 .LVL2-.LVL0 # Location list end address (*.LLST0)
+ .uleb128 0x3 # Location expression size
+ .byte 0x8 # DW_OP_const1u
+ .byte 0x7b
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST0)
+ .uleb128 .LVL2-.LVL0 # Location list begin address (*.LLST0)
+ .uleb128 .LFE0-.LVL0 # Location list end address (*.LLST0)
+ .uleb128 0x4 # Location expression size
+ .byte 0xa # DW_OP_const2u
+ .value 0x1c8
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST0)
+.Ldebug_loc3:
+ .section .debug_aranges,"",@progbits
+ .long 0x2c # Length of Address Ranges Info
+ .value 0x2 # DWARF aranges version
+ .long .Ldebug_info0 # Offset of Compilation Unit Info
+ .byte 0x8 # Size of Address
+ .byte 0 # Size of Segment Descriptor
+ .value 0 # Pad to 16 byte boundary
+ .value 0
+ .quad .LFB0 # Address
+ .quad .LFE0-.LFB0 # Length
+ .quad 0
+ .quad 0
+ .section .debug_rnglists,"",@progbits
+.Ldebug_ranges0:
+ .long .Ldebug_ranges3-.Ldebug_ranges2 # Length of Range Lists
+.Ldebug_ranges2:
+ .value 0x5 # DWARF version number
+ .byte 0x8 # Address Size
+ .byte 0 # Segment Size
+ .long 0 # Offset Entry Count
+.LLRL1:
+ .byte 0x7 # DW_RLE_start_length (*.LLRL1)
+ .quad .LFB0 # Range begin address (*.LLRL1)
+ .uleb128 .LFE0-.LFB0 # Range length (*.LLRL1)
+ .byte 0 # DW_RLE_end_of_list (*.LLRL1)
+.Ldebug_ranges3:
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF3:
+ .string "local"
+.LASF4:
+ .string "GNU C17 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee] -mtune=generic -march=x86-64 -g -gdwarf-5 -O2"
+.LASF2:
+ .string "global"
+.LASF5:
+ .string "main"
+ .section .debug_line_str,"MS",@progbits,1
+.LASF0:
+ .string "dwarf5a.c"
+.LASF1:
+ .string "."
+ .ident "GCC: (GNU) 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee]"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-x86-64/dwarf5b.s b/ld/testsuite/ld-x86-64/dwarf5b.s
new file mode 100644
index 0000000..4d34469
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/dwarf5b.s
@@ -0,0 +1,345 @@
+/* Assembly outputs of
+
+extern void foo(int);
+
+extern int global;
+
+void
+bar (void)
+{
+ int local = global;
+ foo(local);
+ local = 123;
+ foo(local);
+ local = 456;
+}
+
+compiled by GCC 14.2.1 with -O2 -g -dA -gdwarf-5. */
+
+ .file "dwarf5b.c"
+ .text
+.Ltext0:
+ .file 0 "." "dwarf5b.c"
+ .p2align 4
+ .globl bar
+ .type bar, @function
+bar:
+.LFB0:
+ .file 1 "dwarf5b.c"
+ # dwarf5b.c:7:1
+ .loc 1 7 1 view -0
+ .cfi_startproc
+# BLOCK 2, count:1073741824 (estimated locally) seq:0
+# PRED: ENTRY [always] count:1073741824 (estimated locally, freq 1.0000) (FALLTHRU)
+ # dwarf5b.c:8:3
+ .loc 1 8 3 view .LVU1
+.LVL0:
+ # DEBUG local => [`global']
+ # dwarf5b.c:9:3
+ .loc 1 9 3 view .LVU2
+ # dwarf5b.c:7:1
+ .loc 1 7 1 is_stmt 0 view .LVU3
+ subq $8, %rsp
+ .cfi_def_cfa_offset 16
+ # dwarf5b.c:9:3
+ .loc 1 9 3 view .LVU4
+ movl global(%rip), %edi
+ call foo
+.LVL1:
+ # DEBUG local RESET
+ # dwarf5b.c:10:3
+ .loc 1 10 3 is_stmt 1 view .LVU5
+ # DEBUG local => 0x7b
+ # dwarf5b.c:11:3
+ .loc 1 11 3 view .LVU6
+ movl $123, %edi
+ # dwarf5b.c:13:1
+ .loc 1 13 1 is_stmt 0 view .LVU7
+ addq $8, %rsp
+ .cfi_def_cfa_offset 8
+# SUCC: EXIT [always] count:1073741824 (estimated locally, freq 1.0000) (ABNORMAL,SIBCALL)
+ # dwarf5b.c:11:3
+ .loc 1 11 3 view .LVU8
+ jmp foo
+.LVL2:
+ .cfi_endproc
+.LFE0:
+ .size bar, .-bar
+.Letext0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 0xa0 # Length of Compilation Unit Info
+ .value 0x5 # DWARF version number
+ .byte 0x1 # DW_UT_compile
+ .byte 0x8 # Pointer Size (in bytes)
+ .long .Ldebug_abbrev0 # Offset Into Abbrev. Section
+ .uleb128 0x1 # (DIE (0xc) DW_TAG_compile_unit)
+ .long .LASF4 # DW_AT_producer: "GNU C17 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee] -mtune=generic -march=x86-64 -g -gdwarf-5 -O2"
+ .byte 0x1d # DW_AT_language
+ .long .LASF0 # DW_AT_name: "dwarf5b.c"
+ .long .LASF1 # DW_AT_comp_dir: "."
+ .quad .Ltext0 # DW_AT_low_pc
+ .quad .Letext0-.Ltext0 # DW_AT_high_pc
+ .long .Ldebug_line0 # DW_AT_stmt_list
+ .uleb128 0x2 # (DIE (0x2e) DW_TAG_variable)
+ .long .LASF2 # DW_AT_name: "global"
+ .byte 0x1 # DW_AT_decl_file (dwarf5b.c)
+ .byte 0x3 # DW_AT_decl_line
+ .byte 0xc # DW_AT_decl_column
+ .long 0x3a # DW_AT_type
+ # DW_AT_external
+ # DW_AT_declaration
+ .uleb128 0x3 # (DIE (0x3a) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .ascii "int\0" # DW_AT_name
+ .uleb128 0x4 # (DIE (0x41) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "foo\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (dwarf5b.c)
+ .byte 0x1 # DW_AT_decl_line
+ .byte 0xd # DW_AT_decl_column
+ # DW_AT_prototyped
+ # DW_AT_declaration
+ .long 0x53 # DW_AT_sibling
+ .uleb128 0x5 # (DIE (0x4d) DW_TAG_formal_parameter)
+ .long 0x3a # DW_AT_type
+ .byte 0 # end of children of DIE 0x41
+ .uleb128 0x6 # (DIE (0x53) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "bar\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (dwarf5b.c)
+ .byte 0x6 # DW_AT_decl_line
+ .byte 0x1 # DW_AT_decl_column
+ # DW_AT_prototyped
+ .quad .LFB0 # DW_AT_low_pc
+ .quad .LFE0-.LFB0 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_call_all_calls
+ .uleb128 0x7 # (DIE (0x6d) DW_TAG_variable)
+ .long .LASF3 # DW_AT_name: "local"
+ .byte 0x1 # DW_AT_decl_file (dwarf5b.c)
+ .byte 0x8 # DW_AT_decl_line
+ .byte 0x7 # DW_AT_decl_column
+ .long 0x3a # DW_AT_type
+ .long .LLST0 # DW_AT_location
+ .long .LVUS0 # DW_AT_GNU_locviews
+ .uleb128 0x8 # (DIE (0x81) DW_TAG_call_site)
+ .quad .LVL1 # DW_AT_call_return_pc
+ .long 0x41 # DW_AT_call_origin
+ .uleb128 0x9 # (DIE (0x8e) DW_TAG_call_site)
+ .quad .LVL2 # DW_AT_call_return_pc
+ # DW_AT_call_tail_call
+ .long 0x41 # DW_AT_call_origin
+ .uleb128 0xa # (DIE (0x9b) DW_TAG_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x2 # DW_AT_call_value
+ .byte 0x8 # DW_OP_const1u
+ .byte 0x7b
+ .byte 0 # end of children of DIE 0x8e
+ .byte 0 # end of children of DIE 0x53
+ .byte 0 # end of children of DIE 0xc
+ .section .debug_abbrev,"",@progbits
+.Ldebug_abbrev0:
+ .uleb128 0x1 # (abbrev code)
+ .uleb128 0x11 # (TAG: DW_TAG_compile_unit)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x25 # (DW_AT_producer)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x13 # (DW_AT_language)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x1f # (DW_FORM_line_strp)
+ .uleb128 0x1b # (DW_AT_comp_dir)
+ .uleb128 0x1f # (DW_FORM_line_strp)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x10 # (DW_AT_stmt_list)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x2 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x3 # (abbrev code)
+ .uleb128 0x24 # (TAG: DW_TAG_base_type)
+ .byte 0 # DW_children_no
+ .uleb128 0xb # (DW_AT_byte_size)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3e # (DW_AT_encoding)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .byte 0
+ .byte 0
+ .uleb128 0x4 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x27 # (DW_AT_prototyped)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3c # (DW_AT_declaration)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x1 # (DW_AT_sibling)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x5 # (abbrev code)
+ .uleb128 0x5 # (TAG: DW_TAG_formal_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x6 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x3f # (DW_AT_external)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0x8 # (DW_FORM_string)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x27 # (DW_AT_prototyped)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x11 # (DW_AT_low_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x12 # (DW_AT_high_pc)
+ .uleb128 0x7 # (DW_FORM_data8)
+ .uleb128 0x40 # (DW_AT_frame_base)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7a # (DW_AT_call_all_calls)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .byte 0
+ .byte 0
+ .uleb128 0x7 # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .byte 0 # DW_children_no
+ .uleb128 0x3 # (DW_AT_name)
+ .uleb128 0xe # (DW_FORM_strp)
+ .uleb128 0x3a # (DW_AT_decl_file)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x3b # (DW_AT_decl_line)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x39 # (DW_AT_decl_column)
+ .uleb128 0xb # (DW_FORM_data1)
+ .uleb128 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .uleb128 0x2137 # (DW_AT_GNU_locviews)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0x8 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0 # DW_children_no
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0x9 # (abbrev code)
+ .uleb128 0x48 # (TAG: DW_TAG_call_site)
+ .byte 0x1 # DW_children_yes
+ .uleb128 0x7d # (DW_AT_call_return_pc)
+ .uleb128 0x1 # (DW_FORM_addr)
+ .uleb128 0x82 # (DW_AT_call_tail_call)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .uleb128 0x7f # (DW_AT_call_origin)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .byte 0
+ .byte 0
+ .uleb128 0xa # (abbrev code)
+ .uleb128 0x49 # (TAG: DW_TAG_call_site_parameter)
+ .byte 0 # DW_children_no
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .uleb128 0x7e # (DW_AT_call_value)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .byte 0
+ .section .debug_loclists,"",@progbits
+ .long .Ldebug_loc3-.Ldebug_loc2 # Length of Location Lists
+.Ldebug_loc2:
+ .value 0x5 # DWARF version number
+ .byte 0x8 # Address Size
+ .byte 0 # Segment Size
+ .long 0 # Offset Entry Count
+.Ldebug_loc0:
+.LVUS0:
+ .uleb128 .LVU6 # View list begin (*.LVUS0)
+ .uleb128 0 # View list end (*.LVUS0)
+.LLST0:
+ .byte 0x4 # DW_LLE_offset_pair (*.LLST0)
+ .uleb128 .LVL1-.Ltext0 # Location list begin address (*.LLST0)
+ .uleb128 .LFE0-.Ltext0 # Location list end address (*.LLST0)
+ .uleb128 0x3 # Location expression size
+ .byte 0x8 # DW_OP_const1u
+ .byte 0x7b
+ .byte 0x9f # DW_OP_stack_value
+ .byte 0 # DW_LLE_end_of_list (*.LLST0)
+.Ldebug_loc3:
+ .section .debug_aranges,"",@progbits
+ .long 0x2c # Length of Address Ranges Info
+ .value 0x2 # DWARF aranges version
+ .long .Ldebug_info0 # Offset of Compilation Unit Info
+ .byte 0x8 # Size of Address
+ .byte 0 # Size of Segment Descriptor
+ .value 0 # Pad to 16 byte boundary
+ .value 0
+ .quad .Ltext0 # Address
+ .quad .Letext0-.Ltext0 # Length
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF3:
+ .string "local"
+.LASF4:
+ .string "GNU C17 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee] -mtune=generic -march=x86-64 -g -gdwarf-5 -O2"
+.LASF2:
+ .string "global"
+ .section .debug_line_str,"MS",@progbits,1
+.LASF1:
+ .string "."
+.LASF0:
+ .string "dwarf5b.c"
+ .ident "GCC: (GNU) 14.2.1 20240906 [releases/gcc-14 r14-10649-gaedf6f810ee]"
+ .section .note.GNU-stack,"",@progbits
diff --git a/ld/testsuite/ld-x86-64/pr32809.d b/ld/testsuite/ld-x86-64/pr32809.d
new file mode 100644
index 0000000..3affc23
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr32809.d
@@ -0,0 +1,71 @@
+#source: dwarf5a.s
+#source: dwarf4.s
+#source: dwarf5b.s
+#as: --64
+#ld: -r -m elf_x86_64
+#readelf: --wide --debug-dump=loc
+
+Contents of the .*ebug_loc section:
+
+ Offset Begin End Expression
+
+ 00000000 v000000000000000 v000000000000000 location view pair
+ 00000002 v000000000000000 v000000000000000 location view pair
+
+ 00000004 v000000000000000 v000000000000000 views at 00000000 for:
+ 0000000000000000 000000000000000a \(DW_OP_reg5 \(rdi\)\)
+ 00000017 v000000000000000 v000000000000000 views at 00000002 for:
+ 000000000000000a 0000000000000016 \(DW_OP_GNU_entry_value: \(DW_OP_reg5 \(rdi\)\); DW_OP_stack_value\)
+ 0000002d <End of list>
+
+ 0000003d v000000000000002 v000000000000000 location view pair
+ 0000003f v000000000000000 v000000000000001 location view pair
+ 00000041 v000000000000001 v000000000000000 location view pair
+
+ 00000043 v000000000000002 v000000000000000 views at 0000003d for:
+ 0000000000000000 000000000000000a \(DW_OP_reg5 \(rdi\)\)
+ 00000056 v000000000000000 v000000000000001 views at 0000003f for:
+ 000000000000000a 000000000000000b \(DW_OP_GNU_entry_value: \(DW_OP_reg5 \(rdi\)\); DW_OP_stack_value\)
+ 0000006c v000000000000001 v000000000000000 views at 00000041 for:
+ 000000000000000b 0000000000000016 \(DW_OP_const1u: 123; DW_OP_stack_value\)
+ 00000081 <End of list>
+
+Contents of the .*ebug_loclists section:
+
+Table at Offset 0
+ Length: 0x34
+ DWARF version: 5
+ Address size: 8
+ Segment size: 0
+ Offset entries: 0
+
+ Offset Begin End Expression
+
+ 0000000c v000000000000002 v000000000000000 location view pair
+ 0000000e v000000000000001 v000000000000001 location view pair
+ 00000010 v000000000000001 v000000000000000 location view pair
+
+ 00000012 0000000000000000 \(base address\)
+ 0000001b v000000000000002 v000000000000000 views at 0000000c for:
+ 0000000000000000 000000000000000d \(DW_OP_addr: 0\)
+ 00000028 v000000000000001 v000000000000001 views at 0000000e for:
+ 000000000000000e 0000000000000018 \(DW_OP_const1u: 123; DW_OP_stack_value\)
+ 0000002f v000000000000001 v000000000000000 views at 00000010 for:
+ 0000000000000018 000000000000001f \(DW_OP_const2u: 456; DW_OP_stack_value\)
+ 00000037 <End of list>
+Table at Offset 0x38
+ Length: 0x12
+ DWARF version: 5
+ Address size: 8
+ Segment size: 0
+ Offset entries: 0
+
+ Offset Begin End Expression
+
+ 00000044 v000000000000001 v000000000000000 location view pair
+
+ 00000046 v000000000000001 v000000000000000 views at 00000044 for:
+ 000000000000002f 000000000000003d \(DW_OP_const1u: 123; DW_OP_stack_value\)
+ 0000004d <End of list>
+
+#pass
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index 52c4d5e..3bb88ff 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -563,6 +563,7 @@ run_dump_test "pr32591-3"
run_dump_test "pr32591-3-x32"
run_dump_test "pr32591-4"
run_dump_test "pr32591-4-x32"
+run_dump_test "pr32809"
if { ![skip_sframe_tests] } {
run_dump_test "sframe-simple-1"
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index 9615271..119410b 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -860,14 +860,15 @@ proc run_ld_link_exec_tests { ldtests args } {
}
# List contains test-items with 3 items followed by 2 lists, one item and
-# one optional item:
+# 2 optional items:
# 0:name
-# 1:ld or ar options
+# 1:leading ld or ar options
# 2:compile options
# 3:filenames of source files
# 4:action and options.
# 5:name of output file
# 6:language (optional)
+# 7:trailing ld options (optional), placed after object files
#
# Actions:
# objdump: Apply objdump options on result. Compare with regex (last arg).
@@ -899,6 +900,7 @@ proc run_cc_link_tests { ldtests } {
set actions [lindex $testitem 4]
set binfile tmpdir/[lindex $testitem 5]
set lang [lindex $testitem 6]
+ set trailing_ldflags [lindex $testitem 7]
set objfiles {}
set is_unresolved 0
set failed 0
@@ -927,6 +929,7 @@ proc run_cc_link_tests { ldtests } {
#verbose -log "actions is $actions"
#verbose -log "binfile is $binfile"
#verbose -log "lang is $lang"
+ #verbose -log "trailing_ldflags is $trailing_ldflags"
foreach actionlist $actions {
set action [lindex $actionlist 0]
@@ -1006,7 +1009,7 @@ proc run_cc_link_tests { ldtests } {
untested $testname
continue
}
- ld_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles"
+ ld_link $cc_cmd $binfile "-L$srcdir/$subdir $ldflags $objfiles $trailing_ldflags"
set ld_output "$exec_output"
if { $check_ld(source) == "regexp" } then {
diff --git a/libctf/ctf-archive.c b/libctf/ctf-archive.c
index dc01e2e..6c4595f 100644
--- a/libctf/ctf-archive.c
+++ b/libctf/ctf-archive.c
@@ -485,6 +485,10 @@ ctf_arc_open_internal (const char *filename, int *errp)
is private.) */
arc->ctfa_magic = s.st_size;
close (fd);
+
+ if (errp)
+ *errp = 0;
+
return arc;
err_unmap:
@@ -588,6 +592,9 @@ ctf_dict_open_sections (const ctf_archive_t *arc,
const char *name,
int *errp)
{
+ if (errp)
+ *errp = 0;
+
if (arc->ctfi_is_archive)
{
ctf_dict_t *ret;
@@ -761,7 +768,7 @@ ctf_arc_import_parent (const ctf_archive_t *arc, ctf_dict_t *fp, int *errp)
{
if ((fp->ctf_flags & LCTF_CHILD) && fp->ctf_parname && !fp->ctf_parent)
{
- int err;
+ int err = 0;
ctf_dict_t *parent = ctf_dict_open_cached ((ctf_archive_t *) arc,
fp->ctf_parname, &err);
if (errp)
diff --git a/libctf/ctf-dedup.c b/libctf/ctf-dedup.c
index 174f353..c7c2edd 100644
--- a/libctf/ctf-dedup.c
+++ b/libctf/ctf-dedup.c
@@ -96,9 +96,9 @@
value: it is also stashed in the *output mapping*, a mapping from hash value
to the set of GIDs corresponding to that type in all inputs. We also keep
track of the GID of the first appearance of the type in any input (in
- cd_output_first_gid), and the GID of structs, unions, and forwards that only
- appear in one TU (in cd_struct_origin). See below for where these things are
- used.
+ cd_output_first_gid), the GID of structs, unions, and forwards that only
+ appear in one TU (in cd_struct_origin), and an indication of whether this
+ type is root-visible or not. See below for where these things are used.
Everything in this phase is time-critical, because it is operating over
non-deduplicated types and so may have hundreds or thousands of times the
@@ -492,6 +492,7 @@ ctf_dedup_hash_type (ctf_dict_t *fp, ctf_dict_t *input,
ctf_dict_t **inputs,
int input_num,
ctf_id_t type,
+ int isroot,
void *id,
const char *decorated_name,
const char *hash));
@@ -560,6 +561,7 @@ ctf_dedup_rhash_type (ctf_dict_t *fp, ctf_dict_t *input, ctf_dict_t **inputs,
ctf_dict_t **inputs,
int input_num,
ctf_id_t type,
+ int isroot,
void *id,
const char *decorated_name,
const char *hash))
@@ -666,7 +668,11 @@ ctf_dedup_rhash_type (ctf_dict_t *fp, ctf_dict_t *input, ctf_dict_t **inputs,
possible. Equally, we do not want to hash in the isroot flag: both the
compiler and the deduplicator set the nonroot flag to indicate clashes with
*other types in the same TU* with the same name: so two types can easily
- have distinct nonroot flags, yet be exactly the same type.*/
+ have distinct nonroot flags, yet be exactly the same type. This means we
+ can never use the non-root-visible flag from the input for anything,
+ because if there are several distinct values the one chosen is basically
+ random. We unify non-root-visible flags separately: see the uses of
+ cd_nonroot_consistency. */
ctf_sha1_init (&hash);
if (name)
@@ -1015,6 +1021,7 @@ ctf_dedup_hash_type (ctf_dict_t *fp, ctf_dict_t *input,
ctf_dict_t **inputs,
int input_num,
ctf_id_t type,
+ int isroot,
void *id,
const char *decorated_name,
const char *hash))
@@ -1027,6 +1034,7 @@ ctf_dedup_hash_type (ctf_dict_t *fp, ctf_dict_t *input,
const char *whaterr;
const char *decorated = NULL;
uint32_t kind, fwdkind;
+ int isroot;
depth++;
@@ -1056,6 +1064,7 @@ ctf_dedup_hash_type (ctf_dict_t *fp, ctf_dict_t *input,
kind = LCTF_INFO_KIND (input, tp->ctt_info);
name = ctf_strraw (input, tp->ctt_name);
+ isroot = LCTF_INFO_ISROOT (input, tp->ctt_info);
if (tp->ctt_name == 0 || !name || name[0] == '\0')
name = NULL;
@@ -1086,7 +1095,7 @@ ctf_dedup_hash_type (ctf_dict_t *fp, ctf_dict_t *input,
ctf_dprintf ("%lu: Known hash for ID %i/%lx: %s\n", depth, input_num,
type, hval);
#endif
- populate_fun (fp, input, inputs, input_num, type, type_id,
+ populate_fun (fp, input, inputs, input_num, type, isroot, type_id,
decorated, hval);
return hval;
@@ -1121,7 +1130,7 @@ ctf_dedup_hash_type (ctf_dict_t *fp, ctf_dict_t *input,
goto oom;
}
- if (populate_fun (fp, input, inputs, input_num, type, type_id,
+ if (populate_fun (fp, input, inputs, input_num, type, isroot, type_id,
decorated, hval) < 0)
{
whaterr = N_("error calling population function");
@@ -1150,19 +1159,20 @@ ctf_dedup_count_name (ctf_dict_t *fp, const char *name, void *id);
/* Populate a number of useful mappings not directly used by the hashing
machinery: the output mapping, the cd_name_counts mapping from name -> hash
- -> count of hashval deduplication state for a given hashed type, and the
- cd_output_first_tu mapping. */
+ -> count of hashval deduplication state for a given hashed type; the
+ cd_output_first_gid mapping; and the cd_nonroot_consistency mapping. */
static int
ctf_dedup_populate_mappings (ctf_dict_t *fp, ctf_dict_t *input _libctf_unused_,
ctf_dict_t **inputs _libctf_unused_,
int input_num _libctf_unused_,
- ctf_id_t type _libctf_unused_, void *id,
- const char *decorated_name,
+ ctf_id_t type _libctf_unused_, int isroot,
+ void *id, const char *decorated_name,
const char *hval)
{
ctf_dedup_t *d = &fp->ctf_dedup;
ctf_dynset_t *type_ids;
+ void *root_visible;
#ifdef ENABLE_LIBCTF_HASH_DEBUGGING
ctf_dprintf ("Hash %s, %s, into output mapping for %i/%lx @ %s\n",
@@ -1249,6 +1259,32 @@ ctf_dedup_populate_mappings (ctf_dict_t *fp, ctf_dict_t *input _libctf_unused_,
}
#endif
+ /* Track the consistency of the non-root flag for this type.
+ 0: all root-visible; 1: all non-root-visible; 2: inconsistent. */
+
+ if (!ctf_dynhash_lookup_kv (d->cd_nonroot_consistency, hval, NULL,
+ &root_visible))
+ {
+ if (isroot)
+ root_visible = (void *) 0;
+ else
+ root_visible = (void *) 1;
+
+ if (ctf_dynhash_cinsert (d->cd_nonroot_consistency, hval, root_visible) < 0)
+ return ctf_set_errno (fp, errno);
+ }
+ else
+ {
+ if (((uintptr_t) root_visible == 0 && !isroot)
+ || ((uintptr_t) root_visible == 1 && isroot))
+ {
+ root_visible = (void *) 2;
+
+ if (ctf_dynhash_cinsert (d->cd_nonroot_consistency, hval, root_visible) < 0)
+ return ctf_set_errno (fp, errno);
+ }
+ }
+
/* This function will be repeatedly called for the same types many times:
don't waste time reinserting the same keys in that case. */
if (!ctf_dynset_exists (type_ids, id, NULL)
@@ -1282,6 +1318,33 @@ ctf_dedup_populate_mappings (ctf_dict_t *fp, ctf_dict_t *input _libctf_unused_,
return 0;
}
+/* Clean up things no longer needed after hashing is over. */
+static int
+ctf_dedup_hash_type_fini (ctf_dict_t *fp)
+{
+ ctf_next_t *i = NULL;
+ int err;
+ void *hval, *root_visible;
+
+ /* Clean up cd_nonroot_consistency. We only care now about types we are sure
+ are non-root-visible everywhere: root-visible types and types that are
+ sometimes root-visible and sometimes not are treated as root-visible. */
+
+ while ((err = ctf_dynhash_next (fp->ctf_dedup.cd_nonroot_consistency, &i,
+ &hval, &root_visible)) == 0)
+ {
+ if ((uintptr_t) root_visible != 1)
+ ctf_dynhash_next_remove (&i);
+ }
+ if (err != ECTF_NEXT_END)
+ {
+ ctf_err_warn (fp, 0, err, _("iteration failure cleaning up type hashes"));
+ return ctf_set_errno (fp, err);
+ }
+
+ return 0;
+}
+
static int
ctf_dedup_count_name (ctf_dict_t *fp, const char *name, void *id)
{
@@ -1678,6 +1741,12 @@ ctf_dedup_init (ctf_dict_t *fp)
NULL, NULL)) == NULL)
goto oom;
+ if ((d->cd_nonroot_consistency
+ = ctf_dynhash_create (ctf_hash_string,
+ ctf_hash_eq_string,
+ NULL, NULL)) == NULL)
+ goto oom;
+
#ifdef ENABLE_LIBCTF_HASH_DEBUGGING
if ((d->cd_output_mapping_guard
= ctf_dynhash_create (ctf_hash_integer,
@@ -1730,6 +1799,7 @@ ctf_dedup_fini (ctf_dict_t *fp, ctf_dict_t **outputs, uint32_t noutputs)
ctf_dynhash_destroy (d->cd_citers);
ctf_dynhash_destroy (d->cd_output_mapping);
ctf_dynhash_destroy (d->cd_output_first_gid);
+ ctf_dynhash_destroy (d->cd_nonroot_consistency);
#ifdef ENABLE_LIBCTF_HASH_DEBUGGING
ctf_dynhash_destroy (d->cd_output_mapping_guard);
#endif
@@ -1912,15 +1982,15 @@ ctf_dedup_conflictify_unshared (ctf_dict_t *output, ctf_dict_t **inputs)
OUTPUT is the top-level output: INPUTS is the array of input dicts; NINPUTS is the
size of that array.
- If CU_MAPPED is set, this is a first pass for a link with a non-empty CU
- mapping: only one output will result.
+ If CU_MAPPING_PHASE is nonzero, this is a link with a non-empty CU mapping:
+ in phase 1, only one output will result.
Only deduplicates: does not emit the types into the output. Call
ctf_dedup_emit afterwards to do that. */
int
ctf_dedup (ctf_dict_t *output, ctf_dict_t **inputs, uint32_t ninputs,
- int cu_mapped)
+ int cu_mapping_phase)
{
ctf_dedup_t *d = &output->ctf_dedup;
size_t i;
@@ -1942,12 +2012,13 @@ ctf_dedup (ctf_dict_t *output, ctf_dict_t **inputs, uint32_t ninputs,
}
}
- /* Some flags do not apply when CU-mapping: this is not a duplicated link,
- because there is only one output and we really don't want to end up marking
- all nonconflicting but appears-only-once types as conflicting (which in the
- CU-mapped link means we'd mark them all as non-root-visible!). */
+ /* Some flags do not apply in the first phase of CU-mapped links: this is not
+ a share-duplicated link, because there is only one output and we really
+ don't want to end up marking all nonconflicting but appears-only-once types
+ as conflicting. */
+
d->cd_link_flags = output->ctf_link_flags;
- if (cu_mapped)
+ if (cu_mapping_phase == 1)
d->cd_link_flags &= ~(CTF_LINK_SHARE_DUPLICATED);
/* Compute hash values for all types, recursively, treating child structures
@@ -1979,6 +2050,10 @@ ctf_dedup (ctf_dict_t *output, ctf_dict_t **inputs, uint32_t ninputs,
}
}
+ /* Drop state no longer needed after hashing is over. */
+
+ ctf_dedup_hash_type_fini (output);
+
/* Go through the cd_name_counts name->hash->count mapping for all CTF
namespaces: any name with many hashes associated with it at this stage is
necessarily ambiguous. Mark all the hashes except the most common as
@@ -2638,8 +2713,8 @@ ctf_dedup_emit_type (const char *hval, ctf_dict_t *output, ctf_dict_t **inputs,
const ctf_type_t *tp;
int input_num = CTF_DEDUP_GID_TO_INPUT (id);
int output_num = (uint32_t) -1; /* 'shared' */
- int cu_mapped = *(int *)arg;
- int isroot;
+ int cu_mapping_phase = *(int *)arg;
+ int isroot = 1;
int is_conflicting;
ctf_next_t *i = NULL;
@@ -2663,7 +2738,7 @@ ctf_dedup_emit_type (const char *hval, ctf_dict_t *output, ctf_dict_t **inputs,
ctf_link_outputs dict of the output that is its parent. */
is_conflicting = ctf_dynset_exists (d->cd_conflicting_types, hval, NULL);
- if (is_conflicting && !cu_mapped)
+ if (is_conflicting && cu_mapping_phase != 1)
{
ctf_dprintf ("%i: Type %s in %i/%lx is conflicted: "
"inserting into per-CU target.\n",
@@ -2698,6 +2773,34 @@ ctf_dedup_emit_type (const char *hval, ctf_dict_t *output, ctf_dict_t **inputs,
output_num = input_num;
}
+ if (!target->ctf_dedup.cd_output_emission_hashes)
+ if ((target->ctf_dedup.cd_output_emission_hashes
+ = ctf_dynhash_create (ctf_hash_string, ctf_hash_eq_string,
+ NULL, NULL)) == NULL)
+ goto oom_hash;
+
+ if (!target->ctf_dedup.cd_output_emission_conflicted_forwards)
+ if ((target->ctf_dedup.cd_output_emission_conflicted_forwards
+ = ctf_dynhash_create (ctf_hash_string, ctf_hash_eq_string,
+ NULL, NULL)) == NULL)
+ goto oom_hash;
+
+ /* When cu-mapping mode is turned on, we merge types derived from multiple CUs
+ into one target dict: in phase 1, by merging them according to the mapping;
+ in phase 2, as a consequence of taking the merged results from phase 1.
+ Any given type appears only once in the type mapping, but in
+ ctf_dedup_rwalk_output_mapping we loop inserting conflicting types into a
+ child dict corresponding to every input dict they came from. This means
+ that if those dicts are mapped together, in phase 1 we can attempt to
+ insert them *multiple times* into the same dict, which then causes them to
+ be duplicated in phase 2 as well. Avoid this by making sure this hval
+ isn't already present in the emission hash in phase 1: if it is, we in
+ effect already visited this type, and can return as we did above. */
+
+ if (cu_mapping_phase == 1
+ && ctf_dynhash_lookup (target->ctf_dedup.cd_output_emission_hashes, hval))
+ return 0;
+
real_input = input;
if ((tp = ctf_lookup_by_id (&real_input, type)) == NULL)
{
@@ -2708,35 +2811,64 @@ ctf_dedup_emit_type (const char *hval, ctf_dict_t *output, ctf_dict_t **inputs,
}
name = ctf_strraw (real_input, tp->ctt_name);
- isroot = LCTF_INFO_ISROOT (real_input, tp->ctt_info);
- /* Hide conflicting types, if we were asked to: also hide if a type with this
- name already exists and is not a forward, or if this type is hidden on the
- input. */
- if (cu_mapped && is_conflicting)
- isroot = 0;
- else if (name
- && (maybe_dup = ctf_lookup_by_rawname (target, kind, name)) != 0)
+ /* cu_mapped links at phase 1 get absolutely *everything* marked non-root,
+ named or not. Such links, when we are merging multiple child CUs into one,
+ are the only point at which we can ever put conflicting and nonconflicting
+ instances of the same type into the same dict, and which one comes first is
+ arbitrary. Rather than having to figure out when we insert a type whether
+ another one is coming that might conflict with it without being so marked,
+ just mark everything as non-root: we'll disregard it in the next phase of
+ cu-mapped linking anyway.
+
+ In phase 2 (the final dedup phase) of cu-mapped links, we have to deal with
+ the fallout of this, in that single inputs have 100% non-root types (so the
+ non-root bit isn't really meaningful) but some subset of them may be
+ genuinely clashing, conflicting, but already in child dicts (a thing that
+ is impossible in non-CU-mapped links, when child dicts correspond to single
+ CUs).
+
+ So in phase 2, we hide conflicting types, if this type is conflicting and a
+ type with this name already exists in the target and is not a forward.
+
+ Note that enums also get their enumerands checked, below.
+
+ Otherwise, in "phase 0" (i.e. normal links), we can respect the non-root
+ flag the user passed in and simply propagate it directly to the output.
+ If the user provided a mix of root-visible and non-root-visible flags,
+ we treat it as non-root-visible: see ctf_dedup_hash_type_fini. */
+
+ switch (cu_mapping_phase)
{
- if (ctf_type_kind (target, maybe_dup) != CTF_K_FORWARD)
+ case 0: /* Normal link. Root-visibility explicitly tracked. */
+ if (ctf_dynhash_lookup (d->cd_nonroot_consistency, hval))
isroot = 0;
+ break;
+ case 1: /* cu-mapped link. Never root-visible. */
+ isroot = 0;
+ break;
+ case 2: /* Final phase of cu-mapped link. Non-root if already present. */
+ if (is_conflicting && name
+ && ((maybe_dup = ctf_lookup_by_rawname (target, kind, name)) != 0))
+ {
+ if (ctf_type_kind (target, maybe_dup) != CTF_K_FORWARD)
+ {
+ ctf_dprintf ("%s, kind %i, hval %s: conflicting type marked as "
+ "non-root because of pre-existing type %s/%lx, "
+ "kind %i.\n", name, kind, hval, ctf_cuname (target),
+ maybe_dup, ctf_type_kind (target, maybe_dup));
+ isroot = 0;
+ }
+ }
+ break;
+ default:
+ if (!ctf_assert (output, cu_mapping_phase >= 0 && cu_mapping_phase <= 2))
+ return -1; /* errno is set for us. */
}
ctf_dprintf ("%i: Emitting type with hash %s (%s), into target %i/%p\n",
depth, hval, name ? name : "", input_num, (void *) target);
- if (!target->ctf_dedup.cd_output_emission_hashes)
- if ((target->ctf_dedup.cd_output_emission_hashes
- = ctf_dynhash_create (ctf_hash_string, ctf_hash_eq_string,
- NULL, NULL)) == NULL)
- goto oom_hash;
-
- if (!target->ctf_dedup.cd_output_emission_conflicted_forwards)
- if ((target->ctf_dedup.cd_output_emission_conflicted_forwards
- = ctf_dynhash_create (ctf_hash_string, ctf_hash_eq_string,
- NULL, NULL)) == NULL)
- goto oom_hash;
-
switch (kind)
{
case CTF_K_UNKNOWN:
@@ -2771,6 +2903,28 @@ ctf_dedup_emit_type (const char *hval, ctf_dict_t *output, ctf_dict_t **inputs,
{
int val;
errtype = _("enum");
+
+ /* Check enumerands for duplication and nonrootify if clashing: this is
+ an extension of the isroot check above. */
+
+ if (isroot && cu_mapping_phase == 2)
+ {
+ const char *enumerand;
+ while ((enumerand = ctf_enum_next (input, type, &i, &val)) != NULL)
+ {
+ if (is_conflicting && name
+ && ctf_dynhash_lookup (target->ctf_names, enumerand) != NULL)
+ {
+ ctf_dprintf ("%s, kind %i, hval %s: conflicting type marked "
+ "as non-root because of pre-existing enumerand "
+ "%s.\n", name, kind, hval, enumerand);
+ isroot = 0;
+ }
+ }
+ if (ctf_errno (input) != ECTF_NEXT_END)
+ goto err_input;
+ }
+
if ((new_type = ctf_add_enum (target, isroot, name)) == CTF_ERR)
goto err_input; /* errno is set for us. */
@@ -3086,12 +3240,12 @@ ctf_dedup_emit_struct_members (ctf_dict_t *output, ctf_dict_t **inputs,
Return an array of fps with content emitted into them (starting with OUTPUT,
which is the parent of all others, then all the newly-generated outputs).
- If CU_MAPPED is set, this is a first pass for a link with a non-empty CU
- mapping: only one output will result. */
+ If CU_MAPPING_PHASE is set to 1, this is a first pass for a link with a
+ non-empty CU mapping: only one output will result. */
ctf_dict_t **
ctf_dedup_emit (ctf_dict_t *output, ctf_dict_t **inputs, uint32_t ninputs,
- uint32_t *parents, uint32_t *noutputs, int cu_mapped)
+ uint32_t *parents, uint32_t *noutputs, int cu_mapping_phase)
{
size_t num_outputs = 1; /* Always at least one output: us. */
ctf_dict_t **outputs;
@@ -3100,7 +3254,7 @@ ctf_dedup_emit (ctf_dict_t *output, ctf_dict_t **inputs, uint32_t ninputs,
ctf_dprintf ("Triggering emission.\n");
if (ctf_dedup_walk_output_mapping (output, inputs, ninputs, parents,
- ctf_dedup_emit_type, &cu_mapped) < 0)
+ ctf_dedup_emit_type, &cu_mapping_phase) < 0)
return NULL; /* errno is set for us. */
ctf_dprintf ("Populating struct members.\n");
@@ -3113,7 +3267,8 @@ ctf_dedup_emit (ctf_dict_t *output, ctf_dict_t **inputs, uint32_t ninputs,
num_outputs++;
}
- if (!ctf_assert (output, !cu_mapped || (cu_mapped && num_outputs == 1)))
+ if (!ctf_assert (output, (cu_mapping_phase != 1
+ || (cu_mapping_phase == 1 && num_outputs == 1))))
return NULL;
if ((outputs = calloc (num_outputs, sizeof (ctf_dict_t *))) == NULL)
diff --git a/libctf/ctf-hash.c b/libctf/ctf-hash.c
index a11d11e..abd0140 100644
--- a/libctf/ctf-hash.c
+++ b/libctf/ctf-hash.c
@@ -406,8 +406,9 @@ ctf_dynhash_iter_remove (ctf_dynhash_t *hp, ctf_hash_iter_remove_f fun,
/* Traverse a dynhash in arbitrary order, in _next iterator form.
- Mutating the dynhash while iterating is not supported (just as it isn't for
- htab_traverse).
+ Adding entries to the dynhash while iterating is not supported (just as it
+ isn't for htab_traverse). Deleting is fine (see ctf_dynhash_next_remove,
+ below).
Note: unusually, this returns zero on success and a *positive* value on
error, because it does not take an fp, taking an error pointer would be
@@ -479,6 +480,30 @@ ctf_dynhash_next (ctf_dynhash_t *h, ctf_next_t **it, void **key, void **value)
return ECTF_NEXT_END;
}
+/* Remove the entry most recently returned by ctf_dynhash_next.
+
+ Returns ECTF_NEXT_END if this is impossible (already removed, iterator not
+ initialized, iterator off the end). */
+
+int
+ctf_dynhash_next_remove (ctf_next_t * const *it)
+{
+ ctf_next_t *i = *it;
+
+ if ((void (*) (void)) ctf_dynhash_next != i->ctn_iter_fun)
+ return ECTF_NEXT_WRONGFUN;
+
+ if (!i)
+ return ECTF_NEXT_END;
+
+ if (i->ctn_n == 0)
+ return ECTF_NEXT_END;
+
+ htab_clear_slot (i->cu.ctn_h->htab, i->u.ctn_hash_slot - 1);
+
+ return 0;
+}
+
int
ctf_dynhash_sort_by_name (const ctf_next_hkv_t *one, const ctf_next_hkv_t *two,
void *unused _libctf_unused_)
diff --git a/libctf/ctf-impl.h b/libctf/ctf-impl.h
index 2d191b0..3217f92 100644
--- a/libctf/ctf-impl.h
+++ b/libctf/ctf-impl.h
@@ -66,8 +66,13 @@ extern "C"
macros glibc may introduce, which have names of the pattern
__attribute_blah__. */
+#if defined (__clang__)
#define _libctf_printflike_(string_index,first_to_check) \
__attribute__ ((__format__ (__printf__, (string_index), (first_to_check))))
+#else
+#define _libctf_printflike_(string_index,first_to_check) \
+ __attribute__ ((__format__ (__gnu_printf__, (string_index), (first_to_check))))
+#endif
#define _libctf_unlikely_(x) __builtin_expect ((x), 0)
#define _libctf_unused_ __attribute__ ((__unused__))
#define _libctf_malloc_ __attribute__((__malloc__))
@@ -331,6 +336,11 @@ typedef struct ctf_dedup
hash. */
ctf_dynhash_t *cd_output_mapping_guard;
+ /* Maps from type hash values to an indication of their nonroot flag. 0 means
+ all root-visible; 1 means non-root-visible; 2 means a mixture. All values
+ other than 1 are deleted after hashing. */
+ ctf_dynhash_t *cd_nonroot_consistency;
+
/* Maps the global type IDs of structures in input TUs whose members still
need emission to the global type ID of the already-emitted target type
(which has no members yet) in the appropriate target. Uniquely, the latter
@@ -671,6 +681,7 @@ extern int ctf_dynhash_next (ctf_dynhash_t *, ctf_next_t **,
extern int ctf_dynhash_next_sorted (ctf_dynhash_t *, ctf_next_t **,
void **key, void **value, ctf_hash_sort_f,
void *);
+extern int ctf_dynhash_next_remove (ctf_next_t * const *);
extern ctf_dynset_t *ctf_dynset_create (htab_hash, htab_eq, ctf_hash_free_fun);
extern int ctf_dynset_insert (ctf_dynset_t *, void *);
@@ -717,10 +728,10 @@ extern int ctf_track_enumerator (ctf_dict_t *, ctf_id_t, const char *);
extern int ctf_dedup_atoms_init (ctf_dict_t *);
extern int ctf_dedup (ctf_dict_t *, ctf_dict_t **, uint32_t ninputs,
- int cu_mapped);
+ int cu_mapped_phase);
extern ctf_dict_t **ctf_dedup_emit (ctf_dict_t *, ctf_dict_t **,
uint32_t ninputs, uint32_t *parents,
- uint32_t *noutputs, int cu_mapped);
+ uint32_t *noutputs, int cu_mapped_phase);
extern void ctf_dedup_fini (ctf_dict_t *, ctf_dict_t **, uint32_t);
extern ctf_id_t ctf_dedup_type_mapping (ctf_dict_t *fp, ctf_dict_t *src_fp,
ctf_id_t src_type);
diff --git a/libctf/ctf-link.c b/libctf/ctf-link.c
index 2019c11..2d4401d 100644
--- a/libctf/ctf-link.c
+++ b/libctf/ctf-link.c
@@ -1385,6 +1385,7 @@ ctf_link_deduplicating (ctf_dict_t *fp)
ssize_t ninputs;
uint32_t noutputs;
uint32_t *parents;
+ int cu_phase = 0;
if (ctf_dedup_atoms_init (fp) < 0)
{
@@ -1392,9 +1393,20 @@ ctf_link_deduplicating (ctf_dict_t *fp)
return; /* Errno is set for us. */
}
- if (fp->ctf_link_out_cu_mapping
- && (ctf_link_deduplicating_per_cu (fp) < 0))
- return; /* Errno is set for us. */
+ /* Trigger a CU-mapped link if need be: one pass of dedups squashing inputs into
+ single child dicts corresponding to each CU mapping, and one pass that
+ treats those as if they are ordinary inputs and links them together.
+
+ This latter pass does need to act very slightly differently from normal, so we
+ keep track of the "CU phase", with 0 being a normal link, 1 being the
+ squash-together phase, and 2 being the final act-as-if-it-were-normal pass. */
+
+ if (fp->ctf_link_out_cu_mapping)
+ {
+ if (ctf_link_deduplicating_per_cu (fp) < 0)
+ return; /* Errno is set for us. */
+ cu_phase = 2;
+ }
if ((ninputs = ctf_link_deduplicating_count_inputs (fp, NULL, NULL)) < 0)
return; /* Errno is set for us. */
@@ -1406,7 +1418,7 @@ ctf_link_deduplicating (ctf_dict_t *fp)
if (ninputs == 1 && ctf_cuname (inputs[0]) != NULL)
ctf_cuname_set (fp, ctf_cuname (inputs[0]));
- if (ctf_dedup (fp, inputs, ninputs, 0) < 0)
+ if (ctf_dedup (fp, inputs, ninputs, cu_phase) < 0)
{
ctf_err_warn (fp, 0, 0, _("deduplication failed for %s"),
ctf_link_input_name (fp));
@@ -1414,7 +1426,7 @@ ctf_link_deduplicating (ctf_dict_t *fp)
}
if ((outputs = ctf_dedup_emit (fp, inputs, ninputs, parents, &noutputs,
- 0)) == NULL)
+ cu_phase)) == NULL)
{
ctf_err_warn (fp, 0, 0, _("deduplicating link type emission failed "
"for %s"), ctf_link_input_name (fp));
diff --git a/libctf/ctf-open.c b/libctf/ctf-open.c
index 449728f..8c08667 100644
--- a/libctf/ctf-open.c
+++ b/libctf/ctf-open.c
@@ -1426,6 +1426,8 @@ ctf_bufopen (const ctf_sect_t *ctfsect, const ctf_sect_t *symsect,
libctf_init_debug();
+ ctf_set_open_errno (errp, 0);
+
if ((ctfsect == NULL) || ((symsect != NULL) && (strsect == NULL)))
return (ctf_set_open_errno (errp, EINVAL));
diff --git a/libctf/testsuite/libctf-lookup/add-to-opened.c b/libctf/testsuite/libctf-lookup/add-to-opened.c
index 96629af..700257e 100644
--- a/libctf/testsuite/libctf-lookup/add-to-opened.c
+++ b/libctf/testsuite/libctf-lookup/add-to-opened.c
@@ -15,7 +15,7 @@ main (int argc, char *argv[])
ctf_encoding_t en = { CTF_INT_SIGNED, 0, sizeof (int) };
unsigned char *ctf_written;
size_t size;
- int err;
+ int err = 666;
if (argc != 2)
{
@@ -25,9 +25,18 @@ main (int argc, char *argv[])
if ((ctf = ctf_open (argv[1], NULL, &err)) == NULL)
goto open_err;
+
+ /* The error int should be reset on success as well as on error. */
+ if (err != 0)
+ goto err_err;
+
+ err = 666;
if ((fp = ctf_dict_open (ctf, NULL, &err)) == NULL)
goto open_err;
+ if (err != 0)
+ goto err_err;
+
/* Check that various modifications to already-written types
are prohibited. */
@@ -145,4 +154,8 @@ main (int argc, char *argv[])
open_err:
fprintf (stderr, "%s: cannot open: %s\n", argv[0], ctf_errmsg (err));
return 1;
+
+ err_err:
+ fprintf (stderr, "%s: open error not set to success on success\n", argv[0]);
+ return 1;
}
diff --git a/libctf/testsuite/libctf-writable/ctf-compressed.c b/libctf/testsuite/libctf-writable/ctf-compressed.c
index 4769cdb..646b603 100644
--- a/libctf/testsuite/libctf-writable/ctf-compressed.c
+++ b/libctf/testsuite/libctf-writable/ctf-compressed.c
@@ -119,10 +119,14 @@ main (int argc, char *argv[])
/* Dump the header of each archive member, and search for CTF_F_COMPRESS in
the resulting dump. */
+ err = 666;
while ((dump_fp = ctf_archive_next (final_arc, &i, NULL, 0, &err)) != NULL)
{
char *dumpstr;
+ if (err != 0)
+ fprintf (stderr, "err not set to success on success\n");
+
while ((dumpstr = ctf_dump (dump_fp, &dump_state, CTF_SECT_HEADER,
NULL, NULL)) != NULL)
{
diff --git a/libctf/testsuite/libctf-writable/ctf-nonroot-linking.c b/libctf/testsuite/libctf-writable/ctf-nonroot-linking.c
index 6edd189..67b85eb 100644
--- a/libctf/testsuite/libctf-writable/ctf-nonroot-linking.c
+++ b/libctf/testsuite/libctf-writable/ctf-nonroot-linking.c
@@ -24,16 +24,6 @@ main (int argc, char *argv[])
ctf_next_t *i = NULL;
int err;
- /* Linking does not currently work on mingw because of an unreliable tmpfile
- implementation on that platform (see
- https://github.com/msys2/MINGW-packages/issues/18878). Simply skip for
- now. */
-
-#ifdef __MINGW32__
- printf ("UNSUPPORTED: platform bug breaks ctf_link\n");
- return 0;
-#else
-
if ((fp = ctf_create (&err)) == NULL)
goto create_err;
@@ -123,5 +113,4 @@ main (int argc, char *argv[])
link_err:
fprintf (stderr, "Cannot link: %s\n", ctf_errmsg (ctf_errno (fp)));
return 1;
-#endif
}
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 83e9120..2ae5626 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,44 @@
+2025-05-13 Andreas Schwab <schwab@suse.de>
+
+ * regex.c (regex_compile): Don't write beyond array bounds when
+ collecting range expression.
+
+2025-03-29 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR cobol/119283
+ * Makefile.in: Add memrchr build rules.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Check for memrchr.
+ * functions.texi: Document memrchr.
+ * memrchr.c: New file.
+
+2025-03-25 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR other/119218
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Append <libgen.h> to AC_INCLUDES_DEFAULT
+ when checking for the 'basename' decl.
+
+2025-03-18 Jose E. Marchesi <jose.marchesi@oracle.com>
+
+ * ldirname.c: New file.
+ * Makefile.in (CFILES): Add ldirname.c.
+ (REQUIRED_OFILES): Add ldirname.$(objext).
+ (./ldirname.$(objext)): New rule.
+ * makefile.vms (OBJS): Add ldirname.obj.
+ * configure.com (FILES): Add ldirname.
+
+2024-12-11 Matthieu Longo <matthieu.longo@arm.com>
+
+ * configure: Regenerate.
+ * configure.ac: Fix autoupdate warnings.
+
+2024-12-11 Sangamesh Mallayya <swamy.sangamesh@gmail.com>
+
+ * getopt.c: Remove _NO_PROTO block
+
2024-11-19 Evgeny Karpov <evgeny.karpov@microsoft.com>
* simple-object-coff.c: Add aarch64.
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index b11df75..387975d 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -136,10 +136,11 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
hashtab.c hex.c \
index.c insque.c \
lbasename.c \
+ ldirname.c \
lrealpath.c \
make-relative-prefix.c \
- make-temp-file.c md5.c memchr.c memcmp.c memcpy.c memmem.c \
- memmove.c mempcpy.c memset.c mkstemps.c \
+ make-temp-file.c md5.c memchr.c memrchr.c memcmp.c memcpy.c \
+ memmem.c memmove.c mempcpy.c memset.c mkstemps.c \
objalloc.c obstack.c \
partition.c pexecute.c \
pex-common.c pex-djgpp.c pex-msdos.c pex-one.c \
@@ -179,7 +180,7 @@ REQUIRED_OFILES = \
./fnmatch.$(objext) ./fopen_unlocked.$(objext) \
./getopt.$(objext) ./getopt1.$(objext) ./getpwd.$(objext) \
./getruntime.$(objext) ./hashtab.$(objext) ./hex.$(objext) \
- ./lbasename.$(objext) ./lrealpath.$(objext) \
+ ./lbasename.$(objext) ./ldirname.$(objext) ./lrealpath.$(objext)\
./make-relative-prefix.$(objext) ./make-temp-file.$(objext) \
./objalloc.$(objext) \
./obstack.$(objext) \
@@ -212,8 +213,8 @@ CONFIGURED_OFILES = ./asprintf.$(objext) ./atexit.$(objext) \
./getcwd.$(objext) ./getpagesize.$(objext) \
./gettimeofday.$(objext) \
./index.$(objext) ./insque.$(objext) \
- ./memchr.$(objext) ./memcmp.$(objext) ./memcpy.$(objext) \
- ./memmem.$(objext) ./memmove.$(objext) \
+ ./memchr.$(objext) ./memrchr.$(objext) ./memcmp.$(objext) \
+ ./memcpy.$(objext) ./memmem.$(objext) ./memmove.$(objext) \
./mempcpy.$(objext) ./memset.$(objext) ./mkstemps.$(objext) \
./pex-djgpp.$(objext) ./pex-msdos.$(objext) \
./pex-unix.$(objext) ./pex-win32.$(objext) \
@@ -966,6 +967,17 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
else true; fi
$(COMPILE.c) $(srcdir)/lbasename.c $(OUTPUT_OPTION)
+./ldirname.$(objext): $(srcdir)/ldirname.c config.h $(INCDIR)/ansidecl.h \
+ $(INCDIR)/filenames.h $(INCDIR)/hashtab.h $(INCDIR)/libiberty.h \
+ $(INCDIR)/safe-ctype.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/ldirname.c -o pic/$@; \
+ else true; fi
+ if [ x"$(NOASANFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/ldirname.c -o noasan/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/ldirname.c $(OUTPUT_OPTION)
+
./lrealpath.$(objext): $(srcdir)/lrealpath.c config.h $(INCDIR)/ansidecl.h \
$(INCDIR)/libiberty.h
if [ x"$(PICFLAG)" != x ]; then \
@@ -1014,6 +1026,15 @@ $(CONFIGURED_OFILES): stamp-picdir stamp-noasandir
else true; fi
$(COMPILE.c) $(srcdir)/memchr.c $(OUTPUT_OPTION)
+./memrchr.$(objext): $(srcdir)/memrchr.c $(INCDIR)/ansidecl.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/memrchr.c -o pic/$@; \
+ else true; fi
+ if [ x"$(NOASANFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(NOASANFLAG) $(srcdir)/memrchr.c -o noasan/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/memrchr.c $(OUTPUT_OPTION)
+
./memcmp.$(objext): $(srcdir)/memcmp.c $(INCDIR)/ansidecl.h
if [ x"$(PICFLAG)" != x ]; then \
$(COMPILE.c) $(PICFLAG) $(srcdir)/memcmp.c -o pic/$@; \
diff --git a/libiberty/config.in b/libiberty/config.in
index 1b1f2b0..3b87165 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -153,6 +153,9 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
+/* Define to 1 if you have the <libgen.h> header file. */
+#undef HAVE_LIBGEN_H
+
/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H
@@ -183,6 +186,9 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
+/* Define to 1 if you have the `memrchr' function. */
+#undef HAVE_MEMRCHR
+
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
diff --git a/libiberty/configure b/libiberty/configure
index f83b42f..f0309ff 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -5745,7 +5745,7 @@ host_makefile_frag=${frag}
# It's OK to check for header files. Although the compiler may not be
# able to link anything, it had better be able to at least compile
# something.
-for ac_header in sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h stdio_ext.h process.h sys/prctl.h spawn.h
+for ac_header in sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h stdio_ext.h process.h sys/prctl.h spawn.h libgen.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_preproc "$LINENO" "$ac_header" "$as_ac_Header"
@@ -6210,6 +6210,7 @@ funcs="$funcs gettimeofday"
funcs="$funcs index"
funcs="$funcs insque"
funcs="$funcs memchr"
+funcs="$funcs memrchr"
funcs="$funcs memcmp"
funcs="$funcs memcpy"
funcs="$funcs memmem"
@@ -6276,7 +6277,7 @@ if test "x" = "y"; then
ffs __fsetlocking \
getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
index insque \
- memchr memcmp memcpy memmem memmove memset mkstemps \
+ memchr memrchr memcmp memcpy memmem memmove memset mkstemps \
on_exit \
pipe2 posix_spawn posix_spawnp psignal \
pstat_getdynamic pstat_getstatic putenv \
@@ -6691,7 +6692,7 @@ esac
for f in atexit basename bcmp bcopy bsearch bzero calloc clock ffs \
getcwd getpagesize getrusage gettimeofday \
- index insque memchr memcmp memcpy memmove memset psignal \
+ index insque memchr memrchr memcmp memcpy memmove memset psignal \
putenv random rename rindex sbrk setenv stpcpy strcasecmp \
strchr strdup strerror strncasecmp strrchr strstr strtod \
strtol strtoul sysconf times tmpnam vfprintf vprintf \
@@ -7389,7 +7390,12 @@ fi
done
as_ac_Symbol=`$as_echo "ac_cv_have_decl_basename(char *)" | $as_tr_sh`
-ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "$ac_includes_default"
+ac_fn_c_check_decl "$LINENO" "basename(char *)" "$as_ac_Symbol" "
+$ac_includes_default
+#ifdef HAVE_LIBGEN_H
+# include <libgen.h>
+#endif
+"
if eval test \"x\$"$as_ac_Symbol"\" = x"yes"; then :
ac_have_decl=1
else
@@ -7399,7 +7405,8 @@ fi
cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_BASENAME $ac_have_decl
_ACEOF
-ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
+
+ ac_fn_c_check_decl "$LINENO" "ffs" "ac_cv_have_decl_ffs" "$ac_includes_default"
if test "x$ac_cv_have_decl_ffs" = xyes; then :
ac_have_decl=1
else
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index c27e08e..3de5eca 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -291,7 +291,7 @@ AC_SUBST_FILE(host_makefile_frag)
# It's OK to check for header files. Although the compiler may not be
# able to link anything, it had better be able to at least compile
# something.
-AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h stdio_ext.h process.h sys/prctl.h spawn.h)
+AC_CHECK_HEADERS(sys/file.h sys/param.h limits.h stdlib.h malloc.h string.h unistd.h strings.h sys/time.h time.h sys/resource.h sys/stat.h sys/mman.h fcntl.h alloca.h sys/pstat.h sys/sysmp.h sys/sysinfo.h machine/hal_sysinfo.h sys/table.h sys/sysctl.h sys/systemcfg.h stdint.h stdio_ext.h process.h sys/prctl.h spawn.h libgen.h)
AC_HEADER_SYS_WAIT
AC_HEADER_TIME
@@ -370,6 +370,7 @@ funcs="$funcs gettimeofday"
funcs="$funcs index"
funcs="$funcs insque"
funcs="$funcs memchr"
+funcs="$funcs memrchr"
funcs="$funcs memcmp"
funcs="$funcs memcpy"
funcs="$funcs memmem"
@@ -436,7 +437,7 @@ if test "x" = "y"; then
ffs __fsetlocking \
getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
index insque \
- memchr memcmp memcpy memmem memmove memset mkstemps \
+ memchr memrchr memcmp memcpy memmem memmove memset mkstemps \
on_exit \
pipe2 posix_spawn posix_spawnp psignal \
pstat_getdynamic pstat_getstatic putenv \
@@ -555,7 +556,7 @@ if test -n "${with_target_subdir}"; then
for f in atexit basename bcmp bcopy bsearch bzero calloc clock ffs \
getcwd getpagesize getrusage gettimeofday \
- index insque memchr memcmp memcpy memmove memset psignal \
+ index insque memchr memrchr memcmp memcpy memmove memset psignal \
putenv random rename rindex sbrk setenv stpcpy strcasecmp \
strchr strdup strerror strncasecmp strrchr strstr strtod \
strtol strtoul sysconf times tmpnam vfprintf vprintf \
@@ -723,7 +724,12 @@ if test -z "${setobjs}"; then
[AC_MSG_RESULT([no])])
AC_CHECK_FUNCS($checkfuncs)
- AC_CHECK_DECLS([basename(char *), ffs, asprintf, vasprintf, snprintf, vsnprintf])
+ AC_CHECK_DECLS([basename(char *)], [], [], [
+AC_INCLUDES_DEFAULT
+#ifdef HAVE_LIBGEN_H
+# include <libgen.h>
+#endif])
+ AC_CHECK_DECLS([ffs, asprintf, vasprintf, snprintf, vsnprintf])
AC_CHECK_DECLS([calloc, getenv, getopt, malloc, realloc])
case "${host}" in
*-*-darwin*) ;; # Darwin's sbrk implementation is deprecated.
diff --git a/libiberty/configure.com b/libiberty/configure.com
index 03018291..55aee2f 100644
--- a/libiberty/configure.com
+++ b/libiberty/configure.com
@@ -17,7 +17,7 @@ $DECK
$ FILES="getopt,obstack,xexit,xmalloc,hex,getopt1,cplus-dem,cp-demangle,"+-
"cp-demint,asprintf,vasprintf,mkstemps,concat,getruntime,getpagesize,"+-
"getpwd,xstrerror,xmemdup,xstrdup,xatexit,choose-temp,fnmatch,objalloc,"+-
- "safe-ctype,hashtab,lbasename,argv,lrealpath,make-temp-file,"+-
+ "safe-ctype,hashtab,lbasename,ldirname,argv,lrealpath,make-temp-file,"+-
"stpcpy,unlink-if-ordinary"
$ OPT="/noopt/debug/warnings=disable=(missingreturn)"
$ CFLAGS=OPT + "/include=([],[-.include])/name=(as_is,shortened)" +-
diff --git a/libiberty/functions.texi b/libiberty/functions.texi
index b56b02e..7c7da1b 100644
--- a/libiberty/functions.texi
+++ b/libiberty/functions.texi
@@ -749,6 +749,20 @@ returned.
@end deftypefn
+@c memrchr.c:3
+@deftypefn Supplemental void* memrchr (const void *@var{s}, int @var{c}, @
+ size_t @var{n})
+
+This function searches memory for the character @var{c} in reverse order,
+starting at @code{*@var{s}+@var{n}-1} . The search only ends with
+the first occurrence of @var{c}, or when the start us reached; in particular,
+a null character does not terminate the search. If the character @var{c} is
+found within @var{length} characters of @code{*@var{s}}, a pointer
+to the character is returned. If @var{c} is not found, then @code{NULL} is
+returned.
+
+@end deftypefn
+
@c memcmp.c:6
@deftypefn Supplemental int memcmp (const void *@var{x}, const void *@var{y}, @
size_t @var{count})
diff --git a/libiberty/ldirname.c b/libiberty/ldirname.c
new file mode 100644
index 0000000..e3cd5c8
--- /dev/null
+++ b/libiberty/ldirname.c
@@ -0,0 +1,94 @@
+/* Libiberty dirname. Like dirname, but is not overridden by the
+ system C library.
+ Copyright (C) 2025 Free Software Foundation, Inc.
+
+This file is part of the libiberty library.
+Libiberty is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+Libiberty is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with libiberty; see the file COPYING.LIB. If
+not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
+Boston, MA 02110-1301, USA. */
+
+/*
+
+@deftypefn Replacement {char*} ldirname (const char *@var{name})
+
+Given a pointer to a string containing a typical pathname
+(@samp{/usr/src/cmd/ls/ls.c} for example), returns a string containing the
+passed string up to, but not including, the final directory separator.
+
+If the given pathname doesn't contain a directory separator then this funtion
+returns the empty string; this includes an empty given pathname. @code{NULL}
+is returned on memory allocation error.
+
+@end deftypefn
+
+*/
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "ansidecl.h"
+#include "libiberty.h"
+#include "safe-ctype.h"
+#include "filenames.h"
+
+/* For malloc. */
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+/* For memcpy. */
+# if HAVE_STRING_H
+# include <string.h>
+# else
+# if HAVE_STRINGS_H
+# include <strings.h>
+# endif
+# endif
+
+#define LDIRNAME(FPREFIX,DIRSEP) \
+ char *FPREFIX##_ldirname (const char *name) \
+ { \
+ /* Note that lbasename guarantees that the returned */ \
+ /* pointer lies within the passed string. */ \
+ const char *basename = FPREFIX##_lbasename (name); \
+ size_t size = basename - name; \
+ char *res = NULL; \
+ \
+ res = (char*) malloc (size + 1); \
+ if (res != NULL) \
+ { \
+ if (size > 0) \
+ { \
+ if (IS_DIR_SEPARATOR_1 ((DIRSEP),name[size - 1])) \
+ size -= 1; \
+ memcpy (res, name, size); \
+ } \
+ res[size] = '\0'; \
+ } \
+ \
+ return res; \
+ }
+
+LDIRNAME(dos,1)
+LDIRNAME(unix,0)
+
+char *
+ldirname (const char *name)
+{
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+ return dos_ldirname (name);
+#else
+ return unix_ldirname (name);
+#endif
+}
diff --git a/libiberty/makefile.vms b/libiberty/makefile.vms
index 15a7d0a..4cfcc98 100644
--- a/libiberty/makefile.vms
+++ b/libiberty/makefile.vms
@@ -12,7 +12,7 @@ OBJS=getopt.obj,obstack.obj,xexit.obj,xmalloc.obj,hex.obj,\
asprintf.obj vasprintf.obj,mkstemps.obj,filename_cmp.obj,\
concat.obj,getruntime.obj,getpagesize.obj,getpwd.obj,xstrerror.obj,\
xmemdup.obj,xstrdup.obj,xatexit.obj,choose-temp.obj,fnmatch.obj,\
- objalloc.obj,safe-ctype.obj,hashtab.obj,lbasename.obj,argv.obj,\
+ objalloc.obj,safe-ctype.obj,hashtab.obj,lbasename.obj,ldirname.obj,argv.obj,\
lrealpath.obj,make-temp-file.obj,stpcpy.obj,unlink-if-ordinary.obj,\
dwarfnames.obj
diff --git a/libiberty/memrchr.c b/libiberty/memrchr.c
new file mode 100644
index 0000000..fe7713e
--- /dev/null
+++ b/libiberty/memrchr.c
@@ -0,0 +1,33 @@
+/*
+
+@deftypefn Supplemental void* memrchr (const void *@var{s}, int @var{c}, @
+ size_t @var{n})
+
+This function searches memory for the character @var{c} in reverse order,
+starting at @code{*@var{s}+@var{n}-1} . The search only ends with
+the first occurrence of @var{c}, or when the start us reached; in particular,
+a null character does not terminate the search. If the character @var{c} is
+found within @var{length} characters of @code{*@var{s}}, a pointer
+to the character is returned. If @var{c} is not found, then @code{NULL} is
+returned.
+
+@end deftypefn
+
+*/
+
+#include <ansidecl.h>
+#include <stddef.h>
+
+void *
+memrchr (const void *src_void, int c, size_t length)
+{
+ if (length == 0)
+ return NULL;
+
+ const unsigned char *p = (const unsigned char*)src_void;
+ p += length;
+ while (*--p != (unsigned char)c)
+ if (src_void == p)
+ return NULL;
+ return (void *)p;
+}
diff --git a/libiberty/regex.c b/libiberty/regex.c
index bc36f43..8337dea 100644
--- a/libiberty/regex.c
+++ b/libiberty/regex.c
@@ -3468,7 +3468,7 @@ PREFIX(regex_compile) (const char *ARG_PREFIX(pattern),
PATFETCH (c);
if ((c == '.' && *p == ']') || p == pend)
break;
- if (c1 < sizeof (str))
+ if (c1 < sizeof (str) - 1)
str[c1++] = c;
else
/* This is in any case an invalid class name. */
diff --git a/libsframe/doc/sframe-spec.texi b/libsframe/doc/sframe-spec.texi
index ae11570..6b8dfa8 100644
--- a/libsframe/doc/sframe-spec.texi
+++ b/libsframe/doc/sframe-spec.texi
@@ -21,6 +21,8 @@ License''.
@titlepage
@title The SFrame Format
@subtitle Version 2
+@sp 15
+@center @today{}
@author Indu Bhagat
@page
diff --git a/libsframe/sframe.c b/libsframe/sframe.c
index c2693b9..d38a61d 100644
--- a/libsframe/sframe.c
+++ b/libsframe/sframe.c
@@ -369,43 +369,34 @@ sframe_decoder_get_funcdesc_at_index (sframe_decoder_ctx *ctx,
static bool
sframe_fre_check_range_p (sframe_func_desc_entry *fdep,
- int32_t start_ip_offset, int32_t end_ip_offset,
+ uint32_t start_ip_offset, uint32_t end_ip_offset,
int32_t pc)
{
- int32_t start_ip, end_ip;
int32_t func_start_addr;
uint8_t rep_block_size;
uint32_t fde_type;
- int32_t masked_pc;
+ uint32_t pc_offset;
bool mask_p;
- bool ret;
-
- ret = false;
if (!fdep)
- return ret;
+ return false;
func_start_addr = fdep->sfde_func_start_address;
fde_type = sframe_get_fde_type (fdep);
mask_p = (fde_type == SFRAME_FDE_TYPE_PCMASK);
rep_block_size = fdep->sfde_func_rep_size;
- if (!mask_p)
- {
- start_ip = start_ip_offset + func_start_addr;
- end_ip = end_ip_offset + func_start_addr;
- ret = ((start_ip <= pc) && (end_ip >= pc));
- }
- else
- {
- /* For FDEs for repetitive pattern of insns, we need to return the FRE
- where pc % rep_block_size is between start_ip_offset and
- end_ip_offset. */
- masked_pc = pc % rep_block_size;
- ret = ((start_ip_offset <= masked_pc) && (end_ip_offset >= masked_pc));
- }
+ if (func_start_addr > pc)
+ return false;
+
+ /* Given func_start_addr <= pc, pc - func_start_addr must be positive. */
+ pc_offset = pc - func_start_addr;
+ /* For SFrame FDEs encoding information for repetitive pattern of insns,
+ masking with the rep_block_size is necessary to find the matching FRE. */
+ if (mask_p)
+ pc_offset = pc_offset % rep_block_size;
- return ret;
+ return (start_ip_offset <= pc_offset) && (end_ip_offset >= pc_offset);
}
static int
@@ -1036,7 +1027,7 @@ sframe_get_funcdesc_with_addr_internal (sframe_decoder_ctx *ctx, int32_t addr,
{
sframe_header *dhp;
sframe_func_desc_entry *fdp;
- int low, high, cnt;
+ int low, high;
if (ctx == NULL)
return sframe_ret_set_errno (errp, SFRAME_ERR_INVAL);
@@ -1053,23 +1044,20 @@ sframe_get_funcdesc_with_addr_internal (sframe_decoder_ctx *ctx, int32_t addr,
/* Do the binary search. */
fdp = (sframe_func_desc_entry *) ctx->sfd_funcdesc;
low = 0;
- high = dhp->sfh_num_fdes;
- cnt = high;
+ high = dhp->sfh_num_fdes - 1;
while (low <= high)
{
int mid = low + (high - low) / 2;
- if (fdp[mid].sfde_func_start_address == addr)
+ /* Given sfde_func_start_address <= addr,
+ addr - sfde_func_start_address must be positive. */
+ if (fdp[mid].sfde_func_start_address <= addr
+ && ((uint32_t)(addr - fdp[mid].sfde_func_start_address)
+ < fdp[mid].sfde_func_size))
return fdp + mid;
if (fdp[mid].sfde_func_start_address < addr)
- {
- if (mid == (cnt - 1)) /* Check if it's the last one. */
- return fdp + (cnt - 1);
- else if (fdp[mid+1].sfde_func_start_address > addr)
- return fdp + mid;
- low = mid + 1;
- }
+ low = mid + 1;
else
high = mid - 1;
}
@@ -1112,14 +1100,12 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc,
{
sframe_frame_row_entry cur_fre;
sframe_func_desc_entry *fdep;
- uint32_t fre_type, fde_type, i;
- int32_t start_ip_offset;
+ uint32_t fre_type, i;
int32_t func_start_addr;
- int32_t end_ip_offset;
+ uint32_t start_ip_offset, end_ip_offset;
const char *fres;
size_t size = 0;
int err = 0;
- bool mask_p;
if ((ctx == NULL) || (frep == NULL))
return sframe_set_errno (&err, SFRAME_ERR_INVAL);
@@ -1130,8 +1116,6 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc,
return sframe_set_errno (&err, SFRAME_ERR_DCTX_INVAL);
fre_type = sframe_get_fre_type (fdep);
- fde_type = sframe_get_fde_type (fdep);
- mask_p = (fde_type == SFRAME_FDE_TYPE_PCMASK);
fres = ctx->sfd_fres + fdep->sfde_func_start_fre_off;
func_start_addr = fdep->sfde_func_start_address;
@@ -1145,8 +1129,9 @@ sframe_find_fre (sframe_decoder_ctx *ctx, int32_t pc,
start_ip_offset = cur_fre.fre_start_addr;
end_ip_offset = sframe_fre_get_end_ip_offset (fdep, i, fres + size);
- /* First FRE's start_ip must be more than pc for regular SFrame FDEs. */
- if (i == 0 && !mask_p && (start_ip_offset + func_start_addr) > pc)
+ /* Stop search if FRE's start_ip is greater than pc. Given
+ func_start_addr <= pc, pc - func_start_addr must be positive. */
+ if (start_ip_offset > (uint32_t)(pc - func_start_addr))
return sframe_set_errno (&err, SFRAME_ERR_FRE_INVAL);
if (sframe_fre_check_range_p (fdep, start_ip_offset, end_ip_offset, pc))
diff --git a/libsframe/testsuite/libsframe.find/findfre-1.c b/libsframe/testsuite/libsframe.find/findfre-1.c
index 5b1da05..94fe2e9 100644
--- a/libsframe/testsuite/libsframe.find/findfre-1.c
+++ b/libsframe/testsuite/libsframe.find/findfre-1.c
@@ -28,64 +28,82 @@
#include <dejagnu.h>
static int
-add_fde1 (sframe_encoder_ctx *encode, int idx)
+add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
+ uint32_t sframe_vaddr, int idx, uint32_t *func_size)
{
- int i, err;
/* A contiguous block containing 4 FREs. */
- sframe_frame_row_entry fres[]
+#define FDE1_NUM_FRES 4
+ sframe_frame_row_entry fres[FDE1_NUM_FRES]
= { {0x0, {0x1, 0, 0}, 0x3},
{0x1, {0x2, 0xf0, 0}, 0x5},
{0x10, {0x3, 0xf0, 0}, 0x4},
{0x38, {0x8, 0xf0, 0}, 0x5}
};
+ /* Function size in bytes. P.S. Must be a value greater than the
+ fre_start_addr of the last FRE above (0x38). */
+ *func_size = 0x40;
+ int32_t func1_start_addr = start_pc_vaddr - sframe_vaddr;
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
- err = sframe_encoder_add_funcdesc (encode, 0xfffff03e, 0x40, finfo, 4);
+ int err = sframe_encoder_add_funcdesc (encode, func1_start_addr, *func_size,
+ finfo, FDE1_NUM_FRES);
if (err == -1)
return err;
- for (i = 0; i < 4; i++)
- if (sframe_encoder_add_fre (encode, idx,fres+i) == SFRAME_ERR)
+ for (unsigned int i = 0; i < FDE1_NUM_FRES; i++)
+ if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR)
return -1;
return 0;
}
static int
-add_fde2 (sframe_encoder_ctx *encode, int idx)
+add_fde2 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
+ uint32_t sframe_vaddr, int idx, uint32_t *func_size)
{
- int i, err;
/* A contiguous block containing 4 FREs. */
- sframe_frame_row_entry fres[]
+#define FDE2_NUM_FRES 4
+ sframe_frame_row_entry fres[FDE2_NUM_FRES]
= { {0x0, {0x10, 0, 0}, 0x3},
{0x10, {0x12, 0xf0, 0}, 0x5},
{0x14, {0x14, 0xf0, 0}, 0x4},
{0x20, {0x15, 0xf0, 0}, 0x5}
};
+ /* Function size in bytes. P.S. Must be a value greater than the
+ fre_start_addr of the last FRE above (0x20). */
+ *func_size = 0x60;
+ int32_t func2_start_addr = start_pc_vaddr - sframe_vaddr;
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
- err = sframe_encoder_add_funcdesc (encode, 0xfffff08e, 0x60, finfo, 4);
+ int err = sframe_encoder_add_funcdesc (encode, func2_start_addr, *func_size,
+ finfo, FDE2_NUM_FRES);
if (err == -1)
return err;
- for (i = 0; i < 4; i++)
- if (sframe_encoder_add_fre (encode, idx, fres+i) == SFRAME_ERR)
+ for (unsigned int i = 0; i < FDE2_NUM_FRES; i++)
+ if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR)
return -1;
return 0;
}
-int main (void)
+static
+void test_text_findfre (uint32_t text_vaddr, uint32_t sframe_vaddr)
{
sframe_encoder_ctx *encode;
sframe_decoder_ctx *dctx;
sframe_frame_row_entry frep;
+ uint32_t func1_start_vaddr;
+ uint32_t func2_start_vaddr;
+ uint32_t func1_size = 0;
+ uint32_t func2_size = 0;
+ uint32_t fde_cnt = 0;
+ int32_t lookup_pc;
char *sframe_buf;
size_t sf_size;
int err = 0;
- unsigned int fde_cnt = 0;
#define TEST(name, cond) \
do \
@@ -103,10 +121,13 @@ int main (void)
-8, /* Fixed RA offset for AMD64. */
&err);
- err = add_fde1 (encode, 0);
+ func1_start_vaddr = text_vaddr;
+ err = add_fde1 (encode, func1_start_vaddr, sframe_vaddr, 0, &func1_size);
TEST ("findfre-1: Adding FDE1", err == 0);
- err = add_fde2 (encode, 1);
+ /* Function 2 is placed after 0x10 bytes from the end of Function 1. */
+ func2_start_vaddr = func1_start_vaddr + func1_size + 0x10;
+ err = add_fde2 (encode, func2_start_vaddr, sframe_vaddr, 1, &func2_size);
TEST ("findfre-1: Adding FDE2", err == 0);
fde_cnt = sframe_encoder_get_num_fidx (encode);
@@ -116,40 +137,58 @@ int main (void)
TEST ("findfre-1: Encoder write", err == 0);
dctx = sframe_decode (sframe_buf, sf_size, &err);
- TEST("findfre-1: Decoder setup", dctx != NULL);
+ TEST ("findfre-1: Decoder setup", dctx != NULL);
/* Find the third FRE in first FDE. */
- err = sframe_find_fre (dctx, (0xfffff03e + 0x15), &frep);
- TEST("findfre-1: Find third FRE",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x3)));
+ lookup_pc = func1_start_vaddr + 0x15 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfre-1: Find third FRE",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x3));
/* Find an FRE for PC at the end of range covered by FRE. */
- err = sframe_find_fre (dctx, (0xfffff03e + 0x9), &frep);
- TEST("findfre-1: Find FRE for last PC covered by FRE",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x2)));
+ lookup_pc = func1_start_vaddr + 0x9 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfre-1: Find FRE for last PC covered by FRE",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x2));
/* Find the last FRE in first FDE. */
- err = sframe_find_fre (dctx, (0xfffff03e + 0x39), &frep);
- TEST("findfre-1: Find last FRE",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x8)));
+ lookup_pc = func1_start_vaddr + 0x39 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfre-1: Find last FRE",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x8));
/* Find the second FRE in second FDE. */
- err = sframe_find_fre (dctx, (0xfffff08e + 0x11), &frep);
- TEST("findfre-1: Find second FRE",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x12)));
+ lookup_pc = func2_start_vaddr + 0x11 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfre-1: Find second FRE",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x12));
/* Find the first FRE in second FDE. */
- err = sframe_find_fre (dctx, (0xfffff08e + 0x0), &frep);
- TEST("findfre-1: Find first FRE",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x10)));
+ lookup_pc = func2_start_vaddr + 0x0 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfre-1: Find first FRE",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x10));
/* Find FRE for PC out of range. Expect error code. */
- err = sframe_find_fre (dctx, (0xfffff03e + 0x40), &frep);
- TEST("findfre-1: Find FRE for out of range PC",
- (err == SFRAME_ERR));
+ lookup_pc = func1_start_vaddr + func1_size - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfre-1: Find FRE for out of range PC", err == SFRAME_ERR);
sframe_encoder_free (&encode);
sframe_decoder_free (&dctx);
+}
- return 0;
+int main (void)
+{
+ uint32_t sframe_vaddr = 0x402220;
+ uint32_t text_vaddr = 0x401020;
+ printf ("Testing with text_vaddr = %#x; sframe_vaddr = %#x\n", text_vaddr,
+ sframe_vaddr);
+ test_text_findfre (text_vaddr, sframe_vaddr);
+
+ sframe_vaddr = 0x401020;
+ text_vaddr = 0x402220;
+ printf ("Testing with text_vaddr = %#x; sframe_vaddr = %#x\n", text_vaddr,
+ sframe_vaddr);
+ test_text_findfre (text_vaddr, sframe_vaddr);
}
diff --git a/libsframe/testsuite/libsframe.find/findfunc-1.c b/libsframe/testsuite/libsframe.find/findfunc-1.c
index 8671f5d..3cdcdb6 100644
--- a/libsframe/testsuite/libsframe.find/findfunc-1.c
+++ b/libsframe/testsuite/libsframe.find/findfunc-1.c
@@ -35,89 +35,115 @@
#include <dejagnu.h>
static int
-add_fde1 (sframe_encoder_ctx *encode, int idx)
+add_fde1 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
+ uint32_t sframe_vaddr, int idx, uint32_t *func_size)
{
- int i, err;
/* A contiguous block containing 4 FREs. */
- sframe_frame_row_entry fres[]
+#define FDE1_NUM_FRES 4
+ sframe_frame_row_entry fres[FDE1_NUM_FRES]
= { {0x0, {0x1, 0, 0}, 0x3},
{0x1, {0x2, 0xf0, 0}, 0x5},
{0x10, {0x3, 0xf0, 0}, 0x4},
{0x38, {0x8, 0xf0, 0}, 0x5}
};
+ /* Function size in bytes. P.S. Must be a value greater than the
+ fre_start_addr of the last FRE above (0x38). */
+ *func_size = 0x40;
+ int32_t func1_start_addr = start_pc_vaddr - sframe_vaddr;
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
- err = sframe_encoder_add_funcdesc (encode, 0xfffff03e, 0x40, finfo, 4);
+ int err = sframe_encoder_add_funcdesc (encode, func1_start_addr, *func_size,
+ finfo, FDE1_NUM_FRES);
if (err == -1)
return err;
- for (i = 0; i < 4; i++)
- if (sframe_encoder_add_fre (encode, idx,fres+i) == SFRAME_ERR)
+ for (unsigned int i = 0; i < FDE1_NUM_FRES; i++)
+ if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR)
return -1;
return 0;
}
static int
-add_fde2 (sframe_encoder_ctx *encode, int idx)
+add_fde2 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
+ uint32_t sframe_vaddr, int idx, uint32_t *func_size)
{
- int i, err;
/* A contiguous block containing 4 FREs. */
- sframe_frame_row_entry fres[]
+#define FDE2_NUM_FRES 4
+ sframe_frame_row_entry fres[FDE2_NUM_FRES]
= { {0x0, {0x10, 0, 0}, 0x3},
{0x10, {0x12, 0xf0, 0}, 0x5},
{0x14, {0x14, 0xf0, 0}, 0x4},
{0x20, {0x15, 0xf0, 0}, 0x5}
};
+ /* Function size in bytes. P.S. Must be a value greater than the
+ fre_start_addr of the last FRE above (0x20). */
+ *func_size = 0x60;
+ int32_t func2_start_addr = start_pc_vaddr - sframe_vaddr;
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
- err = sframe_encoder_add_funcdesc (encode, 0xfffff08e, 0x60, finfo, 4);
+ int err = sframe_encoder_add_funcdesc (encode, func2_start_addr, *func_size,
+ finfo, FDE2_NUM_FRES);
if (err == -1)
return err;
- for (i = 0; i < 4; i++)
- if (sframe_encoder_add_fre (encode, idx, fres+i) == SFRAME_ERR)
+ for (unsigned int i = 0; i < FDE2_NUM_FRES; i++)
+ if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR)
return -1;
return 0;
}
static int
-add_fde3 (sframe_encoder_ctx *encode, int idx)
+add_fde3 (sframe_encoder_ctx *encode, uint32_t start_pc_vaddr,
+ uint32_t sframe_vaddr, int idx, uint32_t *func_size)
{
- int i, err;
/* A contiguous block containing 4 FREs. */
- sframe_frame_row_entry fres[]
+#define FDE3_NUM_FRES 4
+ sframe_frame_row_entry fres[FDE3_NUM_FRES]
= { {0x0, {0x16, 0, 0}, 0x3},
{0x1, {0x17, 0xf0, 0}, 0x5},
{0x10, {0x18, 0xf0, 0}, 0x4},
{0x38, {0x19, 0xf0, 0}, 0x5}
};
+ /* Function size in bytes. P.S. Must be a value greater than the
+ fre_start_addr of the last FRE above (0x38). */
+ *func_size = 0x40;
+ int32_t func3_start_addr = start_pc_vaddr - sframe_vaddr;
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCINC);
- err = sframe_encoder_add_funcdesc (encode, 0xfffff10e, 0x40, finfo, 4);
+ int err = sframe_encoder_add_funcdesc (encode, func3_start_addr, *func_size,
+ finfo, FDE3_NUM_FRES);
if (err == -1)
return err;
- for (i = 0; i < 4; i++)
- if (sframe_encoder_add_fre (encode, idx,fres+i) == SFRAME_ERR)
+ for (unsigned int i = 0; i < FDE3_NUM_FRES; i++)
+ if (sframe_encoder_add_fre (encode, idx, fres + i) == SFRAME_ERR)
return -1;
return 0;
}
-int main (void)
+static
+void test_text_findfre (uint32_t text_vaddr, uint32_t sframe_vaddr)
{
sframe_encoder_ctx *encode;
sframe_decoder_ctx *dctx;
sframe_frame_row_entry frep;
+ uint32_t func1_start_vaddr;
+ uint32_t func2_start_vaddr;
+ uint32_t func3_start_vaddr;
+ uint32_t func1_size = 0;
+ uint32_t func2_size = 0;
+ uint32_t func3_size = 0;
+ uint32_t fde_cnt = 0;
+ int32_t lookup_pc = 0;
char *sframe_buf;
size_t sf_size;
int err = 0;
- unsigned int fde_cnt = 0;
#define TEST(name, cond) \
do \
@@ -136,15 +162,18 @@ int main (void)
&err);
/* Add FDE at index 0. */
- err = add_fde1 (encode, 0);
+ func1_start_vaddr = text_vaddr;
+ err = add_fde1 (encode, func1_start_vaddr, sframe_vaddr, 0, &func1_size);
TEST ("findfunc-1: Adding FDE1", err == 0);
/* Add FDE at index 1. */
- err = add_fde2 (encode, 1);
+ func2_start_vaddr = func1_start_vaddr + func1_size + 0x10;
+ err = add_fde2 (encode, func2_start_vaddr, sframe_vaddr, 1, &func2_size);
TEST ("findfunc-1: Adding FDE2", err == 0);
/* Add FDE at index 2. */
- err = add_fde3 (encode, 2);
+ func3_start_vaddr = func2_start_vaddr + func2_size + 0x10;
+ err = add_fde3 (encode, func3_start_vaddr, sframe_vaddr, 2, &func3_size);
TEST ("findfunc-1: Adding FDE3", err == 0);
fde_cnt = sframe_encoder_get_num_fidx (encode);
@@ -154,51 +183,71 @@ int main (void)
TEST ("findfunc-1: Encoder write", err == 0);
dctx = sframe_decode (sframe_buf, sf_size, &err);
- TEST("findfunc-1: Decoder setup", dctx != NULL);
+ TEST ("findfunc-1: Decoder setup", dctx != NULL);
/* Following negative tests check that libsframe APIs
(sframe_get_funcdesc_with_addr, sframe_find_fre) work
well for PCs not covered by the FDEs. */
/* Search with PC less than the first FDE's start addr. */
- err = sframe_find_fre (dctx, (0xfffff03e - 0x15), &frep);
- TEST("findfunc-1: test-1: Find FRE for PC not in range",
- (err == SFRAME_ERR));
+ lookup_pc = func1_start_vaddr - 0x15 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: test-1: Find FRE for PC not in range",
+ err == SFRAME_ERR);
/* Search with a PC between func1's last PC and func2's first PC. */
- err = sframe_find_fre (dctx, (0xfffff03e + 0x40 + 0x1), &frep);
- TEST("findfunc-1: test-2: Find FRE for PC not in range",
- (err == SFRAME_ERR));
+ lookup_pc = func1_start_vaddr + func1_size + 0x1 - sframe_vaddr,
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: test-2: Find FRE for PC not in range",
+ err == SFRAME_ERR);
/* Search for a PC between func2's last PC and func3's first PC. */
- err = sframe_find_fre (dctx, (0xfffff08e + 0x60 + 0x3), &frep);
- TEST("findfunc-1: test-3: Find FRE for PC not in range",
- (err == SFRAME_ERR));
+ lookup_pc = func2_start_vaddr + func2_size + 0x3 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: test-3: Find FRE for PC not in range",
+ err == SFRAME_ERR);
/* Search for a PC beyond the last func, i.e., > func3's last PC. */
- err = sframe_find_fre (dctx, (0xfffff10e + 0x40 + 0x10), &frep);
- TEST("findfunc-1: test-4: Find FRE for PC not in range",
- (err == SFRAME_ERR));
+ lookup_pc = func3_start_vaddr + func3_size + 0x10 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: test-4: Find FRE for PC not in range",
+ err == SFRAME_ERR);
/* And some positive tests... */
/* Find an FRE for PC in FDE1. */
- err = sframe_find_fre (dctx, (0xfffff03e + 0x9), &frep);
- TEST("findfunc-1: Find FRE in FDE1",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x2)));
+ lookup_pc = func1_start_vaddr + 0x9 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: Find FRE in FDE1",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x2));
/* Find an FRE for PC in FDE2. */
- err = sframe_find_fre (dctx, (0xfffff08e + 0x11), &frep);
- TEST("findfunc-1: Find FRE in FDE2",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x12)));
+ lookup_pc = func2_start_vaddr + 0x11 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: Find FRE in FDE2",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x12));
/* Find an FRE for PC in FDE3. */
- err = sframe_find_fre (dctx, (0xfffff10e + 0x10), &frep);
- TEST("findfunc-1: Find FRE in FDE3",
- ((err == 0) && (sframe_fre_get_cfa_offset(dctx, &frep, &err) == 0x18)));
+ lookup_pc = func3_start_vaddr + 0x10 - sframe_vaddr;
+ err = sframe_find_fre (dctx, lookup_pc, &frep);
+ TEST ("findfunc-1: Find FRE in FDE3",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x18));
sframe_encoder_free (&encode);
sframe_decoder_free (&dctx);
+}
- return 0;
+int main (void)
+{
+ uint32_t sframe_vaddr = 0x4b5620;
+ uint32_t text_vaddr = 0x4038b0;
+ printf ("Testing with text_vaddr = %#x; sframe_vaddr = %#x\n", text_vaddr,
+ sframe_vaddr);
+ test_text_findfre (text_vaddr, sframe_vaddr);
+
+ sframe_vaddr = 0x4038b0;
+ text_vaddr = 0x4b5620;
+ printf ("Testing with text_vaddr = %#x; sframe_vaddr = %#x\n", text_vaddr,
+ sframe_vaddr);
+ test_text_findfre (text_vaddr, sframe_vaddr);
}
diff --git a/libsframe/testsuite/libsframe.find/plt-findfre-1.c b/libsframe/testsuite/libsframe.find/plt-findfre-1.c
index c84b46f..89ca466 100644
--- a/libsframe/testsuite/libsframe.find/plt-findfre-1.c
+++ b/libsframe/testsuite/libsframe.find/plt-findfre-1.c
@@ -28,12 +28,13 @@
#include <dejagnu.h>
static int
-add_plt_fde1 (sframe_encoder_ctx *ectx, int idx)
+add_plt_fde1 (sframe_encoder_ctx *ectx, uint32_t plt_vaddr,
+ uint32_t sframe_vaddr, int idx)
{
- int i, err;
/* A contiguous block containing 3 FREs. The start_ip_offset must remain
less than 16 bytes. */
- sframe_frame_row_entry fres[]
+#define PLT1_NUM_FRES 3
+ sframe_frame_row_entry fres[PLT1_NUM_FRES]
= { {0x0, {0x1, 0, 0}, 0x3},
{0x6, {0x2, 0xf0, 0}, 0x5},
{0xc, {0x3, 0xf0, 0}, 0x4}
@@ -41,19 +42,26 @@ add_plt_fde1 (sframe_encoder_ctx *ectx, int idx)
unsigned char finfo = sframe_fde_create_func_info (SFRAME_FRE_TYPE_ADDR1,
SFRAME_FDE_TYPE_PCMASK);
+ int32_t func_start_addr = plt_vaddr - sframe_vaddr;
+
/* 5 pltN entries of 16 bytes each. */
- err = sframe_encoder_add_funcdesc_v2 (ectx, 0x1000, 16*5, finfo, 16, 3);
+ int err = sframe_encoder_add_funcdesc_v2 (ectx, func_start_addr,
+ 16 * 5 /* func size in bytes. */,
+ finfo,
+ 16 /* rep block size in bytes. */,
+ PLT1_NUM_FRES);
if (err == -1)
return err;
- for (i = 0; i < 3; i++)
- if (sframe_encoder_add_fre (ectx, idx, fres+i) == SFRAME_ERR)
+ for (unsigned i = 0; i < PLT1_NUM_FRES; i++)
+ if (sframe_encoder_add_fre (ectx, idx, fres + i) == SFRAME_ERR)
return -1;
return 0;
}
-int main (void)
+static
+void test_plt_findfre (uint32_t plt_vaddr, uint32_t sframe_vaddr)
{
sframe_encoder_ctx *ectx;
sframe_decoder_ctx *dctx;
@@ -61,7 +69,7 @@ int main (void)
char *sframe_buf;
size_t sf_size;
int err = 0;
- unsigned int fde_cnt = 0;
+ uint32_t fde_cnt = 0;
#define TEST(name, cond) \
do \
@@ -78,7 +86,7 @@ int main (void)
-8, /* Fixed RA offset for AMD64. */
&err);
- err = add_plt_fde1 (ectx, 0);
+ err = add_plt_fde1 (ectx, plt_vaddr, sframe_vaddr, 0);
TEST ("plt-findfre-1: Adding FDE1 for plt", err == 0);
fde_cnt = sframe_encoder_get_num_fidx (ectx);
@@ -88,40 +96,57 @@ int main (void)
TEST ("plt-findfre-1: Encoder write", err == 0);
dctx = sframe_decode (sframe_buf, sf_size, &err);
- TEST("plt-findfre-1: Decoder setup", dctx != NULL);
+ TEST ("plt-findfre-1: Decoder setup", dctx != NULL);
/* Find the first FRE in PLT1. */
- err = sframe_find_fre (dctx, (0x1000 + 0x0), &frep);
- TEST("plt-findfre-1: Find first FRE in PLT1",
- ((err == 0) && (sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x1)));
+ err = sframe_find_fre (dctx, (plt_vaddr + 0x0 - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find first FRE in PLT1",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x1));
/* Find the second FRE. */
- err = sframe_find_fre (dctx, (0x1000 + 0x6), &frep);
- TEST("plt-findfre-1: Find second FRE in PLT1",
- ((err == 0) && (sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x2)));
+ err = sframe_find_fre (dctx, (plt_vaddr + 0x6 - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find second FRE in PLT1",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x2));
/* Find the last FRE. */
- err = sframe_find_fre (dctx, (0x1000 + 0xc), &frep);
- TEST("plt-findfre-1: Find last FRE in PLT1",
- ((err == 0) && (sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x3)));
+ err = sframe_find_fre (dctx, (plt_vaddr + 0xc - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find last FRE in PLT1",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x3));
/* Find the first FRE in PLT4. */
- err = sframe_find_fre (dctx, (0x1000 + 16*3 + 0x0), &frep);
- TEST("plt-findfre-1: Find first FRE in PLT4",
- ((err == 0) && (sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x1)));
+ err = sframe_find_fre (dctx, (plt_vaddr + 16*3 + 0x0 - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find first FRE in PLT4",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x1));
/* Find the second FRE in PLT4. */
- err = sframe_find_fre (dctx, (0x1000 + 16*3 + 0x6), &frep);
- TEST("plt-findfre-1: Find second FRE in PLT4",
- ((err == 0) && (sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x2)));
+ err = sframe_find_fre (dctx, (plt_vaddr + 16*3 + 0x6 - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find second FRE in PLT4",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x2));
/* Find the last FRE in PLT4. */
- err = sframe_find_fre (dctx, (0x1000 + 16*3 + 0xc), &frep);
- TEST("plt-findfre-1: Find last FRE in PLT4",
- ((err == 0) && (sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x3)));
+ err = sframe_find_fre (dctx, (plt_vaddr + 16*3 + 0xc - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find last FRE in PLT4",
+ (err == 0 && sframe_fre_get_cfa_offset (dctx, &frep, &err) == 0x3));
+
+ /* Find no FRE for out of range PLT6. */
+ err = sframe_find_fre (dctx, (plt_vaddr + 16*5 + 0x0 - sframe_vaddr), &frep);
+ TEST ("plt-findfre-1: Find no FRE for out of range PLT6", err != 0);
sframe_encoder_free (&ectx);
sframe_decoder_free (&dctx);
+}
- return 0;
+int main (void)
+{
+ uint32_t sframe_vaddr = 0x402220;
+ uint32_t plt_vaddr = 0x401020;
+ printf ("Testing with plt_vaddr = %#x; sframe_vaddr = %#x\n", plt_vaddr,
+ sframe_vaddr);
+ test_plt_findfre (plt_vaddr, sframe_vaddr);
+
+ sframe_vaddr = 0x401020;
+ plt_vaddr = 0x402220;
+ printf ("Testing with plt_vaddr = %#x; sframe_vaddr = %#x\n", plt_vaddr,
+ sframe_vaddr);
+ test_plt_findfre (plt_vaddr, sframe_vaddr);
}
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index 799825c..9630c04 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -135,478 +135,599 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 629: /* ubfm */
value = 629; /* --> ubfm. */
break;
- case 665: /* cset */
- case 664: /* cinc */
- case 663: /* csinc */
- value = 663; /* --> csinc. */
- break;
- case 668: /* csetm */
- case 667: /* cinv */
- case 666: /* csinv */
- value = 666; /* --> csinv. */
- break;
- case 670: /* cneg */
- case 669: /* csneg */
- value = 669; /* --> csneg. */
- break;
- case 688: /* rev */
- case 689: /* rev64 */
- value = 688; /* --> rev. */
- break;
- case 714: /* lsl */
- case 713: /* lslv */
- value = 713; /* --> lslv. */
- break;
- case 716: /* lsr */
- case 715: /* lsrv */
- value = 715; /* --> lsrv. */
- break;
- case 718: /* asr */
- case 717: /* asrv */
- value = 717; /* --> asrv. */
- break;
- case 720: /* ror */
- case 719: /* rorv */
- value = 719; /* --> rorv. */
- break;
- case 723: /* cmpp */
- case 722: /* subps */
- value = 722; /* --> subps. */
- break;
- case 736: /* mul */
- case 735: /* madd */
- value = 735; /* --> madd. */
- break;
- case 738: /* mneg */
- case 737: /* msub */
- value = 737; /* --> msub. */
- break;
- case 740: /* smull */
- case 739: /* smaddl */
- value = 739; /* --> smaddl. */
- break;
- case 742: /* smnegl */
- case 741: /* smsubl */
- value = 741; /* --> smsubl. */
- break;
- case 745: /* umull */
- case 744: /* umaddl */
- value = 744; /* --> umaddl. */
- break;
- case 747: /* umnegl */
- case 746: /* umsubl */
- value = 746; /* --> umsubl. */
- break;
- case 759: /* ror */
- case 758: /* extr */
- value = 758; /* --> extr. */
- break;
- case 996: /* bic */
- case 995: /* and */
- value = 995; /* --> and. */
- break;
- case 998: /* mov */
- case 997: /* orr */
- value = 997; /* --> orr. */
- break;
- case 1001: /* tst */
- case 1000: /* ands */
- value = 1000; /* --> ands. */
- break;
- case 1006: /* uxtw */
- case 1005: /* mov */
- case 1004: /* orr */
- value = 1004; /* --> orr. */
+ case 659: /* cblt */
+ case 658: /* cbgt */
+ value = 658; /* --> cbgt. */
+ break;
+ case 661: /* cble */
+ case 660: /* cbge */
+ value = 660; /* --> cbge. */
+ break;
+ case 663: /* cblo */
+ case 662: /* cbhi */
+ value = 662; /* --> cbhi. */
+ break;
+ case 665: /* cbls */
+ case 664: /* cbhs */
+ value = 664; /* --> cbhs. */
+ break;
+ case 669: /* cbge */
+ case 668: /* cbgt */
+ value = 668; /* --> cbgt. */
+ break;
+ case 671: /* cble */
+ case 670: /* cblt */
+ value = 670; /* --> cblt. */
+ break;
+ case 673: /* cbhs */
+ case 672: /* cbhi */
+ value = 672; /* --> cbhi. */
+ break;
+ case 675: /* cbls */
+ case 674: /* cblo */
+ value = 674; /* --> cblo. */
+ break;
+ case 679: /* cbblt */
+ case 678: /* cbbgt */
+ value = 678; /* --> cbbgt. */
+ break;
+ case 681: /* cbble */
+ case 680: /* cbbge */
+ value = 680; /* --> cbbge. */
+ break;
+ case 683: /* cbblo */
+ case 682: /* cbbhi */
+ value = 682; /* --> cbbhi. */
+ break;
+ case 685: /* cbbls */
+ case 684: /* cbbhs */
+ value = 684; /* --> cbbhs. */
+ break;
+ case 689: /* cbhlt */
+ case 688: /* cbhgt */
+ value = 688; /* --> cbhgt. */
+ break;
+ case 691: /* cbhle */
+ case 690: /* cbhge */
+ value = 690; /* --> cbhge. */
+ break;
+ case 693: /* cbhlo */
+ case 692: /* cbhhi */
+ value = 692; /* --> cbhhi. */
+ break;
+ case 695: /* cbhls */
+ case 694: /* cbhhs */
+ value = 694; /* --> cbhhs. */
+ break;
+ case 705: /* cset */
+ case 704: /* cinc */
+ case 703: /* csinc */
+ value = 703; /* --> csinc. */
+ break;
+ case 708: /* csetm */
+ case 707: /* cinv */
+ case 706: /* csinv */
+ value = 706; /* --> csinv. */
+ break;
+ case 710: /* cneg */
+ case 709: /* csneg */
+ value = 709; /* --> csneg. */
+ break;
+ case 729: /* rev64 */
+ case 728: /* rev */
+ value = 728; /* --> rev. */
+ break;
+ case 754: /* lsl */
+ case 753: /* lslv */
+ value = 753; /* --> lslv. */
+ break;
+ case 756: /* lsr */
+ case 755: /* lsrv */
+ value = 755; /* --> lsrv. */
+ break;
+ case 758: /* asr */
+ case 757: /* asrv */
+ value = 757; /* --> asrv. */
+ break;
+ case 760: /* ror */
+ case 759: /* rorv */
+ value = 759; /* --> rorv. */
+ break;
+ case 763: /* cmpp */
+ case 762: /* subps */
+ value = 762; /* --> subps. */
+ break;
+ case 776: /* mul */
+ case 775: /* madd */
+ value = 775; /* --> madd. */
+ break;
+ case 778: /* mneg */
+ case 777: /* msub */
+ value = 777; /* --> msub. */
+ break;
+ case 780: /* smull */
+ case 779: /* smaddl */
+ value = 779; /* --> smaddl. */
+ break;
+ case 782: /* smnegl */
+ case 781: /* smsubl */
+ value = 781; /* --> smsubl. */
+ break;
+ case 785: /* umull */
+ case 784: /* umaddl */
+ value = 784; /* --> umaddl. */
+ break;
+ case 787: /* umnegl */
+ case 786: /* umsubl */
+ value = 786; /* --> umsubl. */
+ break;
+ case 799: /* ror */
+ case 798: /* extr */
+ value = 798; /* --> extr. */
+ break;
+ case 1048: /* bic */
+ case 1047: /* and */
+ value = 1047; /* --> and. */
+ break;
+ case 1050: /* mov */
+ case 1049: /* orr */
+ value = 1049; /* --> orr. */
+ break;
+ case 1053: /* tst */
+ case 1052: /* ands */
+ value = 1052; /* --> ands. */
+ break;
+ case 1058: /* uxtw */
+ case 1057: /* mov */
+ case 1056: /* orr */
+ value = 1056; /* --> orr. */
break;
- case 1008: /* mvn */
- case 1007: /* orn */
- value = 1007; /* --> orn. */
+ case 1060: /* mvn */
+ case 1059: /* orn */
+ value = 1059; /* --> orn. */
break;
- case 1012: /* tst */
- case 1011: /* ands */
- value = 1011; /* --> ands. */
+ case 1064: /* tst */
+ case 1063: /* ands */
+ value = 1063; /* --> ands. */
break;
- case 1138: /* staddb */
- case 1042: /* ldaddb */
- value = 1042; /* --> ldaddb. */
+ case 1190: /* staddb */
+ case 1094: /* ldaddb */
+ value = 1094; /* --> ldaddb. */
break;
- case 1139: /* staddh */
- case 1043: /* ldaddh */
- value = 1043; /* --> ldaddh. */
+ case 1191: /* staddh */
+ case 1095: /* ldaddh */
+ value = 1095; /* --> ldaddh. */
break;
- case 1140: /* stadd */
- case 1044: /* ldadd */
- value = 1044; /* --> ldadd. */
+ case 1192: /* stadd */
+ case 1096: /* ldadd */
+ value = 1096; /* --> ldadd. */
break;
- case 1141: /* staddlb */
- case 1046: /* ldaddlb */
- value = 1046; /* --> ldaddlb. */
+ case 1193: /* staddlb */
+ case 1098: /* ldaddlb */
+ value = 1098; /* --> ldaddlb. */
break;
- case 1142: /* staddlh */
- case 1049: /* ldaddlh */
- value = 1049; /* --> ldaddlh. */
+ case 1194: /* staddlh */
+ case 1101: /* ldaddlh */
+ value = 1101; /* --> ldaddlh. */
break;
- case 1143: /* staddl */
- case 1052: /* ldaddl */
- value = 1052; /* --> ldaddl. */
+ case 1195: /* staddl */
+ case 1104: /* ldaddl */
+ value = 1104; /* --> ldaddl. */
break;
- case 1144: /* stclrb */
- case 1054: /* ldclrb */
- value = 1054; /* --> ldclrb. */
+ case 1196: /* stclrb */
+ case 1106: /* ldclrb */
+ value = 1106; /* --> ldclrb. */
break;
- case 1145: /* stclrh */
- case 1055: /* ldclrh */
- value = 1055; /* --> ldclrh. */
+ case 1197: /* stclrh */
+ case 1107: /* ldclrh */
+ value = 1107; /* --> ldclrh. */
break;
- case 1146: /* stclr */
- case 1056: /* ldclr */
- value = 1056; /* --> ldclr. */
+ case 1198: /* stclr */
+ case 1108: /* ldclr */
+ value = 1108; /* --> ldclr. */
break;
- case 1147: /* stclrlb */
- case 1058: /* ldclrlb */
- value = 1058; /* --> ldclrlb. */
+ case 1199: /* stclrlb */
+ case 1110: /* ldclrlb */
+ value = 1110; /* --> ldclrlb. */
break;
- case 1148: /* stclrlh */
- case 1061: /* ldclrlh */
- value = 1061; /* --> ldclrlh. */
+ case 1200: /* stclrlh */
+ case 1113: /* ldclrlh */
+ value = 1113; /* --> ldclrlh. */
break;
- case 1149: /* stclrl */
- case 1064: /* ldclrl */
- value = 1064; /* --> ldclrl. */
+ case 1201: /* stclrl */
+ case 1116: /* ldclrl */
+ value = 1116; /* --> ldclrl. */
break;
- case 1150: /* steorb */
- case 1066: /* ldeorb */
- value = 1066; /* --> ldeorb. */
+ case 1202: /* steorb */
+ case 1118: /* ldeorb */
+ value = 1118; /* --> ldeorb. */
break;
- case 1151: /* steorh */
- case 1067: /* ldeorh */
- value = 1067; /* --> ldeorh. */
+ case 1203: /* steorh */
+ case 1119: /* ldeorh */
+ value = 1119; /* --> ldeorh. */
break;
- case 1152: /* steor */
- case 1068: /* ldeor */
- value = 1068; /* --> ldeor. */
+ case 1204: /* steor */
+ case 1120: /* ldeor */
+ value = 1120; /* --> ldeor. */
break;
- case 1153: /* steorlb */
- case 1070: /* ldeorlb */
- value = 1070; /* --> ldeorlb. */
+ case 1205: /* steorlb */
+ case 1122: /* ldeorlb */
+ value = 1122; /* --> ldeorlb. */
break;
- case 1154: /* steorlh */
- case 1073: /* ldeorlh */
- value = 1073; /* --> ldeorlh. */
+ case 1206: /* steorlh */
+ case 1125: /* ldeorlh */
+ value = 1125; /* --> ldeorlh. */
break;
- case 1155: /* steorl */
- case 1076: /* ldeorl */
- value = 1076; /* --> ldeorl. */
+ case 1207: /* steorl */
+ case 1128: /* ldeorl */
+ value = 1128; /* --> ldeorl. */
break;
- case 1156: /* stsetb */
- case 1078: /* ldsetb */
- value = 1078; /* --> ldsetb. */
+ case 1208: /* stsetb */
+ case 1130: /* ldsetb */
+ value = 1130; /* --> ldsetb. */
break;
- case 1157: /* stseth */
- case 1079: /* ldseth */
- value = 1079; /* --> ldseth. */
+ case 1209: /* stseth */
+ case 1131: /* ldseth */
+ value = 1131; /* --> ldseth. */
break;
- case 1158: /* stset */
- case 1080: /* ldset */
- value = 1080; /* --> ldset. */
+ case 1210: /* stset */
+ case 1132: /* ldset */
+ value = 1132; /* --> ldset. */
break;
- case 1159: /* stsetlb */
- case 1082: /* ldsetlb */
- value = 1082; /* --> ldsetlb. */
+ case 1211: /* stsetlb */
+ case 1134: /* ldsetlb */
+ value = 1134; /* --> ldsetlb. */
break;
- case 1160: /* stsetlh */
- case 1085: /* ldsetlh */
- value = 1085; /* --> ldsetlh. */
+ case 1212: /* stsetlh */
+ case 1137: /* ldsetlh */
+ value = 1137; /* --> ldsetlh. */
break;
- case 1161: /* stsetl */
- case 1088: /* ldsetl */
- value = 1088; /* --> ldsetl. */
+ case 1213: /* stsetl */
+ case 1140: /* ldsetl */
+ value = 1140; /* --> ldsetl. */
break;
- case 1162: /* stsmaxb */
- case 1090: /* ldsmaxb */
- value = 1090; /* --> ldsmaxb. */
+ case 1214: /* stsmaxb */
+ case 1142: /* ldsmaxb */
+ value = 1142; /* --> ldsmaxb. */
break;
- case 1163: /* stsmaxh */
- case 1091: /* ldsmaxh */
- value = 1091; /* --> ldsmaxh. */
+ case 1215: /* stsmaxh */
+ case 1143: /* ldsmaxh */
+ value = 1143; /* --> ldsmaxh. */
break;
- case 1164: /* stsmax */
- case 1092: /* ldsmax */
- value = 1092; /* --> ldsmax. */
- break;
- case 1165: /* stsmaxlb */
- case 1094: /* ldsmaxlb */
- value = 1094; /* --> ldsmaxlb. */
- break;
- case 1166: /* stsmaxlh */
- case 1097: /* ldsmaxlh */
- value = 1097; /* --> ldsmaxlh. */
- break;
- case 1167: /* stsmaxl */
- case 1100: /* ldsmaxl */
- value = 1100; /* --> ldsmaxl. */
- break;
- case 1168: /* stsminb */
- case 1102: /* ldsminb */
- value = 1102; /* --> ldsminb. */
- break;
- case 1169: /* stsminh */
- case 1103: /* ldsminh */
- value = 1103; /* --> ldsminh. */
- break;
- case 1170: /* stsmin */
- case 1104: /* ldsmin */
- value = 1104; /* --> ldsmin. */
- break;
- case 1171: /* stsminlb */
- case 1106: /* ldsminlb */
- value = 1106; /* --> ldsminlb. */
- break;
- case 1172: /* stsminlh */
- case 1109: /* ldsminlh */
- value = 1109; /* --> ldsminlh. */
- break;
- case 1173: /* stsminl */
- case 1112: /* ldsminl */
- value = 1112; /* --> ldsminl. */
- break;
- case 1174: /* stumaxb */
- case 1114: /* ldumaxb */
- value = 1114; /* --> ldumaxb. */
- break;
- case 1175: /* stumaxh */
- case 1115: /* ldumaxh */
- value = 1115; /* --> ldumaxh. */
- break;
- case 1176: /* stumax */
- case 1116: /* ldumax */
- value = 1116; /* --> ldumax. */
- break;
- case 1177: /* stumaxlb */
- case 1118: /* ldumaxlb */
- value = 1118; /* --> ldumaxlb. */
- break;
- case 1178: /* stumaxlh */
- case 1121: /* ldumaxlh */
- value = 1121; /* --> ldumaxlh. */
- break;
- case 1179: /* stumaxl */
- case 1124: /* ldumaxl */
- value = 1124; /* --> ldumaxl. */
- break;
- case 1180: /* stuminb */
- case 1126: /* lduminb */
- value = 1126; /* --> lduminb. */
- break;
- case 1181: /* stuminh */
- case 1127: /* lduminh */
- value = 1127; /* --> lduminh. */
- break;
- case 1182: /* stumin */
- case 1128: /* ldumin */
- value = 1128; /* --> ldumin. */
- break;
- case 1183: /* stuminlb */
- case 1130: /* lduminlb */
- value = 1130; /* --> lduminlb. */
- break;
- case 1184: /* stuminlh */
- case 1133: /* lduminlh */
- value = 1133; /* --> lduminlh. */
- break;
- case 1185: /* stuminl */
- case 1136: /* lduminl */
- value = 1136; /* --> lduminl. */
- break;
- case 1217: /* mov */
- case 1216: /* movn */
- value = 1216; /* --> movn. */
- break;
- case 1219: /* mov */
- case 1218: /* movz */
- value = 1218; /* --> movz. */
- break;
- case 3216: /* clrbhb */
- case 1299: /* autibsp */
- case 1298: /* autibz */
- case 1297: /* autiasp */
- case 1296: /* autiaz */
- case 1295: /* pacibsp */
- case 1294: /* pacibz */
- case 1293: /* paciasp */
- case 1292: /* paciaz */
- case 1271: /* gcsb */
- case 1251: /* clearbhb */
- case 1250: /* tsb */
- case 1249: /* psb */
- case 1248: /* esb */
- case 1247: /* autib1716 */
- case 1246: /* autia1716 */
- case 1245: /* pacib1716 */
- case 1244: /* pacia1716 */
- case 1243: /* xpaclri */
- case 1241: /* sevl */
- case 1240: /* sev */
- case 1239: /* wfi */
- case 1238: /* wfe */
- case 1237: /* yield */
- case 1236: /* bti */
- case 1235: /* csdb */
- case 1234: /* nop */
- case 1233: /* hint */
- value = 1233; /* --> hint. */
- break;
- case 1257: /* pssbb */
- case 1256: /* ssbb */
- case 1255: /* dfb */
- case 1253: /* dsb */
- value = 1253; /* --> dsb. */
- break;
- case 1254: /* dsb */
- value = 1254; /* --> dsb. */
- break;
- case 3217: /* trcit */
- case 1285: /* brb */
- case 1284: /* cosp */
- case 1283: /* cpp */
- case 1282: /* dvp */
- case 1281: /* cfp */
- case 1277: /* tlbi */
- case 1276: /* ic */
- case 1275: /* dc */
- case 1274: /* at */
- case 1272: /* sys */
- value = 1272; /* --> sys. */
- break;
- case 1278: /* tlbip */
- case 1273: /* sysp */
- value = 1273; /* --> sysp. */
- break;
- case 1279: /* wfet */
- value = 1279; /* --> wfet. */
- break;
- case 1280: /* wfit */
- value = 1280; /* --> wfit. */
- break;
- case 2101: /* bic */
- case 1348: /* and */
- value = 1348; /* --> and. */
- break;
- case 1331: /* mov */
- case 1350: /* and */
- value = 1350; /* --> and. */
- break;
- case 1335: /* movs */
- case 1351: /* ands */
- value = 1351; /* --> ands. */
- break;
- case 2102: /* cmple */
- case 1386: /* cmpge */
- value = 1386; /* --> cmpge. */
- break;
- case 2105: /* cmplt */
- case 1389: /* cmpgt */
- value = 1389; /* --> cmpgt. */
- break;
- case 2103: /* cmplo */
- case 1391: /* cmphi */
- value = 1391; /* --> cmphi. */
- break;
- case 2104: /* cmpls */
- case 1394: /* cmphs */
- value = 1394; /* --> cmphs. */
- break;
- case 1328: /* mov */
- case 1416: /* cpy */
- value = 1416; /* --> cpy. */
- break;
- case 1330: /* mov */
- case 1417: /* cpy */
- value = 1417; /* --> cpy. */
- break;
- case 2112: /* fmov */
- case 1333: /* mov */
- case 1418: /* cpy */
- value = 1418; /* --> cpy. */
- break;
- case 1322: /* mov */
- case 1430: /* dup */
- value = 1430; /* --> dup. */
- break;
- case 1325: /* mov */
- case 1321: /* mov */
- case 1431: /* dup */
- value = 1431; /* --> dup. */
- break;
- case 2111: /* fmov */
- case 1327: /* mov */
- case 1432: /* dup */
- value = 1432; /* --> dup. */
- break;
- case 1326: /* mov */
- case 1433: /* dupm */
- value = 1433; /* --> dupm. */
- break;
- case 2106: /* eon */
- case 1435: /* eor */
- value = 1435; /* --> eor. */
- break;
- case 1336: /* not */
- case 1437: /* eor */
- value = 1437; /* --> eor. */
- break;
- case 1337: /* nots */
- case 1438: /* eors */
- value = 1438; /* --> eors. */
- break;
- case 2107: /* facle */
- case 1443: /* facge */
- value = 1443; /* --> facge. */
- break;
- case 2108: /* faclt */
- case 1444: /* facgt */
- value = 1444; /* --> facgt. */
- break;
- case 2109: /* fcmle */
- case 1457: /* fcmge */
- value = 1457; /* --> fcmge. */
- break;
- case 2110: /* fcmlt */
- case 1459: /* fcmgt */
- value = 1459; /* --> fcmgt. */
+ case 1216: /* stsmax */
+ case 1144: /* ldsmax */
+ value = 1144; /* --> ldsmax. */
+ break;
+ case 1217: /* stsmaxlb */
+ case 1146: /* ldsmaxlb */
+ value = 1146; /* --> ldsmaxlb. */
+ break;
+ case 1218: /* stsmaxlh */
+ case 1149: /* ldsmaxlh */
+ value = 1149; /* --> ldsmaxlh. */
+ break;
+ case 1219: /* stsmaxl */
+ case 1152: /* ldsmaxl */
+ value = 1152; /* --> ldsmaxl. */
+ break;
+ case 1220: /* stsminb */
+ case 1154: /* ldsminb */
+ value = 1154; /* --> ldsminb. */
+ break;
+ case 1221: /* stsminh */
+ case 1155: /* ldsminh */
+ value = 1155; /* --> ldsminh. */
+ break;
+ case 1222: /* stsmin */
+ case 1156: /* ldsmin */
+ value = 1156; /* --> ldsmin. */
+ break;
+ case 1223: /* stsminlb */
+ case 1158: /* ldsminlb */
+ value = 1158; /* --> ldsminlb. */
+ break;
+ case 1224: /* stsminlh */
+ case 1161: /* ldsminlh */
+ value = 1161; /* --> ldsminlh. */
+ break;
+ case 1225: /* stsminl */
+ case 1164: /* ldsminl */
+ value = 1164; /* --> ldsminl. */
+ break;
+ case 1226: /* stumaxb */
+ case 1166: /* ldumaxb */
+ value = 1166; /* --> ldumaxb. */
+ break;
+ case 1227: /* stumaxh */
+ case 1167: /* ldumaxh */
+ value = 1167; /* --> ldumaxh. */
+ break;
+ case 1228: /* stumax */
+ case 1168: /* ldumax */
+ value = 1168; /* --> ldumax. */
+ break;
+ case 1229: /* stumaxlb */
+ case 1170: /* ldumaxlb */
+ value = 1170; /* --> ldumaxlb. */
+ break;
+ case 1230: /* stumaxlh */
+ case 1173: /* ldumaxlh */
+ value = 1173; /* --> ldumaxlh. */
+ break;
+ case 1231: /* stumaxl */
+ case 1176: /* ldumaxl */
+ value = 1176; /* --> ldumaxl. */
+ break;
+ case 1232: /* stuminb */
+ case 1178: /* lduminb */
+ value = 1178; /* --> lduminb. */
+ break;
+ case 1233: /* stuminh */
+ case 1179: /* lduminh */
+ value = 1179; /* --> lduminh. */
+ break;
+ case 1234: /* stumin */
+ case 1180: /* ldumin */
+ value = 1180; /* --> ldumin. */
+ break;
+ case 1235: /* stuminlb */
+ case 1182: /* lduminlb */
+ value = 1182; /* --> lduminlb. */
+ break;
+ case 1236: /* stuminlh */
+ case 1185: /* lduminlh */
+ value = 1185; /* --> lduminlh. */
+ break;
+ case 1237: /* stuminl */
+ case 1188: /* lduminl */
+ value = 1188; /* --> lduminl. */
+ break;
+ case 1269: /* mov */
+ case 1268: /* movn */
+ value = 1268; /* --> movn. */
+ break;
+ case 1271: /* mov */
+ case 1270: /* movz */
+ value = 1270; /* --> movz. */
+ break;
+ case 3316: /* clrbhb */
+ case 1351: /* autibsp */
+ case 1350: /* autibz */
+ case 1349: /* autiasp */
+ case 1348: /* autiaz */
+ case 1347: /* pacibsp */
+ case 1346: /* pacibz */
+ case 1345: /* paciasp */
+ case 1344: /* paciaz */
+ case 1323: /* gcsb */
+ case 1303: /* clearbhb */
+ case 1302: /* tsb */
+ case 1301: /* psb */
+ case 1300: /* esb */
+ case 1299: /* autib1716 */
+ case 1298: /* autia1716 */
+ case 1297: /* pacib1716 */
+ case 1296: /* pacia1716 */
+ case 1295: /* xpaclri */
+ case 1294: /* dgh */
+ case 1293: /* sevl */
+ case 1292: /* sev */
+ case 1291: /* wfi */
+ case 1290: /* wfe */
+ case 1289: /* yield */
+ case 1288: /* bti */
+ case 1287: /* csdb */
+ case 1286: /* nop */
+ case 1285: /* hint */
+ value = 1285; /* --> hint. */
+ break;
+ case 1309: /* pssbb */
+ case 1308: /* ssbb */
+ case 1307: /* dfb */
+ case 1305: /* dsb */
+ value = 1305; /* --> dsb. */
+ break;
+ case 1306: /* dsb */
+ value = 1306; /* --> dsb. */
+ break;
+ case 3317: /* trcit */
+ case 1337: /* brb */
+ case 1336: /* cosp */
+ case 1335: /* cpp */
+ case 1334: /* dvp */
+ case 1333: /* cfp */
+ case 1329: /* tlbi */
+ case 1328: /* ic */
+ case 1327: /* dc */
+ case 1326: /* at */
+ case 1324: /* sys */
+ value = 1324; /* --> sys. */
+ break;
+ case 1330: /* tlbip */
+ case 1325: /* sysp */
+ value = 1325; /* --> sysp. */
+ break;
+ case 1331: /* wfet */
+ value = 1331; /* --> wfet. */
+ break;
+ case 1332: /* wfit */
+ value = 1332; /* --> wfit. */
+ break;
+ case 2137: /* bic */
+ case 1400: /* and */
+ value = 1400; /* --> and. */
+ break;
+ case 1383: /* mov */
+ case 1402: /* and */
+ value = 1402; /* --> and. */
+ break;
+ case 1387: /* movs */
+ case 1403: /* ands */
+ value = 1403; /* --> ands. */
+ break;
+ case 2138: /* cmple */
+ case 1438: /* cmpge */
+ value = 1438; /* --> cmpge. */
+ break;
+ case 2141: /* cmplt */
+ case 1441: /* cmpgt */
+ value = 1441; /* --> cmpgt. */
+ break;
+ case 2139: /* cmplo */
+ case 1443: /* cmphi */
+ value = 1443; /* --> cmphi. */
+ break;
+ case 2140: /* cmpls */
+ case 1446: /* cmphs */
+ value = 1446; /* --> cmphs. */
+ break;
+ case 1380: /* mov */
+ case 1468: /* cpy */
+ value = 1468; /* --> cpy. */
+ break;
+ case 1382: /* mov */
+ case 1469: /* cpy */
+ value = 1469; /* --> cpy. */
+ break;
+ case 2148: /* fmov */
+ case 1385: /* mov */
+ case 1470: /* cpy */
+ value = 1470; /* --> cpy. */
+ break;
+ case 1374: /* mov */
+ case 1482: /* dup */
+ value = 1482; /* --> dup. */
+ break;
+ case 1377: /* mov */
+ case 1373: /* mov */
+ case 1483: /* dup */
+ value = 1483; /* --> dup. */
+ break;
+ case 2147: /* fmov */
+ case 1379: /* mov */
+ case 1484: /* dup */
+ value = 1484; /* --> dup. */
+ break;
+ case 1378: /* mov */
+ case 1485: /* dupm */
+ value = 1485; /* --> dupm. */
+ break;
+ case 2142: /* eon */
+ case 1487: /* eor */
+ value = 1487; /* --> eor. */
+ break;
+ case 1388: /* not */
+ case 1489: /* eor */
+ value = 1489; /* --> eor. */
+ break;
+ case 1389: /* nots */
+ case 1490: /* eors */
+ value = 1490; /* --> eors. */
+ break;
+ case 2143: /* facle */
+ case 1495: /* facge */
+ value = 1495; /* --> facge. */
+ break;
+ case 2144: /* faclt */
+ case 1496: /* facgt */
+ value = 1496; /* --> facgt. */
+ break;
+ case 2145: /* fcmle */
+ case 1509: /* fcmge */
+ value = 1509; /* --> fcmge. */
+ break;
+ case 2146: /* fcmlt */
+ case 1511: /* fcmgt */
+ value = 1511; /* --> fcmgt. */
break;
- case 1319: /* fmov */
- case 1465: /* fcpy */
- value = 1465; /* --> fcpy. */
+ case 1371: /* fmov */
+ case 1517: /* fcpy */
+ value = 1517; /* --> fcpy. */
break;
- case 1318: /* fmov */
- case 1488: /* fdup */
- value = 1488; /* --> fdup. */
+ case 1370: /* fmov */
+ case 1540: /* fdup */
+ value = 1540; /* --> fdup. */
break;
- case 1320: /* mov */
- case 1820: /* orr */
- value = 1820; /* --> orr. */
+ case 1826: /* ldr */
+ case 1825: /* ldr */
+ value = 1825; /* --> ldr. */
break;
- case 2113: /* orn */
- case 1821: /* orr */
- value = 1821; /* --> orr. */
+ case 1372: /* mov */
+ case 1856: /* orr */
+ value = 1856; /* --> orr. */
break;
- case 1324: /* mov */
- case 1323: /* mov */
- case 1823: /* orr */
- value = 1823; /* --> orr. */
+ case 2149: /* orn */
+ case 1857: /* orr */
+ value = 1857; /* --> orr. */
break;
- case 1334: /* movs */
- case 1824: /* orrs */
- value = 1824; /* --> orrs. */
+ case 1376: /* mov */
+ case 1375: /* mov */
+ case 1859: /* orr */
+ value = 1859; /* --> orr. */
break;
- case 1329: /* mov */
- case 1887: /* sel */
- value = 1887; /* --> sel. */
+ case 1386: /* movs */
+ case 1860: /* orrs */
+ value = 1860; /* --> orrs. */
break;
- case 1332: /* mov */
- case 1888: /* sel */
- value = 1888; /* --> sel. */
+ case 1863: /* pfalse */
+ case 1862: /* pfalse */
+ value = 1862; /* --> pfalse. */
+ break;
+ case 1381: /* mov */
+ case 1923: /* sel */
+ value = 1923; /* --> sel. */
+ break;
+ case 1384: /* mov */
+ case 1924: /* sel */
+ value = 1924; /* --> sel. */
+ break;
+ case 2045: /* str */
+ case 2044: /* str */
+ value = 2044; /* --> str. */
+ break;
+ case 2472: /* mov */
+ case 2474: /* mova */
+ value = 2474; /* --> mova. */
+ break;
+ case 2473: /* mov */
+ case 2475: /* mova */
+ value = 2475; /* --> mova. */
+ break;
+ case 2493: /* psel */
+ case 2492: /* psel */
+ value = 2492; /* --> psel. */
+ break;
+ case 2698: /* mov */
+ case 2706: /* mova */
+ value = 2706; /* --> mova. */
+ break;
+ case 2699: /* mov */
+ case 2707: /* mova */
+ value = 2707; /* --> mova. */
+ break;
+ case 2700: /* mov */
+ case 2708: /* mova */
+ value = 2708; /* --> mova. */
+ break;
+ case 2701: /* mov */
+ case 2709: /* mova */
+ value = 2709; /* --> mova. */
+ break;
+ case 2702: /* mov */
+ case 2710: /* mova */
+ value = 2710; /* --> mova. */
+ break;
+ case 2703: /* mov */
+ case 2711: /* mova */
+ value = 2711; /* --> mova. */
+ break;
+ case 2704: /* mov */
+ case 2712: /* mova */
+ value = 2712; /* --> mova. */
+ break;
+ case 2705: /* mov */
+ case 2713: /* mova */
+ value = 2713; /* --> mova. */
break;
default: return NULL;
}
@@ -651,16 +772,9 @@ aarch64_insert_operand (const aarch64_operand *self,
case 32:
case 33:
case 34:
- case 123:
- case 124:
- case 125:
- case 184:
- case 185:
- case 186:
- case 187:
- case 188:
- case 189:
- case 190:
+ case 126:
+ case 127:
+ case 128:
case 191:
case 192:
case 193:
@@ -668,33 +782,41 @@ aarch64_insert_operand (const aarch64_operand *self,
case 195:
case 196:
case 197:
- case 213:
- case 214:
- case 215:
- case 216:
- case 226:
- case 227:
- case 228:
- case 229:
- case 230:
- case 241:
- case 245:
- case 249:
+ case 198:
+ case 199:
+ case 200:
+ case 201:
+ case 202:
+ case 203:
+ case 204:
+ case 220:
+ case 221:
+ case 222:
+ case 223:
+ case 233:
+ case 234:
+ case 235:
+ case 236:
+ case 237:
+ case 248:
+ case 252:
+ case 256:
case 257:
- case 258:
- case 259:
+ case 265:
case 266:
case 267:
- case 268:
- case 269:
- case 303:
- case 307:
+ case 274:
+ case 275:
+ case 276:
+ case 277:
+ case 311:
+ case 315:
return aarch64_ins_regno (self, info, code, inst, errors);
case 6:
- case 119:
- case 120:
- case 313:
- case 316:
+ case 122:
+ case 123:
+ case 321:
+ case 324:
return aarch64_ins_none (self, info, code, inst, errors);
case 17:
return aarch64_ins_reg_extended (self, info, code, inst, errors);
@@ -709,24 +831,16 @@ aarch64_insert_operand (const aarch64_operand *self,
case 37:
case 38:
case 39:
- case 318:
+ case 326:
return aarch64_ins_reglane (self, info, code, inst, errors);
case 40:
case 41:
case 42:
- case 231:
- case 232:
- case 235:
- case 270:
- case 271:
- case 286:
- case 287:
- case 288:
- case 289:
- case 290:
- case 291:
- case 292:
- case 293:
+ case 238:
+ case 239:
+ case 242:
+ case 278:
+ case 279:
case 294:
case 295:
case 296:
@@ -736,12 +850,20 @@ aarch64_insert_operand (const aarch64_operand *self,
case 300:
case 301:
case 302:
+ case 303:
case 304:
case 305:
case 306:
+ case 307:
case 308:
case 309:
case 310:
+ case 312:
+ case 313:
+ case 314:
+ case 316:
+ case 317:
+ case 318:
return aarch64_ins_simple_index (self, info, code, inst, errors);
case 43:
return aarch64_ins_reglist (self, info, code, inst, errors);
@@ -774,31 +896,34 @@ aarch64_insert_operand (const aarch64_operand *self,
case 75:
case 76:
case 77:
- case 89:
- case 90:
+ case 78:
+ case 79:
case 91:
case 92:
- case 118:
- case 122:
- case 181:
- case 183:
- case 204:
- case 205:
- case 206:
- case 207:
- case 208:
- case 209:
- case 210:
+ case 93:
+ case 94:
+ case 95:
+ case 121:
+ case 125:
+ case 188:
+ case 190:
case 211:
case 212:
- case 272:
- case 311:
- case 312:
- case 314:
- case 315:
- case 317:
+ case 213:
+ case 214:
+ case 215:
+ case 216:
+ case 217:
+ case 218:
+ case 219:
+ case 280:
+ case 319:
+ case 320:
case 322:
case 323:
+ case 325:
+ case 330:
+ case 331:
return aarch64_ins_imm (self, info, code, inst, errors);
case 52:
case 53:
@@ -808,88 +933,85 @@ aarch64_insert_operand (const aarch64_operand *self,
case 56:
return aarch64_ins_advsimd_imm_modified (self, info, code, inst, errors);
case 60:
- case 171:
+ case 178:
return aarch64_ins_fpimm (self, info, code, inst, errors);
- case 78:
- case 179:
+ case 80:
+ case 186:
return aarch64_ins_limm (self, info, code, inst, errors);
- case 79:
+ case 81:
return aarch64_ins_aimm (self, info, code, inst, errors);
- case 80:
+ case 82:
return aarch64_ins_imm_half (self, info, code, inst, errors);
- case 81:
- return aarch64_ins_fbits (self, info, code, inst, errors);
case 83:
- case 84:
- case 176:
- return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
+ return aarch64_ins_fbits (self, info, code, inst, errors);
case 85:
- case 175:
- case 177:
- return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
case 86:
+ case 183:
+ return aarch64_ins_imm_rotate2 (self, info, code, inst, errors);
case 87:
+ case 182:
+ case 184:
+ return aarch64_ins_imm_rotate1 (self, info, code, inst, errors);
+ case 88:
+ case 89:
return aarch64_ins_cond (self, info, code, inst, errors);
- case 93:
- case 102:
- return aarch64_ins_addr_simple (self, info, code, inst, errors);
- case 94:
- return aarch64_ins_addr_regoff (self, info, code, inst, errors);
- case 95:
case 96:
+ case 105:
+ return aarch64_ins_addr_simple (self, info, code, inst, errors);
case 97:
+ return aarch64_ins_addr_regoff (self, info, code, inst, errors);
+ case 98:
case 99:
- case 101:
+ case 100:
+ case 102:
+ case 104:
return aarch64_ins_addr_simm (self, info, code, inst, errors);
- case 98:
+ case 101:
return aarch64_ins_addr_simm10 (self, info, code, inst, errors);
- case 100:
- return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
case 103:
- return aarch64_ins_addr_offset (self, info, code, inst, errors);
- case 104:
- return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
- case 105:
+ return aarch64_ins_addr_uimm12 (self, info, code, inst, errors);
case 106:
- return aarch64_ins_sysreg (self, info, code, inst, errors);
+ return aarch64_ins_addr_offset (self, info, code, inst, errors);
case 107:
- return aarch64_ins_pstatefield (self, info, code, inst, errors);
+ return aarch64_ins_simd_addr_post (self, info, code, inst, errors);
case 108:
case 109:
+ return aarch64_ins_sysreg (self, info, code, inst, errors);
case 110:
+ return aarch64_ins_pstatefield (self, info, code, inst, errors);
case 111:
case 112:
case 113:
- return aarch64_ins_sysins_op (self, info, code, inst, errors);
case 114:
+ case 115:
case 116:
+ return aarch64_ins_sysins_op (self, info, code, inst, errors);
+ case 117:
+ case 119:
return aarch64_ins_barrier (self, info, code, inst, errors);
- case 115:
+ case 118:
return aarch64_ins_barrier_dsb_nxs (self, info, code, inst, errors);
- case 117:
+ case 120:
return aarch64_ins_prfop (self, info, code, inst, errors);
- case 121:
+ case 124:
return aarch64_ins_hint (self, info, code, inst, errors);
- case 126:
- case 127:
- return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
- case 128:
case 129:
case 130:
+ return aarch64_ins_sve_addr_ri_s4 (self, info, code, inst, errors);
case 131:
- return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 132:
- return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case 133:
- return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 134:
+ return aarch64_ins_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 135:
+ return aarch64_ins_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case 136:
+ return aarch64_ins_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 137:
- return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 138:
case 139:
case 140:
+ return aarch64_ins_sve_addr_ri_u6 (self, info, code, inst, errors);
case 141:
case 142:
case 143:
@@ -903,7 +1025,6 @@ aarch64_insert_operand (const aarch64_operand *self,
case 151:
case 152:
case 153:
- return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 154:
case 155:
case 156:
@@ -911,116 +1032,124 @@ aarch64_insert_operand (const aarch64_operand *self,
case 158:
case 159:
case 160:
+ return aarch64_ins_sve_addr_rr_lsl (self, info, code, inst, errors);
case 161:
- return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 162:
case 163:
case 164:
case 165:
- return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case 166:
- return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
case 167:
- return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
case 168:
- return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_rz_xtw (self, info, code, inst, errors);
case 169:
- return aarch64_ins_sve_aimm (self, info, code, inst, errors);
case 170:
- return aarch64_ins_sve_asimm (self, info, code, inst, errors);
+ case 171:
case 172:
- return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zi_u5 (self, info, code, inst, errors);
case 173:
- return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+ return aarch64_ins_sve_addr_zz_lsl (self, info, code, inst, errors);
case 174:
+ return aarch64_ins_sve_addr_zz_sxtw (self, info, code, inst, errors);
+ case 175:
+ return aarch64_ins_sve_addr_zz_uxtw (self, info, code, inst, errors);
+ case 176:
+ return aarch64_ins_sve_aimm (self, info, code, inst, errors);
+ case 177:
+ return aarch64_ins_sve_asimm (self, info, code, inst, errors);
+ case 179:
+ return aarch64_ins_sve_float_half_one (self, info, code, inst, errors);
+ case 180:
+ return aarch64_ins_sve_float_half_two (self, info, code, inst, errors);
+ case 181:
return aarch64_ins_sve_float_zero_one (self, info, code, inst, errors);
- case 178:
+ case 185:
return aarch64_ins_inv_limm (self, info, code, inst, errors);
- case 180:
+ case 187:
return aarch64_ins_sve_limm_mov (self, info, code, inst, errors);
- case 182:
+ case 189:
return aarch64_ins_sve_scale (self, info, code, inst, errors);
- case 198:
- case 199:
- case 200:
+ case 205:
+ case 206:
+ case 207:
return aarch64_ins_sve_shlimm (self, info, code, inst, errors);
- case 201:
- case 202:
- case 203:
- case 285:
+ case 208:
+ case 209:
+ case 210:
+ case 293:
return aarch64_ins_sve_shrimm (self, info, code, inst, errors);
- case 217:
- case 218:
- case 219:
- case 220:
- return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors);
- case 221:
- case 222:
- case 223:
case 224:
- return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors);
case 225:
+ case 226:
+ case 227:
+ return aarch64_ins_sme_za_vrs1 (self, info, code, inst, errors);
+ case 228:
+ case 229:
+ case 230:
+ case 231:
+ return aarch64_ins_sme_za_vrs2 (self, info, code, inst, errors);
+ case 232:
return aarch64_ins_sme_za_tile_to_vec (self, info, code, inst, errors);
- case 233:
- case 234:
- case 236:
- case 237:
- case 238:
- case 239:
case 240:
- return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
- case 242:
+ case 241:
case 243:
- return aarch64_ins_sve_index (self, info, code, inst, errors);
case 244:
+ case 245:
case 246:
- case 265:
- return aarch64_ins_sve_reglist (self, info, code, inst, errors);
case 247:
- case 248:
+ return aarch64_ins_sve_quad_index (self, info, code, inst, errors);
+ case 249:
case 250:
+ return aarch64_ins_sve_index (self, info, code, inst, errors);
case 251:
- case 252:
case 253:
+ case 273:
+ return aarch64_ins_sve_reglist (self, info, code, inst, errors);
case 254:
- case 264:
- return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case 255:
- case 256:
- return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
+ case 258:
+ case 259:
case 260:
- case 262:
- case 273:
- return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
case 261:
+ case 262:
+ case 272:
+ return aarch64_ins_sve_aligned_reglist (self, info, code, inst, errors);
case 263:
+ case 264:
+ return aarch64_ins_sve_strided_reglist (self, info, code, inst, errors);
+ case 268:
+ case 270:
+ case 281:
+ return aarch64_ins_sme_za_hv_tiles (self, info, code, inst, errors);
+ case 269:
+ case 271:
return aarch64_ins_sme_za_hv_tiles_range (self, info, code, inst, errors);
- case 274:
- case 275:
- case 276:
- case 277:
- case 278:
- case 279:
- case 280:
+ case 282:
+ case 283:
+ case 284:
+ case 285:
+ case 286:
+ case 287:
+ case 288:
return aarch64_ins_sme_za_array (self, info, code, inst, errors);
- case 281:
+ case 289:
return aarch64_ins_sme_addr_ri_u4xvl (self, info, code, inst, errors);
- case 282:
+ case 290:
return aarch64_ins_sme_sm_za (self, info, code, inst, errors);
- case 283:
+ case 291:
return aarch64_ins_sme_pred_reg_with_index (self, info, code, inst, errors);
- case 284:
+ case 292:
return aarch64_ins_plain_shrimm (self, info, code, inst, errors);
- case 319:
- case 320:
- case 321:
- return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
- case 324:
- case 325:
- case 326:
case 327:
- return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
case 328:
+ case 329:
+ return aarch64_ins_x0_to_x30 (self, info, code, inst, errors);
+ case 332:
+ case 333:
+ case 334:
+ case 335:
+ return aarch64_ins_rcpc3_addr_opt_offset (self, info, code, inst, errors);
+ case 336:
return aarch64_ins_rcpc3_addr_offset (self, info, code, inst, errors);
default: assert (0); abort ();
}
diff --git a/opcodes/aarch64-asm.c b/opcodes/aarch64-asm.c
index f20bdf6..00ac4ae 100644
--- a/opcodes/aarch64-asm.c
+++ b/opcodes/aarch64-asm.c
@@ -2033,7 +2033,8 @@ do_special_encoding (struct aarch64_inst *inst)
{
idx = select_operand_for_sf_field_coding (inst->opcode);
value = (inst->operands[idx].qualifier == AARCH64_OPND_QLF_X
- || inst->operands[idx].qualifier == AARCH64_OPND_QLF_SP)
+ || inst->operands[idx].qualifier == AARCH64_OPND_QLF_SP
+ || inst->operands[idx].qualifier == AARCH64_OPND_QLF_S_D)
? 1 : 0;
insert_field (FLD_sf, &inst->value, value, 0);
if (inst->opcode->flags & F_N)
@@ -2063,6 +2064,13 @@ do_special_encoding (struct aarch64_inst *inst)
insert_field (FLD_rcpc3_size, &inst->value, value, 0);
}
+ if (inst->opcode->flags & F_LSFE_SZ)
+ {
+ value = aarch64_get_qualifier_standard_value (inst->operands[0].qualifier);
+ insert_field (FLD_ldst_size, &inst->value, value, 0);
+ return;
+ }
+
if (inst->opcode->flags & F_SIZEQ)
encode_sizeq (inst);
if (inst->opcode->flags & F_FPTYPE)
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index eb14113..02e9852 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -50,7 +50,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000000xxxxxxxxxxxxxxxxxxxxx
udf. */
- return 754;
+ return 794;
}
else
{
@@ -62,7 +62,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx00xxx
fmopa. */
- return 2413;
+ return 2449;
}
else
{
@@ -70,7 +70,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx10xxx
fmops. */
- return 2416;
+ return 2452;
}
}
else
@@ -81,7 +81,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx01xxx
bmopa. */
- return 2527;
+ return 2553;
}
else
{
@@ -89,7 +89,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000100xxxxxxxxxxxxxxxx11xxx
bmops. */
- return 2528;
+ return 2554;
}
}
}
@@ -102,7 +102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx0xxxx
fmopa. */
- return 2414;
+ return 2450;
}
else
{
@@ -110,7 +110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000000x10xxxxxxxxxxxxxxxx1xxxx
fmops. */
- return 2417;
+ return 2453;
}
}
}
@@ -127,8 +127,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx00000xxxxxxxxxxxxxxxxx
- mov. */
- return 2437;
+ mova. */
+ return 2475;
}
else
{
@@ -140,7 +140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010000xxxxxxxxxxxxxxxx
addha. */
- return 2405;
+ return 2441;
}
else
{
@@ -148,7 +148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010000xxxxxxxxxxxxxxxx
addha. */
- return 2406;
+ return 2442;
}
}
else
@@ -159,7 +159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x0010001xxxxxxxxxxxxxxxx
addva. */
- return 2409;
+ return 2445;
}
else
{
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x1010001xxxxxxxxxxxxxxxx
addva. */
- return 2410;
+ return 2446;
}
}
}
@@ -180,7 +180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x00x100xxxxxxxxxxxxxxxxx
zero. */
- return 2440;
+ return 2476;
}
else
{
@@ -188,7 +188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x10x100xxxxxxxxxxxxxxxxx
zero. */
- return 2957;
+ return 2983;
}
}
}
@@ -201,8 +201,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0x001xxxxxxx0xxxxxxxxx
- mov. */
- return 2436;
+ mova. */
+ return 2474;
}
else
{
@@ -216,7 +216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3348;
+ return 3448;
}
else
{
@@ -224,7 +224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3350;
+ return 3450;
}
}
else
@@ -235,7 +235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3349;
+ return 3449;
}
else
{
@@ -243,7 +243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x0010xxxxxx1xxxxxxxxx
movaz. */
- return 3351;
+ return 3451;
}
}
}
@@ -253,7 +253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0x0011xxxxxx1xxxxxxxxx
movaz. */
- return 3352;
+ return 3452;
}
}
}
@@ -271,7 +271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x00xxxxxxxxxxxxxx
luti4. */
- return 3488;
+ return 3588;
}
else
{
@@ -279,7 +279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101x10xxxxxxxxxxxxxx
luti4. */
- return 2671;
+ return 2697;
}
}
else
@@ -288,7 +288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x000101xx1xxxxxxxxxxxxxx
luti4. */
- return 2670;
+ return 2696;
}
}
else
@@ -297,7 +297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000x100101xxxxxxxxxxxxxxxxx
luti4. */
- return 2669;
+ return 2695;
}
}
else
@@ -310,7 +310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x00xxxxxxxxxxxxxx
luti4. */
- return 3489;
+ return 3589;
}
else
{
@@ -318,7 +318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101x10xxxxxxxxxxxxxx
luti4. */
- return 3345;
+ return 3445;
}
}
else
@@ -327,7 +327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx01101xx1xxxxxxxxxxxxxx
luti4. */
- return 3344;
+ return 3444;
}
}
}
@@ -346,8 +346,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0x010xxxxx00xxxxxxxxxx
- mov. */
- return 2678;
+ mova. */
+ return 2712;
}
else
{
@@ -356,8 +356,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0x011xxxxx000xxxxxxxxx
- mov. */
- return 2674;
+ mova. */
+ return 2708;
}
else
{
@@ -369,7 +369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000x011xxxxx001xxxxxxxxx
movaz. */
- return 3338;
+ return 3438;
}
else
{
@@ -377,7 +377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100x011xxxxx001xxxxxxxxx
movaz. */
- return 3340;
+ return 3440;
}
}
else
@@ -388,7 +388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010x011xxxxx001xxxxxxxxx
movaz. */
- return 3339;
+ return 3439;
}
else
{
@@ -396,7 +396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110x011xxxxx001xxxxxxxxx
movaz. */
- return 3341;
+ return 3441;
}
}
}
@@ -420,7 +420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011000xxx00xxxxxxxxxx
zero. */
- return 3353;
+ return 3453;
}
else
{
@@ -428,7 +428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011100xxx00xxxxxxxxxx
zero. */
- return 3354;
+ return 3454;
}
}
else
@@ -439,7 +439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011010xxx00xxxxxxxxxx
zero. */
- return 3356;
+ return 3456;
}
else
{
@@ -447,7 +447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011110xxx00xxxxxxxxxx
zero. */
- return 3359;
+ return 3459;
}
}
}
@@ -461,7 +461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011001xxx00xxxxxxxxxx
zero. */
- return 3355;
+ return 3455;
}
else
{
@@ -469,7 +469,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011101xxx00xxxxxxxxxx
zero. */
- return 3358;
+ return 3458;
}
}
else
@@ -480,7 +480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011011xxx00xxxxxxxxxx
zero. */
- return 3357;
+ return 3457;
}
else
{
@@ -488,7 +488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000011111xxx00xxxxxxxxxx
zero. */
- return 3360;
+ return 3460;
}
}
}
@@ -501,7 +501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx0xx00xxxxxxxxxx
luti2. */
- return 2668;
+ return 2694;
}
else
{
@@ -509,7 +509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100011xxx1xx00xxxxxxxxxx
luti2. */
- return 2667;
+ return 2693;
}
}
}
@@ -525,7 +525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001100xxxx00xxxxxxxxxx
movt. */
- return 2689;
+ return 2715;
}
else
{
@@ -533,7 +533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100000001001110xxxx00xxxxxxxxxx
movt. */
- return 2688;
+ return 2714;
}
}
else
@@ -542,7 +542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010011x1xxxx00xxxxxxxxxx
movt. */
- return 3490;
+ return 3590;
}
}
else
@@ -551,7 +551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110011xxxxxx00xxxxxxxxxx
luti2. */
- return 2666;
+ return 2692;
}
}
}
@@ -563,7 +563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx0xx00xxxxxxxxxx
luti2. */
- return 3343;
+ return 3443;
}
else
{
@@ -571,7 +571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0111xxx1xx00xxxxxxxxxx
luti2. */
- return 3342;
+ return 3442;
}
}
}
@@ -583,8 +583,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0xx10xxxxx10xxxxxxxxxx
- mov. */
- return 2676;
+ mova. */
+ return 2710;
}
else
{
@@ -593,8 +593,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0xx11xxxxx100xxxxxxxxx
- mov. */
- return 2672;
+ mova. */
+ return 2706;
}
else
{
@@ -602,7 +602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx101xxxxxxxxx
movaz. */
- return 3346;
+ return 3446;
}
}
}
@@ -616,8 +616,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0xx10xxxxx01xxxxxxxxxx
- mov. */
- return 2679;
+ mova. */
+ return 2713;
}
else
{
@@ -626,8 +626,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0xx11xxxxx010xxxxxxxxx
- mov. */
- return 2675;
+ mova. */
+ return 2709;
}
else
{
@@ -639,7 +639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000000xx11xxxxx011xxxxxxxxx
movaz. */
- return 3334;
+ return 3434;
}
else
{
@@ -647,7 +647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000100xx11xxxxx011xxxxxxxxx
movaz. */
- return 3336;
+ return 3436;
}
}
else
@@ -658,7 +658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000010xx11xxxxx011xxxxxxxxx
movaz. */
- return 3335;
+ return 3435;
}
else
{
@@ -666,7 +666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000110xx11xxxxx011xxxxxxxxx
movaz. */
- return 3337;
+ return 3437;
}
}
}
@@ -679,8 +679,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0xx10xxxxx11xxxxxxxxxx
- mov. */
- return 2677;
+ mova. */
+ return 2711;
}
else
{
@@ -689,8 +689,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000000xx0xx11xxxxx110xxxxxxxxx
- mov. */
- return 2673;
+ mova. */
+ return 2707;
}
else
{
@@ -698,7 +698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000000xx0xx11xxxxx111xxxxxxxxx
movaz. */
- return 3347;
+ return 3447;
}
}
}
@@ -726,7 +726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2605;
+ return 2631;
}
else
{
@@ -734,7 +734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2606;
+ return 2632;
}
}
else
@@ -745,7 +745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2629;
+ return 2655;
}
else
{
@@ -753,7 +753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2630;
+ return 2656;
}
}
}
@@ -767,7 +767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2621;
+ return 2647;
}
else
{
@@ -775,7 +775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2622;
+ return 2648;
}
}
else
@@ -786,7 +786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2613;
+ return 2639;
}
else
{
@@ -794,7 +794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2614;
+ return 2640;
}
}
}
@@ -811,7 +811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2637;
+ return 2663;
}
else
{
@@ -819,7 +819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2638;
+ return 2664;
}
}
else
@@ -830,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2661;
+ return 2687;
}
else
{
@@ -838,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2662;
+ return 2688;
}
}
}
@@ -852,7 +852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2653;
+ return 2679;
}
else
{
@@ -860,7 +860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2654;
+ return 2680;
}
}
else
@@ -871,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2645;
+ return 2671;
}
else
{
@@ -879,7 +879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000000xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2646;
+ return 2672;
}
}
}
@@ -891,7 +891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000000xxxxxxxxxxxxxxxxxxxxx
ld1b. */
- return 2441;
+ return 2477;
}
}
else
@@ -906,7 +906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx00xxx
smopa. */
- return 2420;
+ return 2456;
}
else
{
@@ -914,7 +914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000100xxxxxxxxxxxxxxxx01xxx
smopa. */
- return 2751;
+ return 2777;
}
}
else
@@ -923,7 +923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000100xxxxxxxxxxxxxxxx0xxxx
ld1w. */
- return 2443;
+ return 2479;
}
}
else
@@ -934,7 +934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx10xxx
smops. */
- return 2422;
+ return 2458;
}
else
{
@@ -942,7 +942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000100xxxxxxxxxxxxxxxx11xxx
smops. */
- return 2752;
+ return 2778;
}
}
}
@@ -965,7 +965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx0
ld1b. */
- return 2601;
+ return 2627;
}
else
{
@@ -973,7 +973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx0
ld1b. */
- return 2602;
+ return 2628;
}
}
else
@@ -984,7 +984,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx0
ld1w. */
- return 2625;
+ return 2651;
}
else
{
@@ -992,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx0
ld1w. */
- return 2626;
+ return 2652;
}
}
}
@@ -1006,7 +1006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx0
ld1h. */
- return 2617;
+ return 2643;
}
else
{
@@ -1014,7 +1014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx0
ld1h. */
- return 2618;
+ return 2644;
}
}
else
@@ -1025,7 +1025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx0
ld1d. */
- return 2609;
+ return 2635;
}
else
{
@@ -1033,7 +1033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx0
ld1d. */
- return 2610;
+ return 2636;
}
}
}
@@ -1050,7 +1050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx000xxxxxxxxxxxx1
ldnt1b. */
- return 2633;
+ return 2659;
}
else
{
@@ -1058,7 +1058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx100xxxxxxxxxxxx1
ldnt1b. */
- return 2634;
+ return 2660;
}
}
else
@@ -1069,7 +1069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx010xxxxxxxxxxxx1
ldnt1w. */
- return 2657;
+ return 2683;
}
else
{
@@ -1077,7 +1077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx110xxxxxxxxxxxx1
ldnt1w. */
- return 2658;
+ return 2684;
}
}
}
@@ -1091,7 +1091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx001xxxxxxxxxxxx1
ldnt1h. */
- return 2649;
+ return 2675;
}
else
{
@@ -1099,7 +1099,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx101xxxxxxxxxxxx1
ldnt1h. */
- return 2650;
+ return 2676;
}
}
else
@@ -1110,7 +1110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx011xxxxxxxxxxxx1
ldnt1d. */
- return 2641;
+ return 2667;
}
else
{
@@ -1118,7 +1118,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000010xxxxx111xxxxxxxxxxxx1
ldnt1d. */
- return 2642;
+ return 2668;
}
}
}
@@ -1130,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000010xxxxxxxxxxxxxxxxxxxxx
ld1h. */
- return 2442;
+ return 2478;
}
}
else
@@ -1143,7 +1143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000110xxxxxxxxxxxxxxxx0xxxx
smopa. */
- return 2421;
+ return 2457;
}
else
{
@@ -1151,7 +1151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000110xxxxxxxxxxxxxxxx0xxxx
ld1d. */
- return 2444;
+ return 2480;
}
}
else
@@ -1160,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100000110xxxxxxxxxxxxxxxx1xxxx
smops. */
- return 2423;
+ return 2459;
}
}
}
@@ -1186,7 +1186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx000xxxxxxxxxxxx0
st1b. */
- return 2777;
+ return 2803;
}
else
{
@@ -1194,7 +1194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx100xxxxxxxxxxxx0
st1b. */
- return 2778;
+ return 2804;
}
}
else
@@ -1205,7 +1205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx010xxxxxxxxxxxx0
st1w. */
- return 2801;
+ return 2827;
}
else
{
@@ -1213,7 +1213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx110xxxxxxxxxxxx0
st1w. */
- return 2802;
+ return 2828;
}
}
}
@@ -1227,7 +1227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx001xxxxxxxxxxxx0
st1h. */
- return 2793;
+ return 2819;
}
else
{
@@ -1235,7 +1235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx101xxxxxxxxxxxx0
st1h. */
- return 2794;
+ return 2820;
}
}
else
@@ -1246,7 +1246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx011xxxxxxxxxxxx0
st1d. */
- return 2785;
+ return 2811;
}
else
{
@@ -1254,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx111xxxxxxxxxxxx0
st1d. */
- return 2786;
+ return 2812;
}
}
}
@@ -1271,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx000xxxxxxxxxxxx1
stnt1b. */
- return 2809;
+ return 2835;
}
else
{
@@ -1279,7 +1279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx100xxxxxxxxxxxx1
stnt1b. */
- return 2810;
+ return 2836;
}
}
else
@@ -1290,7 +1290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx010xxxxxxxxxxxx1
stnt1w. */
- return 2833;
+ return 2859;
}
else
{
@@ -1298,7 +1298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx110xxxxxxxxxxxx1
stnt1w. */
- return 2834;
+ return 2860;
}
}
}
@@ -1312,7 +1312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx001xxxxxxxxxxxx1
stnt1h. */
- return 2825;
+ return 2851;
}
else
{
@@ -1320,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx101xxxxxxxxxxxx1
stnt1h. */
- return 2826;
+ return 2852;
}
}
else
@@ -1331,7 +1331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx011xxxxxxxxxxxx1
stnt1d. */
- return 2817;
+ return 2843;
}
else
{
@@ -1339,7 +1339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000001xxxxx111xxxxxxxxxxxx1
stnt1d. */
- return 2818;
+ return 2844;
}
}
}
@@ -1351,7 +1351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000001xxxxxxxxxxxxxxxxxxxxx
st1b. */
- return 2451;
+ return 2482;
}
}
else
@@ -1366,7 +1366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000000101xxxxxxxxxxxxxxxx00xxx
fmopa. */
- return 3556;
+ return 3656;
}
else
{
@@ -1374,7 +1374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000000101xxxxxxxxxxxxxxxx01xxx
fmopa. */
- return 3555;
+ return 3655;
}
}
else
@@ -1385,7 +1385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100000101xxxxxxxxxxxxxxxx0xxxx
sumopa. */
- return 2424;
+ return 2460;
}
else
{
@@ -1393,7 +1393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100000101xxxxxxxxxxxxxxxx0xxxx
st1w. */
- return 2453;
+ return 2484;
}
}
}
@@ -1403,7 +1403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx00000101xxxxxxxxxxxxxxxx1xxxx
sumops. */
- return 2426;
+ return 2462;
}
}
}
@@ -1425,7 +1425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx000xxxxxxxxxxxx0
st1b. */
- return 2773;
+ return 2799;
}
else
{
@@ -1433,7 +1433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx100xxxxxxxxxxxx0
st1b. */
- return 2774;
+ return 2800;
}
}
else
@@ -1444,7 +1444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx010xxxxxxxxxxxx0
st1w. */
- return 2797;
+ return 2823;
}
else
{
@@ -1452,7 +1452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx110xxxxxxxxxxxx0
st1w. */
- return 2798;
+ return 2824;
}
}
}
@@ -1466,7 +1466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx001xxxxxxxxxxxx0
st1h. */
- return 2789;
+ return 2815;
}
else
{
@@ -1474,7 +1474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx101xxxxxxxxxxxx0
st1h. */
- return 2790;
+ return 2816;
}
}
else
@@ -1485,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx011xxxxxxxxxxxx0
st1d. */
- return 2781;
+ return 2807;
}
else
{
@@ -1493,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx111xxxxxxxxxxxx0
st1d. */
- return 2782;
+ return 2808;
}
}
}
@@ -1510,7 +1510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx000xxxxxxxxxxxx1
stnt1b. */
- return 2805;
+ return 2831;
}
else
{
@@ -1518,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx100xxxxxxxxxxxx1
stnt1b. */
- return 2806;
+ return 2832;
}
}
else
@@ -1529,7 +1529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx010xxxxxxxxxxxx1
stnt1w. */
- return 2829;
+ return 2855;
}
else
{
@@ -1537,7 +1537,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx110xxxxxxxxxxxx1
stnt1w. */
- return 2830;
+ return 2856;
}
}
}
@@ -1551,7 +1551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx001xxxxxxxxxxxx1
stnt1h. */
- return 2821;
+ return 2847;
}
else
{
@@ -1559,7 +1559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx101xxxxxxxxxxxx1
stnt1h. */
- return 2822;
+ return 2848;
}
}
else
@@ -1570,7 +1570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx011xxxxxxxxxxxx1
stnt1d. */
- return 2813;
+ return 2839;
}
else
{
@@ -1578,7 +1578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000011xxxxx111xxxxxxxxxxxx1
stnt1d. */
- return 2814;
+ return 2840;
}
}
}
@@ -1590,7 +1590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000011xxxxxxxxxxxxxxxxxxxxx
st1h. */
- return 2452;
+ return 2483;
}
}
else
@@ -1603,7 +1603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x00000111xxxxxxxxxxxxxxxx0xxxx
sumopa. */
- return 2425;
+ return 2461;
}
else
{
@@ -1611,7 +1611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x00000111xxxxxxxxxxxxxxxx0xxxx
st1d. */
- return 2454;
+ return 2485;
}
}
else
@@ -1620,7 +1620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx00000111xxxxxxxxxxxxxxxx1xxxx
sumops. */
- return 2427;
+ return 2463;
}
}
}
@@ -1634,7 +1634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0xx10000xxxxxxxxxxxxxxxxxxxxxxxx
adr. */
- return 1221;
+ return 1273;
}
else
{
@@ -1642,7 +1642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1xx10000xxxxxxxxxxxxxxxxxxxxxxxx
adrp. */
- return 1222;
+ return 1274;
}
}
}
@@ -1670,7 +1670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx000xx
smlall. */
- return 2727;
+ return 2753;
}
else
{
@@ -1678,7 +1678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx010xx
smlsll. */
- return 2743;
+ return 2769;
}
}
else
@@ -1687,7 +1687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx0x1xx
usmlall. */
- return 2932;
+ return 2958;
}
}
else
@@ -1704,7 +1704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx0xxxxxx000xxx
smlall. */
- return 2728;
+ return 2754;
}
else
{
@@ -1714,7 +1714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxx0000xxx
smlall. */
- return 2729;
+ return 2755;
}
else
{
@@ -1722,7 +1722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxx1000xxx
fmlall. */
- return 3549;
+ return 3649;
}
}
}
@@ -1734,7 +1734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx0xxxxxx001xxx
smlsll. */
- return 2744;
+ return 2770;
}
else
{
@@ -1742,7 +1742,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxxx001xxx
smlsll. */
- return 2745;
+ return 2771;
}
}
}
@@ -1754,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx1xxxxxx00xxxx
fmla. */
- return 3363;
+ return 3463;
}
else
{
@@ -1764,7 +1764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx1xxxxx000xxxx
fmla. */
- return 3364;
+ return 3464;
}
else
{
@@ -1772,7 +1772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx1xxxxx100xxxx
fdot. */
- return 3534;
+ return 3634;
}
}
}
@@ -1787,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx0xxxxxx10xxxx
usmlall. */
- return 2933;
+ return 2959;
}
else
{
@@ -1795,7 +1795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxxx10xxxx
usmlall. */
- return 2934;
+ return 2960;
}
}
else
@@ -1806,7 +1806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx1xxxxxx10xxxx
bfmla. */
- return 3320;
+ return 3420;
}
else
{
@@ -1814,7 +1814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx1xxxxxx10xxxx
bfmla. */
- return 3321;
+ return 3421;
}
}
}
@@ -1832,7 +1832,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx100xx
umlall. */
- return 2890;
+ return 2916;
}
else
{
@@ -1840,7 +1840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx110xx
umlsll. */
- return 2906;
+ return 2932;
}
}
else
@@ -1849,7 +1849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010000xxxxxxxxxxxxxxx1x1xx
sumlall. */
- return 2848;
+ return 2874;
}
}
else
@@ -1866,7 +1866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx0xxxxxx010xxx
umlall. */
- return 2891;
+ return 2917;
}
else
{
@@ -1874,7 +1874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxxx010xxx
umlall. */
- return 2892;
+ return 2918;
}
}
else
@@ -1885,7 +1885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx0xxxxxx011xxx
umlsll. */
- return 2907;
+ return 2933;
}
else
{
@@ -1893,7 +1893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxxx011xxx
umlsll. */
- return 2908;
+ return 2934;
}
}
}
@@ -1905,7 +1905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx1xxxxxx01xxxx
fmls. */
- return 3369;
+ return 3469;
}
else
{
@@ -1913,7 +1913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx1xxxxxx01xxxx
fmls. */
- return 3370;
+ return 3470;
}
}
}
@@ -1927,7 +1927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx0xxxxxx11xxxx
sumlall. */
- return 2849;
+ return 2875;
}
else
{
@@ -1935,7 +1935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx0xxxxxx11xxxx
sumlall. */
- return 2850;
+ return 2876;
}
}
else
@@ -1946,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx0xx1xxxxxx11xxxx
bfmls. */
- return 3326;
+ return 3426;
}
else
{
@@ -1954,7 +1954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010001xxxx1xx1xxxxxx11xxxx
bfmls. */
- return 3327;
+ return 3427;
}
}
}
@@ -1977,7 +1977,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx000xxxxxxxxx0xxx
ld1b. */
- return 2607;
+ return 2633;
}
else
{
@@ -1985,7 +1985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx010xxxxxxxxx0xxx
ld1w. */
- return 2631;
+ return 2657;
}
}
else
@@ -1996,7 +1996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx001xxxxxxxxx0xxx
ld1h. */
- return 2623;
+ return 2649;
}
else
{
@@ -2004,7 +2004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx011xxxxxxxxx0xxx
ld1d. */
- return 2615;
+ return 2641;
}
}
}
@@ -2018,7 +2018,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx000xxxxxxxxx1xxx
ldnt1b. */
- return 2639;
+ return 2665;
}
else
{
@@ -2026,7 +2026,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx010xxxxxxxxx1xxx
ldnt1w. */
- return 2663;
+ return 2689;
}
}
else
@@ -2037,7 +2037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx001xxxxxxxxx1xxx
ldnt1h. */
- return 2655;
+ return 2681;
}
else
{
@@ -2045,7 +2045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx011xxxxxxxxx1xxx
ldnt1d. */
- return 2647;
+ return 2673;
}
}
}
@@ -2056,7 +2056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100001000xxxxx0xxxxxxxxxxxxxxx
ldr. */
- return 2461;
+ return 2487;
}
}
else
@@ -2073,7 +2073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001000xxxxx100xxxxxxxxx0xxx
ld1b. */
- return 2608;
+ return 2634;
}
else
{
@@ -2081,7 +2081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100001000xxxxx100xxxxxxxxx0xxx
ldr. */
- return 2665;
+ return 2691;
}
}
else
@@ -2090,7 +2090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx110xxxxxxxxx0xxx
ld1w. */
- return 2632;
+ return 2658;
}
}
else
@@ -2101,7 +2101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx101xxxxxxxxx0xxx
ld1h. */
- return 2624;
+ return 2650;
}
else
{
@@ -2109,7 +2109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx111xxxxxxxxx0xxx
ld1d. */
- return 2616;
+ return 2642;
}
}
}
@@ -2123,7 +2123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx100xxxxxxxxx1xxx
ldnt1b. */
- return 2640;
+ return 2666;
}
else
{
@@ -2131,7 +2131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx110xxxxxxxxx1xxx
ldnt1w. */
- return 2664;
+ return 2690;
}
}
else
@@ -2142,7 +2142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx101xxxxxxxxx1xxx
ldnt1h. */
- return 2656;
+ return 2682;
}
else
{
@@ -2150,7 +2150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001000xxxxx111xxxxxxxxx1xxx
ldnt1d. */
- return 2648;
+ return 2674;
}
}
}
@@ -2171,7 +2171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001100xxxxxxxxxxxxxxxx00xxx
bfmopa. */
- return 2411;
+ return 2447;
}
else
{
@@ -2179,7 +2179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001100xxxxxxxxxxxxxxxx01xxx
fmopa. */
- return 3361;
+ return 3461;
}
}
else
@@ -2194,7 +2194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx0xxxxxxx00xxx
smlall. */
- return 2964;
+ return 2990;
}
else
{
@@ -2206,7 +2206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx0xxxxxx000xxx
smlall. */
- return 2965;
+ return 2991;
}
else
{
@@ -2214,7 +2214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx0xxxxxx000xxx
smlall. */
- return 2966;
+ return 2992;
}
}
else
@@ -2223,7 +2223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxxxxx0xxxxxx100xxx
fmlall. */
- return 3548;
+ return 3648;
}
}
}
@@ -2235,7 +2235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx0xxxxxxx01xxx
smlsll. */
- return 2967;
+ return 2993;
}
else
{
@@ -2245,7 +2245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx0xxxxxxx01xxx
smlsll. */
- return 2968;
+ return 2994;
}
else
{
@@ -2253,7 +2253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx0xxxxxxx01xxx
smlsll. */
- return 2969;
+ return 2995;
}
}
}
@@ -2268,7 +2268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx1xxxxxxx00xxx
fmlal. */
- return 2568;
+ return 2594;
}
else
{
@@ -2276,7 +2276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx1xxxxxxx01xxx
fmlsl. */
- return 2582;
+ return 2608;
}
}
else
@@ -2291,7 +2291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx1xxxxxx000xxx
fmlal. */
- return 2569;
+ return 2595;
}
else
{
@@ -2299,7 +2299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx1xxxxxx000xxx
fmlal. */
- return 2570;
+ return 2596;
}
}
else
@@ -2310,7 +2310,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx1xxxxxx001xxx
fmlsl. */
- return 2583;
+ return 2609;
}
else
{
@@ -2318,7 +2318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx1xxxxxx001xxx
fmlsl. */
- return 2584;
+ return 2610;
}
}
}
@@ -2328,7 +2328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxxxxx1xxxxxx10xxxx
fmlal. */
- return 3541;
+ return 3641;
}
}
}
@@ -2342,7 +2342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001100xxxxxxxxxxxxxxxx00xxx
usmopa. */
- return 2432;
+ return 2468;
}
else
{
@@ -2350,7 +2350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001100xxxxxxxxxxxxxxxx01xxx
umopa. */
- return 2914;
+ return 2940;
}
}
}
@@ -2366,7 +2366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001100xxxxxxxxxxxxxxxx10xxx
bfmops. */
- return 2412;
+ return 2448;
}
else
{
@@ -2374,7 +2374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001100xxxxxxxxxxxxxxxx11xxx
fmops. */
- return 3362;
+ return 3462;
}
}
else
@@ -2389,7 +2389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx0xxxxxxx10xxx
umlall. */
- return 2973;
+ return 2999;
}
else
{
@@ -2399,7 +2399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx0xxxxxxx10xxx
umlall. */
- return 2974;
+ return 3000;
}
else
{
@@ -2407,7 +2407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx0xxxxxxx10xxx
umlall. */
- return 2975;
+ return 3001;
}
}
}
@@ -2419,7 +2419,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx0xxxxxxx11xxx
umlsll. */
- return 2976;
+ return 3002;
}
else
{
@@ -2429,7 +2429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx0xxxxxxx11xxx
umlsll. */
- return 2977;
+ return 3003;
}
else
{
@@ -2437,7 +2437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx0xxxxxxx11xxx
umlsll. */
- return 2978;
+ return 3004;
}
}
}
@@ -2452,7 +2452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx1xxxxxxx10xxx
bfmlal. */
- return 2510;
+ return 2536;
}
else
{
@@ -2460,7 +2460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011000xxxxxxx1xxxxxxx11xxx
bfmlsl. */
- return 2518;
+ return 2544;
}
}
else
@@ -2475,7 +2475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx1xxxxxx010xxx
bfmlal. */
- return 2511;
+ return 2537;
}
else
{
@@ -2483,7 +2483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx1xxxxxx010xxx
bfmlal. */
- return 2512;
+ return 2538;
}
}
else
@@ -2494,7 +2494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx0xx1xxxxxx011xxx
bfmlsl. */
- return 2519;
+ return 2545;
}
else
{
@@ -2502,7 +2502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxx1xx1xxxxxx011xxx
bfmlsl. */
- return 2520;
+ return 2546;
}
}
}
@@ -2512,7 +2512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011001xxxxxxx1xxxxxx11xxxx
fmlal. */
- return 3540;
+ return 3640;
}
}
}
@@ -2526,7 +2526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001100xxxxxxxxxxxxxxxx10xxx
usmops. */
- return 2434;
+ return 2470;
}
else
{
@@ -2534,7 +2534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001100xxxxxxxxxxxxxxxx11xxx
umops. */
- return 2915;
+ return 2941;
}
}
}
@@ -2554,7 +2554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000010100xxxxxxxxxxxxxxxx0xxx
fmlall. */
- return 3547;
+ return 3647;
}
else
{
@@ -2568,7 +2568,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx000xxxxxxxxx0xxx
ld1b. */
- return 2603;
+ return 2629;
}
else
{
@@ -2576,7 +2576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx100xxxxxxxxx0xxx
ld1b. */
- return 2604;
+ return 2630;
}
}
else
@@ -2587,7 +2587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx010xxxxxxxxx0xxx
ld1w. */
- return 2627;
+ return 2653;
}
else
{
@@ -2595,7 +2595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx110xxxxxxxxx0xxx
ld1w. */
- return 2628;
+ return 2654;
}
}
}
@@ -2609,7 +2609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx001xxxxxxxxx0xxx
ld1h. */
- return 2619;
+ return 2645;
}
else
{
@@ -2617,7 +2617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx101xxxxxxxxx0xxx
ld1h. */
- return 2620;
+ return 2646;
}
}
else
@@ -2628,7 +2628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx011xxxxxxxxx0xxx
ld1d. */
- return 2611;
+ return 2637;
}
else
{
@@ -2636,7 +2636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1000010100xxxx111xxxxxxxxx0xxx
ld1d. */
- return 2612;
+ return 2638;
}
}
}
@@ -2656,7 +2656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx000xxx
fmla. */
- return 2562;
+ return 2588;
}
else
{
@@ -2664,7 +2664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx000xxx
fmla. */
- return 2563;
+ return 2589;
}
}
else
@@ -2675,7 +2675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx000xxx
sdot. */
- return 2697;
+ return 2723;
}
else
{
@@ -2683,7 +2683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx000xxx
sdot. */
- return 2698;
+ return 2724;
}
}
}
@@ -2697,7 +2697,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx100xxx
svdot. */
- return 2856;
+ return 2882;
}
else
{
@@ -2705,7 +2705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx100xxx
svdot. */
- return 2857;
+ return 2883;
}
}
else
@@ -2716,7 +2716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx100xxx
sdot. */
- return 2703;
+ return 2729;
}
else
{
@@ -2724,7 +2724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx100xxx
sdot. */
- return 2704;
+ return 2730;
}
}
}
@@ -2741,7 +2741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx010xxx
fmls. */
- return 2576;
+ return 2602;
}
else
{
@@ -2749,7 +2749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx010xxx
fmls. */
- return 2577;
+ return 2603;
}
}
else
@@ -2760,7 +2760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx010xxx
udot. */
- return 2862;
+ return 2888;
}
else
{
@@ -2768,7 +2768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx010xxx
udot. */
- return 2863;
+ return 2889;
}
}
}
@@ -2782,7 +2782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx110xxx
uvdot. */
- return 2943;
+ return 2969;
}
else
{
@@ -2790,7 +2790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx110xxx
uvdot. */
- return 2944;
+ return 2970;
}
}
else
@@ -2801,7 +2801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx110xxx
udot. */
- return 2868;
+ return 2894;
}
else
{
@@ -2809,7 +2809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx110xxx
udot. */
- return 2869;
+ return 2895;
}
}
}
@@ -2830,7 +2830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx000xxxxxxxxx1xxx
ldnt1b. */
- return 2635;
+ return 2661;
}
else
{
@@ -2838,7 +2838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx010xxxxxxxxx1xxx
ldnt1w. */
- return 2659;
+ return 2685;
}
}
else
@@ -2849,7 +2849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx001xxxxxxxxx1xxx
ldnt1h. */
- return 2651;
+ return 2677;
}
else
{
@@ -2857,7 +2857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx011xxxxxxxxx1xxx
ldnt1d. */
- return 2643;
+ return 2669;
}
}
}
@@ -2873,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx001xxx
fvdot. */
- return 2600;
+ return 2626;
}
else
{
@@ -2881,7 +2881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx001xxx
fdot. */
- return 2540;
+ return 2566;
}
}
else
@@ -2890,7 +2890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xxxxxxxxx101xxx
usdot. */
- return 2926;
+ return 2952;
}
}
else
@@ -2903,7 +2903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx011xxx
bfvdot. */
- return 2526;
+ return 2552;
}
else
{
@@ -2911,7 +2911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx011xxx
bfdot. */
- return 2504;
+ return 2530;
}
}
else
@@ -2922,7 +2922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx0xxxxxx111xxx
fdot. */
- return 3527;
+ return 3627;
}
else
{
@@ -2930,7 +2930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx0xx1xxxxxx111xxx
sudot. */
- return 2844;
+ return 2870;
}
}
}
@@ -2948,7 +2948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx100xxxxxxxxx1xxx
ldnt1b. */
- return 2636;
+ return 2662;
}
else
{
@@ -2956,7 +2956,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx110xxxxxxxxx1xxx
ldnt1w. */
- return 2660;
+ return 2686;
}
}
else
@@ -2967,7 +2967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx101xxxxxxxxx1xxx
ldnt1h. */
- return 2652;
+ return 2678;
}
else
{
@@ -2975,7 +2975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010100xxxx111xxxxxxxxx1xxx
ldnt1d. */
- return 2644;
+ return 2670;
}
}
}
@@ -2991,7 +2991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx001xxx
fdot. */
- return 3528;
+ return 3628;
}
else
{
@@ -2999,7 +2999,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx001xxx
fdot. */
- return 2541;
+ return 2567;
}
}
else
@@ -3010,7 +3010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx101xxx
usvdot. */
- return 2940;
+ return 2966;
}
else
{
@@ -3018,7 +3018,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx101xxx
usdot. */
- return 2927;
+ return 2953;
}
}
}
@@ -3030,7 +3030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xxxxxxxxx011xxx
bfdot. */
- return 2505;
+ return 2531;
}
else
{
@@ -3040,7 +3040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx0xxxxxx111xxx
suvdot. */
- return 2855;
+ return 2881;
}
else
{
@@ -3048,7 +3048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx000010101xxxx1xx1xxxxxx111xxx
sudot. */
- return 2845;
+ return 2871;
}
}
}
@@ -3070,7 +3070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011100xxxxxxx0xxxxxxx0xxxx
fmlal. */
- return 3539;
+ return 3639;
}
else
{
@@ -3086,7 +3086,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx00xxxxx000xxx
fmla. */
- return 2980;
+ return 3006;
}
else
{
@@ -3094,7 +3094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx00xxxxx000xxx
fmla. */
- return 2981;
+ return 3007;
}
}
else
@@ -3105,7 +3105,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx00xxxxx001xxx
sdot. */
- return 2962;
+ return 2988;
}
else
{
@@ -3113,7 +3113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx00xxxxx001xxx
sdot. */
- return 2963;
+ return 2989;
}
}
}
@@ -3125,7 +3125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx01xxxxx00xxxx
fvdotb. */
- return 3558;
+ return 3658;
}
else
{
@@ -3133,7 +3133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx01xxxxx00xxxx
svdot. */
- return 2970;
+ return 2996;
}
}
}
@@ -3143,7 +3143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxxxxx0xxxxxx10xxxx
fdot. */
- return 3533;
+ return 3633;
}
}
}
@@ -3157,7 +3157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011100xxxxxxx1xxxxxxx00xxx
smlal. */
- return 2719;
+ return 2745;
}
else
{
@@ -3165,7 +3165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011100xxxxxxx1xxxxxxx01xxx
smlsl. */
- return 2735;
+ return 2761;
}
}
else
@@ -3180,7 +3180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx1xxxxxx000xxx
smlal. */
- return 2720;
+ return 2746;
}
else
{
@@ -3188,7 +3188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx1xxxxxx000xxx
smlal. */
- return 2721;
+ return 2747;
}
}
else
@@ -3199,7 +3199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx1xxxxxx001xxx
smlsl. */
- return 2736;
+ return 2762;
}
else
{
@@ -3207,7 +3207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx1xxxxxx001xxx
smlsl. */
- return 2737;
+ return 2763;
}
}
}
@@ -3217,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxxxxx1xxxxxx10xxxx
fvdot. */
- return 3557;
+ return 3657;
}
}
}
@@ -3230,7 +3230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001110xxxxxxxxxxxxxxxx0xxxx
usmopa. */
- return 2433;
+ return 2469;
}
else
{
@@ -3238,7 +3238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100001110xxxxxxxxxxxxxxxx0xxxx
ld1q. */
- return 2445;
+ return 2481;
}
}
}
@@ -3258,7 +3258,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx0xx00xxxxxx10xxx
fmls. */
- return 2982;
+ return 3008;
}
else
{
@@ -3266,7 +3266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx1xx00xxxxxx10xxx
fmls. */
- return 2983;
+ return 3009;
}
}
else
@@ -3277,7 +3277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx0xx00xxxxxx11xxx
udot. */
- return 2971;
+ return 2997;
}
else
{
@@ -3285,7 +3285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx1xx00xxxxxx11xxx
udot. */
- return 2972;
+ return 2998;
}
}
}
@@ -3297,7 +3297,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx0xx01xxxxxx1xxxx
fvdott. */
- return 3559;
+ return 3659;
}
else
{
@@ -3305,7 +3305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx000001110xxxxx1xx01xxxxxx1xxxx
uvdot. */
- return 2979;
+ return 3005;
}
}
}
@@ -3319,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011100xxxxxxx1xxxxxxx10xxx
umlal. */
- return 2882;
+ return 2908;
}
else
{
@@ -3329,7 +3329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx1xxxxxxx10xxx
umlal. */
- return 2883;
+ return 2909;
}
else
{
@@ -3337,7 +3337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx1xxxxxxx10xxx
umlal. */
- return 2884;
+ return 2910;
}
}
}
@@ -3349,7 +3349,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011100xxxxxxx1xxxxxxx11xxx
umlsl. */
- return 2898;
+ return 2924;
}
else
{
@@ -3359,7 +3359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx0xx1xxxxxxx11xxx
umlsl. */
- return 2899;
+ return 2925;
}
else
{
@@ -3367,7 +3367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0000011101xxxx1xx1xxxxxxx11xxx
umlsl. */
- return 2900;
+ return 2926;
}
}
}
@@ -3379,7 +3379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001110xxxxxxxxxxxxxxxx1xxxx
usmops. */
- return 2435;
+ return 2471;
}
}
}
@@ -3399,7 +3399,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001xx1xxxxxxxxxxxxxxxx00xxx
fmopa. */
- return 2415;
+ return 2451;
}
else
{
@@ -3407,7 +3407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001xx1xxxxxxxxxxxxxxxx10xxx
fmops. */
- return 2418;
+ return 2454;
}
}
else
@@ -3418,7 +3418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001xx1xxxxxxxxxxxxxxxx01xxx
bfmopa. */
- return 3332;
+ return 3432;
}
else
{
@@ -3426,7 +3426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0000001xx1xxxxxxxxxxxxxxxx11xxx
bfmops. */
- return 3333;
+ return 3433;
}
}
}
@@ -3456,7 +3456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx000xxxxx0000x
smlall. */
- return 2731;
+ return 2757;
}
else
{
@@ -3464,7 +3464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx000xxxxx0000x
smlall. */
- return 2732;
+ return 2758;
}
}
else
@@ -3477,7 +3477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxx00000x
smlall. */
- return 2733;
+ return 2759;
}
else
{
@@ -3485,7 +3485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxx00000x
smlall. */
- return 2734;
+ return 2760;
}
}
else
@@ -3496,7 +3496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxx10000x
fmlall. */
- return 3553;
+ return 3653;
}
else
{
@@ -3504,7 +3504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxx10000x
fmlall. */
- return 3554;
+ return 3654;
}
}
}
@@ -3519,7 +3519,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx000xxxxx0010x
usmlall. */
- return 2936;
+ return 2962;
}
else
{
@@ -3527,7 +3527,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx000xxxxx0010x
usmlall. */
- return 2937;
+ return 2963;
}
}
else
@@ -3538,7 +3538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxxx0010x
usmlall. */
- return 2938;
+ return 2964;
}
else
{
@@ -3546,7 +3546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxxx0010x
usmlall. */
- return 2939;
+ return 2965;
}
}
}
@@ -3559,7 +3559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx000xxxxx00x1x
fmlall. */
- return 3551;
+ return 3651;
}
else
{
@@ -3567,7 +3567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx000xxxxx00x1x
fmlall. */
- return 3552;
+ return 3652;
}
}
}
@@ -3581,7 +3581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx100xxxxx00xxx
fdot. */
- return 2542;
+ return 2568;
}
else
{
@@ -3589,7 +3589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx100xxxxx00xxx
fdot. */
- return 2543;
+ return 2569;
}
}
else
@@ -3602,7 +3602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx100xxxx000xxx
fdot. */
- return 2544;
+ return 2570;
}
else
{
@@ -3610,7 +3610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx100xxxx000xxx
fdot. */
- return 2545;
+ return 2571;
}
}
else
@@ -3621,7 +3621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx100xxxx100xxx
fdot. */
- return 3537;
+ return 3637;
}
else
{
@@ -3629,7 +3629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx100xxxx100xxx
fdot. */
- return 3538;
+ return 3638;
}
}
}
@@ -3651,7 +3651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx010xxxxx000xx
fmlal. */
- return 2572;
+ return 2598;
}
else
{
@@ -3659,7 +3659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx010xxxxx000xx
fmlal. */
- return 2573;
+ return 2599;
}
}
else
@@ -3672,7 +3672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx010xxxx0000xx
fmlal. */
- return 2574;
+ return 2600;
}
else
{
@@ -3680,7 +3680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx010xxxx0000xx
fmlal. */
- return 2575;
+ return 2601;
}
}
else
@@ -3691,7 +3691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx010xxxx1000xx
fmlal. */
- return 3545;
+ return 3645;
}
else
{
@@ -3699,7 +3699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx010xxxx1000xx
fmlal. */
- return 3546;
+ return 3646;
}
}
}
@@ -3714,7 +3714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx010xxxxx000xx
smlal. */
- return 2723;
+ return 2749;
}
else
{
@@ -3722,7 +3722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010111xxxx0xx010xxxxx000xx
smlal. */
- return 2724;
+ return 2750;
}
}
else
@@ -3733,7 +3733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx00xx010xxxxx000xx
smlal. */
- return 2725;
+ return 2751;
}
else
{
@@ -3741,7 +3741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx10xx010xxxxx000xx
smlal. */
- return 2726;
+ return 2752;
}
}
}
@@ -3754,7 +3754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx010xxxxx001xx
fmlal. */
- return 3543;
+ return 3643;
}
else
{
@@ -3762,7 +3762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx010xxxxx001xx
fmlal. */
- return 3544;
+ return 3644;
}
}
}
@@ -3776,7 +3776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx110xxxxx00xxx
fmla. */
- return 2564;
+ return 2590;
}
else
{
@@ -3784,7 +3784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx110xxxxx00xxx
fmla. */
- return 2565;
+ return 2591;
}
}
else
@@ -3795,7 +3795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx110xxxxx00xxx
fmla. */
- return 2566;
+ return 2592;
}
else
{
@@ -3803,7 +3803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx110xxxxx00xxx
fmla. */
- return 2567;
+ return 2593;
}
}
}
@@ -3823,7 +3823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx001xxxxx000xx
smlall. */
- return 2730;
+ return 2756;
}
else
{
@@ -3831,7 +3831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx001xxxxx000xx
fmlall. */
- return 3550;
+ return 3650;
}
}
else
@@ -3840,7 +3840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx0xx001xxxxx001xx
usmlall. */
- return 2935;
+ return 2961;
}
}
else
@@ -3853,7 +3853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx101xxxxx00xxx
sdot. */
- return 2705;
+ return 2731;
}
else
{
@@ -3861,7 +3861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx101xxxxx00xxx
sdot. */
- return 2706;
+ return 2732;
}
}
else
@@ -3872,7 +3872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx101xxxxx00xxx
sdot. */
- return 2707;
+ return 2733;
}
else
{
@@ -3880,7 +3880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx101xxxxx00xxx
sdot. */
- return 2708;
+ return 2734;
}
}
}
@@ -3897,7 +3897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x010xxxx0xx011xxxxx00xxx
fmlal. */
- return 2571;
+ return 2597;
}
else
{
@@ -3905,7 +3905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x110xxxx0xx011xxxxx00xxx
smlal. */
- return 2722;
+ return 2748;
}
}
else
@@ -3914,7 +3914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx011xxxxx00xxx
fmlal. */
- return 3542;
+ return 3642;
}
}
else
@@ -3929,7 +3929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx111xxxxx00xxx
fmla. */
- return 3365;
+ return 3465;
}
else
{
@@ -3937,7 +3937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx111xxxxx00xxx
bfmla. */
- return 3322;
+ return 3422;
}
}
else
@@ -3950,7 +3950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x10x0x00xx111xxxxx00xxx
fadd. */
- return 2530;
+ return 2556;
}
else
{
@@ -3960,7 +3960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011010x1x00xx111xxxxx00xxx
fadd. */
- return 3491;
+ return 3591;
}
else
{
@@ -3968,7 +3968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011110x1x00xx111xxxxx00xxx
bfadd. */
- return 3316;
+ return 3416;
}
}
}
@@ -3980,7 +3980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x10x0x10xx111xxxxx00xxx
fadd. */
- return 2531;
+ return 2557;
}
else
{
@@ -3990,7 +3990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011010x1x10xx111xxxxx00xxx
fadd. */
- return 3492;
+ return 3592;
}
else
{
@@ -3998,7 +3998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011110x1x10xx111xxxxx00xxx
bfadd. */
- return 3317;
+ return 3417;
}
}
}
@@ -4012,7 +4012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x011xxxx0xx111xxxxx00xxx
fmla. */
- return 3366;
+ return 3466;
}
else
{
@@ -4020,7 +4020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x111xxxx0xx111xxxxx00xxx
bfmla. */
- return 3323;
+ return 3423;
}
}
}
@@ -4045,7 +4045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx000xxxxx100xx
umlall. */
- return 2894;
+ return 2920;
}
else
{
@@ -4053,7 +4053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx000xxxxx100xx
umlall. */
- return 2895;
+ return 2921;
}
}
else
@@ -4064,7 +4064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxxx100xx
umlall. */
- return 2896;
+ return 2922;
}
else
{
@@ -4072,7 +4072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxxx100xx
umlall. */
- return 2897;
+ return 2923;
}
}
}
@@ -4084,7 +4084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xxxx0xx000xxxxx101xx
sumlall. */
- return 2851;
+ return 2877;
}
else
{
@@ -4092,7 +4092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xxxx0xx000xxxxx101xx
sumlall. */
- return 2852;
+ return 2878;
}
}
}
@@ -4106,7 +4106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx100xxxxx10xxx
bfdot. */
- return 2506;
+ return 2532;
}
else
{
@@ -4114,7 +4114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx100xxxxx10xxx
bfdot. */
- return 2507;
+ return 2533;
}
}
else
@@ -4127,7 +4127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx100xxxx010xxx
bfdot. */
- return 2508;
+ return 2534;
}
else
{
@@ -4135,7 +4135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx100xxxx010xxx
bfdot. */
- return 2509;
+ return 2535;
}
}
else
@@ -4146,7 +4146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx100xxxx110xxx
fdot. */
- return 3531;
+ return 3631;
}
else
{
@@ -4154,7 +4154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx100xxxx110xxx
fdot. */
- return 3532;
+ return 3632;
}
}
}
@@ -4174,7 +4174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx010xxxxx10xxx
bfmlal. */
- return 2514;
+ return 2540;
}
else
{
@@ -4182,7 +4182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx010xxxxx10xxx
bfmlal. */
- return 2515;
+ return 2541;
}
}
else
@@ -4193,7 +4193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx010xxxxx10xxx
bfmlal. */
- return 2516;
+ return 2542;
}
else
{
@@ -4201,7 +4201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx010xxxxx10xxx
bfmlal. */
- return 2517;
+ return 2543;
}
}
}
@@ -4215,7 +4215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx010xxxxx10xxx
umlal. */
- return 2886;
+ return 2912;
}
else
{
@@ -4223,7 +4223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010111xxxx0xx010xxxxx10xxx
umlal. */
- return 2887;
+ return 2913;
}
}
else
@@ -4234,7 +4234,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx00xx010xxxxx10xxx
umlal. */
- return 2888;
+ return 2914;
}
else
{
@@ -4242,7 +4242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx10xx010xxxxx10xxx
umlal. */
- return 2889;
+ return 2915;
}
}
}
@@ -4257,7 +4257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx110xxxxx10xxx
add. */
- return 2496;
+ return 2522;
}
else
{
@@ -4265,7 +4265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx110xxxxx10xxx
add. */
- return 2497;
+ return 2523;
}
}
else
@@ -4276,7 +4276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx110xxxxx10xxx
add. */
- return 2498;
+ return 2524;
}
else
{
@@ -4284,7 +4284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx110xxxxx10xxx
add. */
- return 2499;
+ return 2525;
}
}
}
@@ -4300,7 +4300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx0xx001xxxxx10xxx
umlall. */
- return 2893;
+ return 2919;
}
else
{
@@ -4312,7 +4312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx101xxxxx10xxx
udot. */
- return 2870;
+ return 2896;
}
else
{
@@ -4320,7 +4320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx101xxxxx10xxx
udot. */
- return 2871;
+ return 2897;
}
}
else
@@ -4331,7 +4331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx101xxxxx10xxx
udot. */
- return 2872;
+ return 2898;
}
else
{
@@ -4339,7 +4339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx101xxxxx10xxx
udot. */
- return 2873;
+ return 2899;
}
}
}
@@ -4354,7 +4354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x01xxxxx0xx011xxxxx10xxx
bfmlal. */
- return 2513;
+ return 2539;
}
else
{
@@ -4362,7 +4362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxxx0xx011xxxxx10xxx
umlal. */
- return 2885;
+ return 2911;
}
}
else
@@ -4373,7 +4373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxx00xx111xxxxx10xxx
add. */
- return 2494;
+ return 2520;
}
else
{
@@ -4381,7 +4381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxx10xx111xxxxx10xxx
add. */
- return 2495;
+ return 2521;
}
}
}
@@ -4406,7 +4406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx000xxxxx01xxx
smlsll. */
- return 2747;
+ return 2773;
}
else
{
@@ -4414,7 +4414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx000xxxxx01xxx
smlsll. */
- return 2748;
+ return 2774;
}
}
else
@@ -4425,7 +4425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxxx01xxx
smlsll. */
- return 2749;
+ return 2775;
}
else
{
@@ -4433,7 +4433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxxx01xxx
smlsll. */
- return 2750;
+ return 2776;
}
}
}
@@ -4449,7 +4449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx100xxxxx01xxx
fdot. */
- return 3535;
+ return 3635;
}
else
{
@@ -4457,7 +4457,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx100xxxxx01xxx
fdot. */
- return 3536;
+ return 3636;
}
}
else
@@ -4468,7 +4468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx100xxxxx01xxx
fmla. */
- return 3367;
+ return 3467;
}
else
{
@@ -4476,7 +4476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx100xxxxx01xxx
fmla. */
- return 3368;
+ return 3468;
}
}
}
@@ -4488,7 +4488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxx00xx100xxxxx01xxx
bfmla. */
- return 3324;
+ return 3424;
}
else
{
@@ -4496,7 +4496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxx10xx100xxxxx01xxx
bfmla. */
- return 3325;
+ return 3425;
}
}
}
@@ -4515,7 +4515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx010xxxxx01xxx
fmlsl. */
- return 2586;
+ return 2612;
}
else
{
@@ -4523,7 +4523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx010xxxxx01xxx
fmlsl. */
- return 2587;
+ return 2613;
}
}
else
@@ -4534,7 +4534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx010xxxxx01xxx
fmlsl. */
- return 2588;
+ return 2614;
}
else
{
@@ -4542,7 +4542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx010xxxxx01xxx
fmlsl. */
- return 2589;
+ return 2615;
}
}
}
@@ -4556,7 +4556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx010xxxxx01xxx
smlsl. */
- return 2739;
+ return 2765;
}
else
{
@@ -4564,7 +4564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010111xxxx0xx010xxxxx01xxx
smlsl. */
- return 2740;
+ return 2766;
}
}
else
@@ -4575,7 +4575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx00xx010xxxxx01xxx
smlsl. */
- return 2741;
+ return 2767;
}
else
{
@@ -4583,7 +4583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx10xx010xxxxx01xxx
smlsl. */
- return 2742;
+ return 2768;
}
}
}
@@ -4598,7 +4598,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx110xxxxx01xxx
fmls. */
- return 2578;
+ return 2604;
}
else
{
@@ -4606,7 +4606,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx110xxxxx01xxx
fmls. */
- return 2579;
+ return 2605;
}
}
else
@@ -4617,7 +4617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx110xxxxx01xxx
fmls. */
- return 2580;
+ return 2606;
}
else
{
@@ -4625,7 +4625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx110xxxxx01xxx
fmls. */
- return 2581;
+ return 2607;
}
}
}
@@ -4641,7 +4641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx0xx001xxxxx01xxx
smlsll. */
- return 2746;
+ return 2772;
}
else
{
@@ -4655,7 +4655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx101xxxxx01xxx
usdot. */
- return 2928;
+ return 2954;
}
else
{
@@ -4663,7 +4663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx101xxxxx01xxx
usdot. */
- return 2929;
+ return 2955;
}
}
else
@@ -4674,7 +4674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx101xxxxx01xxx
usdot. */
- return 2930;
+ return 2956;
}
else
{
@@ -4682,7 +4682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx101xxxxx01xxx
usdot. */
- return 2931;
+ return 2957;
}
}
}
@@ -4696,7 +4696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx101xxxxx01xxx
sdot. */
- return 2699;
+ return 2725;
}
else
{
@@ -4704,7 +4704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010111xxxx0xx101xxxxx01xxx
sdot. */
- return 2700;
+ return 2726;
}
}
else
@@ -4715,7 +4715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx00xx101xxxxx01xxx
sdot. */
- return 2701;
+ return 2727;
}
else
{
@@ -4723,7 +4723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx10xx101xxxxx01xxx
sdot. */
- return 2702;
+ return 2728;
}
}
}
@@ -4739,7 +4739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x01xxxxx0xx011xxxxx01xxx
fmlsl. */
- return 2585;
+ return 2611;
}
else
{
@@ -4747,7 +4747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxxx0xx011xxxxx01xxx
smlsl. */
- return 2738;
+ return 2764;
}
}
else
@@ -4762,7 +4762,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx111xxxxx01xxx
fmls. */
- return 3371;
+ return 3471;
}
else
{
@@ -4770,7 +4770,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx111xxxxx01xxx
bfmls. */
- return 3328;
+ return 3428;
}
}
else
@@ -4783,7 +4783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x10x0x00xx111xxxxx01xxx
fsub. */
- return 2598;
+ return 2624;
}
else
{
@@ -4793,7 +4793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011010x1x00xx111xxxxx01xxx
fsub. */
- return 3493;
+ return 3593;
}
else
{
@@ -4801,7 +4801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011110x1x00xx111xxxxx01xxx
bfsub. */
- return 3318;
+ return 3418;
}
}
}
@@ -4813,7 +4813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x10x0x10xx111xxxxx01xxx
fsub. */
- return 2599;
+ return 2625;
}
else
{
@@ -4823,7 +4823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011010x1x10xx111xxxxx01xxx
fsub. */
- return 3494;
+ return 3594;
}
else
{
@@ -4831,7 +4831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011110x1x10xx111xxxxx01xxx
bfsub. */
- return 3319;
+ return 3419;
}
}
}
@@ -4845,7 +4845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x011xxxx0xx111xxxxx01xxx
fmls. */
- return 3372;
+ return 3472;
}
else
{
@@ -4853,7 +4853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x111xxxx0xx111xxxxx01xxx
bfmls. */
- return 3329;
+ return 3429;
}
}
}
@@ -4876,7 +4876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx000xxxxx11xxx
umlsll. */
- return 2910;
+ return 2936;
}
else
{
@@ -4884,7 +4884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx000xxxxx11xxx
umlsll. */
- return 2911;
+ return 2937;
}
}
else
@@ -4895,7 +4895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx000xxxxx11xxx
umlsll. */
- return 2912;
+ return 2938;
}
else
{
@@ -4903,7 +4903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx000xxxxx11xxx
umlsll. */
- return 2913;
+ return 2939;
}
}
}
@@ -4919,7 +4919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx100xxxxx11xxx
fdot. */
- return 3529;
+ return 3629;
}
else
{
@@ -4927,7 +4927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx100xxxxx11xxx
fdot. */
- return 3530;
+ return 3630;
}
}
else
@@ -4938,7 +4938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx100xxxxx11xxx
fmls. */
- return 3373;
+ return 3473;
}
else
{
@@ -4946,7 +4946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx100xxxxx11xxx
fmls. */
- return 3374;
+ return 3474;
}
}
}
@@ -4958,7 +4958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxx00xx100xxxxx11xxx
bfmls. */
- return 3330;
+ return 3430;
}
else
{
@@ -4966,7 +4966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxx10xx100xxxxx11xxx
bfmls. */
- return 3331;
+ return 3431;
}
}
}
@@ -4985,7 +4985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010xxxx0xx010xxxxx11xxx
bfmlsl. */
- return 2522;
+ return 2548;
}
else
{
@@ -4993,7 +4993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010011xxxx0xx010xxxxx11xxx
bfmlsl. */
- return 2523;
+ return 2549;
}
}
else
@@ -5004,7 +5004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx00xx010xxxxx11xxx
bfmlsl. */
- return 2524;
+ return 2550;
}
else
{
@@ -5012,7 +5012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxxx10xx010xxxxx11xxx
bfmlsl. */
- return 2525;
+ return 2551;
}
}
}
@@ -5026,7 +5026,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx010xxxxx11xxx
umlsl. */
- return 2902;
+ return 2928;
}
else
{
@@ -5034,7 +5034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010111xxxx0xx010xxxxx11xxx
umlsl. */
- return 2903;
+ return 2929;
}
}
else
@@ -5045,7 +5045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx00xx010xxxxx11xxx
umlsl. */
- return 2904;
+ return 2930;
}
else
{
@@ -5053,7 +5053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx10xx010xxxxx11xxx
umlsl. */
- return 2905;
+ return 2931;
}
}
}
@@ -5068,7 +5068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x10xxxx0xx110xxxxx11xxx
sub. */
- return 2840;
+ return 2866;
}
else
{
@@ -5076,7 +5076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010x11xxxx0xx110xxxxx11xxx
sub. */
- return 2841;
+ return 2867;
}
}
else
@@ -5087,7 +5087,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx00xx110xxxxx11xxx
sub. */
- return 2842;
+ return 2868;
}
else
{
@@ -5095,7 +5095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011x1xxxx10xx110xxxxx11xxx
sub. */
- return 2843;
+ return 2869;
}
}
}
@@ -5111,7 +5111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx0xx001xxxxx11xxx
umlsll. */
- return 2909;
+ return 2935;
}
else
{
@@ -5123,7 +5123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x010xxxx0xx101xxxxx11xxx
sudot. */
- return 2846;
+ return 2872;
}
else
{
@@ -5131,7 +5131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x011xxxx0xx101xxxxx11xxx
sudot. */
- return 2847;
+ return 2873;
}
}
else
@@ -5144,7 +5144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110xxxx0xx101xxxxx11xxx
udot. */
- return 2864;
+ return 2890;
}
else
{
@@ -5152,7 +5152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010111xxxx0xx101xxxxx11xxx
udot. */
- return 2865;
+ return 2891;
}
}
else
@@ -5163,7 +5163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx00xx101xxxxx11xxx
udot. */
- return 2866;
+ return 2892;
}
else
{
@@ -5171,7 +5171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxxx10xx101xxxxx11xxx
udot. */
- return 2867;
+ return 2893;
}
}
}
@@ -5187,7 +5187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x01xxxxx0xx011xxxxx11xxx
bfmlsl. */
- return 2521;
+ return 2547;
}
else
{
@@ -5195,7 +5195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxxx0xx011xxxxx11xxx
umlsl. */
- return 2901;
+ return 2927;
}
}
else
@@ -5206,7 +5206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxx00xx111xxxxx11xxx
sub. */
- return 2838;
+ return 2864;
}
else
{
@@ -5214,7 +5214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxx10xx111xxxxx11xxx
sub. */
- return 2839;
+ return 2865;
}
}
}
@@ -5234,7 +5234,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxx0100xxxxxxxxxxxxx
sel. */
- return 2709;
+ return 2735;
}
else
{
@@ -5242,7 +5242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxx1100xxxxxxxxxxxxx
sel. */
- return 2710;
+ return 2736;
}
}
else
@@ -5259,7 +5259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110000xxxxxxxxx0
fclamp. */
- return 2532;
+ return 2558;
}
else
{
@@ -5267,7 +5267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110100xxxxxxxxx0
zip. */
- return 2958;
+ return 2984;
}
}
else
@@ -5276,7 +5276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110x00xxxxxxxxx1
uzp. */
- return 2945;
+ return 2971;
}
}
else
@@ -5287,7 +5287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110010xxxxxxxxxx
fclamp. */
- return 2533;
+ return 2559;
}
else
{
@@ -5299,7 +5299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110110xxx00xxxxx
sqrshr. */
- return 2764;
+ return 2790;
}
else
{
@@ -5307,7 +5307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110110xxx10xxxxx
sqrshru. */
- return 2767;
+ return 2793;
}
}
else
@@ -5316,7 +5316,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110110xxxx1xxxxx
uqrshr. */
- return 2920;
+ return 2946;
}
}
}
@@ -5333,7 +5333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110001xxxxxxxxx0
sclamp. */
- return 2693;
+ return 2719;
}
else
{
@@ -5341,7 +5341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110001xxxxxxxxx1
uclamp. */
- return 2858;
+ return 2884;
}
}
else
@@ -5354,7 +5354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x01xxxxx110101xxxxxxxxx0
zip. */
- return 2959;
+ return 2985;
}
else
{
@@ -5362,7 +5362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x01xxxxx110101xxxxxxxxx1
uzp. */
- return 2946;
+ return 2972;
}
}
else
@@ -5375,7 +5375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x110xxxx110101xxxx0xxxxx
sqrshr. */
- return 2763;
+ return 2789;
}
else
{
@@ -5383,7 +5383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x111xxxx110101xxxx0xxxxx
sqrshru. */
- return 2766;
+ return 2792;
}
}
else
@@ -5392,7 +5392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11xxxxx110101xxxx1xxxxx
uqrshr. */
- return 2919;
+ return 2945;
}
}
}
@@ -5407,7 +5407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110011xxxxxxxxx0
sclamp. */
- return 2694;
+ return 2720;
}
else
{
@@ -5415,7 +5415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110011xxxxxxxxx1
uclamp. */
- return 2859;
+ return 2885;
}
}
else
@@ -5428,7 +5428,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110111xxx00xxxxx
sqrshrn. */
- return 2765;
+ return 2791;
}
else
{
@@ -5436,7 +5436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110111xxx10xxxxx
sqrshrun. */
- return 2768;
+ return 2794;
}
}
else
@@ -5445,7 +5445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx110111xxxx1xxxxx
uqrshrn. */
- return 2921;
+ return 2947;
}
}
}
@@ -5474,7 +5474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000x00x0xxxx0
smax. */
- return 2711;
+ return 2737;
}
else
{
@@ -5484,7 +5484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000010x0xxxx0
fmax. */
- return 2546;
+ return 2572;
}
else
{
@@ -5492,7 +5492,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000110x0xxxx0
add. */
- return 2500;
+ return 2526;
}
}
}
@@ -5501,8 +5501,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000001xx1xxxxx101000xx1x0xxxx0
- fscale. */
- return 3465;
+ bfscale. */
+ return 3011;
}
}
else
@@ -5515,7 +5515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx10100000xx1xxxx0
smin. */
- return 2715;
+ return 2741;
}
else
{
@@ -5523,7 +5523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx10100010xx1xxxx0
srshl. */
- return 2769;
+ return 2795;
}
}
else
@@ -5532,7 +5532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000x1xx1xxxx0
fmaxnm. */
- return 2550;
+ return 2576;
}
}
}
@@ -5546,7 +5546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000x0xx0xxxx1
umax. */
- return 2874;
+ return 2900;
}
else
{
@@ -5554,7 +5554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000x1xx0xxxx1
fmin. */
- return 2554;
+ return 2580;
}
}
else
@@ -5567,7 +5567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx10100000xx1xxxx1
umin. */
- return 2878;
+ return 2904;
}
else
{
@@ -5575,7 +5575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx10100010xx1xxxx1
urshl. */
- return 2922;
+ return 2948;
}
}
else
@@ -5584,7 +5584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx101000x1xx1xxxx1
fminnm. */
- return 2558;
+ return 2584;
}
}
}
@@ -5609,7 +5609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001001x0000111000xxxx0xxxxx
fcvt. */
- return 2534;
+ return 2560;
}
else
{
@@ -5617,7 +5617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001001x0000111000xxxx1xxxxx
fcvtn. */
- return 2535;
+ return 2561;
}
}
else
@@ -5628,7 +5628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101x0000111000xxxxxxxxx0
fcvt. */
- return 3375;
+ return 3475;
}
else
{
@@ -5636,7 +5636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101x0000111000xxxxxxxxx1
fcvtl. */
- return 3376;
+ return 3476;
}
}
}
@@ -5648,7 +5648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11x0000111000xxxx0xxxxx
bfcvt. */
- return 2502;
+ return 2528;
}
else
{
@@ -5656,7 +5656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x11x0000111000xxxx1xxxxx
bfcvtn. */
- return 2503;
+ return 2529;
}
}
}
@@ -5668,7 +5668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx101000111000xxxxxxxxxx
frintn. */
- return 2594;
+ return 2620;
}
else
{
@@ -5676,7 +5676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx111000111000xxxxxxxxxx
frintn. */
- return 2595;
+ return 2621;
}
}
}
@@ -5694,7 +5694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x0100100111000xxxx0xxxxx
fcvt. */
- return 3462;
+ return 3562;
}
else
{
@@ -5702,7 +5702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x1100100111000xxxx0xxxxx
bfcvt. */
- return 3457;
+ return 3557;
}
}
else
@@ -5711,7 +5711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx110100111000xxxx0xxxxx
fcvt. */
- return 3463;
+ return 3563;
}
}
else
@@ -5722,7 +5722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx101100111000xxxx0xxxxx
frinta. */
- return 2590;
+ return 2616;
}
else
{
@@ -5730,7 +5730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx111100111000xxxx0xxxxx
frinta. */
- return 2591;
+ return 2617;
}
}
}
@@ -5740,7 +5740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx100111000xxxx1xxxxx
fcvtn. */
- return 3464;
+ return 3564;
}
}
}
@@ -5760,7 +5760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx100010111000xxxx0xxxx0
scvtf. */
- return 2695;
+ return 2721;
}
else
{
@@ -5768,7 +5768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx110010111000xxxx0xxxx0
scvtf. */
- return 2696;
+ return 2722;
}
}
else
@@ -5779,7 +5779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx101010111000xxxx0xxxx0
frintm. */
- return 2592;
+ return 2618;
}
else
{
@@ -5787,7 +5787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx111010111000xxxx0xxxx0
frintm. */
- return 2593;
+ return 2619;
}
}
}
@@ -5799,7 +5799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10x010111000xxxx1xxxx0
ucvtf. */
- return 2860;
+ return 2886;
}
else
{
@@ -5807,7 +5807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11x010111000xxxx1xxxx0
ucvtf. */
- return 2861;
+ return 2887;
}
}
}
@@ -5823,7 +5823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010010x110111000xxxxxxxxx0
f1cvt. */
- return 3458;
+ return 3558;
}
else
{
@@ -5831,7 +5831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011010x110111000xxxxxxxxx0
f2cvt. */
- return 3459;
+ return 3559;
}
}
else
@@ -5842,7 +5842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000010110x110111000xxxxxxxxx0
bf1cvt. */
- return 3453;
+ return 3553;
}
else
{
@@ -5850,7 +5850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10000011110x110111000xxxxxxxxx0
bf2cvt. */
- return 3454;
+ return 3554;
}
}
}
@@ -5862,7 +5862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11x110111000xxxxxxxx00
zip. */
- return 2960;
+ return 2986;
}
else
{
@@ -5870,7 +5870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11x110111000xxxxxxxx10
uzp. */
- return 2947;
+ return 2973;
}
}
}
@@ -5885,7 +5885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001001xxx10111000xxxxxxxxx1
f1cvtl. */
- return 3460;
+ return 3560;
}
else
{
@@ -5893,7 +5893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001101xxx10111000xxxxxxxxx1
f2cvtl. */
- return 3461;
+ return 3561;
}
}
else
@@ -5904,7 +5904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001011xxx10111000xxxxxxxxx1
bf1cvtl. */
- return 3455;
+ return 3555;
}
else
{
@@ -5912,7 +5912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001111xxx10111000xxxxxxxxx1
bf2cvtl. */
- return 3456;
+ return 3556;
}
}
}
@@ -5936,7 +5936,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx100001111000xxxx0xxxx0
fcvtzs. */
- return 2536;
+ return 2562;
}
else
{
@@ -5944,7 +5944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx110001111000xxxx0xxxx0
fcvtzs. */
- return 2537;
+ return 2563;
}
}
else
@@ -5955,7 +5955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx101001111000xxxx0xxxx0
frintp. */
- return 2596;
+ return 2622;
}
else
{
@@ -5963,7 +5963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx111001111000xxxx0xxxx0
frintp. */
- return 2597;
+ return 2623;
}
}
}
@@ -5975,7 +5975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10x001111000xxxx1xxxx0
fcvtzu. */
- return 2538;
+ return 2564;
}
else
{
@@ -5983,7 +5983,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11x001111000xxxx1xxxx0
fcvtzu. */
- return 2539;
+ return 2565;
}
}
}
@@ -5995,7 +5995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10x101111000xxxxxxxxx0
sunpk. */
- return 2853;
+ return 2879;
}
else
{
@@ -6003,7 +6003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11x101111000xxxxxxxxx0
sunpk. */
- return 2854;
+ return 2880;
}
}
}
@@ -6015,7 +6015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xx01111000xxxxxxxxx1
uunpk. */
- return 2941;
+ return 2967;
}
else
{
@@ -6023,7 +6023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xx01111000xxxxxxxxx1
uunpk. */
- return 2942;
+ return 2968;
}
}
}
@@ -6041,7 +6041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x010x011111000xxxx0xxxxx
sqcvt. */
- return 2753;
+ return 2779;
}
else
{
@@ -6049,7 +6049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x110x011111000xxxx0xxxxx
sqcvtu. */
- return 2756;
+ return 2782;
}
}
else
@@ -6062,7 +6062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x011x011111000xxx00xxxxx
sqcvt. */
- return 2754;
+ return 2780;
}
else
{
@@ -6070,7 +6070,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x111x011111000xxx00xxxxx
sqcvtu. */
- return 2757;
+ return 2783;
}
}
else
@@ -6081,7 +6081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x011x011111000xxx10xxxxx
sqcvtn. */
- return 2755;
+ return 2781;
}
else
{
@@ -6089,7 +6089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001x111x011111000xxx10xxxxx
sqcvtun. */
- return 2758;
+ return 2784;
}
}
}
@@ -6102,7 +6102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx111111000xxxx0xxx0x
zip. */
- return 2961;
+ return 2987;
}
else
{
@@ -6110,7 +6110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xx111111000xxxx0xxx1x
uzp. */
- return 2948;
+ return 2974;
}
}
}
@@ -6122,7 +6122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx10xx11111000xxxx1xxxxx
uqcvt. */
- return 2916;
+ return 2942;
}
else
{
@@ -6132,7 +6132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xx11111000xxx01xxxxx
uqcvt. */
- return 2917;
+ return 2943;
}
else
{
@@ -6140,7 +6140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx11xx11111000xxx11xxxxx
uqcvtn. */
- return 2918;
+ return 2944;
}
}
}
@@ -6164,7 +6164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100x0000xxxx0
smax. */
- return 2713;
+ return 2739;
}
else
{
@@ -6172,7 +6172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100x1000xxxx0
fmax. */
- return 2548;
+ return 2574;
}
}
else
@@ -6180,8 +6180,8 @@ aarch64_opcode_lookup_1 (uint32_t word)
/* 33222222222211111111110000000000
10987654321098765432109876543210
x1000001xx1xxxxx1x1100xx100xxxx0
- fscale. */
- return 3467;
+ bfscale. */
+ return 3013;
}
}
else
@@ -6190,7 +6190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100xxx10xxxx0
famax. */
- return 1212;
+ return 1264;
}
}
else
@@ -6203,7 +6203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x110000xx1xxxx0
smin. */
- return 2717;
+ return 2743;
}
else
{
@@ -6211,7 +6211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x110010xx1xxxx0
srshl. */
- return 2771;
+ return 2797;
}
}
else
@@ -6220,7 +6220,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100x1xx1xxxx0
fmaxnm. */
- return 2552;
+ return 2578;
}
}
}
@@ -6236,7 +6236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100x0x00xxxx1
umax. */
- return 2876;
+ return 2902;
}
else
{
@@ -6244,7 +6244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100x1x00xxxx1
fmin. */
- return 2556;
+ return 2582;
}
}
else
@@ -6253,7 +6253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100xxx10xxxx1
famin. */
- return 1214;
+ return 1266;
}
}
else
@@ -6266,7 +6266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x110000xx1xxxx1
umin. */
- return 2880;
+ return 2906;
}
else
{
@@ -6274,7 +6274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x110010xx1xxxx1
urshl. */
- return 2924;
+ return 2950;
}
}
else
@@ -6283,7 +6283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1100x1xx1xxxx1
fminnm. */
- return 2560;
+ return 2586;
}
}
}
@@ -6295,87 +6295,109 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 5) & 0x1) == 0)
{
- if (((word >> 6) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- if (((word >> 7) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- if (((word >> 8) & 0x1) == 0)
+ if (((word >> 7) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 8) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1000001xx1xxxxx1x1010x0000xxxx0
+ x1000001xx1xxxxx101010x00x0xxxx0
smax. */
- return 2712;
+ return 2738;
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1000001xx1xxxxx1x1110x0000xxxx0
- smax. */
- return 2714;
- }
- }
- else
- {
- if (((word >> 9) & 0x1) == 0)
- {
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 9) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1000001xx1xxxxx1x101001000xxxx0
+ x1000001xx1xxxxx101010010x0xxxx0
fmax. */
- return 2547;
+ return 2573;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1000001xx1xxxxx1x111001000xxxx0
- fmax. */
- return 2549;
+ x1000001xx1xxxxx101010110x0xxxx0
+ add. */
+ return 2527;
}
}
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1000001xx1xxxxx1x1x1011000xxxx0
- add. */
- return 2501;
- }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxxx101010xx1x0xxxx0
+ bfscale. */
+ return 3012;
}
}
else
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1000001xx1xxxxx1x1010xx100xxxx0
- fscale. */
- return 3466;
+ x1000001xx1xxxx0111010xxxx0xxxx0
+ bfmul. */
+ return 3015;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- x1000001xx1xxxxx1x1110xx100xxxx0
- fscale. */
- return 3468;
+ x1000001xx1xxxx1111010xxxx0xxxx0
+ bfmul. */
+ return 3016;
}
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1000001xx1xxxxx1x1x10xxx10xxxx0
- famax. */
- return 1213;
+ if (((word >> 6) & 0x1) == 0)
+ {
+ if (((word >> 7) & 0x1) == 0)
+ {
+ if (((word >> 8) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxxx1x1110x0000xxxx0
+ smax. */
+ return 2740;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxxx1x1110x1000xxxx0
+ fmax. */
+ return 2575;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxxx1x1110xx100xxxx0
+ bfscale. */
+ return 3014;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxxx1x1110xxx10xxxx0
+ famax. */
+ return 1265;
+ }
}
}
else
@@ -6390,7 +6412,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x101000xx1xxxx0
smin. */
- return 2716;
+ return 2742;
}
else
{
@@ -6398,7 +6420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x111000xx1xxxx0
smin. */
- return 2718;
+ return 2744;
}
}
else
@@ -6409,7 +6431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x101010xx1xxxx0
srshl. */
- return 2770;
+ return 2796;
}
else
{
@@ -6417,7 +6439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x111010xx1xxxx0
srshl. */
- return 2772;
+ return 2798;
}
}
}
@@ -6429,7 +6451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1010x1xx1xxxx0
fmaxnm. */
- return 2551;
+ return 2577;
}
else
{
@@ -6437,7 +6459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1110x1xx1xxxx0
fmaxnm. */
- return 2553;
+ return 2579;
}
}
}
@@ -6456,7 +6478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1010x0x00xxxx1
umax. */
- return 2875;
+ return 2901;
}
else
{
@@ -6464,7 +6486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1110x0x00xxxx1
umax. */
- return 2877;
+ return 2903;
}
}
else
@@ -6475,7 +6497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1010x1x00xxxx1
fmin. */
- return 2555;
+ return 2581;
}
else
{
@@ -6483,7 +6505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1110x1x00xxxx1
fmin. */
- return 2557;
+ return 2583;
}
}
}
@@ -6493,7 +6515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1x10xxx10xxxx1
famin. */
- return 1215;
+ return 1267;
}
}
else
@@ -6508,7 +6530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x101000xx1xxxx1
umin. */
- return 2879;
+ return 2905;
}
else
{
@@ -6516,7 +6538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x111000xx1xxxx1
umin. */
- return 2881;
+ return 2907;
}
}
else
@@ -6527,7 +6549,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x101010xx1xxxx1
urshl. */
- return 2923;
+ return 2949;
}
else
{
@@ -6535,7 +6557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x111010xx1xxxx1
urshl. */
- return 2925;
+ return 2951;
}
}
}
@@ -6547,7 +6569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1010x1xx1xxxx1
fminnm. */
- return 2559;
+ return 2585;
}
else
{
@@ -6555,7 +6577,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1110x1xx1xxxx1
fminnm. */
- return 2561;
+ return 2587;
}
}
}
@@ -6568,11 +6590,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 12) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x1000001xx1xxxxx1x1001xxxxxxxxxx
- sqdmulh. */
- return 2759;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxxx101001xxxxxxxxxx
+ sqdmulh. */
+ return 2785;
+ }
+ else
+ {
+ if (((word >> 16) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxx0111001xxxxxxxxxx
+ bfmul. */
+ return 3017;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1000001xx1xxxx1111001xxxxxxxxxx
+ bfmul. */
+ return 3018;
+ }
+ }
}
else
{
@@ -6580,7 +6624,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1101xxxxxxxxxx
sqdmulh. */
- return 2761;
+ return 2787;
}
}
else
@@ -6591,7 +6635,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1011xxxxxxxxxx
sqdmulh. */
- return 2760;
+ return 2786;
}
else
{
@@ -6599,7 +6643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1000001xx1xxxxx1x1111xxxxxxxxxx
sqdmulh. */
- return 2762;
+ return 2788;
}
}
}
@@ -6627,7 +6671,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx000xxxxxxxxx0xxx
st1b. */
- return 2779;
+ return 2805;
}
else
{
@@ -6635,7 +6679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx010xxxxxxxxx0xxx
st1w. */
- return 2803;
+ return 2829;
}
}
else
@@ -6646,7 +6690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx001xxxxxxxxx0xxx
st1h. */
- return 2795;
+ return 2821;
}
else
{
@@ -6654,7 +6698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx011xxxxxxxxx0xxx
st1d. */
- return 2787;
+ return 2813;
}
}
}
@@ -6668,7 +6712,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx000xxxxxxxxx1xxx
stnt1b. */
- return 2811;
+ return 2837;
}
else
{
@@ -6676,7 +6720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx010xxxxxxxxx1xxx
stnt1w. */
- return 2835;
+ return 2861;
}
}
else
@@ -6687,7 +6731,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx001xxxxxxxxx1xxx
stnt1h. */
- return 2827;
+ return 2853;
}
else
{
@@ -6695,7 +6739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx011xxxxxxxxx1xxx
stnt1d. */
- return 2819;
+ return 2845;
}
}
}
@@ -6706,7 +6750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100001001xxxxx0xxxxxxxxxxxxxxx
str. */
- return 2462;
+ return 2488;
}
}
else
@@ -6723,7 +6767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001001xxxxx100xxxxxxxxx0xxx
st1b. */
- return 2780;
+ return 2806;
}
else
{
@@ -6731,7 +6775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100001001xxxxx100xxxxxxxxx0xxx
str. */
- return 2837;
+ return 2863;
}
}
else
@@ -6740,7 +6784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx110xxxxxxxxx0xxx
st1w. */
- return 2804;
+ return 2830;
}
}
else
@@ -6751,7 +6795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx101xxxxxxxxx0xxx
st1h. */
- return 2796;
+ return 2822;
}
else
{
@@ -6759,7 +6803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx111xxxxxxxxx0xxx
st1d. */
- return 2788;
+ return 2814;
}
}
}
@@ -6773,7 +6817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx100xxxxxxxxx1xxx
stnt1b. */
- return 2812;
+ return 2838;
}
else
{
@@ -6781,7 +6825,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx110xxxxxxxxx1xxx
stnt1w. */
- return 2836;
+ return 2862;
}
}
else
@@ -6792,7 +6836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx101xxxxxxxxx1xxx
stnt1h. */
- return 2828;
+ return 2854;
}
else
{
@@ -6800,7 +6844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001001xxxxx111xxxxxxxxx1xxx
stnt1d. */
- return 2820;
+ return 2846;
}
}
}
@@ -6814,7 +6858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001101xxxxxxxxxxxxxxxx0xxxx
umopa. */
- return 2428;
+ return 2464;
}
else
{
@@ -6822,7 +6866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001101xxxxxxxxxxxxxxxx1xxxx
umops. */
- return 2430;
+ return 2466;
}
}
}
@@ -6842,7 +6886,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx000xxxxxxxxx0xxx
st1b. */
- return 2775;
+ return 2801;
}
else
{
@@ -6850,7 +6894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx100xxxxxxxxx0xxx
st1b. */
- return 2776;
+ return 2802;
}
}
else
@@ -6861,7 +6905,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx010xxxxxxxxx0xxx
st1w. */
- return 2799;
+ return 2825;
}
else
{
@@ -6869,7 +6913,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx110xxxxxxxxx0xxx
st1w. */
- return 2800;
+ return 2826;
}
}
}
@@ -6883,7 +6927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx001xxxxxxxxx0xxx
st1h. */
- return 2791;
+ return 2817;
}
else
{
@@ -6891,7 +6935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx101xxxxxxxxx0xxx
st1h. */
- return 2792;
+ return 2818;
}
}
else
@@ -6902,7 +6946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx011xxxxxxxxx0xxx
st1d. */
- return 2783;
+ return 2809;
}
else
{
@@ -6910,7 +6954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx111xxxxxxxxx0xxx
st1d. */
- return 2784;
+ return 2810;
}
}
}
@@ -6927,7 +6971,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx000xxxxxxxxx1xxx
stnt1b. */
- return 2807;
+ return 2833;
}
else
{
@@ -6935,7 +6979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx100xxxxxxxxx1xxx
stnt1b. */
- return 2808;
+ return 2834;
}
}
else
@@ -6946,7 +6990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx010xxxxxxxxx1xxx
stnt1w. */
- return 2831;
+ return 2857;
}
else
{
@@ -6954,7 +6998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx110xxxxxxxxx1xxx
stnt1w. */
- return 2832;
+ return 2858;
}
}
}
@@ -6968,7 +7012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx001xxxxxxxxx1xxx
stnt1h. */
- return 2823;
+ return 2849;
}
else
{
@@ -6976,7 +7020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx101xxxxxxxxx1xxx
stnt1h. */
- return 2824;
+ return 2850;
}
}
else
@@ -6987,7 +7031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx011xxxxxxxxx1xxx
stnt1d. */
- return 2815;
+ return 2841;
}
else
{
@@ -6995,7 +7039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001011xxxxx111xxxxxxxxx1xxx
stnt1d. */
- return 2816;
+ return 2842;
}
}
}
@@ -7011,7 +7055,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0100001111xxxxxxxxxxxxxxxx0xxxx
umopa. */
- return 2429;
+ return 2465;
}
else
{
@@ -7019,7 +7063,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1100001111xxxxxxxxxxxxxxxx0xxxx
st1q. */
- return 2455;
+ return 2486;
}
}
else
@@ -7028,7 +7072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx100001111xxxxxxxxxxxxxxxx1xxxx
umops. */
- return 2431;
+ return 2467;
}
}
}
@@ -7100,7 +7144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x000xxxxx0xxxxxxxxxxxxxxx
stxrb. */
- return 937;
+ return 989;
}
else
{
@@ -7108,7 +7152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x000xxxxx0xxxxxxxxxxxxxxx
stxrh. */
- return 943;
+ return 995;
}
}
else
@@ -7117,7 +7161,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x000xxxxx0xxxxxxxxxxxxxxx
stxr. */
- return 949;
+ return 1001;
}
}
else
@@ -7128,7 +7172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x00100x001xxxxx0xxxxxxxxxxxxxxx
casp. */
- return 1026;
+ return 1078;
}
else
{
@@ -7136,7 +7180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x001xxxxx0xxxxxxxxxxxxxxx
stxp. */
- return 951;
+ return 1003;
}
}
}
@@ -7152,7 +7196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x000xxxxx1xxxxxxxxxxxxxxx
stlxrb. */
- return 938;
+ return 990;
}
else
{
@@ -7160,7 +7204,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x000xxxxx1xxxxxxxxxxxxxxx
stlxrh. */
- return 944;
+ return 996;
}
}
else
@@ -7169,7 +7213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x000xxxxx1xxxxxxxxxxxxxxx
stlxr. */
- return 950;
+ return 1002;
}
}
else
@@ -7180,7 +7224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x00100x001xxxxx1xxxxxxxxxxxxxxx
caspl. */
- return 1028;
+ return 1080;
}
else
{
@@ -7188,7 +7232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x001xxxxx1xxxxxxxxxxxxxxx
stlxp. */
- return 952;
+ return 1004;
}
}
}
@@ -7201,7 +7245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x010100x00xxxxxxxxxxxxxxxxxxxxxx
stnp. */
- return 971;
+ return 1023;
}
else
{
@@ -7209,7 +7253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x110100x00xxxxxxxxxxxxxxxxxxxxxx
stgp. */
- return 980;
+ return 1032;
}
}
}
@@ -7227,7 +7271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x00100x100xxxxx0xxxxxxxxxxxxxxx
stllrb. */
- return 969;
+ return 1021;
}
else
{
@@ -7235,7 +7279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x100xxxxx0xxxxxxxxxxxxxxx
stllr. */
- return 968;
+ return 1020;
}
}
else
@@ -7248,7 +7292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x101xxxxx0xxxxxxxxxxxxxxx
casb. */
- return 1014;
+ return 1066;
}
else
{
@@ -7256,7 +7300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x101xxxxx0xxxxxxxxxxxxxxx
cash. */
- return 1015;
+ return 1067;
}
}
else
@@ -7265,7 +7309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x101xxxxx0xxxxxxxxxxxxxxx
cas. */
- return 1016;
+ return 1068;
}
}
}
@@ -7281,7 +7325,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x100xxxxx1xxxxxxxxxxxxxxx
stlrb. */
- return 941;
+ return 993;
}
else
{
@@ -7289,7 +7333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x100xxxxx1xxxxxxxxxxxxxxx
stlrh. */
- return 947;
+ return 999;
}
}
else
@@ -7298,7 +7342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x100xxxxx1xxxxxxxxxxxxxxx
stlr. */
- return 957;
+ return 1009;
}
}
else
@@ -7311,7 +7355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x101xxxxx1xxxxxxxxxxxxxxx
caslb. */
- return 1018;
+ return 1070;
}
else
{
@@ -7319,7 +7363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x101xxxxx1xxxxxxxxxxxxxxx
caslh. */
- return 1021;
+ return 1073;
}
}
else
@@ -7328,7 +7372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x101xxxxx1xxxxxxxxxxxxxxx
casl. */
- return 1024;
+ return 1076;
}
}
}
@@ -7341,7 +7385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x010100x10xxxxxxxxxxxxxxxxxxxxxx
stp. */
- return 981;
+ return 1033;
}
else
{
@@ -7349,7 +7393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x110100x10xxxxxxxxxxxxxxxxxxxxxx
stgp. */
- return 986;
+ return 1038;
}
}
}
@@ -7372,7 +7416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x010xxxxx0xxxxxxxxxxxxxxx
ldxrb. */
- return 939;
+ return 991;
}
else
{
@@ -7380,7 +7424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x010xxxxx0xxxxxxxxxxxxxxx
ldxrh. */
- return 945;
+ return 997;
}
}
else
@@ -7389,7 +7433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x010xxxxx0xxxxxxxxxxxxxxx
ldxr. */
- return 953;
+ return 1005;
}
}
else
@@ -7400,7 +7444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x00100x011xxxxx0xxxxxxxxxxxxxxx
caspa. */
- return 1027;
+ return 1079;
}
else
{
@@ -7408,7 +7452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x011xxxxx0xxxxxxxxxxxxxxx
ldxp. */
- return 955;
+ return 1007;
}
}
}
@@ -7424,7 +7468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x010xxxxx1xxxxxxxxxxxxxxx
ldaxrb. */
- return 940;
+ return 992;
}
else
{
@@ -7432,7 +7476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x010xxxxx1xxxxxxxxxxxxxxx
ldaxrh. */
- return 946;
+ return 998;
}
}
else
@@ -7441,7 +7485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x010xxxxx1xxxxxxxxxxxxxxx
ldaxr. */
- return 954;
+ return 1006;
}
}
else
@@ -7452,7 +7496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x00100x011xxxxx1xxxxxxxxxxxxxxx
caspal. */
- return 1029;
+ return 1081;
}
else
{
@@ -7460,7 +7504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x011xxxxx1xxxxxxxxxxxxxxx
ldaxp. */
- return 956;
+ return 1008;
}
}
}
@@ -7473,7 +7517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x010100x01xxxxxxxxxxxxxxxxxxxxxx
ldnp. */
- return 972;
+ return 1024;
}
else
{
@@ -7481,7 +7525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x110100x01xxxxxxxxxxxxxxxxxxxxxx
ldpsw. */
- return 979;
+ return 1031;
}
}
}
@@ -7501,7 +7545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x110xxxxx0xxxxxxxxxxxxxxx
ldlarb. */
- return 966;
+ return 1018;
}
else
{
@@ -7509,7 +7553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x110xxxxx0xxxxxxxxxxxxxxx
ldlarh. */
- return 967;
+ return 1019;
}
}
else
@@ -7518,7 +7562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x110xxxxx0xxxxxxxxxxxxxxx
ldlar. */
- return 965;
+ return 1017;
}
}
else
@@ -7531,7 +7575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x111xxxxx0xxxxxxxxxxxxxxx
casab. */
- return 1017;
+ return 1069;
}
else
{
@@ -7539,7 +7583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x111xxxxx0xxxxxxxxxxxxxxx
casah. */
- return 1020;
+ return 1072;
}
}
else
@@ -7548,7 +7592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x111xxxxx0xxxxxxxxxxxxxxx
casa. */
- return 1023;
+ return 1075;
}
}
}
@@ -7564,7 +7608,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x110xxxxx1xxxxxxxxxxxxxxx
ldarb. */
- return 942;
+ return 994;
}
else
{
@@ -7572,7 +7616,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x110xxxxx1xxxxxxxxxxxxxxx
ldarh. */
- return 948;
+ return 1000;
}
}
else
@@ -7581,7 +7625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x110xxxxx1xxxxxxxxxxxxxxx
ldar. */
- return 958;
+ return 1010;
}
}
else
@@ -7594,7 +7638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0000100x111xxxxx1xxxxxxxxxxxxxxx
casalb. */
- return 1019;
+ return 1071;
}
else
{
@@ -7602,7 +7646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0100100x111xxxxx1xxxxxxxxxxxxxxx
casalh. */
- return 1022;
+ return 1074;
}
}
else
@@ -7611,7 +7655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x00100x111xxxxx1xxxxxxxxxxxxxxx
casal. */
- return 1025;
+ return 1077;
}
}
}
@@ -7624,7 +7668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x010100x11xxxxxxxxxxxxxxxxxxxxxx
ldp. */
- return 982;
+ return 1034;
}
else
{
@@ -7632,7 +7676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x110100x11xxxxxxxxxxxxxxxxxxxxxx
ldpsw. */
- return 985;
+ return 1037;
}
}
}
@@ -7650,7 +7694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x011000xxxxxxxxxxxxxxxxxxxxxxxx
ldr. */
- return 987;
+ return 1039;
}
else
{
@@ -7660,7 +7704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
10011000xxxxxxxxxxxxxxxxxxxxxxxx
ldrsw. */
- return 989;
+ return 1041;
}
else
{
@@ -7668,7 +7712,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011000xxxxxxxxxxxxxxxxxxxxxxxx
prfm. */
- return 990;
+ return 1042;
}
}
}
@@ -7692,7 +7736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000000xxxxxxxxx00xxxxxxxxxx
sturb. */
- return 922;
+ return 974;
}
else
{
@@ -7700,7 +7744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000000xxxxxxxxx00xxxxxxxxxx
sturh. */
- return 927;
+ return 979;
}
}
else
@@ -7709,7 +7753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000000xxxxxxxxx00xxxxxxxxxx
stur. */
- return 930;
+ return 982;
}
}
else
@@ -7722,7 +7766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000010xxxxxxxxx00xxxxxxxxxx
ldurb. */
- return 923;
+ return 975;
}
else
{
@@ -7730,7 +7774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000010xxxxxxxxx00xxxxxxxxxx
ldurh. */
- return 928;
+ return 980;
}
}
else
@@ -7739,7 +7783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000010xxxxxxxxx00xxxxxxxxxx
ldur. */
- return 931;
+ return 983;
}
}
}
@@ -7753,7 +7797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001110001x0xxxxxxxxx00xxxxxxxxxx
ldursb. */
- return 924;
+ return 976;
}
else
{
@@ -7761,7 +7805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101110001x0xxxxxxxxx00xxxxxxxxxx
ldursw. */
- return 932;
+ return 984;
}
}
else
@@ -7772,7 +7816,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011110001x0xxxxxxxxx00xxxxxxxxxx
ldursh. */
- return 929;
+ return 981;
}
else
{
@@ -7780,7 +7824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111110001x0xxxxxxxxx00xxxxxxxxxx
prfum. */
- return 933;
+ return 985;
}
}
}
@@ -7807,7 +7851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx000000xxxxxxxxxx
ldaddb. */
- return 1042;
+ return 1094;
}
else
{
@@ -7815,7 +7859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx000000xxxxxxxxxx
ldaddh. */
- return 1043;
+ return 1095;
}
}
else
@@ -7824,7 +7868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx000000xxxxxxxxxx
ldadd. */
- return 1044;
+ return 1096;
}
}
else
@@ -7837,7 +7881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx000000xxxxxxxxxx
ldaddab. */
- return 1045;
+ return 1097;
}
else
{
@@ -7845,7 +7889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx000000xxxxxxxxxx
ldaddah. */
- return 1048;
+ return 1100;
}
}
else
@@ -7854,7 +7898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx000000xxxxxxxxxx
ldadda. */
- return 1051;
+ return 1103;
}
}
}
@@ -7870,7 +7914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx000000xxxxxxxxxx
ldaddlb. */
- return 1046;
+ return 1098;
}
else
{
@@ -7878,7 +7922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx000000xxxxxxxxxx
ldaddlh. */
- return 1049;
+ return 1101;
}
}
else
@@ -7887,7 +7931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx000000xxxxxxxxxx
ldaddl. */
- return 1052;
+ return 1104;
}
}
else
@@ -7900,7 +7944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx000000xxxxxxxxxx
ldaddalb. */
- return 1047;
+ return 1099;
}
else
{
@@ -7908,7 +7952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx000000xxxxxxxxxx
ldaddalh. */
- return 1050;
+ return 1102;
}
}
else
@@ -7917,7 +7961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx000000xxxxxxxxxx
ldaddal. */
- return 1053;
+ return 1105;
}
}
}
@@ -7936,7 +7980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx100000xxxxxxxxxx
swpb. */
- return 1030;
+ return 1082;
}
else
{
@@ -7944,7 +7988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx100000xxxxxxxxxx
swph. */
- return 1031;
+ return 1083;
}
}
else
@@ -7953,7 +7997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx100000xxxxxxxxxx
swp. */
- return 1032;
+ return 1084;
}
}
else
@@ -7966,7 +8010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx100000xxxxxxxxxx
swpab. */
- return 1033;
+ return 1085;
}
else
{
@@ -7974,7 +8018,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx100000xxxxxxxxxx
swpah. */
- return 1036;
+ return 1088;
}
}
else
@@ -7983,7 +8027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx100000xxxxxxxxxx
swpa. */
- return 1039;
+ return 1091;
}
}
}
@@ -7999,7 +8043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx100000xxxxxxxxxx
swplb. */
- return 1034;
+ return 1086;
}
else
{
@@ -8007,7 +8051,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx100000xxxxxxxxxx
swplh. */
- return 1037;
+ return 1089;
}
}
else
@@ -8016,7 +8060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx100000xxxxxxxxxx
swpl. */
- return 1040;
+ return 1092;
}
}
else
@@ -8029,7 +8073,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx100000xxxxxxxxxx
swpalb. */
- return 1035;
+ return 1087;
}
else
{
@@ -8037,7 +8081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx100000xxxxxxxxxx
swpalh. */
- return 1038;
+ return 1090;
}
}
else
@@ -8046,7 +8090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx100000xxxxxxxxxx
swpal. */
- return 1041;
+ return 1093;
}
}
}
@@ -8068,7 +8112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx010000xxxxxxxxxx
ldsmaxb. */
- return 1090;
+ return 1142;
}
else
{
@@ -8076,7 +8120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx010000xxxxxxxxxx
ldsmaxh. */
- return 1091;
+ return 1143;
}
}
else
@@ -8085,7 +8129,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx010000xxxxxxxxxx
ldsmax. */
- return 1092;
+ return 1144;
}
}
else
@@ -8098,7 +8142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx010000xxxxxxxxxx
ldsmaxab. */
- return 1093;
+ return 1145;
}
else
{
@@ -8106,7 +8150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx010000xxxxxxxxxx
ldsmaxah. */
- return 1096;
+ return 1148;
}
}
else
@@ -8115,7 +8159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx010000xxxxxxxxxx
ldsmaxa. */
- return 1099;
+ return 1151;
}
}
}
@@ -8131,7 +8175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx010000xxxxxxxxxx
ldsmaxlb. */
- return 1094;
+ return 1146;
}
else
{
@@ -8139,7 +8183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx010000xxxxxxxxxx
ldsmaxlh. */
- return 1097;
+ return 1149;
}
}
else
@@ -8148,7 +8192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx010000xxxxxxxxxx
ldsmaxl. */
- return 1100;
+ return 1152;
}
}
else
@@ -8161,7 +8205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx010000xxxxxxxxxx
ldsmaxalb. */
- return 1095;
+ return 1147;
}
else
{
@@ -8169,7 +8213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx010000xxxxxxxxxx
ldsmaxalh. */
- return 1098;
+ return 1150;
}
}
else
@@ -8178,7 +8222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx010000xxxxxxxxxx
ldsmaxal. */
- return 1101;
+ return 1153;
}
}
}
@@ -8193,7 +8237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000xx1xxxxx110000xxxxxxxxxx
ldaprb. */
- return 959;
+ return 1011;
}
else
{
@@ -8201,7 +8245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000xx1xxxxx110000xxxxxxxxxx
ldaprh. */
- return 960;
+ return 1012;
}
}
else
@@ -8210,7 +8254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000xx1xxxxx110000xxxxxxxxxx
ldapr. */
- return 961;
+ return 1013;
}
}
}
@@ -8233,7 +8277,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx001000xxxxxxxxxx
ldeorb. */
- return 1066;
+ return 1118;
}
else
{
@@ -8241,7 +8285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx001000xxxxxxxxxx
ldeorh. */
- return 1067;
+ return 1119;
}
}
else
@@ -8250,7 +8294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx001000xxxxxxxxxx
ldeor. */
- return 1068;
+ return 1120;
}
}
else
@@ -8263,7 +8307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx001000xxxxxxxxxx
ldeorab. */
- return 1069;
+ return 1121;
}
else
{
@@ -8271,7 +8315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx001000xxxxxxxxxx
ldeorah. */
- return 1072;
+ return 1124;
}
}
else
@@ -8280,7 +8324,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx001000xxxxxxxxxx
ldeora. */
- return 1075;
+ return 1127;
}
}
}
@@ -8296,7 +8340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx001000xxxxxxxxxx
ldeorlb. */
- return 1070;
+ return 1122;
}
else
{
@@ -8304,7 +8348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx001000xxxxxxxxxx
ldeorlh. */
- return 1073;
+ return 1125;
}
}
else
@@ -8313,7 +8357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx001000xxxxxxxxxx
ldeorl. */
- return 1076;
+ return 1128;
}
}
else
@@ -8326,7 +8370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx001000xxxxxxxxxx
ldeoralb. */
- return 1071;
+ return 1123;
}
else
{
@@ -8334,7 +8378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx001000xxxxxxxxxx
ldeoralh. */
- return 1074;
+ return 1126;
}
}
else
@@ -8343,7 +8387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx001000xxxxxxxxxx
ldeoral. */
- return 1077;
+ return 1129;
}
}
}
@@ -8360,7 +8404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000001xxxxx101000xxxxxxxxxx
rcwswp. */
- return 3266;
+ return 3366;
}
else
{
@@ -8370,7 +8414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx101000xxxxxxxxxx
rcwsswp. */
- return 3274;
+ return 3374;
}
else
{
@@ -8378,7 +8422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11111000001xxxxx101000xxxxxxxxxx
st64bv0. */
- return 994;
+ return 1046;
}
}
}
@@ -8390,7 +8434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000101xxxxx101000xxxxxxxxxx
rcwswpa. */
- return 3267;
+ return 3367;
}
else
{
@@ -8398,7 +8442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000101xxxxx101000xxxxxxxxxx
rcwsswpa. */
- return 3275;
+ return 3375;
}
}
}
@@ -8412,7 +8456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000011xxxxx101000xxxxxxxxxx
rcwswpl. */
- return 3269;
+ return 3369;
}
else
{
@@ -8420,7 +8464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000011xxxxx101000xxxxxxxxxx
rcwsswpl. */
- return 3277;
+ return 3377;
}
}
else
@@ -8431,7 +8475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000111xxxxx101000xxxxxxxxxx
rcwswpal. */
- return 3268;
+ return 3368;
}
else
{
@@ -8439,7 +8483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000111xxxxx101000xxxxxxxxxx
rcwsswpal. */
- return 3276;
+ return 3376;
}
}
}
@@ -8459,7 +8503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxxx11000xxxxxxxxxx
ldumaxb. */
- return 1114;
+ return 1166;
}
else
{
@@ -8467,7 +8511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxxx11000xxxxxxxxxx
ldumaxh. */
- return 1115;
+ return 1167;
}
}
else
@@ -8476,7 +8520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxxx11000xxxxxxxxxx
ldumax. */
- return 1116;
+ return 1168;
}
}
else
@@ -8489,7 +8533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxxx11000xxxxxxxxxx
ldumaxab. */
- return 1117;
+ return 1169;
}
else
{
@@ -8497,7 +8541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxxx11000xxxxxxxxxx
ldumaxah. */
- return 1120;
+ return 1172;
}
}
else
@@ -8506,7 +8550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxxx11000xxxxxxxxxx
ldumaxa. */
- return 1123;
+ return 1175;
}
}
}
@@ -8522,7 +8566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxxx11000xxxxxxxxxx
ldumaxlb. */
- return 1118;
+ return 1170;
}
else
{
@@ -8530,7 +8574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxxx11000xxxxxxxxxx
ldumaxlh. */
- return 1121;
+ return 1173;
}
}
else
@@ -8539,7 +8583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxxx11000xxxxxxxxxx
ldumaxl. */
- return 1124;
+ return 1176;
}
}
else
@@ -8552,7 +8596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxxx11000xxxxxxxxxx
ldumaxalb. */
- return 1119;
+ return 1171;
}
else
{
@@ -8560,7 +8604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxxx11000xxxxxxxxxx
ldumaxalh. */
- return 1122;
+ return 1174;
}
}
else
@@ -8569,7 +8613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxxx11000xxxxxxxxxx
ldumaxal. */
- return 1125;
+ return 1177;
}
}
}
@@ -8596,7 +8640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx000100xxxxxxxxxx
ldclrb. */
- return 1054;
+ return 1106;
}
else
{
@@ -8604,7 +8648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx000100xxxxxxxxxx
ldclrh. */
- return 1055;
+ return 1107;
}
}
else
@@ -8613,7 +8657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx000100xxxxxxxxxx
ldclr. */
- return 1056;
+ return 1108;
}
}
else
@@ -8626,7 +8670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx000100xxxxxxxxxx
ldclrab. */
- return 1057;
+ return 1109;
}
else
{
@@ -8634,7 +8678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx000100xxxxxxxxxx
ldclrah. */
- return 1060;
+ return 1112;
}
}
else
@@ -8643,7 +8687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx000100xxxxxxxxxx
ldclra. */
- return 1063;
+ return 1115;
}
}
}
@@ -8659,7 +8703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx000100xxxxxxxxxx
ldclrlb. */
- return 1058;
+ return 1110;
}
else
{
@@ -8667,7 +8711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx000100xxxxxxxxxx
ldclrlh. */
- return 1061;
+ return 1113;
}
}
else
@@ -8676,7 +8720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx000100xxxxxxxxxx
ldclrl. */
- return 1064;
+ return 1116;
}
}
else
@@ -8689,7 +8733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx000100xxxxxxxxxx
ldclralb. */
- return 1059;
+ return 1111;
}
else
{
@@ -8697,7 +8741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx000100xxxxxxxxxx
ldclralh. */
- return 1062;
+ return 1114;
}
}
else
@@ -8706,7 +8750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx000100xxxxxxxxxx
ldclral. */
- return 1065;
+ return 1117;
}
}
}
@@ -8723,7 +8767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000001xxxxx100100xxxxxxxxxx
rcwclr. */
- return 3234;
+ return 3334;
}
else
{
@@ -8733,7 +8777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx100100xxxxxxxxxx
rcwsclr. */
- return 3242;
+ return 3342;
}
else
{
@@ -8741,7 +8785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11111000001xxxxx100100xxxxxxxxxx
st64b. */
- return 992;
+ return 1044;
}
}
}
@@ -8753,7 +8797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000101xxxxx100100xxxxxxxxxx
rcwclra. */
- return 3235;
+ return 3335;
}
else
{
@@ -8761,7 +8805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000101xxxxx100100xxxxxxxxxx
rcwsclra. */
- return 3243;
+ return 3343;
}
}
}
@@ -8775,7 +8819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000011xxxxx100100xxxxxxxxxx
rcwclrl. */
- return 3237;
+ return 3337;
}
else
{
@@ -8783,7 +8827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000011xxxxx100100xxxxxxxxxx
rcwsclrl. */
- return 3245;
+ return 3345;
}
}
else
@@ -8794,7 +8838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000111xxxxx100100xxxxxxxxxx
rcwclral. */
- return 3236;
+ return 3336;
}
else
{
@@ -8802,7 +8846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000111xxxxx100100xxxxxxxxxx
rcwsclral. */
- return 3244;
+ return 3344;
}
}
}
@@ -8824,7 +8868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx010100xxxxxxxxxx
ldsminb. */
- return 1102;
+ return 1154;
}
else
{
@@ -8832,7 +8876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx010100xxxxxxxxxx
ldsminh. */
- return 1103;
+ return 1155;
}
}
else
@@ -8841,7 +8885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx010100xxxxxxxxxx
ldsmin. */
- return 1104;
+ return 1156;
}
}
else
@@ -8854,7 +8898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx010100xxxxxxxxxx
ldsminab. */
- return 1105;
+ return 1157;
}
else
{
@@ -8862,7 +8906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx010100xxxxxxxxxx
ldsminah. */
- return 1108;
+ return 1160;
}
}
else
@@ -8871,7 +8915,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx010100xxxxxxxxxx
ldsmina. */
- return 1111;
+ return 1163;
}
}
}
@@ -8887,7 +8931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx010100xxxxxxxxxx
ldsminlb. */
- return 1106;
+ return 1158;
}
else
{
@@ -8895,7 +8939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx010100xxxxxxxxxx
ldsminlh. */
- return 1109;
+ return 1161;
}
}
else
@@ -8904,7 +8948,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx010100xxxxxxxxxx
ldsminl. */
- return 1112;
+ return 1164;
}
}
else
@@ -8917,7 +8961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx010100xxxxxxxxxx
ldsminalb. */
- return 1107;
+ return 1159;
}
else
{
@@ -8925,7 +8969,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx010100xxxxxxxxxx
ldsminalh. */
- return 1110;
+ return 1162;
}
}
else
@@ -8934,7 +8978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx010100xxxxxxxxxx
ldsminal. */
- return 1113;
+ return 1165;
}
}
}
@@ -8945,7 +8989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111000xx1xxxxx110100xxxxxxxxxx
ld64b. */
- return 991;
+ return 1043;
}
}
}
@@ -8967,7 +9011,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxx001100xxxxxxxxxx
ldsetb. */
- return 1078;
+ return 1130;
}
else
{
@@ -8975,7 +9019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx001100xxxxxxxxxx
ldseth. */
- return 1079;
+ return 1131;
}
}
else
@@ -8984,7 +9028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxx001100xxxxxxxxxx
ldset. */
- return 1080;
+ return 1132;
}
}
else
@@ -8997,7 +9041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxx001100xxxxxxxxxx
ldsetab. */
- return 1081;
+ return 1133;
}
else
{
@@ -9005,7 +9049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxx001100xxxxxxxxxx
ldsetah. */
- return 1084;
+ return 1136;
}
}
else
@@ -9014,7 +9058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxx001100xxxxxxxxxx
ldseta. */
- return 1087;
+ return 1139;
}
}
}
@@ -9030,7 +9074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxx001100xxxxxxxxxx
ldsetlb. */
- return 1082;
+ return 1134;
}
else
{
@@ -9038,7 +9082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxx001100xxxxxxxxxx
ldsetlh. */
- return 1085;
+ return 1137;
}
}
else
@@ -9047,7 +9091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxx001100xxxxxxxxxx
ldsetl. */
- return 1088;
+ return 1140;
}
}
else
@@ -9060,7 +9104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxx001100xxxxxxxxxx
ldsetalb. */
- return 1083;
+ return 1135;
}
else
{
@@ -9068,7 +9112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxx001100xxxxxxxxxx
ldsetalh. */
- return 1086;
+ return 1138;
}
}
else
@@ -9077,7 +9121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxx001100xxxxxxxxxx
ldsetal. */
- return 1089;
+ return 1141;
}
}
}
@@ -9094,7 +9138,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000001xxxxx101100xxxxxxxxxx
rcwset. */
- return 3250;
+ return 3350;
}
else
{
@@ -9104,7 +9148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxx101100xxxxxxxxxx
rcwsset. */
- return 3258;
+ return 3358;
}
else
{
@@ -9112,7 +9156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11111000001xxxxx101100xxxxxxxxxx
st64bv. */
- return 993;
+ return 1045;
}
}
}
@@ -9124,7 +9168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000101xxxxx101100xxxxxxxxxx
rcwseta. */
- return 3251;
+ return 3351;
}
else
{
@@ -9132,7 +9176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000101xxxxx101100xxxxxxxxxx
rcwsseta. */
- return 3259;
+ return 3359;
}
}
}
@@ -9146,7 +9190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000011xxxxx101100xxxxxxxxxx
rcwsetl. */
- return 3253;
+ return 3353;
}
else
{
@@ -9154,7 +9198,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000011xxxxx101100xxxxxxxxxx
rcwssetl. */
- return 3261;
+ return 3361;
}
}
else
@@ -9165,7 +9209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0111000111xxxxx101100xxxxxxxxxx
rcwsetal. */
- return 3252;
+ return 3352;
}
else
{
@@ -9173,7 +9217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1111000111xxxxx101100xxxxxxxxxx
rcwssetal. */
- return 3260;
+ return 3360;
}
}
}
@@ -9193,7 +9237,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxxx11100xxxxxxxxxx
lduminb. */
- return 1126;
+ return 1178;
}
else
{
@@ -9201,7 +9245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxxx11100xxxxxxxxxx
lduminh. */
- return 1127;
+ return 1179;
}
}
else
@@ -9210,7 +9254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxxx11100xxxxxxxxxx
ldumin. */
- return 1128;
+ return 1180;
}
}
else
@@ -9223,7 +9267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000101xxxxxx11100xxxxxxxxxx
lduminab. */
- return 1129;
+ return 1181;
}
else
{
@@ -9231,7 +9275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000101xxxxxx11100xxxxxxxxxx
lduminah. */
- return 1132;
+ return 1184;
}
}
else
@@ -9240,7 +9284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000101xxxxxx11100xxxxxxxxxx
ldumina. */
- return 1135;
+ return 1187;
}
}
}
@@ -9256,7 +9300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxxx11100xxxxxxxxxx
lduminlb. */
- return 1130;
+ return 1182;
}
else
{
@@ -9264,7 +9308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxxx11100xxxxxxxxxx
lduminlh. */
- return 1133;
+ return 1185;
}
}
else
@@ -9273,7 +9317,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxxx11100xxxxxxxxxx
lduminl. */
- return 1136;
+ return 1188;
}
}
else
@@ -9286,7 +9330,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000111xxxxxx11100xxxxxxxxxx
lduminalb. */
- return 1131;
+ return 1183;
}
else
{
@@ -9294,7 +9338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000111xxxxxx11100xxxxxxxxxx
lduminalh. */
- return 1134;
+ return 1186;
}
}
else
@@ -9303,7 +9347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000111xxxxxx11100xxxxxxxxxx
lduminal. */
- return 1137;
+ return 1189;
}
}
}
@@ -9328,7 +9372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000000xxxxxxxxx10xxxxxxxxxx
sttrb. */
- return 913;
+ return 965;
}
else
{
@@ -9336,7 +9380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000000xxxxxxxxx10xxxxxxxxxx
sttrh. */
- return 916;
+ return 968;
}
}
else
@@ -9345,7 +9389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000000xxxxxxxxx10xxxxxxxxxx
sttr. */
- return 919;
+ return 971;
}
}
else
@@ -9358,7 +9402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000010xxxxxxxxx10xxxxxxxxxx
ldtrb. */
- return 914;
+ return 966;
}
else
{
@@ -9366,7 +9410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000010xxxxxxxxx10xxxxxxxxxx
ldtrh. */
- return 917;
+ return 969;
}
}
else
@@ -9375,7 +9419,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000010xxxxxxxxx10xxxxxxxxxx
ldtr. */
- return 920;
+ return 972;
}
}
}
@@ -9389,7 +9433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001110001x0xxxxxxxxx10xxxxxxxxxx
ldtrsb. */
- return 915;
+ return 967;
}
else
{
@@ -9397,7 +9441,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101110001x0xxxxxxxxx10xxxxxxxxxx
ldtrsw. */
- return 921;
+ return 973;
}
}
else
@@ -9406,7 +9450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11110001x0xxxxxxxxx10xxxxxxxxxx
ldtrsh. */
- return 918;
+ return 970;
}
}
}
@@ -9424,7 +9468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000001xxxxxxxxx10xxxxxxxxxx
strb. */
- return 901;
+ return 953;
}
else
{
@@ -9432,7 +9476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000001xxxxxxxxx10xxxxxxxxxx
strh. */
- return 906;
+ return 958;
}
}
else
@@ -9441,7 +9485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000001xxxxxxxxx10xxxxxxxxxx
str. */
- return 909;
+ return 961;
}
}
else
@@ -9454,7 +9498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000011xxxxxxxxx10xxxxxxxxxx
ldrb. */
- return 902;
+ return 954;
}
else
{
@@ -9462,7 +9506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000011xxxxxxxxx10xxxxxxxxxx
ldrh. */
- return 907;
+ return 959;
}
}
else
@@ -9471,7 +9515,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000011xxxxxxxxx10xxxxxxxxxx
ldr. */
- return 910;
+ return 962;
}
}
}
@@ -9485,7 +9529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001110001x1xxxxxxxxx10xxxxxxxxxx
ldrsb. */
- return 903;
+ return 955;
}
else
{
@@ -9493,7 +9537,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101110001x1xxxxxxxxx10xxxxxxxxxx
ldrsw. */
- return 911;
+ return 963;
}
}
else
@@ -9504,7 +9548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011110001x1xxxxxxxxx10xxxxxxxxxx
ldrsh. */
- return 908;
+ return 960;
}
else
{
@@ -9512,7 +9556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111110001x1xxxxxxxxx10xxxxxxxxxx
prfm. */
- return 912;
+ return 964;
}
}
}
@@ -9535,7 +9579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000000xxxxxxxxxx1xxxxxxxxxx
strb. */
- return 870;
+ return 922;
}
else
{
@@ -9543,7 +9587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000000xxxxxxxxxx1xxxxxxxxxx
strh. */
- return 875;
+ return 927;
}
}
else
@@ -9552,7 +9596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000000xxxxxxxxxx1xxxxxxxxxx
str. */
- return 878;
+ return 930;
}
}
else
@@ -9565,7 +9609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00111000010xxxxxxxxxx1xxxxxxxxxx
ldrb. */
- return 871;
+ return 923;
}
else
{
@@ -9573,7 +9617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01111000010xxxxxxxxxx1xxxxxxxxxx
ldrh. */
- return 876;
+ return 928;
}
}
else
@@ -9582,7 +9626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x111000010xxxxxxxxxx1xxxxxxxxxx
ldr. */
- return 879;
+ return 931;
}
}
}
@@ -9596,7 +9640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001110001x0xxxxxxxxxx1xxxxxxxxxx
ldrsb. */
- return 872;
+ return 924;
}
else
{
@@ -9604,7 +9648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101110001x0xxxxxxxxxx1xxxxxxxxxx
ldrsw. */
- return 880;
+ return 932;
}
}
else
@@ -9613,7 +9657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11110001x0xxxxxxxxxx1xxxxxxxxxx
ldrsh. */
- return 877;
+ return 929;
}
}
}
@@ -9625,7 +9669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1110000x1xxxxxxxxxx1xxxxxxxxxx
ldraa. */
- return 935;
+ return 987;
}
else
{
@@ -9633,7 +9677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1110001x1xxxxxxxxxx1xxxxxxxxxx
ldrab. */
- return 936;
+ return 988;
}
}
}
@@ -9661,7 +9705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00011001000xxxxxxxxx00xxxxxxxxxx
stlurb. */
- return 3024;
+ return 3059;
}
else
{
@@ -9669,7 +9713,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
10011001000xxxxxxxxx00xxxxxxxxxx
stlur. */
- return 3032;
+ return 3067;
}
}
else
@@ -9680,7 +9724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001000xxxxxxxxx00xxxxxxxxxx
stlurh. */
- return 3028;
+ return 3063;
}
else
{
@@ -9688,7 +9732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001000xxxxxxxxx00xxxxxxxxxx
stlur. */
- return 3035;
+ return 3070;
}
}
}
@@ -9704,7 +9748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001001xxxxx0x0000xxxxxxxxxx
stzgm. */
- return 964;
+ return 1016;
}
else
{
@@ -9712,7 +9756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001001xxxxx1x0000xxxxxxxxxx
swpp. */
- return 1194;
+ return 1246;
}
}
else
@@ -9723,7 +9767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001001xxxxxxx1000xxxxxxxxxx
rcwswpp. */
- return 3270;
+ return 3370;
}
else
{
@@ -9731,7 +9775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001001xxxxxxx1000xxxxxxxxxx
rcwsswpp. */
- return 3278;
+ return 3378;
}
}
}
@@ -9745,7 +9789,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001001xxxxx0x0100xxxxxxxxxx
ldclrp. */
- return 1186;
+ return 1238;
}
else
{
@@ -9755,7 +9799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001001xxxxx1x0100xxxxxxxxxx
rcwclrp. */
- return 3238;
+ return 3338;
}
else
{
@@ -9763,7 +9807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001001xxxxx1x0100xxxxxxxxxx
rcwsclrp. */
- return 3246;
+ return 3346;
}
}
}
@@ -9775,7 +9819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001001xxxxx0x1100xxxxxxxxxx
ldsetp. */
- return 1190;
+ return 1242;
}
else
{
@@ -9785,7 +9829,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001001xxxxx1x1100xxxxxxxxxx
rcwsetp. */
- return 3254;
+ return 3354;
}
else
{
@@ -9793,7 +9837,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001001xxxxx1x1100xxxxxxxxxx
rcwssetp. */
- return 3262;
+ return 3362;
}
}
}
@@ -9808,7 +9852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxxxxxx10xxxxxxxxxx
stilp. */
- return 1199;
+ return 1251;
}
else
{
@@ -9818,7 +9862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001001xxxxxxxxx10xxxxxxxxxx
rcwcas. */
- return 3218;
+ return 3318;
}
else
{
@@ -9828,7 +9872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001001xxxxxxxxx10xxxxxxxxxx
rcwscas. */
- return 3226;
+ return 3326;
}
else
{
@@ -9836,7 +9880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001001xxxxxxxxx10xxxxxxxxxx
stg. */
- return 881;
+ return 933;
}
}
}
@@ -9860,7 +9904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx000001xxxxxxxxxx
cpyfp. */
- return 3084;
+ return 3184;
}
else
{
@@ -9868,7 +9912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx100001xxxxxxxxxx
cpyfprn. */
- return 3090;
+ return 3190;
}
}
else
@@ -9879,7 +9923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx010001xxxxxxxxxx
cpyfpwn. */
- return 3087;
+ return 3187;
}
else
{
@@ -9887,7 +9931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx110001xxxxxxxxxx
cpyfpn. */
- return 3093;
+ return 3193;
}
}
}
@@ -9901,7 +9945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx001001xxxxxxxxxx
cpyfprt. */
- return 3108;
+ return 3208;
}
else
{
@@ -9909,7 +9953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx101001xxxxxxxxxx
cpyfprtrn. */
- return 3114;
+ return 3214;
}
}
else
@@ -9920,7 +9964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx011001xxxxxxxxxx
cpyfprtwn. */
- return 3111;
+ return 3211;
}
else
{
@@ -9928,7 +9972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx111001xxxxxxxxxx
cpyfprtn. */
- return 3117;
+ return 3217;
}
}
}
@@ -9945,7 +9989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx000101xxxxxxxxxx
cpyfpwt. */
- return 3096;
+ return 3196;
}
else
{
@@ -9953,7 +9997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx100101xxxxxxxxxx
cpyfpwtrn. */
- return 3102;
+ return 3202;
}
}
else
@@ -9964,7 +10008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx010101xxxxxxxxxx
cpyfpwtwn. */
- return 3099;
+ return 3199;
}
else
{
@@ -9972,7 +10016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx110101xxxxxxxxxx
cpyfpwtn. */
- return 3105;
+ return 3205;
}
}
}
@@ -9986,7 +10030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx001101xxxxxxxxxx
cpyfpt. */
- return 3120;
+ return 3220;
}
else
{
@@ -9994,7 +10038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx101101xxxxxxxxxx
cpyfptrn. */
- return 3126;
+ return 3226;
}
}
else
@@ -10005,7 +10049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx011101xxxxxxxxxx
cpyfptwn. */
- return 3123;
+ return 3223;
}
else
{
@@ -10013,7 +10057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxx111101xxxxxxxxxx
cpyfptn. */
- return 3129;
+ return 3229;
}
}
}
@@ -10027,7 +10071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxxxxx011xxxxxxxxxx
gcsstr. */
- return 1269;
+ return 1321;
}
else
{
@@ -10035,7 +10079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001000xxxxxxxx111xxxxxxxxxx
gcssttr. */
- return 1270;
+ return 1322;
}
}
}
@@ -10047,7 +10091,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001001xxxxxxxxxx1xxxxxxxxxx
rcwcasp. */
- return 3222;
+ return 3322;
}
else
{
@@ -10057,7 +10101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001001xxxxxxxxxx1xxxxxxxxxx
rcwscasp. */
- return 3230;
+ return 3330;
}
else
{
@@ -10065,7 +10109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001001xxxxxxxxxx1xxxxxxxxxx
stg. */
- return 885;
+ return 937;
}
}
}
@@ -10081,7 +10125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0011100100xxxxxxxxxxxxxxxxxxxxxx
strb. */
- return 889;
+ return 941;
}
else
{
@@ -10089,7 +10133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0111100100xxxxxxxxxxxxxxxxxxxxxx
strh. */
- return 894;
+ return 946;
}
}
else
@@ -10098,7 +10142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x11100100xxxxxxxxxxxxxxxxxxxxxx
str. */
- return 897;
+ return 949;
}
}
}
@@ -10120,7 +10164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00011001010xxxxxxxxx00xxxxxxxxxx
ldapurb. */
- return 3025;
+ return 3060;
}
else
{
@@ -10128,7 +10172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
10011001010xxxxxxxxx00xxxxxxxxxx
ldapur. */
- return 3033;
+ return 3068;
}
}
else
@@ -10139,7 +10183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001010xxxxxxxxx00xxxxxxxxxx
ldapurh. */
- return 3029;
+ return 3064;
}
else
{
@@ -10147,7 +10191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001010xxxxxxxxx00xxxxxxxxxx
ldapur. */
- return 3036;
+ return 3071;
}
}
}
@@ -10163,7 +10207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxxxx0000xxxxxxxxxx
swppl. */
- return 1197;
+ return 1249;
}
else
{
@@ -10171,7 +10215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxxxx1000xxxxxxxxxx
rcwswppl. */
- return 3273;
+ return 3373;
}
}
else
@@ -10184,7 +10228,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxx0x0100xxxxxxxxxx
ldclrpl. */
- return 1189;
+ return 1241;
}
else
{
@@ -10192,7 +10236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxx1x0100xxxxxxxxxx
rcwclrpl. */
- return 3241;
+ return 3341;
}
}
else
@@ -10203,7 +10247,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxx0x1100xxxxxxxxxx
ldsetpl. */
- return 1193;
+ return 1245;
}
else
{
@@ -10211,7 +10255,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxx1x1100xxxxxxxxxx
rcwsetpl. */
- return 3257;
+ return 3357;
}
}
}
@@ -10226,7 +10270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001011xxxxxxxx000xxxxxxxxxx
rcwsswppl. */
- return 3281;
+ return 3381;
}
else
{
@@ -10236,7 +10280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001011xxxxxxx0100xxxxxxxxxx
rcwsclrpl. */
- return 3249;
+ return 3349;
}
else
{
@@ -10244,7 +10288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001011xxxxxxx1100xxxxxxxxxx
rcwssetpl. */
- return 3265;
+ return 3365;
}
}
}
@@ -10254,7 +10298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001011xxxxxxxxx00xxxxxxxxxx
ldg. */
- return 934;
+ return 986;
}
}
}
@@ -10267,7 +10311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxxxxxx10xxxxxxxxxx
ldiapp. */
- return 1198;
+ return 1250;
}
else
{
@@ -10277,7 +10321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxxxxxx10xxxxxxxxxx
rcwcasl. */
- return 3221;
+ return 3321;
}
else
{
@@ -10287,7 +10331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001011xxxxxxxxx10xxxxxxxxxx
rcwscasl. */
- return 3229;
+ return 3329;
}
else
{
@@ -10295,7 +10339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001011xxxxxxxxx10xxxxxxxxxx
stzg. */
- return 882;
+ return 934;
}
}
}
@@ -10317,7 +10361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0000x1xxxxxxxxxx
cpyfm. */
- return 3085;
+ return 3185;
}
else
{
@@ -10325,7 +10369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1000x1xxxxxxxxxx
cpyfmrn. */
- return 3091;
+ return 3191;
}
}
else
@@ -10336,7 +10380,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0100x1xxxxxxxxxx
cpyfmwn. */
- return 3088;
+ return 3188;
}
else
{
@@ -10344,7 +10388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1100x1xxxxxxxxxx
cpyfmn. */
- return 3094;
+ return 3194;
}
}
}
@@ -10358,7 +10402,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0010x1xxxxxxxxxx
cpyfmrt. */
- return 3109;
+ return 3209;
}
else
{
@@ -10366,7 +10410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1010x1xxxxxxxxxx
cpyfmrtrn. */
- return 3115;
+ return 3215;
}
}
else
@@ -10377,7 +10421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0110x1xxxxxxxxxx
cpyfmrtwn. */
- return 3112;
+ return 3212;
}
else
{
@@ -10385,7 +10429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1110x1xxxxxxxxxx
cpyfmrtn. */
- return 3118;
+ return 3218;
}
}
}
@@ -10402,7 +10446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0001x1xxxxxxxxxx
cpyfmwt. */
- return 3097;
+ return 3197;
}
else
{
@@ -10410,7 +10454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1001x1xxxxxxxxxx
cpyfmwtrn. */
- return 3103;
+ return 3203;
}
}
else
@@ -10421,7 +10465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0101x1xxxxxxxxxx
cpyfmwtwn. */
- return 3100;
+ return 3200;
}
else
{
@@ -10429,7 +10473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1101x1xxxxxxxxxx
cpyfmwtn. */
- return 3106;
+ return 3206;
}
}
}
@@ -10443,7 +10487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0011x1xxxxxxxxxx
cpyfmt. */
- return 3121;
+ return 3221;
}
else
{
@@ -10451,7 +10495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1011x1xxxxxxxxxx
cpyfmtrn. */
- return 3127;
+ return 3227;
}
}
else
@@ -10462,7 +10506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx0111x1xxxxxxxxxx
cpyfmtwn. */
- return 3124;
+ return 3224;
}
else
{
@@ -10470,7 +10514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001010xxxxx1111x1xxxxxxxxxx
cpyfmtn. */
- return 3130;
+ return 3230;
}
}
}
@@ -10484,7 +10528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001011xxxxxxxxxx1xxxxxxxxxx
rcwcaspl. */
- return 3225;
+ return 3325;
}
else
{
@@ -10494,7 +10538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001011xxxxxxxxxx1xxxxxxxxxx
rcwscaspl. */
- return 3233;
+ return 3333;
}
else
{
@@ -10502,7 +10546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001011xxxxxxxxxx1xxxxxxxxxx
stzg. */
- return 886;
+ return 938;
}
}
}
@@ -10518,7 +10562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0011100101xxxxxxxxxxxxxxxxxxxxxx
ldrb. */
- return 890;
+ return 942;
}
else
{
@@ -10526,7 +10570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0111100101xxxxxxxxxxxxxxxxxxxxxx
ldrh. */
- return 895;
+ return 947;
}
}
else
@@ -10535,7 +10579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x11100101xxxxxxxxxxxxxxxxxxxxxx
ldr. */
- return 898;
+ return 950;
}
}
}
@@ -10560,7 +10604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00011001100xxxxxxxxx00xxxxxxxxxx
ldapursb. */
- return 3027;
+ return 3062;
}
else
{
@@ -10568,7 +10612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
10011001100xxxxxxxxx00xxxxxxxxxx
ldapursw. */
- return 3034;
+ return 3069;
}
}
else
@@ -10577,7 +10621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001100xxxxxxxxx00xxxxxxxxxx
ldapursh. */
- return 3031;
+ return 3066;
}
}
else
@@ -10588,7 +10632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001110xxxxxxxxx00xxxxxxxxxx
ldapursb. */
- return 3026;
+ return 3061;
}
else
{
@@ -10596,7 +10640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001110xxxxxxxxx00xxxxxxxxxx
ldapursh. */
- return 3030;
+ return 3065;
}
}
}
@@ -10614,7 +10658,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001101xxxxx0x0000xxxxxxxxxx
stgm. */
- return 963;
+ return 1015;
}
else
{
@@ -10622,7 +10666,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001111xxxxx0x0000xxxxxxxxxx
ldgm. */
- return 962;
+ return 1014;
}
}
else
@@ -10633,7 +10677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001101xxxxx1x0000xxxxxxxxxx
swppa. */
- return 1195;
+ return 1247;
}
else
{
@@ -10641,7 +10685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001111xxxxx1x0000xxxxxxxxxx
swppal. */
- return 1196;
+ return 1248;
}
}
}
@@ -10655,7 +10699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001101xxxxxxx1000xxxxxxxxxx
rcwswppa. */
- return 3271;
+ return 3371;
}
else
{
@@ -10663,7 +10707,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001101xxxxxxx1000xxxxxxxxxx
rcwsswppa. */
- return 3279;
+ return 3379;
}
}
else
@@ -10674,7 +10718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001111xxxxxxx1000xxxxxxxxxx
rcwswppal. */
- return 3272;
+ return 3372;
}
else
{
@@ -10682,7 +10726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001111xxxxxxx1000xxxxxxxxxx
rcwsswppal. */
- return 3280;
+ return 3380;
}
}
}
@@ -10699,7 +10743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001101xxxxx0x0100xxxxxxxxxx
ldclrpa. */
- return 1187;
+ return 1239;
}
else
{
@@ -10707,7 +10751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001111xxxxx0x0100xxxxxxxxxx
ldclrpal. */
- return 1188;
+ return 1240;
}
}
else
@@ -10720,7 +10764,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001101xxxxx1x0100xxxxxxxxxx
rcwclrpa. */
- return 3239;
+ return 3339;
}
else
{
@@ -10728,7 +10772,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001101xxxxx1x0100xxxxxxxxxx
rcwsclrpa. */
- return 3247;
+ return 3347;
}
}
else
@@ -10739,7 +10783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001111xxxxx1x0100xxxxxxxxxx
rcwclrpal. */
- return 3240;
+ return 3340;
}
else
{
@@ -10747,7 +10791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001111xxxxx1x0100xxxxxxxxxx
rcwsclrpal. */
- return 3248;
+ return 3348;
}
}
}
@@ -10762,7 +10806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001101xxxxx0x1100xxxxxxxxxx
ldsetpa. */
- return 1191;
+ return 1243;
}
else
{
@@ -10770,7 +10814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001111xxxxx0x1100xxxxxxxxxx
ldsetpal. */
- return 1192;
+ return 1244;
}
}
else
@@ -10783,7 +10827,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001101xxxxx1x1100xxxxxxxxxx
rcwsetpa. */
- return 3255;
+ return 3355;
}
else
{
@@ -10791,7 +10835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001101xxxxx1x1100xxxxxxxxxx
rcwssetpa. */
- return 3263;
+ return 3363;
}
}
else
@@ -10802,7 +10846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001111xxxxx1x1100xxxxxxxxxx
rcwsetpal. */
- return 3256;
+ return 3356;
}
else
{
@@ -10810,7 +10854,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011001111xxxxx1x1100xxxxxxxxxx
rcwssetpal. */
- return 3264;
+ return 3364;
}
}
}
@@ -10828,7 +10872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxxxxxx10xxxxxxxxxx
stlr. */
- return 1201;
+ return 1253;
}
else
{
@@ -10836,7 +10880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxxxxxx10xxxxxxxxxx
ldapr. */
- return 1200;
+ return 1252;
}
}
else
@@ -10849,7 +10893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001101xxxxxxxxx10xxxxxxxxxx
rcwcasa. */
- return 3219;
+ return 3319;
}
else
{
@@ -10859,7 +10903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001101xxxxxxxxx10xxxxxxxxxx
rcwscasa. */
- return 3227;
+ return 3327;
}
else
{
@@ -10867,7 +10911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001101xxxxxxxxx10xxxxxxxxxx
st2g. */
- return 883;
+ return 935;
}
}
}
@@ -10879,7 +10923,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001111xxxxxxxxx10xxxxxxxxxx
rcwcasal. */
- return 3220;
+ return 3320;
}
else
{
@@ -10889,7 +10933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001111xxxxxxxxx10xxxxxxxxxx
rcwscasal. */
- return 3228;
+ return 3328;
}
else
{
@@ -10897,7 +10941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001111xxxxxxxxx10xxxxxxxxxx
stz2g. */
- return 884;
+ return 936;
}
}
}
@@ -10922,7 +10966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0000x1xxxxxxxxxx
cpyfe. */
- return 3086;
+ return 3186;
}
else
{
@@ -10930,7 +10974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0000x1xxxxxxxxxx
setp. */
- return 3180;
+ return 3280;
}
}
else
@@ -10941,7 +10985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx1000x1xxxxxxxxxx
cpyfern. */
- return 3092;
+ return 3192;
}
else
{
@@ -10949,7 +10993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx1000x1xxxxxxxxxx
sete. */
- return 3182;
+ return 3282;
}
}
}
@@ -10963,7 +11007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0100x1xxxxxxxxxx
cpyfewn. */
- return 3089;
+ return 3189;
}
else
{
@@ -10971,7 +11015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0100x1xxxxxxxxxx
setm. */
- return 3181;
+ return 3281;
}
}
else
@@ -10980,7 +11024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0110011x0xxxxx1100x1xxxxxxxxxx
cpyfen. */
- return 3095;
+ return 3195;
}
}
}
@@ -10996,7 +11040,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0010x1xxxxxxxxxx
cpyfert. */
- return 3110;
+ return 3210;
}
else
{
@@ -11004,7 +11048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0010x1xxxxxxxxxx
setpn. */
- return 3186;
+ return 3286;
}
}
else
@@ -11015,7 +11059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx1010x1xxxxxxxxxx
cpyfertrn. */
- return 3116;
+ return 3216;
}
else
{
@@ -11023,7 +11067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx1010x1xxxxxxxxxx
seten. */
- return 3188;
+ return 3288;
}
}
}
@@ -11037,7 +11081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0110x1xxxxxxxxxx
cpyfertwn. */
- return 3113;
+ return 3213;
}
else
{
@@ -11045,7 +11089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0110x1xxxxxxxxxx
setmn. */
- return 3187;
+ return 3287;
}
}
else
@@ -11054,7 +11098,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0110011x0xxxxx1110x1xxxxxxxxxx
cpyfertn. */
- return 3119;
+ return 3219;
}
}
}
@@ -11073,7 +11117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0001x1xxxxxxxxxx
cpyfewt. */
- return 3098;
+ return 3198;
}
else
{
@@ -11081,7 +11125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0001x1xxxxxxxxxx
setpt. */
- return 3183;
+ return 3283;
}
}
else
@@ -11092,7 +11136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx1001x1xxxxxxxxxx
cpyfewtrn. */
- return 3104;
+ return 3204;
}
else
{
@@ -11100,7 +11144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx1001x1xxxxxxxxxx
setet. */
- return 3185;
+ return 3285;
}
}
}
@@ -11114,7 +11158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0101x1xxxxxxxxxx
cpyfewtwn. */
- return 3101;
+ return 3201;
}
else
{
@@ -11122,7 +11166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0101x1xxxxxxxxxx
setmt. */
- return 3184;
+ return 3284;
}
}
else
@@ -11131,7 +11175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0110011x0xxxxx1101x1xxxxxxxxxx
cpyfewtn. */
- return 3107;
+ return 3207;
}
}
}
@@ -11147,7 +11191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0011x1xxxxxxxxxx
cpyfet. */
- return 3122;
+ return 3222;
}
else
{
@@ -11155,7 +11199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0011x1xxxxxxxxxx
setptn. */
- return 3189;
+ return 3289;
}
}
else
@@ -11166,7 +11210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx1011x1xxxxxxxxxx
cpyfetrn. */
- return 3128;
+ return 3228;
}
else
{
@@ -11174,7 +11218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx1011x1xxxxxxxxxx
setetn. */
- return 3191;
+ return 3291;
}
}
}
@@ -11188,7 +11232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001100xxxxx0111x1xxxxxxxxxx
cpyfetwn. */
- return 3125;
+ return 3225;
}
else
{
@@ -11196,7 +11240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011001110xxxxx0111x1xxxxxxxxxx
setmtn. */
- return 3190;
+ return 3290;
}
}
else
@@ -11205,7 +11249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0110011x0xxxxx1111x1xxxxxxxxxx
cpyfetn. */
- return 3131;
+ return 3231;
}
}
}
@@ -11221,7 +11265,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001101xxxxxxxxxx1xxxxxxxxxx
rcwcaspa. */
- return 3223;
+ return 3323;
}
else
{
@@ -11231,7 +11275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001101xxxxxxxxxx1xxxxxxxxxx
rcwscaspa. */
- return 3231;
+ return 3331;
}
else
{
@@ -11239,7 +11283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001101xxxxxxxxxx1xxxxxxxxxx
st2g. */
- return 887;
+ return 939;
}
}
}
@@ -11251,7 +11295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011001111xxxxxxxxxx1xxxxxxxxxx
rcwcaspal. */
- return 3224;
+ return 3324;
}
else
{
@@ -11261,7 +11305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01011001111xxxxxxxxxx1xxxxxxxxxx
rcwscaspal. */
- return 3232;
+ return 3332;
}
else
{
@@ -11269,7 +11313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11011001111xxxxxxxxxx1xxxxxxxxxx
stz2g. */
- return 888;
+ return 940;
}
}
}
@@ -11286,7 +11330,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001110011xxxxxxxxxxxxxxxxxxxxxxx
ldrsb. */
- return 891;
+ return 943;
}
else
{
@@ -11294,7 +11338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101110011xxxxxxxxxxxxxxxxxxxxxxx
ldrsw. */
- return 899;
+ return 951;
}
}
else
@@ -11305,7 +11349,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011110011xxxxxxxxxxxxxxxxxxxxxxx
ldrsh. */
- return 896;
+ return 948;
}
else
{
@@ -11313,7 +11357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111110011xxxxxxxxxxxxxxxxxxxxxxx
prfm. */
- return 900;
+ return 952;
}
}
}
@@ -11338,7 +11382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x00x00100xxxxxxxxxxxxxxxxxxxxxxx
and. */
- return 995;
+ return 1047;
}
else
{
@@ -11346,7 +11390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10x00100xxxxxxxxxxxxxxxxxxxxxxx
eor. */
- return 999;
+ return 1051;
}
}
else
@@ -11357,7 +11401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01x00100xxxxxxxxxxxxxxxxxxxxxxx
orr. */
- return 997;
+ return 1049;
}
else
{
@@ -11365,7 +11409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11x00100xxxxxxxxxxxxxxxxxxxxxxx
ands. */
- return 1000;
+ return 1052;
}
}
}
@@ -11379,7 +11423,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x00x00101xxxxxxxxxxxxxxxxxxxxxxx
movn. */
- return 1216;
+ return 1268;
}
else
{
@@ -11387,7 +11431,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10x00101xxxxxxxxxxxxxxxxxxxxxxx
movz. */
- return 1218;
+ return 1270;
}
}
else
@@ -11396,7 +11440,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1x00101xxxxxxxxxxxxxxxxxxxxxxx
movk. */
- return 1220;
+ return 1272;
}
}
}
@@ -11414,7 +11458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0001010xx0xxxxxxxxxxxxxxxxxxxxx
and. */
- return 1002;
+ return 1054;
}
else
{
@@ -11422,7 +11466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1001010xx0xxxxxxxxxxxxxxxxxxxxx
eor. */
- return 1009;
+ return 1061;
}
}
else
@@ -11433,7 +11477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101010xx0xxxxxxxxxxxxxxxxxxxxx
orr. */
- return 1004;
+ return 1056;
}
else
{
@@ -11441,7 +11485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101010xx0xxxxxxxxxxxxxxxxxxxxx
ands. */
- return 1011;
+ return 1063;
}
}
}
@@ -11504,7 +11548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010000xxxxxx00x10xxxxxxxxxx
setf8. */
- return 3022;
+ return 3057;
}
else
{
@@ -11512,7 +11556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010000xxxxxx10x10xxxxxxxxxx
setf16. */
- return 3023;
+ return 3058;
}
}
}
@@ -11522,7 +11566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010000xxxxxxx0xx1xxxxxxxxxx
rmif. */
- return 3021;
+ return 3056;
}
}
else
@@ -11533,7 +11577,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010000xxxxxxx1xxxxxxxxxxxxx
addpt. */
- return 3469;
+ return 3569;
}
else
{
@@ -11541,7 +11585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010000xxxxxxx1xxxxxxxxxxxxx
subpt. */
- return 3470;
+ return 3570;
}
}
}
@@ -11555,7 +11599,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010100xxxxxxxxxx0xxxxxxxxxx
csel. */
- return 662;
+ return 702;
}
else
{
@@ -11563,7 +11607,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010100xxxxxxxxxx0xxxxxxxxxx
csinv. */
- return 666;
+ return 706;
}
}
else
@@ -11574,7 +11618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010100xxxxxxxxxx1xxxxxxxxxx
csinc. */
- return 663;
+ return 703;
}
else
{
@@ -11582,7 +11626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010100xxxxxxxxxx1xxxxxxxxxx
csneg. */
- return 669;
+ return 709;
}
}
}
@@ -11601,7 +11645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010010xxxxxxxxx00xxxxxxxxxx
ccmn. */
- return 660;
+ return 700;
}
else
{
@@ -11609,7 +11653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010010xxxxxxxxx00xxxxxxxxxx
ccmp. */
- return 661;
+ return 701;
}
}
else
@@ -11628,7 +11672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011010110xxxxxx00000xxxxxxxxxx
subp. */
- return 721;
+ return 761;
}
else
{
@@ -11638,7 +11682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011010110xxxx0x00000xxxxxxxxxx
rbit. */
- return 685;
+ return 725;
}
else
{
@@ -11646,7 +11690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011010110xxxx1x00000xxxxxxxxxx
pacia. */
- return 693;
+ return 733;
}
}
}
@@ -11656,7 +11700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111010110xxxxxx00000xxxxxxxxxx
subps. */
- return 722;
+ return 762;
}
}
else
@@ -11667,7 +11711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010110xxxxxx10000xxxxxxxxxx
crc32b. */
- return 727;
+ return 767;
}
else
{
@@ -11675,7 +11719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxxxx10000xxxxxxxxxx
xpaci. */
- return 709;
+ return 749;
}
}
}
@@ -11689,7 +11733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010110xxxxxx01000xxxxxxxxxx
lslv. */
- return 713;
+ return 753;
}
else
{
@@ -11699,7 +11743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxx0x01000xxxxxxxxxx
abs. */
- return 3209;
+ return 3309;
}
else
{
@@ -11707,7 +11751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxx1x01000xxxxxxxxxx
paciza. */
- return 701;
+ return 741;
}
}
}
@@ -11717,7 +11761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxxxx11000xxxxxxxxxx
smax. */
- return 3212;
+ return 3312;
}
}
}
@@ -11733,7 +11777,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010110xxxxxx00100xxxxxxxxxx
irg. */
- return 724;
+ return 764;
}
else
{
@@ -11743,7 +11787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxx0x00100xxxxxxxxxx
clz. */
- return 690;
+ return 730;
}
else
{
@@ -11751,7 +11795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxx1x00100xxxxxxxxxx
autia. */
- return 697;
+ return 737;
}
}
}
@@ -11761,7 +11805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxxxx10100xxxxxxxxxx
crc32cb. */
- return 731;
+ return 771;
}
}
else
@@ -11772,7 +11816,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010110xxxxxxx1100xxxxxxxxxx
pacga. */
- return 726;
+ return 766;
}
else
{
@@ -11780,7 +11824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxxxxx1100xxxxxxxxxx
autiza. */
- return 705;
+ return 745;
}
}
}
@@ -11796,7 +11840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010010xxxxxxxxx10xxxxxxxxxx
ccmn. */
- return 658;
+ return 698;
}
else
{
@@ -11804,7 +11848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010010xxxxxxxxx10xxxxxxxxxx
ccmp. */
- return 659;
+ return 699;
}
}
else
@@ -11821,7 +11865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010110xxxxxx00010xxxxxxxxxx
udiv. */
- return 711;
+ return 751;
}
else
{
@@ -11833,7 +11877,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01x11010110xxxx0x00010xxxxxxxxxx
rev. */
- return 687;
+ return 727;
}
else
{
@@ -11841,7 +11885,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11x11010110xxxx0x00010xxxxxxxxxx
rev32. */
- return 692;
+ return 732;
}
}
else
@@ -11850,7 +11894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxx1x00010xxxxxxxxxx
pacda. */
- return 695;
+ return 735;
}
}
}
@@ -11860,7 +11904,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxxxx10010xxxxxxxxxx
crc32w. */
- return 729;
+ return 769;
}
}
else
@@ -11873,7 +11917,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010110xxxxxx01010xxxxxxxxxx
asrv. */
- return 717;
+ return 757;
}
else
{
@@ -11881,7 +11925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010110xxxxxx01010xxxxxxxxxx
pacdza. */
- return 703;
+ return 743;
}
}
else
@@ -11890,7 +11934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxxxx11010xxxxxxxxxx
smin. */
- return 3214;
+ return 3314;
}
}
}
@@ -11906,7 +11950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxx0x00110xxxxxxxxxx
ctz. */
- return 3211;
+ return 3311;
}
else
{
@@ -11914,7 +11958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxx1x00110xxxxxxxxxx
autda. */
- return 699;
+ return 739;
}
}
else
@@ -11923,7 +11967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxxxx10110xxxxxxxxxx
crc32cw. */
- return 733;
+ return 773;
}
}
else
@@ -11932,7 +11976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010110xxxxxxx1110xxxxxxxxxx
autdza. */
- return 707;
+ return 747;
}
}
}
@@ -11954,7 +11998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxx0x00001xxxxxxxxxx
rev16. */
- return 686;
+ return 726;
}
else
{
@@ -11962,7 +12006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxx1x00001xxxxxxxxxx
pacib. */
- return 694;
+ return 734;
}
}
else
@@ -11973,7 +12017,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010x10xxxxxx10001xxxxxxxxxx
crc32h. */
- return 728;
+ return 768;
}
else
{
@@ -11981,7 +12025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxxxx10001xxxxxxxxxx
xpacd. */
- return 710;
+ return 750;
}
}
}
@@ -11995,7 +12039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010x10xxxxxx01001xxxxxxxxxx
lsrv. */
- return 715;
+ return 755;
}
else
{
@@ -12003,7 +12047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxxxx01001xxxxxxxxxx
pacizb. */
- return 702;
+ return 742;
}
}
else
@@ -12012,7 +12056,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxx11001xxxxxxxxxx
umax. */
- return 3213;
+ return 3313;
}
}
}
@@ -12028,7 +12072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010x10xxxxxx00101xxxxxxxxxx
gmi. */
- return 725;
+ return 765;
}
else
{
@@ -12038,7 +12082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxx0x00101xxxxxxxxxx
cls. */
- return 691;
+ return 731;
}
else
{
@@ -12046,7 +12090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxx1x00101xxxxxxxxxx
autib. */
- return 698;
+ return 738;
}
}
}
@@ -12056,7 +12100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxx10101xxxxxxxxxx
crc32ch. */
- return 732;
+ return 772;
}
}
else
@@ -12065,7 +12109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxxx1101xxxxxxxxxx
autizb. */
- return 706;
+ return 746;
}
}
}
@@ -12083,7 +12127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010x10xxxxxx00011xxxxxxxxxx
sdiv. */
- return 712;
+ return 752;
}
else
{
@@ -12093,7 +12137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxx0x00011xxxxxxxxxx
rev. */
- return 688;
+ return 728;
}
else
{
@@ -12101,7 +12145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxx1x00011xxxxxxxxxx
pacdb. */
- return 696;
+ return 736;
}
}
}
@@ -12111,7 +12155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxx10011xxxxxxxxxx
crc32x. */
- return 730;
+ return 770;
}
}
else
@@ -12124,7 +12168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11010x10xxxxxx01011xxxxxxxxxx
rorv. */
- return 719;
+ return 759;
}
else
{
@@ -12132,7 +12176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11010x10xxxxxx01011xxxxxxxxxx
pacdzb. */
- return 704;
+ return 744;
}
}
else
@@ -12141,7 +12185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxx11011xxxxxxxxxx
umin. */
- return 3215;
+ return 3315;
}
}
}
@@ -12157,7 +12201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxx0x00111xxxxxxxxxx
cnt. */
- return 3210;
+ return 3310;
}
else
{
@@ -12165,7 +12209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxx1x00111xxxxxxxxxx
autdb. */
- return 700;
+ return 740;
}
}
else
@@ -12174,7 +12218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxx10111xxxxxxxxxx
crc32cx. */
- return 734;
+ return 774;
}
}
else
@@ -12183,7 +12227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11010x10xxxxxxx1111xxxxxxxxxx
autdzb. */
- return 708;
+ return 748;
}
}
}
@@ -12201,7 +12245,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x00x1010xx1xxxxxxxxxxxxxxxxxxxxx
bic. */
- return 1003;
+ return 1055;
}
else
{
@@ -12209,7 +12253,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10x1010xx1xxxxxxxxxxxxxxxxxxxxx
eon. */
- return 1010;
+ return 1062;
}
}
else
@@ -12220,7 +12264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01x1010xx1xxxxxxxxxxxxxxxxxxxxx
orn. */
- return 1007;
+ return 1059;
}
else
{
@@ -12228,7 +12272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11x1010xx1xxxxxxxxxxxxxxxxxxxxx
bics. */
- return 1013;
+ return 1065;
}
}
}
@@ -12274,7 +12318,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx00111xxxxxxxxxxxxxxxxxxxxxxx
extr. */
- return 758;
+ return 798;
}
}
else
@@ -12332,7 +12376,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11011x00xxxxx0xxxxxxxxxxxxxxx
madd. */
- return 735;
+ return 775;
}
else
{
@@ -12342,7 +12386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11011010xxxxx0xxxxxxxxxxxxxxx
smulh. */
- return 743;
+ return 783;
}
else
{
@@ -12350,7 +12394,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11011110xxxxx0xxxxxxxxxxxxxxx
umulh. */
- return 748;
+ return 788;
}
}
}
@@ -12360,7 +12404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11011xx0xxxxx1xxxxxxxxxxxxxxx
msub. */
- return 737;
+ return 777;
}
}
}
@@ -12419,7 +12463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11011001xxxxx0xxxxxxxxxxxxxxx
smaddl. */
- return 739;
+ return 779;
}
else
{
@@ -12427,7 +12471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11011001xxxxx1xxxxxxxxxxxxxxx
smsubl. */
- return 741;
+ return 781;
}
}
}
@@ -12439,7 +12483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1011101xxxxx0xxxxxxxxxxxxxxx
umaddl. */
- return 744;
+ return 784;
}
else
{
@@ -12447,7 +12491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1011101xxxxx1xxxxxxxxxxxxxxx
umsubl. */
- return 746;
+ return 786;
}
}
}
@@ -12459,7 +12503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1011x11xxxxx0xxxxxxxxxxxxxxx
maddpt. */
- return 3471;
+ return 3571;
}
else
{
@@ -12467,7 +12511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1011x11xxxxx1xxxxxxxxxxxxxxx
msubpt. */
- return 3472;
+ return 3572;
}
}
}
@@ -12511,7 +12555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000000000xxxxxxxxxxxxx
add. */
- return 1341;
+ return 1393;
}
else
{
@@ -12519,7 +12563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010000000xxxxxxxxxxxxx
mul. */
- return 1811;
+ return 1847;
}
}
else
@@ -12530,7 +12574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001000000xxxxxxxxxxxxx
smax. */
- return 1891;
+ return 1927;
}
else
{
@@ -12538,7 +12582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011000000xxxxxxxxxxxxx
orr. */
- return 1822;
+ return 1858;
}
}
}
@@ -12552,7 +12596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000100000xxxxxxxxxxxxx
addpt. */
- return 3473;
+ return 3573;
}
else
{
@@ -12560,7 +12604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010100000xxxxxxxxxxxxx
sdiv. */
- return 1882;
+ return 1918;
}
}
else
@@ -12569,7 +12613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1100000xxxxxxxxxxxxx
sabd. */
- return 1873;
+ return 1909;
}
}
}
@@ -12583,7 +12627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0010000xxxxxxxxxxxxx
smulh. */
- return 1896;
+ return 1932;
}
else
{
@@ -12593,7 +12637,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001010000xxxxxxxxxxxxx
smin. */
- return 1894;
+ return 1930;
}
else
{
@@ -12601,7 +12645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011010000xxxxxxxxxxxxx
and. */
- return 1349;
+ return 1401;
}
}
}
@@ -12611,7 +12655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xx110000xxxxxxxxxxxxx
sdivr. */
- return 1883;
+ return 1919;
}
}
}
@@ -12627,7 +12671,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0001000xxxxxxxxxxxxx
sub. */
- return 2013;
+ return 2049;
}
else
{
@@ -12637,7 +12681,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001001000xxxxxxxxxxxxx
umax. */
- return 2041;
+ return 2077;
}
else
{
@@ -12645,7 +12689,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011001000xxxxxxxxxxxxx
eor. */
- return 1436;
+ return 1488;
}
}
}
@@ -12659,7 +12703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000101000xxxxxxxxxxxxx
subpt. */
- return 3475;
+ return 3575;
}
else
{
@@ -12667,7 +12711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010101000xxxxxxxxxxxxx
udiv. */
- return 2035;
+ return 2071;
}
}
else
@@ -12676,7 +12720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1101000xxxxxxxxxxxxx
uabd. */
- return 2026;
+ return 2062;
}
}
}
@@ -12692,7 +12736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000011000xxxxxxxxxxxxx
subr. */
- return 2015;
+ return 2051;
}
else
{
@@ -12700,7 +12744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010011000xxxxxxxxxxxxx
umulh. */
- return 2046;
+ return 2082;
}
}
else
@@ -12711,7 +12755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001011000xxxxxxxxxxxxx
umin. */
- return 2044;
+ return 2080;
}
else
{
@@ -12719,7 +12763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011011000xxxxxxxxxxxxx
bic. */
- return 1361;
+ return 1413;
}
}
}
@@ -12729,7 +12773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xx111000xxxxxxxxxxxxx
udivr. */
- return 2036;
+ return 2072;
}
}
}
@@ -12742,7 +12786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x0xxxxx000xxxxxxxxxxxxx
ld1sb. */
- return 1623;
+ return 1675;
}
else
{
@@ -12750,7 +12794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x0xxxxx000xxxxxxxxxxxxx
ld1sh. */
- return 1634;
+ return 1686;
}
}
}
@@ -12768,7 +12812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx000000xxxxxxxxxx
sdot. */
- return 1884;
+ return 1920;
}
else
{
@@ -12776,7 +12820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx000010xxxxxxxxxx
sqdmlalbt. */
- return 2235;
+ return 2271;
}
}
else
@@ -12787,7 +12831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx000001xxxxxxxxxx
udot. */
- return 2037;
+ return 2073;
}
else
{
@@ -12795,7 +12839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx000011xxxxxxxxxx
sqdmlslbt. */
- return 2242;
+ return 2278;
}
}
}
@@ -12805,7 +12849,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx0001xxxxxxxxxxxx
cdot. */
- return 2124;
+ return 2160;
}
}
else
@@ -12816,7 +12860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x00x0xxxxx000xxxxxxxxxxxxx
ld1sb. */
- return 1627;
+ return 1679;
}
else
{
@@ -12824,7 +12868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x0xxxxx000xxxxxxxxxxxxx
ld1sh. */
- return 1638;
+ return 1690;
}
}
}
@@ -12845,7 +12889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000000xxxxxxxxxx
add. */
- return 1339;
+ return 1391;
}
else
{
@@ -12853,7 +12897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000100xxxxxxxxxx
sqadd. */
- return 1898;
+ return 1934;
}
}
else
@@ -12864,7 +12908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000010xxxxxxxxxx
addpt. */
- return 3474;
+ return 3574;
}
else
{
@@ -12872,7 +12916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000110xxxxxxxxxx
sqsub. */
- return 1928;
+ return 1964;
}
}
}
@@ -12886,7 +12930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000001xxxxxxxxxx
sub. */
- return 2011;
+ return 2047;
}
else
{
@@ -12894,7 +12938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000101xxxxxxxxxx
uqadd. */
- return 2047;
+ return 2083;
}
}
else
@@ -12905,7 +12949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000011xxxxxxxxxx
subpt. */
- return 3476;
+ return 3576;
}
else
{
@@ -12913,7 +12957,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx000111xxxxxxxxxx
uqsub. */
- return 2077;
+ return 2113;
}
}
}
@@ -12926,7 +12970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x1xxxxx000xxxxxxxxxxxxx
prfb. */
- return 1831;
+ return 1867;
}
else
{
@@ -12934,7 +12978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x1xxxxx000xxxxxxxxxxxxx
ld1sh. */
- return 1635;
+ return 1687;
}
}
}
@@ -12952,7 +12996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx000x00xxxxxxxxxx
sqrdmlah. */
- return 2260;
+ return 2296;
}
else
{
@@ -12960,7 +13004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx000x10xxxxxxxxxx
mla. */
- return 2167;
+ return 2203;
}
}
else
@@ -12971,7 +13015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx000x01xxxxxxxxxx
sqrdmlsh. */
- return 2264;
+ return 2300;
}
else
{
@@ -12979,7 +13023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx000x11xxxxxxxxxx
mls. */
- return 2170;
+ return 2206;
}
}
}
@@ -12989,7 +13033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x00x1xxxxx000xxxxxxxxxxxxx
prfb. */
- return 1832;
+ return 1868;
}
}
else
@@ -13008,7 +13052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx000000xxxxxxxxxx
sdot. */
- return 1885;
+ return 1921;
}
else
{
@@ -13016,7 +13060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx000000xxxxxxxxxx
sdot. */
- return 1886;
+ return 1922;
}
}
else
@@ -13027,7 +13071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx000100xxxxxxxxxx
sqrdmlah. */
- return 2261;
+ return 2297;
}
else
{
@@ -13035,7 +13079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx000100xxxxxxxxxx
sqrdmlah. */
- return 2262;
+ return 2298;
}
}
}
@@ -13049,7 +13093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx000010xxxxxxxxxx
mla. */
- return 2168;
+ return 2204;
}
else
{
@@ -13057,7 +13101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx000010xxxxxxxxxx
mla. */
- return 2169;
+ return 2205;
}
}
else
@@ -13066,7 +13110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x01x1xxxxx000110xxxxxxxxxx
usdot. */
- return 3041;
+ return 3136;
}
}
}
@@ -13082,7 +13126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx000001xxxxxxxxxx
udot. */
- return 2038;
+ return 2074;
}
else
{
@@ -13090,7 +13134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx000001xxxxxxxxxx
udot. */
- return 2039;
+ return 2075;
}
}
else
@@ -13101,7 +13145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx000101xxxxxxxxxx
sqrdmlsh. */
- return 2265;
+ return 2301;
}
else
{
@@ -13109,7 +13153,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx000101xxxxxxxxxx
sqrdmlsh. */
- return 2266;
+ return 2302;
}
}
}
@@ -13123,7 +13167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx000011xxxxxxxxxx
mls. */
- return 2171;
+ return 2207;
}
else
{
@@ -13131,7 +13175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx000011xxxxxxxxxx
mls. */
- return 2172;
+ return 2208;
}
}
else
@@ -13140,7 +13184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x01x1xxxxx000111xxxxxxxxxx
sudot. */
- return 3042;
+ return 3137;
}
}
}
@@ -13151,7 +13195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x1xxxxx000xxxxxxxxxxxxx
ld1sh. */
- return 1639;
+ return 1691;
}
}
}
@@ -13177,7 +13221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx000000100xxxxxxxxxxxxx
asr. */
- return 1357;
+ return 1409;
}
else
{
@@ -13187,7 +13231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010000100xxxxxxxxxxxxx
asr. */
- return 1355;
+ return 1407;
}
else
{
@@ -13195,7 +13239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx010000100xxxxxxxxxxxxx
shadd. */
- return 2201;
+ return 2237;
}
}
}
@@ -13207,7 +13251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx001000100xxxxxxxxxxxxx
sqshl. */
- return 2279;
+ return 2315;
}
else
{
@@ -13217,7 +13261,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011000100xxxxxxxxxxxxx
asr. */
- return 1356;
+ return 1408;
}
else
{
@@ -13225,7 +13269,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx011000100xxxxxxxxxxxxx
sqadd. */
- return 2230;
+ return 2266;
}
}
}
@@ -13240,7 +13284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx000100100xxxxxxxxxxxxx
asrd. */
- return 1358;
+ return 1410;
}
else
{
@@ -13250,7 +13294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010100100xxxxxxxxxxxxx
asrr. */
- return 1359;
+ return 1411;
}
else
{
@@ -13258,7 +13302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx010100100xxxxxxxxxxxxx
srhadd. */
- return 2292;
+ return 2328;
}
}
}
@@ -13272,7 +13316,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001100100xxxxxxxxxxxxx
srshr. */
- return 2296;
+ return 2332;
}
else
{
@@ -13280,7 +13324,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx001100100xxxxxxxxxxxxx
sqshlr. */
- return 2280;
+ return 2316;
}
}
else
@@ -13289,7 +13333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx011100100xxxxxxxxxxxxx
suqadd. */
- return 2316;
+ return 2352;
}
}
}
@@ -13306,7 +13350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx000010100xxxxxxxxxxxxx
srshl. */
- return 2294;
+ return 2330;
}
else
{
@@ -13314,7 +13358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx010010100xxxxxxxxxxxxx
shsub. */
- return 2204;
+ return 2240;
}
}
else
@@ -13325,7 +13369,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx001010100xxxxxxxxxxxxx
sqrshl. */
- return 2272;
+ return 2308;
}
else
{
@@ -13333,7 +13377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx011010100xxxxxxxxxxxxx
sqsub. */
- return 2286;
+ return 2322;
}
}
}
@@ -13349,7 +13393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000110100xxxxxxxxxxxxx
sqshl. */
- return 2278;
+ return 2314;
}
else
{
@@ -13357,7 +13401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx000110100xxxxxxxxxxxxx
srshlr. */
- return 2295;
+ return 2331;
}
}
else
@@ -13366,7 +13410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx010110100xxxxxxxxxxxxx
shsubr. */
- return 2205;
+ return 2241;
}
}
else
@@ -13377,7 +13421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx001110100xxxxxxxxxxxxx
sqrshlr. */
- return 2273;
+ return 2309;
}
else
{
@@ -13385,7 +13429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx011110100xxxxxxxxxxxxx
sqsubr. */
- return 2287;
+ return 2323;
}
}
}
@@ -13405,7 +13449,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx000001100xxxxxxxxxxxxx
lsr. */
- return 1802;
+ return 1838;
}
else
{
@@ -13415,7 +13459,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010001100xxxxxxxxxxxxx
lsr. */
- return 1800;
+ return 1836;
}
else
{
@@ -13423,7 +13467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx010001100xxxxxxxxxxxxx
uhadd. */
- return 2329;
+ return 2365;
}
}
}
@@ -13435,7 +13479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx001001100xxxxxxxxxxxxx
uqshl. */
- return 2359;
+ return 2395;
}
else
{
@@ -13445,7 +13489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011001100xxxxxxxxxxxxx
lsr. */
- return 1801;
+ return 1837;
}
else
{
@@ -13453,7 +13497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx011001100xxxxxxxxxxxxx
uqadd. */
- return 2353;
+ return 2389;
}
}
}
@@ -13468,7 +13512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0101100xxxxxxxxxxxxx
lsrr. */
- return 1803;
+ return 1839;
}
else
{
@@ -13476,7 +13520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0x0101100xxxxxxxxxxxxx
urhadd. */
- return 2368;
+ return 2404;
}
}
else
@@ -13489,7 +13533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001101100xxxxxxxxxxxxx
urshr. */
- return 2371;
+ return 2407;
}
else
{
@@ -13497,7 +13541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx001101100xxxxxxxxxxxxx
uqshlr. */
- return 2360;
+ return 2396;
}
}
else
@@ -13506,7 +13550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx011101100xxxxxxxxxxxxx
usqadd. */
- return 2376;
+ return 2412;
}
}
}
@@ -13525,7 +13569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000011100xxxxxxxxxxxxx
lsl. */
- return 1796;
+ return 1832;
}
else
{
@@ -13533,7 +13577,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx000011100xxxxxxxxxxxxx
urshl. */
- return 2369;
+ return 2405;
}
}
else
@@ -13544,7 +13588,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010011100xxxxxxxxxxxxx
lsl. */
- return 1794;
+ return 1830;
}
else
{
@@ -13552,7 +13596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx010011100xxxxxxxxxxxxx
uhsub. */
- return 2330;
+ return 2366;
}
}
}
@@ -13564,7 +13608,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx001011100xxxxxxxxxxxxx
uqrshl. */
- return 2354;
+ return 2390;
}
else
{
@@ -13574,7 +13618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011011100xxxxxxxxxxxxx
lsl. */
- return 1795;
+ return 1831;
}
else
{
@@ -13582,7 +13626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx011011100xxxxxxxxxxxxx
uqsub. */
- return 2363;
+ return 2399;
}
}
}
@@ -13599,7 +13643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000111100xxxxxxxxxxxxx
uqshl. */
- return 2358;
+ return 2394;
}
else
{
@@ -13607,7 +13651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx000111100xxxxxxxxxxxxx
urshlr. */
- return 2370;
+ return 2406;
}
}
else
@@ -13618,7 +13662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx010111100xxxxxxxxxxxxx
lslr. */
- return 1797;
+ return 1833;
}
else
{
@@ -13626,7 +13670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx010111100xxxxxxxxxxxxx
uhsubr. */
- return 2331;
+ return 2367;
}
}
}
@@ -13640,7 +13684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001111100xxxxxxxxxxxxx
sqshlu. */
- return 2281;
+ return 2317;
}
else
{
@@ -13648,7 +13692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx001111100xxxxxxxxxxxxx
uqrshlr. */
- return 2355;
+ return 2391;
}
}
else
@@ -13657,7 +13701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x0001x0xx011111100xxxxxxxxxxxxx
uqsubr. */
- return 2364;
+ return 2400;
}
}
}
@@ -13676,7 +13720,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx1000x0xxxxxxxxxx
asr. */
- return 1353;
+ return 1405;
}
else
{
@@ -13686,7 +13730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x01xxxxx1000x0xxxxxxxxxx
smlalb. */
- return 2209;
+ return 2245;
}
else
{
@@ -13694,7 +13738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x11xxxxx1000x0xxxxxxxxxx
smlalb. */
- return 2210;
+ return 2246;
}
}
}
@@ -13706,7 +13750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx1001x0xxxxxxxxxx
asr. */
- return 1354;
+ return 1406;
}
else
{
@@ -13716,7 +13760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x01xxxxx1001x0xxxxxxxxxx
umlalb. */
- return 2334;
+ return 2370;
}
else
{
@@ -13724,7 +13768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x11xxxxx1001x0xxxxxxxxxx
umlalb. */
- return 2335;
+ return 2371;
}
}
}
@@ -13741,7 +13785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx100001xxxxxxxxxx
lsr. */
- return 1798;
+ return 1834;
}
else
{
@@ -13749,7 +13793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx100011xxxxxxxxxx
lsl. */
- return 1792;
+ return 1828;
}
}
else
@@ -13760,7 +13804,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x01xxxxx1000x1xxxxxxxxxx
smlalt. */
- return 2212;
+ return 2248;
}
else
{
@@ -13768,7 +13812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x11xxxxx1000x1xxxxxxxxxx
smlalt. */
- return 2213;
+ return 2249;
}
}
}
@@ -13782,7 +13826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx100101xxxxxxxxxx
lsr. */
- return 1799;
+ return 1835;
}
else
{
@@ -13790,7 +13834,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx100111xxxxxxxxxx
lsl. */
- return 1793;
+ return 1829;
}
}
else
@@ -13801,7 +13845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x01xxxxx1001x1xxxxxxxxxx
umlalt. */
- return 2337;
+ return 2373;
}
else
{
@@ -13809,7 +13853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0x11xxxxx1001x1xxxxxxxxxx
umlalt. */
- return 2338;
+ return 2374;
}
}
}
@@ -13828,7 +13872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x0001x0000xxxxx100xxxxxxxxxxxxx
ldnt1sb. */
- return 2161;
+ return 2197;
}
else
{
@@ -13836,7 +13880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x0001x0100xxxxx100xxxxxxxxxxxxx
ldnt1sh. */
- return 2162;
+ return 2198;
}
}
else
@@ -13849,7 +13893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0001xxxxx100xxxxxxxxxxxxx
ld1sb. */
- return 1629;
+ return 1681;
}
else
{
@@ -13857,7 +13901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0001xxxxx100xxxxxxxxxxxxx
ld1sb. */
- return 1633;
+ return 1685;
}
}
else
@@ -13868,7 +13912,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0101xxxxx100xxxxxxxxxxxxx
ld1sh. */
- return 1642;
+ return 1694;
}
else
{
@@ -13876,7 +13920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0101xxxxx100xxxxxxxxxxxxx
ld1sh. */
- return 1645;
+ return 1697;
}
}
}
@@ -13891,7 +13935,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x001xxxxxx100xxxxxxxxxxxxx
ld1rb. */
- return 1599;
+ return 1651;
}
else
{
@@ -13901,7 +13945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0010xxxxx100xxxxxxxxxxxxx
ld1sb. */
- return 1628;
+ return 1680;
}
else
{
@@ -13909,7 +13953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0011xxxxx100xxxxxxxxxxxxx
prfb. */
- return 1833;
+ return 1869;
}
}
}
@@ -13921,7 +13965,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x011xxxxxx100xxxxxxxxxxxxx
ld1rsw. */
- return 1620;
+ return 1672;
}
else
{
@@ -13931,7 +13975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0110xxxxx100xxxxxxxxxxxxx
ld1sh. */
- return 1640;
+ return 1692;
}
else
{
@@ -13939,7 +13983,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0111xxxxx100xxxxxxxxxxxxx
ld1sh. */
- return 1641;
+ return 1693;
}
}
}
@@ -13961,7 +14005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xxxxx010xxxxxxxxxxxxx
mla. */
- return 1805;
+ return 1841;
}
else
{
@@ -13971,7 +14015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x0xxxxx010xxxxxxxxxxxxx
ld1b. */
- return 1565;
+ return 1617;
}
else
{
@@ -13979,7 +14023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x0xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1585;
+ return 1637;
}
}
}
@@ -13997,7 +14041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010000xxxxxxxxxx
smlalb. */
- return 2211;
+ return 2247;
}
else
{
@@ -14005,7 +14049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010100xxxxxxxxxx
smlslb. */
- return 2217;
+ return 2253;
}
}
else
@@ -14016,7 +14060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010010xxxxxxxxxx
umlalb. */
- return 2336;
+ return 2372;
}
else
{
@@ -14024,7 +14068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010110xxxxxxxxxx
umlslb. */
- return 2342;
+ return 2378;
}
}
}
@@ -14038,7 +14082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010001xxxxxxxxxx
smlalt. */
- return 2214;
+ return 2250;
}
else
{
@@ -14046,7 +14090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010101xxxxxxxxxx
smlslt. */
- return 2220;
+ return 2256;
}
}
else
@@ -14057,7 +14101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010011xxxxxxxxxx
umlalt. */
- return 2339;
+ return 2375;
}
else
{
@@ -14065,7 +14109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx010111xxxxxxxxxx
umlslt. */
- return 2345;
+ return 2381;
}
}
}
@@ -14078,7 +14122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x00x0xxxxx010xxxxxxxxxxxxx
ld1b. */
- return 1570;
+ return 1622;
}
else
{
@@ -14086,7 +14130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x0xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1590;
+ return 1642;
}
}
}
@@ -14107,7 +14151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx010000xxxxxxxxxx
index. */
- return 1556;
+ return 1608;
}
else
{
@@ -14115,7 +14159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx010001xxxxxxxxxx
index. */
- return 1557;
+ return 1609;
}
}
else
@@ -14128,7 +14172,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0001xxxxx01010xxxxxxxxxxx
addvl. */
- return 1343;
+ return 1395;
}
else
{
@@ -14136,7 +14180,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0101xxxxx01010xxxxxxxxxxx
rdvl. */
- return 1867;
+ return 1903;
}
}
else
@@ -14145,7 +14189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x11xxxxx01010xxxxxxxxxxx
addpl. */
- return 1342;
+ return 1394;
}
}
}
@@ -14159,7 +14203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx010010xxxxxxxxxx
index. */
- return 1558;
+ return 1610;
}
else
{
@@ -14167,7 +14211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx010011xxxxxxxxxx
index. */
- return 1555;
+ return 1607;
}
}
else
@@ -14180,7 +14224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0001xxxxx01011xxxxxxxxxxx
addsvl. */
- return 2408;
+ return 2444;
}
else
{
@@ -14188,7 +14232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0101xxxxx01011xxxxxxxxxxx
rdsvl. */
- return 2419;
+ return 2455;
}
}
else
@@ -14197,7 +14241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x11xxxxx01011xxxxxxxxxxx
addspl. */
- return 2407;
+ return 2443;
}
}
}
@@ -14210,7 +14254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x1xxxxx010xxxxxxxxxxxxx
prfw. */
- return 1851;
+ return 1887;
}
else
{
@@ -14218,7 +14262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x1xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1586;
+ return 1638;
}
}
}
@@ -14230,7 +14274,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x00x1xxxxx010xxxxxxxxxxxxx
prfw. */
- return 1853;
+ return 1889;
}
else
{
@@ -14242,7 +14286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx010xxxxxxxxxxxxx
cdot. */
- return 2126;
+ return 2162;
}
else
{
@@ -14250,7 +14294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx010xxxxxxxxxxxxx
cdot. */
- return 2125;
+ return 2161;
}
}
else
@@ -14259,7 +14303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x1xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1591;
+ return 1643;
}
}
}
@@ -14277,7 +14321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xxxxx110xxxxxxxxxxxxx
mad. */
- return 1804;
+ return 1840;
}
else
{
@@ -14293,7 +14337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x010xxxx110x00xxxxxxxxxx
sqincw. */
- return 1925;
+ return 1961;
}
else
{
@@ -14303,7 +14347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx110x00xxxxxxxxxx
sqinch. */
- return 1919;
+ return 1955;
}
else
{
@@ -14311,7 +14355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx110x00xxxxxxxxxx
sqincd. */
- return 1916;
+ return 1952;
}
}
}
@@ -14323,7 +14367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x011xxxx110x00xxxxxxxxxx
incw. */
- return 1553;
+ return 1605;
}
else
{
@@ -14333,7 +14377,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx110x00xxxxxxxxxx
inch. */
- return 1549;
+ return 1601;
}
else
{
@@ -14341,7 +14385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx110x00xxxxxxxxxx
incd. */
- return 1547;
+ return 1599;
}
}
}
@@ -14354,7 +14398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x01xxxxx110x10xxxxxxxxxx
sqdecw. */
- return 1911;
+ return 1947;
}
else
{
@@ -14364,7 +14408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0011xxxxx110x10xxxxxxxxxx
sqdech. */
- return 1905;
+ return 1941;
}
else
{
@@ -14372,7 +14416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0111xxxxx110x10xxxxxxxxxx
sqdecd. */
- return 1902;
+ return 1938;
}
}
}
@@ -14389,7 +14433,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x010xxxx110x01xxxxxxxxxx
uqincw. */
- return 2074;
+ return 2110;
}
else
{
@@ -14399,7 +14443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx110x01xxxxxxxxxx
uqinch. */
- return 2068;
+ return 2104;
}
else
{
@@ -14407,7 +14451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx110x01xxxxxxxxxx
uqincd. */
- return 2065;
+ return 2101;
}
}
}
@@ -14419,7 +14463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x011xxxx110x01xxxxxxxxxx
decw. */
- return 1428;
+ return 1480;
}
else
{
@@ -14429,7 +14473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx110x01xxxxxxxxxx
dech. */
- return 1424;
+ return 1476;
}
else
{
@@ -14437,7 +14481,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx110x01xxxxxxxxxx
decd. */
- return 1422;
+ return 1474;
}
}
}
@@ -14450,7 +14494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x01xxxxx110x11xxxxxxxxxx
uqdecw. */
- return 2060;
+ return 2096;
}
else
{
@@ -14460,7 +14504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0011xxxxx110x11xxxxxxxxxx
uqdech. */
- return 2054;
+ return 2090;
}
else
{
@@ -14468,7 +14512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0111xxxxx110x11xxxxxxxxxx
uqdecd. */
- return 2051;
+ return 2087;
}
}
}
@@ -14487,7 +14531,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0000xxxxx110xxxxxxxxxxxxx
prfb. */
- return 1830;
+ return 1866;
}
else
{
@@ -14495,7 +14539,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0100xxxxx110xxxxxxxxxxxxx
prfh. */
- return 1845;
+ return 1881;
}
}
else
@@ -14506,7 +14550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0001xxxxx110xxxxxxxxxxxxx
ld1b. */
- return 1572;
+ return 1624;
}
else
{
@@ -14514,7 +14558,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0101xxxxx110xxxxxxxxxxxxx
ld1h. */
- return 1594;
+ return 1646;
}
}
}
@@ -14526,7 +14570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x001xxxxxx110xxxxxxxxxxxxx
ld1rb. */
- return 1601;
+ return 1653;
}
else
{
@@ -14534,7 +14578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x011xxxxxx110xxxxxxxxxxxxx
ld1rh. */
- return 1605;
+ return 1657;
}
}
}
@@ -14555,7 +14599,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx110000xxxxxxxxxx
sclamp. */
- return 2464;
+ return 2490;
}
else
{
@@ -14563,7 +14607,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx110100xxxxxxxxxx
mlapt. */
- return 3478;
+ return 3578;
}
}
else
@@ -14576,7 +14620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x0xxxxx110010xxxxxxxxxx
sdot. */
- return 2477;
+ return 2503;
}
else
{
@@ -14584,7 +14628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x01x0xxxxx110010xxxxxxxxxx
sdot. */
- return 2476;
+ return 2502;
}
}
else
@@ -14593,7 +14637,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx110110xxxxxxxxxx
madpt. */
- return 3477;
+ return 3577;
}
}
}
@@ -14605,7 +14649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx110x01xxxxxxxxxx
uclamp. */
- return 2465;
+ return 2491;
}
else
{
@@ -14615,7 +14659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x0xxxxx110x11xxxxxxxxxx
udot. */
- return 2483;
+ return 2509;
}
else
{
@@ -14623,7 +14667,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x01x0xxxxx110x11xxxxxxxxxx
udot. */
- return 2482;
+ return 2508;
}
}
}
@@ -14638,7 +14682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0000xxxxx110xxxxxxxxxxxxx
ldnt1b. */
- return 2157;
+ return 2193;
}
else
{
@@ -14646,7 +14690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0100xxxxx110xxxxxxxxxxxxx
ldnt1h. */
- return 2160;
+ return 2196;
}
}
else
@@ -14657,7 +14701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0010xxxxx110xxxxxxxxxxxxx
ld1b. */
- return 1571;
+ return 1623;
}
else
{
@@ -14665,7 +14709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0110xxxxx110xxxxxxxxxxxxx
ld1h. */
- return 1592;
+ return 1644;
}
}
}
@@ -14680,7 +14724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x0001xxxxx110xxxxxxxxxxxxx
ld1b. */
- return 1577;
+ return 1629;
}
else
{
@@ -14694,7 +14738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1100x0xxxxxxxxxx
smullb. */
- return 2222;
+ return 2258;
}
else
{
@@ -14702,7 +14746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1101x0xxxxxxxxxx
umullb. */
- return 2347;
+ return 2383;
}
}
else
@@ -14713,7 +14757,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1100x1xxxxxxxxxx
smullt. */
- return 2225;
+ return 2261;
}
else
{
@@ -14721,7 +14765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1101x1xxxxxxxxxx
umullt. */
- return 2350;
+ return 2386;
}
}
}
@@ -14731,7 +14775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0101xxxxx110xxxxxxxxxxxxx
ld1h. */
- return 1598;
+ return 1650;
}
}
}
@@ -14743,7 +14787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x0011xxxxx110xxxxxxxxxxxxx
prfw. */
- return 1854;
+ return 1890;
}
else
{
@@ -14757,7 +14801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1100x0xxxxxxxxxx
smullb. */
- return 2223;
+ return 2259;
}
else
{
@@ -14765,7 +14809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1101x0xxxxxxxxxx
umullb. */
- return 2348;
+ return 2384;
}
}
else
@@ -14776,7 +14820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1100x1xxxxxxxxxx
smullt. */
- return 2226;
+ return 2262;
}
else
{
@@ -14784,7 +14828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1101x1xxxxxxxxxx
umullt. */
- return 2351;
+ return 2387;
}
}
}
@@ -14794,7 +14838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0111xxxxx110xxxxxxxxxxxxx
ld1h. */
- return 1593;
+ return 1645;
}
}
}
@@ -14829,7 +14873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000000001xxxxxxxxxxxxx
saddv. */
- return 1874;
+ return 1910;
}
else
{
@@ -14837,7 +14881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx000001001xxxxxxxxxxxxx
uaddv. */
- return 2027;
+ return 2063;
}
}
else
@@ -14846,7 +14890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx01000x001xxxxxxxxxxxxx
movprfx. */
- return 1808;
+ return 1844;
}
}
else
@@ -14859,7 +14903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001000001xxxxxxxxxxxxx
smaxv. */
- return 1892;
+ return 1928;
}
else
{
@@ -14867,7 +14911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011000001xxxxxxxxxxxxx
orv. */
- return 1825;
+ return 1861;
}
}
else
@@ -14878,7 +14922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001001001xxxxxxxxxxxxx
umaxv. */
- return 2042;
+ return 2078;
}
else
{
@@ -14886,7 +14930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011001001xxxxxxxxxxxxx
eorv. */
- return 1439;
+ return 1491;
}
}
}
@@ -14901,7 +14945,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx00x100001xxxxxxxxxxxxx
smaxqv. */
- return 3379;
+ return 3479;
}
else
{
@@ -14909,7 +14953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx01x100001xxxxxxxxxxxxx
orqv. */
- return 3390;
+ return 3490;
}
}
else
@@ -14920,7 +14964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0101001xxxxxxxxxxxxx
addqv. */
- return 3377;
+ return 3477;
}
else
{
@@ -14930,7 +14974,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx001101001xxxxxxxxxxxxx
umaxqv. */
- return 3381;
+ return 3481;
}
else
{
@@ -14938,7 +14982,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx011101001xxxxxxxxxxxxx
eorqv. */
- return 3383;
+ return 3483;
}
}
}
@@ -14956,7 +15000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx00x010001xxxxxxxxxxxxx
sminv. */
- return 1895;
+ return 1931;
}
else
{
@@ -14964,7 +15008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx01x010001xxxxxxxxxxxxx
andv. */
- return 1352;
+ return 1404;
}
}
else
@@ -14975,7 +15019,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx00x110001xxxxxxxxxxxxx
sminqv. */
- return 3380;
+ return 3480;
}
else
{
@@ -14983,7 +15027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx01x110001xxxxxxxxxxxxx
andqv. */
- return 3378;
+ return 3478;
}
}
}
@@ -14995,7 +15039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xx011001xxxxxxxxxxxxx
uminv. */
- return 2045;
+ return 2081;
}
else
{
@@ -15003,7 +15047,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xx111001xxxxxxxxxxxxx
uminqv. */
- return 3382;
+ return 3482;
}
}
}
@@ -15016,7 +15060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x0xxxxx001xxxxxxxxxxxxx
ldff1sb. */
- return 1723;
+ return 1767;
}
else
{
@@ -15024,7 +15068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x0xxxxx001xxxxxxxxxxxxx
ldff1sh. */
- return 1734;
+ return 1775;
}
}
}
@@ -15038,7 +15082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx0010xxxxxxxxxxxx
cmla. */
- return 2127;
+ return 2163;
}
else
{
@@ -15046,7 +15090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx0011xxxxxxxxxxxx
sqrdcmlah. */
- return 2259;
+ return 2295;
}
}
else
@@ -15057,7 +15101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x00x0xxxxx001xxxxxxxxxxxxx
ldff1sb. */
- return 1730;
+ return 1771;
}
else
{
@@ -15065,7 +15109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x0xxxxx001xxxxxxxxxxxxx
ldff1sh. */
- return 1740;
+ return 1779;
}
}
}
@@ -15088,7 +15132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0001xxxxx001x00xxxxxxxxxx
and. */
- return 1347;
+ return 1399;
}
else
{
@@ -15096,7 +15140,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0101xxxxx001x00xxxxxxxxxx
eor. */
- return 1434;
+ return 1486;
}
}
else
@@ -15107,7 +15151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0011xxxxx001x00xxxxxxxxxx
orr. */
- return 1820;
+ return 1856;
}
else
{
@@ -15115,7 +15159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0111xxxxx001x00xxxxxxxxxx
bic. */
- return 1360;
+ return 1412;
}
}
}
@@ -15127,7 +15171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x01xxxxx001x10xxxxxxxxxx
eor3. */
- return 2130;
+ return 2166;
}
else
{
@@ -15135,7 +15179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0x11xxxxx001x10xxxxxxxxxx
bcax. */
- return 2119;
+ return 2155;
}
}
}
@@ -15147,7 +15191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx001x01xxxxxxxxxx
xar. */
- return 2392;
+ return 2428;
}
else
{
@@ -15159,7 +15203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0001xxxxx001x11xxxxxxxxxx
bsl. */
- return 2120;
+ return 2156;
}
else
{
@@ -15167,7 +15211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0101xxxxx001x11xxxxxxxxxx
bsl2n. */
- return 2122;
+ return 2158;
}
}
else
@@ -15178,7 +15222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0011xxxxx001x11xxxxxxxxxx
bsl1n. */
- return 2121;
+ return 2157;
}
else
{
@@ -15186,7 +15230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0111xxxxx001x11xxxxxxxxxx
nbsl. */
- return 2177;
+ return 2213;
}
}
}
@@ -15200,7 +15244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x1xxxxx001xxxxxxxxxxxxx
prfh. */
- return 1844;
+ return 1880;
}
else
{
@@ -15208,7 +15252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x1xxxxx001xxxxxxxxxxxxx
ldff1sh. */
- return 1735;
+ return 1776;
}
}
}
@@ -15220,7 +15264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x00x1xxxxx001xxxxxxxxxxxxx
prfh. */
- return 1846;
+ return 1882;
}
else
{
@@ -15236,7 +15280,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx0010x0xxxxxxxxxx
sqdmlalb. */
- return 2232;
+ return 2268;
}
else
{
@@ -15244,7 +15288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx0010x0xxxxxxxxxx
sqdmlalb. */
- return 2233;
+ return 2269;
}
}
else
@@ -15255,7 +15299,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx0011x0xxxxxxxxxx
sqdmlslb. */
- return 2239;
+ return 2275;
}
else
{
@@ -15263,7 +15307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx0011x0xxxxxxxxxx
sqdmlslb. */
- return 2240;
+ return 2276;
}
}
}
@@ -15277,7 +15321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx0010x1xxxxxxxxxx
sqdmlalt. */
- return 2236;
+ return 2272;
}
else
{
@@ -15285,7 +15329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx0010x1xxxxxxxxxx
sqdmlalt. */
- return 2237;
+ return 2273;
}
}
else
@@ -15296,7 +15340,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx0011x1xxxxxxxxxx
sqdmlslt. */
- return 2243;
+ return 2279;
}
else
{
@@ -15304,7 +15348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx0011x1xxxxxxxxxx
sqdmlslt. */
- return 2244;
+ return 2280;
}
}
}
@@ -15315,7 +15359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x1xxxxx001xxxxxxxxxxxxx
ldff1sh. */
- return 1741;
+ return 1780;
}
}
}
@@ -15341,7 +15385,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0000101xxxxxxxxxxxxx
sxtb. */
- return 2018;
+ return 2054;
}
else
{
@@ -15349,7 +15393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1000101xxxxxxxxxxxxx
cls. */
- return 1380;
+ return 1432;
}
}
else
@@ -15360,7 +15404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0100101xxxxxxxxxxxxx
sxtw. */
- return 2020;
+ return 2056;
}
else
{
@@ -15368,7 +15412,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1100101xxxxxxxxxxxxx
fabs. */
- return 1442;
+ return 1494;
}
}
}
@@ -15382,7 +15426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0010101xxxxxxxxxxxxx
sxth. */
- return 2019;
+ return 2055;
}
else
{
@@ -15390,7 +15434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1010101xxxxxxxxxxxxx
cnt. */
- return 1409;
+ return 1461;
}
}
else
@@ -15401,7 +15445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0110101xxxxxxxxxxxxx
abs. */
- return 1338;
+ return 1390;
}
else
{
@@ -15409,7 +15453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1110101xxxxxxxxxxxxx
not. */
- return 1817;
+ return 1853;
}
}
}
@@ -15426,7 +15470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0001101xxxxxxxxxxxxx
uxtb. */
- return 2081;
+ return 2117;
}
else
{
@@ -15434,7 +15478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1001101xxxxxxxxxxxxx
clz. */
- return 1381;
+ return 1433;
}
}
else
@@ -15445,7 +15489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0101101xxxxxxxxxxxxx
uxtw. */
- return 2083;
+ return 2119;
}
else
{
@@ -15453,7 +15497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1101101xxxxxxxxxxxxx
fneg. */
- return 1519;
+ return 1571;
}
}
}
@@ -15467,7 +15511,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x0011101xxxxxxxxxxxxx
uxth. */
- return 2082;
+ return 2118;
}
else
{
@@ -15475,7 +15519,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0x1011101xxxxxxxxxxxxx
cnot. */
- return 1408;
+ return 1460;
}
}
else
@@ -15484,7 +15528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xx111101xxxxxxxxxxxxx
neg. */
- return 1814;
+ return 1850;
}
}
}
@@ -15501,7 +15545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0001xxxxx1010xxxxxxxxxxxx
adr. */
- return 1344;
+ return 1396;
}
else
{
@@ -15509,7 +15553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0011xxxxx1010xxxxxxxxxxxx
adr. */
- return 1345;
+ return 1397;
}
}
else
@@ -15518,7 +15562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01x1xxxxx1010xxxxxxxxxxxx
adr. */
- return 1346;
+ return 1398;
}
}
else
@@ -15531,7 +15575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx101100xxxxxxxxxx
ftssel. */
- return 1545;
+ return 1597;
}
else
{
@@ -15539,7 +15583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx101110xxxxxxxxxx
fexpa. */
- return 1489;
+ return 1541;
}
}
else
@@ -15548,7 +15592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx1011x1xxxxxxxxxx
movprfx. */
- return 1807;
+ return 1843;
}
}
}
@@ -15565,7 +15609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0000xxxxx101xxxxxxxxxxxxx
ldnt1b. */
- return 2156;
+ return 2192;
}
else
{
@@ -15573,7 +15617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0100xxxxx101xxxxxxxxxxxxx
ldnt1h. */
- return 2159;
+ return 2195;
}
}
else
@@ -15584,7 +15628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0001xxxxx101xxxxxxxxxxxxx
ldff1sb. */
- return 1732;
+ return 1773;
}
else
{
@@ -15592,7 +15636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0101xxxxx101xxxxxxxxxxxxx
ldff1sh. */
- return 1744;
+ return 1783;
}
}
}
@@ -15604,7 +15648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x001xxxxxx101xxxxxxxxxxxxx
ld1rb. */
- return 1600;
+ return 1652;
}
else
{
@@ -15612,7 +15656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x011xxxxxx101xxxxxxxxxxxxx
ld1rh. */
- return 1604;
+ return 1656;
}
}
}
@@ -15635,7 +15679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0x0000101xxxxxxxxxxxxx
urecpe. */
- return 2367;
+ return 2403;
}
else
{
@@ -15643,7 +15687,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0x1000101xxxxxxxxxxxxx
sqabs. */
- return 2229;
+ return 2265;
}
}
else
@@ -15654,7 +15698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx00x100101xxxxxxxxxxxxx
sadalp. */
- return 2193;
+ return 2229;
}
else
{
@@ -15662,7 +15706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx01x100101xxxxxxxxxxxxx
smaxp. */
- return 2207;
+ return 2243;
}
}
}
@@ -15672,7 +15716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxx10101xxxxxxxxxxxxx
sminp. */
- return 2208;
+ return 2244;
}
}
else
@@ -15689,7 +15733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx000001101xxxxxxxxxxxxx
ursqrte. */
- return 2372;
+ return 2408;
}
else
{
@@ -15697,7 +15741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx010001101xxxxxxxxxxxxx
addp. */
- return 2118;
+ return 2154;
}
}
else
@@ -15706,7 +15750,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0x1001101xxxxxxxxxxxxx
sqneg. */
- return 2256;
+ return 2292;
}
}
else
@@ -15717,7 +15761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx00x101101xxxxxxxxxxxxx
uadalp. */
- return 2324;
+ return 2360;
}
else
{
@@ -15725,7 +15769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx01x101101xxxxxxxxxxxxx
umaxp. */
- return 2332;
+ return 2368;
}
}
}
@@ -15735,7 +15779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxx11101xxxxxxxxxxxxx
uminp. */
- return 2333;
+ return 2369;
}
}
}
@@ -15747,7 +15791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0x00xxxxx101xxxxxxxxxxxxx
ld1q. */
- return 3414;
+ return 3514;
}
else
{
@@ -15757,7 +15801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0010xxxxx101xxxxxxxxxxxxx
ldff1sb. */
- return 1731;
+ return 1772;
}
else
{
@@ -15765,7 +15809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0110xxxxx101xxxxxxxxxxxxx
ldff1sh. */
- return 1742;
+ return 1781;
}
}
}
@@ -15780,7 +15824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x0001xxxxx101xxxxxxxxxxxxx
ldff1sb. */
- return 1733;
+ return 1774;
}
else
{
@@ -15794,7 +15838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1010x0xxxxxxxxxx
smlslb. */
- return 2215;
+ return 2251;
}
else
{
@@ -15802,7 +15846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1011x0xxxxxxxxxx
umlslb. */
- return 2340;
+ return 2376;
}
}
else
@@ -15813,7 +15857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1010x1xxxxxxxxxx
smlslt. */
- return 2218;
+ return 2254;
}
else
{
@@ -15821,7 +15865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1011x1xxxxxxxxxx
umlslt. */
- return 2343;
+ return 2379;
}
}
}
@@ -15831,7 +15875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0101xxxxx101xxxxxxxxxxxxx
ldff1sh. */
- return 1745;
+ return 1784;
}
}
}
@@ -15843,7 +15887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x0011xxxxx101xxxxxxxxxxxxx
prfh. */
- return 1847;
+ return 1883;
}
else
{
@@ -15857,7 +15901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1010x0xxxxxxxxxx
smlslb. */
- return 2216;
+ return 2252;
}
else
{
@@ -15865,7 +15909,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1011x0xxxxxxxxxx
umlslb. */
- return 2341;
+ return 2377;
}
}
else
@@ -15876,7 +15920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1010x1xxxxxxxxxx
smlslt. */
- return 2219;
+ return 2255;
}
else
{
@@ -15884,7 +15928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1011x1xxxxxxxxxx
umlslt. */
- return 2344;
+ return 2380;
}
}
}
@@ -15894,7 +15938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0111xxxxx101xxxxxxxxxxxxx
ldff1sh. */
- return 1743;
+ return 1782;
}
}
}
@@ -15916,7 +15960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xxxxx011xxxxxxxxxxxxx
mls. */
- return 1806;
+ return 1842;
}
else
{
@@ -15926,7 +15970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x0xxxxx011xxxxxxxxxxxxx
ldff1b. */
- return 1689;
+ return 1741;
}
else
{
@@ -15934,7 +15978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x0xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1709;
+ return 1756;
}
}
}
@@ -15952,7 +15996,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011000xxxxxxxxxx
sqdmlalb. */
- return 2234;
+ return 2270;
}
else
{
@@ -15960,7 +16004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011100xxxxxxxxxx
sqrdmlah. */
- return 2263;
+ return 2299;
}
}
else
@@ -15971,7 +16015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011010xxxxxxxxxx
sqdmlslb. */
- return 2241;
+ return 2277;
}
else
{
@@ -15979,7 +16023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011110xxxxxxxxxx
usdot. */
- return 3040;
+ return 3135;
}
}
}
@@ -15993,7 +16037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011001xxxxxxxxxx
sqdmlalt. */
- return 2238;
+ return 2274;
}
else
{
@@ -16001,7 +16045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011101xxxxxxxxxx
sqrdmlsh. */
- return 2267;
+ return 2303;
}
}
else
@@ -16010,7 +16054,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx011x11xxxxxxxxxx
sqdmlslt. */
- return 2245;
+ return 2281;
}
}
}
@@ -16022,7 +16066,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x00x0xxxxx011xxxxxxxxxxxxx
ldff1b. */
- return 1698;
+ return 1746;
}
else
{
@@ -16030,7 +16074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x0xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1717;
+ return 1761;
}
}
}
@@ -16051,7 +16095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx011000xxxxxxxxxx
mul. */
- return 2176;
+ return 2212;
}
else
{
@@ -16059,7 +16103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx011100xxxxxxxxxx
sqdmulh. */
- return 2249;
+ return 2285;
}
}
else
@@ -16068,7 +16112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx011x10xxxxxxxxxx
smulh. */
- return 2221;
+ return 2257;
}
}
else
@@ -16081,7 +16125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx011001xxxxxxxxxx
pmul. */
- return 2179;
+ return 2215;
}
else
{
@@ -16089,7 +16133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx011101xxxxxxxxxx
sqrdmulh. */
- return 2271;
+ return 2307;
}
}
else
@@ -16098,7 +16142,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx1xxxxx011x11xxxxxxxxxx
umulh. */
- return 2346;
+ return 2382;
}
}
}
@@ -16110,7 +16154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x00x1xxxxx011xxxxxxxxxxxxx
prfd. */
- return 1837;
+ return 1873;
}
else
{
@@ -16118,7 +16162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x01x1xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1710;
+ return 1757;
}
}
}
@@ -16130,7 +16174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x00x1xxxxx011xxxxxxxxxxxxx
prfd. */
- return 1839;
+ return 1875;
}
else
{
@@ -16144,7 +16188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx0110xxxxxxxxxxxx
cmla. */
- return 2128;
+ return 2164;
}
else
{
@@ -16152,7 +16196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx0110xxxxxxxxxxxx
cmla. */
- return 2129;
+ return 2165;
}
}
else
@@ -16163,7 +16207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx0111xxxxxxxxxxxx
sqrdcmlah. */
- return 2257;
+ return 2293;
}
else
{
@@ -16171,7 +16215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx0111xxxxxxxxxxxx
sqrdcmlah. */
- return 2258;
+ return 2294;
}
}
}
@@ -16181,7 +16225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x01x1xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1718;
+ return 1762;
}
}
}
@@ -16199,7 +16243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0xx0xxxxx111xxxxxxxxxxxxx
msb. */
- return 1809;
+ return 1845;
}
else
{
@@ -16219,7 +16263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00010xxxx111000xxxxxxxxxx
cntb. */
- return 1410;
+ return 1462;
}
else
{
@@ -16227,7 +16271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01010xxxx111000xxxxxxxxxx
cntw. */
- return 1414;
+ return 1466;
}
}
else
@@ -16238,7 +16282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx111000xxxxxxxxxx
cnth. */
- return 1412;
+ return 1464;
}
else
{
@@ -16246,7 +16290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx111000xxxxxxxxxx
cntd. */
- return 1411;
+ return 1463;
}
}
}
@@ -16260,7 +16304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00011xxxx111000xxxxxxxxxx
incb. */
- return 1546;
+ return 1598;
}
else
{
@@ -16268,7 +16312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01011xxxx111000xxxxxxxxxx
incw. */
- return 1554;
+ return 1606;
}
}
else
@@ -16279,7 +16323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx111000xxxxxxxxxx
inch. */
- return 1550;
+ return 1602;
}
else
{
@@ -16287,7 +16331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx111000xxxxxxxxxx
incd. */
- return 1548;
+ return 1600;
}
}
}
@@ -16304,7 +16348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00010xxxx111100xxxxxxxxxx
sqincb. */
- return 1915;
+ return 1951;
}
else
{
@@ -16312,7 +16356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01010xxxx111100xxxxxxxxxx
sqincw. */
- return 1927;
+ return 1963;
}
}
else
@@ -16323,7 +16367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx111100xxxxxxxxxx
sqinch. */
- return 1921;
+ return 1957;
}
else
{
@@ -16331,7 +16375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx111100xxxxxxxxxx
sqincd. */
- return 1918;
+ return 1954;
}
}
}
@@ -16345,7 +16389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00011xxxx111100xxxxxxxxxx
sqincb. */
- return 1914;
+ return 1950;
}
else
{
@@ -16353,7 +16397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01011xxxx111100xxxxxxxxxx
sqincw. */
- return 1926;
+ return 1962;
}
}
else
@@ -16364,7 +16408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx111100xxxxxxxxxx
sqinch. */
- return 1920;
+ return 1956;
}
else
{
@@ -16372,7 +16416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx111100xxxxxxxxxx
sqincd. */
- return 1917;
+ return 1953;
}
}
}
@@ -16390,7 +16434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00010xxxx111x10xxxxxxxxxx
sqdecb. */
- return 1901;
+ return 1937;
}
else
{
@@ -16398,7 +16442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01010xxxx111x10xxxxxxxxxx
sqdecw. */
- return 1913;
+ return 1949;
}
}
else
@@ -16409,7 +16453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx111x10xxxxxxxxxx
sqdech. */
- return 1907;
+ return 1943;
}
else
{
@@ -16417,7 +16461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx111x10xxxxxxxxxx
sqdecd. */
- return 1904;
+ return 1940;
}
}
}
@@ -16431,7 +16475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00011xxxx111x10xxxxxxxxxx
sqdecb. */
- return 1900;
+ return 1936;
}
else
{
@@ -16439,7 +16483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01011xxxx111x10xxxxxxxxxx
sqdecw. */
- return 1912;
+ return 1948;
}
}
else
@@ -16450,7 +16494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx111x10xxxxxxxxxx
sqdech. */
- return 1906;
+ return 1942;
}
else
{
@@ -16458,7 +16502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx111x10xxxxxxxxxx
sqdecd. */
- return 1903;
+ return 1939;
}
}
}
@@ -16478,7 +16522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0001xxxxx111001xxxxxxxxxx
decb. */
- return 1421;
+ return 1473;
}
else
{
@@ -16486,7 +16530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0101xxxxx111001xxxxxxxxxx
decw. */
- return 1429;
+ return 1481;
}
}
else
@@ -16497,7 +16541,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0011xxxxx111001xxxxxxxxxx
dech. */
- return 1425;
+ return 1477;
}
else
{
@@ -16505,7 +16549,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x0111xxxxx111001xxxxxxxxxx
decd. */
- return 1423;
+ return 1475;
}
}
}
@@ -16521,7 +16565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00010xxxx111101xxxxxxxxxx
uqincb. */
- return 2063;
+ return 2099;
}
else
{
@@ -16529,7 +16573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01010xxxx111101xxxxxxxxxx
uqincw. */
- return 2075;
+ return 2111;
}
}
else
@@ -16540,7 +16584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx111101xxxxxxxxxx
uqinch. */
- return 2069;
+ return 2105;
}
else
{
@@ -16548,7 +16592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx111101xxxxxxxxxx
uqincd. */
- return 2066;
+ return 2102;
}
}
}
@@ -16562,7 +16606,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00011xxxx111101xxxxxxxxxx
uqincb. */
- return 2064;
+ return 2100;
}
else
{
@@ -16570,7 +16614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01011xxxx111101xxxxxxxxxx
uqincw. */
- return 2076;
+ return 2112;
}
}
else
@@ -16581,7 +16625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx111101xxxxxxxxxx
uqinch. */
- return 2070;
+ return 2106;
}
else
{
@@ -16589,7 +16633,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx111101xxxxxxxxxx
uqincd. */
- return 2067;
+ return 2103;
}
}
}
@@ -16607,7 +16651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00010xxxx111x11xxxxxxxxxx
uqdecb. */
- return 2049;
+ return 2085;
}
else
{
@@ -16615,7 +16659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01010xxxx111x11xxxxxxxxxx
uqdecw. */
- return 2061;
+ return 2097;
}
}
else
@@ -16626,7 +16670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00110xxxx111x11xxxxxxxxxx
uqdech. */
- return 2055;
+ return 2091;
}
else
{
@@ -16634,7 +16678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01110xxxx111x11xxxxxxxxxx
uqdecd. */
- return 2052;
+ return 2088;
}
}
}
@@ -16648,7 +16692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00011xxxx111x11xxxxxxxxxx
uqdecb. */
- return 2050;
+ return 2086;
}
else
{
@@ -16656,7 +16700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01011xxxx111x11xxxxxxxxxx
uqdecw. */
- return 2062;
+ return 2098;
}
}
else
@@ -16667,7 +16711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x00111xxxx111x11xxxxxxxxxx
uqdech. */
- return 2056;
+ return 2092;
}
else
{
@@ -16675,7 +16719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x01111xxxx111x11xxxxxxxxxx
uqdecd. */
- return 2053;
+ return 2089;
}
}
}
@@ -16695,7 +16739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0000xxxxx111xxxxxxxxxxxxx
prfb. */
- return 1834;
+ return 1870;
}
else
{
@@ -16703,7 +16747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0100xxxxx111xxxxxxxxxxxxx
prfh. */
- return 1848;
+ return 1884;
}
}
else
@@ -16714,7 +16758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0001xxxxx111xxxxxxxxxxxxx
ldff1b. */
- return 1700;
+ return 1748;
}
else
{
@@ -16722,7 +16766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x0101xxxxx111xxxxxxxxxxxxx
ldff1h. */
- return 1721;
+ return 1765;
}
}
}
@@ -16734,7 +16778,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x001xxxxxx111xxxxxxxxxxxxx
ld1rb. */
- return 1602;
+ return 1654;
}
else
{
@@ -16742,7 +16786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x011xxxxxx111xxxxxxxxxxxxx
ld1rh. */
- return 1606;
+ return 1658;
}
}
}
@@ -16761,7 +16805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111x00xxxxxxxxxx
zipq1. */
- return 3396;
+ return 3496;
}
else
{
@@ -16771,7 +16815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111010xxxxxxxxxx
uzpq1. */
- return 3394;
+ return 3494;
}
else
{
@@ -16779,7 +16823,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111110xxxxxxxxxx
tblq. */
- return 3391;
+ return 3491;
}
}
}
@@ -16791,7 +16835,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111x01xxxxxxxxxx
zipq2. */
- return 3397;
+ return 3497;
}
else
{
@@ -16799,7 +16843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0xx0xxxxx111x11xxxxxxxxxx
uzpq2. */
- return 3395;
+ return 3495;
}
}
}
@@ -16813,7 +16857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0000xxxxx111xxxxxxxxxxxxx
prfb. */
- return 1836;
+ return 1872;
}
else
{
@@ -16821,7 +16865,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0100xxxxx111xxxxxxxxxxxxx
prfh. */
- return 1850;
+ return 1886;
}
}
else
@@ -16832,7 +16876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0010xxxxx111xxxxxxxxxxxxx
ldff1b. */
- return 1699;
+ return 1747;
}
else
{
@@ -16840,7 +16884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0110xxxxx111xxxxxxxxxxxxx
ldff1h. */
- return 1719;
+ return 1763;
}
}
}
@@ -16859,7 +16903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx111x00xxxxxxxxxx
sqdmulh. */
- return 2246;
+ return 2282;
}
else
{
@@ -16867,7 +16911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx111x10xxxxxxxxxx
mul. */
- return 2173;
+ return 2209;
}
}
else
@@ -16876,7 +16920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x00x1xxxxx111xx1xxxxxxxxxx
sqrdmulh. */
- return 2268;
+ return 2304;
}
}
else
@@ -16887,7 +16931,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0001xxxxx111xxxxxxxxxxxxx
ldff1b. */
- return 1701;
+ return 1749;
}
else
{
@@ -16895,7 +16939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0011xxxxx111xxxxxxxxxxxxx
prfd. */
- return 1840;
+ return 1876;
}
}
}
@@ -16913,7 +16957,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1110x0xxxxxxxxxx
sqdmullb. */
- return 2250;
+ return 2286;
}
else
{
@@ -16923,7 +16967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx111100xxxxxxxxxx
sqdmulh. */
- return 2247;
+ return 2283;
}
else
{
@@ -16931,7 +16975,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx111110xxxxxxxxxx
mul. */
- return 2174;
+ return 2210;
}
}
}
@@ -16943,7 +16987,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1110x1xxxxxxxxxx
sqdmullt. */
- return 2253;
+ return 2289;
}
else
{
@@ -16951,7 +16995,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0101xxxxx1111x1xxxxxxxxxx
sqrdmulh. */
- return 2269;
+ return 2305;
}
}
}
@@ -16961,7 +17005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0101xxxxx111xxxxxxxxxxxxx
ldff1h. */
- return 1722;
+ return 1766;
}
}
else
@@ -16976,7 +17020,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1110x0xxxxxxxxxx
sqdmullb. */
- return 2251;
+ return 2287;
}
else
{
@@ -16986,7 +17030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx111100xxxxxxxxxx
sqdmulh. */
- return 2248;
+ return 2284;
}
else
{
@@ -16994,7 +17038,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx111110xxxxxxxxxx
mul. */
- return 2175;
+ return 2211;
}
}
}
@@ -17006,7 +17050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1110x1xxxxxxxxxx
sqdmullt. */
- return 2254;
+ return 2290;
}
else
{
@@ -17014,7 +17058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x0111xxxxx1111x1xxxxxxxxxx
sqrdmulh. */
- return 2270;
+ return 2306;
}
}
}
@@ -17024,7 +17068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x0111xxxxx111xxxxxxxxxxxxx
ldff1h. */
- return 1720;
+ return 1764;
}
}
}
@@ -17054,7 +17098,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx000xxxxxxxx0xxxx
cmphs. */
- return 1394;
+ return 1446;
}
else
{
@@ -17062,7 +17106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx000xxxxxxxx1xxxx
cmphi. */
- return 1391;
+ return 1443;
}
}
else
@@ -17073,7 +17117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00x0xxxxx000xxxxxxxxxxxxx
ld1rqb. */
- return 1608;
+ return 1660;
}
else
{
@@ -17081,7 +17125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01x0xxxxx000xxxxxxxxxxxxx
ld1rqh. */
- return 1612;
+ return 1664;
}
}
}
@@ -17095,7 +17139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx010xxxxxxxx0xxxx
cmpge. */
- return 1385;
+ return 1437;
}
else
{
@@ -17103,7 +17147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx010xxxxxxxx1xxxx
cmpgt. */
- return 1388;
+ return 1440;
}
}
else
@@ -17116,7 +17160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0000xxxxx010xxxxxxxxxxxxx
ld1b. */
- return 1566;
+ return 1618;
}
else
{
@@ -17124,7 +17168,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0100xxxxx010xxxxxxxxxxxxx
ld1sw. */
- return 1646;
+ return 1698;
}
}
else
@@ -17135,7 +17179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0010xxxxx010xxxxxxxxxxxxx
ld1b. */
- return 1568;
+ return 1620;
}
else
{
@@ -17143,7 +17187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0110xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1588;
+ return 1640;
}
}
}
@@ -17161,7 +17205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx001xxxxxxxx0xxxx
cmpeq. */
- return 1382;
+ return 1434;
}
else
{
@@ -17169,7 +17213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx001xxxxxxxx1xxxx
cmpne. */
- return 1405;
+ return 1457;
}
}
else
@@ -17180,7 +17224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00x0xxxxx001xxxxxxxxxxxxx
ld1rqb. */
- return 1607;
+ return 1659;
}
else
{
@@ -17188,7 +17232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01x0xxxxx001xxxxxxxxxxxxx
ld1rqh. */
- return 1611;
+ return 1663;
}
}
}
@@ -17202,7 +17246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx011xxxxxxxx0xxxx
cmplt. */
- return 1403;
+ return 1455;
}
else
{
@@ -17210,7 +17254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx011xxxxxxxx1xxxx
cmple. */
- return 1397;
+ return 1449;
}
}
else
@@ -17223,7 +17267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0000xxxxx011xxxxxxxxxxxxx
ldff1b. */
- return 1690;
+ return 1742;
}
else
{
@@ -17231,7 +17275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0100xxxxx011xxxxxxxxxxxxx
ldff1sw. */
- return 1746;
+ return 1785;
}
}
else
@@ -17242,7 +17286,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0010xxxxx011xxxxxxxxxxxxx
ldff1b. */
- return 1694;
+ return 1744;
}
else
{
@@ -17250,7 +17294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0110xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1713;
+ return 1759;
}
}
}
@@ -17265,7 +17309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xxxxx0xxxxxxxxxxxxxxx
fcmla. */
- return 1451;
+ return 1503;
}
else
{
@@ -17279,7 +17323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0x00xxxxx000xxxxxxxxxxxxx
st3q. */
- return 3423;
+ return 3523;
}
else
{
@@ -17289,7 +17333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx000xxxxxxxxxxxxx
st2q. */
- return 3422;
+ return 3522;
}
else
{
@@ -17297,7 +17341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx000xxxxxxxxxxxxx
st4q. */
- return 3424;
+ return 3524;
}
}
}
@@ -17309,7 +17353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0x00xxxxx010xxxxxxxxxxxxx
st1b. */
- return 1930;
+ return 1966;
}
else
{
@@ -17319,7 +17363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx010xxxxxxxxxxxxx
st1b. */
- return 1934;
+ return 1970;
}
else
{
@@ -17327,7 +17371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx010xxxxxxxxxxxxx
st1h. */
- return 1955;
+ return 1991;
}
}
}
@@ -17344,7 +17388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0000xxxxx001xxxxxxxxxxxxx
stnt1b. */
- return 2308;
+ return 2344;
}
else
{
@@ -17352,7 +17396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0100xxxxx001xxxxxxxxxxxxx
stnt1h. */
- return 2311;
+ return 2347;
}
}
else
@@ -17363,7 +17407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx001xxxxxxxxxxxxx
stnt1b. */
- return 2307;
+ return 2343;
}
else
{
@@ -17371,7 +17415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx001xxxxxxxxxxxxx
stnt1h. */
- return 2310;
+ return 2346;
}
}
}
@@ -17385,7 +17429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0000xxxxx011xxxxxxxxxxxxx
stnt1b. */
- return 2000;
+ return 2036;
}
else
{
@@ -17393,7 +17437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0100xxxxx011xxxxxxxxxxxxx
stnt1h. */
- return 2004;
+ return 2040;
}
}
else
@@ -17404,7 +17448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx011xxxxxxxxxxxxx
st3b. */
- return 1984;
+ return 2020;
}
else
{
@@ -17412,7 +17456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx011xxxxxxxxxxxxx
st3h. */
- return 1988;
+ return 2024;
}
}
}
@@ -17434,7 +17478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x0xx0xxxxx100xxxxxxxx0xxxx
cmpge. */
- return 1386;
+ return 1438;
}
else
{
@@ -17442,7 +17486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x0xx0xxxxx100xxxxxxxx1xxxx
cmpgt. */
- return 1389;
+ return 1441;
}
}
else
@@ -17455,7 +17499,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx110xxxxxxxx0xxxx
cmphs. */
- return 1395;
+ return 1447;
}
else
{
@@ -17463,7 +17507,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx110xxxxxxxx1xxxx
cmphi. */
- return 1392;
+ return 1444;
}
}
else
@@ -17476,7 +17520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0000xxxxx110xxxxxxxxxxxxx
ldnt1b. */
- return 1781;
+ return 1817;
}
else
{
@@ -17484,7 +17528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0100xxxxx110xxxxxxxxxxxxx
ldnt1h. */
- return 1785;
+ return 1821;
}
}
else
@@ -17495,7 +17539,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0010xxxxx110xxxxxxxxxxxxx
ld3b. */
- return 1673;
+ return 1725;
}
else
{
@@ -17503,7 +17547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0110xxxxx110xxxxxxxxxxxxx
ld3h. */
- return 1677;
+ return 1729;
}
}
}
@@ -17523,7 +17567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx00x00x1x0xxxxxxxxxxxxx
fcadd. */
- return 1450;
+ return 1502;
}
else
{
@@ -17531,7 +17575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx01x00x1x0xxxxxxxxxxxxx
faddp. */
- return 2134;
+ return 2170;
}
}
else
@@ -17542,7 +17586,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx1001x0xxxxxxxxxxxxx
fmaxnmp. */
- return 2142;
+ return 2178;
}
else
{
@@ -17550,7 +17594,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx1011x0xxxxxxxxxxxxx
fminnmp. */
- return 2144;
+ return 2180;
}
}
}
@@ -17562,7 +17606,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xxx101x0xxxxxxxxxxxxx
fmaxp. */
- return 2143;
+ return 2179;
}
else
{
@@ -17570,7 +17614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xxx111x0xxxxxxxxxxxxx
fminp. */
- return 2145;
+ return 2181;
}
}
}
@@ -17584,7 +17628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0000xxxxx1x0xxxxxxxxxxxxx
st1b. */
- return 1931;
+ return 1967;
}
else
{
@@ -17592,7 +17636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0100xxxxx1x0xxxxxxxxxxxxx
st1h. */
- return 1950;
+ return 1986;
}
}
else
@@ -17603,7 +17647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx1x0xxxxxxxxxxxxx
st1b. */
- return 1935;
+ return 1971;
}
else
{
@@ -17611,7 +17655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx1x0xxxxxxxxxxxxx
st1h. */
- return 1956;
+ return 1992;
}
}
}
@@ -17631,7 +17675,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx101xxxxxxxx0xxxx
cmpeq. */
- return 1383;
+ return 1435;
}
else
{
@@ -17639,7 +17683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx101xxxxxxxx1xxxx
cmpne. */
- return 1406;
+ return 1458;
}
}
else
@@ -17654,7 +17698,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00000xxxx101xxxxxxxxxxxxx
ld1b. */
- return 1573;
+ return 1625;
}
else
{
@@ -17662,7 +17706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01000xxxx101xxxxxxxxxxxxx
ld1sw. */
- return 1651;
+ return 1703;
}
}
else
@@ -17673,7 +17717,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00100xxxx101xxxxxxxxxxxxx
ld1b. */
- return 1575;
+ return 1627;
}
else
{
@@ -17681,7 +17725,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01100xxxx101xxxxxxxxxxxxx
ld1h. */
- return 1596;
+ return 1648;
}
}
}
@@ -17695,7 +17739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00001xxxx101xxxxxxxxxxxxx
ldnf1b. */
- return 1765;
+ return 1801;
}
else
{
@@ -17703,7 +17747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01001xxxx101xxxxxxxxxxxxx
ldnf1sw. */
- return 1778;
+ return 1814;
}
}
else
@@ -17714,7 +17758,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00101xxxx101xxxxxxxxxxxxx
ldnf1b. */
- return 1767;
+ return 1803;
}
else
{
@@ -17722,7 +17766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01101xxxx101xxxxxxxxxxxxx
ldnf1h. */
- return 1771;
+ return 1807;
}
}
}
@@ -17744,7 +17788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0x0000101xxxxxxxxxxxxx
faddqv. */
- return 3384;
+ return 3484;
}
else
{
@@ -17752,7 +17796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0x1000101xxxxxxxxxxxxx
fcvtnt. */
- return 2137;
+ return 2173;
}
}
else
@@ -17761,7 +17805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx100101xxxxxxxxxxxxx
fmaxnmqv. */
- return 3385;
+ return 3485;
}
}
else
@@ -17776,7 +17820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0000xx010101xxxxxxxxxxxxx
fcvtxnt. */
- return 2140;
+ return 2176;
}
else
{
@@ -17784,7 +17828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0100xx010101xxxxxxxxxxxxx
bfcvtnt. */
- return 3069;
+ return 3164;
}
}
else
@@ -17793,7 +17837,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0x10xx010101xxxxxxxxxxxxx
fcvtnt. */
- return 2138;
+ return 2174;
}
}
else
@@ -17802,7 +17846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx110101xxxxxxxxxxxxx
fmaxqv. */
- return 3386;
+ return 3486;
}
}
}
@@ -17816,7 +17860,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx001101xxxxxxxxxxxxx
fcvtlt. */
- return 2135;
+ return 2171;
}
else
{
@@ -17824,7 +17868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx101101xxxxxxxxxxxxx
fminnmqv. */
- return 3387;
+ return 3487;
}
}
else
@@ -17835,7 +17879,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx011101xxxxxxxxxxxxx
fcvtlt. */
- return 2136;
+ return 2172;
}
else
{
@@ -17843,7 +17887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx0xx111101xxxxxxxxxxxxx
fminqv. */
- return 3388;
+ return 3488;
}
}
}
@@ -17858,7 +17902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0000xxxxx101xxxxxxxxxxxxx
st1b. */
- return 1932;
+ return 1968;
}
else
{
@@ -17866,7 +17910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0100xxxxx101xxxxxxxxxxxxx
st1h. */
- return 1951;
+ return 1987;
}
}
else
@@ -17877,7 +17921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0010xxxxx101xxxxxxxxxxxxx
st1b. */
- return 1939;
+ return 1975;
}
else
{
@@ -17885,7 +17929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0110xxxxx101xxxxxxxxxxxxx
st1h. */
- return 1960;
+ return 1996;
}
}
}
@@ -17903,7 +17947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx111xxxxxxxx0xxxx
cmplo. */
- return 1399;
+ return 1451;
}
else
{
@@ -17911,7 +17955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx0xxxxx111xxxxxxxx1xxxx
cmpls. */
- return 1401;
+ return 1453;
}
}
else
@@ -17926,7 +17970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00000xxxx111xxxxxxxxxxxxx
ldnt1b. */
- return 1782;
+ return 1818;
}
else
{
@@ -17934,7 +17978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01000xxxx111xxxxxxxxxxxxx
ldnt1h. */
- return 1786;
+ return 1822;
}
}
else
@@ -17945,7 +17989,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00100xxxx111xxxxxxxxxxxxx
ld3b. */
- return 1674;
+ return 1726;
}
else
{
@@ -17953,7 +17997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01100xxxx111xxxxxxxxxxxxx
ld3h. */
- return 1678;
+ return 1730;
}
}
}
@@ -17963,7 +18007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0xx01xxxx111xxxxxxxxxxxxx
ld2q. */
- return 3415;
+ return 3515;
}
}
}
@@ -17977,7 +18021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0x000xxxx111xxxxxxxxxxxxx
st1b. */
- return 1937;
+ return 1973;
}
else
{
@@ -17987,7 +18031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x00100xxxx111xxxxxxxxxxxxx
st1b. */
- return 1940;
+ return 1976;
}
else
{
@@ -17995,7 +18039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x01100xxxx111xxxxxxxxxxxxx
st1h. */
- return 1961;
+ return 1997;
}
}
}
@@ -18009,7 +18053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x00001xxxx111xxxxxxxxxxxxx
stnt1b. */
- return 2001;
+ return 2037;
}
else
{
@@ -18017,7 +18061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x01001xxxx111xxxxxxxxxxxxx
stnt1h. */
- return 2005;
+ return 2041;
}
}
else
@@ -18028,7 +18072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x00101xxxx111xxxxxxxxxxxxx
st3b. */
- return 1985;
+ return 2021;
}
else
{
@@ -18036,7 +18080,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x01101xxxx111xxxxxxxxxxxxx
st3h. */
- return 1989;
+ return 2025;
}
}
}
@@ -18059,7 +18103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx1xxxxxxx0xxxxxxxx0xxxx
cmphs. */
- return 1396;
+ return 1448;
}
else
{
@@ -18067,7 +18111,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx1xxxxxxx0xxxxxxxx1xxxx
cmphi. */
- return 1393;
+ return 1445;
}
}
else
@@ -18082,7 +18126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00x1xxxxx000xxxxxxxxxxxxx
ld1rob. */
- return 3045;
+ return 3140;
}
else
{
@@ -18090,7 +18134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01x1xxxxx000xxxxxxxxxxxxx
ld1roh. */
- return 3046;
+ return 3141;
}
}
else
@@ -18099,7 +18143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0xx1xxxxx100xxxxxxxxxxxxx
ld2q. */
- return 3418;
+ return 3518;
}
}
else
@@ -18114,7 +18158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0001xxxxx010xxxxxxxxxxxxx
ld1b. */
- return 1567;
+ return 1619;
}
else
{
@@ -18122,7 +18166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0101xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1587;
+ return 1639;
}
}
else
@@ -18133,7 +18177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0011xxxxx010xxxxxxxxxxxxx
ld1b. */
- return 1569;
+ return 1621;
}
else
{
@@ -18141,7 +18185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0111xxxxx010xxxxxxxxxxxxx
ld1h. */
- return 1589;
+ return 1641;
}
}
}
@@ -18155,7 +18199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0001xxxxx110xxxxxxxxxxxxx
ld2b. */
- return 1665;
+ return 1717;
}
else
{
@@ -18163,7 +18207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0101xxxxx110xxxxxxxxxxxxx
ld2h. */
- return 1669;
+ return 1721;
}
}
else
@@ -18174,7 +18218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0011xxxxx110xxxxxxxxxxxxx
ld4b. */
- return 1681;
+ return 1733;
}
else
{
@@ -18182,7 +18226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0111xxxxx110xxxxxxxxxxxxx
ld4h. */
- return 1685;
+ return 1737;
}
}
}
@@ -18207,7 +18251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x00x1xxxxx000x00xxxxxxxxxx
fmla. */
- return 1504;
+ return 1556;
}
else
{
@@ -18215,7 +18259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x00x1xxxxx000x10xxxxxxxxxx
bfmla. */
- return 3292;
+ return 3392;
}
}
else
@@ -18226,7 +18270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x00x1xxxxx000x01xxxxxxxxxx
fmls. */
- return 1508;
+ return 1560;
}
else
{
@@ -18234,7 +18278,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x00x1xxxxx000x11xxxxxxxxxx
bfmls. */
- return 3293;
+ return 3393;
}
}
}
@@ -18244,7 +18288,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x00x1xxxxx000xxxxxxxxxxxxx
st2q. */
- return 3425;
+ return 3525;
}
}
else
@@ -18261,7 +18305,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0000x0xxxxxxxxxx
fmla. */
- return 1505;
+ return 1557;
}
else
{
@@ -18269,7 +18313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0000x1xxxxxxxxxx
fmls. */
- return 1509;
+ return 1561;
}
}
else
@@ -18278,7 +18322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0001xxxxxxxxxxxx
fcmla. */
- return 1452;
+ return 1504;
}
}
else
@@ -18287,7 +18331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0101xxxxx000xxxxxxxxxxxxx
st3q. */
- return 3426;
+ return 3526;
}
}
else
@@ -18302,7 +18346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx0000x0xxxxxxxxxx
fmla. */
- return 1506;
+ return 1558;
}
else
{
@@ -18310,7 +18354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx0000x1xxxxxxxxxx
fmls. */
- return 1510;
+ return 1562;
}
}
else
@@ -18319,7 +18363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx0001xxxxxxxxxxxx
fcmla. */
- return 1453;
+ return 1505;
}
}
else
@@ -18328,7 +18372,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0111xxxxx000xxxxxxxxxxxxx
st4q. */
- return 3427;
+ return 3527;
}
}
}
@@ -18349,7 +18393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0001xxxxx0100x0xxxxxxxxxx
fdot. */
- return 2473;
+ return 2499;
}
else
{
@@ -18357,7 +18401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0001xxxxx0100x1xxxxxxxxxx
fdot. */
- return 3514;
+ return 3614;
}
}
else
@@ -18366,7 +18410,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0001xxxxx0101xxxxxxxxxxxx
fmlalb. */
- return 3516;
+ return 3616;
}
}
else
@@ -18375,7 +18419,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0001xxxxx010xxxxxxxxxxxxx
st1b. */
- return 1933;
+ return 1969;
}
}
else
@@ -18390,7 +18434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0100x0xxxxxxxxxx
fmlalb. */
- return 2146;
+ return 2182;
}
else
{
@@ -18398,7 +18442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0100x1xxxxxxxxxx
fmlalt. */
- return 2148;
+ return 2184;
}
}
else
@@ -18407,7 +18451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx0101xxxxxxxxxxxx
fmlalt. */
- return 3526;
+ return 3626;
}
}
else
@@ -18416,7 +18460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0101xxxxx010xxxxxxxxxxxxx
st1h. */
- return 1952;
+ return 1988;
}
}
}
@@ -18432,7 +18476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0011xxxxx010xx0xxxxxxxxxx
bfdot. */
- return 3066;
+ return 3161;
}
else
{
@@ -18440,7 +18484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0011xxxxx010xx1xxxxxxxxxx
fdot. */
- return 3512;
+ return 3612;
}
}
else
@@ -18449,7 +18493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0011xxxxx010xxxxxxxxxxxxx
st1b. */
- return 1936;
+ return 1972;
}
}
else
@@ -18462,7 +18506,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx010xx0xxxxxxxxxx
bfmlalb. */
- return 3073;
+ return 3168;
}
else
{
@@ -18470,7 +18514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx010xx1xxxxxxxxxx
bfmlalt. */
- return 3072;
+ return 3167;
}
}
else
@@ -18479,7 +18523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0111xxxxx010xxxxxxxxxxxxx
st1h. */
- return 1957;
+ return 1993;
}
}
}
@@ -18503,7 +18547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx100000xxxxxxxxxx
fdot. */
- return 2474;
+ return 2500;
}
else
{
@@ -18511,7 +18555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx100010xxxxxxxxxx
fmlallbb. */
- return 3517;
+ return 3617;
}
}
else
@@ -18520,7 +18564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1000x1xxxxxxxxxx
fdot. */
- return 3513;
+ return 3613;
}
}
else
@@ -18529,7 +18573,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1100xxxxxxxxxxxx
fmlallbb. */
- return 3518;
+ return 3618;
}
}
else
@@ -18538,7 +18582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1x01xxxxxxxxxxxx
fmlallbt. */
- return 3519;
+ return 3619;
}
}
else
@@ -18557,7 +18601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx100000xxxxxxxxxx
fmlalb. */
- return 2147;
+ return 2183;
}
else
{
@@ -18565,7 +18609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx100010xxxxxxxxxx
fmlalb. */
- return 3515;
+ return 3615;
}
}
else
@@ -18574,7 +18618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx1000x1xxxxxxxxxx
fmlalt. */
- return 2149;
+ return 2185;
}
}
else
@@ -18583,7 +18627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx1100xxxxxxxxxxxx
fmlalltb. */
- return 3522;
+ return 3622;
}
}
else
@@ -18592,7 +18636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx1x01xxxxxxxxxxxx
fmlalt. */
- return 3525;
+ return 3625;
}
}
else
@@ -18601,7 +18645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0101xxxxx1x0xxxxxxxxxxxxx
st1h. */
- return 1953;
+ return 1989;
}
}
}
@@ -18617,7 +18661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx100xx0xxxxxxxxxx
bfdot. */
- return 3065;
+ return 3160;
}
else
{
@@ -18625,7 +18669,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx100xx1xxxxxxxxxx
fdot. */
- return 3511;
+ return 3611;
}
}
else
@@ -18634,7 +18678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx110xxxxxxxxxxxxx
fmlallbt. */
- return 3520;
+ return 3620;
}
}
else
@@ -18649,7 +18693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx100xx0xxxxxxxxxx
bfmlalb. */
- return 3071;
+ return 3166;
}
else
{
@@ -18657,7 +18701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx100xx1xxxxxxxxxx
bfmlalt. */
- return 3070;
+ return 3165;
}
}
else
@@ -18666,7 +18710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx110xxxxxxxxxxxxx
fmlalltt. */
- return 3524;
+ return 3624;
}
}
else
@@ -18675,7 +18719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0111xxxxx1x0xxxxxxxxxxxxx
st1h. */
- return 1958;
+ return 1994;
}
}
}
@@ -18694,7 +18738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx1xxxxxxx1xxxxxxxx0xxxx
cmplo. */
- return 1400;
+ return 1452;
}
else
{
@@ -18702,7 +18746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x0xx1xxxxxxx1xxxxxxxx1xxxx
cmpls. */
- return 1402;
+ return 1454;
}
}
else
@@ -18717,7 +18761,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00x1xxxxx001xxxxxxxxxxxxx
ld1rob. */
- return 3049;
+ return 3144;
}
else
{
@@ -18725,7 +18769,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01x1xxxxx001xxxxxxxxxxxxx
ld1roh. */
- return 3050;
+ return 3145;
}
}
else
@@ -18740,7 +18784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00010xxxx101xxxxxxxxxxxxx
ld1b. */
- return 1574;
+ return 1626;
}
else
{
@@ -18748,7 +18792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01010xxxx101xxxxxxxxxxxxx
ld1h. */
- return 1595;
+ return 1647;
}
}
else
@@ -18759,7 +18803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00110xxxx101xxxxxxxxxxxxx
ld1b. */
- return 1576;
+ return 1628;
}
else
{
@@ -18767,7 +18811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01110xxxx101xxxxxxxxxxxxx
ld1h. */
- return 1597;
+ return 1649;
}
}
}
@@ -18781,7 +18825,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00011xxxx101xxxxxxxxxxxxx
ldnf1b. */
- return 1766;
+ return 1802;
}
else
{
@@ -18789,7 +18833,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01011xxxx101xxxxxxxxxxxxx
ldnf1h. */
- return 1770;
+ return 1806;
}
}
else
@@ -18800,7 +18844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x00111xxxx101xxxxxxxxxxxxx
ldnf1b. */
- return 1768;
+ return 1804;
}
else
{
@@ -18808,7 +18852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x01111xxxx101xxxxxxxxxxxxx
ldnf1h. */
- return 1772;
+ return 1808;
}
}
}
@@ -18826,7 +18870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0001xxxxx011xxxxxxxxxxxxx
ldff1b. */
- return 1692;
+ return 1743;
}
else
{
@@ -18834,7 +18878,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0101xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1711;
+ return 1758;
}
}
else
@@ -18845,7 +18889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0011xxxxx011xxxxxxxxxxxxx
ldff1b. */
- return 1696;
+ return 1745;
}
else
{
@@ -18853,7 +18897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0111xxxxx011xxxxxxxxxxxxx
ldff1h. */
- return 1715;
+ return 1760;
}
}
}
@@ -18867,7 +18911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0001xxxxx111xxxxxxxxxxxxx
ld2b. */
- return 1666;
+ return 1718;
}
else
{
@@ -18875,7 +18919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0101xxxxx111xxxxxxxxxxxxx
ld2h. */
- return 1670;
+ return 1722;
}
}
else
@@ -18886,7 +18930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0011xxxxx111xxxxxxxxxxxxx
ld4b. */
- return 1682;
+ return 1734;
}
else
{
@@ -18894,7 +18938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x0111xxxxx111xxxxxxxxxxxxx
ld4h. */
- return 1686;
+ return 1738;
}
}
}
@@ -18919,7 +18963,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x00x1xxxxx001x00xxxxxxxxxx
fmul. */
- return 1515;
+ return 1567;
}
else
{
@@ -18929,7 +18973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx001x00xxxxxxxxxx
fmul. */
- return 1516;
+ return 1568;
}
else
{
@@ -18937,7 +18981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx001x00xxxxxxxxxx
fmul. */
- return 1517;
+ return 1569;
}
}
}
@@ -18947,7 +18991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx1xxxxx001x10xxxxxxxxxx
bfmul. */
- return 3297;
+ return 3397;
}
}
else
@@ -18956,7 +19000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0xx1xxxxx001xx1xxxxxxxxxx
fclamp. */
- return 2475;
+ return 2501;
}
}
else
@@ -18965,7 +19009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0xx1xxxxx001xxxxxxxxxxxxx
st1q. */
- return 3421;
+ return 3521;
}
}
else
@@ -18980,7 +19024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1010xxxxxxxxxxxx
fmlalltb. */
- return 3521;
+ return 3621;
}
else
{
@@ -18988,7 +19032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx1011xxxxxxxxxxxx
fmlalltt. */
- return 3523;
+ return 3623;
}
}
else
@@ -19001,7 +19045,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx101xx0xxxxxxxxxx
fmlslb. */
- return 2151;
+ return 2187;
}
else
{
@@ -19009,7 +19053,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx101xx1xxxxxxxxxx
fmlslt. */
- return 2153;
+ return 2189;
}
}
else
@@ -19018,7 +19062,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0101xxxxx101xxxxxxxxxxxxx
st1h. */
- return 1954;
+ return 1990;
}
}
}
@@ -19030,7 +19074,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx101xxxxxxxxxxxxx
st1b. */
- return 1941;
+ return 1977;
}
else
{
@@ -19042,7 +19086,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx101xx0xxxxxxxxxx
bfmlslb. */
- return 2470;
+ return 2496;
}
else
{
@@ -19050,7 +19094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx101xx1xxxxxxxxxx
bfmlslt. */
- return 2472;
+ return 2498;
}
}
else
@@ -19059,7 +19103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0111xxxxx101xxxxxxxxxxxxx
st1h. */
- return 1962;
+ return 1998;
}
}
}
@@ -19077,7 +19121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0001xxxxx011xxxxxxxxxxxxx
st2b. */
- return 1976;
+ return 2012;
}
else
{
@@ -19089,7 +19133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx011xx0xxxxxxxxxx
fmlslb. */
- return 2150;
+ return 2186;
}
else
{
@@ -19097,7 +19141,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx011xx1xxxxxxxxxx
fmlslt. */
- return 2152;
+ return 2188;
}
}
else
@@ -19106,7 +19150,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0101xxxxx011xxxxxxxxxxxxx
st2h. */
- return 1980;
+ return 2016;
}
}
}
@@ -19118,7 +19162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x0011xxxxx011xxxxxxxxxxxxx
st4b. */
- return 1992;
+ return 2028;
}
else
{
@@ -19130,7 +19174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx011xx0xxxxxxxxxx
bfmlslb. */
- return 2469;
+ return 2495;
}
else
{
@@ -19138,7 +19182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx011xx1xxxxxxxxxx
bfmlslt. */
- return 2471;
+ return 2497;
}
}
else
@@ -19147,7 +19191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x0111xxxxx011xxxxxxxxxxxxx
st4h. */
- return 1996;
+ return 2032;
}
}
}
@@ -19158,21 +19202,43 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 23) & 0x1) == 0)
{
- if (((word >> 20) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x11001x00010xxxx111xxxxxxxxxxxxx
- st1b. */
- return 1938;
+ if (((word >> 10) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 011001x0001xxxxx111xx0xxxxxxxxxx
+ fmmla. */
+ return 3181;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 011001x0001xxxxx111xx1xxxxxxxxxx
+ fmmla. */
+ return 3179;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- x11001x00011xxxx111xxxxxxxxxxxxx
- st2b. */
- return 1977;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 111001x00010xxxx111xxxxxxxxxxxxx
+ st1b. */
+ return 1974;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 111001x00011xxxx111xxxxxxxxxxxxx
+ st2b. */
+ return 2013;
+ }
}
}
else
@@ -19183,7 +19249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0101xxxxx111xxxxxxxxxxxxx
fmmla. */
- return 3043;
+ return 3138;
}
else
{
@@ -19193,7 +19259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x01010xxxx111xxxxxxxxxxxxx
st1h. */
- return 1959;
+ return 1995;
}
else
{
@@ -19201,7 +19267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x01011xxxx111xxxxxxxxxxxxx
st2h. */
- return 1981;
+ return 2017;
}
}
}
@@ -19212,11 +19278,22 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- 011001x0011xxxxx111xxxxxxxxxxxxx
- bfmmla. */
- return 3067;
+ if (((word >> 10) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 011001x0011xxxxx111xx0xxxxxxxxxx
+ fmmla. */
+ return 3183;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ 011001x0011xxxxx111xx1xxxxxxxxxx
+ bfmmla. */
+ return 3162;
+ }
}
else
{
@@ -19226,7 +19303,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x00110xxxx111xxxxxxxxxxxxx
st1b. */
- return 1942;
+ return 1978;
}
else
{
@@ -19234,7 +19311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x00111xxxx111xxxxxxxxxxxxx
st4b. */
- return 1993;
+ return 2029;
}
}
}
@@ -19246,7 +19323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x0111xxxxx111xxxxxxxxxxxxx
fmmla. */
- return 3044;
+ return 3139;
}
else
{
@@ -19256,7 +19333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x01110xxxx111xxxxxxxxxxxxx
st1h. */
- return 1963;
+ return 1999;
}
else
{
@@ -19264,7 +19341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x01111xxxx111xxxxxxxxxxxxx
st4h. */
- return 1997;
+ return 2033;
}
}
}
@@ -19296,7 +19373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x10000xxxxxxxxxxxxxxxxxxxx
orr. */
- return 1821;
+ return 1857;
}
else
{
@@ -19304,7 +19381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x11000xxxxxxxxxxxxxxxxxxxx
and. */
- return 1348;
+ return 1400;
}
}
else
@@ -19315,7 +19392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x10100xxxxxxxxxxxxxxxxxxxx
eor. */
- return 1435;
+ return 1487;
}
else
{
@@ -19323,7 +19400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x11100xxxxxxxxxxxxxxxxxxxx
dupm. */
- return 1433;
+ return 1485;
}
}
}
@@ -19335,7 +19412,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx01xxxx0xxxxxxxxxxxxxxx
cpy. */
- return 1418;
+ return 1470;
}
else
{
@@ -19343,7 +19420,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx01xxxx1xxxxxxxxxxxxxxx
fcpy. */
- return 1465;
+ return 1517;
}
}
}
@@ -19363,7 +19440,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001xxxxx000xxxxxxxxxxxxx
ext. */
- return 1440;
+ return 1492;
}
else
{
@@ -19375,7 +19452,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1101xxxxx000x00xxxxxxxxxx
zip1. */
- return 3053;
+ return 3148;
}
else
{
@@ -19385,7 +19462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1101xxxxx000010xxxxxxxxxx
uzp1. */
- return 3055;
+ return 3150;
}
else
{
@@ -19393,7 +19470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1101xxxxx000110xxxxxxxxxx
trn1. */
- return 3057;
+ return 3152;
}
}
}
@@ -19405,7 +19482,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1101xxxxx000x01xxxxxxxxxx
zip2. */
- return 3054;
+ return 3149;
}
else
{
@@ -19415,7 +19492,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1101xxxxx000011xxxxxxxxxx
uzp2. */
- return 3056;
+ return 3151;
}
else
{
@@ -19423,7 +19500,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1101xxxxx000111xxxxxxxxxx
trn2. */
- return 3058;
+ return 3153;
}
}
}
@@ -19435,7 +19512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1x11xxxxx000xxxxxxxxxxxxx
ext. */
- return 2133;
+ return 2169;
}
}
else
@@ -19452,7 +19529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0000100xxxxxxxxxxxxx
cpy. */
- return 1416;
+ return 1468;
}
else
{
@@ -19460,7 +19537,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1000100xxxxxxxxxxxxx
clasta. */
- return 1374;
+ return 1426;
}
}
else
@@ -19471,7 +19548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0100100xxxxxxxxxxxxx
revb. */
- return 1870;
+ return 1906;
}
else
{
@@ -19479,7 +19556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1100100xxxxxxxxxxxxx
splice. */
- return 1897;
+ return 1933;
}
}
}
@@ -19493,7 +19570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0010100xxxxxxxxxxxxx
lasta. */
- return 1562;
+ return 1614;
}
else
{
@@ -19501,7 +19578,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1010100xxxxxxxxxxxxx
clasta. */
- return 1375;
+ return 1427;
}
}
else
@@ -19512,7 +19589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0110100xxxxxxxxxxxxx
revw. */
- return 1872;
+ return 1908;
}
else
{
@@ -19520,7 +19597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1110100xxxxxxxxxxxxx
revd. */
- return 2463;
+ return 2489;
}
}
}
@@ -19537,7 +19614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0001100xxxxxxxxxxxxx
compact. */
- return 1415;
+ return 1467;
}
else
{
@@ -19545,7 +19622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1001100xxxxxxxxxxxxx
clastb. */
- return 1377;
+ return 1429;
}
}
else
@@ -19556,7 +19633,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0101100xxxxxxxxxxxxx
revh. */
- return 1871;
+ return 1907;
}
else
{
@@ -19564,7 +19641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1101100xxxxxxxxxxxxx
splice. */
- return 2228;
+ return 2264;
}
}
}
@@ -19578,7 +19655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0011100xxxxxxxxxxxxx
lastb. */
- return 1564;
+ return 1616;
}
else
{
@@ -19586,7 +19663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1011100xxxxxxxxxxxxx
clastb. */
- return 1378;
+ return 1430;
}
}
else
@@ -19595,7 +19672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xx111100xxxxxxxxxxxxx
rbit. */
- return 1863;
+ return 1899;
}
}
}
@@ -19615,7 +19692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx001000xxxxxxxxxx
dup. */
- return 1431;
+ return 1483;
}
else
{
@@ -19623,7 +19700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx001100xxxxxxxxxx
tbl. */
- return 2021;
+ return 2057;
}
}
else
@@ -19634,7 +19711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx001010xxxxxxxxxx
tbl. */
- return 2317;
+ return 2353;
}
else
{
@@ -19652,7 +19729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx100000001110xxxxxxxxxx
dup. */
- return 1430;
+ return 1482;
}
else
{
@@ -19660,7 +19737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx110000001110xxxxxxxxxx
sunpklo. */
- return 2017;
+ return 2053;
}
}
else
@@ -19671,7 +19748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx100100001110xxxxxxxxxx
insr. */
- return 1559;
+ return 1611;
}
else
{
@@ -19679,7 +19756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx110100001110xxxxxxxxxx
insr. */
- return 1560;
+ return 1612;
}
}
}
@@ -19689,7 +19766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0x10001110xxxxxxxxxx
uunpklo. */
- return 2080;
+ return 2116;
}
}
else
@@ -19706,7 +19783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001010x0001110xxxxxxxxxx
pmov. */
- return 3398;
+ return 3498;
}
else
{
@@ -19714,7 +19791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001011x0001110xxxxxxxxxx
pmov. */
- return 3399;
+ return 3499;
}
}
else
@@ -19723,7 +19800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x101101xx0001110xxxxxxxxxx
pmov. */
- return 3400;
+ return 3500;
}
}
else
@@ -19732,7 +19809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x11x101xx0001110xxxxxxxxxx
pmov. */
- return 3401;
+ return 3501;
}
}
else
@@ -19741,7 +19818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx111xx0001110xxxxxxxxxx
rev. */
- return 1869;
+ return 1905;
}
}
}
@@ -19755,7 +19832,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0x01001110xxxxxxxxxx
sunpkhi. */
- return 2016;
+ return 2052;
}
else
{
@@ -19763,7 +19840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x0x11001110xxxxxxxxxx
uunpkhi. */
- return 2079;
+ return 2115;
}
}
else
@@ -19778,7 +19855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001x10x1001110xxxxxxxxxx
pmov. */
- return 3402;
+ return 3502;
}
else
{
@@ -19786,7 +19863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1001x11x1001110xxxxxxxxxx
pmov. */
- return 3403;
+ return 3503;
}
}
else
@@ -19795,7 +19872,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1011x1xx1001110xxxxxxxxxx
pmov. */
- return 3404;
+ return 3504;
}
}
else
@@ -19804,7 +19881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x11x1x1xx1001110xxxxxxxxxx
pmov. */
- return 3405;
+ return 3505;
}
}
}
@@ -19823,7 +19900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1x01xxxxx001001xxxxxxxxxx
dupq. */
- return 3389;
+ return 3489;
}
else
{
@@ -19831,7 +19908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1x11xxxxx001001xxxxxxxxxx
extq. */
- return 3393;
+ return 3493;
}
}
else
@@ -19840,7 +19917,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx001101xxxxxxxxxx
tbxq. */
- return 3392;
+ return 3492;
}
}
else
@@ -19849,7 +19926,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx001x11xxxxxxxxxx
tbx. */
- return 2318;
+ return 2354;
}
}
}
@@ -19865,7 +19942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx100xx0101xxxxxxxxxxxxx
lasta. */
- return 1561;
+ return 1613;
}
else
{
@@ -19873,7 +19950,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx110xx0101xxxxxxxxxxxxx
clasta. */
- return 1376;
+ return 1428;
}
}
else
@@ -19882,7 +19959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1x1xx0101xxxxxxxxxxxxx
cpy. */
- return 1417;
+ return 1469;
}
}
else
@@ -19893,7 +19970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx10xxx1101xxxxxxxxxxxxx
lastb. */
- return 1563;
+ return 1615;
}
else
{
@@ -19901,7 +19978,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx11xxx1101xxxxxxxxxxxxx
clastb. */
- return 1379;
+ return 1431;
}
}
}
@@ -19925,7 +20002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx10xxxx010000xxxxxxxxxx
zip1. */
- return 2097;
+ return 2133;
}
else
{
@@ -19937,7 +20014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx11x0x0010000xxxxxxxxxx
punpklo. */
- return 1862;
+ return 1898;
}
else
{
@@ -19945,7 +20022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx11x1x0010000xxxxxxxxxx
rev. */
- return 1868;
+ return 1904;
}
}
else
@@ -19954,7 +20031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx11xxx1010000xxxxxxxxxx
punpkhi. */
- return 1861;
+ return 1897;
}
}
}
@@ -19964,7 +20041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx011000xxxxxxxxxx
zip1. */
- return 2098;
+ return 2134;
}
}
else
@@ -19975,7 +20052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx010100xxxxxxxxxx
trn1. */
- return 2022;
+ return 2058;
}
else
{
@@ -19983,7 +20060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx011100xxxxxxxxxx
trn1. */
- return 2023;
+ return 2059;
}
}
}
@@ -19995,7 +20072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx010x10xxxxxxxxxx
uzp1. */
- return 2084;
+ return 2120;
}
else
{
@@ -20003,7 +20080,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx011x10xxxxxxxxxx
uzp1. */
- return 2085;
+ return 2121;
}
}
}
@@ -20019,7 +20096,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx010001xxxxxxxxxx
zip2. */
- return 2099;
+ return 2135;
}
else
{
@@ -20027,7 +20104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx011001xxxxxxxxxx
zip2. */
- return 2100;
+ return 2136;
}
}
else
@@ -20038,7 +20115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx010101xxxxxxxxxx
trn2. */
- return 2024;
+ return 2060;
}
else
{
@@ -20046,7 +20123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx011101xxxxxxxxxx
trn2. */
- return 2025;
+ return 2061;
}
}
}
@@ -20058,7 +20135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx010x11xxxxxxxxxx
uzp2. */
- return 2086;
+ return 2122;
}
else
{
@@ -20066,7 +20143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx011x11xxxxxxxxxx
uzp2. */
- return 2087;
+ return 2123;
}
}
}
@@ -20077,7 +20154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000001x1xx1xxxxx11xxxxxxxxxxxxxx
sel. */
- return 1887;
+ return 1923;
}
}
}
@@ -20096,7 +20173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1x0xxxxxx000xxxxxxxxxxxxx
ldr. */
- return 1789;
+ return 1825;
}
else
{
@@ -20104,7 +20181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1x1xxxxxx000xxxxxxxxxxxxx
prfb. */
- return 1835;
+ return 1871;
}
}
else
@@ -20115,7 +20192,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x10xxxxxxx100xxxxxxxxxxxxx
ld1rsh. */
- return 1618;
+ return 1670;
}
else
{
@@ -20123,7 +20200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x11xxxxxxx100xxxxxxxxxxxxx
ld1rsb. */
- return 1615;
+ return 1667;
}
}
}
@@ -20139,7 +20216,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x10x0xxxxx010xxxxxxxxxxxxx
ld1w. */
- return 1653;
+ return 1705;
}
else
{
@@ -20147,7 +20224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x10x1xxxxx010xxxxxxxxxxxxx
ld1w. */
- return 1654;
+ return 1706;
}
}
else
@@ -20158,7 +20235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x110xxxxxx010xxxxxxxxxxxxx
ldr. */
- return 1791;
+ return 1827;
}
else
{
@@ -20166,7 +20243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x111xxxxxx010xxxxxxxxxxxxx
prfw. */
- return 1856;
+ return 1892;
}
}
}
@@ -20182,7 +20259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1000xxxxx110xxxxxxxxxxxxx
prfw. */
- return 1852;
+ return 1888;
}
else
{
@@ -20190,7 +20267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1100xxxxx110xxxxxxxxxxxxx
prfd. */
- return 1838;
+ return 1874;
}
}
else
@@ -20199,7 +20276,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1x01xxxxx110xxxxxxxxxxxxx
ld1w. */
- return 1661;
+ return 1713;
}
}
else
@@ -20210,7 +20287,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x101xxxxxx110xxxxxxxxxxxxx
ld1rw. */
- return 1621;
+ return 1673;
}
else
{
@@ -20218,7 +20295,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x111xxxxxx110xxxxxxxxxxxxx
ld1rsb. */
- return 1617;
+ return 1669;
}
}
}
@@ -20234,7 +20311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1xxxxxxxx001xxxxxxxxxxxxx
prfh. */
- return 1849;
+ return 1885;
}
else
{
@@ -20244,7 +20321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1x0xxxxxx101xxxxxxxxxxxxx
ldnt1w. */
- return 2164;
+ return 2200;
}
else
{
@@ -20254,7 +20331,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x101xxxxxx101xxxxxxxxxxxxx
ld1rsh. */
- return 1619;
+ return 1671;
}
else
{
@@ -20262,7 +20339,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x111xxxxxx101xxxxxxxxxxxxx
ld1rsb. */
- return 1616;
+ return 1668;
}
}
}
@@ -20279,7 +20356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x10x0xxxxx011xxxxxxxxxxxxx
ldff1w. */
- return 1753;
+ return 1791;
}
else
{
@@ -20287,7 +20364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x10x1xxxxx011xxxxxxxxxxxxx
ldff1w. */
- return 1754;
+ return 1792;
}
}
else
@@ -20296,7 +20373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x11xxxxxxx011xxxxxxxxxxxxx
prfd. */
- return 1842;
+ return 1878;
}
}
else
@@ -20311,7 +20388,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1000xxxxx111xxxxxxxxxxxxx
prfw. */
- return 1855;
+ return 1891;
}
else
{
@@ -20319,7 +20396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1100xxxxx111xxxxxxxxxxxxx
prfd. */
- return 1841;
+ return 1877;
}
}
else
@@ -20328,7 +20405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x1x01xxxxx111xxxxxxxxxxxxx
ldff1w. */
- return 1763;
+ return 1799;
}
}
else
@@ -20339,7 +20416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x101xxxxxx111xxxxxxxxxxxxx
ld1rw. */
- return 1622;
+ return 1674;
}
else
{
@@ -20347,7 +20424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
100001x111xxxxxx111xxxxxxxxxxxxx
ld1rd. */
- return 1603;
+ return 1655;
}
}
}
@@ -20377,7 +20454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000000xxxxxxxxxx
saddlb. */
- return 2194;
+ return 2230;
}
else
{
@@ -20385,7 +20462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000100xxxxxxxxxx
ssublb. */
- return 2301;
+ return 2337;
}
}
else
@@ -20396,7 +20473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000010xxxxxxxxxx
uaddlb. */
- return 2325;
+ return 2361;
}
else
{
@@ -20404,7 +20481,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000110xxxxxxxxxx
usublb. */
- return 2378;
+ return 2414;
}
}
}
@@ -20418,7 +20495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000001xxxxxxxxxx
saddlt. */
- return 2196;
+ return 2232;
}
else
{
@@ -20426,7 +20503,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000101xxxxxxxxxx
ssublt. */
- return 2303;
+ return 2339;
}
}
else
@@ -20437,7 +20514,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000011xxxxxxxxxx
uaddlt. */
- return 2326;
+ return 2362;
}
else
{
@@ -20445,7 +20522,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx000111xxxxxxxxxx
usublt. */
- return 2379;
+ return 2415;
}
}
}
@@ -20456,7 +20533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1xx0xxxxx000xxxxxxxxxxxxx
ld1sw. */
- return 1647;
+ return 1699;
}
}
else
@@ -20475,7 +20552,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000000xxxxxxxxxx
sqshrunb. */
- return 2284;
+ return 2320;
}
else
{
@@ -20483,7 +20560,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000100xxxxxxxxxx
shrnb. */
- return 2202;
+ return 2238;
}
}
else
@@ -20494,7 +20571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000010xxxxxxxxxx
sqrshrunb. */
- return 2276;
+ return 2312;
}
else
{
@@ -20502,7 +20579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000110xxxxxxxxxx
rshrnb. */
- return 2184;
+ return 2220;
}
}
}
@@ -20516,7 +20593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000001xxxxxxxxxx
sqshrunt. */
- return 2285;
+ return 2321;
}
else
{
@@ -20524,7 +20601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000101xxxxxxxxxx
shrnt. */
- return 2203;
+ return 2239;
}
}
else
@@ -20535,7 +20612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000011xxxxxxxxxx
sqrshrunt. */
- return 2277;
+ return 2313;
}
else
{
@@ -20543,7 +20620,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx000111xxxxxxxxxx
rshrnt. */
- return 2185;
+ return 2221;
}
}
}
@@ -20554,7 +20631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x10x1xxxxx000xxxxxxxxxxxxx
ld1sw. */
- return 1648;
+ return 1700;
}
}
else
@@ -20563,7 +20640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x11x1xxxxx000xxxxxxxxxxxxx
sqrshrun. */
- return 2481;
+ return 2507;
}
}
}
@@ -20583,7 +20660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx100000xxxxxxxxxx
saddlbt. */
- return 2195;
+ return 2231;
}
else
{
@@ -20591,7 +20668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx100100xxxxxxxxxx
eorbt. */
- return 2131;
+ return 2167;
}
}
else
@@ -20602,7 +20679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx100010xxxxxxxxxx
ssublbt. */
- return 2302;
+ return 2338;
}
else
{
@@ -20614,7 +20691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1000xxxxx100110xxxxxxxxxx
smmla. */
- return 3037;
+ return 3132;
}
else
{
@@ -20622,7 +20699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1100xxxxx100110xxxxxxxxxx
usmmla. */
- return 3039;
+ return 3134;
}
}
else
@@ -20631,7 +20708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1x10xxxxx100110xxxxxxxxxx
ummla. */
- return 3038;
+ return 3133;
}
}
}
@@ -20644,7 +20721,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx100x01xxxxxxxxxx
eortb. */
- return 2132;
+ return 2168;
}
else
{
@@ -20652,7 +20729,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx100x11xxxxxxxxxx
ssubltb. */
- return 2304;
+ return 2340;
}
}
}
@@ -20664,7 +20741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1x00xxxxx100xxxxxxxxxxxxx
ldnt1sw. */
- return 2163;
+ return 2199;
}
else
{
@@ -20672,7 +20749,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1x10xxxxx100xxxxxxxxxxxxx
ld1sw. */
- return 1649;
+ return 1701;
}
}
}
@@ -20686,7 +20763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx100xxxxxxxx0xxxx
match. */
- return 2166;
+ return 2202;
}
else
{
@@ -20694,7 +20771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx100xxxxxxxx1xxxx
nmatch. */
- return 2178;
+ return 2214;
}
}
else
@@ -20705,7 +20782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1x01xxxxx100xxxxxxxxxxxxx
ld1sw. */
- return 1652;
+ return 1704;
}
else
{
@@ -20713,7 +20790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1x11xxxxx100xxxxxxxxxxxxx
ld1sw. */
- return 1650;
+ return 1702;
}
}
}
@@ -20737,7 +20814,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010000xxxxxxxxxx
saddwb. */
- return 2197;
+ return 2233;
}
else
{
@@ -20745,7 +20822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010100xxxxxxxxxx
ssubwb. */
- return 2305;
+ return 2341;
}
}
else
@@ -20756,7 +20833,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010010xxxxxxxxxx
uaddwb. */
- return 2327;
+ return 2363;
}
else
{
@@ -20764,7 +20841,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010110xxxxxxxxxx
usubwb. */
- return 2380;
+ return 2416;
}
}
}
@@ -20778,7 +20855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010001xxxxxxxxxx
saddwt. */
- return 2198;
+ return 2234;
}
else
{
@@ -20786,7 +20863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010101xxxxxxxxxx
ssubwt. */
- return 2306;
+ return 2342;
}
}
else
@@ -20797,7 +20874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010011xxxxxxxxxx
uaddwt. */
- return 2328;
+ return 2364;
}
else
{
@@ -20805,7 +20882,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx010111xxxxxxxxxx
usubwt. */
- return 2381;
+ return 2417;
}
}
}
@@ -20818,7 +20895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x10x0xxxxx010xxxxxxxxxxxxx
ld1w. */
- return 1657;
+ return 1709;
}
else
{
@@ -20826,7 +20903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x11x0xxxxx010xxxxxxxxxxxxx
ld1d. */
- return 1579;
+ return 1631;
}
}
}
@@ -20848,7 +20925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxx0010000xxxxxxxxxx
sqxtnb. */
- return 2288;
+ return 2324;
}
else
{
@@ -20856,7 +20933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxx1010000xxxxxxxxxx
sqcvtn. */
- return 2478;
+ return 2504;
}
}
else
@@ -20867,7 +20944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxx0010100xxxxxxxxxx
sqxtunb. */
- return 2290;
+ return 2326;
}
else
{
@@ -20875,7 +20952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxx1010100xxxxxxxxxx
sqcvtun. */
- return 2479;
+ return 2505;
}
}
}
@@ -20887,7 +20964,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxx0010x10xxxxxxxxxx
uqxtnb. */
- return 2365;
+ return 2401;
}
else
{
@@ -20895,7 +20972,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxx1010x10xxxxxxxxxx
uqcvtn. */
- return 2484;
+ return 2510;
}
}
}
@@ -20909,7 +20986,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx010001xxxxxxxxxx
sqxtnt. */
- return 2289;
+ return 2325;
}
else
{
@@ -20917,7 +20994,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx010101xxxxxxxxxx
sqxtunt. */
- return 2291;
+ return 2327;
}
}
else
@@ -20926,7 +21003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx010x11xxxxxxxxxx
uqxtnt. */
- return 2366;
+ return 2402;
}
}
}
@@ -20936,7 +21013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x10x1xxxxx010xxxxxxxxxxxxx
ld1w. */
- return 1658;
+ return 1710;
}
}
else
@@ -20945,7 +21022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x11x1xxxxx010xxxxxxxxxxxxx
ld1d. */
- return 1580;
+ return 1632;
}
}
}
@@ -20965,7 +21042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx110000xxxxxxxxxx
sabalb. */
- return 2189;
+ return 2225;
}
else
{
@@ -20975,7 +21052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x0xxxxx110100xxxxxxxxxx
adclb. */
- return 2114;
+ return 2150;
}
else
{
@@ -20983,7 +21060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x11x0xxxxx110100xxxxxxxxxx
sbclb. */
- return 2199;
+ return 2235;
}
}
}
@@ -20995,7 +21072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx110001xxxxxxxxxx
sabalt. */
- return 2190;
+ return 2226;
}
else
{
@@ -21005,7 +21082,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x0xxxxx110101xxxxxxxxxx
adclt. */
- return 2115;
+ return 2151;
}
else
{
@@ -21013,7 +21090,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x11x0xxxxx110101xxxxxxxxxx
sbclt. */
- return 2200;
+ return 2236;
}
}
}
@@ -21028,7 +21105,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx110010xxxxxxxxxx
uabalb. */
- return 2320;
+ return 2356;
}
else
{
@@ -21036,7 +21113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx110011xxxxxxxxxx
uabalt. */
- return 2321;
+ return 2357;
}
}
else
@@ -21047,7 +21124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxx011011xxxxxxxxxxx
cadd. */
- return 2123;
+ return 2159;
}
else
{
@@ -21055,7 +21132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxx111011xxxxxxxxxxx
sqcadd. */
- return 2231;
+ return 2267;
}
}
}
@@ -21070,7 +21147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1000xxxxx110xxxxxxxxxxxxx
ldnt1w. */
- return 2165;
+ return 2201;
}
else
{
@@ -21078,7 +21155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1100xxxxx110xxxxxxxxxxxxx
ldnt1d. */
- return 2158;
+ return 2194;
}
}
else
@@ -21089,7 +21166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1010xxxxx110xxxxxxxxxxxxx
ld1w. */
- return 1659;
+ return 1711;
}
else
{
@@ -21097,7 +21174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1110xxxxx110xxxxxxxxxxxxx
ld1d. */
- return 1581;
+ return 1633;
}
}
}
@@ -21112,7 +21189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x1001xxxxx110xxxxxxxxxxxxx
ld1w. */
- return 1664;
+ return 1716;
}
else
{
@@ -21120,7 +21197,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x1011xxxxx110xxxxxxxxxxxxx
ld1w. */
- return 1660;
+ return 1712;
}
}
else
@@ -21131,7 +21208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x11x1xxxxx110xxxxxxxxxxxxx
histcnt. */
- return 2154;
+ return 2190;
}
else
{
@@ -21141,7 +21218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1101xxxxx110xxxxxxxxxxxxx
ld1d. */
- return 1584;
+ return 1636;
}
else
{
@@ -21149,7 +21226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1111xxxxx110xxxxxxxxxxxxx
ld1d. */
- return 1582;
+ return 1634;
}
}
}
@@ -21175,7 +21252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx001x00xxxxxxxxxx
sabdlb. */
- return 2191;
+ return 2227;
}
else
{
@@ -21183,7 +21260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx001x10xxxxxxxxxx
uabdlb. */
- return 2322;
+ return 2358;
}
}
else
@@ -21194,7 +21271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx001x01xxxxxxxxxx
sabdlt. */
- return 2192;
+ return 2228;
}
else
{
@@ -21202,7 +21279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx001x11xxxxxxxxxx
uabdlt. */
- return 2323;
+ return 2359;
}
}
}
@@ -21212,7 +21289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1xx0xxxxx001xxxxxxxxxxxxx
ldff1sw. */
- return 1748;
+ return 1786;
}
}
else
@@ -21231,7 +21308,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001000xxxxxxxxxx
sqshrnb. */
- return 2282;
+ return 2318;
}
else
{
@@ -21239,7 +21316,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001100xxxxxxxxxx
uqshrnb. */
- return 2361;
+ return 2397;
}
}
else
@@ -21250,7 +21327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001010xxxxxxxxxx
sqrshrnb. */
- return 2274;
+ return 2310;
}
else
{
@@ -21258,7 +21335,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001110xxxxxxxxxx
uqrshrnb. */
- return 2356;
+ return 2392;
}
}
}
@@ -21272,7 +21349,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001001xxxxxxxxxx
sqshrnt. */
- return 2283;
+ return 2319;
}
else
{
@@ -21280,7 +21357,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001101xxxxxxxxxx
uqshrnt. */
- return 2362;
+ return 2398;
}
}
else
@@ -21291,7 +21368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001011xxxxxxxxxx
sqrshrnt. */
- return 2275;
+ return 2311;
}
else
{
@@ -21299,7 +21376,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x10x1xxxxx001111xxxxxxxxxx
uqrshrnt. */
- return 2357;
+ return 2393;
}
}
}
@@ -21310,7 +21387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x10x1xxxxx001xxxxxxxxxxxxx
ldff1sw. */
- return 1749;
+ return 1787;
}
}
else
@@ -21321,7 +21398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x11x1xxxxx0010xxxxxxxxxxxx
sqrshrn. */
- return 2480;
+ return 2506;
}
else
{
@@ -21329,7 +21406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x11x1xxxxx0011xxxxxxxxxxxx
uqrshrn. */
- return 2485;
+ return 2511;
}
}
}
@@ -21350,7 +21427,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101000xxxxxxxxxx
sshllb. */
- return 2298;
+ return 2334;
}
else
{
@@ -21358,7 +21435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101100xxxxxxxxxx
bext. */
- return 2403;
+ return 2439;
}
}
else
@@ -21369,7 +21446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101010xxxxxxxxxx
ushllb. */
- return 2374;
+ return 2410;
}
else
{
@@ -21377,7 +21454,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101110xxxxxxxxxx
bgrp. */
- return 2404;
+ return 2440;
}
}
}
@@ -21391,7 +21468,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101001xxxxxxxxxx
sshllt. */
- return 2299;
+ return 2335;
}
else
{
@@ -21399,7 +21476,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101101xxxxxxxxxx
bdep. */
- return 2402;
+ return 2438;
}
}
else
@@ -21408,7 +21485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx101x11xxxxxxxxxx
ushllt. */
- return 2375;
+ return 2411;
}
}
}
@@ -21418,7 +21495,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1xx0xxxxx101xxxxxxxxxxxxx
ldff1sw. */
- return 1750;
+ return 1788;
}
}
else
@@ -21435,7 +21512,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101000xxxxxxxxxx
histseg. */
- return 2155;
+ return 2191;
}
else
{
@@ -21443,7 +21520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101100xxxxxxxxxx
luti2. */
- return 3483;
+ return 3583;
}
}
else
@@ -21452,7 +21529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101x10xxxxxxxxxx
luti2. */
- return 3484;
+ return 3584;
}
}
else
@@ -21465,7 +21542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101001xxxxxxxxxx
luti4. */
- return 3485;
+ return 3585;
}
else
{
@@ -21473,7 +21550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101101xxxxxxxxxx
luti4. */
- return 3486;
+ return 3586;
}
}
else
@@ -21482,7 +21559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx101x11xxxxxxxxxx
luti4. */
- return 3487;
+ return 3587;
}
}
}
@@ -21494,7 +21571,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1x01xxxxx101xxxxxxxxxxxxx
ldff1sw. */
- return 1752;
+ return 1790;
}
else
{
@@ -21502,7 +21579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1x11xxxxx101xxxxxxxxxxxxx
ldff1sw. */
- return 1751;
+ return 1789;
}
}
}
@@ -21526,7 +21603,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx011000xxxxxxxxxx
sqdmullb. */
- return 2252;
+ return 2288;
}
else
{
@@ -21534,7 +21611,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx011100xxxxxxxxxx
smullb. */
- return 2224;
+ return 2260;
}
}
else
@@ -21547,7 +21624,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1x00xxxxx011010xxxxxxxxxx
pmullb. */
- return 2399;
+ return 2435;
}
else
{
@@ -21555,7 +21632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1x10xxxxx011010xxxxxxxxxx
pmullb. */
- return 2180;
+ return 2216;
}
}
else
@@ -21564,7 +21641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx011110xxxxxxxxxx
umullb. */
- return 2349;
+ return 2385;
}
}
}
@@ -21578,7 +21655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx011001xxxxxxxxxx
sqdmullt. */
- return 2255;
+ return 2291;
}
else
{
@@ -21586,7 +21663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx011101xxxxxxxxxx
smullt. */
- return 2227;
+ return 2263;
}
}
else
@@ -21599,7 +21676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1x00xxxxx011011xxxxxxxxxx
pmullt. */
- return 2400;
+ return 2436;
}
else
{
@@ -21607,7 +21684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1x10xxxxx011011xxxxxxxxxx
pmullt. */
- return 2181;
+ return 2217;
}
}
else
@@ -21616,7 +21693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx011111xxxxxxxxxx
umullt. */
- return 2352;
+ return 2388;
}
}
}
@@ -21629,7 +21706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x10x0xxxxx011xxxxxxxxxxxxx
ldff1w. */
- return 1759;
+ return 1795;
}
else
{
@@ -21637,7 +21714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x11x0xxxxx011xxxxxxxxxxxxx
ldff1d. */
- return 1704;
+ return 1751;
}
}
}
@@ -21655,7 +21732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011000xxxxxxxxxx
addhnb. */
- return 2116;
+ return 2152;
}
else
{
@@ -21663,7 +21740,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011100xxxxxxxxxx
subhnb. */
- return 2314;
+ return 2350;
}
}
else
@@ -21674,7 +21751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011010xxxxxxxxxx
raddhnb. */
- return 2182;
+ return 2218;
}
else
{
@@ -21682,7 +21759,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011110xxxxxxxxxx
rsubhnb. */
- return 2186;
+ return 2222;
}
}
}
@@ -21696,7 +21773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011001xxxxxxxxxx
addhnt. */
- return 2117;
+ return 2153;
}
else
{
@@ -21704,7 +21781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011101xxxxxxxxxx
subhnt. */
- return 2315;
+ return 2351;
}
}
else
@@ -21715,7 +21792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011011xxxxxxxxxx
raddhnt. */
- return 2183;
+ return 2219;
}
else
{
@@ -21723,7 +21800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx1xxxxx011111xxxxxxxxxx
rsubhnt. */
- return 2187;
+ return 2223;
}
}
}
@@ -21736,7 +21813,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x10x1xxxxx011xxxxxxxxxxxxx
ldff1w. */
- return 1760;
+ return 1796;
}
else
{
@@ -21744,7 +21821,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x11x1xxxxx011xxxxxxxxxxxxx
ldff1d. */
- return 1705;
+ return 1752;
}
}
}
@@ -21765,7 +21842,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111000xxxxxxxxxx
ssra. */
- return 2300;
+ return 2336;
}
else
{
@@ -21773,7 +21850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111100xxxxxxxxxx
sri. */
- return 2293;
+ return 2329;
}
}
else
@@ -21784,7 +21861,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111010xxxxxxxxxx
srsra. */
- return 2297;
+ return 2333;
}
else
{
@@ -21792,7 +21869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111110xxxxxxxxxx
saba. */
- return 2188;
+ return 2224;
}
}
}
@@ -21806,7 +21883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111001xxxxxxxxxx
usra. */
- return 2377;
+ return 2413;
}
else
{
@@ -21814,7 +21891,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111101xxxxxxxxxx
sli. */
- return 2206;
+ return 2242;
}
}
else
@@ -21825,7 +21902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111011xxxxxxxxxx
ursra. */
- return 2373;
+ return 2409;
}
else
{
@@ -21833,7 +21910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1xx0xxxxx111111xxxxxxxxxx
uaba. */
- return 2319;
+ return 2355;
}
}
}
@@ -21848,7 +21925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1000xxxxx111xxxxxxxxxxxxx
prfw. */
- return 1857;
+ return 1893;
}
else
{
@@ -21856,7 +21933,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1100xxxxx111xxxxxxxxxxxxx
prfd. */
- return 1843;
+ return 1879;
}
}
else
@@ -21867,7 +21944,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1010xxxxx111xxxxxxxxxxxxx
ldff1w. */
- return 1761;
+ return 1797;
}
else
{
@@ -21875,7 +21952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1110xxxxx111xxxxxxxxxxxxx
ldff1d. */
- return 1706;
+ return 1753;
}
}
}
@@ -21900,7 +21977,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxx001110x0xxxxxxxxxx
aesmc. */
- return 2398;
+ return 2434;
}
else
{
@@ -21908,7 +21985,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxx101110x0xxxxxxxxxx
aese. */
- return 2396;
+ return 2432;
}
}
else
@@ -21917,7 +21994,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxxx11110x0xxxxxxxxxx
sm4e. */
- return 2393;
+ return 2429;
}
}
else
@@ -21926,7 +22003,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxxxx1111x0xxxxxxxxxx
sm4ekey. */
- return 2394;
+ return 2430;
}
}
else
@@ -21939,7 +22016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxx0x1110x1xxxxxxxxxx
aesimc. */
- return 2397;
+ return 2433;
}
else
{
@@ -21947,7 +22024,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxx1x1110x1xxxxxxxxxx
aesd. */
- return 2395;
+ return 2431;
}
}
else
@@ -21956,7 +22033,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010001x1001xxxxx1111x1xxxxxxxxxx
rax1. */
- return 2401;
+ return 2437;
}
}
}
@@ -21966,7 +22043,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
110001x1001xxxxx111xxxxxxxxxxxxx
ldff1w. */
- return 1764;
+ return 1800;
}
}
else
@@ -21975,7 +22052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x1101xxxxx111xxxxxxxxxxxxx
ldff1d. */
- return 1708;
+ return 1755;
}
}
else
@@ -21986,7 +22063,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x1011xxxxx111xxxxxxxxxxxxx
ldff1w. */
- return 1762;
+ return 1798;
}
else
{
@@ -21994,7 +22071,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10001x1111xxxxx111xxxxxxxxxxxxx
ldff1d. */
- return 1707;
+ return 1754;
}
}
}
@@ -22023,7 +22100,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx0xxxxx000xxxxxxxx0xxxx
cmpge. */
- return 1387;
+ return 1439;
}
else
{
@@ -22031,7 +22108,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx0xxxxx000xxxxxxxx1xxxx
cmpgt. */
- return 1390;
+ return 1442;
}
}
else
@@ -22042,7 +22119,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x0xxxxx000xxxxxxxxxxxxx
ld1rqw. */
- return 1614;
+ return 1666;
}
else
{
@@ -22050,7 +22127,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x0xxxxx000xxxxxxxxxxxxx
ld1rqd. */
- return 1610;
+ return 1662;
}
}
}
@@ -22070,7 +22147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000000xxxxx0xxxx
whilege. */
- return 2382;
+ return 2418;
}
else
{
@@ -22078,7 +22155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000100xxxxx0xxxx
whilege. */
- return 2383;
+ return 2419;
}
}
else
@@ -22089,7 +22166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000010xxxxx0xxxx
whilehs. */
- return 2388;
+ return 2424;
}
else
{
@@ -22097,7 +22174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000110xxxxx0xxxx
whilehs. */
- return 2389;
+ return 2425;
}
}
}
@@ -22111,7 +22188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000001xxxxx0xxxx
whilelt. */
- return 2094;
+ return 2130;
}
else
{
@@ -22119,7 +22196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000101xxxxx0xxxx
whilelt. */
- return 2095;
+ return 2131;
}
}
else
@@ -22130,7 +22207,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000011xxxxx0xxxx
whilelo. */
- return 2090;
+ return 2126;
}
else
{
@@ -22138,7 +22215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000111xxxxx0xxxx
whilelo. */
- return 2091;
+ return 2127;
}
}
}
@@ -22155,7 +22232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000000xxxxx1xxxx
whilegt. */
- return 2384;
+ return 2420;
}
else
{
@@ -22163,7 +22240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000100xxxxx1xxxx
whilegt. */
- return 2385;
+ return 2421;
}
}
else
@@ -22174,7 +22251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000010xxxxx1xxxx
whilehi. */
- return 2386;
+ return 2422;
}
else
{
@@ -22182,7 +22259,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000110xxxxx1xxxx
whilehi. */
- return 2387;
+ return 2423;
}
}
}
@@ -22196,7 +22273,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000001xxxxx1xxxx
whilele. */
- return 2088;
+ return 2124;
}
else
{
@@ -22204,7 +22281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000101xxxxx1xxxx
whilele. */
- return 2089;
+ return 2125;
}
}
else
@@ -22215,7 +22292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000011xxxxx1xxxx
whilels. */
- return 2092;
+ return 2128;
}
else
{
@@ -22223,7 +22300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx000111xxxxx1xxxx
whilels. */
- return 2093;
+ return 2129;
}
}
}
@@ -22237,7 +22314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x1xxxxx000xxxxxxxxxxxxx
ld1row. */
- return 3047;
+ return 3142;
}
else
{
@@ -22245,7 +22322,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x1xxxxx000xxxxxxxxxxxxx
ld1rod. */
- return 3048;
+ return 3143;
}
}
}
@@ -22264,7 +22341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx000x00xxxxxxxxxx
fadd. */
- return 1445;
+ return 1497;
}
else
{
@@ -22274,7 +22351,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx000010xxxxxxxxxx
fmul. */
- return 1512;
+ return 1564;
}
else
{
@@ -22282,7 +22359,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx000110xxxxxxxxxx
frecps. */
- return 1525;
+ return 1577;
}
}
}
@@ -22294,7 +22371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx000x01xxxxxxxxxx
fsub. */
- return 1538;
+ return 1590;
}
else
{
@@ -22304,7 +22381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx000011xxxxxxxxxx
ftsmul. */
- return 1544;
+ return 1596;
}
else
{
@@ -22312,7 +22389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx000111xxxxxxxxxx
frsqrts. */
- return 1535;
+ return 1587;
}
}
}
@@ -22323,7 +22400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx000xxxxxxxxxxxxx
fmla. */
- return 1503;
+ return 1555;
}
}
else
@@ -22332,7 +22409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1xxxxxxxx000xxxxxxxxxxxxx
str. */
- return 2008;
+ return 2044;
}
}
}
@@ -22350,7 +22427,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx0xxxxx001xxxxxxxx0xxxx
cmplt. */
- return 1404;
+ return 1456;
}
else
{
@@ -22358,7 +22435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx0xxxxx001xxxxxxxx1xxxx
cmple. */
- return 1398;
+ return 1450;
}
}
else
@@ -22371,7 +22448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x00xxxx001xxxxxxxxxxxxx
ld1rqw. */
- return 1613;
+ return 1665;
}
else
{
@@ -22379,7 +22456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x00xxxx001xxxxxxxxxxxxx
ld1rqd. */
- return 1609;
+ return 1661;
}
}
else
@@ -22390,7 +22467,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x01xxxx001xxxxxxxxxxxxx
ld1w. */
- return 3408;
+ return 3508;
}
else
{
@@ -22398,7 +22475,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x01xxxx001xxxxxxxxxxxxx
ld1d. */
- return 3406;
+ return 3506;
}
}
}
@@ -22421,7 +22498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000000001xxxxxxxxxxxxx
faddv. */
- return 1449;
+ return 1501;
}
else
{
@@ -22431,7 +22508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010000001xxxxxxxx0xxxx
fcmge. */
- return 1456;
+ return 1508;
}
else
{
@@ -22439,7 +22516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010000001xxxxxxxx1xxxx
fcmgt. */
- return 1458;
+ return 1510;
}
}
}
@@ -22455,7 +22532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x00xxxxxxxxxx
f1cvt. */
- return 3445;
+ return 3545;
}
else
{
@@ -22463,7 +22540,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x10xxxxxxxxxx
bf1cvt. */
- return 3441;
+ return 3541;
}
}
else
@@ -22474,7 +22551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x01xxxxxxxxxx
f2cvt. */
- return 3446;
+ return 3546;
}
else
{
@@ -22482,7 +22559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000001x11xxxxxxxxxx
bf2cvt. */
- return 3442;
+ return 3542;
}
}
}
@@ -22492,7 +22569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011000001xxxxxxxxxxxxx
fadda. */
- return 1448;
+ return 1500;
}
}
}
@@ -22502,7 +22579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xx100001xxxxxxxxxxxxx
fmaxnmv. */
- return 1495;
+ return 1547;
}
}
else
@@ -22515,7 +22592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x0010001xxxxxxxxxxxxx
fcmeq. */
- return 1454;
+ return 1506;
}
else
{
@@ -22527,7 +22604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x00xxxxxxxxxx
fcvtn. */
- return 3450;
+ return 3550;
}
else
{
@@ -22535,7 +22612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x10xxxxxxxxxx
bfcvtn. */
- return 3449;
+ return 3549;
}
}
else
@@ -22546,7 +22623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x01xxxxxxxxxx
fcvtnb. */
- return 3451;
+ return 3551;
}
else
{
@@ -22554,7 +22631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1010001x11xxxxxxxxxx
fcvtnt. */
- return 3452;
+ return 3552;
}
}
}
@@ -22567,7 +22644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x0110001xxxxxxxxxxxxx
fmaxv. */
- return 1496;
+ return 1548;
}
else
{
@@ -22575,7 +22652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1110001xxxxxxxxxxxxx
frecpe. */
- return 1524;
+ return 1576;
}
}
}
@@ -22594,7 +22671,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x0001001xxxxxxxx0xxxx
fcmlt. */
- return 1461;
+ return 1513;
}
else
{
@@ -22602,7 +22679,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x0001001xxxxxxxx1xxxx
fcmle. */
- return 1460;
+ return 1512;
}
}
else
@@ -22615,7 +22692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1001001x00xxxxxxxxxx
f1cvtlt. */
- return 3447;
+ return 3547;
}
else
{
@@ -22623,7 +22700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1001001x10xxxxxxxxxx
bf1cvtlt. */
- return 3443;
+ return 3543;
}
}
else
@@ -22634,7 +22711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1001001x01xxxxxxxxxx
f2cvtlt. */
- return 3448;
+ return 3548;
}
else
{
@@ -22642,7 +22719,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1001001x11xxxxxxxxxx
bf2cvtlt. */
- return 3444;
+ return 3544;
}
}
}
@@ -22653,7 +22730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xx101001xxxxxxxxxxxxx
fminnmv. */
- return 1501;
+ return 1553;
}
}
else
@@ -22664,7 +22741,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xx011001xxxxxxxxxxxxx
fcmne. */
- return 1462;
+ return 1514;
}
else
{
@@ -22674,7 +22751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x0111001xxxxxxxxxxxxx
fminv. */
- return 1502;
+ return 1554;
}
else
{
@@ -22682,7 +22759,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1111001xxxxxxxxxxxxx
frsqrte. */
- return 1534;
+ return 1586;
}
}
}
@@ -22698,7 +22775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1000xxxxx001xxxxxxxxxxxxx
stnt1w. */
- return 2313;
+ return 2349;
}
else
{
@@ -22706,7 +22783,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1100xxxxx001xxxxxxxxxxxxx
stnt1d. */
- return 2309;
+ return 2345;
}
}
else
@@ -22715,7 +22792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1x10xxxxx001xxxxxxxxxxxxx
stnt1w. */
- return 2312;
+ return 2348;
}
}
}
@@ -22734,7 +22811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx0010xxxxxxx0xxxx
ctermeq. */
- return 1419;
+ return 1471;
}
else
{
@@ -22742,7 +22819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx0011xxxxxxx0xxxx
whilewr. */
- return 2391;
+ return 2427;
}
}
else
@@ -22753,7 +22830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx0010xxxxxxx1xxxx
ctermne. */
- return 1420;
+ return 1472;
}
else
{
@@ -22761,7 +22838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx0011xxxxxxx1xxxx
whilerw. */
- return 2390;
+ return 2426;
}
}
}
@@ -22773,7 +22850,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x1xxxxx001xxxxxxxxxxxxx
ld1row. */
- return 3051;
+ return 3146;
}
else
{
@@ -22781,7 +22858,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x1xxxxx001xxxxxxxxxxxxx
ld1rod. */
- return 3052;
+ return 3147;
}
}
}
@@ -22791,7 +22868,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11001x1xx1xxxxx001xxxxxxxxxxxxx
fmls. */
- return 1507;
+ return 1559;
}
}
}
@@ -22818,7 +22895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x10000xxxx01xxxx0xxxx0xxxx
and. */
- return 1350;
+ return 1402;
}
else
{
@@ -22826,7 +22903,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x10000xxxx01xxxx0xxxx1xxxx
bic. */
- return 1362;
+ return 1414;
}
}
else
@@ -22837,7 +22914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x100010xxx01xxxx0xxxxxxxxx
brka. */
- return 1364;
+ return 1416;
}
else
{
@@ -22845,7 +22922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x100011xxx01xxxx0xxxxxxxxx
brkn. */
- return 1368;
+ return 1420;
}
}
}
@@ -22857,7 +22934,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1000xxxxx01xxxx1xxxx0xxxx
eor. */
- return 1437;
+ return 1489;
}
else
{
@@ -22865,7 +22942,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1000xxxxx01xxxx1xxxx1xxxx
sel. */
- return 1888;
+ return 1924;
}
}
}
@@ -22877,7 +22954,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1000xxxxx010xxxxxxxxxxxxx
ld1sh. */
- return 1636;
+ return 1688;
}
else
{
@@ -22885,7 +22962,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1000xxxxx011xxxxxxxxxxxxx
ldff1sh. */
- return 1736;
+ return 1777;
}
}
}
@@ -22903,7 +22980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x11000xxxx01xxxx0xxxx0xxxx
orr. */
- return 1823;
+ return 1859;
}
else
{
@@ -22911,7 +22988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x11000xxxx01xxxx0xxxx1xxxx
orn. */
- return 1818;
+ return 1854;
}
}
else
@@ -22920,7 +22997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x11001xxxx01xxxx0xxxxxxxxx
brkb. */
- return 1366;
+ return 1418;
}
}
else
@@ -22931,7 +23008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1100xxxxx01xxxx1xxxx0xxxx
nor. */
- return 1815;
+ return 1851;
}
else
{
@@ -22939,7 +23016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1100xxxxx01xxxx1xxxx1xxxx
nand. */
- return 1812;
+ return 1848;
}
}
}
@@ -22951,7 +23028,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1100xxxxx010xxxxxxxxxxxxx
ld1sb. */
- return 1624;
+ return 1676;
}
else
{
@@ -22959,7 +23036,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1100xxxxx011xxxxxxxxxxxxx
ldff1sb. */
- return 1724;
+ return 1768;
}
}
}
@@ -22980,7 +23057,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x10100xxxx01xxxx0xxxx0xxxx
ands. */
- return 1351;
+ return 1403;
}
else
{
@@ -22990,7 +23067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x101010xxx01xxxx0xxxx0xxxx
brkas. */
- return 1365;
+ return 1417;
}
else
{
@@ -22998,7 +23075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x101011xxx01xxxx0xxxx0xxxx
brkns. */
- return 1369;
+ return 1421;
}
}
}
@@ -23008,7 +23085,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1010xxxxx01xxxx1xxxx0xxxx
eors. */
- return 1438;
+ return 1490;
}
}
else
@@ -23017,7 +23094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1010xxxxx01xxxxxxxxx1xxxx
bics. */
- return 1363;
+ return 1415;
}
}
else
@@ -23028,7 +23105,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1010xxxxx010xxxxxxxxxxxxx
ld1w. */
- return 1655;
+ return 1707;
}
else
{
@@ -23036,7 +23113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1010xxxxx011xxxxxxxxxxxxx
ldff1w. */
- return 1755;
+ return 1793;
}
}
}
@@ -23054,7 +23131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x11100xxxx01xxxx0xxxx0xxxx
orrs. */
- return 1824;
+ return 1860;
}
else
{
@@ -23062,7 +23139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x11101xxxx01xxxx0xxxx0xxxx
brkbs. */
- return 1367;
+ return 1419;
}
}
else
@@ -23071,7 +23148,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1110xxxxx01xxxx1xxxx0xxxx
nors. */
- return 1816;
+ return 1852;
}
}
else
@@ -23082,7 +23159,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1110xxxxx01xxxx0xxxx1xxxx
orns. */
- return 1819;
+ return 1855;
}
else
{
@@ -23090,7 +23167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1110xxxxx01xxxx1xxxx1xxxx
nands. */
- return 1813;
+ return 1849;
}
}
}
@@ -23102,7 +23179,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1110xxxxx010xxxxxxxxxxxxx
ld1sb. */
- return 1626;
+ return 1678;
}
else
{
@@ -23110,7 +23187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1110xxxxx011xxxxxxxxxxxxx
ldff1sb. */
- return 1728;
+ return 1770;
}
}
}
@@ -23126,7 +23203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01xxxxxxxxx0xxxx
psel. */
- return 2466;
+ return 2492;
}
else
{
@@ -23142,7 +23219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x000xxxxx10xxx
whilege. */
- return 2949;
+ return 2975;
}
else
{
@@ -23150,7 +23227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x000xxxxx11xxx
whilegt. */
- return 2950;
+ return 2976;
}
}
else
@@ -23163,7 +23240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx010100xxxxx1xxx0
whilege. */
- return 2486;
+ return 2512;
}
else
{
@@ -23171,7 +23248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx010100xxxxx1xxx1
whilegt. */
- return 2487;
+ return 2513;
}
}
else
@@ -23180,7 +23257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx011100xxxxx1xxxx
pext. */
- return 2690;
+ return 2716;
}
}
}
@@ -23194,7 +23271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x010xxxxx10xxx
whilehs. */
- return 2952;
+ return 2978;
}
else
{
@@ -23202,7 +23279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x010xxxxx11xxx
whilehi. */
- return 2951;
+ return 2977;
}
}
else
@@ -23215,7 +23292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx010110xxxxx1xxx0
whilehs. */
- return 2489;
+ return 2515;
}
else
{
@@ -23223,7 +23300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx010110xxxxx1xxx1
whilehi. */
- return 2488;
+ return 2514;
}
}
else
@@ -23232,7 +23309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx011110xxxxx1xxxx
ptrue. */
- return 2692;
+ return 2718;
}
}
}
@@ -23249,7 +23326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x001xxxxx10xxx
whilelt. */
- return 2956;
+ return 2982;
}
else
{
@@ -23257,7 +23334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x001xxxxx11xxx
whilele. */
- return 2953;
+ return 2979;
}
}
else
@@ -23270,7 +23347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx010101xxxxx1xxx0
whilelt. */
- return 2493;
+ return 2519;
}
else
{
@@ -23278,7 +23355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx010101xxxxx1xxx1
whilele. */
- return 2490;
+ return 2516;
}
}
else
@@ -23287,7 +23364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx011101xxxxx1xxxx
pext. */
- return 2691;
+ return 2717;
}
}
}
@@ -23301,7 +23378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x011xxxxx10xxx
whilelo. */
- return 2954;
+ return 2980;
}
else
{
@@ -23309,7 +23386,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x011xxxxx11xxx
whilels. */
- return 2955;
+ return 2981;
}
}
else
@@ -23320,7 +23397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x111xxxxx1xxx0
whilelo. */
- return 2491;
+ return 2517;
}
else
{
@@ -23328,7 +23405,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx01x111xxxxx1xxx1
whilels. */
- return 2492;
+ return 2518;
}
}
}
@@ -23347,7 +23424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1001xxxxx010xxxxxxxxxxxxx
ld1sh. */
- return 1637;
+ return 1689;
}
else
{
@@ -23355,7 +23432,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1101xxxxx010xxxxxxxxxxxxx
ld1sb. */
- return 1625;
+ return 1677;
}
}
else
@@ -23366,7 +23443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1011xxxxx010xxxxxxxxxxxxx
ld1w. */
- return 1656;
+ return 1708;
}
else
{
@@ -23374,7 +23451,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1111xxxxx010xxxxxxxxxxxxx
ld1d. */
- return 1578;
+ return 1630;
}
}
}
@@ -23388,7 +23465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1001xxxxx011xxxxxxxxxxxxx
ldff1sh. */
- return 1738;
+ return 1778;
}
else
{
@@ -23396,7 +23473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1101xxxxx011xxxxxxxxxxxxx
ldff1sb. */
- return 1726;
+ return 1769;
}
}
else
@@ -23407,7 +23484,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1011xxxxx011xxxxxxxxxxxxx
ldff1w. */
- return 1757;
+ return 1794;
}
else
{
@@ -23415,7 +23492,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1111xxxxx011xxxxxxxxxxxxx
ldff1d. */
- return 1702;
+ return 1750;
}
}
}
@@ -23436,7 +23513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx010xxxxxxxx0xxxx
fcmge. */
- return 1457;
+ return 1509;
}
else
{
@@ -23444,7 +23521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx010xxxxxxxx1xxxx
fcmgt. */
- return 1459;
+ return 1511;
}
}
else
@@ -23453,7 +23530,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx010xxxxxxxxxxxxx
fnmla. */
- return 1521;
+ return 1573;
}
}
else
@@ -23466,7 +23543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x100xxxxxx010xxxxxxxxxxxxx
st1w. */
- return 3413;
+ return 3513;
}
else
{
@@ -23474,7 +23551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x110xxxxxx010xxxxxxxxxxxxx
str. */
- return 2010;
+ return 2046;
}
}
else
@@ -23487,7 +23564,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1010xxxxx010xxxxxxxxxxxxx
st1w. */
- return 1968;
+ return 2004;
}
else
{
@@ -23495,7 +23572,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1110xxxxx010xxxxxxxxxxxxx
st1d. */
- return 3411;
+ return 3511;
}
}
else
@@ -23506,7 +23583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1011xxxxx010xxxxxxxxxxxxx
st1w. */
- return 1970;
+ return 2006;
}
else
{
@@ -23514,7 +23591,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1111xxxxx010xxxxxxxxxxxxx
st1d. */
- return 1947;
+ return 1983;
}
}
}
@@ -23532,7 +23609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx011xxxxxxxx0xxxx
fcmeq. */
- return 1455;
+ return 1507;
}
else
{
@@ -23540,7 +23617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx011xxxxxxxx1xxxx
fcmne. */
- return 1463;
+ return 1515;
}
}
else
@@ -23553,7 +23630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1000xxxxx011xxxxxxxxxxxxx
stnt1w. */
- return 2006;
+ return 2042;
}
else
{
@@ -23561,7 +23638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1100xxxxx011xxxxxxxxxxxxx
stnt1d. */
- return 2002;
+ return 2038;
}
}
else
@@ -23572,7 +23649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1010xxxxx011xxxxxxxxxxxxx
st3w. */
- return 1990;
+ return 2026;
}
else
{
@@ -23580,7 +23657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1110xxxxx011xxxxxxxxxxxxx
st3d. */
- return 1986;
+ return 2022;
}
}
}
@@ -23593,7 +23670,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx011xxxxxxxxxxxxx
fnmls. */
- return 1522;
+ return 1574;
}
else
{
@@ -23605,7 +23682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1001xxxxx011xxxxxxxxxxxxx
st2w. */
- return 1982;
+ return 2018;
}
else
{
@@ -23613,7 +23690,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1101xxxxx011xxxxxxxxxxxxx
st2d. */
- return 1978;
+ return 2014;
}
}
else
@@ -23624,7 +23701,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1011xxxxx011xxxxxxxxxxxxx
st4w. */
- return 1998;
+ return 2034;
}
else
{
@@ -23632,7 +23709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1111xxxxx011xxxxxxxxxxxxx
st4d. */
- return 1994;
+ return 2030;
}
}
}
@@ -23659,7 +23736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx0xxxxx100xxxxxxxx0xxxx
cmpeq. */
- return 1384;
+ return 1436;
}
else
{
@@ -23667,7 +23744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx0xxxxx100xxxxxxxx1xxxx
cmpne. */
- return 1407;
+ return 1459;
}
}
else
@@ -23678,7 +23755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x0xxxxx100xxxxxxxxxxxxx
ld1w. */
- return 3409;
+ return 3509;
}
else
{
@@ -23686,7 +23763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x0xxxxx100xxxxxxxxxxxxx
ld1d. */
- return 3407;
+ return 3507;
}
}
}
@@ -23702,7 +23779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x10000xxxx101xxxxxxxxxxxxx
ld1sh. */
- return 1643;
+ return 1695;
}
else
{
@@ -23710,7 +23787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x11000xxxx101xxxxxxxxxxxxx
ld1sb. */
- return 1630;
+ return 1682;
}
}
else
@@ -23721,7 +23798,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x10100xxxx101xxxxxxxxxxxxx
ld1w. */
- return 1662;
+ return 1714;
}
else
{
@@ -23729,7 +23806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x11100xxxx101xxxxxxxxxxxxx
ld1sb. */
- return 1632;
+ return 1684;
}
}
}
@@ -23743,7 +23820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x10001xxxx101xxxxxxxxxxxxx
ldnf1sh. */
- return 1776;
+ return 1812;
}
else
{
@@ -23751,7 +23828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x11001xxxx101xxxxxxxxxxxxx
ldnf1sb. */
- return 1773;
+ return 1809;
}
}
else
@@ -23762,7 +23839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x10101xxxx101xxxxxxxxxxxxx
ldnf1w. */
- return 1779;
+ return 1815;
}
else
{
@@ -23770,7 +23847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01001x11101xxxx101xxxxxxxxxxxxx
ldnf1sb. */
- return 1775;
+ return 1811;
}
}
}
@@ -23790,7 +23867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1x000xxxx11xxxxxxxxx0xxxx
brkpa. */
- return 1370;
+ return 1422;
}
else
{
@@ -23798,7 +23875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1x100xxxx11xxxxxxxxx0xxxx
brkpas. */
- return 1371;
+ return 1423;
}
}
else
@@ -23811,7 +23888,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx010xx011xxxxxxxxx0xxxx
ptest. */
- return 1858;
+ return 1894;
}
else
{
@@ -23825,7 +23902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx011xx01100x0xxxxx0xxxx
pfirst. */
- return 1828;
+ return 1864;
}
else
{
@@ -23833,7 +23910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx011xx01110x0xxxxx0xxxx
ptrue. */
- return 1859;
+ return 1895;
}
}
else
@@ -23844,7 +23921,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1x0011xx011x1x0xxxxx0xxxx
rdffr. */
- return 1865;
+ return 1901;
}
else
{
@@ -23852,7 +23929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1x1011xx011x1x0xxxxx0xxxx
rdffrs. */
- return 1866;
+ return 1902;
}
}
}
@@ -23862,7 +23939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx011xx011xxx1xxxxx0xxxx
pfalse. */
- return 1826;
+ return 1862;
}
}
}
@@ -23876,7 +23953,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx01xxx111x0x0xxxxx0xxxx
ptrues. */
- return 1860;
+ return 1896;
}
else
{
@@ -23884,7 +23961,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx01xxx111x1x0xxxxx0xxxx
rdffr. */
- return 1864;
+ return 1900;
}
}
else
@@ -23893,7 +23970,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx01xxx111xxx1xxxxx0xxxx
pnext. */
- return 1829;
+ return 1865;
}
}
}
@@ -23906,7 +23983,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1x00xxxxx11xxxxxxxxx1xxxx
brkpb. */
- return 1372;
+ return 1424;
}
else
{
@@ -23914,7 +23991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1x10xxxxx11xxxxxxxxx1xxxx
brkpbs. */
- return 1373;
+ return 1425;
}
}
}
@@ -23930,7 +24007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1000xxxxx110xxxxxxxxxxxxx
ldnt1w. */
- return 1787;
+ return 1823;
}
else
{
@@ -23938,7 +24015,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1100xxxxx110xxxxxxxxxxxxx
ldnt1d. */
- return 1783;
+ return 1819;
}
}
else
@@ -23949,7 +24026,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1010xxxxx110xxxxxxxxxxxxx
ld3w. */
- return 1679;
+ return 1731;
}
else
{
@@ -23957,7 +24034,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1110xxxxx110xxxxxxxxxxxxx
ld3d. */
- return 1675;
+ return 1727;
}
}
}
@@ -23973,7 +24050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10000xxxx111xxxxxxxxxxxxx
ldnt1w. */
- return 1788;
+ return 1824;
}
else
{
@@ -23981,7 +24058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11000xxxx111xxxxxxxxxxxxx
ldnt1d. */
- return 1784;
+ return 1820;
}
}
else
@@ -23992,7 +24069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10100xxxx111xxxxxxxxxxxxx
ld3w. */
- return 1680;
+ return 1732;
}
else
{
@@ -24000,7 +24077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11100xxxx111xxxxxxxxxxxxx
ld3d. */
- return 1676;
+ return 1728;
}
}
}
@@ -24012,7 +24089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x01xxxx111xxxxxxxxxxxxx
ld3q. */
- return 3416;
+ return 3516;
}
else
{
@@ -24020,7 +24097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x01xxxx111xxxxxxxxxxxxx
ld4q. */
- return 3417;
+ return 3517;
}
}
}
@@ -24049,7 +24126,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000000100xxxxxxxxxxxxx
fadd. */
- return 1446;
+ return 1498;
}
else
{
@@ -24057,7 +24134,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000100100xxxxxxxxxxxxx
fmaxnm. */
- return 1493;
+ return 1545;
}
}
else
@@ -24068,7 +24145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000010100xxxxxxxxxxxxx
fmul. */
- return 1513;
+ return 1565;
}
else
{
@@ -24076,7 +24153,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000110100xxxxxxxxxxxxx
fmax. */
- return 1491;
+ return 1543;
}
}
}
@@ -24090,7 +24167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000001100xxxxxxxxxxxxx
fsub. */
- return 1539;
+ return 1591;
}
else
{
@@ -24098,7 +24175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000101100xxxxxxxxxxxxx
fminnm. */
- return 1499;
+ return 1551;
}
}
else
@@ -24109,7 +24186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000011100xxxxxxxxxxxxx
fsubr. */
- return 1541;
+ return 1593;
}
else
{
@@ -24117,7 +24194,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000111100xxxxxxxxxxxxx
fmin. */
- return 1497;
+ return 1549;
}
}
}
@@ -24128,7 +24205,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010xxx100xxxxxxxxxxxxx
ftmad. */
- return 1543;
+ return 1595;
}
}
else
@@ -24145,7 +24222,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001000100xxxxxxxxxxxxx
fabd. */
- return 1441;
+ return 1493;
}
else
{
@@ -24153,7 +24230,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011000100xxxxxxxxxxxxx
fadd. */
- return 1447;
+ return 1499;
}
}
else
@@ -24164,7 +24241,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001100100xxxxxxxxxxxxx
fdivr. */
- return 1487;
+ return 1539;
}
else
{
@@ -24172,7 +24249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011100100xxxxxxxxxxxxx
fmaxnm. */
- return 1494;
+ return 1546;
}
}
}
@@ -24186,7 +24263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001010100xxxxxxxxxxxxx
fmulx. */
- return 1518;
+ return 1570;
}
else
{
@@ -24194,7 +24271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011010100xxxxxxxxxxxxx
fmul. */
- return 1514;
+ return 1566;
}
}
else
@@ -24205,7 +24282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001110100xxxxxxxxxxxxx
famax. */
- return 1210;
+ return 1262;
}
else
{
@@ -24213,7 +24290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011110100xxxxxxxxxxxxx
fmax. */
- return 1492;
+ return 1544;
}
}
}
@@ -24230,7 +24307,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001001100xxxxxxxxxxxxx
fscale. */
- return 1536;
+ return 1588;
}
else
{
@@ -24238,7 +24315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011001100xxxxxxxxxxxxx
fsub. */
- return 1540;
+ return 1592;
}
}
else
@@ -24249,7 +24326,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001101100xxxxxxxxxxxxx
fdiv. */
- return 1486;
+ return 1538;
}
else
{
@@ -24257,7 +24334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011101100xxxxxxxxxxxxx
fminnm. */
- return 1500;
+ return 1552;
}
}
}
@@ -24269,7 +24346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0x1011100xxxxxxxxxxxxx
fsubr. */
- return 1542;
+ return 1594;
}
else
{
@@ -24279,7 +24356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001111100xxxxxxxxxxxxx
famin. */
- return 1211;
+ return 1263;
}
else
{
@@ -24287,7 +24364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011111100xxxxxxxxxxxxx
fmin. */
- return 1498;
+ return 1550;
}
}
}
@@ -24302,7 +24379,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx110xxxxxxxx0xxxx
fcmuo. */
- return 1464;
+ return 1516;
}
else
{
@@ -24310,7 +24387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx110xxxxxxxx1xxxx
facge. */
- return 1443;
+ return 1495;
}
}
}
@@ -24324,7 +24401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1000xxxxx1x0xxxxxxxxxxxxx
st1w. */
- return 1964;
+ return 2000;
}
else
{
@@ -24332,7 +24409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1100xxxxx1x0xxxxxxxxxxxxx
st1d. */
- return 1943;
+ return 1979;
}
}
else
@@ -24341,7 +24418,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1x10xxxxx1x0xxxxxxxxxxxxx
st1w. */
- return 1969;
+ return 2005;
}
}
}
@@ -24365,7 +24442,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000000101xxxxxxxxxxxxx
frintn. */
- return 1530;
+ return 1582;
}
else
{
@@ -24373,7 +24450,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010000101xxxxxxxxxxxxx
scvtf. */
- return 1878;
+ return 1914;
}
}
else
@@ -24384,7 +24461,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000100101xxxxxxxxxxxxx
frinta. */
- return 1527;
+ return 1579;
}
else
{
@@ -24394,7 +24471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x0010100101xxxxxxxxxxxxx
scvtf. */
- return 1877;
+ return 1913;
}
else
{
@@ -24404,7 +24481,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x101010100101xxxxxxxxxxxxx
scvtf. */
- return 1876;
+ return 1912;
}
else
{
@@ -24412,7 +24489,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x111010100101xxxxxxxxxxxxx
scvtf. */
- return 1880;
+ return 1916;
}
}
}
@@ -24428,7 +24505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000010101xxxxxxxxxxxxx
frintm. */
- return 1529;
+ return 1581;
}
else
{
@@ -24436,7 +24513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010010101xxxxxxxxxxxxx
scvtf. */
- return 1875;
+ return 1911;
}
}
else
@@ -24447,7 +24524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000110101xxxxxxxxxxxxx
frintx. */
- return 1532;
+ return 1584;
}
else
{
@@ -24457,7 +24534,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x10x010110101xxxxxxxxxxxxx
scvtf. */
- return 1879;
+ return 1915;
}
else
{
@@ -24465,7 +24542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x11x010110101xxxxxxxxxxxxx
scvtf. */
- return 1881;
+ return 1917;
}
}
}
@@ -24485,7 +24562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x0001000101xxxxxxxxxxxxx
fcvt. */
- return 1466;
+ return 1518;
}
else
{
@@ -24493,7 +24570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x1001000101xxxxxxxxxxxxx
fcvt. */
- return 1468;
+ return 1520;
}
}
else
@@ -24502,7 +24579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001100101xxxxxxxxxxxxx
frecpx. */
- return 1526;
+ return 1578;
}
}
else
@@ -24515,7 +24592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x100001x10101xxxxxxxxxxxxx
fcvtx. */
- return 2139;
+ return 2175;
}
else
{
@@ -24523,7 +24600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x110001x10101xxxxxxxxxxxxx
bfcvt. */
- return 3068;
+ return 3163;
}
}
else
@@ -24532,7 +24609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x1001x10101xxxxxxxxxxxxx
fcvt. */
- return 1470;
+ return 1522;
}
}
}
@@ -24546,7 +24623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x100011xx0101xxxxxxxxxxxxx
flogb. */
- return 2141;
+ return 2177;
}
else
{
@@ -24554,7 +24631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x110011xx0101xxxxxxxxxxxxx
fcvtzs. */
- return 1475;
+ return 1527;
}
}
else
@@ -24567,7 +24644,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x1011000101xxxxxxxxxxxxx
fcvtzs. */
- return 1476;
+ return 1528;
}
else
{
@@ -24577,7 +24654,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x101011100101xxxxxxxxxxxxx
fcvtzs. */
- return 1473;
+ return 1525;
}
else
{
@@ -24585,7 +24662,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x111011100101xxxxxxxxxxxxx
fcvtzs. */
- return 1477;
+ return 1529;
}
}
}
@@ -24597,7 +24674,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x1011010101xxxxxxxxxxxxx
fcvtzs. */
- return 1472;
+ return 1524;
}
else
{
@@ -24607,7 +24684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x101011110101xxxxxxxxxxxxx
fcvtzs. */
- return 1474;
+ return 1526;
}
else
{
@@ -24615,7 +24692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x111011110101xxxxxxxxxxxxx
fcvtzs. */
- return 1478;
+ return 1530;
}
}
}
@@ -24637,7 +24714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000001101xxxxxxxxxxxxx
frintp. */
- return 1531;
+ return 1583;
}
else
{
@@ -24645,7 +24722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010001101xxxxxxxxxxxxx
ucvtf. */
- return 2031;
+ return 2067;
}
}
else
@@ -24658,7 +24735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x0001001101xxxxxxxxxxxxx
fcvt. */
- return 1467;
+ return 1519;
}
else
{
@@ -24666,7 +24743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x1001001101xxxxxxxxxxxxx
fcvt. */
- return 1469;
+ return 1521;
}
}
else
@@ -24675,7 +24752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011001101xxxxxxxxxxxxx
fcvtzu. */
- return 1483;
+ return 1535;
}
}
}
@@ -24689,7 +24766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x00x0101101xxxxxxxxxxxxx
ucvtf. */
- return 2030;
+ return 2066;
}
else
{
@@ -24699,7 +24776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1010x0101101xxxxxxxxxxxxx
ucvtf. */
- return 2029;
+ return 2065;
}
else
{
@@ -24707,7 +24784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1110x0101101xxxxxxxxxxxxx
ucvtf. */
- return 2033;
+ return 2069;
}
}
}
@@ -24719,7 +24796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001101101xxxxxxxxxxxxx
fsqrt. */
- return 1537;
+ return 1589;
}
else
{
@@ -24729,7 +24806,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1x0011101101xxxxxxxxxxxxx
fcvtzu. */
- return 1482;
+ return 1534;
}
else
{
@@ -24739,7 +24816,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x101011101101xxxxxxxxxxxxx
fcvtzu. */
- return 1480;
+ return 1532;
}
else
{
@@ -24747,7 +24824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x111011101101xxxxxxxxxxxxx
fcvtzu. */
- return 1484;
+ return 1536;
}
}
}
@@ -24766,7 +24843,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000011101xxxxxxxxxxxxx
frintz. */
- return 1533;
+ return 1585;
}
else
{
@@ -24774,7 +24851,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx010011101xxxxxxxxxxxxx
ucvtf. */
- return 2028;
+ return 2064;
}
}
else
@@ -24785,7 +24862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx001011101xxxxxxxxxxxxx
fcvt. */
- return 1471;
+ return 1523;
}
else
{
@@ -24793,7 +24870,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx011011101xxxxxxxxxxxxx
fcvtzu. */
- return 1479;
+ return 1531;
}
}
}
@@ -24807,7 +24884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx000111101xxxxxxxxxxxxx
frinti. */
- return 1528;
+ return 1580;
}
else
{
@@ -24817,7 +24894,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x10x010111101xxxxxxxxxxxxx
ucvtf. */
- return 2032;
+ return 2068;
}
else
{
@@ -24825,7 +24902,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x11x010111101xxxxxxxxxxxxx
ucvtf. */
- return 2034;
+ return 2070;
}
}
}
@@ -24837,7 +24914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x10x0x1111101xxxxxxxxxxxxx
fcvtzu. */
- return 1481;
+ return 1533;
}
else
{
@@ -24845,7 +24922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x11x0x1111101xxxxxxxxxxxxx
fcvtzu. */
- return 1485;
+ return 1537;
}
}
}
@@ -24862,7 +24939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1000xxxxx101xxxxxxxxxxxxx
st1w. */
- return 1965;
+ return 2001;
}
else
{
@@ -24870,7 +24947,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1100xxxxx101xxxxxxxxxxxxx
st1d. */
- return 1944;
+ return 1980;
}
}
else
@@ -24881,7 +24958,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1010xxxxx101xxxxxxxxxxxxx
st1w. */
- return 1972;
+ return 2008;
}
else
{
@@ -24889,7 +24966,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1110xxxxx101xxxxxxxxxxxxx
st1d. */
- return 1948;
+ return 1984;
}
}
}
@@ -24902,7 +24979,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx0xxxxx111xxxxxxxxxxxxx
facgt. */
- return 1444;
+ return 1496;
}
else
{
@@ -24914,7 +24991,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1x000xxxx111xxxxxxxxxxxxx
st1w. */
- return 3412;
+ return 3512;
}
else
{
@@ -24924,7 +25001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x10100xxxx111xxxxxxxxxxxxx
st1w. */
- return 1973;
+ return 2009;
}
else
{
@@ -24932,7 +25009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x11100xxxx111xxxxxxxxxxxxx
st1d. */
- return 3410;
+ return 3510;
}
}
}
@@ -24946,7 +25023,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x10001xxxx111xxxxxxxxxxxxx
stnt1w. */
- return 2007;
+ return 2043;
}
else
{
@@ -24954,7 +25031,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x11001xxxx111xxxxxxxxxxxxx
stnt1d. */
- return 2003;
+ return 2039;
}
}
else
@@ -24965,7 +25042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x10101xxxx111xxxxxxxxxxxxx
st3w. */
- return 1991;
+ return 2027;
}
else
{
@@ -24973,7 +25050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x11101xxxx111xxxxxxxxxxxxx
st3d. */
- return 1987;
+ return 2023;
}
}
}
@@ -25004,7 +25081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x000010xxxx0xxxxxxxxx
cntp. */
- return 1413;
+ return 1465;
}
else
{
@@ -25018,7 +25095,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x100010x0000xxxxxxxxx
sqincp. */
- return 1922;
+ return 1958;
}
else
{
@@ -25026,7 +25103,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x100010x1000xxxxxxxxx
wrffr. */
- return 2096;
+ return 2132;
}
}
else
@@ -25035,7 +25112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x100010xx100xxxxxxxxx
sqincp. */
- return 1924;
+ return 1960;
}
}
else
@@ -25044,7 +25121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x100010xxx10xxxxxxxxx
sqincp. */
- return 1923;
+ return 1959;
}
}
}
@@ -25058,7 +25135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10010x00x0xxxxxxxxx
incp. */
- return 1551;
+ return 1603;
}
else
{
@@ -25066,7 +25143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10010x10x0xxxxxxxxx
setffr. */
- return 1889;
+ return 1925;
}
}
else
@@ -25075,7 +25152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10010xx1x0xxxxxxxxx
incp. */
- return 1552;
+ return 1604;
}
}
}
@@ -25089,7 +25166,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx1010xx000xxxxxxxxx
sqdecp. */
- return 1908;
+ return 1944;
}
else
{
@@ -25097,7 +25174,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx1010xx100xxxxxxxxx
sqdecp. */
- return 1910;
+ return 1946;
}
}
else
@@ -25106,7 +25183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx1010xxx10xxxxxxxxx
sqdecp. */
- return 1909;
+ return 1945;
}
}
}
@@ -25124,7 +25201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx00110xx000xxxxxxxxx
uqincp. */
- return 2071;
+ return 2107;
}
else
{
@@ -25132,7 +25209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10110xx000xxxxxxxxx
decp. */
- return 1426;
+ return 1478;
}
}
else
@@ -25141,7 +25218,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx1110xx000xxxxxxxxx
uqdecp. */
- return 2057;
+ return 2093;
}
}
else
@@ -25154,7 +25231,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx00110xx100xxxxxxxxx
uqincp. */
- return 2072;
+ return 2108;
}
else
{
@@ -25162,7 +25239,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10110xx100xxxxxxxxx
decp. */
- return 1427;
+ return 1479;
}
}
else
@@ -25171,7 +25248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx1110xx100xxxxxxxxx
uqdecp. */
- return 2058;
+ return 2094;
}
}
}
@@ -25183,7 +25260,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx0110xxx10xxxxxxxxx
uqincp. */
- return 2073;
+ return 2109;
}
else
{
@@ -25191,7 +25268,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxx1110xxx10xxxxxxxxx
uqdecp. */
- return 2059;
+ return 2095;
}
}
}
@@ -25202,7 +25279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xxxxx10xxxx1xxxxxxxxx
cntp. */
- return 2529;
+ return 2555;
}
}
else
@@ -25215,7 +25292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10x1xxxxx100xxxxxxxxxxxxx
ld3q. */
- return 3419;
+ return 3519;
}
else
{
@@ -25223,7 +25300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11x1xxxxx100xxxxxxxxxxxxx
ld4q. */
- return 3420;
+ return 3520;
}
}
else
@@ -25238,7 +25315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10010xxxx101xxxxxxxxxxxxx
ld1sh. */
- return 1644;
+ return 1696;
}
else
{
@@ -25246,7 +25323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11010xxxx101xxxxxxxxxxxxx
ld1sb. */
- return 1631;
+ return 1683;
}
}
else
@@ -25257,7 +25334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10110xxxx101xxxxxxxxxxxxx
ld1w. */
- return 1663;
+ return 1715;
}
else
{
@@ -25265,7 +25342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11110xxxx101xxxxxxxxxxxxx
ld1d. */
- return 1583;
+ return 1635;
}
}
}
@@ -25279,7 +25356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10011xxxx101xxxxxxxxxxxxx
ldnf1sh. */
- return 1777;
+ return 1813;
}
else
{
@@ -25287,7 +25364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11011xxxx101xxxxxxxxxxxxx
ldnf1sb. */
- return 1774;
+ return 1810;
}
}
else
@@ -25298,7 +25375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x10111xxxx101xxxxxxxxxxxxx
ldnf1w. */
- return 1780;
+ return 1816;
}
else
{
@@ -25306,7 +25383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x11111xxxx101xxxxxxxxxxxxx
ldnf1d. */
- return 1769;
+ return 1805;
}
}
}
@@ -25331,7 +25408,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx10000011xxxxxxxxxxxxxx
add. */
- return 1340;
+ return 1392;
}
else
{
@@ -25339,7 +25416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx11000011xxxxxxxxxxxxxx
mul. */
- return 1810;
+ return 1846;
}
}
else
@@ -25350,7 +25427,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx10100011xxxxxxxxxxxxxx
smax. */
- return 1890;
+ return 1926;
}
else
{
@@ -25358,7 +25435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx11100011xxxxxxxxxxxxxx
dup. */
- return 1432;
+ return 1484;
}
}
}
@@ -25368,7 +25445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10011xxxxxxxxxxxxxx
sqadd. */
- return 1899;
+ return 1935;
}
}
else
@@ -25379,7 +25456,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx01011xxxxxxxxxxxxxx
smin. */
- return 1893;
+ return 1929;
}
else
{
@@ -25387,7 +25464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx11011xxxxxxxxxxxxxx
sqsub. */
- return 1929;
+ return 1965;
}
}
}
@@ -25403,7 +25480,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x000111xxxxxxxxxxxxxx
sub. */
- return 2012;
+ return 2048;
}
else
{
@@ -25413,7 +25490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx10100111xxxxxxxxxxxxxx
umax. */
- return 2040;
+ return 2076;
}
else
{
@@ -25421,7 +25498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx11100111xxxxxxxxxxxxxx
fdup. */
- return 1488;
+ return 1540;
}
}
}
@@ -25431,7 +25508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx10111xxxxxxxxxxxxxx
uqadd. */
- return 2048;
+ return 2084;
}
}
else
@@ -25444,7 +25521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x001111xxxxxxxxxxxxxx
subr. */
- return 2014;
+ return 2050;
}
else
{
@@ -25452,7 +25529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1x101111xxxxxxxxxxxxxx
umin. */
- return 2043;
+ return 2079;
}
}
else
@@ -25461,7 +25538,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
001001x1xx1xx11111xxxxxxxxxxxxxx
uqsub. */
- return 2078;
+ return 2114;
}
}
}
@@ -25478,7 +25555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1001xxxxx110xxxxxxxxxxxxx
ld2w. */
- return 1671;
+ return 1723;
}
else
{
@@ -25486,7 +25563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1101xxxxx110xxxxxxxxxxxxx
ld2d. */
- return 1667;
+ return 1719;
}
}
else
@@ -25497,7 +25574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1011xxxxx110xxxxxxxxxxxxx
ld4w. */
- return 1687;
+ return 1739;
}
else
{
@@ -25505,7 +25582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1111xxxxx110xxxxxxxxxxxxx
ld4d. */
- return 1683;
+ return 1735;
}
}
}
@@ -25519,7 +25596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1001xxxxx111xxxxxxxxxxxxx
ld2w. */
- return 1672;
+ return 1724;
}
else
{
@@ -25527,7 +25604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1101xxxxx111xxxxxxxxxxxxx
ld2d. */
- return 1668;
+ return 1720;
}
}
else
@@ -25538,7 +25615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1011xxxxx111xxxxxxxxxxxxx
ld4w. */
- return 1688;
+ return 1740;
}
else
{
@@ -25546,7 +25623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
101001x1111xxxxx111xxxxxxxxxxxxx
ld4d. */
- return 1684;
+ return 1736;
}
}
}
@@ -25565,7 +25642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx100xxxxxxxxxxxxx
fmad. */
- return 1490;
+ return 1542;
}
else
{
@@ -25573,7 +25650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx110xxxxxxxxxxxxx
fnmad. */
- return 1520;
+ return 1572;
}
}
else
@@ -25586,7 +25663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1001xxxxx1x0xxxxxxxxxxxxx
st1w. */
- return 1966;
+ return 2002;
}
else
{
@@ -25594,7 +25671,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1101xxxxx1x0xxxxxxxxxxxxx
st1d. */
- return 1945;
+ return 1981;
}
}
else
@@ -25603,7 +25680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1x11xxxxx1x0xxxxxxxxxxxxx
st1w. */
- return 1971;
+ return 2007;
}
}
}
@@ -25617,7 +25694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx101xxxxxxxxxxxxx
fmsb. */
- return 1511;
+ return 1563;
}
else
{
@@ -25629,7 +25706,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1001xxxxx101xxxxxxxxxxxxx
st1w. */
- return 1967;
+ return 2003;
}
else
{
@@ -25637,7 +25714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1101xxxxx101xxxxxxxxxxxxx
st1d. */
- return 1946;
+ return 1982;
}
}
else
@@ -25646,7 +25723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x1x11xxxxx101xxxxxxxxxxxxx
st1w. */
- return 1974;
+ return 2010;
}
}
}
@@ -25658,7 +25735,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
011001x1xx1xxxxx111xxxxxxxxxxxxx
fnmsb. */
- return 1523;
+ return 1575;
}
else
{
@@ -25670,7 +25747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x10x10xxxx111xxxxxxxxxxxxx
st1w. */
- return 1975;
+ return 2011;
}
else
{
@@ -25678,7 +25755,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x11x10xxxx111xxxxxxxxxxxxx
st1d. */
- return 1949;
+ return 1985;
}
}
else
@@ -25691,7 +25768,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x10011xxxx111xxxxxxxxxxxxx
st2w. */
- return 1983;
+ return 2019;
}
else
{
@@ -25699,7 +25776,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x11011xxxx111xxxxxxxxxxxxx
st2d. */
- return 1979;
+ return 2015;
}
}
else
@@ -25710,7 +25787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x10111xxxx111xxxxxxxxxxxxx
st4w. */
- return 1999;
+ return 2035;
}
else
{
@@ -25718,7 +25795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
111001x11111xxxx111xxxxxxxxxxxxx
st4d. */
- return 1995;
+ return 2031;
}
}
}
@@ -25782,7 +25859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx0xxxxxxxxxxxxxxxx0xx00
hlt. */
- return 753;
+ return 793;
}
else
{
@@ -25792,7 +25869,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100x01xxxxxxxxxxxxxxxx0xx00
brk. */
- return 752;
+ return 792;
}
else
{
@@ -25800,7 +25877,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100x11xxxxxxxxxxxxxxxx0xx00
tcancel. */
- return 1226;
+ return 1278;
}
}
}
@@ -25812,7 +25889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx0xxxxxxxxxxxxxxxx0xx10
hvc. */
- return 750;
+ return 790;
}
else
{
@@ -25820,7 +25897,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx1xxxxxxxxxxxxxxxx0xx10
dcps2. */
- return 756;
+ return 796;
}
}
}
@@ -25834,7 +25911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx0xxxxxxxxxxxxxxxx0xx01
svc. */
- return 749;
+ return 789;
}
else
{
@@ -25842,7 +25919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx1xxxxxxxxxxxxxxxx0xx01
dcps1. */
- return 755;
+ return 795;
}
}
else
@@ -25853,7 +25930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx0xxxxxxxxxxxxxxxx0xx11
smc. */
- return 751;
+ return 791;
}
else
{
@@ -25861,7 +25938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11010100xx1xxxxxxxxxxxxxxxx0xx11
dcps3. */
- return 757;
+ return 797;
}
}
}
@@ -25928,7 +26005,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1010100xxxxxxxxxxxxxxxxxxx1xxxx
bc.c. */
- return 3204;
+ return 3304;
}
else
{
@@ -26029,7 +26106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1010101x00xxxxxxxxxxxxxxxxxxxxx
xaflag. */
- return 811;
+ return 863;
}
else
{
@@ -26059,7 +26136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10101x1x100xxxxxxxxxxxxxxxxxxxx
sysp. */
- return 1273;
+ return 1325;
}
else
{
@@ -26067,7 +26144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10101x1x101xxxxxxxxxxxxxxxxxxxx
msrr. */
- return 1291;
+ return 1343;
}
}
}
@@ -26081,7 +26158,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1010101x01xxxxxxxxxxxxxxxxxxxxx
tstart. */
- return 1223;
+ return 1275;
}
else
{
@@ -26109,7 +26186,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10101x1x11xxxxxxxxxxxxxxxxxxxxx
mrrs. */
- return 1290;
+ return 1342;
}
}
}
@@ -26121,11 +26198,209 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 25) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx110100xxxxxxxxxxxxxxxxxxxxxxxx
- cbz. */
- return 655;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0110100xxxxxxxxxxxxxxxxxxxxxxxx
+ cbz. */
+ return 655;
+ }
+ else
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 21) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100x00xxxxx00xxxxxxxxxxxxxx
+ cbgt. */
+ return 658;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100010xxxxx00xxxxxxxxxxxxxx
+ cbhi. */
+ return 662;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100110xxxxx00xxxxxxxxxxxxxx
+ cbeq. */
+ return 666;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100x01xxxxx00xxxxxxxxxxxxxx
+ cbge. */
+ return 660;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100011xxxxx00xxxxxxxxxxxxxx
+ cbhs. */
+ return 664;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100111xxxxx00xxxxxxxxxxxxxx
+ cbne. */
+ return 667;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 21) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100x00xxxxx10xxxxxxxxxxxxxx
+ cbbgt. */
+ return 678;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100010xxxxx10xxxxxxxxxxxxxx
+ cbbhi. */
+ return 682;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100110xxxxx10xxxxxxxxxxxxxx
+ cbbeq. */
+ return 686;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100x01xxxxx10xxxxxxxxxxxxxx
+ cbbge. */
+ return 680;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100011xxxxx10xxxxxxxxxxxxxx
+ cbbhs. */
+ return 684;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100111xxxxx10xxxxxxxxxxxxxx
+ cbbne. */
+ return 687;
+ }
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 21) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100x00xxxxxx1xxxxxxxxxxxxxx
+ cbhgt. */
+ return 688;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100010xxxxxx1xxxxxxxxxxxxxx
+ cbhhi. */
+ return 692;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100110xxxxxx1xxxxxxxxxxxxxx
+ cbheq. */
+ return 696;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100x01xxxxxx1xxxxxxxxxxxxxx
+ cbhge. */
+ return 690;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100011xxxxxx1xxxxxxxxxxxxxx
+ cbhhs. */
+ return 694;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110100111xxxxxx1xxxxxxxxxxxxxx
+ cbhne. */
+ return 697;
+ }
+ }
+ }
+ }
+ }
}
else
{
@@ -26133,18 +26408,84 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx110110xxxxxxxxxxxxxxxxxxxxxxxx
tbz. */
- return 1300;
+ return 1352;
}
}
else
{
if (((word >> 25) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx110101xxxxxxxxxxxxxxxxxxxxxxxx
- cbnz. */
- return 656;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x0110101xxxxxxxxxxxxxxxxxxxxxxxx
+ cbnz. */
+ return 656;
+ }
+ else
+ {
+ if (((word >> 21) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110101x00xxxxxxxxxxxxxxxxxxxxx
+ cbgt. */
+ return 668;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110101010xxxxxxxxxxxxxxxxxxxxx
+ cbhi. */
+ return 672;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110101110xxxxxxxxxxxxxxxxxxxxx
+ cbeq. */
+ return 676;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110101x01xxxxxxxxxxxxxxxxxxxxx
+ cblt. */
+ return 670;
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110101011xxxxxxxxxxxxxxxxxxxxx
+ cblo. */
+ return 674;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ x1110101111xxxxxxxxxxxxxxxxxxxxx
+ cbne. */
+ return 677;
+ }
+ }
+ }
+ }
}
else
{
@@ -26152,7 +26493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx110111xxxxxxxxxxxxxxxxxxxxxxxx
tbnz. */
- return 1301;
+ return 1353;
}
}
}
@@ -26184,7 +26525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx10110000xxxxxxxxxxxxxxxxxxxxxx
stnp. */
- return 973;
+ return 1025;
}
}
else
@@ -26218,7 +26559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00110100xxxxx1xx0xxxxxxxxxxxxx
stl1. */
- return 1202;
+ return 1254;
}
}
else
@@ -26247,7 +26588,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx10110100xxxxxxxxxxxxxxxxxxxxxx
stp. */
- return 977;
+ return 1029;
}
}
}
@@ -26311,7 +26652,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx10110x10xxxxxxxxxxxxxxxxxxxxxx
stp. */
- return 983;
+ return 1035;
}
}
}
@@ -26335,7 +26676,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx10110001xxxxxxxxxxxxxxxxxxxxxx
ldnp. */
- return 974;
+ return 1026;
}
}
else
@@ -26369,7 +26710,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00110101xxxxx1xx0xxxxxxxxxxxxx
ldap1. */
- return 1203;
+ return 1255;
}
}
else
@@ -26398,7 +26739,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx10110101xxxxxxxxxxxxxxxxxxxxxx
ldp. */
- return 978;
+ return 1030;
}
}
}
@@ -26462,7 +26803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx10110x11xxxxxxxxxxxxxxxxxxxxxx
ldp. */
- return 984;
+ return 1036;
}
}
}
@@ -26477,7 +26818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011100xxxxxxxxxxxxxxxxxxxxxxxx
ldr. */
- return 988;
+ return 1040;
}
else
{
@@ -26485,21 +26826,351 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 22) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111100x0xxxxxxxxxx00xxxxxxxxxx
- stur. */
- return 925;
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x00xxxxxxxxx00xxxxxxxxxx
+ stur. */
+ return 977;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x10xxxxxxxxx00xxxxxxxxxx
+ ldur. */
+ return 978;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx111100x1xxxxxxxxxx00xxxxxxxxxx
- ldur. */
- return 926;
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100001xxxxx000000xxxxxxxxxx
+ ldfadd. */
+ return 3072;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100101xxxxx000000xxxxxxxxxx
+ ldfadda. */
+ return 3073;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100011xxxxx000000xxxxxxxxxx
+ ldfaddl. */
+ return 3075;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100111xxxxx000000xxxxxxxxxx
+ ldfaddal. */
+ return 3074;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x01xxxxx100000xxxxxxxxxx
+ stfadd. */
+ return 3112;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x11xxxxx100000xxxxxxxxxx
+ stfaddl. */
+ return 3113;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100001xxxxx010000xxxxxxxxxx
+ ldfmax. */
+ return 3076;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100101xxxxx010000xxxxxxxxxx
+ ldfmaxa. */
+ return 3077;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100011xxxxx010000xxxxxxxxxx
+ ldfmaxl. */
+ return 3079;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100111xxxxx010000xxxxxxxxxx
+ ldfmaxal. */
+ return 3078;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x01xxxxx110000xxxxxxxxxx
+ stfmax. */
+ return 3114;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x11xxxxx110000xxxxxxxxxx
+ stfmaxl. */
+ return 3115;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100001xxxxx0x1000xxxxxxxxxx
+ ldfmaxnm. */
+ return 3080;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100101xxxxx0x1000xxxxxxxxxx
+ ldfmaxnma. */
+ return 3081;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100011xxxxx0x1000xxxxxxxxxx
+ ldfmaxnml. */
+ return 3083;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100111xxxxx0x1000xxxxxxxxxx
+ ldfmaxnmal. */
+ return 3082;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x01xxxxx1x1000xxxxxxxxxx
+ stfmaxnm. */
+ return 3116;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x11xxxxx1x1000xxxxxxxxxx
+ stfmaxnml. */
+ return 3117;
+ }
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100001xxxxx0x0100xxxxxxxxxx
+ ldfmin. */
+ return 3084;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100101xxxxx0x0100xxxxxxxxxx
+ ldfmina. */
+ return 3085;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100011xxxxx0x0100xxxxxxxxxx
+ ldfminl. */
+ return 3087;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100111xxxxx0x0100xxxxxxxxxx
+ ldfminal. */
+ return 3086;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x01xxxxx1x0100xxxxxxxxxx
+ stfmin. */
+ return 3118;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x11xxxxx1x0100xxxxxxxxxx
+ stfminl. */
+ return 3119;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 15) & 0x1) == 0)
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100001xxxxx0x1100xxxxxxxxxx
+ ldfminnm. */
+ return 3088;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100101xxxxx0x1100xxxxxxxxxx
+ ldfminnma. */
+ return 3089;
+ }
+ }
+ else
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100011xxxxx0x1100xxxxxxxxxx
+ ldfminnml. */
+ return 3091;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100111xxxxx0x1100xxxxxxxxxx
+ ldfminnmal. */
+ return 3090;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 22) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x01xxxxx1x1100xxxxxxxxxx
+ stfminnm. */
+ return 3120;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx111100x11xxxxx1x1100xxxxxxxxxx
+ stfminnml. */
+ return 3121;
+ }
+ }
+ }
+ }
}
}
else
@@ -26510,7 +27181,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111100x0xxxxxxxxxx10xxxxxxxxxx
str. */
- return 904;
+ return 956;
}
else
{
@@ -26518,7 +27189,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111100x1xxxxxxxxxx10xxxxxxxxxx
ldr. */
- return 905;
+ return 957;
}
}
}
@@ -26530,7 +27201,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111100x0xxxxxxxxxxx1xxxxxxxxxx
str. */
- return 873;
+ return 925;
}
else
{
@@ -26538,7 +27209,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111100x1xxxxxxxxxxx1xxxxxxxxxx
ldr. */
- return 874;
+ return 926;
}
}
}
@@ -26555,7 +27226,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011101x0xxxxxxxxxxx0xxxxxxxxxx
stlur. */
- return 1205;
+ return 1257;
}
else
{
@@ -26573,7 +27244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0000x1xxxxxxxxxx
cpyp. */
- return 3132;
+ return 3232;
}
else
{
@@ -26581,7 +27252,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0000x1xxxxxxxxxx
cpye. */
- return 3134;
+ return 3234;
}
}
else
@@ -26592,7 +27263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1000x1xxxxxxxxxx
cpyprn. */
- return 3138;
+ return 3238;
}
else
{
@@ -26600,7 +27271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1000x1xxxxxxxxxx
cpyern. */
- return 3140;
+ return 3240;
}
}
}
@@ -26614,7 +27285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0100x1xxxxxxxxxx
cpypwn. */
- return 3135;
+ return 3235;
}
else
{
@@ -26622,7 +27293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0100x1xxxxxxxxxx
cpyewn. */
- return 3137;
+ return 3237;
}
}
else
@@ -26633,7 +27304,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1100x1xxxxxxxxxx
cpypn. */
- return 3141;
+ return 3241;
}
else
{
@@ -26641,7 +27312,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1100x1xxxxxxxxxx
cpyen. */
- return 3143;
+ return 3243;
}
}
}
@@ -26658,7 +27329,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0010x1xxxxxxxxxx
cpyprt. */
- return 3156;
+ return 3256;
}
else
{
@@ -26666,7 +27337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0010x1xxxxxxxxxx
cpyert. */
- return 3158;
+ return 3258;
}
}
else
@@ -26677,7 +27348,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1010x1xxxxxxxxxx
cpyprtrn. */
- return 3162;
+ return 3262;
}
else
{
@@ -26685,7 +27356,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1010x1xxxxxxxxxx
cpyertrn. */
- return 3164;
+ return 3264;
}
}
}
@@ -26699,7 +27370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0110x1xxxxxxxxxx
cpyprtwn. */
- return 3159;
+ return 3259;
}
else
{
@@ -26707,7 +27378,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0110x1xxxxxxxxxx
cpyertwn. */
- return 3161;
+ return 3261;
}
}
else
@@ -26718,7 +27389,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1110x1xxxxxxxxxx
cpyprtn. */
- return 3165;
+ return 3265;
}
else
{
@@ -26726,7 +27397,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1110x1xxxxxxxxxx
cpyertn. */
- return 3167;
+ return 3267;
}
}
}
@@ -26746,7 +27417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0001x1xxxxxxxxxx
cpypwt. */
- return 3144;
+ return 3244;
}
else
{
@@ -26754,7 +27425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0001x1xxxxxxxxxx
cpyewt. */
- return 3146;
+ return 3246;
}
}
else
@@ -26765,7 +27436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1001x1xxxxxxxxxx
cpypwtrn. */
- return 3150;
+ return 3250;
}
else
{
@@ -26773,7 +27444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1001x1xxxxxxxxxx
cpyewtrn. */
- return 3152;
+ return 3252;
}
}
}
@@ -26787,7 +27458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0101x1xxxxxxxxxx
cpypwtwn. */
- return 3147;
+ return 3247;
}
else
{
@@ -26795,7 +27466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0101x1xxxxxxxxxx
cpyewtwn. */
- return 3149;
+ return 3249;
}
}
else
@@ -26806,7 +27477,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1101x1xxxxxxxxxx
cpypwtn. */
- return 3153;
+ return 3253;
}
else
{
@@ -26814,7 +27485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1101x1xxxxxxxxxx
cpyewtn. */
- return 3155;
+ return 3255;
}
}
}
@@ -26831,7 +27502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0011x1xxxxxxxxxx
cpypt. */
- return 3168;
+ return 3268;
}
else
{
@@ -26839,7 +27510,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0011x1xxxxxxxxxx
cpyet. */
- return 3170;
+ return 3270;
}
}
else
@@ -26850,7 +27521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1011x1xxxxxxxxxx
cpyptrn. */
- return 3174;
+ return 3274;
}
else
{
@@ -26858,7 +27529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1011x1xxxxxxxxxx
cpyetrn. */
- return 3176;
+ return 3276;
}
}
}
@@ -26872,7 +27543,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx0111x1xxxxxxxxxx
cpyptwn. */
- return 3171;
+ return 3271;
}
else
{
@@ -26880,7 +27551,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx0111x1xxxxxxxxxx
cpyetwn. */
- return 3173;
+ return 3273;
}
}
else
@@ -26891,7 +27562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110100xxxxxx1111x1xxxxxxxxxx
cpyptn. */
- return 3177;
+ return 3277;
}
else
{
@@ -26899,7 +27570,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110110xxxxxx1111x1xxxxxxxxxx
cpyetn. */
- return 3179;
+ return 3279;
}
}
}
@@ -26913,7 +27584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111101x0xxxxxxxxxxxxxxxxxxxxxx
str. */
- return 892;
+ return 944;
}
}
else
@@ -26926,7 +27597,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011101x1xxxxxxxxxxx0xxxxxxxxxx
ldapur. */
- return 1204;
+ return 1256;
}
else
{
@@ -26944,7 +27615,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0000x1xxxxxxxxxx
cpym. */
- return 3133;
+ return 3233;
}
else
{
@@ -26952,7 +27623,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0000x1xxxxxxxxxx
setgp. */
- return 3192;
+ return 3292;
}
}
else
@@ -26963,7 +27634,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx1000x1xxxxxxxxxx
cpymrn. */
- return 3139;
+ return 3239;
}
else
{
@@ -26971,7 +27642,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx1000x1xxxxxxxxxx
setge. */
- return 3194;
+ return 3294;
}
}
}
@@ -26985,7 +27656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0100x1xxxxxxxxxx
cpymwn. */
- return 3136;
+ return 3236;
}
else
{
@@ -26993,7 +27664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0100x1xxxxxxxxxx
setgm. */
- return 3193;
+ return 3293;
}
}
else
@@ -27002,7 +27673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011101x1xxxxxx1100x1xxxxxxxxxx
cpymn. */
- return 3142;
+ return 3242;
}
}
}
@@ -27018,7 +27689,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0010x1xxxxxxxxxx
cpymrt. */
- return 3157;
+ return 3257;
}
else
{
@@ -27026,7 +27697,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0010x1xxxxxxxxxx
setgpn. */
- return 3198;
+ return 3298;
}
}
else
@@ -27037,7 +27708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx1010x1xxxxxxxxxx
cpymrtrn. */
- return 3163;
+ return 3263;
}
else
{
@@ -27045,7 +27716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx1010x1xxxxxxxxxx
setgen. */
- return 3200;
+ return 3300;
}
}
}
@@ -27059,7 +27730,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0110x1xxxxxxxxxx
cpymrtwn. */
- return 3160;
+ return 3260;
}
else
{
@@ -27067,7 +27738,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0110x1xxxxxxxxxx
setgmn. */
- return 3199;
+ return 3299;
}
}
else
@@ -27076,7 +27747,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011101x1xxxxxx1110x1xxxxxxxxxx
cpymrtn. */
- return 3166;
+ return 3266;
}
}
}
@@ -27095,7 +27766,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0001x1xxxxxxxxxx
cpymwt. */
- return 3145;
+ return 3245;
}
else
{
@@ -27103,7 +27774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0001x1xxxxxxxxxx
setgpt. */
- return 3195;
+ return 3295;
}
}
else
@@ -27114,7 +27785,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx1001x1xxxxxxxxxx
cpymwtrn. */
- return 3151;
+ return 3251;
}
else
{
@@ -27122,7 +27793,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx1001x1xxxxxxxxxx
setget. */
- return 3197;
+ return 3297;
}
}
}
@@ -27136,7 +27807,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0101x1xxxxxxxxxx
cpymwtwn. */
- return 3148;
+ return 3248;
}
else
{
@@ -27144,7 +27815,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0101x1xxxxxxxxxx
setgmt. */
- return 3196;
+ return 3296;
}
}
else
@@ -27153,7 +27824,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011101x1xxxxxx1101x1xxxxxxxxxx
cpymwtn. */
- return 3154;
+ return 3254;
}
}
}
@@ -27169,7 +27840,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0011x1xxxxxxxxxx
cpymt. */
- return 3169;
+ return 3269;
}
else
{
@@ -27177,7 +27848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0011x1xxxxxxxxxx
setgptn. */
- return 3201;
+ return 3301;
}
}
else
@@ -27188,7 +27859,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx1011x1xxxxxxxxxx
cpymtrn. */
- return 3175;
+ return 3275;
}
else
{
@@ -27196,7 +27867,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx1011x1xxxxxxxxxx
setgetn. */
- return 3203;
+ return 3303;
}
}
}
@@ -27210,7 +27881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110101xxxxxx0111x1xxxxxxxxxx
cpymtwn. */
- return 3172;
+ return 3272;
}
else
{
@@ -27218,7 +27889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx01110111xxxxxx0111x1xxxxxxxxxx
setgmtn. */
- return 3202;
+ return 3302;
}
}
else
@@ -27227,7 +27898,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011101x1xxxxxx1111x1xxxxxxxxxx
cpymtn. */
- return 3178;
+ return 3278;
}
}
}
@@ -27240,7 +27911,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx111101x1xxxxxxxxxxxxxxxxxxxxxx
ldr. */
- return 893;
+ return 945;
}
}
}
@@ -27288,7 +27959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110100xxxxxxxx100xxxxxxxxxx
luti2. */
- return 3479;
+ return 3579;
}
}
}
@@ -27302,7 +27973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110010xxxxxxxx000xxxxxxxxxx
luti4. */
- return 3481;
+ return 3581;
}
else
{
@@ -27310,7 +27981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110010xxxxxxxx100xxxxxxxxxx
luti4. */
- return 3482;
+ return 3582;
}
}
else
@@ -27319,7 +27990,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110110xxxxxxxxx00xxxxxxxxxx
luti2. */
- return 3480;
+ return 3580;
}
}
}
@@ -27435,7 +28106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00001110x00xxxxxx10001xxxxxxxxxx
fmlallbb. */
- return 3503;
+ return 3603;
}
else
{
@@ -27443,7 +28114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01001110x00xxxxxx10001xxxxxxxxxx
fmlalltb. */
- return 3505;
+ return 3605;
}
}
else
@@ -27454,7 +28125,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00001110x10xxxxxx10001xxxxxxxxxx
fmlallbt. */
- return 3504;
+ return 3604;
}
else
{
@@ -27462,7 +28133,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01001110x10xxxxxx10001xxxxxxxxxx
fmlalltt. */
- return 3506;
+ return 3606;
}
}
}
@@ -27483,7 +28154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx0xxxxx1x1001xxxxxxxxxx
smmla. */
- return 3059;
+ return 3154;
}
}
}
@@ -27516,7 +28187,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx0xxxxx1x0101xxxxxxxxxx
sdot. */
- return 2985;
+ return 3020;
}
}
else
@@ -27550,7 +28221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00001110x00xxxxxx11101xxxxxxxxxx
fcvtn. */
- return 3436;
+ return 3536;
}
else
{
@@ -27558,7 +28229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01001110x00xxxxxx11101xxxxxxxxxx
fcvtn2. */
- return 3437;
+ return 3537;
}
}
else
@@ -27567,7 +28238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110x10xxxxxx11101xxxxxxxxxx
fcvtn. */
- return 3438;
+ return 3538;
}
}
}
@@ -27623,7 +28294,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx0xxxxx1x1011xxxxxxxxxx
usmmla. */
- return 3061;
+ return 3156;
}
}
}
@@ -27657,7 +28328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110110xxxxx0x0111xxxxxxxxxx
famax. */
- return 1206;
+ return 1258;
}
}
}
@@ -27667,7 +28338,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx0xxxxx1x0111xxxxxxxxxx
usdot. */
- return 3062;
+ return 3157;
}
}
else
@@ -27710,7 +28381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110x00xxxxxx11111xxxxxxxxxx
fdot. */
- return 3495;
+ return 3595;
}
else
{
@@ -27720,7 +28391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110010xxxxxx11111xxxxxxxxxx
fdot. */
- return 3497;
+ return 3597;
}
else
{
@@ -27730,7 +28401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00001110110xxxxxx11111xxxxxxxxxx
fmlalb. */
- return 3499;
+ return 3599;
}
else
{
@@ -27738,7 +28409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01001110110xxxxxx11111xxxxxxxxxx
fmlalt. */
- return 3500;
+ return 3600;
}
}
}
@@ -27758,7 +28429,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110000xxxxxxxxxxxxxxxxxxxxx
eor3. */
- return 2992;
+ return 3027;
}
else
{
@@ -27766,7 +28437,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110100xxxxxxxxxxxxxxxxxxxxx
xar. */
- return 2994;
+ return 3029;
}
}
else
@@ -27777,7 +28448,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110x10xxxxx0xxxxxxxxxxxxxxx
sm3ss1. */
- return 2996;
+ return 3031;
}
else
{
@@ -27791,7 +28462,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110010xxxxx1xxx00xxxxxxxxxx
sm3tt1a. */
- return 2997;
+ return 3032;
}
else
{
@@ -27799,7 +28470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110110xxxxx1xxx00xxxxxxxxxx
sha512su0. */
- return 2990;
+ return 3025;
}
}
else
@@ -27808,7 +28479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110x10xxxxx1xxx10xxxxxxxxxx
sm3tt2a. */
- return 2999;
+ return 3034;
}
}
else
@@ -27821,7 +28492,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110010xxxxx1xxx01xxxxxxxxxx
sm3tt1b. */
- return 2998;
+ return 3033;
}
else
{
@@ -27829,7 +28500,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110110xxxxx1xxx01xxxxxxxxxx
sm4e. */
- return 3003;
+ return 3038;
}
}
else
@@ -27838,7 +28509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110x10xxxxx1xxx11xxxxxxxxxx
sm3tt2b. */
- return 3000;
+ return 3035;
}
}
}
@@ -27993,7 +28664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx101110110xxxxx0x0111xxxxxxxxxx
famin. */
- return 1208;
+ return 1260;
}
}
else
@@ -28012,7 +28683,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx101110110xxxxx0x1111xxxxxxxxxx
fscale. */
- return 3439;
+ return 3539;
}
}
}
@@ -28041,7 +28712,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx101110xx0xxxxx100101xxxxxxxxxx
udot. */
- return 2984;
+ return 3019;
}
}
else
@@ -28072,7 +28743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx101110xx0xxxxx101x01xxxxxxxxxx
ummla. */
- return 3060;
+ return 3155;
}
else
{
@@ -28087,11 +28758,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 12) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xx101110xx0xxxxx1x1011xxxxxxxxxx
- bfmmla. */
- return 3076;
+ if (((word >> 22) & 0x1) == 0)
+ {
+ if (((word >> 23) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110000xxxxx1x1011xxxxxxxxxx
+ fmmla. */
+ return 3182;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110100xxxxx1x1011xxxxxxxxxx
+ fmmla. */
+ return 3180;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xx101110x10xxxxx1x1011xxxxxxxxxx
+ bfmmla. */
+ return 3171;
+ }
}
else
{
@@ -28101,7 +28794,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1011100x0xxxxx1x1111xxxxxxxxxx
bfdot. */
- return 3074;
+ return 3169;
}
else
{
@@ -28111,7 +28804,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01011101x0xxxxx1x1111xxxxxxxxxx
bfmlalb. */
- return 3081;
+ return 3176;
}
else
{
@@ -28119,7 +28812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11011101x0xxxxx1x1111xxxxxxxxxx
bfmlalt. */
- return 3080;
+ return 3175;
}
}
}
@@ -28143,7 +28836,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx0xxx00xxxxxxxxxxxxxxxx
fcvtzs. */
- return 764;
+ return 804;
}
else
{
@@ -28151,7 +28844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx0xxx10xxxxxxxxxxxxxxxx
scvtf. */
- return 760;
+ return 800;
}
}
else
@@ -28162,7 +28855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx0xxx01xxxxxxxxxxxxxxxx
fcvtzu. */
- return 766;
+ return 806;
}
else
{
@@ -28170,7 +28863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx0xxx11xxxxxxxxxxxxxxxx
ucvtf. */
- return 762;
+ return 802;
}
}
}
@@ -28188,7 +28881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxx000x0xxxxxxxxxx
sha1c. */
- return 678;
+ return 718;
}
else
{
@@ -28196,7 +28889,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxx100x0xxxxxxxxxx
sha256h. */
- return 682;
+ return 722;
}
}
else
@@ -28207,7 +28900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxx010x0xxxxxxxxxx
sha1m. */
- return 680;
+ return 720;
}
else
{
@@ -28215,7 +28908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxx110x0xxxxxxxxxx
sha256su1. */
- return 684;
+ return 724;
}
}
}
@@ -28229,7 +28922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxx001x0xxxxxxxxxx
sha1p. */
- return 679;
+ return 719;
}
else
{
@@ -28237,7 +28930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxx101x0xxxxxxxxxx
sha256h2. */
- return 683;
+ return 723;
}
}
else
@@ -28246,7 +28939,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx0xxxxxxx11x0xxxxxxxxxx
sha1su0. */
- return 681;
+ return 721;
}
}
}
@@ -28597,7 +29290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx1x1xx0010010xxxxxxxxxx
aese. */
- return 671;
+ return 711;
}
}
else
@@ -28671,7 +29364,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx1x1xx0011010xxxxxxxxxx
aesmc. */
- return 673;
+ return 713;
}
}
else
@@ -28703,7 +29396,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
000011101x1xxxx1011010xxxxxxxxxx
bfcvtn. */
- return 3077;
+ return 3172;
}
else
{
@@ -28711,7 +29404,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
010011101x1xxxx1011010xxxxxxxxxx
bfcvtn2. */
- return 3078;
+ return 3173;
}
}
}
@@ -28746,7 +29439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx1x1xxx010110xxxxxxxxxx
aesd. */
- return 672;
+ return 712;
}
}
}
@@ -28789,7 +29482,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
0x001110xx1x1xx0011110xxxxxxxxxx
aesimc. */
- return 674;
+ return 714;
}
}
else
@@ -29029,7 +29722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110xx1xxxxx0xxxxxxxxxxxxxxx
bcax. */
- return 2995;
+ return 3030;
}
}
else
@@ -29404,7 +30097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101110001xxxx1011110xxxxxxxxxx
f1cvtl. */
- return 3432;
+ return 3532;
}
else
{
@@ -29412,7 +30105,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101110001xxxx1011110xxxxxxxxxx
f1cvtl2. */
- return 3433;
+ return 3533;
}
}
else
@@ -29423,7 +30116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101110101xxxx1011110xxxxxxxxxx
bf1cvtl. */
- return 3428;
+ return 3528;
}
else
{
@@ -29431,7 +30124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101110101xxxx1011110xxxxxxxxxx
bf1cvtl2. */
- return 3429;
+ return 3529;
}
}
}
@@ -29445,7 +30138,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101110011xxxx1011110xxxxxxxxxx
f2cvtl. */
- return 3434;
+ return 3534;
}
else
{
@@ -29453,7 +30146,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101110011xxxx1011110xxxxxxxxxx
f2cvtl2. */
- return 3435;
+ return 3535;
}
}
else
@@ -29464,7 +30157,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101110111xxxx1011110xxxxxxxxxx
bf2cvtl. */
- return 3430;
+ return 3530;
}
else
{
@@ -29472,7 +30165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101110111xxxx1011110xxxxxxxxxx
bf2cvtl2. */
- return 3431;
+ return 3531;
}
}
}
@@ -29728,7 +30421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11001110xx1xxxxx100000xxxxxxxxxx
sha512h. */
- return 2988;
+ return 3023;
}
}
}
@@ -29780,7 +30473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11001110xx1xxxxx110000xxxxxxxxxx
sm3partw1. */
- return 3001;
+ return 3036;
}
}
}
@@ -30023,7 +30716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110xx1xxxxx100010xxxxxxxxxx
sha512su1. */
- return 2991;
+ return 3026;
}
}
else
@@ -30099,7 +30792,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x0011100x1xxxxx110010xxxxxxxxxx
sm4ekey. */
- return 3004;
+ return 3039;
}
}
else
@@ -30925,7 +31618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110xx1xxxxx100001xxxxxxxxxx
sha512h2. */
- return 2989;
+ return 3024;
}
}
else
@@ -30957,7 +31650,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x0011100x1xxxxx110001xxxxxxxxxx
sm3partw2. */
- return 3002;
+ return 3037;
}
}
else
@@ -31197,7 +31890,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
1x001110xx1xxxxx100011xxxxxxxxxx
rax1. */
- return 2993;
+ return 3028;
}
}
else
@@ -31229,7 +31922,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01011100x1xxxxx110011xxxxxxxxxx
fmlal2. */
- return 3007;
+ return 3042;
}
else
{
@@ -31237,7 +31930,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11011100x1xxxxx110011xxxxxxxxxx
fmlal2. */
- return 3011;
+ return 3046;
}
}
}
@@ -31259,7 +31952,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x01011101x1xxxxx110011xxxxxxxxxx
fmlsl2. */
- return 3008;
+ return 3043;
}
else
{
@@ -31267,7 +31960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x11011101x1xxxxx110011xxxxxxxxxx
fmlsl2. */
- return 3012;
+ return 3047;
}
}
}
@@ -31306,7 +31999,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x00011100x1xxxxx111011xxxxxxxxxx
fmlal. */
- return 3005;
+ return 3040;
}
else
{
@@ -31314,7 +32007,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10011100x1xxxxx111011xxxxxxxxxx
fmlal. */
- return 3009;
+ return 3044;
}
}
else
@@ -31336,7 +32029,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x00011101x1xxxxx111011xxxxxxxxxx
fmlsl. */
- return 3006;
+ return 3041;
}
else
{
@@ -31344,7 +32037,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x10011101x1xxxxx111011xxxxxxxxxx
fmlsl. */
- return 3010;
+ return 3045;
}
}
else
@@ -31411,7 +32104,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx0011101x1xxxxx110111xxxxxxxxxx
famax. */
- return 1207;
+ return 1259;
}
else
{
@@ -31419,7 +32112,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1011101x1xxxxx110111xxxxxxxxxx
famin. */
- return 1209;
+ return 1261;
}
}
}
@@ -31471,7 +32164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx1011101x1xxxxx111111xxxxxxxxxx
fscale. */
- return 3440;
+ return 3540;
}
}
}
@@ -31507,7 +32200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx100000x00000xxxxxxxxxx
fcvtns. */
- return 768;
+ return 808;
}
else
{
@@ -31515,7 +32208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx110000x00000xxxxxxxxxx
fcvtms. */
- return 788;
+ return 836;
}
}
else
@@ -31526,7 +32219,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx101000x00000xxxxxxxxxx
fcvtps. */
- return 784;
+ return 830;
}
else
{
@@ -31534,38 +32227,104 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx111000x00000xxxxxxxxxx
fcvtzs. */
- return 792;
+ return 842;
}
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx100x00000xxxxxxxxxx
- fcvtas. */
- return 776;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100100x00000xxxxxxxxxx
+ fcvtas. */
+ return 820;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110100x00000xxxxxxxxxx
+ fcvtms. */
+ return 838;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x1100x00000xxxxxxxxxx
+ scvtf. */
+ return 816;
+ }
}
}
else
{
if (((word >> 18) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx010x00000xxxxxxxxxx
- scvtf. */
- return 772;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100010x00000xxxxxxxxxx
+ scvtf. */
+ return 814;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110010x00000xxxxxxxxxx
+ fcvtps. */
+ return 832;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx101010x00000xxxxxxxxxx
+ fcvtns. */
+ return 810;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx111010x00000xxxxxxxxxx
+ fcvtas. */
+ return 822;
+ }
+ }
}
else
{
if (((word >> 19) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1x0110x00000xxxxxxxxxx
- fmov. */
- return 780;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100110x00000xxxxxxxxxx
+ fmov. */
+ return 826;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110110x00000xxxxxxxxxx
+ fcvtzs. */
+ return 844;
+ }
}
else
{
@@ -31575,7 +32334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx101110x00000xxxxxxxxxx
fmov. */
- return 796;
+ return 848;
}
else
{
@@ -31583,7 +32342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx111110x00000xxxxxxxxxx
fjcvtzs. */
- return 798;
+ return 850;
}
}
}
@@ -31603,7 +32362,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx100001x00000xxxxxxxxxx
fcvtnu. */
- return 770;
+ return 811;
}
else
{
@@ -31611,7 +32370,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx110001x00000xxxxxxxxxx
fcvtmu. */
- return 790;
+ return 839;
}
}
else
@@ -31622,7 +32381,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx101001x00000xxxxxxxxxx
fcvtpu. */
- return 786;
+ return 833;
}
else
{
@@ -31630,38 +32389,104 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx111001x00000xxxxxxxxxx
fcvtzu. */
- return 794;
+ return 845;
}
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx101x00000xxxxxxxxxx
- fcvtau. */
- return 778;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100101x00000xxxxxxxxxx
+ fcvtau. */
+ return 823;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110101x00000xxxxxxxxxx
+ fcvtmu. */
+ return 841;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx1x1101x00000xxxxxxxxxx
+ ucvtf. */
+ return 819;
+ }
}
}
else
{
if (((word >> 18) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1xx011x00000xxxxxxxxxx
- ucvtf. */
- return 774;
+ if (((word >> 19) & 0x1) == 0)
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100011x00000xxxxxxxxxx
+ ucvtf. */
+ return 817;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110011x00000xxxxxxxxxx
+ fcvtpu. */
+ return 835;
+ }
+ }
+ else
+ {
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx101011x00000xxxxxxxxxx
+ fcvtnu. */
+ return 813;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx111011x00000xxxxxxxxxx
+ fcvtau. */
+ return 825;
+ }
+ }
}
else
{
if (((word >> 19) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxx11110xx1x0111x00000xxxxxxxxxx
- fmov. */
- return 782;
+ if (((word >> 20) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx100111x00000xxxxxxxxxx
+ fmov. */
+ return 828;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxx11110xx110111x00000xxxxxxxxxx
+ fcvtzu. */
+ return 847;
+ }
}
else
{
@@ -31669,7 +32494,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x1111x00000xxxxxxxxxx
fmov. */
- return 797;
+ return 849;
}
}
}
@@ -31691,7 +32516,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x0000010000xxxxxxxxxx
fmov. */
- return 817;
+ return 869;
}
else
{
@@ -31699,7 +32524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x1000010000xxxxxxxxxx
frint32z. */
- return 813;
+ return 865;
}
}
else
@@ -31708,7 +32533,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx100010000xxxxxxxxxx
frintn. */
- return 826;
+ return 878;
}
}
else
@@ -31721,7 +32546,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x0001010000xxxxxxxxxx
fneg. */
- return 821;
+ return 873;
}
else
{
@@ -31729,7 +32554,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x1001010000xxxxxxxxxx
frint64z. */
- return 815;
+ return 867;
}
}
else
@@ -31738,7 +32563,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx101010000xxxxxxxxxx
frintm. */
- return 830;
+ return 882;
}
}
}
@@ -31754,7 +32579,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x0000110000xxxxxxxxxx
fabs. */
- return 819;
+ return 871;
}
else
{
@@ -31762,7 +32587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x1000110000xxxxxxxxxx
frint32x. */
- return 814;
+ return 866;
}
}
else
@@ -31771,7 +32596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx100110000xxxxxxxxxx
frintp. */
- return 828;
+ return 880;
}
}
else
@@ -31784,7 +32609,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x0001110000xxxxxxxxxx
fsqrt. */
- return 823;
+ return 875;
}
else
{
@@ -31792,7 +32617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1x1001110000xxxxxxxxxx
frint64x. */
- return 816;
+ return 868;
}
}
else
@@ -31801,7 +32626,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx101110000xxxxxxxxxx
frintz. */
- return 832;
+ return 884;
}
}
}
@@ -31814,7 +32639,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx01xx10000xxxxxxxxxx
fcvt. */
- return 825;
+ return 877;
}
else
{
@@ -31826,7 +32651,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx110010000xxxxxxxxxx
frinta. */
- return 834;
+ return 886;
}
else
{
@@ -31834,7 +32659,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx111010000xxxxxxxxxx
frintx. */
- return 836;
+ return 888;
}
}
else
@@ -31843,7 +32668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xx11x110000xxxxxxxxxx
frinti. */
- return 838;
+ return 890;
}
}
}
@@ -31859,7 +32684,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xxxxxxx1000xxxxx00xxx
fcmp. */
- return 803;
+ return 855;
}
else
{
@@ -31867,7 +32692,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xxxxxxx1000xxxxx10xxx
fcmpe. */
- return 805;
+ return 857;
}
}
else
@@ -31878,7 +32703,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xxxxxxx1000xxxxx01xxx
fcmp. */
- return 807;
+ return 859;
}
else
{
@@ -31886,7 +32711,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xxxxxxx1000xxxxx11xxx
fcmpe. */
- return 809;
+ return 861;
}
}
}
@@ -31899,7 +32724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11110xx1xxxxxxxx100xxxxxxxxxx
fmov. */
- return 866;
+ return 918;
}
else
{
@@ -31949,7 +32774,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11110xx1xxxxx000010xxxxxxxxxx
fmul. */
- return 840;
+ return 892;
}
else
{
@@ -31957,7 +32782,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11110xx1xxxxx000010xxxxxxxxxx
sha1h. */
- return 675;
+ return 715;
}
}
else
@@ -31970,7 +32795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxx100010xxxxxxxxxx
fnmul. */
- return 856;
+ return 908;
}
else
{
@@ -32003,7 +32828,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxx010010xxxxxxxxxx
fmax. */
- return 848;
+ return 900;
}
else
{
@@ -32168,7 +32993,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxx001010xxxxxxxxxx
fadd. */
- return 844;
+ return 896;
}
else
{
@@ -32176,7 +33001,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1011110xx1xxxxx001010xxxxxxxxxx
sha256su0. */
- return 677;
+ return 717;
}
}
else
@@ -32295,7 +33120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx011110xx1xxxxx011010xxxxxxxxxx
fmaxnm. */
- return 852;
+ return 904;
}
else
{
@@ -32342,7 +33167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0x11110xx1xxxxx000110xxxxxxxxxx
fdiv. */
- return 842;
+ return 894;
}
else
{
@@ -32350,7 +33175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1x11110xx1xxxxx000110xxxxxxxxxx
sha1su1. */
- return 676;
+ return 716;
}
}
else
@@ -32381,7 +33206,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11110xx1xxxxx010110xxxxxxxxxx
fmin. */
- return 850;
+ return 902;
}
else
{
@@ -32550,7 +33375,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxx001110xxxxxxxxxx
fsub. */
- return 846;
+ return 898;
}
else
{
@@ -32701,7 +33526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxx011110xxxxxxxxxx
fminnm. */
- return 854;
+ return 906;
}
else
{
@@ -32803,7 +33628,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxxxxxx01xxxxx0xxxx
fccmp. */
- return 799;
+ return 851;
}
else
{
@@ -32811,7 +33636,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxxxxxx01xxxxx1xxxx
fccmpe. */
- return 801;
+ return 853;
}
}
else
@@ -32974,7 +33799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011110xx1xxxxxxxxx11xxxxxxxxxx
fcsel. */
- return 868;
+ return 920;
}
else
{
@@ -33187,7 +34012,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00111100xxxxxx0000x0xxxxxxxxxx
fdot. */
- return 3496;
+ return 3596;
}
else
{
@@ -33197,7 +34022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x000111110xxxxxx0000x0xxxxxxxxxx
fmlal. */
- return 3013;
+ return 3048;
}
else
{
@@ -33205,7 +34030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100111110xxxxxx0000x0xxxxxxxxxx
fmlal. */
- return 3017;
+ return 3052;
}
}
}
@@ -33217,7 +34042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00111101xxxxxx0000x0xxxxxxxxxx
fdot. */
- return 3498;
+ return 3598;
}
else
{
@@ -33227,7 +34052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x000111111xxxxxx0000x0xxxxxxxxxx
fmlalb. */
- return 3501;
+ return 3601;
}
else
{
@@ -33235,7 +34060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100111111xxxxxx0000x0xxxxxxxxxx
fmlalt. */
- return 3502;
+ return 3602;
}
}
}
@@ -33259,7 +34084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0001111xxxxxxxx0100x0xxxxxxxxxx
fmlsl. */
- return 3014;
+ return 3049;
}
else
{
@@ -33267,7 +34092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1001111xxxxxxxx0100x0xxxxxxxxxx
fmlsl. */
- return 3018;
+ return 3053;
}
}
else
@@ -33517,7 +34342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011111xx0xxxxx0xxxxxxxxxxxxxxx
fmadd. */
- return 858;
+ return 910;
}
else
{
@@ -33525,7 +34350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011111xx1xxxxx0xxxxxxxxxxxxxxx
fnmadd. */
- return 862;
+ return 914;
}
}
else
@@ -33777,7 +34602,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x010111100xxxxxx1000x0xxxxxxxxxx
fmlallbb. */
- return 3507;
+ return 3607;
}
else
{
@@ -33785,7 +34610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x110111100xxxxxx1000x0xxxxxxxxxx
fmlalltb. */
- return 3509;
+ return 3609;
}
}
else
@@ -33796,7 +34621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x010111110xxxxxx1000x0xxxxxxxxxx
fmlal2. */
- return 3015;
+ return 3050;
}
else
{
@@ -33804,7 +34629,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x110111110xxxxxx1000x0xxxxxxxxxx
fmlal2. */
- return 3019;
+ return 3054;
}
}
}
@@ -33816,7 +34641,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101111x1xxxxxx1000x0xxxxxxxxxx
fmlallbt. */
- return 3508;
+ return 3608;
}
else
{
@@ -33824,7 +34649,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101111x1xxxxxx1000x0xxxxxxxxxx
fmlalltt. */
- return 3510;
+ return 3610;
}
}
}
@@ -33847,7 +34672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0101111xxxxxxxx1100x0xxxxxxxxxx
fmlsl2. */
- return 3016;
+ return 3051;
}
else
{
@@ -33855,7 +34680,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x1101111xxxxxxxx1100x0xxxxxxxxxx
fmlsl2. */
- return 3020;
+ return 3055;
}
}
}
@@ -33911,7 +34736,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx001111xxxxxxxx1110x0xxxxxxxxxx
sdot. */
- return 2987;
+ return 3022;
}
else
{
@@ -33919,7 +34744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx101111xxxxxxxx1110x0xxxxxxxxxx
udot. */
- return 2986;
+ return 3021;
}
}
}
@@ -34022,7 +34847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00111100xxxxxx1111x0xxxxxxxxxx
sudot. */
- return 3064;
+ return 3159;
}
else
{
@@ -34030,7 +34855,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00111110xxxxxx1111x0xxxxxxxxxx
usdot. */
- return 3063;
+ return 3158;
}
}
else
@@ -34041,7 +34866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xx00111101xxxxxx1111x0xxxxxxxxxx
bfdot. */
- return 3075;
+ return 3170;
}
else
{
@@ -34051,7 +34876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x000111111xxxxxx1111x0xxxxxxxxxx
bfmlalb. */
- return 3083;
+ return 3178;
}
else
{
@@ -34059,7 +34884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x100111111xxxxxx1111x0xxxxxxxxxx
bfmlalt. */
- return 3082;
+ return 3177;
}
}
}
@@ -34306,7 +35131,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011111xx0xxxxx1xxxxxxxxxxxxxxx
fmsub. */
- return 860;
+ return 912;
}
else
{
@@ -34314,7 +35139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
x0011111xx1xxxxx1xxxxxxxxxxxxxxx
fnmsub. */
- return 864;
+ return 916;
}
}
else
@@ -34546,198 +35371,127 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
int value;
switch (key)
{
- case 2437: value = 2439; break; /* mov --> mova. */
- case 2439: return NULL; /* mova --> NULL. */
- case 2436: value = 2438; break; /* mov --> mova. */
- case 2438: return NULL; /* mova --> NULL. */
- case 2678: value = 2686; break; /* mov --> mova. */
- case 2686: return NULL; /* mova --> NULL. */
- case 2674: value = 2682; break; /* mov --> mova. */
- case 2682: return NULL; /* mova --> NULL. */
- case 2676: value = 2684; break; /* mov --> mova. */
- case 2684: return NULL; /* mova --> NULL. */
- case 2672: value = 2680; break; /* mov --> mova. */
- case 2680: return NULL; /* mova --> NULL. */
- case 2679: value = 2687; break; /* mov --> mova. */
- case 2687: return NULL; /* mova --> NULL. */
- case 2675: value = 2683; break; /* mov --> mova. */
- case 2683: return NULL; /* mova --> NULL. */
- case 2677: value = 2685; break; /* mov --> mova. */
- case 2685: return NULL; /* mova --> NULL. */
- case 2673: value = 2681; break; /* mov --> mova. */
- case 2681: return NULL; /* mova --> NULL. */
- case 2441: value = 2446; break; /* ld1b --> ld1b. */
- case 2446: return NULL; /* ld1b --> NULL. */
- case 2443: value = 2448; break; /* ld1w --> ld1w. */
- case 2448: return NULL; /* ld1w --> NULL. */
- case 2442: value = 2447; break; /* ld1h --> ld1h. */
- case 2447: return NULL; /* ld1h --> NULL. */
- case 2444: value = 2449; break; /* ld1d --> ld1d. */
- case 2449: return NULL; /* ld1d --> NULL. */
- case 2451: value = 2456; break; /* st1b --> st1b. */
- case 2456: return NULL; /* st1b --> NULL. */
- case 2453: value = 2458; break; /* st1w --> st1w. */
- case 2458: return NULL; /* st1w --> NULL. */
- case 2452: value = 2457; break; /* st1h --> st1h. */
- case 2457: return NULL; /* st1h --> NULL. */
- case 2454: value = 2459; break; /* st1d --> st1d. */
- case 2459: return NULL; /* st1d --> NULL. */
- case 2445: value = 2450; break; /* ld1q --> ld1q. */
- case 2450: return NULL; /* ld1q --> NULL. */
- case 2532: value = 3314; break; /* fclamp --> bfclamp. */
- case 3314: return NULL; /* bfclamp --> NULL. */
- case 2533: value = 3315; break; /* fclamp --> bfclamp. */
- case 3315: return NULL; /* bfclamp --> NULL. */
- case 2546: value = 3298; break; /* fmax --> bfmax. */
- case 3298: return NULL; /* bfmax --> NULL. */
- case 2550: value = 3302; break; /* fmaxnm --> bfmaxnm. */
- case 3302: return NULL; /* bfmaxnm --> NULL. */
- case 2554: value = 3306; break; /* fmin --> bfmin. */
- case 3306: return NULL; /* bfmin --> NULL. */
- case 2558: value = 3310; break; /* fminnm --> bfminnm. */
- case 3310: return NULL; /* bfminnm --> NULL. */
- case 2548: value = 3300; break; /* fmax --> bfmax. */
- case 3300: return NULL; /* bfmax --> NULL. */
- case 2552: value = 3304; break; /* fmaxnm --> bfmaxnm. */
- case 3304: return NULL; /* bfmaxnm --> NULL. */
- case 2556: value = 3308; break; /* fmin --> bfmin. */
- case 3308: return NULL; /* bfmin --> NULL. */
- case 2560: value = 3312; break; /* fminnm --> bfminnm. */
- case 3312: return NULL; /* bfminnm --> NULL. */
- case 2547: value = 3299; break; /* fmax --> bfmax. */
- case 3299: return NULL; /* bfmax --> NULL. */
- case 2549: value = 3301; break; /* fmax --> bfmax. */
- case 3301: return NULL; /* bfmax --> NULL. */
- case 2551: value = 3303; break; /* fmaxnm --> bfmaxnm. */
- case 3303: return NULL; /* bfmaxnm --> NULL. */
- case 2553: value = 3305; break; /* fmaxnm --> bfmaxnm. */
- case 3305: return NULL; /* bfmaxnm --> NULL. */
- case 2555: value = 3307; break; /* fmin --> bfmin. */
- case 3307: return NULL; /* bfmin --> NULL. */
- case 2557: value = 3309; break; /* fmin --> bfmin. */
- case 3309: return NULL; /* bfmin --> NULL. */
- case 2559: value = 3311; break; /* fminnm --> bfminnm. */
- case 3311: return NULL; /* bfminnm --> NULL. */
- case 2561: value = 3313; break; /* fminnm --> bfminnm. */
- case 3313: return NULL; /* bfminnm --> NULL. */
- case 2455: value = 2460; break; /* st1q --> st1q. */
- case 2460: return NULL; /* st1q --> NULL. */
+ case 2558: value = 3414; break; /* fclamp --> bfclamp. */
+ case 3414: return NULL; /* bfclamp --> NULL. */
+ case 2559: value = 3415; break; /* fclamp --> bfclamp. */
+ case 3415: return NULL; /* bfclamp --> NULL. */
+ case 2572: value = 3398; break; /* fmax --> bfmax. */
+ case 3398: return NULL; /* bfmax --> NULL. */
+ case 3011: value = 3565; break; /* bfscale --> fscale. */
+ case 3565: return NULL; /* fscale --> NULL. */
+ case 2576: value = 3402; break; /* fmaxnm --> bfmaxnm. */
+ case 3402: return NULL; /* bfmaxnm --> NULL. */
+ case 2580: value = 3406; break; /* fmin --> bfmin. */
+ case 3406: return NULL; /* bfmin --> NULL. */
+ case 2584: value = 3410; break; /* fminnm --> bfminnm. */
+ case 3410: return NULL; /* bfminnm --> NULL. */
+ case 2574: value = 3400; break; /* fmax --> bfmax. */
+ case 3400: return NULL; /* bfmax --> NULL. */
+ case 3013: value = 3567; break; /* bfscale --> fscale. */
+ case 3567: return NULL; /* fscale --> NULL. */
+ case 2578: value = 3404; break; /* fmaxnm --> bfmaxnm. */
+ case 3404: return NULL; /* bfmaxnm --> NULL. */
+ case 2582: value = 3408; break; /* fmin --> bfmin. */
+ case 3408: return NULL; /* bfmin --> NULL. */
+ case 2586: value = 3412; break; /* fminnm --> bfminnm. */
+ case 3412: return NULL; /* bfminnm --> NULL. */
+ case 2573: value = 3399; break; /* fmax --> bfmax. */
+ case 3399: return NULL; /* bfmax --> NULL. */
+ case 3012: value = 3566; break; /* bfscale --> fscale. */
+ case 3566: return NULL; /* fscale --> NULL. */
+ case 2575: value = 3401; break; /* fmax --> bfmax. */
+ case 3401: return NULL; /* bfmax --> NULL. */
+ case 3014: value = 3568; break; /* bfscale --> fscale. */
+ case 3568: return NULL; /* fscale --> NULL. */
+ case 2577: value = 3403; break; /* fmaxnm --> bfmaxnm. */
+ case 3403: return NULL; /* bfmaxnm --> NULL. */
+ case 2579: value = 3405; break; /* fmaxnm --> bfmaxnm. */
+ case 3405: return NULL; /* bfmaxnm --> NULL. */
+ case 2581: value = 3407; break; /* fmin --> bfmin. */
+ case 3407: return NULL; /* bfmin --> NULL. */
+ case 2583: value = 3409; break; /* fmin --> bfmin. */
+ case 3409: return NULL; /* bfmin --> NULL. */
+ case 2585: value = 3411; break; /* fminnm --> bfminnm. */
+ case 3411: return NULL; /* bfminnm --> NULL. */
+ case 2587: value = 3413; break; /* fminnm --> bfminnm. */
+ case 3413: return NULL; /* bfminnm --> NULL. */
case 12: value = 19; break; /* add --> addg. */
- case 19: value = 3205; break; /* addg --> smax. */
- case 3205: value = 3206; break; /* smax --> umax. */
- case 3206: value = 3207; break; /* umax --> smin. */
- case 3207: value = 3208; break; /* smin --> umin. */
- case 3208: return NULL; /* umin --> NULL. */
+ case 19: value = 3305; break; /* addg --> smax. */
+ case 3305: value = 3306; break; /* smax --> umax. */
+ case 3306: value = 3307; break; /* umax --> smin. */
+ case 3307: value = 3308; break; /* smin --> umin. */
+ case 3308: return NULL; /* umin --> NULL. */
case 16: value = 20; break; /* sub --> subg. */
case 20: return NULL; /* subg --> NULL. */
- case 971: value = 975; break; /* stnp --> stp. */
- case 975: return NULL; /* stp --> NULL. */
- case 969: value = 970; break; /* stllrb --> stllrh. */
- case 970: return NULL; /* stllrh --> NULL. */
- case 972: value = 976; break; /* ldnp --> ldp. */
- case 976: return NULL; /* ldp --> NULL. */
- case 912: value = 2468; break; /* prfm --> rprfm. */
- case 2468: return NULL; /* rprfm --> NULL. */
- case 1690: value = 1691; break; /* ldff1b --> ldff1b. */
- case 1691: return NULL; /* ldff1b --> NULL. */
- case 1746: value = 1747; break; /* ldff1sw --> ldff1sw. */
- case 1747: return NULL; /* ldff1sw --> NULL. */
- case 1694: value = 1695; break; /* ldff1b --> ldff1b. */
- case 1695: return NULL; /* ldff1b --> NULL. */
- case 1713: value = 1714; break; /* ldff1h --> ldff1h. */
- case 1714: return NULL; /* ldff1h --> NULL. */
- case 1692: value = 1693; break; /* ldff1b --> ldff1b. */
- case 1693: return NULL; /* ldff1b --> NULL. */
- case 1711: value = 1712; break; /* ldff1h --> ldff1h. */
- case 1712: return NULL; /* ldff1h --> NULL. */
- case 1696: value = 1697; break; /* ldff1b --> ldff1b. */
- case 1697: return NULL; /* ldff1b --> NULL. */
- case 1715: value = 1716; break; /* ldff1h --> ldff1h. */
- case 1716: return NULL; /* ldff1h --> NULL. */
- case 2475: value = 3291; break; /* fclamp --> bfclamp. */
- case 3291: return NULL; /* bfclamp --> NULL. */
- case 1789: value = 1790; break; /* ldr --> ldr. */
- case 1790: return NULL; /* ldr --> NULL. */
- case 1445: value = 3294; break; /* fadd --> bfadd. */
- case 3294: return NULL; /* bfadd --> NULL. */
- case 1512: value = 3295; break; /* fmul --> bfmul. */
- case 3295: return NULL; /* bfmul --> NULL. */
- case 1538: value = 3296; break; /* fsub --> bfsub. */
- case 3296: return NULL; /* bfsub --> NULL. */
- case 1503: value = 3287; break; /* fmla --> bfmla. */
- case 3287: return NULL; /* bfmla --> NULL. */
- case 2008: value = 2009; break; /* str --> str. */
- case 2009: return NULL; /* str --> NULL. */
- case 1507: value = 3288; break; /* fmls --> bfmls. */
- case 3288: return NULL; /* bfmls --> NULL. */
- case 1736: value = 1737; break; /* ldff1sh --> ldff1sh. */
- case 1737: return NULL; /* ldff1sh --> NULL. */
- case 1724: value = 1725; break; /* ldff1sb --> ldff1sb. */
- case 1725: return NULL; /* ldff1sb --> NULL. */
- case 1755: value = 1756; break; /* ldff1w --> ldff1w. */
- case 1756: return NULL; /* ldff1w --> NULL. */
- case 1728: value = 1729; break; /* ldff1sb --> ldff1sb. */
- case 1729: return NULL; /* ldff1sb --> NULL. */
- case 2466: value = 2467; break; /* psel --> psel. */
- case 2467: return NULL; /* psel --> NULL. */
- case 1738: value = 1739; break; /* ldff1sh --> ldff1sh. */
- case 1739: return NULL; /* ldff1sh --> NULL. */
- case 1726: value = 1727; break; /* ldff1sb --> ldff1sb. */
- case 1727: return NULL; /* ldff1sb --> NULL. */
- case 1757: value = 1758; break; /* ldff1w --> ldff1w. */
- case 1758: return NULL; /* ldff1w --> NULL. */
- case 1702: value = 1703; break; /* ldff1d --> ldff1d. */
- case 1703: return NULL; /* ldff1d --> NULL. */
- case 1826: value = 1827; break; /* pfalse --> pfalse. */
- case 1827: return NULL; /* pfalse --> NULL. */
- case 1446: value = 3282; break; /* fadd --> bfadd. */
- case 3282: return NULL; /* bfadd --> NULL. */
- case 1493: value = 3284; break; /* fmaxnm --> bfmaxnm. */
- case 3284: return NULL; /* bfmaxnm --> NULL. */
- case 1513: value = 3289; break; /* fmul --> bfmul. */
- case 3289: return NULL; /* bfmul --> NULL. */
- case 1491: value = 3283; break; /* fmax --> bfmax. */
- case 3283: return NULL; /* bfmax --> NULL. */
- case 1539: value = 3290; break; /* fsub --> bfsub. */
- case 3290: return NULL; /* bfsub --> NULL. */
- case 1499: value = 3286; break; /* fminnm --> bfminnm. */
- case 3286: return NULL; /* bfminnm --> NULL. */
- case 1497: value = 3285; break; /* fmin --> bfmin. */
- case 3285: return NULL; /* bfmin --> NULL. */
- case 811: value = 812; break; /* xaflag --> axflag. */
- case 812: value = 1224; break; /* axflag --> tcommit. */
- case 1224: value = 1227; break; /* tcommit --> smstart. */
- case 1227: value = 1228; break; /* smstart --> smstop. */
- case 1228: value = 1229; break; /* smstop --> smstart. */
- case 1229: value = 1230; break; /* smstart --> smstop. */
- case 1230: value = 1231; break; /* smstop --> chkfeat. */
- case 1231: value = 1232; break; /* chkfeat --> msr. */
- case 1232: value = 1233; break; /* msr --> hint. */
- case 1233: value = 1242; break; /* hint --> dgh. */
- case 1242: value = 1252; break; /* dgh --> clrex. */
- case 1252: value = 1253; break; /* clrex --> dsb. */
- case 1253: value = 1254; break; /* dsb --> dsb. */
- case 1254: value = 1258; break; /* dsb --> dmb. */
- case 1258: value = 1259; break; /* dmb --> isb. */
- case 1259: value = 1260; break; /* isb --> sb. */
- case 1260: value = 1261; break; /* sb --> gcspushx. */
- case 1261: value = 1262; break; /* gcspushx --> gcspopx. */
- case 1262: value = 1263; break; /* gcspopx --> gcspopcx. */
- case 1263: value = 1264; break; /* gcspopcx --> gcsss1. */
- case 1264: value = 1265; break; /* gcsss1 --> gcspushm. */
- case 1265: value = 1272; break; /* gcspushm --> sys. */
- case 1272: value = 1279; break; /* sys --> wfet. */
- case 1279: value = 1280; break; /* wfet --> wfit. */
- case 1280: value = 1286; break; /* wfit --> cfinv. */
- case 1286: value = 1287; break; /* cfinv --> msr. */
- case 1287: return NULL; /* msr --> NULL. */
- case 1223: value = 1225; break; /* tstart --> ttest. */
- case 1225: value = 1266; break; /* ttest --> gcsss2. */
- case 1266: value = 1267; break; /* gcsss2 --> gcspopm. */
- case 1267: value = 1268; break; /* gcspopm --> gcspopm. */
- case 1268: value = 1288; break; /* gcspopm --> sysl. */
- case 1288: value = 1289; break; /* sysl --> mrs. */
- case 1289: return NULL; /* mrs --> NULL. */
+ case 1023: value = 1027; break; /* stnp --> stp. */
+ case 1027: return NULL; /* stp --> NULL. */
+ case 1021: value = 1022; break; /* stllrb --> stllrh. */
+ case 1022: return NULL; /* stllrh --> NULL. */
+ case 1024: value = 1028; break; /* ldnp --> ldp. */
+ case 1028: return NULL; /* ldp --> NULL. */
+ case 964: value = 2494; break; /* prfm --> rprfm. */
+ case 2494: return NULL; /* rprfm --> NULL. */
+ case 2501: value = 3391; break; /* fclamp --> bfclamp. */
+ case 3391: return NULL; /* bfclamp --> NULL. */
+ case 1497: value = 3394; break; /* fadd --> bfadd. */
+ case 3394: return NULL; /* bfadd --> NULL. */
+ case 1564: value = 3395; break; /* fmul --> bfmul. */
+ case 3395: return NULL; /* bfmul --> NULL. */
+ case 1590: value = 3396; break; /* fsub --> bfsub. */
+ case 3396: return NULL; /* bfsub --> NULL. */
+ case 1555: value = 3387; break; /* fmla --> bfmla. */
+ case 3387: return NULL; /* bfmla --> NULL. */
+ case 1559: value = 3388; break; /* fmls --> bfmls. */
+ case 3388: return NULL; /* bfmls --> NULL. */
+ case 1498: value = 3382; break; /* fadd --> bfadd. */
+ case 3382: return NULL; /* bfadd --> NULL. */
+ case 1545: value = 3384; break; /* fmaxnm --> bfmaxnm. */
+ case 3384: return NULL; /* bfmaxnm --> NULL. */
+ case 1565: value = 3389; break; /* fmul --> bfmul. */
+ case 3389: return NULL; /* bfmul --> NULL. */
+ case 1543: value = 3383; break; /* fmax --> bfmax. */
+ case 3383: return NULL; /* bfmax --> NULL. */
+ case 1591: value = 3390; break; /* fsub --> bfsub. */
+ case 3390: return NULL; /* bfsub --> NULL. */
+ case 1551: value = 3386; break; /* fminnm --> bfminnm. */
+ case 3386: return NULL; /* bfminnm --> NULL. */
+ case 1549: value = 3385; break; /* fmin --> bfmin. */
+ case 3385: return NULL; /* bfmin --> NULL. */
+ case 1588: value = 3010; break; /* fscale --> bfscale. */
+ case 3010: return NULL; /* bfscale --> NULL. */
+ case 863: value = 864; break; /* xaflag --> axflag. */
+ case 864: value = 1276; break; /* axflag --> tcommit. */
+ case 1276: value = 1279; break; /* tcommit --> smstart. */
+ case 1279: value = 1280; break; /* smstart --> smstop. */
+ case 1280: value = 1281; break; /* smstop --> smstart. */
+ case 1281: value = 1282; break; /* smstart --> smstop. */
+ case 1282: value = 1283; break; /* smstop --> chkfeat. */
+ case 1283: value = 1284; break; /* chkfeat --> msr. */
+ case 1284: value = 1285; break; /* msr --> hint. */
+ case 1285: value = 1304; break; /* hint --> clrex. */
+ case 1304: value = 1305; break; /* clrex --> dsb. */
+ case 1305: value = 1306; break; /* dsb --> dsb. */
+ case 1306: value = 1310; break; /* dsb --> dmb. */
+ case 1310: value = 1311; break; /* dmb --> isb. */
+ case 1311: value = 1312; break; /* isb --> sb. */
+ case 1312: value = 1313; break; /* sb --> gcspushx. */
+ case 1313: value = 1314; break; /* gcspushx --> gcspopx. */
+ case 1314: value = 1315; break; /* gcspopx --> gcspopcx. */
+ case 1315: value = 1316; break; /* gcspopcx --> gcsss1. */
+ case 1316: value = 1317; break; /* gcsss1 --> gcspushm. */
+ case 1317: value = 1324; break; /* gcspushm --> sys. */
+ case 1324: value = 1331; break; /* sys --> wfet. */
+ case 1331: value = 1332; break; /* wfet --> wfit. */
+ case 1332: value = 1338; break; /* wfit --> cfinv. */
+ case 1338: value = 1339; break; /* cfinv --> msr. */
+ case 1339: return NULL; /* msr --> NULL. */
+ case 1275: value = 1277; break; /* tstart --> ttest. */
+ case 1277: value = 1318; break; /* ttest --> gcsss2. */
+ case 1318: value = 1319; break; /* gcsss2 --> gcspopm. */
+ case 1319: value = 1320; break; /* gcspopm --> gcspopm. */
+ case 1320: value = 1340; break; /* gcspopm --> sysl. */
+ case 1340: value = 1341; break; /* sysl --> mrs. */
+ case 1341: return NULL; /* mrs --> NULL. */
case 440: value = 441; break; /* st4 --> st1. */
case 441: value = 442; break; /* st1 --> st2. */
case 442: value = 443; break; /* st2 --> st3. */
@@ -34770,100 +35524,160 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
case 478: return NULL; /* ld2r --> NULL. */
case 477: value = 479; break; /* ld4 --> ld4r. */
case 479: return NULL; /* ld4r --> NULL. */
- case 764: value = 765; break; /* fcvtzs --> fcvtzs. */
- case 765: return NULL; /* fcvtzs --> NULL. */
- case 760: value = 761; break; /* scvtf --> scvtf. */
- case 761: return NULL; /* scvtf --> NULL. */
- case 766: value = 767; break; /* fcvtzu --> fcvtzu. */
- case 767: return NULL; /* fcvtzu --> NULL. */
- case 762: value = 763; break; /* ucvtf --> ucvtf. */
- case 763: return NULL; /* ucvtf --> NULL. */
- case 768: value = 769; break; /* fcvtns --> fcvtns. */
- case 769: return NULL; /* fcvtns --> NULL. */
- case 788: value = 789; break; /* fcvtms --> fcvtms. */
- case 789: return NULL; /* fcvtms --> NULL. */
- case 784: value = 785; break; /* fcvtps --> fcvtps. */
- case 785: return NULL; /* fcvtps --> NULL. */
- case 792: value = 793; break; /* fcvtzs --> fcvtzs. */
- case 793: return NULL; /* fcvtzs --> NULL. */
- case 776: value = 777; break; /* fcvtas --> fcvtas. */
- case 777: return NULL; /* fcvtas --> NULL. */
- case 772: value = 773; break; /* scvtf --> scvtf. */
- case 773: return NULL; /* scvtf --> NULL. */
- case 780: value = 781; break; /* fmov --> fmov. */
- case 781: return NULL; /* fmov --> NULL. */
- case 770: value = 771; break; /* fcvtnu --> fcvtnu. */
- case 771: return NULL; /* fcvtnu --> NULL. */
- case 790: value = 791; break; /* fcvtmu --> fcvtmu. */
- case 791: return NULL; /* fcvtmu --> NULL. */
- case 786: value = 787; break; /* fcvtpu --> fcvtpu. */
- case 787: return NULL; /* fcvtpu --> NULL. */
- case 794: value = 795; break; /* fcvtzu --> fcvtzu. */
- case 795: return NULL; /* fcvtzu --> NULL. */
- case 778: value = 779; break; /* fcvtau --> fcvtau. */
- case 779: return NULL; /* fcvtau --> NULL. */
- case 774: value = 775; break; /* ucvtf --> ucvtf. */
- case 775: return NULL; /* ucvtf --> NULL. */
- case 782: value = 783; break; /* fmov --> fmov. */
- case 783: return NULL; /* fmov --> NULL. */
- case 817: value = 818; break; /* fmov --> fmov. */
- case 818: return NULL; /* fmov --> NULL. */
- case 826: value = 827; break; /* frintn --> frintn. */
- case 827: return NULL; /* frintn --> NULL. */
- case 821: value = 822; break; /* fneg --> fneg. */
- case 822: return NULL; /* fneg --> NULL. */
- case 830: value = 831; break; /* frintm --> frintm. */
- case 831: return NULL; /* frintm --> NULL. */
- case 819: value = 820; break; /* fabs --> fabs. */
- case 820: return NULL; /* fabs --> NULL. */
- case 828: value = 829; break; /* frintp --> frintp. */
- case 829: return NULL; /* frintp --> NULL. */
- case 823: value = 824; break; /* fsqrt --> fsqrt. */
- case 824: return NULL; /* fsqrt --> NULL. */
- case 832: value = 833; break; /* frintz --> frintz. */
- case 833: return NULL; /* frintz --> NULL. */
- case 825: value = 3079; break; /* fcvt --> bfcvt. */
- case 3079: return NULL; /* bfcvt --> NULL. */
- case 834: value = 835; break; /* frinta --> frinta. */
- case 835: return NULL; /* frinta --> NULL. */
- case 836: value = 837; break; /* frintx --> frintx. */
- case 837: return NULL; /* frintx --> NULL. */
- case 838: value = 839; break; /* frinti --> frinti. */
- case 839: return NULL; /* frinti --> NULL. */
- case 803: value = 804; break; /* fcmp --> fcmp. */
- case 804: return NULL; /* fcmp --> NULL. */
- case 805: value = 806; break; /* fcmpe --> fcmpe. */
- case 806: return NULL; /* fcmpe --> NULL. */
- case 807: value = 808; break; /* fcmp --> fcmp. */
- case 808: return NULL; /* fcmp --> NULL. */
- case 809: value = 810; break; /* fcmpe --> fcmpe. */
- case 810: return NULL; /* fcmpe --> NULL. */
- case 866: value = 867; break; /* fmov --> fmov. */
- case 867: return NULL; /* fmov --> NULL. */
- case 840: value = 841; break; /* fmul --> fmul. */
- case 841: return NULL; /* fmul --> NULL. */
- case 856: value = 857; break; /* fnmul --> fnmul. */
- case 857: return NULL; /* fnmul --> NULL. */
- case 848: value = 849; break; /* fmax --> fmax. */
- case 849: return NULL; /* fmax --> NULL. */
- case 844: value = 845; break; /* fadd --> fadd. */
- case 845: return NULL; /* fadd --> NULL. */
- case 852: value = 853; break; /* fmaxnm --> fmaxnm. */
- case 853: return NULL; /* fmaxnm --> NULL. */
- case 842: value = 843; break; /* fdiv --> fdiv. */
- case 843: return NULL; /* fdiv --> NULL. */
- case 850: value = 851; break; /* fmin --> fmin. */
- case 851: return NULL; /* fmin --> NULL. */
- case 846: value = 847; break; /* fsub --> fsub. */
- case 847: return NULL; /* fsub --> NULL. */
- case 854: value = 855; break; /* fminnm --> fminnm. */
- case 855: return NULL; /* fminnm --> NULL. */
- case 799: value = 800; break; /* fccmp --> fccmp. */
- case 800: return NULL; /* fccmp --> NULL. */
- case 801: value = 802; break; /* fccmpe --> fccmpe. */
- case 802: return NULL; /* fccmpe --> NULL. */
- case 868: value = 869; break; /* fcsel --> fcsel. */
- case 869: return NULL; /* fcsel --> NULL. */
+ case 3072: value = 3092; break; /* ldfadd --> ldbfadd. */
+ case 3092: return NULL; /* ldbfadd --> NULL. */
+ case 3073: value = 3093; break; /* ldfadda --> ldbfadda. */
+ case 3093: return NULL; /* ldbfadda --> NULL. */
+ case 3075: value = 3095; break; /* ldfaddl --> ldbfaddl. */
+ case 3095: return NULL; /* ldbfaddl --> NULL. */
+ case 3074: value = 3094; break; /* ldfaddal --> ldbfaddal. */
+ case 3094: return NULL; /* ldbfaddal --> NULL. */
+ case 3112: value = 3122; break; /* stfadd --> stbfadd. */
+ case 3122: return NULL; /* stbfadd --> NULL. */
+ case 3113: value = 3123; break; /* stfaddl --> stbfaddl. */
+ case 3123: return NULL; /* stbfaddl --> NULL. */
+ case 3076: value = 3096; break; /* ldfmax --> ldbfmax. */
+ case 3096: return NULL; /* ldbfmax --> NULL. */
+ case 3077: value = 3097; break; /* ldfmaxa --> ldbfmaxa. */
+ case 3097: return NULL; /* ldbfmaxa --> NULL. */
+ case 3079: value = 3099; break; /* ldfmaxl --> ldbfmaxl. */
+ case 3099: return NULL; /* ldbfmaxl --> NULL. */
+ case 3078: value = 3098; break; /* ldfmaxal --> ldbfmaxal. */
+ case 3098: return NULL; /* ldbfmaxal --> NULL. */
+ case 3114: value = 3124; break; /* stfmax --> stbfmax. */
+ case 3124: return NULL; /* stbfmax --> NULL. */
+ case 3115: value = 3125; break; /* stfmaxl --> stbfmaxl. */
+ case 3125: return NULL; /* stbfmaxl --> NULL. */
+ case 3080: value = 3100; break; /* ldfmaxnm --> ldbfmaxnm. */
+ case 3100: return NULL; /* ldbfmaxnm --> NULL. */
+ case 3081: value = 3101; break; /* ldfmaxnma --> ldbfmaxnma. */
+ case 3101: return NULL; /* ldbfmaxnma --> NULL. */
+ case 3083: value = 3103; break; /* ldfmaxnml --> ldbfmaxnml. */
+ case 3103: return NULL; /* ldbfmaxnml --> NULL. */
+ case 3082: value = 3102; break; /* ldfmaxnmal --> ldbfmaxnmal. */
+ case 3102: return NULL; /* ldbfmaxnmal --> NULL. */
+ case 3116: value = 3126; break; /* stfmaxnm --> stbfmaxnm. */
+ case 3126: return NULL; /* stbfmaxnm --> NULL. */
+ case 3117: value = 3127; break; /* stfmaxnml --> stbfmaxnml. */
+ case 3127: return NULL; /* stbfmaxnml --> NULL. */
+ case 3084: value = 3104; break; /* ldfmin --> ldbfmin. */
+ case 3104: return NULL; /* ldbfmin --> NULL. */
+ case 3085: value = 3105; break; /* ldfmina --> ldbfmina. */
+ case 3105: return NULL; /* ldbfmina --> NULL. */
+ case 3087: value = 3107; break; /* ldfminl --> ldbfminl. */
+ case 3107: return NULL; /* ldbfminl --> NULL. */
+ case 3086: value = 3106; break; /* ldfminal --> ldbfminal. */
+ case 3106: return NULL; /* ldbfminal --> NULL. */
+ case 3118: value = 3128; break; /* stfmin --> stbfmin. */
+ case 3128: return NULL; /* stbfmin --> NULL. */
+ case 3119: value = 3129; break; /* stfminl --> stbfminl. */
+ case 3129: return NULL; /* stbfminl --> NULL. */
+ case 3088: value = 3108; break; /* ldfminnm --> ldbfminnm. */
+ case 3108: return NULL; /* ldbfminnm --> NULL. */
+ case 3089: value = 3109; break; /* ldfminnma --> ldbfminnma. */
+ case 3109: return NULL; /* ldbfminnma --> NULL. */
+ case 3091: value = 3111; break; /* ldfminnml --> ldbfminnml. */
+ case 3111: return NULL; /* ldbfminnml --> NULL. */
+ case 3090: value = 3110; break; /* ldfminnmal --> ldbfminnmal. */
+ case 3110: return NULL; /* ldbfminnmal --> NULL. */
+ case 3120: value = 3130; break; /* stfminnm --> stbfminnm. */
+ case 3130: return NULL; /* stbfminnm --> NULL. */
+ case 3121: value = 3131; break; /* stfminnml --> stbfminnml. */
+ case 3131: return NULL; /* stbfminnml --> NULL. */
+ case 804: value = 805; break; /* fcvtzs --> fcvtzs. */
+ case 805: return NULL; /* fcvtzs --> NULL. */
+ case 800: value = 801; break; /* scvtf --> scvtf. */
+ case 801: return NULL; /* scvtf --> NULL. */
+ case 806: value = 807; break; /* fcvtzu --> fcvtzu. */
+ case 807: return NULL; /* fcvtzu --> NULL. */
+ case 802: value = 803; break; /* ucvtf --> ucvtf. */
+ case 803: return NULL; /* ucvtf --> NULL. */
+ case 808: value = 809; break; /* fcvtns --> fcvtns. */
+ case 809: return NULL; /* fcvtns --> NULL. */
+ case 836: value = 837; break; /* fcvtms --> fcvtms. */
+ case 837: return NULL; /* fcvtms --> NULL. */
+ case 830: value = 831; break; /* fcvtps --> fcvtps. */
+ case 831: return NULL; /* fcvtps --> NULL. */
+ case 842: value = 843; break; /* fcvtzs --> fcvtzs. */
+ case 843: return NULL; /* fcvtzs --> NULL. */
+ case 820: value = 821; break; /* fcvtas --> fcvtas. */
+ case 821: return NULL; /* fcvtas --> NULL. */
+ case 814: value = 815; break; /* scvtf --> scvtf. */
+ case 815: return NULL; /* scvtf --> NULL. */
+ case 826: value = 827; break; /* fmov --> fmov. */
+ case 827: return NULL; /* fmov --> NULL. */
+ case 811: value = 812; break; /* fcvtnu --> fcvtnu. */
+ case 812: return NULL; /* fcvtnu --> NULL. */
+ case 839: value = 840; break; /* fcvtmu --> fcvtmu. */
+ case 840: return NULL; /* fcvtmu --> NULL. */
+ case 833: value = 834; break; /* fcvtpu --> fcvtpu. */
+ case 834: return NULL; /* fcvtpu --> NULL. */
+ case 845: value = 846; break; /* fcvtzu --> fcvtzu. */
+ case 846: return NULL; /* fcvtzu --> NULL. */
+ case 823: value = 824; break; /* fcvtau --> fcvtau. */
+ case 824: return NULL; /* fcvtau --> NULL. */
+ case 817: value = 818; break; /* ucvtf --> ucvtf. */
+ case 818: return NULL; /* ucvtf --> NULL. */
+ case 828: value = 829; break; /* fmov --> fmov. */
+ case 829: return NULL; /* fmov --> NULL. */
+ case 869: value = 870; break; /* fmov --> fmov. */
+ case 870: return NULL; /* fmov --> NULL. */
+ case 878: value = 879; break; /* frintn --> frintn. */
+ case 879: return NULL; /* frintn --> NULL. */
+ case 873: value = 874; break; /* fneg --> fneg. */
+ case 874: return NULL; /* fneg --> NULL. */
+ case 882: value = 883; break; /* frintm --> frintm. */
+ case 883: return NULL; /* frintm --> NULL. */
+ case 871: value = 872; break; /* fabs --> fabs. */
+ case 872: return NULL; /* fabs --> NULL. */
+ case 880: value = 881; break; /* frintp --> frintp. */
+ case 881: return NULL; /* frintp --> NULL. */
+ case 875: value = 876; break; /* fsqrt --> fsqrt. */
+ case 876: return NULL; /* fsqrt --> NULL. */
+ case 884: value = 885; break; /* frintz --> frintz. */
+ case 885: return NULL; /* frintz --> NULL. */
+ case 877: value = 3174; break; /* fcvt --> bfcvt. */
+ case 3174: return NULL; /* bfcvt --> NULL. */
+ case 886: value = 887; break; /* frinta --> frinta. */
+ case 887: return NULL; /* frinta --> NULL. */
+ case 888: value = 889; break; /* frintx --> frintx. */
+ case 889: return NULL; /* frintx --> NULL. */
+ case 890: value = 891; break; /* frinti --> frinti. */
+ case 891: return NULL; /* frinti --> NULL. */
+ case 855: value = 856; break; /* fcmp --> fcmp. */
+ case 856: return NULL; /* fcmp --> NULL. */
+ case 857: value = 858; break; /* fcmpe --> fcmpe. */
+ case 858: return NULL; /* fcmpe --> NULL. */
+ case 859: value = 860; break; /* fcmp --> fcmp. */
+ case 860: return NULL; /* fcmp --> NULL. */
+ case 861: value = 862; break; /* fcmpe --> fcmpe. */
+ case 862: return NULL; /* fcmpe --> NULL. */
+ case 918: value = 919; break; /* fmov --> fmov. */
+ case 919: return NULL; /* fmov --> NULL. */
+ case 892: value = 893; break; /* fmul --> fmul. */
+ case 893: return NULL; /* fmul --> NULL. */
+ case 908: value = 909; break; /* fnmul --> fnmul. */
+ case 909: return NULL; /* fnmul --> NULL. */
+ case 900: value = 901; break; /* fmax --> fmax. */
+ case 901: return NULL; /* fmax --> NULL. */
+ case 896: value = 897; break; /* fadd --> fadd. */
+ case 897: return NULL; /* fadd --> NULL. */
+ case 904: value = 905; break; /* fmaxnm --> fmaxnm. */
+ case 905: return NULL; /* fmaxnm --> NULL. */
+ case 894: value = 895; break; /* fdiv --> fdiv. */
+ case 895: return NULL; /* fdiv --> NULL. */
+ case 902: value = 903; break; /* fmin --> fmin. */
+ case 903: return NULL; /* fmin --> NULL. */
+ case 898: value = 899; break; /* fsub --> fsub. */
+ case 899: return NULL; /* fsub --> NULL. */
+ case 906: value = 907; break; /* fminnm --> fminnm. */
+ case 907: return NULL; /* fminnm --> NULL. */
+ case 851: value = 852; break; /* fccmp --> fccmp. */
+ case 852: return NULL; /* fccmp --> NULL. */
+ case 853: value = 854; break; /* fccmpe --> fccmpe. */
+ case 854: return NULL; /* fccmpe --> NULL. */
+ case 920: value = 921; break; /* fcsel --> fcsel. */
+ case 921: return NULL; /* fcsel --> NULL. */
case 133: value = 374; break; /* movi --> sshr. */
case 374: value = 376; break; /* sshr --> srshr. */
case 376: return NULL; /* srshr --> NULL. */
@@ -34882,10 +35696,10 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
case 399: value = 401; break; /* ursra --> sli. */
case 401: value = 403; break; /* sli --> uqshl. */
case 403: return NULL; /* uqshl --> NULL. */
- case 858: value = 859; break; /* fmadd --> fmadd. */
- case 859: return NULL; /* fmadd --> NULL. */
- case 862: value = 863; break; /* fnmadd --> fnmadd. */
- case 863: return NULL; /* fnmadd --> NULL. */
+ case 910: value = 911; break; /* fmadd --> fmadd. */
+ case 911: return NULL; /* fmadd --> NULL. */
+ case 914: value = 915; break; /* fnmadd --> fnmadd. */
+ case 915: return NULL; /* fnmadd --> NULL. */
case 135: value = 380; break; /* movi --> shrn. */
case 380: value = 381; break; /* shrn --> shrn2. */
case 381: value = 388; break; /* shrn2 --> sshll. */
@@ -34914,10 +35728,10 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
case 395: return NULL; /* fcvtzs --> NULL. */
case 418: value = 419; break; /* fcvtzu --> fcvtzu. */
case 419: return NULL; /* fcvtzu --> NULL. */
- case 860: value = 861; break; /* fmsub --> fmsub. */
- case 861: return NULL; /* fmsub --> NULL. */
- case 864: value = 865; break; /* fnmsub --> fnmsub. */
- case 865: return NULL; /* fnmsub --> NULL. */
+ case 912: value = 913; break; /* fmsub --> fmsub. */
+ case 913: return NULL; /* fmsub --> NULL. */
+ case 916: value = 917; break; /* fnmsub --> fnmsub. */
+ case 917: return NULL; /* fnmsub --> NULL. */
case 598: value = 599; break; /* scvtf --> scvtf. */
case 599: return NULL; /* scvtf --> NULL. */
case 600: value = 601; break; /* fcvtzs --> fcvtzs. */
@@ -34963,114 +35777,144 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
case 618: value = 623; break; /* sbfm --> sxtw. */
case 625: value = 627; break; /* bfm --> bfc. */
case 629: value = 633; break; /* ubfm --> uxth. */
- case 663: value = 665; break; /* csinc --> cset. */
- case 666: value = 668; break; /* csinv --> csetm. */
- case 669: value = 670; break; /* csneg --> cneg. */
- case 688: value = 688; break; /* rev --> rev. */
- case 713: value = 714; break; /* lslv --> lsl. */
- case 715: value = 716; break; /* lsrv --> lsr. */
- case 717: value = 718; break; /* asrv --> asr. */
- case 719: value = 720; break; /* rorv --> ror. */
- case 722: value = 723; break; /* subps --> cmpp. */
- case 735: value = 736; break; /* madd --> mul. */
- case 737: value = 738; break; /* msub --> mneg. */
- case 739: value = 740; break; /* smaddl --> smull. */
- case 741: value = 742; break; /* smsubl --> smnegl. */
- case 744: value = 745; break; /* umaddl --> umull. */
- case 746: value = 747; break; /* umsubl --> umnegl. */
- case 758: value = 759; break; /* extr --> ror. */
- case 995: value = 996; break; /* and --> bic. */
- case 997: value = 998; break; /* orr --> mov. */
- case 1000: value = 1001; break; /* ands --> tst. */
- case 1004: value = 1006; break; /* orr --> uxtw. */
- case 1007: value = 1008; break; /* orn --> mvn. */
- case 1011: value = 1012; break; /* ands --> tst. */
- case 1042: value = 1138; break; /* ldaddb --> staddb. */
- case 1043: value = 1139; break; /* ldaddh --> staddh. */
- case 1044: value = 1140; break; /* ldadd --> stadd. */
- case 1046: value = 1141; break; /* ldaddlb --> staddlb. */
- case 1049: value = 1142; break; /* ldaddlh --> staddlh. */
- case 1052: value = 1143; break; /* ldaddl --> staddl. */
- case 1054: value = 1144; break; /* ldclrb --> stclrb. */
- case 1055: value = 1145; break; /* ldclrh --> stclrh. */
- case 1056: value = 1146; break; /* ldclr --> stclr. */
- case 1058: value = 1147; break; /* ldclrlb --> stclrlb. */
- case 1061: value = 1148; break; /* ldclrlh --> stclrlh. */
- case 1064: value = 1149; break; /* ldclrl --> stclrl. */
- case 1066: value = 1150; break; /* ldeorb --> steorb. */
- case 1067: value = 1151; break; /* ldeorh --> steorh. */
- case 1068: value = 1152; break; /* ldeor --> steor. */
- case 1070: value = 1153; break; /* ldeorlb --> steorlb. */
- case 1073: value = 1154; break; /* ldeorlh --> steorlh. */
- case 1076: value = 1155; break; /* ldeorl --> steorl. */
- case 1078: value = 1156; break; /* ldsetb --> stsetb. */
- case 1079: value = 1157; break; /* ldseth --> stseth. */
- case 1080: value = 1158; break; /* ldset --> stset. */
- case 1082: value = 1159; break; /* ldsetlb --> stsetlb. */
- case 1085: value = 1160; break; /* ldsetlh --> stsetlh. */
- case 1088: value = 1161; break; /* ldsetl --> stsetl. */
- case 1090: value = 1162; break; /* ldsmaxb --> stsmaxb. */
- case 1091: value = 1163; break; /* ldsmaxh --> stsmaxh. */
- case 1092: value = 1164; break; /* ldsmax --> stsmax. */
- case 1094: value = 1165; break; /* ldsmaxlb --> stsmaxlb. */
- case 1097: value = 1166; break; /* ldsmaxlh --> stsmaxlh. */
- case 1100: value = 1167; break; /* ldsmaxl --> stsmaxl. */
- case 1102: value = 1168; break; /* ldsminb --> stsminb. */
- case 1103: value = 1169; break; /* ldsminh --> stsminh. */
- case 1104: value = 1170; break; /* ldsmin --> stsmin. */
- case 1106: value = 1171; break; /* ldsminlb --> stsminlb. */
- case 1109: value = 1172; break; /* ldsminlh --> stsminlh. */
- case 1112: value = 1173; break; /* ldsminl --> stsminl. */
- case 1114: value = 1174; break; /* ldumaxb --> stumaxb. */
- case 1115: value = 1175; break; /* ldumaxh --> stumaxh. */
- case 1116: value = 1176; break; /* ldumax --> stumax. */
- case 1118: value = 1177; break; /* ldumaxlb --> stumaxlb. */
- case 1121: value = 1178; break; /* ldumaxlh --> stumaxlh. */
- case 1124: value = 1179; break; /* ldumaxl --> stumaxl. */
- case 1126: value = 1180; break; /* lduminb --> stuminb. */
- case 1127: value = 1181; break; /* lduminh --> stuminh. */
- case 1128: value = 1182; break; /* ldumin --> stumin. */
- case 1130: value = 1183; break; /* lduminlb --> stuminlb. */
- case 1133: value = 1184; break; /* lduminlh --> stuminlh. */
- case 1136: value = 1185; break; /* lduminl --> stuminl. */
- case 1216: value = 1217; break; /* movn --> mov. */
- case 1218: value = 1219; break; /* movz --> mov. */
- case 1233: value = 3216; break; /* hint --> clrbhb. */
- case 1253: value = 1257; break; /* dsb --> pssbb. */
- case 1254: value = 1254; break; /* dsb --> dsb. */
- case 1272: value = 3217; break; /* sys --> trcit. */
- case 1273: value = 1278; break; /* sysp --> tlbip. */
- case 1279: value = 1279; break; /* wfet --> wfet. */
- case 1280: value = 1280; break; /* wfit --> wfit. */
- case 1348: value = 2101; break; /* and --> bic. */
- case 1350: value = 1331; break; /* and --> mov. */
- case 1351: value = 1335; break; /* ands --> movs. */
- case 1386: value = 2102; break; /* cmpge --> cmple. */
- case 1389: value = 2105; break; /* cmpgt --> cmplt. */
- case 1391: value = 2103; break; /* cmphi --> cmplo. */
- case 1394: value = 2104; break; /* cmphs --> cmpls. */
- case 1416: value = 1328; break; /* cpy --> mov. */
- case 1417: value = 1330; break; /* cpy --> mov. */
- case 1418: value = 2112; break; /* cpy --> fmov. */
- case 1430: value = 1322; break; /* dup --> mov. */
- case 1431: value = 1325; break; /* dup --> mov. */
- case 1432: value = 2111; break; /* dup --> fmov. */
- case 1433: value = 1326; break; /* dupm --> mov. */
- case 1435: value = 2106; break; /* eor --> eon. */
- case 1437: value = 1336; break; /* eor --> not. */
- case 1438: value = 1337; break; /* eors --> nots. */
- case 1443: value = 2107; break; /* facge --> facle. */
- case 1444: value = 2108; break; /* facgt --> faclt. */
- case 1457: value = 2109; break; /* fcmge --> fcmle. */
- case 1459: value = 2110; break; /* fcmgt --> fcmlt. */
- case 1465: value = 1319; break; /* fcpy --> fmov. */
- case 1488: value = 1318; break; /* fdup --> fmov. */
- case 1820: value = 1320; break; /* orr --> mov. */
- case 1821: value = 2113; break; /* orr --> orn. */
- case 1823: value = 1324; break; /* orr --> mov. */
- case 1824: value = 1334; break; /* orrs --> movs. */
- case 1887: value = 1329; break; /* sel --> mov. */
- case 1888: value = 1332; break; /* sel --> mov. */
+ case 658: value = 659; break; /* cbgt --> cblt. */
+ case 660: value = 661; break; /* cbge --> cble. */
+ case 662: value = 663; break; /* cbhi --> cblo. */
+ case 664: value = 665; break; /* cbhs --> cbls. */
+ case 668: value = 669; break; /* cbgt --> cbge. */
+ case 670: value = 671; break; /* cblt --> cble. */
+ case 672: value = 673; break; /* cbhi --> cbhs. */
+ case 674: value = 675; break; /* cblo --> cbls. */
+ case 678: value = 679; break; /* cbbgt --> cbblt. */
+ case 680: value = 681; break; /* cbbge --> cbble. */
+ case 682: value = 683; break; /* cbbhi --> cbblo. */
+ case 684: value = 685; break; /* cbbhs --> cbbls. */
+ case 688: value = 689; break; /* cbhgt --> cbhlt. */
+ case 690: value = 691; break; /* cbhge --> cbhle. */
+ case 692: value = 693; break; /* cbhhi --> cbhlo. */
+ case 694: value = 695; break; /* cbhhs --> cbhls. */
+ case 703: value = 705; break; /* csinc --> cset. */
+ case 706: value = 708; break; /* csinv --> csetm. */
+ case 709: value = 710; break; /* csneg --> cneg. */
+ case 728: value = 729; break; /* rev --> rev64. */
+ case 753: value = 754; break; /* lslv --> lsl. */
+ case 755: value = 756; break; /* lsrv --> lsr. */
+ case 757: value = 758; break; /* asrv --> asr. */
+ case 759: value = 760; break; /* rorv --> ror. */
+ case 762: value = 763; break; /* subps --> cmpp. */
+ case 775: value = 776; break; /* madd --> mul. */
+ case 777: value = 778; break; /* msub --> mneg. */
+ case 779: value = 780; break; /* smaddl --> smull. */
+ case 781: value = 782; break; /* smsubl --> smnegl. */
+ case 784: value = 785; break; /* umaddl --> umull. */
+ case 786: value = 787; break; /* umsubl --> umnegl. */
+ case 798: value = 799; break; /* extr --> ror. */
+ case 1047: value = 1048; break; /* and --> bic. */
+ case 1049: value = 1050; break; /* orr --> mov. */
+ case 1052: value = 1053; break; /* ands --> tst. */
+ case 1056: value = 1058; break; /* orr --> uxtw. */
+ case 1059: value = 1060; break; /* orn --> mvn. */
+ case 1063: value = 1064; break; /* ands --> tst. */
+ case 1094: value = 1190; break; /* ldaddb --> staddb. */
+ case 1095: value = 1191; break; /* ldaddh --> staddh. */
+ case 1096: value = 1192; break; /* ldadd --> stadd. */
+ case 1098: value = 1193; break; /* ldaddlb --> staddlb. */
+ case 1101: value = 1194; break; /* ldaddlh --> staddlh. */
+ case 1104: value = 1195; break; /* ldaddl --> staddl. */
+ case 1106: value = 1196; break; /* ldclrb --> stclrb. */
+ case 1107: value = 1197; break; /* ldclrh --> stclrh. */
+ case 1108: value = 1198; break; /* ldclr --> stclr. */
+ case 1110: value = 1199; break; /* ldclrlb --> stclrlb. */
+ case 1113: value = 1200; break; /* ldclrlh --> stclrlh. */
+ case 1116: value = 1201; break; /* ldclrl --> stclrl. */
+ case 1118: value = 1202; break; /* ldeorb --> steorb. */
+ case 1119: value = 1203; break; /* ldeorh --> steorh. */
+ case 1120: value = 1204; break; /* ldeor --> steor. */
+ case 1122: value = 1205; break; /* ldeorlb --> steorlb. */
+ case 1125: value = 1206; break; /* ldeorlh --> steorlh. */
+ case 1128: value = 1207; break; /* ldeorl --> steorl. */
+ case 1130: value = 1208; break; /* ldsetb --> stsetb. */
+ case 1131: value = 1209; break; /* ldseth --> stseth. */
+ case 1132: value = 1210; break; /* ldset --> stset. */
+ case 1134: value = 1211; break; /* ldsetlb --> stsetlb. */
+ case 1137: value = 1212; break; /* ldsetlh --> stsetlh. */
+ case 1140: value = 1213; break; /* ldsetl --> stsetl. */
+ case 1142: value = 1214; break; /* ldsmaxb --> stsmaxb. */
+ case 1143: value = 1215; break; /* ldsmaxh --> stsmaxh. */
+ case 1144: value = 1216; break; /* ldsmax --> stsmax. */
+ case 1146: value = 1217; break; /* ldsmaxlb --> stsmaxlb. */
+ case 1149: value = 1218; break; /* ldsmaxlh --> stsmaxlh. */
+ case 1152: value = 1219; break; /* ldsmaxl --> stsmaxl. */
+ case 1154: value = 1220; break; /* ldsminb --> stsminb. */
+ case 1155: value = 1221; break; /* ldsminh --> stsminh. */
+ case 1156: value = 1222; break; /* ldsmin --> stsmin. */
+ case 1158: value = 1223; break; /* ldsminlb --> stsminlb. */
+ case 1161: value = 1224; break; /* ldsminlh --> stsminlh. */
+ case 1164: value = 1225; break; /* ldsminl --> stsminl. */
+ case 1166: value = 1226; break; /* ldumaxb --> stumaxb. */
+ case 1167: value = 1227; break; /* ldumaxh --> stumaxh. */
+ case 1168: value = 1228; break; /* ldumax --> stumax. */
+ case 1170: value = 1229; break; /* ldumaxlb --> stumaxlb. */
+ case 1173: value = 1230; break; /* ldumaxlh --> stumaxlh. */
+ case 1176: value = 1231; break; /* ldumaxl --> stumaxl. */
+ case 1178: value = 1232; break; /* lduminb --> stuminb. */
+ case 1179: value = 1233; break; /* lduminh --> stuminh. */
+ case 1180: value = 1234; break; /* ldumin --> stumin. */
+ case 1182: value = 1235; break; /* lduminlb --> stuminlb. */
+ case 1185: value = 1236; break; /* lduminlh --> stuminlh. */
+ case 1188: value = 1237; break; /* lduminl --> stuminl. */
+ case 1268: value = 1269; break; /* movn --> mov. */
+ case 1270: value = 1271; break; /* movz --> mov. */
+ case 1285: value = 3316; break; /* hint --> clrbhb. */
+ case 1305: value = 1309; break; /* dsb --> pssbb. */
+ case 1306: value = 1306; break; /* dsb --> dsb. */
+ case 1324: value = 3317; break; /* sys --> trcit. */
+ case 1325: value = 1330; break; /* sysp --> tlbip. */
+ case 1331: value = 1331; break; /* wfet --> wfet. */
+ case 1332: value = 1332; break; /* wfit --> wfit. */
+ case 1400: value = 2137; break; /* and --> bic. */
+ case 1402: value = 1383; break; /* and --> mov. */
+ case 1403: value = 1387; break; /* ands --> movs. */
+ case 1438: value = 2138; break; /* cmpge --> cmple. */
+ case 1441: value = 2141; break; /* cmpgt --> cmplt. */
+ case 1443: value = 2139; break; /* cmphi --> cmplo. */
+ case 1446: value = 2140; break; /* cmphs --> cmpls. */
+ case 1468: value = 1380; break; /* cpy --> mov. */
+ case 1469: value = 1382; break; /* cpy --> mov. */
+ case 1470: value = 2148; break; /* cpy --> fmov. */
+ case 1482: value = 1374; break; /* dup --> mov. */
+ case 1483: value = 1377; break; /* dup --> mov. */
+ case 1484: value = 2147; break; /* dup --> fmov. */
+ case 1485: value = 1378; break; /* dupm --> mov. */
+ case 1487: value = 2142; break; /* eor --> eon. */
+ case 1489: value = 1388; break; /* eor --> not. */
+ case 1490: value = 1389; break; /* eors --> nots. */
+ case 1495: value = 2143; break; /* facge --> facle. */
+ case 1496: value = 2144; break; /* facgt --> faclt. */
+ case 1509: value = 2145; break; /* fcmge --> fcmle. */
+ case 1511: value = 2146; break; /* fcmgt --> fcmlt. */
+ case 1517: value = 1371; break; /* fcpy --> fmov. */
+ case 1540: value = 1370; break; /* fdup --> fmov. */
+ case 1825: value = 1826; break; /* ldr --> ldr. */
+ case 1856: value = 1372; break; /* orr --> mov. */
+ case 1857: value = 2149; break; /* orr --> orn. */
+ case 1859: value = 1376; break; /* orr --> mov. */
+ case 1860: value = 1386; break; /* orrs --> movs. */
+ case 1862: value = 1863; break; /* pfalse --> pfalse. */
+ case 1923: value = 1381; break; /* sel --> mov. */
+ case 1924: value = 1384; break; /* sel --> mov. */
+ case 2044: value = 2045; break; /* str --> str. */
+ case 2474: value = 2472; break; /* mova --> mov. */
+ case 2475: value = 2473; break; /* mova --> mov. */
+ case 2492: value = 2493; break; /* psel --> psel. */
+ case 2706: value = 2698; break; /* mova --> mov. */
+ case 2707: value = 2699; break; /* mova --> mov. */
+ case 2708: value = 2700; break; /* mova --> mov. */
+ case 2709: value = 2701; break; /* mova --> mov. */
+ case 2710: value = 2702; break; /* mova --> mov. */
+ case 2711: value = 2703; break; /* mova --> mov. */
+ case 2712: value = 2704; break; /* mova --> mov. */
+ case 2713: value = 2705; break; /* mova --> mov. */
default: return NULL;
}
@@ -35121,155 +35965,186 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
case 634: value = 631; break; /* lsl --> ubfx. */
case 631: value = 630; break; /* ubfx --> ubfiz. */
case 630: value = 629; break; /* ubfiz --> ubfm. */
- case 665: value = 664; break; /* cset --> cinc. */
- case 664: value = 663; break; /* cinc --> csinc. */
- case 668: value = 667; break; /* csetm --> cinv. */
- case 667: value = 666; break; /* cinv --> csinv. */
- case 670: value = 669; break; /* cneg --> csneg. */
- case 688: value = 689; break; /* rev --> rev64. */
- case 714: value = 713; break; /* lsl --> lslv. */
- case 716: value = 715; break; /* lsr --> lsrv. */
- case 718: value = 717; break; /* asr --> asrv. */
- case 720: value = 719; break; /* ror --> rorv. */
- case 723: value = 722; break; /* cmpp --> subps. */
- case 736: value = 735; break; /* mul --> madd. */
- case 738: value = 737; break; /* mneg --> msub. */
- case 740: value = 739; break; /* smull --> smaddl. */
- case 742: value = 741; break; /* smnegl --> smsubl. */
- case 745: value = 744; break; /* umull --> umaddl. */
- case 747: value = 746; break; /* umnegl --> umsubl. */
- case 759: value = 758; break; /* ror --> extr. */
- case 996: value = 995; break; /* bic --> and. */
- case 998: value = 997; break; /* mov --> orr. */
- case 1001: value = 1000; break; /* tst --> ands. */
- case 1006: value = 1005; break; /* uxtw --> mov. */
- case 1005: value = 1004; break; /* mov --> orr. */
- case 1008: value = 1007; break; /* mvn --> orn. */
- case 1012: value = 1011; break; /* tst --> ands. */
- case 1138: value = 1042; break; /* staddb --> ldaddb. */
- case 1139: value = 1043; break; /* staddh --> ldaddh. */
- case 1140: value = 1044; break; /* stadd --> ldadd. */
- case 1141: value = 1046; break; /* staddlb --> ldaddlb. */
- case 1142: value = 1049; break; /* staddlh --> ldaddlh. */
- case 1143: value = 1052; break; /* staddl --> ldaddl. */
- case 1144: value = 1054; break; /* stclrb --> ldclrb. */
- case 1145: value = 1055; break; /* stclrh --> ldclrh. */
- case 1146: value = 1056; break; /* stclr --> ldclr. */
- case 1147: value = 1058; break; /* stclrlb --> ldclrlb. */
- case 1148: value = 1061; break; /* stclrlh --> ldclrlh. */
- case 1149: value = 1064; break; /* stclrl --> ldclrl. */
- case 1150: value = 1066; break; /* steorb --> ldeorb. */
- case 1151: value = 1067; break; /* steorh --> ldeorh. */
- case 1152: value = 1068; break; /* steor --> ldeor. */
- case 1153: value = 1070; break; /* steorlb --> ldeorlb. */
- case 1154: value = 1073; break; /* steorlh --> ldeorlh. */
- case 1155: value = 1076; break; /* steorl --> ldeorl. */
- case 1156: value = 1078; break; /* stsetb --> ldsetb. */
- case 1157: value = 1079; break; /* stseth --> ldseth. */
- case 1158: value = 1080; break; /* stset --> ldset. */
- case 1159: value = 1082; break; /* stsetlb --> ldsetlb. */
- case 1160: value = 1085; break; /* stsetlh --> ldsetlh. */
- case 1161: value = 1088; break; /* stsetl --> ldsetl. */
- case 1162: value = 1090; break; /* stsmaxb --> ldsmaxb. */
- case 1163: value = 1091; break; /* stsmaxh --> ldsmaxh. */
- case 1164: value = 1092; break; /* stsmax --> ldsmax. */
- case 1165: value = 1094; break; /* stsmaxlb --> ldsmaxlb. */
- case 1166: value = 1097; break; /* stsmaxlh --> ldsmaxlh. */
- case 1167: value = 1100; break; /* stsmaxl --> ldsmaxl. */
- case 1168: value = 1102; break; /* stsminb --> ldsminb. */
- case 1169: value = 1103; break; /* stsminh --> ldsminh. */
- case 1170: value = 1104; break; /* stsmin --> ldsmin. */
- case 1171: value = 1106; break; /* stsminlb --> ldsminlb. */
- case 1172: value = 1109; break; /* stsminlh --> ldsminlh. */
- case 1173: value = 1112; break; /* stsminl --> ldsminl. */
- case 1174: value = 1114; break; /* stumaxb --> ldumaxb. */
- case 1175: value = 1115; break; /* stumaxh --> ldumaxh. */
- case 1176: value = 1116; break; /* stumax --> ldumax. */
- case 1177: value = 1118; break; /* stumaxlb --> ldumaxlb. */
- case 1178: value = 1121; break; /* stumaxlh --> ldumaxlh. */
- case 1179: value = 1124; break; /* stumaxl --> ldumaxl. */
- case 1180: value = 1126; break; /* stuminb --> lduminb. */
- case 1181: value = 1127; break; /* stuminh --> lduminh. */
- case 1182: value = 1128; break; /* stumin --> ldumin. */
- case 1183: value = 1130; break; /* stuminlb --> lduminlb. */
- case 1184: value = 1133; break; /* stuminlh --> lduminlh. */
- case 1185: value = 1136; break; /* stuminl --> lduminl. */
- case 1217: value = 1216; break; /* mov --> movn. */
- case 1219: value = 1218; break; /* mov --> movz. */
- case 3216: value = 1299; break; /* clrbhb --> autibsp. */
- case 1299: value = 1298; break; /* autibsp --> autibz. */
- case 1298: value = 1297; break; /* autibz --> autiasp. */
- case 1297: value = 1296; break; /* autiasp --> autiaz. */
- case 1296: value = 1295; break; /* autiaz --> pacibsp. */
- case 1295: value = 1294; break; /* pacibsp --> pacibz. */
- case 1294: value = 1293; break; /* pacibz --> paciasp. */
- case 1293: value = 1292; break; /* paciasp --> paciaz. */
- case 1292: value = 1271; break; /* paciaz --> gcsb. */
- case 1271: value = 1251; break; /* gcsb --> clearbhb. */
- case 1251: value = 1250; break; /* clearbhb --> tsb. */
- case 1250: value = 1249; break; /* tsb --> psb. */
- case 1249: value = 1248; break; /* psb --> esb. */
- case 1248: value = 1247; break; /* esb --> autib1716. */
- case 1247: value = 1246; break; /* autib1716 --> autia1716. */
- case 1246: value = 1245; break; /* autia1716 --> pacib1716. */
- case 1245: value = 1244; break; /* pacib1716 --> pacia1716. */
- case 1244: value = 1243; break; /* pacia1716 --> xpaclri. */
- case 1243: value = 1241; break; /* xpaclri --> sevl. */
- case 1241: value = 1240; break; /* sevl --> sev. */
- case 1240: value = 1239; break; /* sev --> wfi. */
- case 1239: value = 1238; break; /* wfi --> wfe. */
- case 1238: value = 1237; break; /* wfe --> yield. */
- case 1237: value = 1236; break; /* yield --> bti. */
- case 1236: value = 1235; break; /* bti --> csdb. */
- case 1235: value = 1234; break; /* csdb --> nop. */
- case 1234: value = 1233; break; /* nop --> hint. */
- case 1257: value = 1256; break; /* pssbb --> ssbb. */
- case 1256: value = 1255; break; /* ssbb --> dfb. */
- case 1255: value = 1253; break; /* dfb --> dsb. */
- case 3217: value = 1285; break; /* trcit --> brb. */
- case 1285: value = 1284; break; /* brb --> cosp. */
- case 1284: value = 1283; break; /* cosp --> cpp. */
- case 1283: value = 1282; break; /* cpp --> dvp. */
- case 1282: value = 1281; break; /* dvp --> cfp. */
- case 1281: value = 1277; break; /* cfp --> tlbi. */
- case 1277: value = 1276; break; /* tlbi --> ic. */
- case 1276: value = 1275; break; /* ic --> dc. */
- case 1275: value = 1274; break; /* dc --> at. */
- case 1274: value = 1272; break; /* at --> sys. */
- case 1278: value = 1273; break; /* tlbip --> sysp. */
- case 2101: value = 1348; break; /* bic --> and. */
- case 1331: value = 1350; break; /* mov --> and. */
- case 1335: value = 1351; break; /* movs --> ands. */
- case 2102: value = 1386; break; /* cmple --> cmpge. */
- case 2105: value = 1389; break; /* cmplt --> cmpgt. */
- case 2103: value = 1391; break; /* cmplo --> cmphi. */
- case 2104: value = 1394; break; /* cmpls --> cmphs. */
- case 1328: value = 1416; break; /* mov --> cpy. */
- case 1330: value = 1417; break; /* mov --> cpy. */
- case 2112: value = 1333; break; /* fmov --> mov. */
- case 1333: value = 1418; break; /* mov --> cpy. */
- case 1322: value = 1430; break; /* mov --> dup. */
- case 1325: value = 1321; break; /* mov --> mov. */
- case 1321: value = 1431; break; /* mov --> dup. */
- case 2111: value = 1327; break; /* fmov --> mov. */
- case 1327: value = 1432; break; /* mov --> dup. */
- case 1326: value = 1433; break; /* mov --> dupm. */
- case 2106: value = 1435; break; /* eon --> eor. */
- case 1336: value = 1437; break; /* not --> eor. */
- case 1337: value = 1438; break; /* nots --> eors. */
- case 2107: value = 1443; break; /* facle --> facge. */
- case 2108: value = 1444; break; /* faclt --> facgt. */
- case 2109: value = 1457; break; /* fcmle --> fcmge. */
- case 2110: value = 1459; break; /* fcmlt --> fcmgt. */
- case 1319: value = 1465; break; /* fmov --> fcpy. */
- case 1318: value = 1488; break; /* fmov --> fdup. */
- case 1320: value = 1820; break; /* mov --> orr. */
- case 2113: value = 1821; break; /* orn --> orr. */
- case 1324: value = 1323; break; /* mov --> mov. */
- case 1323: value = 1823; break; /* mov --> orr. */
- case 1334: value = 1824; break; /* movs --> orrs. */
- case 1329: value = 1887; break; /* mov --> sel. */
- case 1332: value = 1888; break; /* mov --> sel. */
+ case 659: value = 658; break; /* cblt --> cbgt. */
+ case 661: value = 660; break; /* cble --> cbge. */
+ case 663: value = 662; break; /* cblo --> cbhi. */
+ case 665: value = 664; break; /* cbls --> cbhs. */
+ case 669: value = 668; break; /* cbge --> cbgt. */
+ case 671: value = 670; break; /* cble --> cblt. */
+ case 673: value = 672; break; /* cbhs --> cbhi. */
+ case 675: value = 674; break; /* cbls --> cblo. */
+ case 679: value = 678; break; /* cbblt --> cbbgt. */
+ case 681: value = 680; break; /* cbble --> cbbge. */
+ case 683: value = 682; break; /* cbblo --> cbbhi. */
+ case 685: value = 684; break; /* cbbls --> cbbhs. */
+ case 689: value = 688; break; /* cbhlt --> cbhgt. */
+ case 691: value = 690; break; /* cbhle --> cbhge. */
+ case 693: value = 692; break; /* cbhlo --> cbhhi. */
+ case 695: value = 694; break; /* cbhls --> cbhhs. */
+ case 705: value = 704; break; /* cset --> cinc. */
+ case 704: value = 703; break; /* cinc --> csinc. */
+ case 708: value = 707; break; /* csetm --> cinv. */
+ case 707: value = 706; break; /* cinv --> csinv. */
+ case 710: value = 709; break; /* cneg --> csneg. */
+ case 729: value = 728; break; /* rev64 --> rev. */
+ case 754: value = 753; break; /* lsl --> lslv. */
+ case 756: value = 755; break; /* lsr --> lsrv. */
+ case 758: value = 757; break; /* asr --> asrv. */
+ case 760: value = 759; break; /* ror --> rorv. */
+ case 763: value = 762; break; /* cmpp --> subps. */
+ case 776: value = 775; break; /* mul --> madd. */
+ case 778: value = 777; break; /* mneg --> msub. */
+ case 780: value = 779; break; /* smull --> smaddl. */
+ case 782: value = 781; break; /* smnegl --> smsubl. */
+ case 785: value = 784; break; /* umull --> umaddl. */
+ case 787: value = 786; break; /* umnegl --> umsubl. */
+ case 799: value = 798; break; /* ror --> extr. */
+ case 1048: value = 1047; break; /* bic --> and. */
+ case 1050: value = 1049; break; /* mov --> orr. */
+ case 1053: value = 1052; break; /* tst --> ands. */
+ case 1058: value = 1057; break; /* uxtw --> mov. */
+ case 1057: value = 1056; break; /* mov --> orr. */
+ case 1060: value = 1059; break; /* mvn --> orn. */
+ case 1064: value = 1063; break; /* tst --> ands. */
+ case 1190: value = 1094; break; /* staddb --> ldaddb. */
+ case 1191: value = 1095; break; /* staddh --> ldaddh. */
+ case 1192: value = 1096; break; /* stadd --> ldadd. */
+ case 1193: value = 1098; break; /* staddlb --> ldaddlb. */
+ case 1194: value = 1101; break; /* staddlh --> ldaddlh. */
+ case 1195: value = 1104; break; /* staddl --> ldaddl. */
+ case 1196: value = 1106; break; /* stclrb --> ldclrb. */
+ case 1197: value = 1107; break; /* stclrh --> ldclrh. */
+ case 1198: value = 1108; break; /* stclr --> ldclr. */
+ case 1199: value = 1110; break; /* stclrlb --> ldclrlb. */
+ case 1200: value = 1113; break; /* stclrlh --> ldclrlh. */
+ case 1201: value = 1116; break; /* stclrl --> ldclrl. */
+ case 1202: value = 1118; break; /* steorb --> ldeorb. */
+ case 1203: value = 1119; break; /* steorh --> ldeorh. */
+ case 1204: value = 1120; break; /* steor --> ldeor. */
+ case 1205: value = 1122; break; /* steorlb --> ldeorlb. */
+ case 1206: value = 1125; break; /* steorlh --> ldeorlh. */
+ case 1207: value = 1128; break; /* steorl --> ldeorl. */
+ case 1208: value = 1130; break; /* stsetb --> ldsetb. */
+ case 1209: value = 1131; break; /* stseth --> ldseth. */
+ case 1210: value = 1132; break; /* stset --> ldset. */
+ case 1211: value = 1134; break; /* stsetlb --> ldsetlb. */
+ case 1212: value = 1137; break; /* stsetlh --> ldsetlh. */
+ case 1213: value = 1140; break; /* stsetl --> ldsetl. */
+ case 1214: value = 1142; break; /* stsmaxb --> ldsmaxb. */
+ case 1215: value = 1143; break; /* stsmaxh --> ldsmaxh. */
+ case 1216: value = 1144; break; /* stsmax --> ldsmax. */
+ case 1217: value = 1146; break; /* stsmaxlb --> ldsmaxlb. */
+ case 1218: value = 1149; break; /* stsmaxlh --> ldsmaxlh. */
+ case 1219: value = 1152; break; /* stsmaxl --> ldsmaxl. */
+ case 1220: value = 1154; break; /* stsminb --> ldsminb. */
+ case 1221: value = 1155; break; /* stsminh --> ldsminh. */
+ case 1222: value = 1156; break; /* stsmin --> ldsmin. */
+ case 1223: value = 1158; break; /* stsminlb --> ldsminlb. */
+ case 1224: value = 1161; break; /* stsminlh --> ldsminlh. */
+ case 1225: value = 1164; break; /* stsminl --> ldsminl. */
+ case 1226: value = 1166; break; /* stumaxb --> ldumaxb. */
+ case 1227: value = 1167; break; /* stumaxh --> ldumaxh. */
+ case 1228: value = 1168; break; /* stumax --> ldumax. */
+ case 1229: value = 1170; break; /* stumaxlb --> ldumaxlb. */
+ case 1230: value = 1173; break; /* stumaxlh --> ldumaxlh. */
+ case 1231: value = 1176; break; /* stumaxl --> ldumaxl. */
+ case 1232: value = 1178; break; /* stuminb --> lduminb. */
+ case 1233: value = 1179; break; /* stuminh --> lduminh. */
+ case 1234: value = 1180; break; /* stumin --> ldumin. */
+ case 1235: value = 1182; break; /* stuminlb --> lduminlb. */
+ case 1236: value = 1185; break; /* stuminlh --> lduminlh. */
+ case 1237: value = 1188; break; /* stuminl --> lduminl. */
+ case 1269: value = 1268; break; /* mov --> movn. */
+ case 1271: value = 1270; break; /* mov --> movz. */
+ case 3316: value = 1351; break; /* clrbhb --> autibsp. */
+ case 1351: value = 1350; break; /* autibsp --> autibz. */
+ case 1350: value = 1349; break; /* autibz --> autiasp. */
+ case 1349: value = 1348; break; /* autiasp --> autiaz. */
+ case 1348: value = 1347; break; /* autiaz --> pacibsp. */
+ case 1347: value = 1346; break; /* pacibsp --> pacibz. */
+ case 1346: value = 1345; break; /* pacibz --> paciasp. */
+ case 1345: value = 1344; break; /* paciasp --> paciaz. */
+ case 1344: value = 1323; break; /* paciaz --> gcsb. */
+ case 1323: value = 1303; break; /* gcsb --> clearbhb. */
+ case 1303: value = 1302; break; /* clearbhb --> tsb. */
+ case 1302: value = 1301; break; /* tsb --> psb. */
+ case 1301: value = 1300; break; /* psb --> esb. */
+ case 1300: value = 1299; break; /* esb --> autib1716. */
+ case 1299: value = 1298; break; /* autib1716 --> autia1716. */
+ case 1298: value = 1297; break; /* autia1716 --> pacib1716. */
+ case 1297: value = 1296; break; /* pacib1716 --> pacia1716. */
+ case 1296: value = 1295; break; /* pacia1716 --> xpaclri. */
+ case 1295: value = 1294; break; /* xpaclri --> dgh. */
+ case 1294: value = 1293; break; /* dgh --> sevl. */
+ case 1293: value = 1292; break; /* sevl --> sev. */
+ case 1292: value = 1291; break; /* sev --> wfi. */
+ case 1291: value = 1290; break; /* wfi --> wfe. */
+ case 1290: value = 1289; break; /* wfe --> yield. */
+ case 1289: value = 1288; break; /* yield --> bti. */
+ case 1288: value = 1287; break; /* bti --> csdb. */
+ case 1287: value = 1286; break; /* csdb --> nop. */
+ case 1286: value = 1285; break; /* nop --> hint. */
+ case 1309: value = 1308; break; /* pssbb --> ssbb. */
+ case 1308: value = 1307; break; /* ssbb --> dfb. */
+ case 1307: value = 1305; break; /* dfb --> dsb. */
+ case 3317: value = 1337; break; /* trcit --> brb. */
+ case 1337: value = 1336; break; /* brb --> cosp. */
+ case 1336: value = 1335; break; /* cosp --> cpp. */
+ case 1335: value = 1334; break; /* cpp --> dvp. */
+ case 1334: value = 1333; break; /* dvp --> cfp. */
+ case 1333: value = 1329; break; /* cfp --> tlbi. */
+ case 1329: value = 1328; break; /* tlbi --> ic. */
+ case 1328: value = 1327; break; /* ic --> dc. */
+ case 1327: value = 1326; break; /* dc --> at. */
+ case 1326: value = 1324; break; /* at --> sys. */
+ case 1330: value = 1325; break; /* tlbip --> sysp. */
+ case 2137: value = 1400; break; /* bic --> and. */
+ case 1383: value = 1402; break; /* mov --> and. */
+ case 1387: value = 1403; break; /* movs --> ands. */
+ case 2138: value = 1438; break; /* cmple --> cmpge. */
+ case 2141: value = 1441; break; /* cmplt --> cmpgt. */
+ case 2139: value = 1443; break; /* cmplo --> cmphi. */
+ case 2140: value = 1446; break; /* cmpls --> cmphs. */
+ case 1380: value = 1468; break; /* mov --> cpy. */
+ case 1382: value = 1469; break; /* mov --> cpy. */
+ case 2148: value = 1385; break; /* fmov --> mov. */
+ case 1385: value = 1470; break; /* mov --> cpy. */
+ case 1374: value = 1482; break; /* mov --> dup. */
+ case 1377: value = 1373; break; /* mov --> mov. */
+ case 1373: value = 1483; break; /* mov --> dup. */
+ case 2147: value = 1379; break; /* fmov --> mov. */
+ case 1379: value = 1484; break; /* mov --> dup. */
+ case 1378: value = 1485; break; /* mov --> dupm. */
+ case 2142: value = 1487; break; /* eon --> eor. */
+ case 1388: value = 1489; break; /* not --> eor. */
+ case 1389: value = 1490; break; /* nots --> eors. */
+ case 2143: value = 1495; break; /* facle --> facge. */
+ case 2144: value = 1496; break; /* faclt --> facgt. */
+ case 2145: value = 1509; break; /* fcmle --> fcmge. */
+ case 2146: value = 1511; break; /* fcmlt --> fcmgt. */
+ case 1371: value = 1517; break; /* fmov --> fcpy. */
+ case 1370: value = 1540; break; /* fmov --> fdup. */
+ case 1826: value = 1825; break; /* ldr --> ldr. */
+ case 1372: value = 1856; break; /* mov --> orr. */
+ case 2149: value = 1857; break; /* orn --> orr. */
+ case 1376: value = 1375; break; /* mov --> mov. */
+ case 1375: value = 1859; break; /* mov --> orr. */
+ case 1386: value = 1860; break; /* movs --> orrs. */
+ case 1863: value = 1862; break; /* pfalse --> pfalse. */
+ case 1381: value = 1923; break; /* mov --> sel. */
+ case 1384: value = 1924; break; /* mov --> sel. */
+ case 2045: value = 2044; break; /* str --> str. */
+ case 2472: value = 2474; break; /* mov --> mova. */
+ case 2473: value = 2475; break; /* mov --> mova. */
+ case 2493: value = 2492; break; /* psel --> psel. */
+ case 2698: value = 2706; break; /* mov --> mova. */
+ case 2699: value = 2707; break; /* mov --> mova. */
+ case 2700: value = 2708; break; /* mov --> mova. */
+ case 2701: value = 2709; break; /* mov --> mova. */
+ case 2702: value = 2710; break; /* mov --> mova. */
+ case 2703: value = 2711; break; /* mov --> mova. */
+ case 2704: value = 2712; break; /* mov --> mova. */
+ case 2705: value = 2713; break; /* mov --> mova. */
default: return NULL;
}
@@ -35312,16 +36187,9 @@ aarch64_extract_operand (const aarch64_operand *self,
case 32:
case 33:
case 34:
- case 123:
- case 124:
- case 125:
- case 184:
- case 185:
- case 186:
- case 187:
- case 188:
- case 189:
- case 190:
+ case 126:
+ case 127:
+ case 128:
case 191:
case 192:
case 193:
@@ -35329,33 +36197,41 @@ aarch64_extract_operand (const aarch64_operand *self,
case 195:
case 196:
case 197:
- case 213:
- case 214:
- case 215:
- case 216:
- case 226:
- case 227:
- case 228:
- case 229:
- case 230:
- case 241:
- case 245:
- case 249:
+ case 198:
+ case 199:
+ case 200:
+ case 201:
+ case 202:
+ case 203:
+ case 204:
+ case 220:
+ case 221:
+ case 222:
+ case 223:
+ case 233:
+ case 234:
+ case 235:
+ case 236:
+ case 237:
+ case 248:
+ case 252:
+ case 256:
case 257:
- case 258:
- case 259:
+ case 265:
case 266:
case 267:
- case 268:
- case 269:
- case 303:
- case 307:
+ case 274:
+ case 275:
+ case 276:
+ case 277:
+ case 311:
+ case 315:
return aarch64_ext_regno (self, info, code, inst, errors);
case 6:
- case 119:
- case 120:
- case 313:
- case 316:
+ case 122:
+ case 123:
+ case 321:
+ case 324:
return aarch64_ext_none (self, info, code, inst, errors);
case 11:
return aarch64_ext_regrt_sysins (self, info, code, inst, errors);
@@ -35375,24 +36251,16 @@ aarch64_extract_operand (const aarch64_operand *self,
case 37:
case 38:
case 39:
- case 318:
+ case 326:
return aarch64_ext_reglane (self, info, code, inst, errors);
case 40:
case 41:
case 42:
- case 231:
- case 232:
- case 235:
- case 270:
- case 271:
- case 286:
- case 287:
- case 288:
- case 289:
- case 290:
- case 291:
- case 292:
- case 293:
+ case 238:
+ case 239:
+ case 242:
+ case 278:
+ case 279:
case 294:
case 295:
case 296:
@@ -35402,12 +36270,20 @@ aarch64_extract_operand (const aarch64_operand *self,
case 300:
case 301:
case 302:
+ case 303:
case 304:
case 305:
case 306:
+ case 307:
case 308:
case 309:
case 310:
+ case 312:
+ case 313:
+ case 314:
+ case 316:
+ case 317:
+ case 318:
return aarch64_ext_simple_index (self, info, code, inst, errors);
case 43:
return aarch64_ext_reglist (self, info, code, inst, errors);
@@ -35440,32 +36316,35 @@ aarch64_extract_operand (const aarch64_operand *self,
case 75:
case 76:
case 77:
- case 88:
- case 89:
+ case 78:
+ case 79:
case 90:
case 91:
case 92:
- case 118:
- case 122:
- case 181:
- case 183:
- case 204:
- case 205:
- case 206:
- case 207:
- case 208:
- case 209:
- case 210:
+ case 93:
+ case 94:
+ case 95:
+ case 121:
+ case 125:
+ case 188:
+ case 190:
case 211:
case 212:
- case 272:
- case 311:
- case 312:
- case 314:
- case 315:
- case 317:
+ case 213:
+ case 214:
+ case 215:
+ case 216:
+ case 217:
+ case 218:
+ case 219:
+ case 280:
+ case 319:
+ case 320:
case 322:
case 323:
+ case 325:
+ case 330:
+ case 331:
return aarch64_ext_imm (self, info, code, inst, errors);
case 52:
case 53:
@@ -35477,88 +36356,85 @@ aarch64_extract_operand (const aarch64_operand *self,
case 57:
return aarch64_ext_shll_imm (self, info, code, inst, errors);
case 60:
- case 171:
+ case 178:
return aarch64_ext_fpimm (self, info, code, inst, errors);
- case 78:
- case 179:
+ case 80:
+ case 186:
return aarch64_ext_limm (self, info, code, inst, errors);
- case 79:
+ case 81:
return aarch64_ext_aimm (self, info, code, inst, errors);
- case 80:
+ case 82:
return aarch64_ext_imm_half (self, info, code, inst, errors);
- case 81:
- return aarch64_ext_fbits (self, info, code, inst, errors);
case 83:
- case 84:
- case 176:
- return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
+ return aarch64_ext_fbits (self, info, code, inst, errors);
case 85:
- case 175:
- case 177:
- return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
case 86:
+ case 183:
+ return aarch64_ext_imm_rotate2 (self, info, code, inst, errors);
case 87:
+ case 182:
+ case 184:
+ return aarch64_ext_imm_rotate1 (self, info, code, inst, errors);
+ case 88:
+ case 89:
return aarch64_ext_cond (self, info, code, inst, errors);
- case 93:
- case 102:
- return aarch64_ext_addr_simple (self, info, code, inst, errors);
- case 94:
- return aarch64_ext_addr_regoff (self, info, code, inst, errors);
- case 95:
case 96:
+ case 105:
+ return aarch64_ext_addr_simple (self, info, code, inst, errors);
case 97:
+ return aarch64_ext_addr_regoff (self, info, code, inst, errors);
+ case 98:
case 99:
- case 101:
+ case 100:
+ case 102:
+ case 104:
return aarch64_ext_addr_simm (self, info, code, inst, errors);
- case 98:
+ case 101:
return aarch64_ext_addr_simm10 (self, info, code, inst, errors);
- case 100:
- return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
case 103:
- return aarch64_ext_addr_offset (self, info, code, inst, errors);
- case 104:
- return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
- case 105:
+ return aarch64_ext_addr_uimm12 (self, info, code, inst, errors);
case 106:
- return aarch64_ext_sysreg (self, info, code, inst, errors);
+ return aarch64_ext_addr_offset (self, info, code, inst, errors);
case 107:
- return aarch64_ext_pstatefield (self, info, code, inst, errors);
+ return aarch64_ext_simd_addr_post (self, info, code, inst, errors);
case 108:
case 109:
+ return aarch64_ext_sysreg (self, info, code, inst, errors);
case 110:
+ return aarch64_ext_pstatefield (self, info, code, inst, errors);
case 111:
case 112:
case 113:
- return aarch64_ext_sysins_op (self, info, code, inst, errors);
case 114:
+ case 115:
case 116:
+ return aarch64_ext_sysins_op (self, info, code, inst, errors);
+ case 117:
+ case 119:
return aarch64_ext_barrier (self, info, code, inst, errors);
- case 115:
+ case 118:
return aarch64_ext_barrier_dsb_nxs (self, info, code, inst, errors);
- case 117:
+ case 120:
return aarch64_ext_prfop (self, info, code, inst, errors);
- case 121:
+ case 124:
return aarch64_ext_hint (self, info, code, inst, errors);
- case 126:
- case 127:
- return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
- case 128:
case 129:
case 130:
+ return aarch64_ext_sve_addr_ri_s4 (self, info, code, inst, errors);
case 131:
- return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 132:
- return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case 133:
- return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 134:
+ return aarch64_ext_sve_addr_ri_s4xvl (self, info, code, inst, errors);
case 135:
+ return aarch64_ext_sve_addr_ri_s6xvl (self, info, code, inst, errors);
case 136:
+ return aarch64_ext_sve_addr_ri_s9xvl (self, info, code, inst, errors);
case 137:
- return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
case 138:
case 139:
case 140:
+ return aarch64_ext_sve_addr_ri_u6 (self, info, code, inst, errors);
case 141:
case 142:
case 143:
@@ -35572,7 +36448,6 @@ aarch64_extract_operand (const aarch64_operand *self,
case 151:
case 152:
case 153:
- return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
case 154:
case 155:
case 156:
@@ -35580,116 +36455,124 @@ aarch64_extract_operand (const aarch64_operand *self,
case 158:
case 159:
case 160:
+ return aarch64_ext_sve_addr_rr_lsl (self, info, code, inst, errors);
case 161:
- return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
case 162:
case 163:
case 164:
case 165:
- return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
case 166:
- return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
case 167:
- return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
case 168:
- return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
+ return aarch64_ext_sve_addr_rz_xtw (self, info, code, inst, errors);
case 169:
- return aarch64_ext_sve_aimm (self, info, code, inst, errors);
case 170:
- return aarch64_ext_sve_asimm (self, info, code, inst, errors);
+ case 171:
case 172:
- return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
+ return aarch64_ext_sve_addr_zi_u5 (self, info, code, inst, errors);
case 173:
- return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
+ return aarch64_ext_sve_addr_zz_lsl (self, info, code, inst, errors);
case 174:
+ return aarch64_ext_sve_addr_zz_sxtw (self, info, code, inst, errors);
+ case 175:
+ return aarch64_ext_sve_addr_zz_uxtw (self, info, code, inst, errors);
+ case 176:
+ return aarch64_ext_sve_aimm (self, info, code, inst, errors);
+ case 177:
+ return aarch64_ext_sve_asimm (self, info, code, inst, errors);
+ case 179:
+ return aarch64_ext_sve_float_half_one (self, info, code, inst, errors);
+ case 180:
+ return aarch64_ext_sve_float_half_two (self, info, code, inst, errors);
+ case 181:
return aarch64_ext_sve_float_zero_one (self, info, code, inst, errors);
- case 178:
+ case 185:
return aarch64_ext_inv_limm (self, info, code, inst, errors);
- case 180:
+ case 187:
return aarch64_ext_sve_limm_mov (self, info, code, inst, errors);
- case 182:
+ case 189:
return aarch64_ext_sve_scale (self, info, code, inst, errors);
- case 198:
- case 199:
- case 200:
+ case 205:
+ case 206:
+ case 207:
return aarch64_ext_sve_shlimm (self, info, code, inst, errors);
- case 201:
- case 202:
- case 203:
- case 285:
+ case 208:
+ case 209:
+ case 210:
+ case 293:
return aarch64_ext_sve_shrimm (self, info, code, inst, errors);
- case 217:
- case 218:
- case 219:
- case 220:
- return aarch64_ext_sme_za_vrs1 (self, info, code, inst, errors);
- case 221:
- case 222:
- case 223:
case 224:
- return aarch64_ext_sme_za_vrs2 (self, info, code, inst, errors);
case 225:
+ case 226:
+ case 227:
+ return aarch64_ext_sme_za_vrs1 (self, info, code, inst, errors);
+ case 228:
+ case 229:
+ case 230:
+ case 231:
+ return aarch64_ext_sme_za_vrs2 (self, info, code, inst, errors);
+ case 232:
return aarch64_ext_sme_za_tile_to_vec (self, info, code, inst, errors);
- case 233:
- case 234:
- case 236:
- case 237:
- case 238:
- case 239:
case 240:
- return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
- case 242:
+ case 241:
case 243:
- return aarch64_ext_sve_index (self, info, code, inst, errors);
case 244:
+ case 245:
case 246:
- case 265:
- return aarch64_ext_sve_reglist (self, info, code, inst, errors);
case 247:
- case 248:
+ return aarch64_ext_sve_quad_index (self, info, code, inst, errors);
+ case 249:
case 250:
+ return aarch64_ext_sve_index (self, info, code, inst, errors);
case 251:
- case 252:
case 253:
+ case 273:
+ return aarch64_ext_sve_reglist (self, info, code, inst, errors);
case 254:
- case 264:
- return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors);
case 255:
- case 256:
- return aarch64_ext_sve_strided_reglist (self, info, code, inst, errors);
+ case 258:
+ case 259:
case 260:
- case 262:
- case 273:
- return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors);
case 261:
+ case 262:
+ case 272:
+ return aarch64_ext_sve_aligned_reglist (self, info, code, inst, errors);
case 263:
+ case 264:
+ return aarch64_ext_sve_strided_reglist (self, info, code, inst, errors);
+ case 268:
+ case 270:
+ case 281:
+ return aarch64_ext_sme_za_hv_tiles (self, info, code, inst, errors);
+ case 269:
+ case 271:
return aarch64_ext_sme_za_hv_tiles_range (self, info, code, inst, errors);
- case 274:
- case 275:
- case 276:
- case 277:
- case 278:
- case 279:
- case 280:
+ case 282:
+ case 283:
+ case 284:
+ case 285:
+ case 286:
+ case 287:
+ case 288:
return aarch64_ext_sme_za_array (self, info, code, inst, errors);
- case 281:
+ case 289:
return aarch64_ext_sme_addr_ri_u4xvl (self, info, code, inst, errors);
- case 282:
+ case 290:
return aarch64_ext_sme_sm_za (self, info, code, inst, errors);
- case 283:
+ case 291:
return aarch64_ext_sme_pred_reg_with_index (self, info, code, inst, errors);
- case 284:
+ case 292:
return aarch64_ext_plain_shrimm (self, info, code, inst, errors);
- case 319:
- case 320:
- case 321:
- return aarch64_ext_x0_to_x30 (self, info, code, inst, errors);
- case 324:
- case 325:
- case 326:
case 327:
- return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors);
case 328:
+ case 329:
+ return aarch64_ext_x0_to_x30 (self, info, code, inst, errors);
+ case 332:
+ case 333:
+ case 334:
+ case 335:
+ return aarch64_ext_rcpc3_addr_opt_offset (self, info, code, inst, errors);
+ case 336:
return aarch64_ext_rcpc3_addr_offset (self, info, code, inst, errors);
default: assert (0); abort ();
}
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c
index 6552d0e..2aab630 100644
--- a/opcodes/aarch64-dis.c
+++ b/opcodes/aarch64-dis.c
@@ -2746,7 +2746,16 @@ do_special_decoding (aarch64_inst *inst)
{
idx = select_operand_for_sf_field_coding (inst->opcode);
value = extract_field (FLD_sf, inst->value, 0);
- inst->operands[idx].qualifier = get_greg_qualifier_from_value (value);
+ if (inst->opcode->iclass == fprcvtfloat2int
+ || inst->opcode->iclass == fprcvtint2float)
+ {
+ if (value == 0)
+ inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_S;
+ else
+ inst->operands[idx].qualifier = AARCH64_OPND_QLF_S_D;
+ }
+ else
+ inst->operands[idx].qualifier = get_greg_qualifier_from_value (value);
if (inst->operands[idx].qualifier == AARCH64_OPND_QLF_ERR)
return 0;
if ((inst->opcode->flags & F_N)
@@ -2831,6 +2840,23 @@ do_special_decoding (aarch64_inst *inst)
}
}
+ if (inst->opcode->flags & F_LSFE_SZ)
+ {
+ value = extract_field (FLD_ldst_size, inst->value, 0);
+
+ if (value > 0x3)
+ return 0;
+
+ for (int i = 0;
+ aarch64_operands[inst->operands[i].type].op_class != AARCH64_OPND_CLASS_ADDRESS;
+ i++)
+ {
+ inst->operands[i].qualifier = get_sreg_qualifier_from_value (value);
+ if (inst->operands[i].qualifier == AARCH64_OPND_QLF_ERR)
+ return 0;
+ }
+ }
+
if (inst->opcode->flags & F_T)
{
/* Num of consecutive '0's on the right side of imm5<3:0>. */
diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c
index 99294b3..4adb43f 100644
--- a/opcodes/aarch64-opc-2.c
+++ b/opcodes/aarch64-opc-2.c
@@ -90,6 +90,8 @@ const struct aarch64_operand aarch64_operands[] =
{AARCH64_OPND_CLASS_IMMEDIATE, "WIDTH", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm6_10}, "the width of the bit-field"},
{AARCH64_OPND_CLASS_IMMEDIATE, "IMM", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm6_10}, "an immediate"},
{AARCH64_OPND_CLASS_IMMEDIATE, "IMM_2", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm6_15}, "an immediate"},
+ {AARCH64_OPND_CLASS_IMMEDIATE, "IMMP1_2", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm6_15}, "an immediate plus 1"},
+ {AARCH64_OPND_CLASS_IMMEDIATE, "IMMS1_2", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm6_15}, "an immediate minus 1"},
{AARCH64_OPND_CLASS_IMMEDIATE, "UIMM3_OP1", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_op1}, "a 3-bit unsigned immediate"},
{AARCH64_OPND_CLASS_IMMEDIATE, "UIMM3_OP2", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_op2}, "a 3-bit unsigned immediate"},
{AARCH64_OPND_CLASS_IMMEDIATE, "UIMM4", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_CRm}, "a 4-bit unsigned immediate"},
@@ -113,6 +115,7 @@ const struct aarch64_operand aarch64_operands[] =
{AARCH64_OPND_CLASS_COND, "COND", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "a condition"},
{AARCH64_OPND_CLASS_COND, "COND1", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {}, "one of the standard conditions, excluding AL and NV."},
{AARCH64_OPND_CLASS_ADDRESS, "ADDR_ADRP", OPD_F_SEXT | OPD_F_HAS_EXTRACTOR, {FLD_immhi, FLD_immlo}, "21-bit PC-relative address of a 4KB page"},
+ {AARCH64_OPND_CLASS_ADDRESS, "ADDR_PCREL9", OPD_F_SEXT | OPD_F_SHIFT_BY_2 | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm9_5}, "9-bit PC-relative address"},
{AARCH64_OPND_CLASS_ADDRESS, "ADDR_PCREL14", OPD_F_SEXT | OPD_F_SHIFT_BY_2 | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm14}, "14-bit PC-relative address"},
{AARCH64_OPND_CLASS_ADDRESS, "ADDR_PCREL19", OPD_F_SEXT | OPD_F_SHIFT_BY_2 | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_imm19}, "19-bit PC-relative address"},
{AARCH64_OPND_CLASS_ADDRESS, "ADDR_PCREL21", OPD_F_SEXT | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_immhi,FLD_immlo}, "21-bit PC-relative address"},
@@ -162,12 +165,16 @@ const struct aarch64_operand aarch64_operands[] =
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RI_U6x2", 1 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an address with a 6-bit unsigned offset, multiplied by 2"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RI_U6x4", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an address with a 6-bit unsigned offset, multiplied by 4"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RI_U6x8", 3 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn}, "an address with a 6-bit unsigned offset, multiplied by 8"},
- {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_R", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with an optional scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR_LSL1", 1 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR_LSL2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR_LSL3", 3 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RR_LSL4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
+ {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RM", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
+ {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RM_LSL1", 1 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
+ {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RM_LSL2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
+ {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RM_LSL3", 3 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
+ {AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RM_LSL4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RX", (0 << OPD_F_OD_LSB) | OPD_F_NO_ZR | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RX_LSL1", (1 << OPD_F_OD_LSB) | OPD_F_NO_ZR | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
{AARCH64_OPND_CLASS_ADDRESS, "SVE_ADDR_RX_LSL2", (2 << OPD_F_OD_LSB) | OPD_F_NO_ZR | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_Rn,FLD_Rm}, "an address with a scalar register offset"},
@@ -274,6 +281,7 @@ const struct aarch64_operand aarch64_operands[] =
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zdnx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zdn2}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zdnx4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zdn4}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REG, "SME_Zm", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm}, "an SVE vector register"},
+ {AARCH64_OPND_CLASS_SVE_REG, "SME_Zm_17", OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm2}, "an SVE vector register"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm2}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Zmx4", 4 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zm4}, "a list of SVE vector registers"},
{AARCH64_OPND_CLASS_SVE_REGLIST, "SME_Znx2", 2 << OPD_F_OD_LSB | OPD_F_HAS_INSERTER | OPD_F_HAS_EXTRACTOR, {FLD_SME_Zn2}, "a list of SVE vector registers"},
@@ -362,48 +370,48 @@ const struct aarch64_operand aarch64_operands[] =
static const unsigned op_enum_table [] =
{
0,
- 889,
- 890,
- 891,
- 894,
- 895,
- 896,
- 897,
- 898,
- 892,
- 893,
- 899,
- 900,
- 922,
- 923,
- 924,
- 927,
- 928,
- 929,
- 930,
- 931,
- 925,
- 926,
- 932,
- 933,
- 987,
- 988,
- 989,
- 990,
+ 941,
+ 942,
+ 943,
+ 946,
+ 947,
+ 948,
+ 949,
+ 950,
+ 944,
+ 945,
+ 951,
+ 952,
+ 974,
+ 975,
+ 976,
+ 979,
+ 980,
+ 981,
+ 982,
+ 983,
+ 977,
+ 978,
+ 984,
+ 985,
+ 1039,
+ 1040,
+ 1041,
+ 1042,
12,
636,
637,
- 1216,
- 1218,
- 1220,
- 998,
- 1219,
- 1217,
+ 1268,
+ 1270,
+ 1272,
+ 1050,
+ 1271,
+ 1269,
318,
624,
635,
634,
- 996,
+ 1048,
631,
628,
620,
@@ -413,35 +421,35 @@ static const unsigned op_enum_table [] =
630,
632,
633,
- 1006,
- 664,
- 667,
- 670,
- 665,
- 668,
- 825,
+ 1058,
+ 704,
+ 707,
+ 710,
+ 705,
+ 708,
+ 877,
178,
179,
180,
181,
516,
- 759,
+ 799,
389,
391,
413,
415,
- 1323,
- 1324,
- 1329,
- 1321,
- 1320,
- 1325,
- 1332,
- 1334,
- 1335,
- 1331,
- 1337,
- 1336,
+ 1375,
+ 1376,
+ 1381,
+ 1373,
+ 1372,
+ 1377,
+ 1384,
+ 1386,
+ 1387,
+ 1383,
+ 1389,
+ 1388,
131,
};
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 4f0c716..60facbf 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -381,6 +381,7 @@ const aarch64_field fields[] =
{ 15, 7 }, /* imm7: in load/store pair pre/post index instructions. */
{ 13, 8 }, /* imm8: in floating-point scalar move immediate inst. */
{ 12, 9 }, /* imm9: in load/store pre/post index instructions. */
+ { 5, 9 }, /* imm9_5: in CB<cc> (immediate). */
{ 10, 12 }, /* imm12: in ld/st unsigned imm or add/sub shifted inst. */
{ 5, 14 }, /* imm14: in test bit and branch instructions. */
{ 0, 16 }, /* imm16_0: in udf instruction. */
@@ -1960,6 +1961,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
break;
case AARCH64_OPND_SME_Zm:
+ case AARCH64_OPND_SME_Zm_17:
if (opnd->reg.regno > 15)
{
set_invalid_regno_error (mismatch_detail, idx, "z", 0, 15);
@@ -2417,6 +2419,7 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
}
break;
+ case AARCH64_OPND_ADDR_PCREL9:
case AARCH64_OPND_ADDR_PCREL14:
case AARCH64_OPND_ADDR_PCREL19:
case AARCH64_OPND_ADDR_PCREL21:
@@ -2542,12 +2545,16 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
assert (opnd->shifter.operator_present == 0);
break;
- case AARCH64_OPND_SVE_ADDR_R:
case AARCH64_OPND_SVE_ADDR_RR:
case AARCH64_OPND_SVE_ADDR_RR_LSL1:
case AARCH64_OPND_SVE_ADDR_RR_LSL2:
case AARCH64_OPND_SVE_ADDR_RR_LSL3:
case AARCH64_OPND_SVE_ADDR_RR_LSL4:
+ case AARCH64_OPND_SVE_ADDR_RM:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL1:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL2:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL3:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL4:
case AARCH64_OPND_SVE_ADDR_RX:
case AARCH64_OPND_SVE_ADDR_RX_LSL1:
case AARCH64_OPND_SVE_ADDR_RX_LSL2:
@@ -4327,6 +4334,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
case AARCH64_OPND_SVE_Zn:
case AARCH64_OPND_SVE_Zt:
case AARCH64_OPND_SME_Zm:
+ case AARCH64_OPND_SME_Zm_17:
if (opnd->qualifier == AARCH64_OPND_QLF_NIL)
snprintf (buf, size, "%s", style_reg (styler, "z%d", opnd->reg.regno));
else
@@ -4781,6 +4789,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
snprintf (buf, size, "%s", style_addr (styler, "#0x%" PRIx64 , addr));
break;
+ case AARCH64_OPND_ADDR_PCREL9:
case AARCH64_OPND_ADDR_PCREL14:
case AARCH64_OPND_ADDR_PCREL19:
case AARCH64_OPND_ADDR_PCREL21:
@@ -4817,12 +4826,16 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
break;
case AARCH64_OPND_ADDR_REGOFF:
- case AARCH64_OPND_SVE_ADDR_R:
case AARCH64_OPND_SVE_ADDR_RR:
case AARCH64_OPND_SVE_ADDR_RR_LSL1:
case AARCH64_OPND_SVE_ADDR_RR_LSL2:
case AARCH64_OPND_SVE_ADDR_RR_LSL3:
case AARCH64_OPND_SVE_ADDR_RR_LSL4:
+ case AARCH64_OPND_SVE_ADDR_RM:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL1:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL2:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL3:
+ case AARCH64_OPND_SVE_ADDR_RM_LSL4:
case AARCH64_OPND_SVE_ADDR_RX:
case AARCH64_OPND_SVE_ADDR_RX_LSL1:
case AARCH64_OPND_SVE_ADDR_RX_LSL2:
@@ -5203,9 +5216,13 @@ const aarch64_sys_ins_reg aarch64_sys_regs_dc[] =
{ "isw", CPENS (0, C7, C6, 2), F_HASXT, AARCH64_NO_FEATURES },
{ "igdvac", CPENS (0, C7, C6, 5), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
{ "igdsw", CPENS (0, C7, C6, 6), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
+ { "cigdvaps", CPENS (0, C7, C15, 5), F_HASXT | F_ARCHEXT, AARCH64_FEATURES (2, MEMTAG, PoPS) },
+ { "civaps", CPENS (0, C7, C15, 1), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (PoPS) },
{ "cvac", CPENS (3, C7, C10, 1), F_HASXT, AARCH64_NO_FEATURES },
{ "cgvac", CPENS (3, C7, C10, 3), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
{ "cgdvac", CPENS (3, C7, C10, 5), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
+ { "cvaoc", CPENS (3, C7, C11, 0), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (OCCMO) },
+ { "cgdvaoc", CPENS (3, C7, C11, 7), F_HASXT | F_ARCHEXT, AARCH64_FEATURES (2, OCCMO, MEMTAG) },
{ "csw", CPENS (0, C7, C10, 2), F_HASXT, AARCH64_NO_FEATURES },
{ "cgsw", CPENS (0, C7, C10, 4), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
{ "cgdsw", CPENS (0, C7, C10, 6), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
@@ -5222,6 +5239,8 @@ const aarch64_sys_ins_reg aarch64_sys_regs_dc[] =
{ "cisw", CPENS (0, C7, C14, 2), F_HASXT, AARCH64_NO_FEATURES },
{ "cigsw", CPENS (0, C7, C14, 4), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
{ "cigdsw", CPENS (0, C7, C14, 6), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (MEMTAG) },
+ { "civaoc", CPENS (3, C7, C15, 0), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (OCCMO) },
+ { "cigdvaoc", CPENS (3, C7, C15, 7), F_HASXT | F_ARCHEXT, AARCH64_FEATURES (2, OCCMO, MEMTAG) },
{ "cipae", CPENS (4, C7, C14, 0), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (V8_7A) },
{ "cigdpae", CPENS (4, C7, C14, 7), F_HASXT | F_ARCHEXT, AARCH64_FEATURE (V8_7A) },
{ "cipapa", CPENS (6, C7, C14, 1), F_HASXT, AARCH64_NO_FEATURES },
diff --git a/opcodes/aarch64-opc.h b/opcodes/aarch64-opc.h
index 9ab9bdf..dc8787a 100644
--- a/opcodes/aarch64-opc.h
+++ b/opcodes/aarch64-opc.h
@@ -185,6 +185,7 @@ enum aarch64_field_kind
FLD_imm7,
FLD_imm8,
FLD_imm9,
+ FLD_imm9_5,
FLD_imm12,
FLD_imm14,
FLD_imm16_0,
@@ -326,7 +327,7 @@ verify_constraints (const struct aarch64_inst *, const aarch64_insn, bfd_vma,
#define F_REG_ALIAS (1 << 6) /* Register name aliases another. */
#undef F_REG_128
-#define F_REG_128 (1 << 7) /* System regsister implementable as 128-bit wide. */
+#define F_REG_128 (1 << 7) /* System register implementable as 128-bit wide. */
/* PSTATE field name for the MSR instruction this is encoded in "op1:op2:CRm".
@@ -551,6 +552,11 @@ static inline int
select_operand_for_sf_field_coding (const aarch64_opcode *opcode)
{
int idx = -1;
+ if (opcode->iclass == fprcvtfloat2int)
+ return 0;
+ else if (opcode->iclass == fprcvtint2float)
+ return 1;
+
if (aarch64_get_operand_class (opcode->operands[0])
== AARCH64_OPND_CLASS_INT_REG)
/* normal case. */
@@ -572,6 +578,11 @@ static inline int
select_operand_for_fptype_field_coding (const aarch64_opcode *opcode)
{
int idx;
+ if (opcode->iclass == fprcvtfloat2int)
+ return 1;
+ else if (opcode->iclass == fprcvtint2float)
+ return 0;
+
if (aarch64_get_operand_class (opcode->operands[1])
== AARCH64_OPND_CLASS_FP_REG)
/* normal case. */
@@ -602,7 +613,7 @@ select_operand_for_scalar_size_field_coding (const aarch64_opcode *opcode)
src_size = aarch64_get_qualifier_esize (opcode->qualifiers_list[0][1]);
if (src_size == dst_size && src_size == 0)
{ assert (0); abort (); }
- /* When the result is not a sisd register or it is a long operantion. */
+ /* When the result is not a sisd register or it is a long operation. */
if (dst_size == 0 || dst_size == src_size << 1)
return 1;
else
diff --git a/opcodes/aarch64-sys-regs.def b/opcodes/aarch64-sys-regs.def
index c1b07c7..5cb2342 100644
--- a/opcodes/aarch64-sys-regs.def
+++ b/opcodes/aarch64-sys-regs.def
@@ -437,6 +437,7 @@
SYSREG ("gcscr_el3", CPENC (3,6,2,5,0), F_ARCHEXT, AARCH64_FEATURE (GCS))
SYSREG ("gcr_el1", CPENC (3,0,1,0,6), F_ARCHEXT, AARCH64_FEATURE (MEMTAG))
SYSREG ("gmid_el1", CPENC (3,1,0,0,4), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (MEMTAG))
+ SYSREG ("gpcbw_el3", CPENC (3,6,2,1,5), F_ARCHEXT, AARCH64_FEATURE (V9_5A))
SYSREG ("gpccr_el3", CPENC (3,6,2,1,6), 0, AARCH64_NO_FEATURES)
SYSREG ("gptbr_el3", CPENC (3,6,2,1,4), 0, AARCH64_NO_FEATURES)
SYSREG ("hacr_el2", CPENC (3,4,1,1,7), 0, AARCH64_NO_FEATURES)
@@ -448,6 +449,7 @@
SYSREG ("hdfgwtr_el2", CPENC (3,4,3,1,5), F_ARCHEXT, AARCH64_FEATURE (V8_6A))
SYSREG ("hdfgwtr2_el2", CPENC (3,4,3,1,1), F_ARCHEXT, AARCH64_FEATURE (FGT2))
SYSREG ("hfgitr_el2", CPENC (3,4,1,1,6), F_ARCHEXT, AARCH64_FEATURE (V8_6A))
+ SYSREG ("hfgitr2_el2", CPENC (3,4,3,1,7), F_ARCHEXT, AARCH64_FEATURE (V8_8A))
SYSREG ("hfgrtr_el2", CPENC (3,4,1,1,4), F_ARCHEXT, AARCH64_FEATURE (V8_6A))
SYSREG ("hfgrtr2_el2", CPENC (3,4,3,1,2), F_ARCHEXT, AARCH64_FEATURE (FGT2))
SYSREG ("hfgwtr_el2", CPENC (3,4,1,1,5), F_ARCHEXT, AARCH64_FEATURE (V8_6A))
@@ -520,6 +522,7 @@
SYSREG ("id_aa64dfr0_el1", CPENC (3,0,0,5,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64dfr1_el1", CPENC (3,0,0,5,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64dfr2_el1", CPENC (3,0,0,5,2), F_REG_READ, AARCH64_NO_FEATURES)
+ SYSREG ("id_aa64fpfr0_el1", CPENC (3,0,0,4,7), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64isar0_el1", CPENC (3,0,0,6,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64isar1_el1", CPENC (3,0,0,6,1), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64isar2_el1", CPENC (3,0,0,6,2), F_REG_READ, AARCH64_NO_FEATURES)
@@ -531,6 +534,7 @@
SYSREG ("id_aa64mmfr4_el1", CPENC (3,0,0,7,4), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64pfr0_el1", CPENC (3,0,0,4,0), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64pfr1_el1", CPENC (3,0,0,4,1), F_REG_READ, AARCH64_NO_FEATURES)
+ SYSREG ("id_aa64pfr2_el1", CPENC (3,0,0,4,2), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("id_aa64smfr0_el1", CPENC (3,0,0,4,5), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (SME))
SYSREG ("id_aa64zfr0_el1", CPENC (3,0,0,4,4), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (SVE))
SYSREG ("id_afr0_el1", CPENC (3,0,0,1,3), F_REG_READ, AARCH64_NO_FEATURES)
@@ -588,6 +592,14 @@
SYSREG ("mpam1_el12", CPENC (3,5,10,5,0), 0, AARCH64_NO_FEATURES)
SYSREG ("mpam2_el2", CPENC (3,4,10,5,0), 0, AARCH64_NO_FEATURES)
SYSREG ("mpam3_el3", CPENC (3,6,10,5,0), 0, AARCH64_NO_FEATURES)
+ SYSREG ("mpambw0_el1", CPENC (3,0,10,5,5), F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambw1_el1", CPENC (3,0,10,5,4), F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambw1_el12", CPENC (3,5,10,5,4), F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambw2_el2", CPENC (3,4,10,5,4), F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambw3_el3", CPENC (3,6,10,5,4), F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambwcap_el2", CPENC (3,4,10,5,6), F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambwidr_el1", CPENC (3,0,10,4,5), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (V9_3A))
+ SYSREG ("mpambwsm_el1", CPENC (3,0,10,5,7), F_ARCHEXT, AARCH64_FEATURES (2, SME, V9_3A))
SYSREG ("mpamhcr_el2", CPENC (3,4,10,4,0), 0, AARCH64_NO_FEATURES)
SYSREG ("mpamidr_el1", CPENC (3,0,10,4,4), F_REG_READ, AARCH64_NO_FEATURES)
SYSREG ("mpamsm_el1", CPENC (3,0,10,5,3), F_ARCHEXT, AARCH64_FEATURE (SME))
@@ -627,8 +639,12 @@
SYSREG ("pfar_el2", CPENC (3,4,6,0,5), F_ARCHEXT, AARCH64_FEATURE (PFAR))
SYSREG ("pmbidr_el1", CPENC (3,0,9,10,7), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (PROFILE))
SYSREG ("pmblimitr_el1", CPENC (3,0,9,10,0), F_ARCHEXT, AARCH64_FEATURE (PROFILE))
+ SYSREG ("pmbmar_el1", CPENC (3,0,9,10,5), F_ARCHEXT, AARCH64_FEATURES (2, PROFILE, V9_5A))
SYSREG ("pmbptr_el1", CPENC (3,0,9,10,1), F_ARCHEXT, AARCH64_FEATURE (PROFILE))
SYSREG ("pmbsr_el1", CPENC (3,0,9,10,3), F_ARCHEXT, AARCH64_FEATURE (PROFILE))
+ SYSREG ("pmbsr_el12", CPENC (3,5,9,10,3), F_ARCHEXT, AARCH64_FEATURES (2, V9_5A, PROFILE))
+ SYSREG ("pmbsr_el2", CPENC (3,4,9,10,3), F_ARCHEXT, AARCH64_FEATURES (2, V9_5A, PROFILE))
+ SYSREG ("pmbsr_el3", CPENC (3,6,9,10,3), F_ARCHEXT, AARCH64_FEATURES (2, V9_5A, PROFILE))
SYSREG ("pmccfiltr_el0", CPENC (3,3,14,15,7), 0, AARCH64_NO_FEATURES)
SYSREG ("pmccntr_el0", CPENC (3,3,9,13,0), 0, AARCH64_NO_FEATURES)
SYSREG ("pmccntsvr_el1", CPENC (2,0,14,11,7), F_REG_READ|F_ARCHEXT, AARCH64_FEATURE (PMUv3_SS))
@@ -996,6 +1012,9 @@
SYSREG ("trbmar_el1", CPENC (3,0,9,11,4), 0, AARCH64_NO_FEATURES)
SYSREG ("trbptr_el1", CPENC (3,0,9,11,1), 0, AARCH64_NO_FEATURES)
SYSREG ("trbsr_el1", CPENC (3,0,9,11,3), 0, AARCH64_NO_FEATURES)
+ SYSREG ("trbsr_el12", CPENC (3,5,9,11,3), F_ARCHEXT, AARCH64_FEATURE (V9_5A))
+ SYSREG ("trbsr_el2", CPENC (3,4,9,11,3), F_ARCHEXT, AARCH64_FEATURE (V9_5A))
+ SYSREG ("trbsr_el3", CPENC (3,6,9,11,3), F_ARCHEXT, AARCH64_FEATURE (V9_5A))
SYSREG ("trbtrg_el1", CPENC (3,0,9,11,6), 0, AARCH64_NO_FEATURES)
SYSREG ("trcacatr0", CPENC (2,1,2,0,2), 0, AARCH64_NO_FEATURES)
SYSREG ("trcacatr1", CPENC (2,1,2,2,2), 0, AARCH64_NO_FEATURES)
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 8b64eb0..d573ecc 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -136,6 +136,19 @@
QLF2(X,NIL), \
}
+/* e.g. CBBGT <Wt>, <Wm>, <label>. */
+#define QL_W2NIL \
+{ \
+ QLF3(W,W,NIL), \
+}
+
+/* e.g. CBGT <Wt>, #<imm6>, <label>. */
+#define QL_R_IMM_NIL \
+{ \
+ QLF3(W,imm_0_63,NIL), \
+ QLF3(X,imm_0_63,NIL), \
+}
+
/* e.g. LDR <Dt>, <label>. */
#define QL_FP_PCREL \
{ \
@@ -359,6 +372,15 @@
QLF2 (S_H, X), \
}
+/* e.g. FCVTAS <Xd>, <Dn>. */
+#define QL_INT2FP_FPRCVT \
+{ \
+ QLF2(S_H,S_S), \
+ QLF2(S_H,S_D), \
+ QLF2(S_S,S_D), \
+ QLF2(S_D,S_S), \
+}
+
/* e.g. FCVTNS <Xd>, <Dn>. */
#define QL_FP2INT \
{ \
@@ -368,6 +390,15 @@
QLF2(X,S_S), \
}
+/* e.g. FCVTAS <Sd>, <Dn>. */
+#define QL_FP2INT_FPRCVT \
+{ \
+ QLF2(S_D,S_S), \
+ QLF2(S_S,S_D), \
+ QLF2(S_D,S_H), \
+ QLF2(S_S,S_H), \
+}
+
/* e.g. FMOV <Xd>, <Dn>. */
#define QL_FP2INT_FMOV \
{ \
@@ -1211,6 +1242,20 @@
QLF3(X, X, NIL), \
}
+/* e.g. LDBFADD <Fs>, <Ft>, [<Xn|SP>{,#0}]. */
+#define QL_FP2_H_0 \
+{ \
+ QLF3(S_H, S_H, NIL), \
+}
+
+/* e.g. LDFADD <Fs>, <Ft>, [<Xn|SP>{,#0}]. */
+#define QL_FP2_HSD_0 \
+{ \
+ QLF3(S_H, S_H, NIL), \
+ QLF3(S_S, S_S, NIL), \
+ QLF3(S_D, S_D, NIL), \
+}
+
/* e.g. CASP <Xt1>, <Xt1+1>, <Xt2>, <Xt2+1>, [<Xn|SP>{,#0}]. */
#define QL_R4NIL \
{ \
@@ -1353,6 +1398,14 @@
QLF2(S_D, NIL), \
}
+/* e.g. STFADD <Fs>, [<Xn|SP>]. */
+#define QL_FP_HSD_0 \
+{ \
+ QLF2(S_H, NIL), \
+ QLF2(S_S, NIL), \
+ QLF2(S_D, NIL), \
+}
+
/* e.g. ADDV <V><d>, <Vn>.<T>. */
#define QL_XLANES \
{ \
@@ -2693,6 +2746,8 @@ static const aarch64_feature_set aarch64_feature_crc =
AARCH64_FEATURE (CRC);
static const aarch64_feature_set aarch64_feature_lse =
AARCH64_FEATURE (LSE);
+static const aarch64_feature_set aarch64_feature_lsfe =
+ AARCH64_FEATURE (LSFE);
static const aarch64_feature_set aarch64_feature_lse128 =
AARCH64_FEATURES (2, LSE, LSE128);
static const aarch64_feature_set aarch64_feature_lor =
@@ -2703,6 +2758,8 @@ static const aarch64_feature_set aarch64_feature_fp_f16 =
AARCH64_FEATURES (2, F16, FP);
static const aarch64_feature_set aarch64_feature_simd_f16 =
AARCH64_FEATURES (2, F16, SIMD);
+static const aarch64_feature_set aarch64_feature_fprcvt =
+ AARCH64_FEATURE (FPRCVT);
static const aarch64_feature_set aarch64_feature_sve =
AARCH64_FEATURE (SVE);
static const aarch64_feature_set aarch64_feature_pauth =
@@ -2737,6 +2794,8 @@ static const aarch64_feature_set aarch64_feature_predres =
AARCH64_FEATURE (PREDRES);
static const aarch64_feature_set aarch64_feature_predres2 =
AARCH64_FEATURES (2, PREDRES, PREDRES2);
+static const aarch64_feature_set aarch64_feature_cmpbr =
+ AARCH64_FEATURE (CMPBR);
static const aarch64_feature_set aarch64_feature_memtag =
AARCH64_FEATURE (MEMTAG);
static const aarch64_feature_set aarch64_feature_bfloat16 =
@@ -2815,6 +2874,16 @@ static const aarch64_feature_set aarch64_feature_sme2p1 =
AARCH64_FEATURE (SME2p1);
static const aarch64_feature_set aarch64_feature_sve2p1 =
AARCH64_FEATURE (SVE2p1);
+static const aarch64_feature_set aarch64_feature_sve_f16f32mm =
+ AARCH64_FEATURE (SVE_F16F32MM);
+static const aarch64_feature_set aarch64_feature_f8f32mm =
+ AARCH64_FEATURE (F8F32MM);
+static const aarch64_feature_set aarch64_feature_f8f32mm_sve2 =
+ AARCH64_FEATURES (2, SVE2, F8F32MM);
+static const aarch64_feature_set aarch64_feature_f8f16mm =
+ AARCH64_FEATURE (F8F16MM);
+static const aarch64_feature_set aarch64_feature_f8f16mm_sve2 =
+ AARCH64_FEATURES (2, SVE2, F8F16MM);
static const aarch64_feature_set aarch64_feature_rcpc3 =
AARCH64_FEATURE (RCPC3);
static const aarch64_feature_set aarch64_feature_cpa =
@@ -2833,6 +2902,10 @@ static const aarch64_feature_set aarch64_feature_fp8_sve2 =
AARCH64_FEATURES (2, FP8, SVE2);
static const aarch64_feature_set aarch64_feature_fp8_sme2 =
AARCH64_FEATURES (2, FP8, SME2);
+static const aarch64_feature_set aarch64_feature_sve_bfscale =
+ AARCH64_FEATURES (2, SVE_BFSCALE, SVE2_SME2);
+static const aarch64_feature_set aarch64_feature_sve_bfscale_sme2 =
+ AARCH64_FEATURES (2, SVE_BFSCALE, SME2);
static const aarch64_feature_set aarch64_feature_lut =
AARCH64_FEATURE (LUT);
static const aarch64_feature_set aarch64_feature_lut_sve2 =
@@ -2875,11 +2948,13 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
#define SIMD &aarch64_feature_simd
#define CRC &aarch64_feature_crc
#define LSE &aarch64_feature_lse
+#define LSFE &aarch64_feature_lsfe
#define LSE128 &aarch64_feature_lse128
#define LOR &aarch64_feature_lor
#define RDMA &aarch64_feature_rdma
#define FP_F16 &aarch64_feature_fp_f16
#define SIMD_F16 &aarch64_feature_simd_f16
+#define FPRCVT &aarch64_feature_fprcvt
#define SVE &aarch64_feature_sve
#define PAUTH &aarch64_feature_pauth
#define COMPNUM &aarch64_feature_compnum
@@ -2897,6 +2972,7 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
#define SB &aarch64_feature_sb
#define PREDRES &aarch64_feature_predres
#define PREDRES2 &aarch64_feature_predres2
+#define CMPBR &aarch64_feature_cmpbr
#define MEMTAG &aarch64_feature_memtag
#define TME &aarch64_feature_tme
#define SVE2 &aarch64_feature_sve2
@@ -2936,6 +3012,11 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
#define SME_B16B16 &aarch64_feature_sme_b16b16
#define SME2p1 &aarch64_feature_sme2p1
#define SVE2p1 &aarch64_feature_sve2p1
+#define SVE_F16F32MM &aarch64_feature_sve_f16f32mm
+#define F8F32MM &aarch64_feature_f8f32mm
+#define F8F32MM_SVE2 &aarch64_feature_f8f32mm_sve2
+#define F8F16MM &aarch64_feature_f8f16mm
+#define F8F16MM_SVE2 &aarch64_feature_f8f16mm_sve2
#define RCPC3 &aarch64_feature_rcpc3
#define CPA &aarch64_feature_cpa
#define CPA_SVE &aarch64_feature_cpa_sve
@@ -2945,6 +3026,8 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
#define FP8 &aarch64_feature_fp8
#define FP8_SVE2 &aarch64_feature_fp8_sve2
#define FP8_SME2 &aarch64_feature_fp8_sme2
+#define SVE_BFSCALE &aarch64_feature_sve_bfscale
+#define SVE_BFSCALE_SME2 &aarch64_feature_sve_bfscale_sme2
#define LUT &aarch64_feature_lut
#define LUT_SVE2 &aarch64_feature_lut_sve2
#define BRBE &aarch64_feature_brbe
@@ -2976,6 +3059,8 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
{ NAME, OPCODE, MASK, CLASS, 0, CRC, OPS, QUALS, FLAGS, 0, 0, NULL }
#define _LSE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, 0, LSE, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define _LSFE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS, FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, 0, LSFE, OPS, QUALS, FLAGS, 0, 0, NULL }
#define _LSE128_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, 0, LSE128, OPS, QUALS, FLAGS, 0, 0, NULL }
#define _LOR_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
@@ -2986,6 +3071,8 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
{ NAME, OPCODE, MASK, CLASS, 0, FP_F16, OPS, QUALS, FLAGS, 0, 0, NULL }
#define SF16_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, 0, SIMD_F16, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define FPRCVT_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, 0, FPRCVT, OPS, QUALS, FLAGS, 0, 0, NULL }
#define _SVE_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
{ NAME, OPCODE, MASK, CLASS, OP, SVE, OPS, QUALS, \
FLAGS | F_STRICT, 0, TIED, NULL }
@@ -3022,6 +3109,8 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
{ NAME, OPCODE, MASK, CLASS, 0, SB, OPS, QUALS, FLAGS, 0, 0, NULL }
#define PREDRES_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, 0, PREDRES, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define CMPBR_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, 0, CMPBR, OPS, QUALS, FLAGS, 0, 0, NULL }
#define MEMTAG_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, 0, MEMTAG, OPS, QUALS, FLAGS, 0, 0, NULL }
#define _TME_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
@@ -3032,6 +3121,16 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
#define SME2p1_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
{ NAME, OPCODE, MASK, CLASS, OP, SME2p1, OPS, QUALS, \
FLAGS | F_STRICT, 0, TIED, NULL }
+#define SVE_F16F32MM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, OP, SVE_F16F32MM, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define F8F32MM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, OP, F8F32MM, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define F8F32MM_SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, OP, F8F32MM_SVE2, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define F8F16MM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, OP, F8F16MM, OPS, QUALS, FLAGS, 0, 0, NULL }
+#define F8F16MM_SVE2_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS) \
+ { NAME, OPCODE, MASK, CLASS, OP, F8F16MM_SVE2, OPS, QUALS, FLAGS, 0, 0, NULL }
#define SVE2_INSNC(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,CONSTRAINTS,TIED) \
{ NAME, OPCODE, MASK, CLASS, OP, SVE2, OPS, QUALS, \
FLAGS | F_STRICT, CONSTRAINTS, TIED, NULL }
@@ -3095,6 +3194,10 @@ static const aarch64_feature_set aarch64_feature_sve2p1_sme2p1 =
#define SVE2BITPERM_INSN(NAME,OPCODE,MASK,CLASS,OP,OPS,QUALS,FLAGS,TIED) \
{ NAME, OPCODE, MASK, CLASS, OP, SVE2_BITPERM, OPS, QUALS, \
FLAGS | F_STRICT, 0, TIED, NULL }
+#define SVE_BFSCALE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SVE_BFSCALE, OPS, QUALS, FLAGS, 0, TIED, NULL }
+#define SVE_BFSCALE_SME2_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS,TIED) \
+ { NAME, OPCODE, MASK, CLASS, 0, SVE_BFSCALE_SME2, OPS, QUALS, FLAGS, 0, TIED, NULL }
#define BFLOAT16_SVE_INSN(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS) \
{ NAME, OPCODE, MASK, CLASS, 0, BFLOAT16_SVE, OPS, QUALS, FLAGS, 0, 0, NULL }
#define BFLOAT16_SVE_INSNC(NAME,OPCODE,MASK,CLASS,OPS,QUALS,FLAGS, CONSTRAINTS, TIED) \
@@ -3965,6 +4068,50 @@ const struct aarch64_opcode aarch64_opcode_table[] =
CORE_INSN ("cbnz", 0x35000000, 0x7f000000, compbranch, 0, OP2 (Rt, ADDR_PCREL19), QL_R_PCREL, F_SF),
/* Conditional branch (immediate). */
CORE_INSN ("b.c", 0x54000000, 0xff000010, condbranch, 0, OP1 (ADDR_PCREL19), QL_PCREL_NIL, F_COND),
+ /* Compare registers and branch. */
+ CMPBR_INSN ("cbgt", 0x74000000, 0x7fe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_R2NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cblt", 0x74000000, 0x7fe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_R2NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbge", 0x74200000, 0x7fe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_R2NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cble", 0x74200000, 0x7fe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_R2NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbhi", 0x74400000, 0x7fe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_R2NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cblo", 0x74400000, 0x7fe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_R2NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbhs", 0x74600000, 0x7fe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_R2NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cbls", 0x74600000, 0x7fe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_R2NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbeq", 0x74c00000, 0x7fe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_R2NIL, F_SF),
+ CMPBR_INSN ("cbne", 0x74e00000, 0x7fe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_R2NIL, F_SF),
+ /* Compare register with immediate and branch. */
+ CMPBR_INSN ("cbgt", 0x75000000, 0x7fe04000, compbranch, OP3 (Rt, IMM_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cbge", 0x75000000, 0x7fe04000, compbranch, OP3 (Rt, IMMP1_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cblt", 0x75200000, 0x7fe04000, compbranch, OP3 (Rt, IMM_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cble", 0x75200000, 0x7fe04000, compbranch, OP3 (Rt, IMMS1_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbhi", 0x75400000, 0x7fe04000, compbranch, OP3 (Rt, IMM_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cbhs", 0x75400000, 0x7fe04000, compbranch, OP3 (Rt, IMMP1_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cblo", 0x75600000, 0x7fe04000, compbranch, OP3 (Rt, IMM_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_HAS_ALIAS),
+ CMPBR_INSN ("cbls", 0x75600000, 0x7fe04000, compbranch, OP3 (Rt, IMMS1_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF | F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbeq", 0x75c00000, 0x7fe04000, compbranch, OP3 (Rt, IMM_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF),
+ CMPBR_INSN ("cbne", 0x75e00000, 0x7fe04000, compbranch, OP3 (Rt, IMM_2, ADDR_PCREL9), QL_R_IMM_NIL, F_SF),
+ /* Compare bytes and branch. */
+ CMPBR_INSN ("cbbgt", 0x74008000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbblt", 0x74008000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbbge", 0x74208000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbble", 0x74208000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbbhi", 0x74408000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbblo", 0x74408000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbbhs", 0x74608000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbbls", 0x74608000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbbeq", 0x74c08000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, 0),
+ CMPBR_INSN ("cbbne", 0x74e08000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, 0),
+ /* Compare halfwords and branch. */
+ CMPBR_INSN ("cbhgt", 0x7400c000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbhlt", 0x7400c000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbhge", 0x7420c000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbhle", 0x7420c000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbhhi", 0x7440c000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbhlo", 0x7440c000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbhhs", 0x7460c000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, F_HAS_ALIAS),
+ CMPBR_INSN ("cbhls", 0x7460c000, 0xffe0c000, compbranch, OP3 (Rm, Rt, ADDR_PCREL9), QL_W2NIL, F_ALIAS | F_PSEUDO),
+ CMPBR_INSN ("cbheq", 0x74c0c000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, 0),
+ CMPBR_INSN ("cbhne", 0x74e0c000, 0xffe0c000, compbranch, OP3 (Rt, Rm, ADDR_PCREL9), QL_W2NIL, 0),
/* Conditional compare (immediate). */
CORE_INSN ("ccmn", 0x3a400800, 0x7fe00c10, condcmp_imm, 0, OP4 (Rn, CCMP_IMM, NZCV, COND), QL_CCMP_IMM, F_SF),
CORE_INSN ("ccmp", 0x7a400800, 0x7fe00c10, condcmp_imm, 0, OP4 (Rn, CCMP_IMM, NZCV, COND), QL_CCMP_IMM, F_SF),
@@ -4002,8 +4149,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
CORE_INSN ("rbit", 0x5ac00000, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
CORE_INSN ("rev16", 0x5ac00400, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
CORE_INSN ("rev", 0x5ac00800, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEW, 0),
- CORE_INSN ("rev", 0xdac00c00, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, F_SF | F_HAS_ALIAS | F_P1),
- CORE_INSN ("rev64", 0xdac00c00, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, F_SF | F_ALIAS),
+ CORE_INSN ("rev", 0xdac00c00, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, F_SF | F_HAS_ALIAS),
+ CORE_INSN ("rev64", 0xdac00c00, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, F_SF | F_ALIAS | F_PSEUDO),
CORE_INSN ("clz", 0x5ac01000, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
CORE_INSN ("cls", 0x5ac01400, 0x7ffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAME, F_SF),
CORE_INSN ("rev32", 0xdac00800, 0xfffffc00, dp_1src, 0, OP2 (Rd, Rn), QL_I2SAMEX, 0),
@@ -4091,32 +4238,44 @@ const struct aarch64_opcode aarch64_opcode_table[] =
/* Floating-point<->integer conversions. */
__FP_INSN ("fcvtns",0x1e200000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtns",0x1ee00000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtns",0x1e2a0000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtnu",0x1e210000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtnu",0x1ee10000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtnu",0x1e2b0000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("scvtf", 0x1e220000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF),
FF16_INSN ("scvtf", 0x1ee20000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("scvtf",0x1e3c0000, 0x7f3ffc00, fprcvtint2float, OP2 (Fd, Fn), QL_INT2FP_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("ucvtf", 0x1e230000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP, F_FPTYPE | F_SF),
FF16_INSN ("ucvtf", 0x1ee30000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("ucvtf",0x1e3d0000, 0x7f3ffc00, fprcvtint2float, OP2 (Fd, Fn), QL_INT2FP_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtas",0x1e240000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtas",0x1ee40000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtas",0x1e3a0000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtau",0x1e250000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtau",0x1ee50000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtau",0x1e3b0000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fmov", 0x1e260000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT_FMOV, F_FPTYPE | F_SF),
FF16_INSN ("fmov", 0x1ee60000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
__FP_INSN ("fmov", 0x1e270000, 0x7f3ffc00, float2int, 0, OP2 (Fd, Rn), QL_INT2FP_FMOV, F_FPTYPE | F_SF),
FF16_INSN ("fmov", 0x1ee70000, 0x7f3ffc00, float2int, OP2 (Fd, Rn), QL_INT2FP_H, F_FPTYPE | F_SF),
__FP_INSN ("fcvtps",0x1e280000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtps",0x1ee80000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtps",0x1e320000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtpu",0x1e290000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtpu",0x1ee90000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtpu",0x1e330000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtms",0x1e300000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtms",0x1ef00000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtms",0x1e340000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtmu",0x1e310000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtmu",0x1ef10000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtmu",0x1e350000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtzs",0x1e380000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtzs",0x1ef80000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtzs",0x1e360000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fcvtzu",0x1e390000, 0x7f3ffc00, float2int, 0, OP2 (Rd, Fn), QL_FP2INT, F_FPTYPE | F_SF),
FF16_INSN ("fcvtzu",0x1ef90000, 0x7f3ffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_H, F_FPTYPE | F_SF),
+ FPRCVT_INSN ("fcvtzu",0x1e370000, 0x7f3ffc00, fprcvtfloat2int, OP2 (Fd, Fn), QL_FP2INT_FPRCVT, F_FPTYPE | F_SF),
__FP_INSN ("fmov", 0x9eae0000, 0xfffffc00, float2int, 0, OP2 (Rd, VnD1), QL_XVD1, 0),
__FP_INSN ("fmov", 0x9eaf0000, 0xfffffc00, float2int, 0, OP2 (VdD1, Rn), QL_VD1X, 0),
JSCVT_INSN ("fjcvtzs", 0x1e7e0000, 0xfffffc00, float2int, OP2 (Rd, Fn), QL_FP2INT_W_D, 0),
@@ -4598,7 +4757,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
CORE_INSN ("wfi", 0xd503207f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("sev", 0xd503209f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("sevl",0xd50320bf, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
- CORE_INSN ("dgh", 0xd50320df, 0xffffffff, ic_system, 0, OP0 (), {}, 0),
+ CORE_INSN ("dgh", 0xd50320df, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("xpaclri", 0xd50320ff, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("pacia1716", 0xd503211f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("pacib1716", 0xd503215f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
@@ -4607,7 +4766,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
CORE_INSN ("esb", 0xd503221f, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("psb", 0xd503223f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), {}, F_ALIAS),
CORE_INSN ("tsb", 0xd503225f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), {}, F_ALIAS),
- CORE_INSN ("clearbhb", 0xd50322df, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
+ CORE_INSN ("clearbhb", 0xd50322df, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS | F_PSEUDO),
CORE_INSN ("clrex", 0xd503305f, 0xfffff0ff, ic_system, 0, OP1 (UIMM4), {}, F_OPD0_OPT | F_DEFAULT (0xF)),
CORE_INSN ("dsb", 0xd503309f, 0xfffff0ff, ic_system, 0, OP1 (BARRIER), {}, F_HAS_ALIAS),
XS_INSN ("dsb", 0xd503323f, 0xfffff3ff, ic_system, OP1 (BARRIER_DSB_NXS), {}, F_HAS_ALIAS),
@@ -4642,14 +4801,14 @@ const struct aarch64_opcode aarch64_opcode_table[] =
PREDRES_INSN ("cpp", 0xd50b73e0, 0xffffffe0, ic_system, OP2 (SYSREG_SR, Rt), QL_SRC_X, F_ALIAS),
PREDRES2_INSN ("cosp", 0xd50b73c0, 0xffffffe0, ic_system, OP2 (SYSREG_SR, Rt), QL_SRC_X, F_ALIAS),
BRBE_INSN ("brb", 0xd5097280, 0xffffffc0, OP2 (BRBOP, Rt_IN_SYS_ALIASES), QL_IMM_NIL_NIL, F_ALIAS | F_OPD1_OPT | F_DEFAULT (0x1F)),
- /* Armv8.4-a flag setting instruction, However this encoding has an encoding clash with the msr
- below it. Usually we can resolve this by setting an alias condition on the flags, however that
- depends on the disassembly masks to be able to quickly find the alias. The problem is the
- cfinv instruction has no arguments, so all bits are set in the mask. Which means it will
- potentially alias with too many instructions and so the tree can't be constructed. As a work
- around we just place cfinv before msr. This means the order between these two shouldn't be
- changed. */
FLAGM_INSN ("cfinv", 0xd500401f, 0xffffffff, ic_system, OP0 (), {}, 0),
+ /* This msr entry has a lot of aliases, and some of these (such as "hint")
+ have their own (recursive) aliases. We currently use a flat alias
+ structure, so to avoid creating an excessively long list of aliases for
+ the entire msr space we instead handle the top level of disambiguation
+ outside the alias infrastructure. This requires that all of the top-level
+ aliases of msr must appear earlier in the opcode table, since normal
+ (non-alias) disassembly is done on a "first match" basis. */
CORE_INSN ("msr", 0xd5000000, 0xffe00000, ic_system, 0, OP2 (SYSREG, Rt), QL_SRC_X, F_SYS_WRITE),
CORE_INSN ("sysl",0xd5280000, 0xfff80000, ic_system, 0, OP5 (Rt, UIMM3_OP1, CRn, CRm, UIMM3_OP2), QL_SYSL, 0),
CORE_INSN ("mrs", 0xd5200000, 0xffe00000, ic_system, 0, OP2 (Rt, SYSREG), QL_DST_X, F_SYS_READ),
@@ -4690,7 +4849,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("mov", 0x05202000, 0xff20fc00, sve_index, OP_MOV_Z_V, OP2 (SVE_Zd, SVE_VZn), OP_SVE_VV_BHSDQ, F_ALIAS | F_MISC, 0),
_SVE_INSN ("mov", 0x05203800, 0xff3ffc00, sve_size_bhsd, 0, OP2 (SVE_Zd, Rn_SP), OP_SVE_VR_BHSD, F_ALIAS, 0),
_SVE_INSN ("mov", 0x25804000, 0xfff0c210, sve_misc, OP_MOV_P_P, OP2 (SVE_Pd, SVE_Pn), OP_SVE_BB, F_ALIAS | F_MISC, 0),
- _SVE_INSN ("mov", 0x25804000, 0xfff0c210, sve_misc, OP_MOV_PN_PN, OP2 (SVE_PNd, SVE_PNn), OP_SVE_BB, F_ALIAS | F_MISC, 0),
+ _SVE_INSN ("mov", 0x25804000, 0xfff0c210, sve_misc, OP_MOV_PN_PN, OP2 (SVE_PNd, SVE_PNn), OP_SVE_BB, F_ALIAS | F_PSEUDO | F_MISC, 0),
_SVE_INSN ("mov", 0x05202000, 0xff20fc00, sve_index, OP_MOV_Z_Zi, OP2 (SVE_Zd, SVE_Zn_INDEX), OP_SVE_VV_BHSDQ, F_ALIAS | F_MISC, 0),
_SVE_INSN ("mov", 0x05c00000, 0xfffc0000, sve_limm, 0, OP2 (SVE_Zd, SVE_LIMM_MOV), OP_SVE_VU_BHSD, F_ALIAS, 0),
_SVE_INSN ("mov", 0x2538c000, 0xff3fc000, sve_size_bhsd, 0, OP2 (SVE_Zd, SVE_ASIMM), OP_SVE_VU_BHSD, F_ALIAS, 0),
@@ -5058,20 +5217,15 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldff1b", 0x84006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_BZU, F_OD(1), 0),
- _SVE_INSN ("ldff1b", 0xa4006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_BZU, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_HZU, F_OD(1), 0),
- _SVE_INSN ("ldff1b", 0xa4206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_SZU, F_OD(1), 0),
- _SVE_INSN ("ldff1b", 0xa4406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1b", 0xa4606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xc4006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xc440e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0x8420e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1b", 0xc420e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1d", 0xa5e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1d", 0xc5806000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1d", 0xc5a06000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW3_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1d", 0xc5c0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
@@ -5081,11 +5235,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldff1h", 0x84806000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0x84a06000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, F_OD(1), 0),
- _SVE_INSN ("ldff1h", 0xa4a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_SZU, F_OD(1), 0),
- _SVE_INSN ("ldff1h", 0xa4c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1h", 0xa4e06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0xc4806000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0xc4a06000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1h", 0xc4c0e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
@@ -5095,11 +5246,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldff1sb", 0x84002000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1sb", 0xa5806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_SZU, F_OD(1), 0),
- _SVE_INSN ("ldff1sb", 0xa5a06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
_SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR), OP_SVE_HZU, F_OD(1), 0),
- _SVE_INSN ("ldff1sb", 0xa5c06000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, F_OD(1), 0),
_SVE_INSN ("ldff1sb", 0xc4002000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sb", 0xc440a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sb", 0x8420a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5), OP_SVE_SZS, F_OD(1), 0),
@@ -5108,9 +5256,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldff1sh", 0x84802000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1sh", 0x84a02000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1sh", 0xa5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_SZU, F_OD(1), 0),
- _SVE_INSN ("ldff1sh", 0xa5206000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
_SVE_INSN ("ldff1sh", 0xc4802000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sh", 0xc4a02000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW1_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sh", 0xc4c0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
@@ -5119,7 +5265,6 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldff1sh", 0xc4a0a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_ZI_U5x2), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1sw", 0xa4806000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1sw", 0xc5002000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sw", 0xc5202000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1sw", 0xc540a000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
@@ -5129,9 +5274,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldff1w", 0x85006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1w", 0x85206000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_SZS, F_OD(1), 0),
_SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, F_OD(1), 0),
- _SVE_INSN ("ldff1w", 0xa5406000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, F_OD(1), 0),
_SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_DZU, F_OD(1), 0),
- _SVE_INSN ("ldff1w", 0xa5606000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, F_OD(1), 0),
_SVE_INSN ("ldff1w", 0xc5006000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1w", 0xc5206000, 0xffa0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ_XTW2_22), OP_SVE_DZD, F_OD(1), 0),
_SVE_INSN ("ldff1w", 0xc540e000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RZ), OP_SVE_DZD, F_OD(1), 0),
@@ -5163,8 +5306,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("ldnt1h", 0xa480e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HZU, F_OD(1), 0),
_SVE_INSN ("ldnt1w", 0xa500c000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SZU, F_OD(1), 0),
_SVE_INSN ("ldnt1w", 0xa500e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SZU, F_OD(1), 0),
- _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_Pt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
- _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_PNt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
+ _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_Pt, SVE_ADDR_RI_S9xVL), {}, F_HAS_ALIAS, 0),
+ _SVE_INSN ("ldr", 0x85800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_PNt, SVE_ADDR_RI_S9xVL), {}, F_ALIAS | F_PSEUDO, 0),
_SVE_INSN ("ldr", 0x85804000, 0xffc0e000, sve_misc, 0, OP2 (SVE_Zt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
_SVE_INSN ("lsl", 0x04208c00, 0xff20fc00, sve_size_bhs, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVD_BHS, 0, 0),
_SVE_INSN ("lsl", 0x04209c00, 0xff20fc00, sve_shift_unpred, 0, OP3 (SVE_Zd, SVE_Zn, SVE_SHLIMM_UNPRED), OP_SVE_VVU_BHSD, 0, 0),
@@ -5200,8 +5343,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("orr", 0x25804000, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, F_HAS_ALIAS, 0),
_SVE_INSN ("orrs", 0x25c04000, 0xfff0c210, sve_misc, 0, OP4 (SVE_Pd, SVE_Pg4_10, SVE_Pn, SVE_Pm), OP_SVE_BZBB, F_HAS_ALIAS, 0),
_SVE_INSN ("orv", 0x04182000, 0xff3fe000, sve_size_bhsd, 0, OP3 (SVE_Vd, SVE_Pg3, SVE_Zn), OP_SVE_VUV_BHSD, 0, 0),
- _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc, 0, OP1 (SVE_Pd), OP_SVE_B, 0, 0),
- _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc, 0, OP1 (SVE_PNd), OP_SVE_B, 0, 0),
+ _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc, 0, OP1 (SVE_Pd), OP_SVE_B, F_HAS_ALIAS, 0),
+ _SVE_INSN ("pfalse", 0x2518e400, 0xfffffff0, sve_misc, 0, OP1 (SVE_PNd), OP_SVE_B, F_ALIAS | F_PSEUDO, 0),
_SVE_INSN ("pfirst", 0x2558c000, 0xfffffe10, sve_misc, 0, OP3 (SVE_Pd, SVE_Pg4_5, SVE_Pd), OP_SVE_BUB, 0, 2),
_SVE_INSN ("pnext", 0x2519c400, 0xff3ffe10, sve_size_bhsd, 0, OP3 (SVE_Pd, SVE_Pg4_5, SVE_Pd), OP_SVE_VUV_BHSD, 0, 2),
_SVE_INSN ("prfb", 0x8400c000, 0xffe0e010, sve_misc, 0, OP3 (SVE_PRFOP, SVE_Pg3, SVE_ADDR_RX), {}, 0, 0),
@@ -5382,8 +5525,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
_SVE_INSN ("stnt1h", 0xe490e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_HUU, F_OD(1), 0),
_SVE_INSN ("stnt1w", 0xe5006000, 0xffe0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RX_LSL2), OP_SVE_SUU, F_OD(1), 0),
_SVE_INSN ("stnt1w", 0xe510e000, 0xfff0e000, sve_misc, 0, OP3 (SVE_ZtxN, SVE_Pg3, SVE_ADDR_RI_S4xVL), OP_SVE_SUU, F_OD(1), 0),
- _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_Pt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
- _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_PNt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
+ _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_Pt, SVE_ADDR_RI_S9xVL), {}, F_HAS_ALIAS, 0),
+ _SVE_INSN ("str", 0xe5800000, 0xffc0e010, sve_misc, 0, OP2 (SVE_PNt, SVE_ADDR_RI_S9xVL), {}, F_ALIAS | F_PSEUDO, 0),
_SVE_INSN ("str", 0xe5804000, 0xffc0e000, sve_misc, 0, OP2 (SVE_Zt, SVE_ADDR_RI_S9xVL), {}, 0, 0),
_SVE_INSN ("sub", 0x04200400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, 0),
_SVE_INSNC ("sub", 0x2521c000, 0xff3fc000, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zd, SVE_AIMM), OP_SVE_VVU_BHSD, 0, C_SCAN_MOVPRFX, 1),
@@ -5818,10 +5961,10 @@ const struct aarch64_opcode aarch64_opcode_table[] =
SME_INSN ("usmops", 0xa1800010, 0xffe0001c, sme_misc, 0, OP5 (SME_ZAda_2b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SVE_SMMBB, 0, 0),
SME_I16I64_INSN ("usmops", 0xa1c00010, 0xffe00018, sme_misc, 0, OP5 (SME_ZAda_3b, SVE_Pg3, SME_Pm, SVE_Zn, SVE_Zm_16), OP_SVE_DMMHH, 0, 0),
- SME_INSN ("mov", 0xc0020000, 0xff3e0200, sme_mov, 0, OP3 (SVE_Zd, SVE_Pg3, SME_ZA_HV_idx_src), OP_SVE_VMV_BHSDQ, 0, 0),
- SME_INSN ("mov", 0xc0000000, 0xff3e0010, sme_mov, 0, OP3 (SME_ZA_HV_idx_dest, SVE_Pg3, SVE_Zn), OP_SVE_VMV_BHSDQ, 0, 0),
- SME_INSN ("mova", 0xc0020000, 0xff3e0200, sme_mov, 0, OP3 (SVE_Zd, SVE_Pg3, SME_ZA_HV_idx_src), OP_SVE_VMV_BHSDQ, 0, 0),
- SME_INSN ("mova", 0xc0000000, 0xff3e0010, sme_mov, 0, OP3 (SME_ZA_HV_idx_dest, SVE_Pg3, SVE_Zn), OP_SVE_VMV_BHSDQ, 0, 0),
+ SME_INSN ("mov", 0xc0020000, 0xff3e0200, sme_mov, 0, OP3 (SVE_Zd, SVE_Pg3, SME_ZA_HV_idx_src), OP_SVE_VMV_BHSDQ, F_ALIAS, 0),
+ SME_INSN ("mov", 0xc0000000, 0xff3e0010, sme_mov, 0, OP3 (SME_ZA_HV_idx_dest, SVE_Pg3, SVE_Zn), OP_SVE_VMV_BHSDQ, F_ALIAS, 0),
+ SME_INSN ("mova", 0xc0020000, 0xff3e0200, sme_mov, 0, OP3 (SVE_Zd, SVE_Pg3, SME_ZA_HV_idx_src), OP_SVE_VMV_BHSDQ, F_HAS_ALIAS, 0),
+ SME_INSN ("mova", 0xc0000000, 0xff3e0010, sme_mov, 0, OP3 (SME_ZA_HV_idx_dest, SVE_Pg3, SVE_Zn), OP_SVE_VMV_BHSDQ, F_HAS_ALIAS, 0),
SME_INSN ("zero", 0xc0080000, 0xffffff00, sme_misc, 0, OP1 (SME_list_of_64bit_tiles), {}, 0, 0),
@@ -5831,32 +5974,20 @@ const struct aarch64_opcode aarch64_opcode_table[] =
SME_INSN ("ld1d", 0xe0c00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
SME_INSN ("ld1q", 0xe1c00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR_LSL4), OP_SVE_QZU, 0, 0),
- SME_INSN ("ld1b", 0xe0000000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_BZU, 0, 0),
- SME_INSN ("ld1h", 0xe0400000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_HZU, 0, 0),
- SME_INSN ("ld1w", 0xe0800000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_SZU, 0, 0),
- SME_INSN ("ld1d", 0xe0c00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_DZU, 0, 0),
- SME_INSN ("ld1q", 0xe1c00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_QZU, 0, 0),
-
SME_INSN ("st1b", 0xe0200000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
SME_INSN ("st1h", 0xe0600000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
SME_INSN ("st1w", 0xe0a00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
SME_INSN ("st1d", 0xe0e00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
SME_INSN ("st1q", 0xe1e00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_RR_LSL4), OP_SVE_QUU, 0, 0),
- SME_INSN ("st1b", 0xe0200000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_BUU, 0, 0),
- SME_INSN ("st1h", 0xe0600000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_HUU, 0, 0),
- SME_INSN ("st1w", 0xe0a00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_SUU, 0, 0),
- SME_INSN ("st1d", 0xe0e00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_DUU, 0, 0),
- SME_INSN ("st1q", 0xe1e00000, 0xffe00010, sve_misc, 0, OP3 (SME_ZA_HV_idx_ldstr, SVE_Pg3, SVE_ADDR_R), OP_SVE_QUU, 0, 0),
-
SME_INSN ("ldr", 0xe1000000, 0xffff9c10, sme_ldr, 0, OP2 (SME_ZA_array_off4, SME_ADDR_RI_U4xVL), {}, 0, 1),
SME_INSN ("str", 0xe1200000, 0xffff9c10, sme_str, 0, OP2 (SME_ZA_array_off4, SME_ADDR_RI_U4xVL), {}, 0, 1),
SVE2p1_SME_INSNC ("revd", 0x052e8000, 0xffffe000, sme_misc, 0, OP3 (SVE_Zd, SVE_Pg3, SVE_Zn), OP_SVE_QMQ, 0, C_SCAN_MOVPRFX, 0),
SVE2p1_SME_INSNC ("sclamp", 0x4400c000, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, C_SCAN_MOVPRFX, 0),
SVE2p1_SME_INSNC ("uclamp", 0x4400c400, 0xff20fc00, sve_size_bhsd, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_BHSD, 0, C_SCAN_MOVPRFX, 0),
- SVE2p1_SME_INSN ("psel", 0x25204000, 0xff20c210, sme_psel, 0, OP3 (SVE_Pd, SVE_Pg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, 0, 0),
- SVE2p1_SME_INSN ("psel", 0x25204000, 0xff20c210, sme_psel, 0, OP3 (SVE_PNd, SVE_PNg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, 0, 0),
+ SVE2p1_SME_INSN ("psel", 0x25204000, 0xff20c210, sme_psel, 0, OP3 (SVE_Pd, SVE_Pg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, F_HAS_ALIAS, 0),
+ SVE2p1_SME_INSN ("psel", 0x25204000, 0xff20c210, sme_psel, 0, OP3 (SVE_PNd, SVE_PNg4_10, SME_PnT_Wm_imm), OP_SVE_NN_BHSD, F_ALIAS | F_PSEUDO, 0),
/* Added in SME2, but part of the prefetch hint space and available
without special command-line flags. */
@@ -6001,66 +6132,66 @@ const struct aarch64_opcode aarch64_opcode_table[] =
SVE2p1_SME2_INSN ("ld1b", 0xa0408000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BZU, 0, 0),
SME2_INSN ("ld1b", 0xa1400000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BZU, 0, 0),
SME2_INSN ("ld1b", 0xa1408000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1b", 0xa0000000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1b", 0xa0008000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
- SME2_INSN ("ld1b", 0xa1000000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
- SME2_INSN ("ld1b", 0xa1008000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1b", 0xa0000000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1b", 0xa0008000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
+ SME2_INSN ("ld1b", 0xa1000000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
+ SME2_INSN ("ld1b", 0xa1008000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
SVE2p1_SME2_INSN ("ld1d", 0xa0406000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DZU, 0, 0),
SVE2p1_SME2_INSN ("ld1d", 0xa040e000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DZU, 0, 0),
SME2_INSN ("ld1d", 0xa1406000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DZU, 0, 0),
SME2_INSN ("ld1d", 0xa140e000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1d", 0xa0006000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1d", 0xa000e000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
- SME2_INSN ("ld1d", 0xa1006000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
- SME2_INSN ("ld1d", 0xa100e000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1d", 0xa0006000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1d", 0xa000e000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
+ SME2_INSN ("ld1d", 0xa1006000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
+ SME2_INSN ("ld1d", 0xa100e000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
SVE2p1_SME2_INSN ("ld1h", 0xa0402000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HZU, 0, 0),
SVE2p1_SME2_INSN ("ld1h", 0xa040a000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HZU, 0, 0),
SME2_INSN ("ld1h", 0xa1402000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HZU, 0, 0),
SME2_INSN ("ld1h", 0xa140a000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1h", 0xa0002000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1h", 0xa000a000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
- SME2_INSN ("ld1h", 0xa1002000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
- SME2_INSN ("ld1h", 0xa100a000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1h", 0xa0002000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1h", 0xa000a000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
+ SME2_INSN ("ld1h", 0xa1002000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
+ SME2_INSN ("ld1h", 0xa100a000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
SVE2p1_SME2_INSN ("ld1w", 0xa0404000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SZU, 0, 0),
SVE2p1_SME2_INSN ("ld1w", 0xa040c000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SZU, 0, 0),
SME2_INSN ("ld1w", 0xa1404000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SZU, 0, 0),
SME2_INSN ("ld1w", 0xa140c000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1w", 0xa0004000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
- SVE2p1_SME2_INSN ("ld1w", 0xa000c000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
- SME2_INSN ("ld1w", 0xa1004000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
- SME2_INSN ("ld1w", 0xa100c000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1w", 0xa0004000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
+ SVE2p1_SME2_INSN ("ld1w", 0xa000c000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
+ SME2_INSN ("ld1w", 0xa1004000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
+ SME2_INSN ("ld1w", 0xa100c000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1b", 0xa0400001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1b", 0xa0408001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BZU, 0, 0),
SME2_INSN ("ldnt1b", 0xa1400008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BZU, 0, 0),
SME2_INSN ("ldnt1b", 0xa1408008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1b", 0xa0000001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1b", 0xa0008001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
- SME2_INSN ("ldnt1b", 0xa1000008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
- SME2_INSN ("ldnt1b", 0xa1008008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1b", 0xa0000001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1b", 0xa0008001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
+ SME2_INSN ("ldnt1b", 0xa1000008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
+ SME2_INSN ("ldnt1b", 0xa1008008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1d", 0xa0406001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1d", 0xa040e001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DZU, 0, 0),
SME2_INSN ("ldnt1d", 0xa1406008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DZU, 0, 0),
SME2_INSN ("ldnt1d", 0xa140e008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1d", 0xa0006001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1d", 0xa000e001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
- SME2_INSN ("ldnt1d", 0xa1006008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
- SME2_INSN ("ldnt1d", 0xa100e008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1d", 0xa0006001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1d", 0xa000e001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
+ SME2_INSN ("ldnt1d", 0xa1006008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
+ SME2_INSN ("ldnt1d", 0xa100e008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1h", 0xa0402001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1h", 0xa040a001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HZU, 0, 0),
SME2_INSN ("ldnt1h", 0xa1402008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HZU, 0, 0),
SME2_INSN ("ldnt1h", 0xa140a008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1h", 0xa0002001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1h", 0xa000a001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
- SME2_INSN ("ldnt1h", 0xa1002008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
- SME2_INSN ("ldnt1h", 0xa100a008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1h", 0xa0002001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1h", 0xa000a001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
+ SME2_INSN ("ldnt1h", 0xa1002008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
+ SME2_INSN ("ldnt1h", 0xa100a008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1w", 0xa0404001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SZU, 0, 0),
SVE2p1_SME2_INSN ("ldnt1w", 0xa040c001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SZU, 0, 0),
SME2_INSN ("ldnt1w", 0xa1404008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SZU, 0, 0),
SME2_INSN ("ldnt1w", 0xa140c008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1w", 0xa0004001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
- SVE2p1_SME2_INSN ("ldnt1w", 0xa000c001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
- SME2_INSN ("ldnt1w", 0xa1004008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
- SME2_INSN ("ldnt1w", 0xa100c008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1w", 0xa0004001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
+ SVE2p1_SME2_INSN ("ldnt1w", 0xa000c001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
+ SME2_INSN ("ldnt1w", 0xa1004008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
+ SME2_INSN ("ldnt1w", 0xa100c008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SZU, 0, 0),
SME2_INSN ("ldr", 0xe11f8000, 0xfffffc1f, sme_misc, 0, OP2 (SME_ZT0, SIMD_ADDR_SIMPLE), {}, 0, 0),
SME2_INSN ("luti2", 0xc0cc0000, 0xfffc0c00, sme_size_12_bhs, 0, OP3 (SVE_Zd, SME_ZT0, SME_Zn_INDEX4_14), OP_SVE_VUU_BHS, 0, 0),
SME2_INSN ("luti2", 0xc08c4000, 0xfffc4c01, sme_size_12_bhs, 0, OP3 (SME_Zdnx2, SME_ZT0, SME_Zn_INDEX3_15), OP_SVE_VUU_BHS, 0, 0),
@@ -6068,22 +6199,22 @@ const struct aarch64_opcode aarch64_opcode_table[] =
SME2_INSN ("luti4", 0xc0ca0000, 0xfffe0c00, sme_size_12_bhs, 0, OP3 (SVE_Zd, SME_ZT0, SME_Zn_INDEX3_14), OP_SVE_VUU_BHS, 0, 0),
SME2_INSN ("luti4", 0xc08a4000, 0xfffe4c01, sme_size_12_bhs, 0, OP3 (SME_Zdnx2, SME_ZT0, SME_Zn_INDEX2_15), OP_SVE_VUU_BHS, 0, 0),
SME2_INSN ("luti4", 0xc08a8000, 0xfffecc03, sme_size_12_hs, 0, OP3 (SME_Zdnx4, SME_ZT0, SME_Zn_INDEX1_16), OP_SVE_VUU_HS, 0, 0),
- SME2_INSN ("mov", 0xc0060800, 0xffff9f01, sme2_mov, 0, OP2 (SME_Zdnx2, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (2), 0),
- SME2_INSN ("mov", 0xc0060c00, 0xffff9f03, sme2_mov, 0, OP2 (SME_Zdnx4, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (4), 0),
- SME2_INSN ("mov", 0xc0060000, 0xff3f1f01, sme_size_22, 0, OP2 (SME_Zdnx2, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (2), 0),
- SME2_INSN ("mov", 0xc0060400, 0xff3f1f03, sme_size_22, 0, OP2 (SME_Zdnx4, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (4), 0),
- SME2_INSN ("mov", 0xc0040800, 0xffff9c38, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VV_BHSD, F_OD (2), 0),
- SME2_INSN ("mov", 0xc0040c00, 0xffff9c78, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VV_BHSD, F_OD (4), 0),
- SME2_INSN ("mov", 0xc0040000, 0xff3f1c38, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx2), OP_SVE_VV_BHSDQ, F_OD (2), 0),
- SME2_INSN ("mov", 0xc0040400, 0xff3f1c78, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx4), OP_SVE_VV_BHSDQ, F_OD (4), 0),
- SME2_INSN ("mova", 0xc0060800, 0xffff9f01, sme2_mov, 0, OP2 (SME_Zdnx2, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (2), 0),
- SME2_INSN ("mova", 0xc0060c00, 0xffff9f03, sme2_mov, 0, OP2 (SME_Zdnx4, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (4), 0),
- SME2_INSN ("mova", 0xc0060000, 0xff3f1f01, sme_size_22, 0, OP2 (SME_Zdnx2, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (2), 0),
- SME2_INSN ("mova", 0xc0060400, 0xff3f1f03, sme_size_22, 0, OP2 (SME_Zdnx4, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (4), 0),
- SME2_INSN ("mova", 0xc0040800, 0xffff9c38, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VV_BHSD, F_OD (2), 0),
- SME2_INSN ("mova", 0xc0040c00, 0xffff9c78, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VV_BHSD, F_OD (4), 0),
- SME2_INSN ("mova", 0xc0040000, 0xff3f1c38, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx2), OP_SVE_VV_BHSDQ, F_OD (2), 0),
- SME2_INSN ("mova", 0xc0040400, 0xff3f1c78, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx4), OP_SVE_VV_BHSDQ, F_OD (4), 0),
+ SME2_INSN ("mov", 0xc0060800, 0xffff9f01, sme2_mov, 0, OP2 (SME_Zdnx2, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (2) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0060c00, 0xffff9f03, sme2_mov, 0, OP2 (SME_Zdnx4, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (4) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0060000, 0xff3f1f01, sme_size_22, 0, OP2 (SME_Zdnx2, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (2) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0060400, 0xff3f1f03, sme_size_22, 0, OP2 (SME_Zdnx4, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (4) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0040800, 0xffff9c38, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VV_BHSD, F_OD (2) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0040c00, 0xffff9c78, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VV_BHSD, F_OD (4) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0040000, 0xff3f1c38, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx2), OP_SVE_VV_BHSDQ, F_OD (2) | F_ALIAS, 0),
+ SME2_INSN ("mov", 0xc0040400, 0xff3f1c78, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx4), OP_SVE_VV_BHSDQ, F_OD (4) | F_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0060800, 0xffff9f01, sme2_mov, 0, OP2 (SME_Zdnx2, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (2) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0060c00, 0xffff9f03, sme2_mov, 0, OP2 (SME_Zdnx4, SME_ZA_array_off3_5), OP_SVE_VV_BHSD, F_OD (4) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0060000, 0xff3f1f01, sme_size_22, 0, OP2 (SME_Zdnx2, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (2) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0060400, 0xff3f1f03, sme_size_22, 0, OP2 (SME_Zdnx4, SME_ZA_HV_idx_srcxN), OP_SVE_VV_BHSDQ, F_OD (4) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0040800, 0xffff9c38, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VV_BHSD, F_OD (2) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0040c00, 0xffff9c78, sme2_mov, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VV_BHSD, F_OD (4) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0040000, 0xff3f1c38, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx2), OP_SVE_VV_BHSDQ, F_OD (2) | F_HAS_ALIAS, 0),
+ SME2_INSN ("mova", 0xc0040400, 0xff3f1c78, sme_size_22, 0, OP2 (SME_ZA_HV_idx_destxN, SME_Znx4), OP_SVE_VV_BHSDQ, F_OD (4) | F_HAS_ALIAS, 0),
SME2_INSN ("movt", 0xc04e03e0, 0xffff8fe0, sme_misc, 0, OP2 (SME_ZT0_INDEX, Rt), OP_SVE_UX, 0, 0),
SME2_INSN ("movt", 0xc04c03e0, 0xffff8fe0, sme_misc, 0, OP2 (Rt, SME_ZT0_INDEX), OP_SVE_XU, 0, 0),
SVE2p1_SME2_INSN ("pext", 0x25207010, 0xff3ffc10, sme_size_22, 0, OP2 (SVE_Pd, SME_PNn3_INDEX2), OP_SVE_VU_BHSD, 0, 0),
@@ -6173,66 +6304,66 @@ const struct aarch64_opcode aarch64_opcode_table[] =
SVE2p1_SME2_INSN ("st1b", 0xa0608000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BUU, 0, 0),
SME2_INSN ("st1b", 0xa1600000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BUU, 0, 0),
SME2_INSN ("st1b", 0xa1608000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BUU, 0, 0),
- SVE2p1_SME2_INSN ("st1b", 0xa0200000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
- SVE2p1_SME2_INSN ("st1b", 0xa0208000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
- SME2_INSN ("st1b", 0xa1200000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
- SME2_INSN ("st1b", 0xa1208000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1b", 0xa0200000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1b", 0xa0208000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
+ SME2_INSN ("st1b", 0xa1200000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
+ SME2_INSN ("st1b", 0xa1208000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
SVE2p1_SME2_INSN ("st1d", 0xa0606000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DUU, 0, 0),
SVE2p1_SME2_INSN ("st1d", 0xa060e000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DUU, 0, 0),
SME2_INSN ("st1d", 0xa1606000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DUU, 0, 0),
SME2_INSN ("st1d", 0xa160e000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DUU, 0, 0),
- SVE2p1_SME2_INSN ("st1d", 0xa0206000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
- SVE2p1_SME2_INSN ("st1d", 0xa020e000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
- SME2_INSN ("st1d", 0xa1206000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
- SME2_INSN ("st1d", 0xa120e000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1d", 0xa0206000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1d", 0xa020e000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
+ SME2_INSN ("st1d", 0xa1206000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
+ SME2_INSN ("st1d", 0xa120e000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
SVE2p1_SME2_INSN ("st1h", 0xa0602000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HUU, 0, 0),
SVE2p1_SME2_INSN ("st1h", 0xa060a000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HUU, 0, 0),
SME2_INSN ("st1h", 0xa1602000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HUU, 0, 0),
SME2_INSN ("st1h", 0xa160a000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HUU, 0, 0),
- SVE2p1_SME2_INSN ("st1h", 0xa0202000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
- SVE2p1_SME2_INSN ("st1h", 0xa020a000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
- SME2_INSN ("st1h", 0xa1202000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
- SME2_INSN ("st1h", 0xa120a000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1h", 0xa0202000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1h", 0xa020a000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
+ SME2_INSN ("st1h", 0xa1202000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
+ SME2_INSN ("st1h", 0xa120a000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
SVE2p1_SME2_INSN ("st1w", 0xa0604000, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SUU, 0, 0),
SVE2p1_SME2_INSN ("st1w", 0xa060c000, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SUU, 0, 0),
SME2_INSN ("st1w", 0xa1604000, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SUU, 0, 0),
SME2_INSN ("st1w", 0xa160c000, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SUU, 0, 0),
- SVE2p1_SME2_INSN ("st1w", 0xa0204000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
- SVE2p1_SME2_INSN ("st1w", 0xa020c000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
- SME2_INSN ("st1w", 0xa1204000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
- SME2_INSN ("st1w", 0xa120c000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1w", 0xa0204000, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
+ SVE2p1_SME2_INSN ("st1w", 0xa020c000, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
+ SME2_INSN ("st1w", 0xa1204000, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
+ SME2_INSN ("st1w", 0xa120c000, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1b", 0xa0600001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1b", 0xa0608001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BUU, 0, 0),
SME2_INSN ("stnt1b", 0xa1600008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_BUU, 0, 0),
SME2_INSN ("stnt1b", 0xa1608008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_BUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1b", 0xa0200001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1b", 0xa0208001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
- SME2_INSN ("stnt1b", 0xa1200008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
- SME2_INSN ("stnt1b", 0xa1208008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR), OP_SVE_BUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1b", 0xa0200001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1b", 0xa0208001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
+ SME2_INSN ("stnt1b", 0xa1200008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
+ SME2_INSN ("stnt1b", 0xa1208008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM), OP_SVE_BUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1d", 0xa0606001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1d", 0xa060e001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DUU, 0, 0),
SME2_INSN ("stnt1d", 0xa1606008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_DUU, 0, 0),
SME2_INSN ("stnt1d", 0xa160e008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_DUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1d", 0xa0206001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1d", 0xa020e001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
- SME2_INSN ("stnt1d", 0xa1206008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
- SME2_INSN ("stnt1d", 0xa120e008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL3), OP_SVE_DUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1d", 0xa0206001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1d", 0xa020e001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
+ SME2_INSN ("stnt1d", 0xa1206008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
+ SME2_INSN ("stnt1d", 0xa120e008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL3), OP_SVE_DUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1h", 0xa0602001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1h", 0xa060a001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HUU, 0, 0),
SME2_INSN ("stnt1h", 0xa1602008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_HUU, 0, 0),
SME2_INSN ("stnt1h", 0xa160a008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_HUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1h", 0xa0202001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1h", 0xa020a001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
- SME2_INSN ("stnt1h", 0xa1202008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
- SME2_INSN ("stnt1h", 0xa120a008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL1), OP_SVE_HUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1h", 0xa0202001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1h", 0xa020a001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
+ SME2_INSN ("stnt1h", 0xa1202008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
+ SME2_INSN ("stnt1h", 0xa120a008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL1), OP_SVE_HUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1w", 0xa0604001, 0xfff0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SUU, 0, 0),
SVE2p1_SME2_INSN ("stnt1w", 0xa060c001, 0xfff0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SUU, 0, 0),
SME2_INSN ("stnt1w", 0xa1604008, 0xfff0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x2xVL), OP_SVE_SUU, 0, 0),
SME2_INSN ("stnt1w", 0xa160c008, 0xfff0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RI_S4x4xVL), OP_SVE_SUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1w", 0xa0204001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
- SVE2p1_SME2_INSN ("stnt1w", 0xa020c001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
- SME2_INSN ("stnt1w", 0xa1204008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
- SME2_INSN ("stnt1w", 0xa120c008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RR_LSL2), OP_SVE_SUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1w", 0xa0204001, 0xffe0e001, sve_misc, 0, OP3 (SME_Zdnx2, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
+ SVE2p1_SME2_INSN ("stnt1w", 0xa020c001, 0xffe0e003, sve_misc, 0, OP3 (SME_Zdnx4, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
+ SME2_INSN ("stnt1w", 0xa1204008, 0xffe0e008, sve_misc, 0, OP3 (SME_Ztx2_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
+ SME2_INSN ("stnt1w", 0xa120c008, 0xffe0e00c, sve_misc, 0, OP3 (SME_Ztx4_STRIDED, SME_PNg3, SVE_ADDR_RM_LSL2), OP_SVE_SUU, 0, 0),
SME2_INSN ("str", 0xe13f8000, 0xfffffc1f, sme_misc, 0, OP2 (SME_ZT0, SIMD_ADDR_SIMPLE), {}, 0, 0),
SME2_INSN ("sub", 0xc1a01c18, 0xffbf9c38, sme_int_sd, 0, OP2 (SME_ZA_array_off3_0, SME_Znx2), OP_SVE_VVV_SD, F_OD (2), 0),
SME2_INSN ("sub", 0xc1a11c18, 0xffbf9c78, sme_int_sd, 0, OP2 (SME_ZA_array_off3_0, SME_Znx4), OP_SVE_VVV_SD, F_OD (4), 0),
@@ -6385,6 +6516,17 @@ const struct aarch64_opcode aarch64_opcode_table[] =
SME2_F64F64_INSN ("fmls", 0xc1d00010, 0xfff09838, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx2, SME_Zm_INDEX1), OP_SVE_DDD, F_OD (2), 0),
SME2_F64F64_INSN ("fmls", 0xc1d08010, 0xfff09878, sme_misc, 0, OP3 (SME_ZA_array_off3_0, SME_Znx4, SME_Zm_INDEX1), OP_SVE_DDD, F_OD (4), 0),
+ /* SVE_BFSCALE instructions. */
+ SVE_BFSCALE_INSN ("bfscale", 0x65098000, 0xffffe000, sve_misc, OP4 (SVE_Zd, SVE_Pg3, SVE_Zd, SVE_Zm_5), OP_SVE_HMHH, 0, 2),
+ SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120a180, 0xfff0ffe1, sme_misc, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zm), OP_SVE_VVV_H, 0, 1),
+ SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120a980, 0xfff0ffe3, sme_misc, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zm), OP_SVE_VVV_H, 0, 1),
+ SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120b180, 0xffe1ffe1, sme_misc, OP3 (SME_Zdnx2, SME_Zdnx2, SME_Zmx2), OP_SVE_VVV_H, 0, 1),
+ SVE_BFSCALE_SME2_INSN ("bfscale", 0xc120b980, 0xffe3ffe3, sme_misc, OP3 (SME_Zdnx4, SME_Zdnx4, SME_Zmx4), OP_SVE_VVV_H, 0, 1),
+ SVE_BFSCALE_SME2_INSN ("bfmul", 0xc120e800, 0xffe1fc21, sme_misc, OP3 (SME_Zdnx2, SME_Znx2, SME_Zm_17), OP_SVE_VVV_H, 0, 0),
+ SVE_BFSCALE_SME2_INSN ("bfmul", 0xc121e800, 0xffe1fc63, sme_misc, OP3 (SME_Zdnx4, SME_Znx4, SME_Zm_17), OP_SVE_VVV_H, 0, 0),
+ SVE_BFSCALE_SME2_INSN ("bfmul", 0xc120e400, 0xffe1fc21, sme_misc, OP3 (SME_Zdnx2, SME_Znx2, SME_Zmx2), OP_SVE_VVV_H, 0, 0),
+ SVE_BFSCALE_SME2_INSN ("bfmul", 0xc121e400, 0xffe3fc63, sme_misc, OP3 (SME_Zdnx4, SME_Znx4, SME_Zmx4), OP_SVE_VVV_H, 0, 0),
+
/* SIMD Dot Product (optional in v8.2-A). */
DOT_INSN ("udot", 0x2e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
DOT_INSN ("sdot", 0x0e009400, 0xbf20fc00, dotproduct, OP3 (Vd, Vn, Vm), QL_V3DOT, F_SIZEQ),
@@ -6450,6 +6592,87 @@ const struct aarch64_opcode aarch64_opcode_table[] =
RCPC2_INSN ("stlur", 0xd9000000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
RCPC2_INSN ("ldapur", 0xd9400000, 0xffe00c00, ldst_unscaled, OP2 (Rt, ADDR_OFFSET), QL_STLX, 0),
+ /* Floating-point atomic add in memory. */
+ _LSFE_INSN ("ldfadd", 0x3c200000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfadda", 0x3ca00000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfaddal", 0x3ce00000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfaddl", 0x3c600000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic maximum in memory. */
+ _LSFE_INSN ("ldfmax", 0x3c204000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmaxa", 0x3ca04000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmaxal", 0x3ce04000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmaxl", 0x3c604000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic maximum number in memory. */
+ _LSFE_INSN ("ldfmaxnm", 0x3c206000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmaxnma", 0x3ca06000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmaxnmal", 0x3ce06000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmaxnml", 0x3c606000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic minimum in memory. */
+ _LSFE_INSN ("ldfmin", 0x3c205000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfmina", 0x3ca05000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfminal", 0x3ce05000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfminl", 0x3c605000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic minimum number in memory. */
+ _LSFE_INSN ("ldfminnm", 0x3c207000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfminnma", 0x3ca07000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfminnmal", 0x3ce07000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("ldfminnml", 0x3c607000, 0x3fe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_HSD_0, F_LSFE_SZ),
+ /* BFloat16 floating-point add in memory. */
+ _LSFE_INSN ("ldbfadd", 0x3c200000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfadda", 0x3ca00000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfaddal", 0x3ce00000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfaddl", 0x3c600000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ /* BFloat16 floating-point maximum in memory. */
+ _LSFE_INSN ("ldbfmax", 0x3c204000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmaxa", 0x3ca04000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmaxal", 0x3ce04000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmaxl", 0x3c604000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ /* BFloat16 floating-point maximum number in memory. */
+ _LSFE_INSN ("ldbfmaxnm", 0x3c206000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmaxnma", 0x3ca06000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmaxnmal", 0x3ce06000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmaxnml", 0x3c606000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ /* BFloat16 floating-point minimum in memory. */
+ _LSFE_INSN ("ldbfmin", 0x3c205000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfmina", 0x3ca05000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfminal", 0x3ce05000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfminl", 0x3c605000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ /* BFloat16 floating-point minimum number in memory. */
+ _LSFE_INSN ("ldbfminnm", 0x3c207000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfminnma", 0x3ca07000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfminnmal", 0x3ce07000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ _LSFE_INSN ("ldbfminnml", 0x3c607000, 0xffe0fc00, lse_atomic, OP3 (Fm, Fd, ADDR_SIMPLE), QL_FP2_H_0, 0),
+ /* Floating-point atomic add in memory, without return. */
+ _LSFE_INSN ("stfadd", 0x3c20801f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("stfaddl", 0x3c60801f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic maximum in memory, without return. */
+ _LSFE_INSN ("stfmax", 0x3c20c01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("stfmaxl", 0x3c60c01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic maximum number in memory, without return. */
+ _LSFE_INSN ("stfmaxnm", 0x3c20e01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("stfmaxnml", 0x3c60e01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic minimum in memory, without return. */
+ _LSFE_INSN ("stfmin", 0x3c20d01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("stfminl", 0x3c60d01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ /* Floating-point atomic minimum number in memory, without return. */
+ _LSFE_INSN ("stfminnm", 0x3c20f01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ _LSFE_INSN ("stfminnml", 0x3c60f01f, 0x3fe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_FP_HSD_0, F_LSFE_SZ),
+ /* BFloat16 floating-point atomic add in memory, without return. */
+ _LSFE_INSN ("stbfadd", 0x3c20801f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ _LSFE_INSN ("stbfaddl", 0x3c60801f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ /* BFloat16 floating-point atomic maximum in memory, without return. */
+ _LSFE_INSN ("stbfmax", 0x3c20c01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ _LSFE_INSN ("stbfmaxl", 0x3c60c01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ /* BFloat16 floating-point atomic maximum number in memory, without return. */
+ _LSFE_INSN ("stbfmaxnm", 0x3c20e01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ _LSFE_INSN ("stbfmaxnml", 0x3c60e01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ /* BFloat16 floating-point atomic minumum in memory, without return. */
+ _LSFE_INSN ("stbfmin", 0x3c20d01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ _LSFE_INSN ("stbfminl", 0x3c60d01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ /* BFloat16 floating-point atomic minumum number in memory, without return. */
+ _LSFE_INSN ("stbfminnm", 0x3c20f01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+ _LSFE_INSN ("stbfminnml", 0x3c60f01f, 0xffe0fc1f, lse_atomic, OP2 (Fm, ADDR_SIMPLE), QL_DST_H, 0),
+
/* Matrix Multiply instructions. */
INT8MATMUL_SVE_INSNC ("smmla", 0x45009800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
INT8MATMUL_SVE_INSNC ("ummla", 0x45c09800, 0xffe0fc00, sve_misc, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0, C_SCAN_MOVPRFX, 0),
@@ -6504,6 +6727,15 @@ const struct aarch64_opcode aarch64_opcode_table[] =
BFLOAT16_INSN ("bfmlalt", 0x4fc0f000, 0xffc0f400, bfloat16, OP3 (Vd, Vn, Em16), QL_V3BFML4S, 0),
BFLOAT16_INSN ("bfmlalb", 0x0fc0f000, 0xffc0f400, bfloat16, OP3 (Vd, Vn, Em16), QL_V3BFML4S, 0),
+ /* SVE_F16F32 Matrix Multiply-Accumulate. */
+ SVE_F16F32MM_INSN ("fmmla", 0x6420e400, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SHH, 0),
+ /* F8F32 Matrix Multiply-Accumulate. */
+ F8F32MM_INSN ("fmmla", 0x6e80ec00, 0xffe0fc00, asimdmisc, 0, OP3 (Vd, Vn, Vm), QL_V3FMLL4S, 0),
+ F8F32MM_SVE2_INSN ("fmmla", 0x6420e000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_SBB, 0),
+ /* F8F16 Matrix Multiply-Accumulate. */
+ F8F16MM_INSN ("fmmla", 0x6e00ec00, 0xffe0fc00, asimdmisc, 0, OP3 (Vd, Vn, Vm), QL_V3FML8H, 0),
+ F8F16MM_SVE2_INSN ("fmmla", 0x6460e000, 0xffe0fc00, sve_misc, 0, OP3 (SVE_Zd, SVE_Zn, SVE_Zm_16), OP_SVE_VVV_H_B, 0),
+
/* cpyfp cpyfprn cpyfpwn cpyfpn
cpyfm cpyfmrn cpyfmwn cpyfmn
cpyfe cpyfern cpyfewn cpyfen
@@ -7126,6 +7358,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
"the width of the bit-field") \
Y(IMMEDIATE, imm, "IMM", 0, F(FLD_imm6_10), "an immediate") \
Y(IMMEDIATE, imm, "IMM_2", 0, F(FLD_imm6_15), "an immediate") \
+ Y(IMMEDIATE, imm, "IMMP1_2", 0, F(FLD_imm6_15), "an immediate plus 1") \
+ Y(IMMEDIATE, imm, "IMMS1_2", 0, F(FLD_imm6_15), "an immediate minus 1") \
Y(IMMEDIATE, imm, "UIMM3_OP1", 0, F(FLD_op1), \
"a 3-bit unsigned immediate") \
Y(IMMEDIATE, imm, "UIMM3_OP2", 0, F(FLD_op2), \
@@ -7170,6 +7404,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
"one of the standard conditions, excluding AL and NV.") \
X(ADDRESS, 0, ext_imm, "ADDR_ADRP", OPD_F_SEXT, F(FLD_immhi, FLD_immlo),\
"21-bit PC-relative address of a 4KB page") \
+ Y(ADDRESS, imm, "ADDR_PCREL9", OPD_F_SEXT | OPD_F_SHIFT_BY_2, \
+ F(FLD_imm9_5), "9-bit PC-relative address") \
Y(ADDRESS, imm, "ADDR_PCREL14", OPD_F_SEXT | OPD_F_SHIFT_BY_2, \
F(FLD_imm14), "14-bit PC-relative address") \
Y(ADDRESS, imm, "ADDR_PCREL19", OPD_F_SEXT | OPD_F_SHIFT_BY_2, \
@@ -7276,8 +7512,6 @@ const struct aarch64_opcode aarch64_opcode_table[] =
Y(ADDRESS, sve_addr_ri_u6, "SVE_ADDR_RI_U6x8", 3 << OPD_F_OD_LSB, \
F(FLD_Rn), \
"an address with a 6-bit unsigned offset, multiplied by 8") \
- Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_R", 0 << OPD_F_OD_LSB, \
- F(FLD_Rn,FLD_Rm), "an address with an optional scalar register offset") \
Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR", 0 << OPD_F_OD_LSB, \
F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL1", 1 << OPD_F_OD_LSB, \
@@ -7288,6 +7522,16 @@ const struct aarch64_opcode aarch64_opcode_table[] =
F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RR_LSL4", 4 << OPD_F_OD_LSB, \
F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
+ Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RM", 0 << OPD_F_OD_LSB, \
+ F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
+ Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RM_LSL1", 1 << OPD_F_OD_LSB, \
+ F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
+ Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RM_LSL2", 2 << OPD_F_OD_LSB, \
+ F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
+ Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RM_LSL3", 3 << OPD_F_OD_LSB, \
+ F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
+ Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RM_LSL4", 4 << OPD_F_OD_LSB, \
+ F(FLD_Rn,FLD_Rm), "an address with a scalar register offset") \
Y(ADDRESS, sve_addr_rr_lsl, "SVE_ADDR_RX", \
(0 << OPD_F_OD_LSB) | OPD_F_NO_ZR, F(FLD_Rn,FLD_Rm), \
"an address with a scalar register offset") \
@@ -7537,6 +7781,8 @@ const struct aarch64_opcode aarch64_opcode_table[] =
F(FLD_SME_Zdn4), "a list of SVE vector registers") \
Y(SVE_REG, regno, "SME_Zm", 0, F(FLD_SME_Zm), \
"an SVE vector register") \
+ Y(SVE_REG, regno, "SME_Zm_17", 0, F(FLD_SME_Zm2), \
+ "an SVE vector register") \
Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx2", 2 << OPD_F_OD_LSB, \
F(FLD_SME_Zm2), "a list of SVE vector registers") \
Y(SVE_REGLIST, sve_aligned_reglist, "SME_Zmx4", 4 << OPD_F_OD_LSB, \
diff --git a/opcodes/config.in b/opcodes/config.in
index 409998f..64b3303 100644
--- a/opcodes/config.in
+++ b/opcodes/config.in
@@ -98,9 +98,6 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
-/* The size of `void *', as computed by sizeof. */
-#undef SIZEOF_VOID_P
-
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
diff --git a/opcodes/configure b/opcodes/configure
index 554a070..4b6e965 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -646,8 +646,6 @@ cgendir
CGEN_MAINT_FALSE
CGEN_MAINT_TRUE
HDEFINES
-ENABLE_BFD_64_BIT_FALSE
-ENABLE_BFD_64_BIT_TRUE
EXEEXT_FOR_BUILD
CC_FOR_BUILD
CATOBJEXT
@@ -819,7 +817,6 @@ with_libiconv_prefix
with_libiconv_type
with_libintl_prefix
with_libintl_type
-enable_64_bit_bfd
enable_cgen_maint
'
ac_precious_vars='build_alias
@@ -1471,7 +1468,6 @@ Optional Features:
--enable-install-libbfd controls installation of libbfd and related headers
--disable-nls do not use Native Language Support
--disable-rpath do not hardcode runtime library paths
- --enable-64-bit-bfd 64-bit support (on hosts with narrower word sizes)
--enable-cgen-maint=dir build cgen generated files
Optional Packages:
@@ -1926,189 +1922,6 @@ $as_echo "$ac_res" >&6; }
} # ac_fn_c_check_func
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
-else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int
-main ()
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_compute_int
-
# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
# ---------------------------------------------
# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
@@ -11090,7 +10903,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11093 "configure"
+#line 10906 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11196,7 +11009,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11199 "configure"
+#line 11012 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14025,70 +13838,40 @@ $as_echo "$bfd_cv_build_exeext" >&6; }
test x"${bfd_cv_build_exeext}" != xno && EXEEXT_FOR_BUILD=${bfd_cv_build_exeext}
fi
-# Check whether --enable-64-bit-bfd was given.
-if test "${enable_64_bit_bfd+set}" = set; then :
- enableval=$enable_64_bit_bfd; case $enableval in #(
- yes|no) :
- ;; #(
- *) :
- as_fn_error $? "bad value ${enableval} for 64-bit-bfd option" "$LINENO" 5 ;; #(
- *) :
- ;;
-esac
-else
- enable_64_bit_bfd=no
-fi
-
-
-if test "x$enable_64_bit_bfd" = "xno"; then :
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
-$as_echo_n "checking size of void *... " >&6; }
-if ${ac_cv_sizeof_void_p+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_void_p" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (void *)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_void_p=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
-$as_echo "$ac_cv_sizeof_void_p" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+# See whether 64-bit bfd lib has been enabled.
+OLD_CPPFLAGS=$CPPFLAGS
+# Put the old CPPFLAGS last, in case the user's CPPFLAGS point somewhere
+# with bfd, with -I/foo/include. We always want our bfd.
+CPPFLAGS="-I${srcdir}/../include -I../bfd -I${srcdir}/../bfd $CPPFLAGS"
+# Note we cannot cache the result of this check because BFD64 may change
+# when a secondary target has been added or removed and we have no access
+# to this information here.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BFD is 64-bit" >&5
+$as_echo_n "checking whether BFD is 64-bit... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include "bfd.h"
+int
+main ()
+{
+#ifdef BFD64
+HAVE_BFD64
+#endif
+ ;
+ return 0;
+}
_ACEOF
-
-
- if test "x$ac_cv_sizeof_void_p" = "x8"; then :
- enable_64_bit_bfd=yes
-fi
-
-fi
-
- if test "x$enable_64_bit_bfd" = "xyes"; then
- ENABLE_BFD_64_BIT_TRUE=
- ENABLE_BFD_64_BIT_FALSE='#'
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "HAVE_BFD64" >/dev/null 2>&1; then :
+ have_64_bit_bfd=yes
else
- ENABLE_BFD_64_BIT_TRUE='#'
- ENABLE_BFD_64_BIT_FALSE=
+ have_64_bit_bfd=no
fi
+rm -f conftest*
-
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_64_bit_bfd" >&5
+$as_echo "$have_64_bit_bfd" >&6; }
+CPPFLAGS=$OLD_CPPFLAGS
@@ -14567,7 +14350,7 @@ if test x${all_targets} = xfalse ; then
else # all_targets is true
archdefs=-DARCH_all
- if test "$enable_64_bit_bfd" = "yes" ; then
+ if test "$have_64_bit_bfd" = "yes" ; then
BFD_MACHINES='$(ALL32_MACHINES) $(ALL64_MACHINES)'
else
BFD_MACHINES='$(ALL32_MACHINES)'
@@ -14720,10 +14503,6 @@ if test -z "${INSTALL_LIBBFD_TRUE}" && test -z "${INSTALL_LIBBFD_FALSE}"; then
as_fn_error $? "conditional \"INSTALL_LIBBFD\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
-if test -z "${ENABLE_BFD_64_BIT_TRUE}" && test -z "${ENABLE_BFD_64_BIT_FALSE}"; then
- as_fn_error $? "conditional \"ENABLE_BFD_64_BIT\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
if test -z "${CGEN_MAINT_TRUE}" && test -z "${CGEN_MAINT_FALSE}"; then
as_fn_error $? "conditional \"CGEN_MAINT\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
diff --git a/opcodes/configure.ac b/opcodes/configure.ac
index 4f8c734..b30f9f8 100644
--- a/opcodes/configure.ac
+++ b/opcodes/configure.ac
@@ -383,7 +383,7 @@ if test x${all_targets} = xfalse ; then
else # all_targets is true
archdefs=-DARCH_all
- if test "$enable_64_bit_bfd" = "yes" ; then
+ if test "$have_64_bit_bfd" = "yes" ; then
BFD_MACHINES='$(ALL32_MACHINES) $(ALL64_MACHINES)'
else
BFD_MACHINES='$(ALL32_MACHINES)'
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index df80130..e90e2fa 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -540,6 +540,7 @@ static const struct {
} operand_classes[] = {
CLASS (Reg),
CLASS (SReg),
+ CLASS (RegFP),
CLASS (RegCR),
CLASS (RegDR),
CLASS (RegTR),
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h
index 9e3ed63..86fe0b8 100644
--- a/opcodes/i386-opc.h
+++ b/opcodes/i386-opc.h
@@ -863,8 +863,9 @@ typedef struct i386_opcode_modifier
enum operand_class
{
ClassNone,
- Reg, /* GPRs and FP regs, distinguished by operand size */
+ Reg, /* GPRs, distinguished by operand size */
SReg, /* Segment register */
+ RegFP, /* FP regs */
RegCR, /* Control register */
RegDR, /* Debug register */
RegTR, /* Test register */
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index bc71987..6eadc2e 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -44,7 +44,7 @@
#define InOutPortReg RegD|Word
#define FloatAcc Acc|Tbyte
-#define FloatReg Class=Reg|Tbyte
+#define FloatReg Class=RegFP|Tbyte
#define SReg Class=SReg
@@ -275,7 +275,9 @@ in, 0xe4, 0, W|No_sSuf|No_qSuf, { Imm8, Acc|Byte|Word|Dword }
in, 0xec, 0, W|No_sSuf|No_qSuf, { InOutPortReg, Acc|Byte|Word|Dword }
in, 0xe4, 0, W|No_sSuf|No_qSuf|IntelSuffix, { Imm8 }
in, 0xec, 0, W|No_sSuf|No_qSuf|IntelSuffix, { InOutPortReg }
-out, 0xe6, 0, W|No_sSuf|No_qSuf, { Acc|Byte|Word|Dword, Imm8 }
+// Immediates want to be first; md_assemble() takes care of swapping operands
+// accordingly.
+out, 0xe6, 0, W|No_sSuf|No_qSuf, { Imm8, Acc|Byte|Word|Dword }
out, 0xee, 0, W|No_sSuf|No_qSuf, { Acc|Byte|Word|Dword, InOutPortReg }
out, 0xe6, 0, W|No_sSuf|No_qSuf|IntelSuffix, { Imm8 }
out, 0xee, 0, W|No_sSuf|No_qSuf|IntelSuffix, { InOutPortReg }
@@ -979,15 +981,18 @@ fxrstor, 0xfae/1, FXSR, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|IntelSuffix, { Uns
fxrstor64, 0xfae/1, FXSR&x64, Modrm|NoSuf|Size64, { Unspecified|BaseIndex }
rdpmc, 0xf33, i686, NoSuf, {}
// official undefined instr.
-ud2, 0xf0b, i186, NoSuf, {}
+ud2, 0xf0b, i286, NoSuf, {}
// alias for ud2
-ud2a, 0xf0b, i186, NoSuf, {}
-// 2nd. official undefined instr.
-ud1, 0xfb9, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+ud2a, 0xf0b, i286, NoSuf, {}
+// 2nd official undefined instr (older AMD CPUs don't take a ModR/M byte)
+ud1, 0xfb9, i286, /*Amd|*/NoSuf, {}
+ud1, 0xfb9, i286, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
// alias for ud1
-ud2b, 0xfb9, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+ud2b, 0xfb9, i286, /*Amd|*/NoSuf, {}
+ud2b, 0xfb9, i286, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
// 3rd official undefined instr (older CPUs don't take a ModR/M byte)
-ud0, 0xfff, i186, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
+ud0, 0xfff, i286, NoSuf, {}
+ud0, 0xfff, i286, Modrm|CheckOperandSize|No_bSuf|No_sSuf, { Reg16|Reg32|Reg64|Unspecified|BaseIndex, Reg16|Reg32|Reg64 }
// C (commutative) isn't quite correct here on its own; the condition also
// needs inverting when source operands are swapped in order to convert to
diff --git a/opcodes/i386-reg.tbl b/opcodes/i386-reg.tbl
index 026d3ee..e186814 100644
--- a/opcodes/i386-reg.tbl
+++ b/opcodes/i386-reg.tbl
@@ -30,8 +30,8 @@ ah, Class=Reg|Byte, 0, 4, Dw2Inval, Dw2Inval
ch, Class=Reg|Byte, 0, 5, Dw2Inval, Dw2Inval
dh, Class=Reg|Byte, 0, 6, Dw2Inval, Dw2Inval
bh, Class=Reg|Byte, 0, 7, Dw2Inval, Dw2Inval
-axl, Class=Reg|Byte, RegRex64, 0, Dw2Inval, Dw2Inval
-cxl, Class=Reg|Byte, RegRex64, 1, Dw2Inval, Dw2Inval
+axl, Class=Reg|Instance=Accum|Byte, RegRex64, 0, Dw2Inval, Dw2Inval
+cxl, Class=Reg|Instance=RegC|Byte, RegRex64, 1, Dw2Inval, Dw2Inval
dxl, Class=Reg|Byte, RegRex64, 2, Dw2Inval, Dw2Inval
bxl, Class=Reg|Byte, RegRex64, 3, Dw2Inval, Dw2Inval
spl, Class=Reg|Byte, RegRex64, 4, Dw2Inval, Dw2Inval
@@ -367,14 +367,14 @@ eip, Dword, RegRex64, RegIP, 8, Dw2Inval
riz, Qword|BaseIndex, RegRex64, RegIZ, Dw2Inval, Dw2Inval
eiz, Dword|BaseIndex, 0, RegIZ, Dw2Inval, Dw2Inval
// fp regs. No need for an explicit st(0) here.
-st, Class=Reg|Instance=Accum|Tbyte, 0, 0, 11, 33
-st(1), Class=Reg|Tbyte, 0, 1, 12, 34
-st(2), Class=Reg|Tbyte, 0, 2, 13, 35
-st(3), Class=Reg|Tbyte, 0, 3, 14, 36
-st(4), Class=Reg|Tbyte, 0, 4, 15, 37
-st(5), Class=Reg|Tbyte, 0, 5, 16, 38
-st(6), Class=Reg|Tbyte, 0, 6, 17, 39
-st(7), Class=Reg|Tbyte, 0, 7, 18, 40
+st, Class=RegFP|Instance=Accum|Tbyte, 0, 0, 11, 33
+st(1), Class=RegFP|Tbyte, 0, 1, 12, 34
+st(2), Class=RegFP|Tbyte, 0, 2, 13, 35
+st(3), Class=RegFP|Tbyte, 0, 3, 14, 36
+st(4), Class=RegFP|Tbyte, 0, 4, 15, 37
+st(5), Class=RegFP|Tbyte, 0, 5, 16, 38
+st(6), Class=RegFP|Tbyte, 0, 6, 17, 39
+st(7), Class=RegFP|Tbyte, 0, 7, 18, 40
// Pseudo-register names only used in .cfi_* directives
eflags, 0, 0, 0, 9, 49
rflags, 0, 0, 0, Dw2Inval, 49
diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h
index c12c69e..ba453ad 100644
--- a/opcodes/i386-tbl.h
+++ b/opcodes/i386-tbl.h
@@ -120,7 +120,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -130,7 +130,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -140,7 +140,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -150,7 +150,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -160,7 +160,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -544,9 +544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
+ { { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_out, 0xee, 2, SPACE_BASE, None,
{ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -6962,7 +6962,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fld, 0xd9, 1, SPACE_BASE, 0,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -6978,7 +6978,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fld, 0xdb, 1, SPACE_BASE, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7034,7 +7034,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fst, 0xd9, 1, SPACE_BASE, 2,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -7050,7 +7050,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fist, 0xdf, 1, SPACE_BASE, 2,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -7066,7 +7066,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fstp, 0xd9, 1, SPACE_BASE, 3,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -7082,7 +7082,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fstp, 0xdb, 1, SPACE_BASE, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7138,7 +7138,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fxch, 0xd9c9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7154,7 +7154,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fcom, 0xd8d1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7178,7 +7178,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ficom, 0xde, 1, SPACE_BASE, 2,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -7194,7 +7194,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fcomp, 0xd8d9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7218,7 +7218,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ficomp, 0xde, 1, SPACE_BASE, 3,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -7242,7 +7242,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fucom, 0xdde1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7258,7 +7258,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fucomp, 0xdde9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7354,7 +7354,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -7364,7 +7364,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fadd, 0xdec1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7398,7 +7398,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_faddp, 0xde, 1, SPACE_BASE, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7406,7 +7406,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_faddp, 0xdec1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7422,7 +7422,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsub, 0xd8, 2, SPACE_BASE, 4,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7430,7 +7430,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -7466,7 +7466,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubp, 0xde, 1, SPACE_BASE, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7474,7 +7474,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubp, 0xdee1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7492,7 +7492,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubp, 0xde, 1, SPACE_BASE, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7500,7 +7500,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubp, 0xdee9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7516,7 +7516,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubr, 0xd8, 2, SPACE_BASE, 5,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7524,7 +7524,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -7560,7 +7560,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubrp, 0xde, 1, SPACE_BASE, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7568,7 +7568,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubrp, 0xdee9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7586,7 +7586,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubrp, 0xde, 1, SPACE_BASE, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7594,7 +7594,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fsubrp, 0xdee1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7610,7 +7610,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -7620,7 +7620,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fmul, 0xdec9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7654,7 +7654,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fmulp, 0xde, 1, SPACE_BASE, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7662,7 +7662,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fmulp, 0xdec9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7678,7 +7678,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdiv, 0xd8, 2, SPACE_BASE, 6,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7686,7 +7686,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -7722,7 +7722,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivp, 0xde, 1, SPACE_BASE, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7730,7 +7730,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivp, 0xdef1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7748,7 +7748,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivp, 0xde, 1, SPACE_BASE, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7756,7 +7756,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivp, 0xdef9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7772,7 +7772,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivr, 0xd8, 2, SPACE_BASE, 7,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7780,7 +7780,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -7816,7 +7816,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivrp, 0xde, 1, SPACE_BASE, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7824,7 +7824,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivrp, 0xdef9, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7842,7 +7842,7 @@ static const insn_template i386_optab[] =
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivrp, 0xde, 1, SPACE_BASE, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -7850,7 +7850,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fdivrp, 0xdef1, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -8218,7 +8218,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 12, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ffreep, 0xdf, 1, SPACE_BASE, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -8226,7 +8226,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fnop, 0xd9d0, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -8958,7 +8958,7 @@ static const insn_template i386_optab[] =
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -8966,7 +8966,15 @@ static const insn_template i386_optab[] =
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0 } } } },
+ { MN_ud1, 0xb9, 0, SPACE_0F, None,
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -8974,27 +8982,43 @@ static const insn_template i386_optab[] =
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
+ { MN_ud2b, 0xb9, 0, SPACE_0F, None,
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0 } } } },
{ MN_ud2b, 0xb9, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
+ { MN_ud0, 0xff, 0, SPACE_0F, None,
+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0 },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0 } } } },
{ MN_ud0, 0xff, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0 },
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
+ { { 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
@@ -10326,7 +10350,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10336,7 +10360,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10346,7 +10370,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10356,7 +10380,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10366,7 +10390,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10376,7 +10400,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10386,7 +10410,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10396,7 +10420,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10406,7 +10430,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10416,7 +10440,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10426,7 +10450,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10436,7 +10460,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10446,7 +10470,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10464,7 +10488,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fucomi, 0xdb, 2, SPACE_BASE, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10472,7 +10496,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10490,7 +10514,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fcomip, 0xdf, 2, SPACE_BASE, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10498,7 +10522,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10516,7 +10540,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fcompi, 0xdf, 2, SPACE_BASE, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10524,7 +10548,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10542,7 +10566,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fucomip, 0xdf, 2, SPACE_BASE, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10550,7 +10574,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10568,7 +10592,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_fucompi, 0xdf, 2, SPACE_BASE, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10576,7 +10600,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
{ { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
@@ -10594,7 +10618,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } } } },
{ MN_movnti, 0xc3, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -10654,7 +10678,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movd, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10664,7 +10688,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movd, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10674,7 +10698,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movd, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10684,7 +10708,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movd, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10694,7 +10718,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_movd, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10704,7 +10728,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0x7e, 2, SPACE_0F, None,
{ 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10712,9 +10736,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10722,9 +10746,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_movq, 0x7e, 2, SPACE_0F, None,
{ 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10732,9 +10756,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10742,9 +10766,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_movq, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10754,7 +10778,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0x7e, 2, SPACE_0F, None,
{ 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10762,9 +10786,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10772,9 +10796,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_movq, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10784,7 +10808,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10792,9 +10816,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_movq, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10804,7 +10828,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_packssdw, 0x6b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10812,9 +10836,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packssdw, 0x6b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10822,9 +10846,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packssdw, 0x6b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10832,9 +10856,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packssdw, 0x6b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10842,9 +10866,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_packsswb, 0x63, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10852,9 +10876,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packsswb, 0x63, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10862,9 +10886,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packsswb, 0x63, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10872,9 +10896,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packsswb, 0x63, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10882,9 +10906,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_packuswb, 0x67, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10892,9 +10916,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packuswb, 0x67, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10902,9 +10926,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packuswb, 0x67, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10912,9 +10936,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packuswb, 0x67, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10922,9 +10946,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddb, 0xfc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10932,9 +10956,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddb, 0xfc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10942,9 +10966,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddb, 0xfc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10952,9 +10976,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddb, 0xfc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10962,9 +10986,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddw, 0xfc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10972,9 +10996,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddw, 0xfc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10982,9 +11006,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddw, 0xfc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -10992,9 +11016,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddw, 0xfc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11002,9 +11026,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddd, 0xfe, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11012,9 +11036,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddd, 0xfe, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11022,9 +11046,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddd, 0xfe, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11032,9 +11056,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddq, 0xd4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11042,9 +11066,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddq, 0xd4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11052,9 +11076,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddq, 0xd4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11062,9 +11086,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddq, 0xd4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11072,9 +11096,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddsb, 0xec | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11082,9 +11106,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddsb, 0xec | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11092,9 +11116,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddsb, 0xec | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11102,9 +11126,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddsb, 0xec | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11112,9 +11136,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddsw, 0xec | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11122,9 +11146,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddsw, 0xec | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11132,9 +11156,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddsw, 0xec | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11142,9 +11166,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddsw, 0xec | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11152,9 +11176,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddusb, 0xdc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11162,9 +11186,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddusb, 0xdc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11172,9 +11196,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddusb, 0xdc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11182,9 +11206,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddusb, 0xdc | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11192,9 +11216,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_paddusw, 0xdc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11202,9 +11226,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddusw, 0xdc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11212,9 +11236,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddusw, 0xdc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11222,9 +11246,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_paddusw, 0xdc | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11232,9 +11256,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pand, 0xdb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11242,9 +11266,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pand, 0xdb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11252,9 +11276,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pand, 0xdb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11262,9 +11286,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pandn, 0xdf, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11272,9 +11296,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pandn, 0xdf, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11282,9 +11306,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pandn, 0xdf, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11292,9 +11316,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11302,9 +11326,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11312,9 +11336,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqb, 0x74 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11322,9 +11346,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11332,9 +11356,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11342,9 +11366,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqw, 0x74 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11352,9 +11376,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqd, 0x76, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11362,9 +11386,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqd, 0x76, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11372,9 +11396,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqd, 0x76, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11382,9 +11406,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11392,9 +11416,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11402,9 +11426,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtb, 0x64 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11412,9 +11436,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11422,9 +11446,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11432,9 +11456,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtw, 0x64 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11442,9 +11466,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtd, 0x66, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11452,9 +11476,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtd, 0x66, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11462,9 +11486,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtd, 0x66, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11472,9 +11496,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddwd, 0xf5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11482,9 +11506,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddwd, 0xf5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11492,9 +11516,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddwd, 0xf5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11502,9 +11526,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddwd, 0xf5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11512,9 +11536,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhw, 0xe5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11522,9 +11546,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhw, 0xe5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11532,9 +11556,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhw, 0xe5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11542,9 +11566,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhw, 0xe5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11552,9 +11576,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmullw, 0xd5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11562,9 +11586,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmullw, 0xd5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11572,9 +11596,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmullw, 0xd5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11582,9 +11606,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmullw, 0xd5, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11592,9 +11616,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_por, 0xeb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11602,9 +11626,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_por, 0xeb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11612,9 +11636,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_por, 0xeb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11622,9 +11646,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0xf1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11632,9 +11656,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0xf1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11642,9 +11666,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0xf1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11652,9 +11676,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0xf1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11662,9 +11686,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0x71, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11674,7 +11698,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0x71, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11684,7 +11708,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0x71, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11694,7 +11718,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllw, 0x71, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11704,7 +11728,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pslld, 0xf2 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11712,9 +11736,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslld, 0xf2 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11722,9 +11746,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslld, 0xf2 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11732,9 +11756,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pslld, 0x72 | 0, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11744,7 +11768,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslld, 0x72 | 0, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11754,7 +11778,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslld, 0x72 | 0, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11764,7 +11788,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0xf2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11772,9 +11796,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0xf2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11782,9 +11806,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0xf2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11792,9 +11816,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0xf2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11802,9 +11826,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0x72 | 1, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11814,7 +11838,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0x72 | 1, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11824,7 +11848,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0x72 | 1, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11834,7 +11858,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psllq, 0x72 | 1, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11844,7 +11868,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0xe1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11852,9 +11876,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0xe1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11862,9 +11886,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0xe1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11872,9 +11896,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0xe1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11882,9 +11906,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0x71, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11894,7 +11918,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0x71, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11904,7 +11928,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0x71, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11914,7 +11938,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psraw, 0x71, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11924,7 +11948,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrad, 0xe2, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11932,9 +11956,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrad, 0xe2, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11942,9 +11966,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrad, 0xe2, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11952,9 +11976,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrad, 0x72, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11964,7 +11988,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrad, 0x72, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11974,7 +11998,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrad, 0x72, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11984,7 +12008,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0xd1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -11992,9 +12016,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0xd1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12002,9 +12026,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0xd1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12012,9 +12036,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0xd1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12022,9 +12046,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0x71, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12034,7 +12058,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0x71, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12044,7 +12068,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0x71, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12054,7 +12078,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlw, 0x71, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12064,7 +12088,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrld, 0xd2 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12072,9 +12096,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrld, 0xd2 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12082,9 +12106,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrld, 0xd2 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12092,9 +12116,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrld, 0x72 | 0, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12104,7 +12128,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrld, 0x72 | 0, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12114,7 +12138,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrld, 0x72 | 0, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12124,7 +12148,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12132,9 +12156,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12142,9 +12166,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12152,9 +12176,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0xd2 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12162,9 +12186,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12174,7 +12198,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12184,7 +12208,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12194,7 +12218,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrlq, 0x72 | 1, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12204,7 +12228,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubb, 0xf8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12212,9 +12236,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubb, 0xf8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12222,9 +12246,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubb, 0xf8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12232,9 +12256,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubb, 0xf8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12242,9 +12266,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubw, 0xf8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12252,9 +12276,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubw, 0xf8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12262,9 +12286,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubw, 0xf8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12272,9 +12296,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubw, 0xf8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12282,9 +12306,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubd, 0xfa, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12292,9 +12316,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubd, 0xfa, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12302,9 +12326,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubd, 0xfa, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12312,9 +12336,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubq, 0xfb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12322,9 +12346,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubq, 0xfb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12332,9 +12356,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubq, 0xfb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12342,9 +12366,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubq, 0xfb, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12352,9 +12376,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12362,9 +12386,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12372,9 +12396,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12382,9 +12406,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubsb, 0xe8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12392,9 +12416,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12402,9 +12426,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12412,9 +12436,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12422,9 +12446,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubsw, 0xe8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12432,9 +12456,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12442,9 +12466,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12452,9 +12476,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12462,9 +12486,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubusb, 0xd8 | 0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12472,9 +12496,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12482,9 +12506,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12492,9 +12516,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12502,9 +12526,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psubusw, 0xd8 | 1, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12512,9 +12536,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhbw, 0x68, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12522,9 +12546,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhbw, 0x68, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12532,9 +12556,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhbw, 0x68, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12542,9 +12566,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhbw, 0x68, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12552,9 +12576,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhwd, 0x69, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12562,9 +12586,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhwd, 0x69, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12572,9 +12596,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhwd, 0x69, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12582,9 +12606,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhwd, 0x69, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12592,9 +12616,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhdq, 0x6a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12602,9 +12626,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhdq, 0x6a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12612,9 +12636,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhdq, 0x6a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12622,9 +12646,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklbw, 0x60, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12632,9 +12656,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklbw, 0x60, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12642,9 +12666,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklbw, 0x60, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12652,9 +12676,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklbw, 0x60, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12662,9 +12686,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklwd, 0x61, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12672,9 +12696,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklwd, 0x61, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12682,9 +12706,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklwd, 0x61, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12692,9 +12716,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklwd, 0x61, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12702,9 +12726,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_punpckldq, 0x62, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12712,9 +12736,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckldq, 0x62, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12722,9 +12746,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckldq, 0x62, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12732,9 +12756,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pxor, 0xef, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12742,9 +12766,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pxor, 0xef, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12752,9 +12776,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pxor, 0xef, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12762,9 +12786,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_addps, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12772,9 +12796,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addps, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12782,9 +12806,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subps, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12792,9 +12816,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subps, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12802,9 +12826,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulps, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12812,9 +12836,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulps, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12822,9 +12846,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divps, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12832,9 +12856,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divps, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12842,9 +12866,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minps, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12852,9 +12876,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minps, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12862,9 +12886,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxps, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12872,9 +12896,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxps, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12882,9 +12906,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addss, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12892,9 +12916,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addss, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12902,9 +12926,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subss, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12912,9 +12936,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subss, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12922,9 +12946,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulss, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12932,9 +12956,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulss, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12942,9 +12966,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divss, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12952,9 +12976,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divss, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12962,9 +12986,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minss, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12972,9 +12996,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minss, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12982,9 +13006,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxss, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -12992,9 +13016,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxss, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13002,9 +13026,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andps, 0x54, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13012,9 +13036,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andps, 0x54, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13022,9 +13046,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andps, 0x54, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13032,9 +13056,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andnps, 0x55, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13042,9 +13066,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andnps, 0x55, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13052,9 +13076,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andnps, 0x55, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13062,9 +13086,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_orps, 0x56, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13072,9 +13096,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_orps, 0x56, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13082,9 +13106,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_orps, 0x56, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13092,9 +13116,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_xorps, 0x57, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13102,9 +13126,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_xorps, 0x57, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13112,9 +13136,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_xorps, 0x57, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13122,9 +13146,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqps, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13132,9 +13156,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqps, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13142,9 +13166,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltps, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13152,9 +13176,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltps, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13162,9 +13186,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpleps, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13172,9 +13196,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpleps, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13182,9 +13206,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordps, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13192,9 +13216,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordps, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13202,9 +13226,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqps, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13212,9 +13236,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqps, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13222,9 +13246,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltps, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13232,9 +13256,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltps, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13242,9 +13266,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnleps, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13252,9 +13276,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnleps, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13262,9 +13286,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordps, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13272,9 +13296,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordps, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13282,9 +13306,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqss, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13292,9 +13316,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqss, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13302,9 +13326,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltss, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13312,9 +13336,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltss, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13322,9 +13346,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpless, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13332,9 +13356,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpless, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13342,9 +13366,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordss, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13352,9 +13376,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordss, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13362,9 +13386,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqss, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13372,9 +13396,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqss, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13382,9 +13406,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltss, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13392,9 +13416,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltss, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13402,9 +13426,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnless, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13412,9 +13436,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnless, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13422,9 +13446,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordss, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13432,9 +13456,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordss, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13442,9 +13466,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpps, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13454,9 +13478,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpps, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13466,9 +13490,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpss, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13478,9 +13502,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpss, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13490,9 +13514,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_comiss, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13500,9 +13524,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_comiss, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13510,9 +13534,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpi2ps, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13520,9 +13544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtps2pi, 0x2d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13530,9 +13554,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -13542,7 +13566,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -13552,7 +13576,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13562,7 +13586,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13572,7 +13596,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13582,7 +13606,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2ss, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13592,7 +13616,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtss2si, 0x2d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13600,7 +13624,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -13610,7 +13634,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -13620,9 +13644,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_cvttss2si, 0x2c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13630,7 +13654,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -13640,7 +13664,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -13666,9 +13690,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_movaps, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13676,9 +13700,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movaps, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13686,9 +13710,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhlps, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13696,9 +13720,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhlps, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13706,9 +13730,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhps, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13718,7 +13742,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhps, 0x17, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13726,7 +13750,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -13738,7 +13762,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlhps, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13746,9 +13770,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlhps, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13756,9 +13780,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlps, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13768,7 +13792,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlps, 0x13, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13776,7 +13800,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -13788,7 +13812,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movmskps, 0x50, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13796,7 +13820,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -13806,7 +13830,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -13816,7 +13840,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -13826,7 +13850,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -13836,7 +13860,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -13846,7 +13870,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -13856,7 +13880,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -13868,7 +13892,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movss, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13876,9 +13900,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movss, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13886,9 +13910,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movups, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13896,9 +13920,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movups, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13906,9 +13930,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13916,9 +13940,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13926,9 +13950,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13936,9 +13960,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pavgb, 0xe0 | (3 * 0), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13946,9 +13970,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13956,9 +13980,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13966,9 +13990,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13976,9 +14000,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pavgw, 0xe0 | (3 * 1), 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -13986,9 +14010,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pextrw, 0xc5, 3, SPACE_0F, None,
{ 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -13998,7 +14022,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14010,7 +14034,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14022,7 +14046,7 @@ static const insn_template i386_optab[] =
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14034,7 +14058,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14046,7 +14070,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14058,7 +14082,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14070,7 +14094,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -14082,7 +14106,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -14094,7 +14118,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -14108,7 +14132,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrw, 0xc4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -14120,7 +14144,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrw, 0xc4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14132,7 +14156,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrw, 0xc4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14144,7 +14168,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrw, 0xc4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -14156,7 +14180,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrw, 0xc4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14168,7 +14192,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsw, 0xee, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14176,9 +14200,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsw, 0xee, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14186,9 +14210,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsw, 0xee, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14196,9 +14220,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsw, 0xee, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14206,9 +14230,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxub, 0xde, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14216,9 +14240,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxub, 0xde, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14226,9 +14250,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxub, 0xde, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14236,9 +14260,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxub, 0xde, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14246,9 +14270,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pminsw, 0xea, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14256,9 +14280,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsw, 0xea, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14266,9 +14290,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsw, 0xea, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14276,9 +14300,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsw, 0xea, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14286,9 +14310,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pminub, 0xda, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14296,9 +14320,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminub, 0xda, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14306,9 +14330,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminub, 0xda, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14316,9 +14340,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminub, 0xda, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14326,9 +14350,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmovmskb, 0xd7, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -14336,7 +14360,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14346,7 +14370,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14356,7 +14380,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -14366,9 +14390,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhuw, 0xe4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14376,9 +14400,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhuw, 0xe4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14386,9 +14410,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhuw, 0xe4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14396,9 +14420,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_prefetchnta, 0x18, 1, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14438,9 +14462,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psadbw, 0xf6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14448,9 +14472,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psadbw, 0xf6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14458,9 +14482,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psadbw, 0xf6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14468,9 +14492,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14480,9 +14504,9 @@ static const insn_template i386_optab[] =
{ { 16, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_rcpps, 0x53, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14490,9 +14514,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rcpps, 0x4c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14500,9 +14524,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rcpps, 0x53, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14510,9 +14534,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rcpss, 0x53, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14520,9 +14544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rcpss, 0x4d, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14530,9 +14554,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rcpss, 0x53, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14540,9 +14564,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rsqrtps, 0x52, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14550,9 +14574,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rsqrtps, 0x4e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14560,9 +14584,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rsqrtps, 0x52, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14570,9 +14594,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rsqrtss, 0x52, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14580,9 +14604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rsqrtss, 0x4f, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14590,9 +14614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_rsqrtss, 0x52, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14600,9 +14624,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sfence, 0xaef8, 0, SPACE_0F, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14620,9 +14644,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_shufps, 0xc6, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14632,9 +14656,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtps, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14642,9 +14666,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtps, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14652,9 +14676,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtss, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14662,9 +14686,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtss, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14672,9 +14696,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_stmxcsr, 0xae, 1, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14698,9 +14722,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_ucomiss, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14708,9 +14732,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpckhps, 0x15, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14718,9 +14742,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpckhps, 0x15, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14728,9 +14752,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpcklps, 0x14, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14738,9 +14762,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpcklps, 0x14, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14748,9 +14772,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addpd, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14758,9 +14782,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addpd, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14768,9 +14792,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addpd, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14778,9 +14802,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subpd, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14788,9 +14812,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subpd, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14798,9 +14822,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subpd, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14808,9 +14832,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulpd, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14818,9 +14842,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulpd, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14828,9 +14852,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulpd, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14838,9 +14862,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divpd, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14848,9 +14872,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divpd, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14858,9 +14882,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divpd, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14868,9 +14892,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minpd, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14878,9 +14902,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minpd, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14888,9 +14912,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minpd, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14898,9 +14922,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxpd, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14908,9 +14932,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxpd, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14918,9 +14942,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxpd, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14928,9 +14952,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsd, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14938,9 +14962,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsd, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14948,9 +14972,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsd, 0x58, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14958,9 +14982,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subsd, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14968,9 +14992,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subsd, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14978,9 +15002,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_subsd, 0x5c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14988,9 +15012,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulsd, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -14998,9 +15022,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulsd, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15008,9 +15032,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mulsd, 0x59, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15018,9 +15042,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divsd, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15028,9 +15052,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divsd, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15038,9 +15062,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_divsd, 0x5e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15048,9 +15072,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minsd, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15058,9 +15082,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minsd, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15068,9 +15092,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_minsd, 0x5d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15078,9 +15102,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxsd, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15088,9 +15112,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxsd, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15098,9 +15122,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maxsd, 0x5f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15108,9 +15132,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andpd, 0x54, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15118,9 +15142,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andpd, 0x54, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15128,9 +15152,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andpd, 0x54, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15138,9 +15162,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andnpd, 0x55, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15148,9 +15172,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andnpd, 0x55, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15158,9 +15182,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_andnpd, 0x55, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15168,9 +15192,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_orpd, 0x56, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15178,9 +15202,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_orpd, 0x56, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15188,9 +15212,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_orpd, 0x56, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15198,9 +15222,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_xorpd, 0x57, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15208,9 +15232,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_xorpd, 0x57, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15218,9 +15242,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_xorpd, 0x57, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15228,9 +15252,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqpd, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15238,9 +15262,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqpd, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15248,9 +15272,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltpd, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15258,9 +15282,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltpd, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15268,9 +15292,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmplepd, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15278,9 +15302,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmplepd, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15288,9 +15312,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordpd, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15298,9 +15322,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordpd, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15308,9 +15332,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqpd, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15318,9 +15342,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqpd, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15328,9 +15352,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltpd, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15338,9 +15362,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltpd, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15348,9 +15372,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnlepd, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15358,9 +15382,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnlepd, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15368,9 +15392,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordpd, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15378,9 +15402,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordpd, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15388,9 +15412,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqsd, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15398,9 +15422,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpeqsd, 0xc2, 2, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15408,9 +15432,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltsd, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15418,9 +15442,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpltsd, 0xc2, 2, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15428,9 +15452,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmplesd, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15438,9 +15462,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmplesd, 0xc2, 2, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15448,9 +15472,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordsd, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15458,9 +15482,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpunordsd, 0xc2, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15468,9 +15492,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqsd, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15478,9 +15502,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpneqsd, 0xc2, 2, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15488,9 +15512,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltsd, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15498,9 +15522,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnltsd, 0xc2, 2, SPACE_0F, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15508,9 +15532,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnlesd, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15518,9 +15542,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpnlesd, 0xc2, 2, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15528,9 +15552,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordsd, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15538,9 +15562,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpordsd, 0xc2, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15548,9 +15572,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmppd, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15560,9 +15584,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmppd, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15572,9 +15596,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpsd, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15584,9 +15608,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cmpsd, 0xc2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15596,9 +15620,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_comisd, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15606,9 +15630,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_comisd, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15616,9 +15640,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_comisd, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15626,9 +15650,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpi2pd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15636,9 +15660,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpi2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15648,7 +15672,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpi2pd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15658,7 +15682,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -15668,7 +15692,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -15678,7 +15702,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -15688,7 +15712,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -15698,7 +15722,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -15708,7 +15732,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsi2sd, 0x2a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -15718,7 +15742,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movapd, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15726,9 +15750,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movapd, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15736,9 +15760,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movapd, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15746,9 +15770,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhpd, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15758,7 +15782,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhpd, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15768,7 +15792,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movhpd, 0x17, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15776,7 +15800,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -15786,7 +15810,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -15798,7 +15822,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlpd, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15808,7 +15832,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlpd, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15818,7 +15842,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movlpd, 0x13, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15826,7 +15850,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -15836,7 +15860,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -15848,7 +15872,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movmskpd, 0x50, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -15856,7 +15880,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -15866,7 +15890,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -15876,7 +15900,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -15886,7 +15910,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -15896,7 +15920,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
@@ -15908,7 +15932,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movsd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15918,7 +15942,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movsd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15926,9 +15950,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movsd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15936,9 +15960,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movsd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15946,9 +15970,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movupd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15956,9 +15980,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movupd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15966,9 +15990,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movupd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15976,9 +16000,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_shufpd, 0xc6, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -15988,9 +16012,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_shufpd, 0xc6, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16000,9 +16024,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_shufpd, 0xc6, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16012,9 +16036,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtpd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16022,9 +16046,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtpd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16032,9 +16056,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtpd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16042,9 +16066,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtsd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16052,9 +16076,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtsd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16062,9 +16086,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sqrtsd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16072,9 +16096,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_ucomisd, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16082,9 +16106,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_ucomisd, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16092,9 +16116,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_ucomisd, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16102,9 +16126,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpckhpd, 0x15, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16112,9 +16136,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpckhpd, 0x15, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16122,9 +16146,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpckhpd, 0x15, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16132,9 +16156,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpcklpd, 0x14, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16142,9 +16166,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpcklpd, 0x14, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16152,9 +16176,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_unpcklpd, 0x14, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16162,9 +16186,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16172,9 +16196,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16182,9 +16206,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16192,9 +16216,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16202,9 +16226,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16212,9 +16236,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtdq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16222,9 +16246,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtdq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16232,9 +16256,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2pi, 0x2d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16242,9 +16266,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16252,9 +16276,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16262,9 +16286,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16272,9 +16296,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16282,9 +16306,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16292,9 +16316,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16302,9 +16326,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16312,9 +16336,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsd2si, 0x2d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -16322,7 +16346,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -16332,7 +16356,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -16342,9 +16366,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsd2ss, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16352,9 +16376,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtsd2ss, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16362,9 +16386,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtss2sd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16372,9 +16396,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvtss2sd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16382,9 +16406,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvttpd2pi, 0x2c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16392,9 +16416,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_cvttsd2si, 0x2c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -16402,7 +16426,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -16412,7 +16436,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -16422,9 +16446,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16432,9 +16456,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16442,9 +16466,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvttps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16452,9 +16476,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_cvttps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16462,9 +16486,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maskmovdqu, 0xf7, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16472,9 +16496,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_maskmovdqu, 0xf7, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16482,9 +16506,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movdqa, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16492,9 +16516,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movdqa, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16502,9 +16526,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movdqu, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16512,9 +16536,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movdqu, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16522,9 +16546,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movdq2q, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16532,9 +16556,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_movq2dq, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16542,9 +16566,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuludq, 0xf4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16552,9 +16576,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuludq, 0xf4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16562,9 +16586,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuludq, 0xf4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16572,9 +16596,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuludq, 0xf4, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16582,9 +16606,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pshufd, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16594,9 +16618,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufd, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16606,9 +16630,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufhw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16618,9 +16642,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufhw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16630,9 +16654,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufhw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16642,9 +16666,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshuflw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16654,9 +16678,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshuflw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16666,9 +16690,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshuflw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16678,9 +16702,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslldq, 0x73, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16690,7 +16714,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslldq, 0x73, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16700,7 +16724,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pslldq, 0x73, 2, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16710,7 +16734,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrldq, 0x73, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16720,7 +16744,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrldq, 0x73, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16730,7 +16754,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psrldq, 0x73, 2, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16740,7 +16764,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhqdq, 0x6d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16748,9 +16772,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhqdq, 0x6d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16758,9 +16782,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpckhqdq, 0x6d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16768,9 +16792,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklqdq, 0x6c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16778,9 +16802,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklqdq, 0x6c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16788,9 +16812,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_punpcklqdq, 0x6c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16798,9 +16822,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsubpd, 0xd0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16808,9 +16832,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsubpd, 0xd0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16818,9 +16842,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsubps, 0xd0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16828,9 +16852,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_addsubps, 0xd0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16838,9 +16862,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_haddpd, 0x7c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16848,9 +16872,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_haddpd, 0x7c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16858,9 +16882,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_haddps, 0x7c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16868,9 +16892,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_haddps, 0x7c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16878,9 +16902,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_hsubpd, 0x7d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16888,9 +16912,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_hsubpd, 0x7d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16898,9 +16922,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_hsubps, 0x7d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16908,9 +16932,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_hsubps, 0x7d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16918,9 +16942,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_lddqu, 0xf0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16930,7 +16954,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_lddqu, 0x6f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16940,7 +16964,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_lddqu, 0xf0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16950,7 +16974,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16958,9 +16982,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16968,9 +16992,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16978,9 +17002,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movshdup, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16988,9 +17012,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movshdup, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -16998,9 +17022,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movsldup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17008,9 +17032,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movsldup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17018,9 +17042,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_fisttp, 0xdf, 1, SPACE_BASE, 1,
{ 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0,
@@ -17320,9 +17344,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phaddw, 0x01, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17330,9 +17354,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phaddw, 0x01, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17340,9 +17364,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_phaddd, 0x02, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17350,9 +17374,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phaddd, 0x02, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17360,9 +17384,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phaddd, 0x02, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17370,9 +17394,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_phaddsw, 0x03, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17380,9 +17404,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phaddsw, 0x03, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17390,9 +17414,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phaddsw, 0x03, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17400,9 +17424,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_phsubw, 0x05, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17410,9 +17434,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phsubw, 0x05, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17420,9 +17444,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phsubw, 0x05, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17430,9 +17454,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_phsubd, 0x06, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17440,9 +17464,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phsubd, 0x06, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17450,9 +17474,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phsubd, 0x06, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17460,9 +17484,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_phsubsw, 0x07, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17470,9 +17494,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phsubsw, 0x07, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17480,9 +17504,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phsubsw, 0x07, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17490,9 +17514,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddubsw, 0x04, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17500,9 +17524,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddubsw, 0x04, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17510,9 +17534,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddubsw, 0x04, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17520,9 +17544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaddubsw, 0x04, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17530,9 +17554,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17540,9 +17564,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17550,9 +17574,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17560,9 +17584,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhrsw, 0x0b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17570,9 +17594,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pshufb, 0x00, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17580,9 +17604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufb, 0x00, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17590,9 +17614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufb, 0x00, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17600,9 +17624,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pshufb, 0x00, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17610,9 +17634,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psignb, 0x08 | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17620,9 +17644,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psignb, 0x08 | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17630,9 +17654,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psignb, 0x08 | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17640,9 +17664,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psignw, 0x08 | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17650,9 +17674,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psignw, 0x08 | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17660,9 +17684,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psignw, 0x08 | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17670,9 +17694,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_psignd, 0x0a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17680,9 +17704,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psignd, 0x0a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17690,9 +17714,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_psignd, 0x0a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17700,9 +17724,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_palignr, 0x0f, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17712,9 +17736,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_palignr, 0x0f, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17724,9 +17748,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_palignr, 0x0f, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17736,9 +17760,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_palignr, 0x0f, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17748,9 +17772,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17758,9 +17782,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17768,9 +17792,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17778,9 +17802,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsb, 0x1c | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17788,9 +17812,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17798,9 +17822,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17808,9 +17832,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17818,9 +17842,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsw, 0x1c | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17828,9 +17852,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pabsd, 0x1e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17838,9 +17862,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsd, 0x1e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17848,9 +17872,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pabsd, 0x1e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17858,9 +17882,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_blendps, 0x0c | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17870,9 +17894,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendps, 0x0c | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17882,9 +17906,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendpd, 0x0c | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17894,9 +17918,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendpd, 0x0c | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17906,9 +17930,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvps, 0x4a | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17918,9 +17942,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvps, 0x4a | 0, 2, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17928,9 +17952,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvps, 0x14 | 0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17940,9 +17964,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvps, 0x14 | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17950,9 +17974,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvpd, 0x4a | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17962,9 +17986,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvpd, 0x4a | 1, 2, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17972,9 +17996,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvpd, 0x14 | 1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17984,9 +18008,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_blendvpd, 0x14 | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -17994,9 +18018,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_dpps, 0x40 | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18006,9 +18030,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_dpps, 0x40 | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18018,9 +18042,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_dppd, 0x40 | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18030,9 +18054,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_dppd, 0x40 | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18042,9 +18066,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_extractps, 0x17, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18054,7 +18078,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18066,7 +18090,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -18078,7 +18102,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18090,7 +18114,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -18102,9 +18126,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_insertps, 0x21, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18114,9 +18138,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movntdqa, 0x2a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18126,7 +18150,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_movntdqa, 0x2a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18136,7 +18160,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mpsadbw, 0x42, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18146,9 +18170,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_mpsadbw, 0x42, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18158,9 +18182,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packusdw, 0x2b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18168,9 +18192,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packusdw, 0x2b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18178,9 +18202,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_packusdw, 0x2b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18188,9 +18212,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pblendvb, 0x4c, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18200,9 +18224,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pblendvb, 0x4c, 2, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 4, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18210,9 +18234,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pblendvb, 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18222,9 +18246,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pblendvb, 0x10, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18232,9 +18256,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pblendw, 0x0e, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18244,9 +18268,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pblendw, 0x0e, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18256,9 +18280,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqq, 0x29, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18266,9 +18290,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpeqq, 0x29, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18276,9 +18300,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pextrb, 0x14 | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0,
@@ -18288,7 +18312,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -18300,7 +18324,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -18312,7 +18336,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -18324,7 +18348,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18336,7 +18360,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18348,7 +18372,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18360,7 +18384,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18372,7 +18396,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18384,7 +18408,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18396,7 +18420,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18408,7 +18432,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18420,7 +18444,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -18430,9 +18454,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_phminposuw, 0x41, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18440,9 +18464,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrb, 0x20, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18454,7 +18478,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrb, 0x20, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18466,7 +18490,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrb, 0x20, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18478,7 +18502,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrb, 0x20, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18490,7 +18514,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrb, 0x20, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18502,7 +18526,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrb, 0x20, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18514,7 +18538,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrd, 0x22, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18526,7 +18550,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrd, 0x22, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18538,7 +18562,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrd, 0x22, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18550,7 +18574,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrq, 0x22, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18562,7 +18586,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrq, 0x22, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18574,7 +18598,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pinsrq, 0x22, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18586,7 +18610,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsb, 0x3c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18594,9 +18618,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsb, 0x3c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18604,9 +18628,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsb, 0x3c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18614,9 +18638,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsd, 0x3d, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18624,9 +18648,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxsd, 0x3d, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18634,9 +18658,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxud, 0x3f, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18644,9 +18668,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxud, 0x3f, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18654,9 +18678,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxuw, 0x3e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18664,9 +18688,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxuw, 0x3e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18674,9 +18698,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmaxuw, 0x3e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18684,9 +18708,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsb, 0x38, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18694,9 +18718,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsb, 0x38, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18704,9 +18728,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsb, 0x38, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18714,9 +18738,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsd, 0x39, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18724,9 +18748,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminsd, 0x39, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18734,9 +18758,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminud, 0x3b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18744,9 +18768,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminud, 0x3b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18754,9 +18778,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminuw, 0x3a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18764,9 +18788,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminuw, 0x3a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18774,9 +18798,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pminuw, 0x3a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18784,9 +18808,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18794,9 +18818,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18804,9 +18828,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18814,9 +18838,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18824,9 +18848,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18834,9 +18858,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18844,9 +18868,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbd, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18854,9 +18878,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbd, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18864,9 +18888,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbd, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18874,9 +18898,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbd, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18884,9 +18908,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbq, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18894,9 +18918,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxbq, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18904,9 +18928,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbq, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18914,9 +18938,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxbq, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18924,9 +18948,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxwd, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18934,9 +18958,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxwd, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18944,9 +18968,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxwd, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18954,9 +18978,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxwd, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18964,9 +18988,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxwq, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18974,9 +18998,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxwq, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18984,9 +19008,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxwq, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -18994,9 +19018,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxwq, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19004,9 +19028,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19014,9 +19038,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19024,9 +19048,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19034,9 +19058,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19044,9 +19068,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuldq, 0x28, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19054,9 +19078,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuldq, 0x28, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19064,9 +19088,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmuldq, 0x28, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19074,9 +19098,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulld, 0x40, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19084,9 +19108,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pmulld, 0x40, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19094,9 +19118,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_ptest, 0x17, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19104,9 +19128,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_ptest, 0x17, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19114,9 +19138,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundpd, 0x09, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19126,9 +19150,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundpd, 0x09, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19138,9 +19162,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundpd, 0x09, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19150,9 +19174,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundps, 0x08, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19162,9 +19186,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundps, 0x08, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19174,9 +19198,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundsd, 0x0b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19186,9 +19210,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundsd, 0x0b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19198,9 +19222,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundsd, 0x0b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19210,9 +19234,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundss, 0x0a, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19222,9 +19246,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_roundss, 0x0a, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19234,9 +19258,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtq, 0x37, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19244,9 +19268,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpgtq, 0x37, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19254,9 +19278,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestri, 0x61, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19266,9 +19290,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestri, 0x61, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19278,9 +19302,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestri, 0x61, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -19290,9 +19314,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestri, 0x61, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -19302,9 +19326,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19314,9 +19338,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19326,9 +19350,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -19338,9 +19362,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpestrm, 0x60, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -19350,9 +19374,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpistri, 0x63, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19362,9 +19386,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpistri, 0x63, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19374,9 +19398,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpistrm, 0x62, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19386,9 +19410,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pcmpistrm, 0x62, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19398,9 +19422,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_crc32, 0xf0, 2, SPACE_0F38, None,
{ 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -19512,9 +19536,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesdec, 0xde, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19522,9 +19546,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesdeclast, 0xdf, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19532,9 +19556,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesdeclast, 0xdf, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19542,9 +19566,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesenc, 0xdc, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19552,9 +19576,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesenc, 0xdc, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19562,9 +19586,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesenclast, 0xdd, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19572,9 +19596,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesenclast, 0xdd, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19582,9 +19606,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesimc, 0xdb, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19592,9 +19616,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesimc, 0xdb, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19602,9 +19626,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aeskeygenassist, 0xdf, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19614,9 +19638,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aeskeygenassist, 0xdf, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19626,9 +19650,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19638,9 +19662,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmulqdq, 0x44, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19650,9 +19674,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmullqlqdq, 0x44, 2, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19660,9 +19684,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmullqlqdq, 0x44, 2, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19670,9 +19694,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmulhqlqdq, 0x44, 2, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19680,9 +19704,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmulhqlqdq, 0x44, 2, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19690,9 +19714,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmullqhqdq, 0x44, 2, SPACE_0F3A, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19700,9 +19724,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmullqhqdq, 0x44, 2, SPACE_0F3A, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19710,9 +19734,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmulhqhqdq, 0x44, 2, SPACE_0F3A, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19720,9 +19744,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_pclmulhqhqdq, 0x44, 2, SPACE_0F3A, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19730,9 +19754,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_gf2p8affineqb, 0xce, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19742,9 +19766,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_gf2p8affineqb, 0xce, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19754,9 +19778,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_gf2p8affineinvqb, 0xcf, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19766,9 +19790,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_gf2p8affineinvqb, 0xcf, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19778,9 +19802,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_gf2p8mulb, 0xcf, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19788,9 +19812,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_gf2p8mulb, 0xcf, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19798,9 +19822,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaddps, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19808,11 +19832,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vaddps, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19820,11 +19844,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaddpd, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19832,11 +19856,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vaddpd, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19844,11 +19868,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsubps, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19856,11 +19880,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vsubps, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19868,11 +19892,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsubpd, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19880,11 +19904,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vsubpd, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19892,11 +19916,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmulps, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19904,11 +19928,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmulps, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19916,11 +19940,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmulpd, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19928,11 +19952,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmulpd, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19940,11 +19964,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vdivps, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19952,11 +19976,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vdivps, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19964,11 +19988,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vdivpd, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19976,11 +20000,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vdivpd, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -19988,11 +20012,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminps, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20000,11 +20024,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vminps, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20012,11 +20036,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminpd, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20024,11 +20048,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vminpd, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20036,11 +20060,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmaxps, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20048,11 +20072,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmaxps, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20060,11 +20084,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmaxpd, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20072,11 +20096,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmaxpd, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20084,11 +20108,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaddss, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20096,11 +20120,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaddss, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20108,11 +20132,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaddsd, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20120,11 +20144,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaddsd, 0x58, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20132,11 +20156,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsubss, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20144,11 +20168,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsubss, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20156,11 +20180,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsubsd, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20168,11 +20192,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsubsd, 0x5c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20180,11 +20204,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmulss, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20192,11 +20216,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmulss, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20204,11 +20228,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmulsd, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20216,11 +20240,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmulsd, 0x59, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20228,11 +20252,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdivss, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20240,11 +20264,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdivss, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20252,11 +20276,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdivsd, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20264,11 +20288,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdivsd, 0x5e, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20276,11 +20300,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminss, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20288,11 +20312,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminss, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20300,11 +20324,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminsd, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20312,11 +20336,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminsd, 0x5d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20324,11 +20348,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmaxss, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20336,11 +20360,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmaxss, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20348,11 +20372,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmaxsd, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20360,11 +20384,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmaxsd, 0x5f, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20372,11 +20396,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaddsubpd, 0xd0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20384,11 +20408,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vaddsubps, 0xd0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20396,11 +20420,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vandps, 0x54, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20408,11 +20432,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vandps, 0x54, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20420,11 +20444,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vandpd, 0x54, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20432,11 +20456,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vandpd, 0x54, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20444,11 +20468,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vandnps, 0x55, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20456,11 +20480,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vandnps, 0x55, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20468,11 +20492,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vandnpd, 0x55, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20480,11 +20504,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vandnpd, 0x55, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20492,11 +20516,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vorps, 0x56, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20504,11 +20528,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vorps, 0x56, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20516,11 +20540,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vorpd, 0x56, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20528,11 +20552,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vorpd, 0x56, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20540,11 +20564,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vxorps, 0x57, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20552,11 +20576,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vxorps, 0x57, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20564,11 +20588,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vxorpd, 0x57, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20576,11 +20600,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vxorpd, 0x57, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20588,11 +20612,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vblendps, 0x0c | 0, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20602,11 +20626,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vblendpd, 0x0c | 1, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20616,11 +20640,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vblendvps, 0x4a | 0, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20628,13 +20652,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vblendvpd, 0x4a | 1, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20642,13 +20666,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vbroadcastf128, 0x1a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20658,7 +20682,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20668,7 +20692,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20676,9 +20700,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vbroadcastsd, 0x19, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20686,9 +20710,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcastss, 0x18, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20698,7 +20722,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vbroadcastss, 0x18, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20706,9 +20730,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcmpeqps, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20716,11 +20740,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeqps, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20728,11 +20752,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqpd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20740,11 +20764,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeqpd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20752,11 +20776,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqps, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20764,11 +20788,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqps, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20776,11 +20800,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqpd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20788,11 +20812,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqpd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20800,11 +20824,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltps, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20812,11 +20836,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpltps, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20824,11 +20848,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltpd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20836,11 +20860,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpltpd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20848,11 +20872,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_osps, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20860,11 +20884,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmplt_osps, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20872,11 +20896,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_ospd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20884,11 +20908,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmplt_ospd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20896,11 +20920,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpleps, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20908,11 +20932,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpleps, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20920,11 +20944,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplepd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20932,11 +20956,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmplepd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20944,11 +20968,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_osps, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20956,11 +20980,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmple_osps, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20968,11 +20992,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_ospd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20980,11 +21004,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmple_ospd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -20992,11 +21016,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordps, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21004,11 +21028,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpunordps, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21016,11 +21040,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordpd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21028,11 +21052,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpunordpd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21040,11 +21064,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qps, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21052,11 +21076,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qps, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21064,11 +21088,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qpd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21076,11 +21100,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qpd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21088,11 +21112,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqps, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21100,11 +21124,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneqps, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21112,11 +21136,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqpd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21124,11 +21148,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneqpd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21136,11 +21160,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqps, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21148,11 +21172,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqps, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21160,11 +21184,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqpd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21172,11 +21196,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqpd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21184,11 +21208,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltps, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21196,11 +21220,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnltps, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21208,11 +21232,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltpd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21220,11 +21244,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnltpd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21232,11 +21256,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_usps, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21244,11 +21268,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_usps, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21256,11 +21280,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uspd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21268,11 +21292,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uspd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21280,11 +21304,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnleps, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21292,11 +21316,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnleps, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21304,11 +21328,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlepd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21316,11 +21340,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnlepd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21328,11 +21352,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_usps, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21340,11 +21364,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_usps, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21352,11 +21376,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uspd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21364,11 +21388,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uspd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21376,11 +21400,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordps, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21388,11 +21412,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpordps, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21400,11 +21424,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordpd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21412,11 +21436,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpordpd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21424,11 +21448,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qps, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21436,11 +21460,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qps, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21448,11 +21472,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qpd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21460,11 +21484,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qpd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21472,11 +21496,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqps, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21484,11 +21508,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqps, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21496,11 +21520,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqpd, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21508,11 +21532,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqpd, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21520,11 +21544,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngeps, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21532,11 +21556,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngeps, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21544,11 +21568,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngepd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21556,11 +21580,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngepd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21568,11 +21592,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_usps, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21580,11 +21604,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_usps, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21592,11 +21616,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uspd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21604,11 +21628,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uspd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21616,11 +21640,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtps, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21628,11 +21652,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngtps, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21640,11 +21664,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtpd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21652,11 +21676,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngtpd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21664,11 +21688,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_usps, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21676,11 +21700,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_usps, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21688,11 +21712,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uspd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21700,11 +21724,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uspd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21712,11 +21736,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalseps, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21724,11 +21748,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpfalseps, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21736,11 +21760,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsepd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21748,11 +21772,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsepd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21760,11 +21784,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqps, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21772,11 +21796,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqps, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21784,11 +21808,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqpd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21796,11 +21820,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqpd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21808,11 +21832,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqps, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21820,11 +21844,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqps, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21832,11 +21856,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqpd, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21844,11 +21868,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqpd, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21856,11 +21880,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgeps, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21868,11 +21892,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgeps, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21880,11 +21904,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgepd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21892,11 +21916,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgepd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21904,11 +21928,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_osps, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21916,11 +21940,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpge_osps, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21928,11 +21952,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_ospd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21940,11 +21964,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpge_ospd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21952,11 +21976,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtps, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21964,11 +21988,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgtps, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21976,11 +22000,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtpd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -21988,11 +22012,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgtpd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22000,11 +22024,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_osps, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22012,11 +22036,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_osps, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22024,11 +22048,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_ospd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22036,11 +22060,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_ospd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22048,11 +22072,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrueps, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22060,11 +22084,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmptrueps, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22072,11 +22096,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptruepd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22084,11 +22108,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmptruepd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22096,11 +22120,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqps, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22108,11 +22132,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqps, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22120,11 +22144,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqpd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22132,11 +22156,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqpd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22144,11 +22168,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_osps, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22156,11 +22180,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_osps, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22168,11 +22192,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ospd, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22180,11 +22204,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ospd, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22192,11 +22216,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqps, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22204,11 +22228,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqps, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22216,11 +22240,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqpd, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22228,11 +22252,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqpd, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22240,11 +22264,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqps, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22252,11 +22276,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqps, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22264,11 +22288,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqpd, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22276,11 +22300,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqpd, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22288,11 +22312,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_sps, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22300,11 +22324,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_sps, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22312,11 +22336,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_spd, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22324,11 +22348,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_spd, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22336,11 +22360,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_usps, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22348,11 +22372,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_usps, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22360,11 +22384,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uspd, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22372,11 +22396,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uspd, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22384,11 +22408,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqps, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22396,11 +22420,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqps, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22408,11 +22432,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqpd, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22420,11 +22444,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqpd, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22432,11 +22456,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqps, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22444,11 +22468,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqps, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22456,11 +22480,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqpd, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22468,11 +22492,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqpd, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22480,11 +22504,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_sps, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22492,11 +22516,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpord_sps, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22504,11 +22528,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_spd, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22516,11 +22540,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpord_spd, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22528,11 +22552,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_usps, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22540,11 +22564,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_usps, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22552,11 +22576,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uspd, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22564,11 +22588,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uspd, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22576,11 +22600,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqps, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22588,11 +22612,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqps, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22600,11 +22624,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqpd, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22612,11 +22636,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqpd, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22624,11 +22648,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqps, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22636,11 +22660,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqps, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22648,11 +22672,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqpd, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22660,11 +22684,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqpd, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22672,11 +22696,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_osps, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22684,11 +22708,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_osps, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22696,11 +22720,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_ospd, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22708,11 +22732,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_ospd, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22720,11 +22744,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_osps, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22732,11 +22756,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_osps, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22744,11 +22768,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ospd, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22756,11 +22780,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ospd, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22768,11 +22792,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqps, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22780,11 +22804,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqps, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22792,11 +22816,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqpd, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22804,11 +22828,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqpd, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22816,11 +22840,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqps, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22828,11 +22852,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqps, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22840,11 +22864,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqpd, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22852,11 +22876,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqpd, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22864,11 +22888,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_usps, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22876,11 +22900,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_usps, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22888,11 +22912,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uspd, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22900,11 +22924,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uspd, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22912,11 +22936,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqss, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22924,11 +22948,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqss, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22936,11 +22960,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqsd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22948,11 +22972,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqsd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22960,11 +22984,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqss, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22972,11 +22996,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqss, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22984,11 +23008,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqsd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -22996,11 +23020,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqsd, 0xc2, 3, SPACE_0F, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23008,11 +23032,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltss, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23020,11 +23044,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltss, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23032,11 +23056,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltsd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23044,11 +23068,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltsd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23056,11 +23080,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_osss, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23068,11 +23092,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_osss, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23080,11 +23104,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_ossd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23092,11 +23116,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_ossd, 0xc2, 3, SPACE_0F, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23104,11 +23128,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpless, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23116,11 +23140,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpless, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23128,11 +23152,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplesd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23140,11 +23164,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplesd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23152,11 +23176,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_osss, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23164,11 +23188,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_osss, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23176,11 +23200,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_ossd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23188,11 +23212,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_ossd, 0xc2, 3, SPACE_0F, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23200,11 +23224,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordss, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23212,11 +23236,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordss, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23224,11 +23248,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordsd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23236,11 +23260,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordsd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23248,11 +23272,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qss, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23260,11 +23284,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qss, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23272,11 +23296,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qsd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23284,11 +23308,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qsd, 0xc2, 3, SPACE_0F, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23296,11 +23320,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqss, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23308,11 +23332,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqss, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23320,11 +23344,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqsd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23332,11 +23356,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqsd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23344,11 +23368,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqss, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23356,11 +23380,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqss, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23368,11 +23392,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqsd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23380,11 +23404,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqsd, 0xc2, 3, SPACE_0F, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23392,11 +23416,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltss, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23404,11 +23428,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltss, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23416,11 +23440,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltsd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23428,11 +23452,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltsd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23440,11 +23464,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_usss, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23452,11 +23476,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_usss, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23464,11 +23488,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_ussd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23476,11 +23500,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_ussd, 0xc2, 3, SPACE_0F, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23488,11 +23512,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnless, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23500,11 +23524,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnless, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23512,11 +23536,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlesd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23524,11 +23548,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlesd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23536,11 +23560,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_usss, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23548,11 +23572,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_usss, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23560,11 +23584,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_ussd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23572,11 +23596,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_ussd, 0xc2, 3, SPACE_0F, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23584,11 +23608,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordss, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23596,11 +23620,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordss, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23608,11 +23632,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordsd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23620,11 +23644,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordsd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23632,11 +23656,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qss, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23644,11 +23668,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qss, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23656,11 +23680,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qsd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23668,11 +23692,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qsd, 0xc2, 3, SPACE_0F, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23680,11 +23704,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqss, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23692,11 +23716,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqss, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23704,11 +23728,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqsd, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23716,11 +23740,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqsd, 0xc2, 3, SPACE_0F, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23728,11 +23752,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngess, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23740,11 +23764,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngess, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23752,11 +23776,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngesd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23764,11 +23788,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngesd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23776,11 +23800,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_usss, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23788,11 +23812,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_usss, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23800,11 +23824,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_ussd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23812,11 +23836,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_ussd, 0xc2, 3, SPACE_0F, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23824,11 +23848,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtss, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23836,11 +23860,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtss, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23848,11 +23872,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtsd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23860,11 +23884,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtsd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23872,11 +23896,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_usss, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23884,11 +23908,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_usss, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23896,11 +23920,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_ussd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23908,11 +23932,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_ussd, 0xc2, 3, SPACE_0F, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23920,11 +23944,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsess, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23932,11 +23956,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsess, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23944,11 +23968,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsesd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23956,11 +23980,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsesd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23968,11 +23992,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqss, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23980,11 +24004,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqss, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -23992,11 +24016,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqsd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24004,11 +24028,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqsd, 0xc2, 3, SPACE_0F, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24016,11 +24040,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqss, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24028,11 +24052,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqss, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24040,11 +24064,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqsd, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24052,11 +24076,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqsd, 0xc2, 3, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24064,11 +24088,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgess, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24076,11 +24100,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgess, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24088,11 +24112,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgesd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24100,11 +24124,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgesd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24112,11 +24136,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_osss, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24124,11 +24148,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_osss, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24136,11 +24160,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_ossd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24148,11 +24172,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_ossd, 0xc2, 3, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24160,11 +24184,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtss, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24172,11 +24196,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtss, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24184,11 +24208,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtsd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24196,11 +24220,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtsd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24208,11 +24232,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_osss, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24220,11 +24244,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_osss, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24232,11 +24256,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_ossd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24244,11 +24268,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_ossd, 0xc2, 3, SPACE_0F, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24256,11 +24280,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptruess, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24268,11 +24292,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptruess, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24280,11 +24304,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptruesd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24292,11 +24316,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptruesd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24304,11 +24328,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqss, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24316,11 +24340,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqss, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24328,11 +24352,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqsd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24340,11 +24364,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqsd, 0xc2, 3, SPACE_0F, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24352,11 +24376,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_osss, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24364,11 +24388,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_osss, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24376,11 +24400,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ossd, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24388,11 +24412,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ossd, 0xc2, 3, SPACE_0F, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24400,11 +24424,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqss, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24412,11 +24436,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqss, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24424,11 +24448,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqsd, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24436,11 +24460,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqsd, 0xc2, 3, SPACE_0F, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24448,11 +24472,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqss, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24460,11 +24484,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqss, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24472,11 +24496,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqsd, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24484,11 +24508,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqsd, 0xc2, 3, SPACE_0F, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24496,11 +24520,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_sss, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24508,11 +24532,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_sss, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24520,11 +24544,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_ssd, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24532,11 +24556,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_ssd, 0xc2, 3, SPACE_0F, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24544,11 +24568,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_usss, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24556,11 +24580,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_usss, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24568,11 +24592,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ussd, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24580,11 +24604,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ussd, 0xc2, 3, SPACE_0F, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24592,11 +24616,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqss, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24604,11 +24628,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqss, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24616,11 +24640,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqsd, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24628,11 +24652,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqsd, 0xc2, 3, SPACE_0F, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24640,11 +24664,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqss, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24652,11 +24676,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqss, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24664,11 +24688,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqsd, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24676,11 +24700,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqsd, 0xc2, 3, SPACE_0F, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24688,11 +24712,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_sss, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24700,11 +24724,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_sss, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24712,11 +24736,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_ssd, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24724,11 +24748,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_ssd, 0xc2, 3, SPACE_0F, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24736,11 +24760,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_usss, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24748,11 +24772,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_usss, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24760,11 +24784,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ussd, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24772,11 +24796,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ussd, 0xc2, 3, SPACE_0F, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24784,11 +24808,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqss, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24796,11 +24820,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqss, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24808,11 +24832,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqsd, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24820,11 +24844,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqsd, 0xc2, 3, SPACE_0F, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24832,11 +24856,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqss, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24844,11 +24868,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqss, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24856,11 +24880,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqsd, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24868,11 +24892,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqsd, 0xc2, 3, SPACE_0F, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24880,11 +24904,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_osss, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24892,11 +24916,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_osss, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24904,11 +24928,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_ossd, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24916,11 +24940,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_ossd, 0xc2, 3, SPACE_0F, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24928,11 +24952,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_osss, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24940,11 +24964,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_osss, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24952,11 +24976,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ossd, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24964,11 +24988,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ossd, 0xc2, 3, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24976,11 +25000,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqss, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -24988,11 +25012,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqss, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25000,11 +25024,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqsd, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25012,11 +25036,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqsd, 0xc2, 3, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25024,11 +25048,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqss, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25036,11 +25060,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqss, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25048,11 +25072,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqsd, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25060,11 +25084,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqsd, 0xc2, 3, SPACE_0F, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25072,11 +25096,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_usss, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25084,11 +25108,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_usss, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25096,11 +25120,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_ussd, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25108,11 +25132,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_ussd, 0xc2, 3, SPACE_0F, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25120,11 +25144,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpps, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25134,11 +25158,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmpps, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25148,11 +25172,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmppd, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25162,11 +25186,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcmppd, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25176,11 +25200,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpss, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25190,11 +25214,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpss, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25204,11 +25228,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpsd, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25218,11 +25242,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpsd, 0xc2, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25232,11 +25256,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcomiss, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25244,9 +25268,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcomiss, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25254,9 +25278,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcomisd, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25264,9 +25288,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcomisd, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25274,9 +25298,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25284,9 +25308,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25294,9 +25318,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25304,9 +25328,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25314,9 +25338,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25324,9 +25348,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25334,9 +25358,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25344,9 +25368,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25354,9 +25378,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25364,9 +25388,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25374,9 +25398,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25384,9 +25408,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25394,9 +25418,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dqx, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25404,9 +25428,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dqx, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25414,9 +25438,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25424,9 +25448,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2dqy, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25434,9 +25458,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25444,9 +25468,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25454,9 +25478,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25464,9 +25488,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25474,9 +25498,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ps, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25484,9 +25508,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2psx, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25494,9 +25518,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2psx, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25504,9 +25528,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25514,9 +25538,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2psy, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25524,9 +25548,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25534,9 +25558,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25544,9 +25568,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25554,9 +25578,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25564,9 +25588,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25574,9 +25598,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25584,9 +25608,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2pd, 0x5a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25594,9 +25618,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtss2si, 0x2d, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25604,7 +25628,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25614,7 +25638,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25624,7 +25648,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25634,7 +25658,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25644,11 +25668,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsd2ss, 0x5a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25656,11 +25680,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25670,9 +25694,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25682,9 +25706,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25694,9 +25718,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2ss, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25706,9 +25730,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25718,9 +25742,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25730,9 +25754,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -25742,9 +25766,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
@@ -25754,9 +25778,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -25766,9 +25790,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sd, 0x2a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
@@ -25778,9 +25802,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtss2sd, 0x5a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25788,11 +25812,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtss2sd, 0x5a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25800,11 +25824,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25812,9 +25836,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25822,9 +25846,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25832,9 +25856,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25842,9 +25866,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dq, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25852,9 +25876,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqx, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25862,9 +25886,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqx, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25872,9 +25896,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25882,9 +25906,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqy, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25892,9 +25916,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25902,9 +25926,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttps2dq, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25912,9 +25936,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttss2si, 0x2c, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -25922,7 +25946,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25932,7 +25956,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25942,7 +25966,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25952,7 +25976,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -25964,11 +25988,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdpps, 0x40, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25978,11 +26002,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vextractf128, 0x19, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -25992,9 +26016,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vextractps, 0x17, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26004,7 +26028,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26016,7 +26040,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -26026,11 +26050,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vhaddps, 0x7c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26038,11 +26062,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vhsubpd, 0x7d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26050,11 +26074,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vhsubps, 0x7d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26062,11 +26086,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vinsertf128, 0x18, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26076,11 +26100,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vinsertps, 0x21, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26090,11 +26114,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vinsertps, 0x21, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26104,11 +26128,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vlddqu, 0xf0, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26118,7 +26142,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vldmxcsr, 0xae, 1, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26134,9 +26158,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmaskmovps, 0x2e | 0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26144,9 +26168,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -26158,9 +26182,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmaskmovpd, 0x2e | 1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26168,9 +26192,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -26182,9 +26206,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovaps, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26192,9 +26216,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovaps, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26202,9 +26226,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovapd, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26212,9 +26236,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovapd, 0x28, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26222,9 +26246,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovd, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26234,7 +26258,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovd, 0x7e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 3, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0,
@@ -26242,7 +26266,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -26252,9 +26276,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovd, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26262,9 +26286,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vmovddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26272,9 +26296,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26282,9 +26306,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vmovddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26292,9 +26316,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vmovddup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26302,9 +26326,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovdqa, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26312,9 +26336,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovdqu, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26322,9 +26346,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovhlps, 0x12, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26332,11 +26356,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovhlps, 0x12, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26344,11 +26368,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovhps, 0x16, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26358,9 +26382,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovhps, 0x17, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26368,7 +26392,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26380,9 +26404,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovhps, 0x17, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26390,7 +26414,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26402,9 +26426,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovhpd, 0x17, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26412,7 +26436,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26424,9 +26448,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovhpd, 0x17, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26434,7 +26458,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26444,11 +26468,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovlhps, 0x16, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26456,11 +26480,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovlps, 0x12, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26470,9 +26494,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovlps, 0x13, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26480,7 +26504,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26492,9 +26516,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovlps, 0x13, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26502,7 +26526,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26514,9 +26538,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovlpd, 0x13, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26524,7 +26548,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26536,9 +26560,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovlpd, 0x13, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26546,7 +26570,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -26556,7 +26580,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -26566,7 +26590,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -26576,7 +26600,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -26586,7 +26610,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
@@ -26598,7 +26622,7 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovntdqa, 0x2a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26608,7 +26632,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovntps, 0x2b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26616,7 +26640,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -26626,7 +26650,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
@@ -26636,7 +26660,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -26646,7 +26670,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
@@ -26656,9 +26680,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovq, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26666,9 +26690,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vmovq, 0x6e, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26678,7 +26702,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovq, 0x7e, 2, SPACE_0F, None,
{ 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26686,9 +26710,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovq, 0xd6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26696,9 +26720,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vmovss, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26708,7 +26732,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovss, 0x10, 3, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26716,11 +26740,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovss, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26730,7 +26754,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovss, 0x10, 3, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26738,11 +26762,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovsd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26752,7 +26776,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovsd, 0x10, 3, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26760,11 +26784,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovsd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26774,7 +26798,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovsd, 0x10, 3, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26782,11 +26806,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovshdup, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26794,9 +26818,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovshdup, 0x16, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26804,9 +26828,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovsldup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26814,9 +26838,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovsldup, 0x12, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26824,9 +26848,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovups, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26834,9 +26858,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovups, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26844,9 +26868,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovupd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26854,9 +26878,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmovupd, 0x10, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26864,9 +26888,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmpsadbw, 0x42, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26876,11 +26900,11 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vmpsadbw, 0x42, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26890,11 +26914,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpabsb, 0x1c | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26902,9 +26926,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpabsb, 0x1c | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26912,9 +26936,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpabsw, 0x1c | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26922,9 +26946,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpabsw, 0x1c | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26932,9 +26956,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpabsd, 0x1e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26942,9 +26966,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpabsd, 0x1e | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26952,9 +26976,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpackssdw, 0x6b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26962,11 +26986,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpackssdw, 0x6b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26974,11 +26998,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpacksswb, 0x63, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26986,11 +27010,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpacksswb, 0x63, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -26998,11 +27022,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpackusdw, 0x2b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27010,11 +27034,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpackusdw, 0x2b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27022,11 +27046,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpackuswb, 0x67, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27034,11 +27058,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpackuswb, 0x67, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27046,11 +27070,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddsb, 0xec | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27058,11 +27082,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddsb, 0xec | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27070,11 +27094,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddsw, 0xec | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27082,11 +27106,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddsw, 0xec | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27094,11 +27118,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddb, 0xfc | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27106,11 +27130,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddb, 0xfc | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27118,11 +27142,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddw, 0xfc | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27130,11 +27154,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddw, 0xfc | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27142,11 +27166,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddd, 0xfe, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27154,11 +27178,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddd, 0xfe, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27166,11 +27190,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddq, 0xd4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27178,11 +27202,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddq, 0xd4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27190,11 +27214,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddusb, 0xdc | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27202,11 +27226,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddusb, 0xdc | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27214,11 +27238,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpaddusw, 0xdc | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27226,11 +27250,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpaddusw, 0xdc | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27238,11 +27262,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpalignr, 0x0f, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27252,11 +27276,11 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpalignr, 0x0f, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27266,11 +27290,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpand, 0xdb, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27278,11 +27302,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpandn, 0xdf, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27290,11 +27314,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpavgb, 0xe0 | (3 * 0), 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27302,11 +27326,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpavgb, 0xe0 | (3 * 0), 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27314,11 +27338,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpavgw, 0xe0 | (3 * 1), 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27326,11 +27350,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpavgw, 0xe0 | (3 * 1), 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27338,11 +27362,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpblendvb, 0x4c, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27350,13 +27374,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpblendw, 0x0e, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27366,11 +27390,11 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqb, 0x74 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27378,11 +27402,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqb, 0x74 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27390,11 +27414,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqb, 0x3f, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27402,11 +27426,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqw, 0x74 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27414,11 +27438,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqw, 0x74 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27426,11 +27450,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqw, 0x3f, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27438,11 +27462,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqd, 0x76, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27450,11 +27474,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqd, 0x76, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27462,11 +27486,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqd, 0x1f, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27474,11 +27498,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqq, 0x29, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27486,11 +27510,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqq, 0x29, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27498,11 +27522,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpeqq, 0x1f, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27510,11 +27534,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpestri, 0x61, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27524,9 +27548,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpestri, 0x61, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -27536,9 +27560,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpestrm, 0x60, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27548,9 +27572,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpestrm, 0x60, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -27560,9 +27584,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtb, 0x64 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27570,11 +27594,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtb, 0x64 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27582,11 +27606,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtw, 0x64 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27594,11 +27618,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtw, 0x64 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27606,11 +27630,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtd, 0x66, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27618,11 +27642,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtd, 0x66, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27630,11 +27654,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtq, 0x37, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27642,11 +27666,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcmpgtq, 0x37, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27654,11 +27678,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpistri, 0x63, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27668,9 +27692,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpistrm, 0x62, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27680,9 +27704,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vperm2f128, 0x06, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27692,11 +27716,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpermilps, 0x0c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27704,11 +27728,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermilps, 0x04, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27718,9 +27742,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermilpd, 0x0d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27728,11 +27752,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpermilpd, 0x05, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27742,9 +27766,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpermilpd, 0x05, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27754,9 +27778,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermilpd, 0x0d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27764,11 +27788,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpextrd, 0x16, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27778,7 +27802,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27790,7 +27814,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27802,7 +27826,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27814,7 +27838,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27826,7 +27850,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -27838,7 +27862,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -27850,7 +27874,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27862,7 +27886,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -27874,7 +27898,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -27886,7 +27910,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27898,7 +27922,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -27910,7 +27934,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27922,7 +27946,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -27934,7 +27958,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -27944,11 +27968,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vphaddsw, 0x03, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27956,11 +27980,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vphaddw, 0x01, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27968,11 +27992,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vphminposuw, 0x41, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27980,9 +28004,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphsubd, 0x06, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -27990,11 +28014,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vphsubsw, 0x07, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28002,11 +28026,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vphsubw, 0x05, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28014,11 +28038,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpinsrb, 0x20, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28030,9 +28054,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrb, 0x20, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28044,9 +28068,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrb, 0x20, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28058,9 +28082,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrb, 0x20, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28072,9 +28096,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrd, 0x22, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28086,9 +28110,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrd, 0x22, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28100,9 +28124,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrq, 0x22, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28114,9 +28138,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrq, 0x22, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28128,9 +28152,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrw, 0xc4, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -28142,9 +28166,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrw, 0xc4, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28156,9 +28180,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrw, 0xc4, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28170,9 +28194,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpinsrw, 0xc4, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28184,9 +28208,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmaddubsw, 0x04, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28194,11 +28218,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaddubsw, 0x04, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28206,11 +28230,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaddwd, 0xf5, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28218,11 +28242,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaddwd, 0xf5, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28230,11 +28254,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxsb, 0x3c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28242,11 +28266,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaxsb, 0x3c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28254,11 +28278,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxsd, 0x3d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28266,11 +28290,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaxsd, 0x3d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28278,11 +28302,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxsw, 0xee, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28290,11 +28314,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaxsw, 0xee, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28302,11 +28326,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxub, 0xde, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28314,11 +28338,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaxub, 0xde, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28326,11 +28350,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxud, 0x3f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28338,11 +28362,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaxud, 0x3f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28350,11 +28374,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxuw, 0x3e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28362,11 +28386,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaxuw, 0x3e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28374,11 +28398,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminsb, 0x38, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28386,11 +28410,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpminsb, 0x38, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28398,11 +28422,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminsd, 0x39, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28410,11 +28434,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpminsd, 0x39, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28422,11 +28446,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminsw, 0xea, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28434,11 +28458,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpminsw, 0xea, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28446,11 +28470,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminub, 0xda, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28458,11 +28482,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpminub, 0xda, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28470,11 +28494,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminud, 0x3b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28482,11 +28506,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpminud, 0x3b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28494,11 +28518,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminuw, 0x3a, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28506,11 +28530,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpminuw, 0x3a, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28518,11 +28542,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmovmskb, 0xd7, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -28530,7 +28554,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -28540,9 +28564,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28550,9 +28574,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbd, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28560,9 +28584,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28570,9 +28594,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28580,9 +28604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbd, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28590,9 +28614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28600,9 +28624,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28610,9 +28634,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbq, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28620,9 +28644,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28630,9 +28654,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28640,9 +28664,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbq, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28650,9 +28674,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28660,9 +28684,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28670,9 +28694,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28680,9 +28704,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28690,9 +28714,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxbw, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28700,9 +28724,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28710,9 +28734,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28720,9 +28744,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28730,9 +28754,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28740,9 +28764,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxbw, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28750,9 +28774,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28760,9 +28784,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28770,9 +28794,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28780,9 +28804,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28790,9 +28814,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxdq, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28800,9 +28824,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28810,9 +28834,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28820,9 +28844,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28830,9 +28854,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28840,9 +28864,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxdq, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28850,9 +28874,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28860,9 +28884,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28870,9 +28894,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxwd, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28880,9 +28904,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28890,9 +28914,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28900,9 +28924,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxwd, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28910,9 +28934,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28920,9 +28944,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28930,9 +28954,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovsxwq, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28940,9 +28964,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28950,9 +28974,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28960,9 +28984,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmovzxwq, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28970,9 +28994,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpmuldq, 0x28, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28980,11 +29004,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmuldq, 0x28, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -28992,11 +29016,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmulhrsw, 0x0b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29004,11 +29028,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmulhrsw, 0x0b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29016,11 +29040,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmulhuw, 0xe4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29028,11 +29052,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmulhuw, 0xe4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29040,11 +29064,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmulhw, 0xe5, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29052,11 +29076,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmulhw, 0xe5, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29064,11 +29088,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmulld, 0x40, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29076,11 +29100,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmulld, 0x40, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29088,11 +29112,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmullw, 0xd5, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29100,11 +29124,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmullw, 0xd5, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29112,11 +29136,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmuludq, 0xf4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29124,11 +29148,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmuludq, 0xf4, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29136,11 +29160,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpor, 0xeb, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29148,11 +29172,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsadbw, 0xf6, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29160,11 +29184,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsadbw, 0xf6, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29172,11 +29196,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshufb, 0x00, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29184,11 +29208,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpshufb, 0x00, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29196,11 +29220,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshufd, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29210,9 +29234,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpshufd, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29222,9 +29246,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshufhw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29234,9 +29258,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpshufhw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29246,9 +29270,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshuflw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29258,9 +29282,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpshuflw, 0x70, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29270,9 +29294,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsignb, 0x08 | 0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29280,11 +29304,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsignw, 0x08 | 1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29292,11 +29316,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsignd, 0x0a, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29304,11 +29328,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpslld, 0x72 | 0, 3, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29318,9 +29342,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpslld, 0xf2 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29328,11 +29352,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpslld, 0xf2 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29340,11 +29364,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpslld, 0x72 | 0, 3, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29354,9 +29378,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsllq, 0x72 | 1, 3, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29366,9 +29390,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsllq, 0xf2 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29376,11 +29400,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsllq, 0xf2 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29388,11 +29412,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsllq, 0x72 | 1, 3, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29402,9 +29426,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpslldq, 0x73, 3, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29414,9 +29438,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpslldq, 0x73, 3, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29426,9 +29450,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsllw, 0x71, 3, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29438,9 +29462,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsllw, 0xf1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29448,11 +29472,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsllw, 0x71, 3, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29462,9 +29486,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsllw, 0xf1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29472,11 +29496,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrad, 0x72, 3, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29486,9 +29510,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrad, 0xe2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29496,11 +29520,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrad, 0xe2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29508,11 +29532,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrad, 0x72, 3, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29522,9 +29546,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsraw, 0x71, 3, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29534,9 +29558,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsraw, 0xe1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29544,11 +29568,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsraw, 0x71, 3, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29558,9 +29582,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsraw, 0xe1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29568,11 +29592,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrld, 0x72 | 0, 3, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29582,9 +29606,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrld, 0xd2 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29592,11 +29616,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrld, 0xd2 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29604,11 +29628,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrld, 0x72 | 0, 3, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29618,9 +29642,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlq, 0x72 | 1, 3, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29630,9 +29654,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrlq, 0xd2 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29640,11 +29664,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrlq, 0xd2 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29652,11 +29676,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlq, 0x72 | 1, 3, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29666,9 +29690,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrldq, 0x73, 3, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29678,9 +29702,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrldq, 0x73, 3, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29690,9 +29714,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlw, 0x71, 3, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29702,9 +29726,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrlw, 0xd1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29712,11 +29736,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsrlw, 0x71, 3, SPACE_0F, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29726,9 +29750,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlw, 0xd1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29736,11 +29760,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubb, 0xf8 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29748,11 +29772,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubb, 0xf8 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29760,11 +29784,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubw, 0xf8 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29772,11 +29796,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubw, 0xf8 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29784,11 +29808,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubd, 0xfa | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29796,11 +29820,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubd, 0xfa | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29808,11 +29832,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubq, 0xfa | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29820,11 +29844,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubq, 0xfa | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29832,11 +29856,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubsb, 0xe8 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29844,11 +29868,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubsb, 0xe8 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29856,11 +29880,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubsw, 0xe8 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29868,11 +29892,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubsw, 0xe8 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29880,11 +29904,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubusb, 0xd8 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29892,11 +29916,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubusb, 0xd8 | 0, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29904,11 +29928,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsubusw, 0xd8 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29916,11 +29940,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsubusw, 0xd8 | 1, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29928,11 +29952,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vptest, 0x17, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29940,9 +29964,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpckhbw, 0x68, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29950,11 +29974,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpckhbw, 0x68, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29962,11 +29986,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpckhdq, 0x6a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29974,11 +29998,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpckhdq, 0x6a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29986,11 +30010,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpckhqdq, 0x6d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -29998,11 +30022,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpckhqdq, 0x6d, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30010,11 +30034,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpckhwd, 0x69, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30022,11 +30046,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpckhwd, 0x69, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30034,11 +30058,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpcklbw, 0x60, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30046,11 +30070,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpcklbw, 0x60, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30058,11 +30082,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpckldq, 0x62, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30070,11 +30094,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpckldq, 0x62, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30082,11 +30106,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpcklqdq, 0x6c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30094,11 +30118,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpcklqdq, 0x6c, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30106,11 +30130,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpunpcklwd, 0x61, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30118,11 +30142,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpunpcklwd, 0x61, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30130,11 +30154,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpxor, 0xef, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30142,11 +30166,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vrcpps, 0x53, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30154,9 +30178,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vrcpss, 0x53, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30164,11 +30188,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vroundps, 0x08 | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30178,9 +30202,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vroundpd, 0x08 | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30190,9 +30214,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vroundss, 0x0a | 0, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30202,11 +30226,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vroundsd, 0x0a | 1, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30216,11 +30240,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrsqrtps, 0x52, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30228,9 +30252,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vrsqrtss, 0x52, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30238,11 +30262,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vshufps, 0xc6, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30252,11 +30276,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vshufps, 0xc6, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30266,11 +30290,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vshufpd, 0xc6, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30280,11 +30304,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vshufpd, 0xc6, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30294,11 +30318,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsqrtps, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30306,9 +30330,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vsqrtps, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30316,9 +30340,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsqrtpd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30326,9 +30350,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vsqrtpd, 0x51, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30336,9 +30360,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsqrtss, 0x51, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30346,11 +30370,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsqrtss, 0x51, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30358,11 +30382,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsqrtsd, 0x51, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30370,11 +30394,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsqrtsd, 0x51, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30382,11 +30406,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vstmxcsr, 0xae, 1, SPACE_0F, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30402,9 +30426,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vtestpd, 0x0e | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30412,9 +30436,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vucomiss, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30422,9 +30446,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomiss, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30432,9 +30456,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomisd, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30442,9 +30466,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomisd, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30452,9 +30476,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vunpckhps, 0x15, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30462,11 +30486,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vunpckhps, 0x15, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30474,11 +30498,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vunpckhpd, 0x15, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30486,11 +30510,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vunpckhpd, 0x15, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30498,11 +30522,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vunpcklps, 0x14, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30510,11 +30534,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vunpcklps, 0x14, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30522,11 +30546,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vunpcklpd, 0x14, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30534,11 +30558,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vunpcklpd, 0x14, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30546,11 +30570,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vzeroall, 0x77, 0, SPACE_0F, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30576,7 +30600,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpblendd, 0x02, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30586,11 +30610,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpbroadcastb, 0x78 | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30598,9 +30622,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpbroadcastb, 0x78 | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30608,9 +30632,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastb, 0x7a | 0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30620,7 +30644,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastw, 0x78 | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30628,9 +30652,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpbroadcastw, 0x78 | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30638,9 +30662,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastw, 0x7a | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30650,7 +30674,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastd, 0x58, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30658,9 +30682,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastd, 0x7c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30670,7 +30694,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastq, 0x59, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30678,9 +30702,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpbroadcastq, 0x59, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30688,9 +30712,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastq, 0x7c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30700,7 +30724,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vperm2i128, 0x46, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30710,11 +30734,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpermd, 0x36, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30722,11 +30746,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vpermpd, 0x01, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30736,9 +30760,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vpermpd, 0x16, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30746,11 +30770,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vpermps, 0x16, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30758,11 +30782,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vpermq, 0x00, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30772,9 +30796,9 @@ static const insn_template i386_optab[] =
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vpermq, 0x36, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30782,11 +30806,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vextracti128, 0x39, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30796,9 +30820,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vinserti128, 0x38, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30808,11 +30832,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaskmovd, 0x8e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30820,9 +30844,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -30834,9 +30858,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmaskmovq, 0x8e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30844,9 +30868,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } } } },
@@ -30858,9 +30882,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpsllvd, 0x47, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30868,11 +30892,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsllvq, 0x47, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30880,11 +30904,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsravd, 0x46, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30892,11 +30916,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlvd, 0x45, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30904,11 +30928,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlvq, 0x45, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30916,11 +30940,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgatherdpd, 0x92, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30928,11 +30952,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vgatherdpd, 0x92, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30942,7 +30966,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vgatherdpd, 0x92, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30952,7 +30976,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vgatherdps, 0x92, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30960,11 +30984,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherdps, 0x92, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30972,11 +30996,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vgatherdps, 0x92, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30986,7 +31010,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vgatherdps, 0x92, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -30996,7 +31020,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherdps, 0x92, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31006,7 +31030,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vgatherqps, 0x93, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31014,11 +31038,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherqps, 0x93, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31026,11 +31050,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherqps, 0x93, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31040,7 +31064,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vgatherqps, 0x93, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31050,7 +31074,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherqps, 0x93, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31060,7 +31084,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherqpd, 0x93, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31068,11 +31092,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherqpd, 0x93, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31080,11 +31104,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vgatherqpd, 0x93, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31094,7 +31118,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vgatherqpd, 0x93, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31104,7 +31128,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherqpd, 0x93, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31114,7 +31138,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherdd, 0x90, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31122,11 +31146,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherdd, 0x90, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31134,11 +31158,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherdd, 0x90, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31148,7 +31172,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpgatherdd, 0x90, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31158,7 +31182,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherdd, 0x90, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31168,7 +31192,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherdq, 0x90, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31176,11 +31200,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherdq, 0x90, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31190,7 +31214,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpgatherdq, 0x90, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31200,7 +31224,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherqd, 0x91, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31208,11 +31232,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherqd, 0x91, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31220,11 +31244,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherqd, 0x91, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31234,7 +31258,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherqd, 0x91, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31244,7 +31268,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherqd, 0x91, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31254,7 +31278,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherqq, 0x91, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31262,11 +31286,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherqq, 0x91, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31274,11 +31298,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vpgatherqq, 0x91, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31288,7 +31312,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpgatherqq, 0x91, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31298,7 +31322,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpgatherqq, 0x91, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31308,7 +31332,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vaesdec, 0xde, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31316,11 +31340,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaesdec, 0xde, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31328,11 +31352,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31340,11 +31364,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaesdeclast, 0xdf, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31352,11 +31376,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaesenc, 0xdc, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31364,11 +31388,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaesenc, 0xdc, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31376,11 +31400,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaesenclast, 0xdd, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31388,11 +31412,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaesenclast, 0xdd, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31400,11 +31424,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaesimc, 0xdb, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31412,9 +31436,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 44, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vaeskeygenassist, 0xdf, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31424,9 +31448,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31436,11 +31460,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpclmulqdq, 0x44, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31450,11 +31474,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31462,11 +31486,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpclmullqlqdq, 0x44, 3, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31474,11 +31498,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31486,11 +31510,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpclmulhqlqdq, 0x44, 3, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31498,11 +31522,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31510,11 +31534,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpclmullqhqdq, 0x44, 3, SPACE_0F3A, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31522,11 +31546,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31534,11 +31558,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 45, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpclmulhqhqdq, 0x44, 3, SPACE_0F3A, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31546,11 +31570,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgf2p8affineinvqb, 0xcf, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31560,11 +31584,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vgf2p8affineinvqb, 0xcf, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31574,11 +31598,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgf2p8affineqb, 0xce, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31588,11 +31612,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vgf2p8affineqb, 0xce, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31602,11 +31626,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgf2p8mulb, 0xcf, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31614,11 +31638,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_rdfsbase, 0xae, 1, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31666,9 +31690,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31676,9 +31700,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31686,9 +31710,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31696,9 +31720,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2ps, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31706,9 +31730,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31718,9 +31742,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31730,9 +31754,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31742,9 +31766,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31754,9 +31778,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vcvtps2ph, 0x1d, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31766,9 +31790,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vfmadd132ps, 0x88 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31776,11 +31800,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd132pd, 0x88 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31788,11 +31812,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd132ph, 0x88 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31800,11 +31824,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd213ps, 0x88 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31812,11 +31836,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd213pd, 0x88 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31824,11 +31848,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd213ph, 0x88 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31836,11 +31860,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd231ps, 0x88 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31848,11 +31872,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd231pd, 0x88 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31860,11 +31884,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd231ph, 0x88 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31872,11 +31896,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub132ps, 0x8a | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31884,11 +31908,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub132pd, 0x8a | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31896,11 +31920,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub132ph, 0x8a | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31908,11 +31932,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub213ps, 0x8a | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31920,11 +31944,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub213pd, 0x8a | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31932,11 +31956,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub213ph, 0x8a | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31944,11 +31968,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub231ps, 0x8a | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31956,11 +31980,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub231pd, 0x8a | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31968,11 +31992,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub231ph, 0x8a | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31980,11 +32004,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd132ps, 0x8c | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -31992,11 +32016,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd132pd, 0x8c | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32004,11 +32028,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd132ph, 0x8c | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32016,11 +32040,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd213ps, 0x8c | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32028,11 +32052,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd213pd, 0x8c | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32040,11 +32064,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd213ph, 0x8c | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32052,11 +32076,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd231ps, 0x8c | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32064,11 +32088,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd231pd, 0x8c | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32076,11 +32100,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd231ph, 0x8c | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32088,11 +32112,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub132ps, 0x8e | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32100,11 +32124,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub132pd, 0x8e | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32112,11 +32136,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub132ph, 0x8e | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32124,11 +32148,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub213ps, 0x8e | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32136,11 +32160,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub213pd, 0x8e | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32148,11 +32172,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub213ph, 0x8e | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32160,11 +32184,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub231ps, 0x8e | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32172,11 +32196,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub231pd, 0x8e | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32184,11 +32208,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub231ph, 0x8e | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32196,11 +32220,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd132ss, 0x88 | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32208,11 +32232,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd132sd, 0x88 | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32220,11 +32244,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd132sh, 0x88 | 1 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32232,11 +32256,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd213ss, 0x88 | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32244,11 +32268,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd213sd, 0x88 | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32256,11 +32280,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd213sh, 0x88 | 1 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32268,11 +32292,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd231ss, 0x88 | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32280,11 +32304,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd231sd, 0x88 | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32292,11 +32316,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmadd231sh, 0x88 | 1 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32304,11 +32328,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub132ss, 0x8a | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32316,11 +32340,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub132sd, 0x8a | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32328,11 +32352,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub132sh, 0x8a | 1 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32340,11 +32364,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub213ss, 0x8a | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32352,11 +32376,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub213sd, 0x8a | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32364,11 +32388,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub213sh, 0x8a | 1 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32376,11 +32400,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub231ss, 0x8a | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32388,11 +32412,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub231sd, 0x8a | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32400,11 +32424,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsub231sh, 0x8a | 1 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32412,11 +32436,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd132ss, 0x8c | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32424,11 +32448,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd132sd, 0x8c | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32436,11 +32460,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd132sh, 0x8c | 1 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32448,11 +32472,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd213ss, 0x8c | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32460,11 +32484,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd213sd, 0x8c | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32472,11 +32496,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd213sh, 0x8c | 1 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32484,11 +32508,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd231ss, 0x8c | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32496,11 +32520,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd231sd, 0x8c | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32508,11 +32532,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmadd231sh, 0x8c | 1 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32520,11 +32544,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub132ss, 0x8e | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32532,11 +32556,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub132sd, 0x8e | 1 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32544,11 +32568,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub132sh, 0x8e | 1 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32556,11 +32580,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub213ss, 0x8e | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32568,11 +32592,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub213sd, 0x8e | 1 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32580,11 +32604,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub213sh, 0x8e | 1 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32592,11 +32616,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub231ss, 0x8e | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32604,11 +32628,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub231sd, 0x8e | 1 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32616,11 +32640,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsub231sh, 0x8e | 1 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32628,11 +32652,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmaddsub132ps, 0x86 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32640,11 +32664,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub132pd, 0x86 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32652,11 +32676,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub132ph, 0x86 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32664,11 +32688,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub213ps, 0x86 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32676,11 +32700,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub213pd, 0x86 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32688,11 +32712,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub213ph, 0x86 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32700,11 +32724,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub231ps, 0x86 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32712,11 +32736,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub231pd, 0x86 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32724,11 +32748,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddsub231ph, 0x86 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32736,11 +32760,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd132ps, 0x87 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32748,11 +32772,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd132pd, 0x87 | 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32760,11 +32784,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd132ph, 0x87 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32772,11 +32796,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd213ps, 0x87 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32784,11 +32808,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd213pd, 0x87 | 0x20, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32796,11 +32820,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd213ph, 0x87 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32808,11 +32832,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd231ps, 0x87 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32820,11 +32844,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd231pd, 0x87 | 0x30, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32832,11 +32856,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 46, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsubadd231ph, 0x87 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -32844,11 +32868,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_xacquire, 0xf2, 0, SPACE_BASE, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33000,13 +33024,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmaddpd, 0x68 | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33014,13 +33038,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmsubps, 0x6c | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33028,13 +33052,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmsubpd, 0x6c | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33042,13 +33066,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfnmaddps, 0x78 | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33056,13 +33080,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfnmaddpd, 0x78 | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33070,13 +33094,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfnmsubps, 0x7c | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33084,13 +33108,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfnmsubpd, 0x7c | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33098,13 +33122,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmaddss, 0x68 | 2 | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33112,13 +33136,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmaddsd, 0x68 | 2 | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33126,13 +33150,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsubss, 0x6c | 2 | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33140,13 +33164,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmsubsd, 0x6c | 2 | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33154,13 +33178,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmaddss, 0x78 | 2 | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33168,13 +33192,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmaddsd, 0x78 | 2 | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33182,13 +33206,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsubss, 0x7c | 2 | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33196,13 +33220,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfnmsubsd, 0x7c | 2 | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33210,13 +33234,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmaddsubps, 0x5c | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33224,13 +33248,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmaddsubpd, 0x5c | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33238,13 +33262,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmsubaddps, 0x5e | 0, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33252,13 +33276,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfmsubaddpd, 0x5e | 1, 4, SPACE_0F3A, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33266,13 +33290,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfrczps, 0x80 | 0, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33280,9 +33304,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfrczpd, 0x80 | 1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33290,9 +33314,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vfrczss, 0x82 | 0, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33300,9 +33324,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfrczsd, 0x82 | 1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33310,9 +33334,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmov, 0xa2, 4, SPACE_XOP08, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33320,13 +33344,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpcomb, 0xcc | 0x00 | 0, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33336,11 +33360,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomw, 0xcc | 0x00 | 1, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33350,11 +33374,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomd, 0xcc | 0x00 | 2, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33364,11 +33388,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomq, 0xcc | 0x00 | 3, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33378,11 +33402,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomub, 0xcc | 0x20 | 0, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33392,11 +33416,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomuw, 0xcc | 0x20 | 1, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33406,11 +33430,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomud, 0xcc | 0x20 | 2, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33420,11 +33444,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomuq, 0xcc | 0x20 | 3, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33434,11 +33458,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33446,11 +33470,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33458,11 +33482,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33470,11 +33494,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33482,11 +33506,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33494,11 +33518,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33506,11 +33530,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33518,11 +33542,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomltuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33530,11 +33554,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomleb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33542,11 +33566,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomlew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33554,11 +33578,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomled, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33566,11 +33590,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomleq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33578,11 +33602,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomleub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33590,11 +33614,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomleuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33602,11 +33626,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomleud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33614,11 +33638,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomleuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33626,11 +33650,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33638,11 +33662,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33650,11 +33674,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33662,11 +33686,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33674,11 +33698,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33686,11 +33710,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33698,11 +33722,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33710,11 +33734,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgtuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 2,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33722,11 +33746,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgeb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33734,11 +33758,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33746,11 +33770,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomged, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33758,11 +33782,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgeq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33770,11 +33794,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgeub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33782,11 +33806,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgeuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33794,11 +33818,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgeud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33806,11 +33830,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomgeuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 3,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33818,11 +33842,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomeqb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33830,11 +33854,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomeqw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33842,11 +33866,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomeqd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33854,11 +33878,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomeqq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33866,11 +33890,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomequb, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33878,11 +33902,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomequw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33890,11 +33914,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomequd, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33902,11 +33926,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomequq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33914,11 +33938,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomneqb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33926,11 +33950,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomneqw, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33938,11 +33962,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomneqd, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33950,11 +33974,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomneqq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33962,11 +33986,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomnequb, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33974,11 +33998,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomnequw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33986,11 +34010,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomnequd, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -33998,11 +34022,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomnequq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 5,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34010,11 +34034,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalseb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34022,11 +34046,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalsew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34034,11 +34058,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalsed, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34046,11 +34070,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalseq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34058,11 +34082,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalseub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34070,11 +34094,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalseuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34082,11 +34106,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalseud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34094,11 +34118,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomfalseuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34106,11 +34130,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrueb, 0xcc | 0x00 | 0, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34118,11 +34142,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtruew, 0xcc | 0x00 | 1, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34130,11 +34154,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrued, 0xcc | 0x00 | 2, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34142,11 +34166,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrueq, 0xcc | 0x00 | 3, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34154,11 +34178,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrueub, 0xcc | 0x20 | 0, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34166,11 +34190,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrueuw, 0xcc | 0x20 | 1, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34178,11 +34202,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrueud, 0xcc | 0x20 | 2, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34190,11 +34214,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpcomtrueuq, 0xcc | 0x20 | 3, 3, SPACE_XOP08, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34202,11 +34226,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpermil2ps, 0x48 | 0, 5, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34216,13 +34240,13 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpermil2ps, 0x48 | 0, 5, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34232,13 +34256,13 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpermil2pd, 0x48 | 1, 5, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34248,13 +34272,13 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpermil2pd, 0x48 | 1, 5, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34264,13 +34288,13 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vphaddbd, 0xc2 | 0, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34278,9 +34302,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddbq, 0xc2 | 1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34288,9 +34312,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddbw, 0xc1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34298,9 +34322,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphadddq, 0xcb, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34308,9 +34332,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddubd, 0xd2 | 0, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34318,9 +34342,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddubq, 0xd2 | 1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34328,9 +34352,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddubw, 0xd1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34338,9 +34362,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddudq, 0xdb, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34348,9 +34372,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphadduwd, 0xd6 | 0, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34358,9 +34382,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphadduwq, 0xd6 | 1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34368,9 +34392,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddwd, 0xc6 | 0, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34378,9 +34402,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphaddwq, 0xc6 | 1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34388,9 +34412,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphsubbw, 0xe1, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34398,9 +34422,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphsubdq, 0xe3, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34408,9 +34432,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vphsubwd, 0xe2, 2, SPACE_XOP09, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34418,9 +34442,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacsdd, 0x9e, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34428,13 +34452,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacsdqh, 0x9f, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34442,13 +34466,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacsdql, 0x97, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34456,13 +34480,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacssdd, 0x8e, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34470,13 +34494,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacssdqh, 0x8f, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34484,13 +34508,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacssdql, 0x87, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34498,13 +34522,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacsswd, 0x86, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34512,13 +34536,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacssww, 0x85, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34526,13 +34550,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacswd, 0x96, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34540,13 +34564,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmacsww, 0x95, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34554,13 +34578,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmadcsswd, 0xa6, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34568,13 +34592,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpmadcswd, 0xb6, 4, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34582,13 +34606,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpperm, 0xa3, 4, SPACE_XOP08, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34596,13 +34620,13 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotb, 0x90 | 0, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34610,11 +34634,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotb, 0xc0 | 0, 3, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34624,9 +34648,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotw, 0x90 | 1, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34634,11 +34658,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotw, 0xc0 | 1, 3, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34648,9 +34672,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotd, 0x90 | 2, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34658,11 +34682,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotd, 0xc0 | 2, 3, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34672,9 +34696,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotq, 0x90 | 3, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34682,11 +34706,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vprotq, 0xc0 | 3, 3, SPACE_XOP08, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34696,9 +34720,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshab, 0x98 | 0, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34706,11 +34730,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshaw, 0x98 | 1, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34718,11 +34742,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshad, 0x98 | 2, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34730,11 +34754,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshaq, 0x98 | 3, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34742,11 +34766,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshlb, 0x94 | 0, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34754,11 +34778,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshlw, 0x94 | 1, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34766,11 +34790,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshld, 0x94 | 2, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34778,11 +34802,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpshlq, 0x94 | 3, 3, SPACE_XOP09, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -34790,11 +34814,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_llwpcb, 0x12, 1, SPACE_XOP09, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35042,9 +35066,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pf2id, 0x0f, 2, SPACE_0F, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35052,9 +35076,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pf2iw, 0x0f, 2, SPACE_0F, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35062,9 +35086,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfacc, 0x0f, 2, SPACE_0F, 0xae,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35072,9 +35096,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfadd, 0x0f, 2, SPACE_0F, 0x9e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35082,9 +35106,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfcmpeq, 0x0f, 2, SPACE_0F, 0xb0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35092,9 +35116,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfcmpge, 0x0f, 2, SPACE_0F, 0x90,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35102,9 +35126,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfcmpgt, 0x0f, 2, SPACE_0F, 0xa0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35112,9 +35136,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfmax, 0x0f, 2, SPACE_0F, 0xa4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35122,9 +35146,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfmin, 0x0f, 2, SPACE_0F, 0x94,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35132,9 +35156,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfmul, 0x0f, 2, SPACE_0F, 0xb4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35142,9 +35166,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfnacc, 0x0f, 2, SPACE_0F, 0x8a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35152,9 +35176,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfpnacc, 0x0f, 2, SPACE_0F, 0x8e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35162,9 +35186,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfrcp, 0x0f, 2, SPACE_0F, 0x96,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35172,9 +35196,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfrcpit1, 0x0f, 2, SPACE_0F, 0xa6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35182,9 +35206,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfrcpit2, 0x0f, 2, SPACE_0F, 0xb6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35192,9 +35216,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfrsqit1, 0x0f, 2, SPACE_0F, 0xa7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35202,9 +35226,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfrsqrt, 0x0f, 2, SPACE_0F, 0x97,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35212,9 +35236,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfsub, 0x0f, 2, SPACE_0F, 0x9a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35222,9 +35246,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pfsubr, 0x0f, 2, SPACE_0F, 0xaa,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35232,9 +35256,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pi2fd, 0x0f, 2, SPACE_0F, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35242,9 +35266,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pi2fw, 0x0f, 2, SPACE_0F, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35252,9 +35276,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pmulhrw, 0x0f, 2, SPACE_0F, 0xb7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35262,9 +35286,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_pswapd, 0x0f, 2, SPACE_0F, 0xbb,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35272,9 +35296,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_syscall, 0x05, 0, SPACE_0F, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35428,7 +35452,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -35438,7 +35462,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -35452,7 +35476,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_extrq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35460,9 +35484,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_insertq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35470,9 +35494,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_insertq, 0x78, 4, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35484,9 +35508,9 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_lzcnt, 0xbd, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -35824,7 +35848,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndmov, 0x1a, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35832,9 +35856,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndcl, 0x1a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35844,7 +35868,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndcl, 0x1a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35854,7 +35878,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndcu, 0x1a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35864,7 +35888,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndcu, 0x1a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35874,7 +35898,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndcn, 0x1b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35884,7 +35908,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndcn, 0x1b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35894,7 +35918,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_bndstx, 0x1b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35902,7 +35926,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -35914,7 +35938,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_sha1rnds4, 0xcc, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35924,9 +35948,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha1nexte, 0xc8, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35934,9 +35958,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha1msg1, 0xc9, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35944,9 +35968,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha1msg2, 0xca, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35954,9 +35978,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha256rnds2, 0xcb, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35966,9 +35990,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha256rnds2, 0xcb, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35976,9 +36000,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha256msg1, 0xcc, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35986,9 +36010,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_sha256msg2, 0xcd, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -35996,9 +36020,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsha512rnds2, 0xcb, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36006,11 +36030,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vsha512msg1, 0xcc, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36018,9 +36042,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vsha512msg2, 0xcd, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36028,9 +36052,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vsm3rnds2, 0xde, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36040,11 +36064,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsm3msg1, 0xda, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36052,11 +36076,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsm3msg2, 0xda, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36064,11 +36088,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsm4key4, 0xda, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36076,11 +36100,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vsm4key4, 0xda, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36088,11 +36112,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsm4rnds4, 0xda, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36100,11 +36124,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vsm4rnds4, 0xda, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36112,11 +36136,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_kandb, 0x41, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36124,11 +36148,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandw, 0x41, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36136,11 +36160,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandnb, 0x42, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36148,11 +36172,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandnw, 0x42, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36160,11 +36184,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_korb, 0x45, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36172,11 +36196,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_korw, 0x45, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36184,11 +36208,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxnorb, 0x46, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36196,11 +36220,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxnorw, 0x46, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36208,11 +36232,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxorb, 0x47, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36220,11 +36244,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxorw, 0x47, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36232,11 +36256,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovb, 0x90, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36244,9 +36268,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovb, 0x91, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36254,7 +36278,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -36266,7 +36290,7 @@ static const insn_template i386_optab[] =
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovw, 0x90, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36274,9 +36298,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovw, 0x91, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36284,7 +36308,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -36296,7 +36320,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_knotb, 0x44, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36304,9 +36328,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_knotw, 0x44, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36314,9 +36338,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kortestb, 0x98, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36324,9 +36348,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kortestw, 0x98, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36334,9 +36358,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftlb, 0x32, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36346,9 +36370,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftlw, 0x32, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36358,9 +36382,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftrb, 0x30, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36370,9 +36394,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftrw, 0x30, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36382,9 +36406,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kunpckbw, 0x4b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36392,11 +36416,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vaddph, 0x58, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36404,11 +36428,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsubph, 0x5c, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36416,11 +36440,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmulph, 0x59, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36428,11 +36452,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vdivph, 0x5e, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36440,11 +36464,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminph, 0x5d, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36452,11 +36476,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmaxph, 0x5f, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36464,11 +36488,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vaddsh, 0x58, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36476,11 +36500,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsubsh, 0x5c, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36488,11 +36512,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmulsh, 0x59, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36500,11 +36524,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdivsh, 0x5e, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36512,11 +36536,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminsh, 0x5d, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36524,11 +36548,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmaxsh, 0x5f, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36536,11 +36560,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vsqrtph, 0x51, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36548,9 +36572,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsqrtsh, 0x51, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36558,11 +36582,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_valignd, 0x03, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36572,11 +36596,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_valignq, 0x03, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36586,11 +36610,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vblendmps, 0x65, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36598,11 +36622,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vblendmpd, 0x65, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36610,11 +36634,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpblendmd, 0x64, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36622,11 +36646,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpblendmq, 0x64, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36634,11 +36658,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermi2d, 0x76, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36646,11 +36670,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermi2q, 0x76, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36658,11 +36682,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermi2ps, 0x77, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36670,11 +36694,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermi2pd, 0x77, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36682,11 +36706,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermt2d, 0x7e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36694,11 +36718,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermt2q, 0x7e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36706,11 +36730,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermt2ps, 0x7f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36718,11 +36742,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermt2pd, 0x7f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36730,11 +36754,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxsq, 0x3d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36742,11 +36766,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmaxuq, 0x3f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36754,11 +36778,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminsq, 0x39, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36766,11 +36790,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpminuq, 0x3b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36778,11 +36802,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprolvd, 0x15, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36790,11 +36814,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprolvq, 0x15, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36802,11 +36826,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprorvd, 0x14, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36814,11 +36838,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprorvq, 0x14, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36826,11 +36850,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsravq, 0x46, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36838,11 +36862,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpternlogd, 0x25, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36852,11 +36876,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpternlogq, 0x25, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36866,11 +36890,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcastf32x4, 0x1a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36880,7 +36904,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcasti32x4, 0x5a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36890,7 +36914,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcastf64x4, 0x1b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36900,7 +36924,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vbroadcasti64x4, 0x5b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36910,7 +36934,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcomish, 0x2f, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36918,9 +36942,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomish, 0x2e, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36928,9 +36952,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcompresspd, 0x8a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36938,9 +36962,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
{ MN_vcompressps, 0x8a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36948,9 +36972,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
{ MN_vpcompressq, 0x8b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36958,9 +36982,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
{ MN_vpcompressd, 0x8b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36968,9 +36992,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
{ MN_vpscatterdd, 0xa0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -36978,7 +37002,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -36988,7 +37012,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -36998,7 +37022,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37008,7 +37032,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37018,7 +37042,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37028,7 +37052,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37038,7 +37062,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37048,7 +37072,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37058,7 +37082,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37068,7 +37092,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37078,7 +37102,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37088,7 +37112,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37098,7 +37122,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37108,7 +37132,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37118,7 +37142,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37128,7 +37152,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37138,7 +37162,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37148,7 +37172,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37158,7 +37182,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37168,7 +37192,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37178,7 +37202,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37188,7 +37212,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -37198,9 +37222,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtudq2pd, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37208,9 +37232,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtudq2pd, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37218,9 +37242,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtps2udq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37228,9 +37252,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37238,9 +37262,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37248,9 +37272,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2udq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37258,9 +37282,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2udqx, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37268,9 +37292,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2udqy, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37278,9 +37302,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtss2usi, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37288,7 +37312,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -37298,7 +37322,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -37308,7 +37332,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -37320,9 +37344,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
@@ -37332,9 +37356,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0,
@@ -37344,9 +37368,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2sd, 0x7b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
@@ -37356,9 +37380,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2ss, 0x7b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -37368,9 +37392,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2ss, 0x7b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -37380,9 +37404,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37390,9 +37414,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37400,9 +37424,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37410,9 +37434,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqx, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37420,9 +37444,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqy, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37430,9 +37454,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttps2udq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37440,9 +37464,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttss2usi, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37450,7 +37474,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -37460,7 +37484,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -37470,7 +37494,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -37480,9 +37504,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vexpandpd, 0x88, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37490,9 +37514,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpexpandq, 0x89, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37500,9 +37524,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vexpandps, 0x88, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37510,9 +37534,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpexpandd, 0x89, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37520,9 +37544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vextractf32x4, 0x19, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37532,9 +37556,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vextracti32x4, 0x39, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37544,9 +37568,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vextractf64x4, 0x1b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37556,9 +37580,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vextracti64x4, 0x3b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37568,9 +37592,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vfixupimmps, 0x54, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37580,11 +37604,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfixupimmpd, 0x54, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37594,11 +37618,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfixupimmss, 0x55, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37608,11 +37632,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfixupimmsd, 0x55, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37622,11 +37646,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgetmantps, 0x26, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37636,9 +37660,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetmantpd, 0x26, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37648,9 +37672,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetmantph, 0x26, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37660,9 +37684,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetmantss, 0x27, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37672,11 +37696,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgetmantsd, 0x27, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37686,11 +37710,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgetmantsh, 0x27, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37700,11 +37724,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrndscaleps, 0x08 | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37714,9 +37738,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrndscalepd, 0x08 | 1, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37726,9 +37750,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrndscaleph, 0x08 | 0, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37738,9 +37762,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrndscaless, 0x0a | 0, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37750,11 +37774,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrndscalesd, 0x0a | 1, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37764,11 +37788,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrndscalesh, 0x0a | 0, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37778,11 +37802,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vscalefps, 0x2c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37790,11 +37814,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vscalefpd, 0x2c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37802,11 +37826,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vscalefph, 0x2c, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37814,11 +37838,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vscalefss, 0x2d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37826,11 +37850,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vscalefsd, 0x2d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37838,11 +37862,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vscalefsh, 0x2d, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37850,11 +37874,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgetexpps, 0x42, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37862,9 +37886,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetexppd, 0x42, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37872,9 +37896,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetexpph, 0x42, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37882,9 +37906,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetexpss, 0x43, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37892,11 +37916,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgetexpsd, 0x43, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37904,11 +37928,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgetexpsh, 0x43, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37916,11 +37940,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vinsertf32x4, 0x18, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37930,11 +37954,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vinserti32x4, 0x38, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37944,11 +37968,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vinsertf64x4, 0x1a, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37958,11 +37982,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vinserti64x4, 0x3a, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37972,11 +37996,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vmovdqa64, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37984,9 +38008,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovdqa32, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -37994,9 +38018,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovdqu32, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38004,9 +38028,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovdqu64, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38014,9 +38038,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovsh, 0x10, 2, SPACE_MAP5, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38026,7 +38050,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovsh, 0x10, 3, SPACE_MAP5, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38034,11 +38058,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vpabsq, 0x1e | 1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38046,9 +38070,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpandd, 0xdb, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38056,11 +38080,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpandq, 0xdb, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38068,11 +38092,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpandnd, 0xdf, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38080,11 +38104,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpandnq, 0xdf, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38092,11 +38116,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpord, 0xeb, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38104,11 +38128,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vporq, 0xeb, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38116,11 +38140,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpxord, 0xef, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38128,11 +38152,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpxorq, 0xef, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38140,11 +38164,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpcmpd, 0x1f, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38154,11 +38178,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpq, 0x1f, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38168,11 +38192,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpud, 0x1e, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38182,11 +38206,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpuq, 0x1e, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38196,11 +38220,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltd, 0x1f, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38208,11 +38232,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltq, 0x1f, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38220,11 +38244,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpled, 0x1f, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38232,11 +38256,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpleq, 0x1f, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38244,11 +38268,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpneqd, 0x1f, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38256,11 +38280,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpneqq, 0x1f, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38268,11 +38292,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltd, 0x1f, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38280,11 +38304,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltq, 0x1f, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38292,11 +38316,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnled, 0x1f, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38304,11 +38328,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnleq, 0x1f, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38316,11 +38340,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpequd, 0x1e, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38328,11 +38352,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpequq, 0x1e, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38340,11 +38364,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltud, 0x1e, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38352,11 +38376,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltuq, 0x1e, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38364,11 +38388,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpleud, 0x1e, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38376,11 +38400,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpleuq, 0x1e, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38388,11 +38412,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnequd, 0x1e, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38400,11 +38424,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnequq, 0x1e, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38412,11 +38436,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltud, 0x1e, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38424,11 +38448,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltuq, 0x1e, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38436,11 +38460,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnleud, 0x1e, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38448,11 +38472,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnleuq, 0x1e, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38460,11 +38484,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestmd, 0x27, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38472,11 +38496,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestmq, 0x27, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38484,11 +38508,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestnmd, 0x27, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38496,11 +38520,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestnmq, 0x27, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38508,11 +38532,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovdb, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38520,9 +38544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovdb, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38530,9 +38554,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovdb, 0x31, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38540,9 +38564,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsdb, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38550,9 +38574,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsdb, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38560,9 +38584,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsdb, 0x21, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38570,9 +38594,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusdb, 0x11, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38580,9 +38604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusdb, 0x11, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38590,9 +38614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusdb, 0x11, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38600,9 +38624,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovdw, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38610,9 +38634,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovdw, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38620,9 +38644,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovdw, 0x33, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38630,9 +38654,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsdw, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38640,9 +38664,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovsdw, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38650,9 +38674,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsdw, 0x23, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38660,9 +38684,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusdw, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38670,9 +38694,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovusdw, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38680,9 +38704,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusdw, 0x13, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38690,9 +38714,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqb, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38700,9 +38724,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqb, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38710,9 +38734,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqb, 0x32, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38720,9 +38744,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqb, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38730,9 +38754,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqb, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38740,9 +38764,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqb, 0x22, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38750,9 +38774,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqb, 0x12, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38760,9 +38784,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqb, 0x12, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38770,9 +38794,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqb, 0x12, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38780,9 +38804,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqd, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38790,9 +38814,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovqd, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38800,9 +38824,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqd, 0x35, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38810,9 +38834,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqd, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38820,9 +38844,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovsqd, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38830,9 +38854,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqd, 0x25, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38840,9 +38864,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqd, 0x15, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38850,9 +38874,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovusqd, 0x15, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38860,9 +38884,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqd, 0x15, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38870,9 +38894,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqw, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38880,9 +38904,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqw, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38890,9 +38914,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovqw, 0x34, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38900,9 +38924,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqw, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38910,9 +38934,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqw, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38920,9 +38944,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovsqw, 0x24, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38930,9 +38954,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqw, 0x14, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38940,9 +38964,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqw, 0x14, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38950,9 +38974,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovusqw, 0x14, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38960,9 +38984,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vprold, 0x72, 3, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38972,9 +38996,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprolq, 0x72, 3, SPACE_0F, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38984,9 +39008,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprord, 0x72, 3, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -38996,9 +39020,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vprorq, 0x72, 3, SPACE_0F, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39008,9 +39032,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsraq, 0xe2, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39018,11 +39042,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsraq, 0x72, 3, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39032,9 +39056,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrcp14ps, 0x4c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39042,9 +39066,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrcp14pd, 0x4c, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39052,9 +39076,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrcp14ss, 0x4d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39062,11 +39086,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrcp14sd, 0x4d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39074,11 +39098,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrsqrt14ps, 0x4e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39086,9 +39110,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrsqrt14pd, 0x4e, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39096,9 +39120,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrsqrt14ss, 0x4f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39106,11 +39130,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrsqrt14sd, 0x4f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39118,11 +39142,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vshuff32x4, 0x23, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39132,11 +39156,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vshufi32x4, 0x43, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39146,11 +39170,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vshuff64x2, 0x23, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39160,11 +39184,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vshufi64x2, 0x43, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39174,11 +39198,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastmb2q, 0x2a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39186,9 +39210,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpbroadcastmw2d, 0x3a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39196,9 +39220,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpconflictd, 0xc4, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39206,9 +39230,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpconflictq, 0xc4, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39216,9 +39240,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vplzcntd, 0x44, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39226,9 +39250,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vplzcntq, 0x44, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39236,9 +39260,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vexp2ps, 0xc8, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39246,9 +39270,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vexp2pd, 0xc8, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39256,9 +39280,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vrcp28ps, 0xca, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39266,9 +39290,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vrcp28pd, 0xca, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39276,9 +39300,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vrcp28ss, 0xcb, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39286,11 +39310,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrcp28sd, 0xcb, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39298,11 +39322,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrsqrt28ps, 0xcc, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39310,9 +39334,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vrsqrt28pd, 0xcc, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39320,9 +39344,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vrsqrt28ss, 0xcd, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39330,11 +39354,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrsqrt28sd, 0xcd, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39342,11 +39366,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vgatherpf0dpd, 0xc6, 1, SPACE_0F38, 1,
{ 0, 0, 0, 1, 0, 0, 0, 0, 6, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39570,11 +39594,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kaddq, 0x4a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39582,11 +39606,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandd, 0x41, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39594,11 +39618,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandq, 0x41, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39606,11 +39630,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandnd, 0x42, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39618,11 +39642,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kandnq, 0x42, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39630,11 +39654,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovd, 0x90, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39642,9 +39666,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovd, 0x91, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39652,7 +39676,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -39664,7 +39688,7 @@ static const insn_template i386_optab[] =
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovq, 0x90, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39672,9 +39696,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kmovq, 0x91, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39682,7 +39706,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -39694,7 +39718,7 @@ static const insn_template i386_optab[] =
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_knotd, 0x44, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39702,9 +39726,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_knotq, 0x44, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39712,9 +39736,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kord, 0x45, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39722,11 +39746,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_korq, 0x45, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39734,11 +39758,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kortestd, 0x98, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39746,9 +39770,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kortestq, 0x98, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39756,9 +39780,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ktestd, 0x99, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39766,9 +39790,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ktestq, 0x99, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39776,9 +39800,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxnord, 0x46, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39786,11 +39810,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxnorq, 0x46, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39798,11 +39822,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxord, 0x47, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39810,11 +39834,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kxorq, 0x47, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39822,11 +39846,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kunpckdq, 0x4b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39834,11 +39858,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kunpckwd, 0x4b, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39846,11 +39870,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftld, 0x33, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39860,9 +39884,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftlq, 0x33, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39872,9 +39896,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftrd, 0x31, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39884,9 +39908,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kshiftrq, 0x31, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39896,9 +39920,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vdbpsadbw, 0x42, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39908,11 +39932,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovdqu8, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39920,9 +39944,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovdqu16, 0x6f, 2, SPACE_0F, None,
{ 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39930,9 +39954,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpblendmb, 0x66, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39940,11 +39964,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpblendmw, 0x66, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39952,11 +39976,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermi2b, 0x75, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39964,11 +39988,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermi2w, 0x75, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39976,11 +40000,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermt2b, 0x7d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -39988,11 +40012,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermt2w, 0x7d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40000,11 +40024,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermb, 0x8d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40012,11 +40036,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpermw, 0x8d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40024,11 +40048,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsllvw, 0x12, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40036,11 +40060,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsravw, 0x11, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40048,11 +40072,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpsrlvw, 0x10, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40060,11 +40084,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpcmpb, 0x3f, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40074,11 +40098,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpw, 0x3f, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40088,11 +40112,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpub, 0x3e, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40102,11 +40126,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpuw, 0x3e, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40116,11 +40140,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltb, 0x3f, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40128,11 +40152,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltw, 0x3f, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40140,11 +40164,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpleb, 0x3f, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40152,11 +40176,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmplew, 0x3f, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40164,11 +40188,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpneqb, 0x3f, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40176,11 +40200,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpneqw, 0x3f, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40188,11 +40212,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltb, 0x3f, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40200,11 +40224,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltw, 0x3f, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40212,11 +40236,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnleb, 0x3f, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40224,11 +40248,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnlew, 0x3f, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40236,11 +40260,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpequb, 0x3e, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40248,11 +40272,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpequw, 0x3e, 3, SPACE_0F3A, 0,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40260,11 +40284,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltub, 0x3e, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40272,11 +40296,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpltuw, 0x3e, 3, SPACE_0F3A, 1,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40284,11 +40308,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpleub, 0x3e, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40296,11 +40320,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpleuw, 0x3e, 3, SPACE_0F3A, 2,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40308,11 +40332,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnequb, 0x3e, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40320,11 +40344,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnequw, 0x3e, 3, SPACE_0F3A, 4,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40332,11 +40356,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltub, 0x3e, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40344,11 +40368,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnltuw, 0x3e, 3, SPACE_0F3A, 5,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40356,11 +40380,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnleub, 0x3e, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40368,11 +40392,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpcmpnleuw, 0x3e, 3, SPACE_0F3A, 6,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40380,11 +40404,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovb2m, 0x29, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40392,9 +40416,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovw2m, 0x29, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40402,9 +40426,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovm2b, 0x28, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40412,9 +40436,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmovm2w, 0x28, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40422,9 +40446,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmovwb, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40432,9 +40456,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovwb, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40442,9 +40466,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovwb, 0x30, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40452,9 +40476,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovswb, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40462,9 +40486,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovswb, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40472,9 +40496,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovswb, 0x20, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40482,9 +40506,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovuswb, 0x10, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40492,9 +40516,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vpmovuswb, 0x10, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40502,9 +40526,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vpmovuswb, 0x10, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40512,9 +40536,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vptestmb, 0x26, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40522,11 +40546,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestmw, 0x26, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40534,11 +40558,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestnmb, 0x26, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40546,11 +40570,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vptestnmw, 0x26, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40558,11 +40582,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kaddb, 0x4a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40570,11 +40594,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_kaddw, 0x4a, 3, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40582,11 +40606,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ktestb, 0x99, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40594,9 +40618,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_ktestw, 0x99, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40604,9 +40628,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vbroadcastf32x2, 0x19, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40614,9 +40638,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcastf32x8, 0x1b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40626,7 +40650,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vbroadcasti32x2, 0x59, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40634,9 +40658,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcasti32x8, 0x5b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40646,7 +40670,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vbroadcastf64x2, 0x1a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40656,7 +40680,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vbroadcasti64x2, 0x5a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40666,7 +40690,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtpd2qq, 0x7b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40674,9 +40698,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtpd2uqq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40684,9 +40708,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40694,9 +40718,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40704,9 +40728,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2qq, 0x7b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40714,9 +40738,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40724,9 +40748,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40734,9 +40758,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2uqq, 0x79, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40744,9 +40768,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2pd, 0xe6, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40754,9 +40778,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtuqq2pd, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40764,9 +40788,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40774,9 +40798,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40784,9 +40808,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2ps, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40794,9 +40818,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2psx, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40804,9 +40828,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2psy, 0x5b, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40814,9 +40838,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2qq, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40824,9 +40848,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttpd2uqq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40834,9 +40858,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40844,9 +40868,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40854,9 +40878,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttps2qq, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40864,9 +40888,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40874,9 +40898,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40884,9 +40908,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttps2uqq, 0x78, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40894,9 +40918,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40904,9 +40928,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40914,9 +40938,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2ps, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40924,9 +40948,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2psx, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40934,9 +40958,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2psy, 0x7a, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40944,9 +40968,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vextractf32x8, 0x1b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40956,9 +40980,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vextracti32x8, 0x3b, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40968,9 +40992,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } } } },
{ MN_vinsertf32x8, 0x1a, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40980,11 +41004,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vinserti32x8, 0x3a, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -40994,11 +41018,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vextractf64x2, 0x19, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41008,9 +41032,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vextracti64x2, 0x39, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41020,9 +41044,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } } } },
{ MN_vinsertf64x2, 0x18, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41032,11 +41056,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vinserti64x2, 0x38, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41046,11 +41070,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 0, 0, 0 } } } },
{ MN_vfpclassps, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41060,9 +41084,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassps, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41072,9 +41096,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspsz, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41084,9 +41108,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspsx, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41096,9 +41120,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspsy, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41108,9 +41132,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspd, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41120,9 +41144,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspd, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41132,9 +41156,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspdz, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41144,9 +41168,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspdx, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41156,9 +41180,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasspdy, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41168,9 +41192,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassss, 0x67, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41180,9 +41204,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasssd, 0x67, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41192,9 +41216,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclasssh, 0x67, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41204,9 +41228,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovd2m, 0x39, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41214,9 +41238,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovq2m, 0x39, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41224,9 +41248,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vpmovm2d, 0x38, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41234,9 +41258,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmovm2q, 0x38, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41244,9 +41268,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmullq, 0x40, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41254,11 +41278,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrangeps, 0x50, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41268,11 +41292,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrangepd, 0x50, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41282,11 +41306,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrangess, 0x51, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41296,11 +41320,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrangesd, 0x51, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41310,11 +41334,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vreduceps, 0x56, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41324,9 +41348,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vreducepd, 0x56, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41336,9 +41360,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vreduceph, 0x56, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41348,9 +41372,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vreducess, 0x57, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41360,11 +41384,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vreducesd, 0x57, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41374,11 +41398,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vreducesh, 0x57, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41388,11 +41412,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_clwb, 0xae, 1, SPACE_0F, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41408,11 +41432,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmadd52huq, 0xb5, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41420,11 +41444,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmadd52luq, 0xb4, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41432,11 +41456,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpmadd52luq, 0xb4, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41444,11 +41468,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpmultishiftqb, 0x83, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41456,11 +41480,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_v4fmaddps, 0x9a, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41470,9 +41494,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_v4fnmaddps, 0xaa, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41482,9 +41506,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_v4fmaddss, 0x9b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41494,9 +41518,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_v4fnmaddss, 0xab, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41506,9 +41530,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vp4dpwssd, 0x52, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41518,9 +41542,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vp4dpwssds, 0x53, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41530,9 +41554,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vpopcntd, 0x55, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41540,9 +41564,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpopcntq, 0x55, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41550,9 +41574,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpcompressb, 0x63, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41560,9 +41584,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
{ MN_vpcompressw, 0x63, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41570,9 +41594,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } } } },
{ MN_vpexpandb, 0x62, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41580,9 +41604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpexpandw, 0x62, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41590,9 +41614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshldvd, 0x71, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41600,11 +41624,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshldvq, 0x71, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41612,11 +41636,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshldvw, 0x70, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41624,11 +41648,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshrdvd, 0x73, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41636,11 +41660,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshrdvq, 0x73, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41648,11 +41672,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshrdvw, 0x72, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41660,11 +41684,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshldd, 0x71, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41674,11 +41698,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshldq, 0x71, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41688,11 +41712,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshldw, 0x70, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41702,11 +41726,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshrdd, 0x73, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41716,11 +41740,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshrdq, 0x73, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41730,11 +41754,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshrdw, 0x72, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41744,11 +41768,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbusd, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41756,11 +41780,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbusd, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41768,11 +41792,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbusds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41780,11 +41804,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbusds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41792,11 +41816,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwssd, 0x52|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41804,11 +41828,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwssd, 0x52|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41816,11 +41840,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwssds, 0x52|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41828,11 +41852,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwssds, 0x52|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41840,11 +41864,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbuud, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41852,11 +41876,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbuud, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41864,11 +41888,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbuuds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41876,11 +41900,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbuuds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41888,11 +41912,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbssd, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41900,11 +41924,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbssd, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41912,11 +41936,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbssds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41924,11 +41948,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbssds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41936,11 +41960,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbsud, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41948,11 +41972,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbsud, 0x50|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41960,11 +41984,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpbsuds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41972,11 +41996,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpbsuds, 0x50|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41984,11 +42008,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwuud, 0xd2|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -41996,11 +42020,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwuud, 0xd2|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42008,11 +42032,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwuuds, 0xd2|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42020,11 +42044,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwuuds, 0xd2|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42032,11 +42056,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwusd, 0xd2|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42044,11 +42068,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwusd, 0xd2|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42056,11 +42080,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwusds, 0xd2|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42068,11 +42092,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwusds, 0xd2|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42080,11 +42104,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwsud, 0xd2|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42092,11 +42116,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwsud, 0xd2|0, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42104,11 +42128,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpdpwsuds, 0xd2|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42116,11 +42140,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vpdpwsuds, 0xd2|1, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42128,11 +42152,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpopcntb, 0x54, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42140,9 +42164,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpopcntw, 0x54, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42150,9 +42174,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vpshufbitqmb, 0x8f, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42160,11 +42184,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_invlpgb, 0x01fe, 0, SPACE_0F, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42604,11 +42628,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42616,9 +42640,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42626,9 +42650,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42636,9 +42660,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42646,9 +42670,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42656,9 +42680,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16x, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42666,9 +42690,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16x, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42676,9 +42700,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16y, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42686,9 +42710,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtneps2bf16y, 0x72, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42696,9 +42720,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vdpbf16ps, 0x52, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42706,11 +42730,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vbcstnebf162ps, 0xb1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42720,7 +42744,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vbcstnesh2ps, 0xb1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42730,7 +42754,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtneebf162ps, 0xb0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42740,7 +42764,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtneeph2ps, 0xb0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42750,7 +42774,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtneobf162ps, 0xb0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42760,7 +42784,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtneoph2ps, 0xb0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42770,7 +42794,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } } } },
{ MN_enqcmd, 0xf8, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 7, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42818,11 +42842,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vp2intersectq, 0x68, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -42830,11 +42854,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_mcommit, 0x01fa, 0, SPACE_0F, None,
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43036,11 +43060,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tcmmrlfp16ps, 0x6c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43048,11 +43072,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbf16ps, 0x5c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43060,11 +43084,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 114, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpfp16ps, 0x5c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43072,11 +43096,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 115, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbssd, 0x5e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43084,11 +43108,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 113, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbuud, 0x5e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43096,11 +43120,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 113, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbusd, 0x5e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43108,11 +43132,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 113, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbsud, 0x5e, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43120,11 +43144,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 113, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tileloadd, 0x4b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43134,7 +43158,7 @@ static const insn_template i386_optab[] =
{ { 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tileloaddt1, 0x4b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43144,7 +43168,7 @@ static const insn_template i386_optab[] =
{ { 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tileloaddrs, 0x4a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43154,7 +43178,7 @@ static const insn_template i386_optab[] =
{ { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tileloaddrst1, 0x4a, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43164,7 +43188,7 @@ static const insn_template i386_optab[] =
{ { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tilestored, 0x4b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43172,7 +43196,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 121, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } } } },
@@ -43190,7 +43214,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 121, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz0, 0x6e | 0x0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43200,7 +43224,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz0t1, 0x6e | 0x1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43210,7 +43234,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz1, 0x6e | 0x0, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43220,7 +43244,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz1t1, 0x6e | 0x1, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43230,7 +43254,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz0rs, 0xf8 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43240,7 +43264,7 @@ static const insn_template i386_optab[] =
{ { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz0rst1, 0xf8 | 0x1, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43250,7 +43274,7 @@ static const insn_template i386_optab[] =
{ { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz1rs, 0xf8 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43260,7 +43284,7 @@ static const insn_template i386_optab[] =
{ { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_t2rpntlvwz1rst1, 0xf8 | 0x1, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43270,7 +43294,7 @@ static const insn_template i386_optab[] =
{ { 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tconjtcmmimfp16ps, 0x6b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43278,11 +43302,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tconjtfp16, 0x6b, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43290,9 +43314,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_ttcmmimfp16ps, 0x6b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43300,11 +43324,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_ttcmmrlfp16ps, 0x6b, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43312,11 +43336,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 116, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_ttdpbf16ps, 0x6c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43324,11 +43348,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 114, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_ttdpfp16ps, 0x6c, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43336,11 +43360,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 115, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_ttransposed, 0x5f, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43348,9 +43372,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tmmultf32ps, 0x48, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43358,11 +43382,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 117, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_ttmmultf32ps, 0x48, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43370,11 +43394,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 117, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbf8ps, 0xfd, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43382,11 +43406,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdpbhf8ps, 0xfd, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43394,11 +43418,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdphbf8ps, 0xfd, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43406,11 +43430,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tdphf8ps, 0xfd, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43418,11 +43442,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 118, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } } } },
{ MN_tcvtrowd2ps, 0x4a, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43432,9 +43456,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowd2ps, 0x07, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43444,9 +43468,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2bf16h, 0x6d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43456,9 +43480,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2bf16h, 0x07, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43468,9 +43492,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2bf16l, 0x6d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43480,9 +43504,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2bf16l, 0x77, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43492,9 +43516,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2phh, 0x6d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43504,9 +43528,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2phh, 0x07, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43516,9 +43540,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2phl, 0x6d, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43528,9 +43552,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tcvtrowps2phl, 0x77, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43540,9 +43564,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tilemovrow, 0x4a, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43552,9 +43576,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_tilemovrow, 0x07, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43564,9 +43588,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_loadiwkey, 0xdc, 2, SPACE_0F38, None,
{ 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43574,9 +43598,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_encodekey128, 0xfa, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43606,7 +43630,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesdec128kl, 0xdd, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43616,7 +43640,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesenc256kl, 0xde, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43626,7 +43650,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesdec256kl, 0xdf, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43636,7 +43660,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_aesencwide128kl, 0xd8, 1, SPACE_0F38, 0,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43756,11 +43780,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfcmaddcsh, 0x57, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43768,11 +43792,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmaddcph, 0x56, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43780,11 +43804,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmaddcsh, 0x57, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43792,11 +43816,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfcmulcph, 0xd6, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43804,11 +43828,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfcmulcsh, 0xd7, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43816,11 +43840,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vfmulcph, 0xd6, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43828,11 +43852,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmulcsh, 0xd7, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 8, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43840,11 +43864,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqph, 0xc2, 3, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43852,11 +43876,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqph, 0xc2, 3, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43864,11 +43888,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltph, 0xc2, 3, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43876,11 +43900,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_osph, 0xc2, 3, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43888,11 +43912,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpleph, 0xc2, 3, SPACE_0F3A, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43900,11 +43924,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_osph, 0xc2, 3, SPACE_0F3A, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43912,11 +43936,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordph, 0xc2, 3, SPACE_0F3A, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43924,11 +43948,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qph, 0xc2, 3, SPACE_0F3A, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43936,11 +43960,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqph, 0xc2, 3, SPACE_0F3A, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43948,11 +43972,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqph, 0xc2, 3, SPACE_0F3A, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43960,11 +43984,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltph, 0xc2, 3, SPACE_0F3A, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43972,11 +43996,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_usph, 0xc2, 3, SPACE_0F3A, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43984,11 +44008,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnleph, 0xc2, 3, SPACE_0F3A, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -43996,11 +44020,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_usph, 0xc2, 3, SPACE_0F3A, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44008,11 +44032,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordph, 0xc2, 3, SPACE_0F3A, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44020,11 +44044,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qph, 0xc2, 3, SPACE_0F3A, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44032,11 +44056,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqph, 0xc2, 3, SPACE_0F3A, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44044,11 +44068,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngeph, 0xc2, 3, SPACE_0F3A, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44056,11 +44080,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_usph, 0xc2, 3, SPACE_0F3A, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44068,11 +44092,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtph, 0xc2, 3, SPACE_0F3A, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44080,11 +44104,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_usph, 0xc2, 3, SPACE_0F3A, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44092,11 +44116,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalseph, 0xc2, 3, SPACE_0F3A, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44104,11 +44128,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqph, 0xc2, 3, SPACE_0F3A, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44116,11 +44140,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqph, 0xc2, 3, SPACE_0F3A, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44128,11 +44152,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgeph, 0xc2, 3, SPACE_0F3A, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44140,11 +44164,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_osph, 0xc2, 3, SPACE_0F3A, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44152,11 +44176,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtph, 0xc2, 3, SPACE_0F3A, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44164,11 +44188,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_osph, 0xc2, 3, SPACE_0F3A, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44176,11 +44200,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrueph, 0xc2, 3, SPACE_0F3A, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44188,11 +44212,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqph, 0xc2, 3, SPACE_0F3A, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44200,11 +44224,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_osph, 0xc2, 3, SPACE_0F3A, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44212,11 +44236,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqph, 0xc2, 3, SPACE_0F3A, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44224,11 +44248,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqph, 0xc2, 3, SPACE_0F3A, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44236,11 +44260,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_sph, 0xc2, 3, SPACE_0F3A, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44248,11 +44272,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_usph, 0xc2, 3, SPACE_0F3A, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44260,11 +44284,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqph, 0xc2, 3, SPACE_0F3A, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44272,11 +44296,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqph, 0xc2, 3, SPACE_0F3A, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44284,11 +44308,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_sph, 0xc2, 3, SPACE_0F3A, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44296,11 +44320,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_usph, 0xc2, 3, SPACE_0F3A, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44308,11 +44332,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqph, 0xc2, 3, SPACE_0F3A, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44320,11 +44344,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqph, 0xc2, 3, SPACE_0F3A, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44332,11 +44356,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_osph, 0xc2, 3, SPACE_0F3A, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44344,11 +44368,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_osph, 0xc2, 3, SPACE_0F3A, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44356,11 +44380,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqph, 0xc2, 3, SPACE_0F3A, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44368,11 +44392,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqph, 0xc2, 3, SPACE_0F3A, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44380,11 +44404,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_usph, 0xc2, 3, SPACE_0F3A, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44392,11 +44416,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpph, 0xc2, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44406,11 +44430,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeqsh, 0xc2, 3, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44418,11 +44442,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_oqsh, 0xc2, 3, SPACE_0F3A, 0x00,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44430,11 +44454,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpltsh, 0xc2, 3, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44442,11 +44466,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_ossh, 0xc2, 3, SPACE_0F3A, 0x01,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44454,11 +44478,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplesh, 0xc2, 3, SPACE_0F3A, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44466,11 +44490,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_ossh, 0xc2, 3, SPACE_0F3A, 0x02,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44478,11 +44502,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunordsh, 0xc2, 3, SPACE_0F3A, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44490,11 +44514,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_qsh, 0xc2, 3, SPACE_0F3A, 0x03,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44502,11 +44526,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneqsh, 0xc2, 3, SPACE_0F3A, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44514,11 +44538,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_uqsh, 0xc2, 3, SPACE_0F3A, 0x04,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44526,11 +44550,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnltsh, 0xc2, 3, SPACE_0F3A, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44538,11 +44562,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_ussh, 0xc2, 3, SPACE_0F3A, 0x05,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44550,11 +44574,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlesh, 0xc2, 3, SPACE_0F3A, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44562,11 +44586,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_ussh, 0xc2, 3, SPACE_0F3A, 0x06,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44574,11 +44598,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpordsh, 0xc2, 3, SPACE_0F3A, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44586,11 +44610,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_qsh, 0xc2, 3, SPACE_0F3A, 0x07,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44598,11 +44622,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_uqsh, 0xc2, 3, SPACE_0F3A, 0x08,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44610,11 +44634,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngesh, 0xc2, 3, SPACE_0F3A, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44622,11 +44646,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_ussh, 0xc2, 3, SPACE_0F3A, 0x09,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44634,11 +44658,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngtsh, 0xc2, 3, SPACE_0F3A, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44646,11 +44670,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_ussh, 0xc2, 3, SPACE_0F3A, 0x0a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44658,11 +44682,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalsesh, 0xc2, 3, SPACE_0F3A, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44670,11 +44694,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_oqsh, 0xc2, 3, SPACE_0F3A, 0x0b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44682,11 +44706,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_oqsh, 0xc2, 3, SPACE_0F3A, 0x0c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44694,11 +44718,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgesh, 0xc2, 3, SPACE_0F3A, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44706,11 +44730,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_ossh, 0xc2, 3, SPACE_0F3A, 0x0d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44718,11 +44742,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgtsh, 0xc2, 3, SPACE_0F3A, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44730,11 +44754,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_ossh, 0xc2, 3, SPACE_0F3A, 0x0e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44742,11 +44766,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptruesh, 0xc2, 3, SPACE_0F3A, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44754,11 +44778,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_uqsh, 0xc2, 3, SPACE_0F3A, 0x0f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44766,11 +44790,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ossh, 0xc2, 3, SPACE_0F3A, 0x10,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44778,11 +44802,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmplt_oqsh, 0xc2, 3, SPACE_0F3A, 0x11,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44790,11 +44814,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmple_oqsh, 0xc2, 3, SPACE_0F3A, 0x12,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44802,11 +44826,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpunord_ssh, 0xc2, 3, SPACE_0F3A, 0x13,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44814,11 +44838,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ussh, 0xc2, 3, SPACE_0F3A, 0x14,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44826,11 +44850,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnlt_uqsh, 0xc2, 3, SPACE_0F3A, 0x15,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44838,11 +44862,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnle_uqsh, 0xc2, 3, SPACE_0F3A, 0x16,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44850,11 +44874,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpord_ssh, 0xc2, 3, SPACE_0F3A, 0x17,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44862,11 +44886,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpeq_ussh, 0xc2, 3, SPACE_0F3A, 0x18,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44874,11 +44898,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpnge_uqsh, 0xc2, 3, SPACE_0F3A, 0x19,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44886,11 +44910,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpngt_uqsh, 0xc2, 3, SPACE_0F3A, 0x1a,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44898,11 +44922,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpfalse_ossh, 0xc2, 3, SPACE_0F3A, 0x1b,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44910,11 +44934,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpneq_ossh, 0xc2, 3, SPACE_0F3A, 0x1c,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44922,11 +44946,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpge_oqsh, 0xc2, 3, SPACE_0F3A, 0x1d,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44934,11 +44958,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpgt_oqsh, 0xc2, 3, SPACE_0F3A, 0x1e,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44946,11 +44970,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmptrue_ussh, 0xc2, 3, SPACE_0F3A, 0x1f,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44958,11 +44982,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcmpsh, 0xc2, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44972,11 +44996,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2ph, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44984,9 +45008,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2ph, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -44994,9 +45018,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2ph, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45004,9 +45028,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2phx, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45014,9 +45038,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtdq2phy, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45024,9 +45048,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtudq2ph, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45034,9 +45058,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtudq2ph, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45044,9 +45068,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtudq2ph, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45054,9 +45078,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtudq2phx, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45064,9 +45088,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtudq2phy, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45074,9 +45098,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2ph, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45084,9 +45108,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2ph, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45094,9 +45118,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2phz, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45104,9 +45128,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2phx, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45114,9 +45138,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtqq2phy, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45124,9 +45148,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2ph, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45134,9 +45158,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2ph, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45144,9 +45168,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2phz, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45154,9 +45178,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2phx, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45164,9 +45188,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtuqq2phy, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45174,9 +45198,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ph, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45184,9 +45208,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2ph, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45194,9 +45218,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2phz, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45204,9 +45228,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2phx, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45214,9 +45238,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtpd2phy, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45224,9 +45248,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2phx, 0x1d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45234,9 +45258,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtps2phx, 0x1d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45244,9 +45268,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2phx, 0x1d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45254,9 +45278,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2phxx, 0x1d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45264,9 +45288,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtps2phxy, 0x1d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45274,9 +45298,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtw2ph, 0x7d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45284,9 +45308,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtuw2ph, 0x7d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45294,9 +45318,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtph2dq, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45304,9 +45328,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2dq, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45314,9 +45338,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2dq, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45324,9 +45348,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2udq, 0x79, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45334,9 +45358,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2udq, 0x79, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45344,9 +45368,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2udq, 0x79, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45354,9 +45378,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2qq, 0x7b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45364,9 +45388,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2qq, 0x7b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45374,9 +45398,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2qq, 0x7b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45384,9 +45408,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2uqq, 0x79, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45394,9 +45418,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2uqq, 0x79, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45404,9 +45428,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2uqq, 0x79, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45414,9 +45438,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2pd, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45424,9 +45448,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2pd, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45434,9 +45458,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2pd, 0x5a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45444,9 +45468,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2w, 0x7d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45454,9 +45478,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtph2uw, 0x7d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45464,9 +45488,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtsd2sh, 0x5a, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45474,11 +45498,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtss2sh, 0x1d, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45486,11 +45510,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sh, 0x2a, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -45500,9 +45524,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsi2sh, 0x2a, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -45512,9 +45536,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2sh, 0x7b, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -45524,9 +45548,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtusi2sh, 0x7b, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
@@ -45536,9 +45560,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsh2sd, 0x5a, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45546,11 +45570,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsh2ss, 0x13, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45558,11 +45582,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtsh2si, 0x2d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45570,7 +45594,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -45580,9 +45604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttph2dq, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45590,9 +45614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttph2dq, 0x5b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45600,9 +45624,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttph2udq, 0x78, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45610,9 +45634,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttph2udq, 0x78, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45620,9 +45644,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttph2udq, 0x78, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45630,9 +45654,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttph2qq, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45640,9 +45664,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttph2qq, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45650,9 +45674,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttph2qq, 0x7a, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45660,9 +45684,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttph2uqq, 0x78, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45670,9 +45694,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttph2uqq, 0x78, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45680,9 +45704,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttph2uqq, 0x78, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45690,9 +45714,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvtph2psx, 0x13, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45700,9 +45724,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2psx, 0x13, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45710,9 +45734,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2psx, 0x13, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45720,9 +45744,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttph2w, 0x7c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45730,9 +45754,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttph2uw, 0x7c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45740,9 +45764,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttsh2si, 0x2c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45750,7 +45774,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -45762,9 +45786,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassph, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45774,9 +45798,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassphz, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45786,9 +45810,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassphx, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45798,9 +45822,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassphy, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45810,9 +45834,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vmovw, 0x6e, 2, SPACE_MAP5, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45822,7 +45846,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vmovw, 0x7e, 2, SPACE_MAP5, None,
{ 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0,
@@ -45830,7 +45854,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -45840,9 +45864,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrcpph, 0x4c, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45850,9 +45874,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrcpsh, 0x4d, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45860,11 +45884,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vrsqrtph, 0x4e, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45872,9 +45896,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrsqrtsh, 0x4f, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -45882,11 +45906,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_prefetchit0, 0x18, 1, SPACE_0F, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46516,11 +46540,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvt2ps2phx, 0x67, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46528,11 +46552,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtbiasph2bf8, 0x74, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46540,11 +46564,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2bf8, 0x74, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46552,11 +46576,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2bf8s, 0x74, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46564,11 +46588,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2bf8s, 0x74, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46576,11 +46600,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2hf8, 0x18, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46588,11 +46612,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2hf8, 0x18, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46600,11 +46624,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2hf8s, 0x1b, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46612,11 +46636,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtbiasph2hf8s, 0x1b, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46624,11 +46648,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvt2ph2bf8, 0x74, 3, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46636,11 +46660,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvt2ph2bf8s, 0x74, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46648,11 +46672,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvt2ph2hf8, 0x18, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46660,11 +46684,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvt2ph2hf8s, 0x1b, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46672,11 +46696,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtph2bf8, 0x74, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46684,9 +46708,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8, 0x74, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46694,9 +46718,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8, 0x74, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46704,9 +46728,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8x, 0x74, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46714,9 +46738,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8y, 0x74, 2, SPACE_0F38, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46724,9 +46748,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8s, 0x74, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46734,9 +46758,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8s, 0x74, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46744,9 +46768,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8s, 0x74, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46754,9 +46778,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8sx, 0x74, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46764,9 +46788,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2bf8sy, 0x74, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46774,9 +46798,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8, 0x18, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46784,9 +46808,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8, 0x18, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46794,9 +46818,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8, 0x18, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46804,9 +46828,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8x, 0x18, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46814,9 +46838,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8y, 0x18, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46824,9 +46848,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8s, 0x1b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46834,9 +46858,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8s, 0x1b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46844,9 +46868,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8s, 0x1b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46854,9 +46878,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8sx, 0x1b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46864,9 +46888,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtph2hf8sy, 0x1b, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46874,9 +46898,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvthf82ph, 0x1e, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46884,9 +46908,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvthf82ph, 0x1e, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46894,9 +46918,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvthf82ph, 0x1e, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46904,9 +46928,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vaddbf16, 0x58, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46914,11 +46938,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsubbf16, 0x5c, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46926,11 +46950,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmulbf16, 0x59, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46938,11 +46962,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vdivbf16, 0x5e, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46950,11 +46974,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminbf16, 0x5d, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46962,11 +46986,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmaxbf16, 0x5f, 3, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46974,11 +46998,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd132bf16, 0x88 | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46986,11 +47010,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd213bf16, 0x88 | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -46998,11 +47022,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmadd231bf16, 0x88 | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47010,11 +47034,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub132bf16, 0x8a | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47022,11 +47046,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub213bf16, 0x8a | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47034,11 +47058,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfmsub231bf16, 0x8a | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47046,11 +47070,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd132bf16, 0x8c | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47058,11 +47082,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd213bf16, 0x8c | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47070,11 +47094,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmadd231bf16, 0x8c | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47082,11 +47106,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub132bf16, 0x8e | 0x10, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47094,11 +47118,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub213bf16, 0x8e | 0x20, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47106,11 +47130,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vfnmsub231bf16, 0x8e | 0x30, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47118,11 +47142,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcmpbf16, 0xc2, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47132,11 +47156,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 1, 1, 0, 0, 0 } },
{ { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 1, 1, 0, 0, 0 } },
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassbf16, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47146,9 +47170,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassbf16x, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47158,9 +47182,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassbf16y, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47170,9 +47194,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vfpclassbf16z, 0x66, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47182,9 +47206,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 1, 0 } },
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ MN_vgetexpbf16, 0x42, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47192,9 +47216,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vgetmantbf16, 0x26, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47204,9 +47228,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrcpbf16, 0x4c, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47214,9 +47238,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vreducebf16, 0x56, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47226,9 +47250,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrndscalebf16, 0x08, 3, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47238,9 +47262,9 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vrsqrtbf16, 0x4e, 2, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47248,9 +47272,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vscalefbf16, 0x2c, 3, SPACE_MAP6, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47258,11 +47282,11 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vsqrtbf16, 0x51, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47270,9 +47294,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcomisbf16, 0x2f, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47280,9 +47304,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvtbf162ibs, 0x69 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47290,9 +47314,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtbf162iubs, 0x69 | 0x2, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47300,9 +47324,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtph2ibs, 0x69 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47310,9 +47334,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtph2iubs, 0x69 | 0x2, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47320,9 +47344,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtps2ibs, 0x69 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47330,9 +47354,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvtps2iubs, 0x69 | 0x2, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47340,9 +47364,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttbf162ibs, 0x68 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47350,9 +47374,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttbf162iubs, 0x68 | 0x2, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47360,9 +47384,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttph2ibs, 0x68 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47370,9 +47394,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttph2iubs, 0x68 | 0x2, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47380,9 +47404,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttps2ibs, 0x68 | 0x0, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47390,9 +47414,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttps2iubs, 0x68 | 0x2, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47400,9 +47424,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttpd2dqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47410,9 +47434,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47420,9 +47444,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47430,9 +47454,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqsx, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47440,9 +47464,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2dqsy, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47450,9 +47474,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47460,9 +47484,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 0, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47470,9 +47494,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47480,9 +47504,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqsx, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47490,9 +47514,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2udqsy, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47500,9 +47524,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttpd2qqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47510,9 +47534,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttpd2uqqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47520,9 +47544,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttps2dqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47530,9 +47554,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttps2udqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47540,9 +47564,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vcvttps2qqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47550,9 +47574,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttps2qqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47560,9 +47584,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttps2qqs, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47570,9 +47594,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttps2uqqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47580,9 +47604,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcvttps2uqqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47590,9 +47614,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } } } },
{ MN_vcvttps2uqqs, 0x6c, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47600,9 +47624,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
0, 1, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } } } },
{ MN_vcvttsd2sis, 0x6d, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47610,7 +47634,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -47620,7 +47644,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -47630,7 +47654,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -47640,7 +47664,7 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
0, 0, 0, 0, 0, 0 } } } },
@@ -47652,11 +47676,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminmaxps, 0x52, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47666,11 +47690,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminmaxpd, 0x52, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47680,11 +47704,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminmaxph, 0x52, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47694,11 +47718,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vminmaxss, 0x53, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47708,11 +47732,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminmaxsd, 0x53, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47722,11 +47746,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vminmaxsh, 0x53, 4, SPACE_0F3A, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47736,11 +47760,11 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcomxss, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47748,9 +47772,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcomxsd, 0x2f, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47758,9 +47782,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vcomxsh, 0x2f, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47768,9 +47792,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomxss, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47778,9 +47802,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomxsd, 0x2e, 2, SPACE_0F, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47788,9 +47812,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_vucomxsh, 0x2e, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47798,9 +47822,9 @@ static const insn_template i386_optab[] =
0, 0 },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } },
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
- { { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
+ { { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0,
1, 0, 0, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } } } },
{ MN_prefetchrst2, 0x18, 1, SPACE_0F, 4,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47838,7 +47862,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovrsw, 0x6f, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47848,7 +47872,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovrsd, 0x6f, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47858,7 +47882,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
{ MN_vmovrsq, 0x6f, 2, SPACE_MAP5, None,
{ 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
@@ -47868,7 +47892,7 @@ static const insn_template i386_optab[] =
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 1, 0 } },
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 0, 0, 0 } } } },
};
@@ -47936,274 +47960,274 @@ static const i386_op_off_t i386_op_sets[] =
967, 968, 969, 970, 971, 972, 973, 974,
975, 976, 977, 978, 979, 980, 982, 983,
985, 987, 988, 989, 990, 991, 992, 993,
- 994, 995, 996, 997, 999, 1001, 1003, 1005,
- 1007, 1009, 1011, 1013, 1015, 1017, 1019, 1021,
- 1023, 1025, 1027, 1029, 1031, 1033, 1035, 1037,
- 1039, 1041, 1043, 1045, 1047, 1049, 1051, 1053,
- 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069,
- 1071, 1073, 1075, 1077, 1079, 1081, 1083, 1085,
- 1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101,
- 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117,
- 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125,
- 1126, 1127, 1128, 1129, 1132, 1135, 1138, 1141,
- 1144, 1147, 1148, 1149, 1150, 1151, 1152, 1153,
- 1159, 1169, 1173, 1177, 1181, 1185, 1189, 1192,
- 1196, 1200, 1204, 1208, 1212, 1215, 1218, 1221,
- 1224, 1227, 1230, 1233, 1236, 1240, 1244, 1248,
- 1251, 1259, 1265, 1273, 1281, 1287, 1295, 1301,
- 1309, 1313, 1317, 1320, 1324, 1328, 1332, 1336,
- 1340, 1344, 1348, 1351, 1355, 1359, 1362, 1365,
- 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381,
- 1383, 1385, 1387, 1389, 1392, 1395, 1398, 1401,
- 1403, 1405, 1407, 1409, 1411, 1413, 1415, 1417,
- 1419, 1421, 1423, 1425, 1427, 1429, 1431, 1433,
- 1435, 1437, 1439, 1440, 1441, 1447, 1449, 1450,
- 1452, 1454, 1455, 1457, 1459, 1462, 1464, 1467,
- 1469, 1471, 1472, 1474, 1477, 1479, 1483, 1487,
- 1496, 1502, 1506, 1510, 1514, 1518, 1521, 1525,
- 1526, 1527, 1528, 1529, 1533, 1534, 1537, 1540,
- 1543, 1546, 1547, 1549, 1551, 1553, 1555, 1557,
- 1559, 1561, 1564, 1567, 1570, 1573, 1576, 1579,
- 1582, 1585, 1588, 1591, 1594, 1597, 1600, 1603,
- 1606, 1609, 1611, 1613, 1615, 1617, 1619, 1621,
- 1623, 1625, 1627, 1629, 1631, 1633, 1635, 1637,
- 1639, 1641, 1643, 1645, 1648, 1651, 1657, 1660,
- 1665, 1670, 1672, 1675, 1680, 1683, 1686, 1689,
- 1692, 1695, 1698, 1701, 1703, 1706, 1708, 1709,
- 1712, 1714, 1716, 1718, 1721, 1723, 1724, 1726,
- 1729, 1731, 1733, 1735, 1737, 1738, 1739, 1743,
- 1745, 1748, 1751, 1754, 1757, 1760, 1763, 1765,
- 1767, 1769, 1771, 1773, 1775, 1778, 1781, 1783,
- 1785, 1787, 1788, 1789, 1792, 1794, 1795, 1796,
- 1797, 1798, 1799, 1800, 1802, 1804, 1805, 1806,
- 1807, 1808, 1811, 1814, 1817, 1820, 1823, 1826,
- 1829, 1832, 1835, 1839, 1843, 1847, 1850, 1853,
- 1856, 1860, 1864, 1868, 1871, 1873, 1875, 1879,
- 1883, 1885, 1887, 1891, 1893, 1895, 1897, 1900,
- 1904, 1906, 1908, 1914, 1917, 1920, 1922, 1928,
- 1931, 1934, 1937, 1939, 1941, 1944, 1947, 1949,
- 1951, 1954, 1957, 1960, 1962, 1964, 1966, 1968,
- 1970, 1972, 1974, 1976, 1978, 1980, 1983, 1985,
- 1987, 1990, 1992, 1995, 1997, 1999, 2003, 2007,
- 2009, 2011, 2015, 2016, 2017, 2018, 2019, 2020,
- 2021, 2022, 2023, 2025, 2027, 2029, 2031, 2033,
- 2035, 2037, 2039, 2041, 2043, 2045, 2047, 2049,
- 2051, 2053, 2055, 2057, 2059, 2061, 2063, 2065,
- 2067, 2069, 2071, 2073, 2075, 2077, 2079, 2081,
- 2083, 2085, 2087, 2089, 2091, 2093, 2095, 2097,
- 2099, 2100, 2101, 2103, 2105, 2107, 2109, 2111,
- 2113, 2115, 2117, 2118, 2119, 2120, 2121, 2122,
- 2125, 2127, 2129, 2131, 2133, 2135, 2137, 2139,
- 2141, 2143, 2145, 2147, 2149, 2151, 2153, 2155,
- 2157, 2159, 2161, 2163, 2165, 2167, 2169, 2171,
- 2173, 2175, 2177, 2179, 2181, 2183, 2185, 2187,
- 2189, 2191, 2193, 2195, 2197, 2199, 2201, 2203,
- 2205, 2207, 2209, 2211, 2213, 2215, 2217, 2219,
- 2221, 2223, 2225, 2227, 2229, 2231, 2233, 2235,
- 2237, 2239, 2241, 2243, 2245, 2247, 2249, 2251,
- 2253, 2255, 2257, 2259, 2261, 2263, 2265, 2267,
- 2269, 2271, 2273, 2275, 2277, 2279, 2281, 2283,
- 2285, 2287, 2289, 2291, 2293, 2295, 2297, 2299,
- 2301, 2303, 2305, 2307, 2309, 2311, 2313, 2315,
- 2317, 2319, 2321, 2323, 2325, 2327, 2329, 2331,
- 2333, 2335, 2337, 2339, 2341, 2343, 2345, 2347,
- 2349, 2351, 2353, 2355, 2357, 2359, 2361, 2363,
- 2365, 2367, 2369, 2371, 2373, 2375, 2377, 2379,
- 2381, 2383, 2385, 2387, 2389, 2391, 2393, 2395,
- 2397, 2399, 2401, 2403, 2405, 2407, 2409, 2411,
- 2413, 2415, 2417, 2419, 2421, 2423, 2425, 2427,
- 2429, 2431, 2433, 2435, 2437, 2439, 2441, 2443,
- 2445, 2447, 2449, 2451, 2453, 2455, 2457, 2459,
- 2461, 2463, 2465, 2467, 2469, 2471, 2473, 2475,
- 2477, 2479, 2481, 2483, 2485, 2487, 2489, 2491,
- 2493, 2495, 2497, 2499, 2501, 2503, 2505, 2507,
- 2512, 2514, 2519, 2521, 2523, 2528, 2530, 2532,
- 2534, 2539, 2541, 2543, 2545, 2549, 2555, 2557,
- 2562, 2564, 2566, 2568, 2570, 2572, 2573, 2574,
- 2575, 2577, 2578, 2579, 2580, 2581, 2582, 2584,
- 2585, 2586, 2587, 2589, 2591, 2593, 2595, 2599,
- 2603, 2604, 2605, 2607, 2611, 2615, 2617, 2621,
- 2625, 2626, 2627, 2629, 2631, 2633, 2635, 2640,
- 2644, 2648, 2650, 2652, 2654, 2656, 2658, 2660,
- 2662, 2664, 2666, 2668, 2670, 2672, 2674, 2676,
- 2678, 2680, 2682, 2684, 2686, 2688, 2690, 2691,
- 2692, 2694, 2696, 2697, 2698, 2701, 2704, 2707,
- 2710, 2712, 2714, 2716, 2718, 2720, 2722, 2723,
- 2724, 2725, 2727, 2731, 2733, 2735, 2741, 2745,
- 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2756,
- 2758, 2760, 2764, 2766, 2768, 2770, 2772, 2774,
- 2776, 2778, 2780, 2782, 2784, 2786, 2788, 2790,
- 2792, 2793, 2796, 2799, 2802, 2805, 2810, 2815,
- 2820, 2825, 2828, 2831, 2834, 2837, 2839, 2841,
- 2843, 2845, 2847, 2849, 2851, 2852, 2854, 2856,
- 2858, 2860, 2862, 2863, 2864, 2865, 2869, 2873,
- 2875, 2879, 2883, 2887, 2891, 2895, 2897, 2901,
- 2903, 2905, 2907, 2909, 2911, 2913, 2915, 2917,
- 2918, 2920, 2922, 2924, 2926, 2928, 2930, 2932,
- 2934, 2935, 2936, 2937, 2938, 2939, 2940, 2941,
- 2942, 2943, 2945, 2947, 2949, 2951, 2953, 2955,
- 2956, 2957, 2958, 2960, 2962, 2964, 2966, 2968,
- 2970, 2971, 2972, 2973, 2974, 2977, 2980, 2982,
- 2985, 2986, 2987, 2989, 2990, 2992, 2993, 2994,
- 2996, 2998, 2999, 3000, 3001, 3002, 3003, 3006,
- 3011, 3016, 3021, 3026, 3029, 3034, 3039, 3041,
- 3043, 3045, 3047, 3048, 3049, 3051, 3053, 3055,
- 3057, 3059, 3061, 3063, 3064, 3065, 3066, 3067,
- 3068, 3069, 3074, 3079, 3080, 3081, 3082, 3083,
- 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091,
- 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099,
- 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107,
- 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115,
- 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123,
- 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131,
- 3132, 3133, 3134, 3135, 3136, 3137, 3138, 3139,
- 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147,
- 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155,
- 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163,
- 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171,
- 3172, 3173, 3174, 3175, 3176, 3177, 3178, 3179,
- 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187,
- 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195,
- 3196, 3197, 3198, 3199, 3200, 3201, 3202, 3203,
- 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211,
- 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219,
- 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227,
- 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235,
- 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243,
- 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251,
- 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3259,
- 3260, 3261, 3262, 3263, 3264, 3265, 3266, 3267,
- 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275,
- 3276, 3277, 3278, 3279, 3280, 3282, 3284, 3285,
- 3286, 3287, 3288, 3289, 3290, 3291, 3292, 3293,
- 3294, 3295, 3296, 3297, 3298, 3299, 3300, 3301,
- 3302, 3303, 3304, 3305, 3306, 3307, 3308, 3309,
- 3310, 3311, 3312, 3314, 3316, 3318, 3320, 3321,
- 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329,
- 3330, 3331, 3332, 3333, 3335, 3336, 3337, 3338,
- 3340, 3341, 3342, 3343, 3344, 3345, 3346, 3347,
- 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355,
- 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363,
- 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371,
- 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379,
- 3380, 3381, 3383, 3385, 3386, 3387, 3389, 3390,
- 3392, 3394, 3395, 3396, 3398, 3400, 3402, 3404,
- 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412,
- 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3420,
- 3421, 3422, 3423, 3424, 3425, 3426, 3427, 3428,
- 3431, 3434, 3435, 3436, 3437, 3438, 3439, 3440,
- 3442, 3444, 3446, 3447, 3448, 3449, 3450, 3451,
- 3452, 3454, 3455, 3456, 3457, 3458, 3459, 3460,
- 3461, 3462, 3464, 3466, 3467, 3468, 3469, 3470,
- 3471, 3472, 3473, 3474, 3475, 3476, 3479, 3482,
- 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490,
- 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498,
- 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506,
- 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514,
- 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522,
- 3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530,
- 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538,
- 3539, 3540, 3543, 3545, 3548, 3551, 3553, 3556,
- 3559, 3562, 3565, 3566, 3569, 3570, 3571, 3572,
- 3573, 3574, 3578, 3580, 3583, 3584, 3585, 3586,
- 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594,
- 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602,
- 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610,
- 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3618,
- 3619, 3620, 3621, 3622, 3623, 3624, 3625, 3626,
- 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634,
- 3636, 3637, 3638, 3639, 3640, 3641, 3642, 3643,
- 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651,
- 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659,
- 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667,
- 3668, 3669, 3670, 3671, 3672, 3673, 3674, 3675,
- 3678, 3681, 3684, 3687, 3690, 3693, 3696, 3699,
- 3702, 3705, 3708, 3711, 3714, 3717, 3720, 3721,
- 3722, 3723, 3724, 3726, 3727, 3728, 3729, 3730,
- 3731, 3732, 3733, 3734, 3735, 3736, 3737, 3738,
- 3739, 3740, 3741, 3742, 3743, 3744, 3745, 3746,
- 3747, 3748, 3749, 3750, 3751, 3752, 3753, 3754,
- 3755, 3756, 3757, 3758, 3759, 3760, 3761, 3762,
- 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770,
- 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778,
- 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786,
- 3787, 3790, 3793, 3794, 3795, 3796, 3797, 3798,
- 3799, 3800, 3801, 3802, 3803, 3804, 3805, 3806,
- 3807, 3808, 3809, 3810, 3811, 3812, 3813, 3814,
- 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3822,
- 3823, 3824, 3825, 3826, 3827, 3828, 3829, 3830,
- 3831, 3832, 3833, 3834, 3835, 3836, 3837, 3838,
- 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3846,
- 3847, 3848, 3849, 3850, 3851, 3852, 3853, 3854,
- 3855, 3858, 3861, 3864, 3865, 3866, 3867, 3868,
- 3869, 3870, 3871, 3872, 3873, 3874, 3875, 3876,
- 3877, 3878, 3879, 3880, 3883, 3886, 3887, 3888,
- 3891, 3892, 3893, 3894, 3895, 3898, 3901, 3904,
- 3905, 3906, 3907, 3908, 3909, 3910, 3911, 3912,
- 3913, 3914, 3916, 3917, 3918, 3919, 3921, 3922,
- 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930,
- 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3938,
- 3939, 3940, 3941, 3942, 3943, 3945, 3947, 3948,
- 3949, 3950, 3951, 3952, 3953, 3954, 3955, 3956,
- 3957, 3958, 3959, 3960, 3961, 3962, 3963, 3964,
- 3965, 3966, 3967, 3968, 3969, 3970, 3971, 3972,
- 3974, 3976, 3978, 3980, 3982, 3984, 3986, 3988,
- 3990, 3992, 3994, 3996, 3998, 4000, 4002, 4004,
- 4005, 4006, 4007, 4009, 4010, 4012, 4015, 4017,
- 4018, 4019, 4021, 4023, 4024, 4025, 4026, 4027,
- 4028, 4029, 4031, 4033, 4035, 4037, 4038, 4039,
- 4040, 4041, 4042, 4043, 4044, 4045, 4046, 4048,
- 4050, 4051, 4053, 4055, 4056, 4061, 4063, 4065,
- 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4074,
- 4076, 4077, 4078, 4079, 4081, 4084, 4088, 4091,
- 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100,
- 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108,
- 4109, 4110, 4111, 4112, 4113, 4114, 4115, 4116,
- 4117, 4118, 4119, 4120, 4121, 4122, 4123, 4124,
- 4125, 4126, 4127, 4128, 4129, 4130, 4131, 4132,
- 4133, 4134, 4135, 4136, 4138, 4140, 4142, 4144,
- 4146, 4148, 4149, 4150, 4151, 4152, 4153, 4154,
- 4155, 4156, 4157, 4158, 4159, 4160, 4161, 4162,
- 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170,
- 4171, 4172, 4173, 4174, 4175, 4176, 4177, 4178,
- 4179, 4180, 4181, 4182, 4183, 4184, 4185, 4186,
- 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194,
- 4195, 4196, 4197, 4198, 4199, 4200, 4201, 4202,
- 4203, 4204, 4205, 4206, 4207, 4208, 4209, 4210,
- 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218,
- 4219, 4220, 4221, 4222, 4223, 4224, 4225, 4226,
- 4227, 4228, 4229, 4230, 4231, 4232, 4233, 4234,
- 4235, 4236, 4237, 4238, 4239, 4240, 4241, 4242,
- 4243, 4244, 4245, 4246, 4247, 4248, 4249, 4250,
- 4251, 4252, 4253, 4254, 4255, 4256, 4257, 4258,
- 4259, 4260, 4261, 4262, 4263, 4264, 4265, 4266,
- 4267, 4268, 4269, 4270, 4271, 4274, 4275, 4276,
- 4279, 4280, 4281, 4283, 4284, 4285, 4286, 4288,
- 4289, 4290, 4291, 4293, 4294, 4295, 4296, 4299,
- 4300, 4301, 4302, 4303, 4306, 4309, 4312, 4315,
- 4318, 4319, 4320, 4321, 4322, 4324, 4326, 4327,
- 4328, 4329, 4332, 4335, 4338, 4341, 4344, 4345,
- 4346, 4347, 4349, 4350, 4351, 4352, 4355, 4356,
- 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364,
- 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372,
- 4373, 4374, 4375, 4376, 4377, 4378, 4379, 4380,
- 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388,
- 4389, 4390, 4391, 4393, 4394, 4395, 4397, 4399,
- 4401, 4403, 4405, 4406, 4407, 4410, 4413, 4414,
- 4415, 4416, 4417, 4418, 4419, 4421, 4423, 4425,
- 4427, 4428, 4429, 4430, 4431, 4434, 4435, 4436,
- 4439, 4440, 4441, 4444, 4445, 4446, 4449, 4450,
- 4451, 4454, 4455, 4456, 4457, 4458, 4459, 4460,
- 4461, 4462, 4463, 4464, 4465, 4466, 4467, 4468,
- 4469, 4470, 4471, 4472, 4473, 4474, 4475, 4476,
- 4477, 4478, 4479, 4480, 4481, 4482, 4483, 4484,
- 4485, 4486, 4487, 4488, 4489, 4490, 4491, 4492,
- 4493, 4494, 4495, 4496, 4497, 4498, 4501, 4502,
- 4503, 4506, 4507, 4508, 4509, 4510, 4511, 4512,
- 4515, 4518, 4519, 4520, 4521, 4522, 4523, 4524,
- 4525, 4526, 4527, 4528, 4529, 4530, 4531, 4532,
- 4533, 4534, 4535, 4536, 4538, 4539, 4540, 4541,
- 4542
+ 994, 996, 998, 1000, 1002, 1004, 1006, 1008,
+ 1010, 1012, 1014, 1016, 1018, 1020, 1022, 1024,
+ 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040,
+ 1042, 1044, 1046, 1048, 1050, 1052, 1054, 1056,
+ 1058, 1060, 1062, 1064, 1066, 1068, 1070, 1072,
+ 1074, 1076, 1078, 1080, 1082, 1084, 1086, 1088,
+ 1090, 1092, 1094, 1096, 1098, 1100, 1102, 1104,
+ 1106, 1108, 1110, 1112, 1114, 1116, 1118, 1120,
+ 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128,
+ 1129, 1130, 1131, 1132, 1135, 1138, 1141, 1144,
+ 1147, 1150, 1151, 1152, 1153, 1154, 1155, 1156,
+ 1162, 1172, 1176, 1180, 1184, 1188, 1192, 1195,
+ 1199, 1203, 1207, 1211, 1215, 1218, 1221, 1224,
+ 1227, 1230, 1233, 1236, 1239, 1243, 1247, 1251,
+ 1254, 1262, 1268, 1276, 1284, 1290, 1298, 1304,
+ 1312, 1316, 1320, 1323, 1327, 1331, 1335, 1339,
+ 1343, 1347, 1351, 1354, 1358, 1362, 1365, 1368,
+ 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1384,
+ 1386, 1388, 1390, 1392, 1395, 1398, 1401, 1404,
+ 1406, 1408, 1410, 1412, 1414, 1416, 1418, 1420,
+ 1422, 1424, 1426, 1428, 1430, 1432, 1434, 1436,
+ 1438, 1440, 1442, 1443, 1444, 1450, 1452, 1453,
+ 1455, 1457, 1458, 1460, 1462, 1465, 1467, 1470,
+ 1472, 1474, 1475, 1477, 1480, 1482, 1486, 1490,
+ 1499, 1505, 1509, 1513, 1517, 1521, 1524, 1528,
+ 1529, 1530, 1531, 1532, 1536, 1537, 1540, 1543,
+ 1546, 1549, 1550, 1552, 1554, 1556, 1558, 1560,
+ 1562, 1564, 1567, 1570, 1573, 1576, 1579, 1582,
+ 1585, 1588, 1591, 1594, 1597, 1600, 1603, 1606,
+ 1609, 1612, 1614, 1616, 1618, 1620, 1622, 1624,
+ 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640,
+ 1642, 1644, 1646, 1648, 1651, 1654, 1660, 1663,
+ 1668, 1673, 1675, 1678, 1683, 1686, 1689, 1692,
+ 1695, 1698, 1701, 1704, 1706, 1709, 1711, 1712,
+ 1715, 1717, 1719, 1721, 1724, 1726, 1727, 1729,
+ 1732, 1734, 1736, 1738, 1740, 1741, 1742, 1746,
+ 1748, 1751, 1754, 1757, 1760, 1763, 1766, 1768,
+ 1770, 1772, 1774, 1776, 1778, 1781, 1784, 1786,
+ 1788, 1790, 1791, 1792, 1795, 1797, 1798, 1799,
+ 1800, 1801, 1802, 1803, 1805, 1807, 1808, 1809,
+ 1810, 1811, 1814, 1817, 1820, 1823, 1826, 1829,
+ 1832, 1835, 1838, 1842, 1846, 1850, 1853, 1856,
+ 1859, 1863, 1867, 1871, 1874, 1876, 1878, 1882,
+ 1886, 1888, 1890, 1894, 1896, 1898, 1900, 1903,
+ 1907, 1909, 1911, 1917, 1920, 1923, 1925, 1931,
+ 1934, 1937, 1940, 1942, 1944, 1947, 1950, 1952,
+ 1954, 1957, 1960, 1963, 1965, 1967, 1969, 1971,
+ 1973, 1975, 1977, 1979, 1981, 1983, 1986, 1988,
+ 1990, 1993, 1995, 1998, 2000, 2002, 2006, 2010,
+ 2012, 2014, 2018, 2019, 2020, 2021, 2022, 2023,
+ 2024, 2025, 2026, 2028, 2030, 2032, 2034, 2036,
+ 2038, 2040, 2042, 2044, 2046, 2048, 2050, 2052,
+ 2054, 2056, 2058, 2060, 2062, 2064, 2066, 2068,
+ 2070, 2072, 2074, 2076, 2078, 2080, 2082, 2084,
+ 2086, 2088, 2090, 2092, 2094, 2096, 2098, 2100,
+ 2102, 2103, 2104, 2106, 2108, 2110, 2112, 2114,
+ 2116, 2118, 2120, 2121, 2122, 2123, 2124, 2125,
+ 2128, 2130, 2132, 2134, 2136, 2138, 2140, 2142,
+ 2144, 2146, 2148, 2150, 2152, 2154, 2156, 2158,
+ 2160, 2162, 2164, 2166, 2168, 2170, 2172, 2174,
+ 2176, 2178, 2180, 2182, 2184, 2186, 2188, 2190,
+ 2192, 2194, 2196, 2198, 2200, 2202, 2204, 2206,
+ 2208, 2210, 2212, 2214, 2216, 2218, 2220, 2222,
+ 2224, 2226, 2228, 2230, 2232, 2234, 2236, 2238,
+ 2240, 2242, 2244, 2246, 2248, 2250, 2252, 2254,
+ 2256, 2258, 2260, 2262, 2264, 2266, 2268, 2270,
+ 2272, 2274, 2276, 2278, 2280, 2282, 2284, 2286,
+ 2288, 2290, 2292, 2294, 2296, 2298, 2300, 2302,
+ 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318,
+ 2320, 2322, 2324, 2326, 2328, 2330, 2332, 2334,
+ 2336, 2338, 2340, 2342, 2344, 2346, 2348, 2350,
+ 2352, 2354, 2356, 2358, 2360, 2362, 2364, 2366,
+ 2368, 2370, 2372, 2374, 2376, 2378, 2380, 2382,
+ 2384, 2386, 2388, 2390, 2392, 2394, 2396, 2398,
+ 2400, 2402, 2404, 2406, 2408, 2410, 2412, 2414,
+ 2416, 2418, 2420, 2422, 2424, 2426, 2428, 2430,
+ 2432, 2434, 2436, 2438, 2440, 2442, 2444, 2446,
+ 2448, 2450, 2452, 2454, 2456, 2458, 2460, 2462,
+ 2464, 2466, 2468, 2470, 2472, 2474, 2476, 2478,
+ 2480, 2482, 2484, 2486, 2488, 2490, 2492, 2494,
+ 2496, 2498, 2500, 2502, 2504, 2506, 2508, 2510,
+ 2515, 2517, 2522, 2524, 2526, 2531, 2533, 2535,
+ 2537, 2542, 2544, 2546, 2548, 2552, 2558, 2560,
+ 2565, 2567, 2569, 2571, 2573, 2575, 2576, 2577,
+ 2578, 2580, 2581, 2582, 2583, 2584, 2585, 2587,
+ 2588, 2589, 2590, 2592, 2594, 2596, 2598, 2602,
+ 2606, 2607, 2608, 2610, 2614, 2618, 2620, 2624,
+ 2628, 2629, 2630, 2632, 2634, 2636, 2638, 2643,
+ 2647, 2651, 2653, 2655, 2657, 2659, 2661, 2663,
+ 2665, 2667, 2669, 2671, 2673, 2675, 2677, 2679,
+ 2681, 2683, 2685, 2687, 2689, 2691, 2693, 2694,
+ 2695, 2697, 2699, 2700, 2701, 2704, 2707, 2710,
+ 2713, 2715, 2717, 2719, 2721, 2723, 2725, 2726,
+ 2727, 2728, 2730, 2734, 2736, 2738, 2744, 2748,
+ 2749, 2750, 2751, 2752, 2753, 2754, 2755, 2759,
+ 2761, 2763, 2767, 2769, 2771, 2773, 2775, 2777,
+ 2779, 2781, 2783, 2785, 2787, 2789, 2791, 2793,
+ 2795, 2796, 2799, 2802, 2805, 2808, 2813, 2818,
+ 2823, 2828, 2831, 2834, 2837, 2840, 2842, 2844,
+ 2846, 2848, 2850, 2852, 2854, 2855, 2857, 2859,
+ 2861, 2863, 2865, 2866, 2867, 2868, 2872, 2876,
+ 2878, 2882, 2886, 2890, 2894, 2898, 2900, 2904,
+ 2906, 2908, 2910, 2912, 2914, 2916, 2918, 2920,
+ 2921, 2923, 2925, 2927, 2929, 2931, 2933, 2935,
+ 2937, 2938, 2939, 2940, 2941, 2942, 2943, 2944,
+ 2945, 2946, 2948, 2950, 2952, 2954, 2956, 2958,
+ 2959, 2960, 2961, 2963, 2965, 2967, 2969, 2971,
+ 2973, 2974, 2975, 2976, 2977, 2980, 2983, 2985,
+ 2988, 2989, 2990, 2992, 2993, 2995, 2996, 2997,
+ 2999, 3001, 3002, 3003, 3004, 3005, 3006, 3009,
+ 3014, 3019, 3024, 3029, 3032, 3037, 3042, 3044,
+ 3046, 3048, 3050, 3051, 3052, 3054, 3056, 3058,
+ 3060, 3062, 3064, 3066, 3067, 3068, 3069, 3070,
+ 3071, 3072, 3077, 3082, 3083, 3084, 3085, 3086,
+ 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094,
+ 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102,
+ 3103, 3104, 3105, 3106, 3107, 3108, 3109, 3110,
+ 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118,
+ 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126,
+ 3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134,
+ 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142,
+ 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150,
+ 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158,
+ 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166,
+ 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174,
+ 3175, 3176, 3177, 3178, 3179, 3180, 3181, 3182,
+ 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190,
+ 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198,
+ 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206,
+ 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214,
+ 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222,
+ 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230,
+ 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238,
+ 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246,
+ 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254,
+ 3255, 3256, 3257, 3258, 3259, 3260, 3261, 3262,
+ 3263, 3264, 3265, 3266, 3267, 3268, 3269, 3270,
+ 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278,
+ 3279, 3280, 3281, 3282, 3283, 3285, 3287, 3288,
+ 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296,
+ 3297, 3298, 3299, 3300, 3301, 3302, 3303, 3304,
+ 3305, 3306, 3307, 3308, 3309, 3310, 3311, 3312,
+ 3313, 3314, 3315, 3317, 3319, 3321, 3323, 3324,
+ 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332,
+ 3333, 3334, 3335, 3336, 3338, 3339, 3340, 3341,
+ 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350,
+ 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358,
+ 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366,
+ 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374,
+ 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382,
+ 3383, 3384, 3386, 3388, 3389, 3390, 3392, 3393,
+ 3395, 3397, 3398, 3399, 3401, 3403, 3405, 3407,
+ 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415,
+ 3416, 3417, 3418, 3419, 3420, 3421, 3422, 3423,
+ 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3431,
+ 3434, 3437, 3438, 3439, 3440, 3441, 3442, 3443,
+ 3445, 3447, 3449, 3450, 3451, 3452, 3453, 3454,
+ 3455, 3457, 3458, 3459, 3460, 3461, 3462, 3463,
+ 3464, 3465, 3467, 3469, 3470, 3471, 3472, 3473,
+ 3474, 3475, 3476, 3477, 3478, 3479, 3482, 3485,
+ 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493,
+ 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501,
+ 3502, 3503, 3504, 3505, 3506, 3507, 3508, 3509,
+ 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517,
+ 3518, 3519, 3520, 3521, 3522, 3523, 3524, 3525,
+ 3526, 3527, 3528, 3529, 3530, 3531, 3532, 3533,
+ 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541,
+ 3542, 3543, 3546, 3548, 3551, 3554, 3556, 3559,
+ 3562, 3565, 3568, 3569, 3572, 3573, 3574, 3575,
+ 3576, 3577, 3581, 3583, 3586, 3587, 3588, 3589,
+ 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597,
+ 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605,
+ 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613,
+ 3614, 3615, 3616, 3617, 3618, 3619, 3620, 3621,
+ 3622, 3623, 3624, 3625, 3626, 3627, 3628, 3629,
+ 3630, 3631, 3632, 3633, 3634, 3635, 3636, 3637,
+ 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646,
+ 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654,
+ 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662,
+ 3663, 3664, 3665, 3666, 3667, 3668, 3669, 3670,
+ 3671, 3672, 3673, 3674, 3675, 3676, 3677, 3678,
+ 3681, 3684, 3687, 3690, 3693, 3696, 3699, 3702,
+ 3705, 3708, 3711, 3714, 3717, 3720, 3723, 3724,
+ 3725, 3726, 3727, 3729, 3730, 3731, 3732, 3733,
+ 3734, 3735, 3736, 3737, 3738, 3739, 3740, 3741,
+ 3742, 3743, 3744, 3745, 3746, 3747, 3748, 3749,
+ 3750, 3751, 3752, 3753, 3754, 3755, 3756, 3757,
+ 3758, 3759, 3760, 3761, 3762, 3763, 3764, 3765,
+ 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773,
+ 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781,
+ 3782, 3783, 3784, 3785, 3786, 3787, 3788, 3789,
+ 3790, 3793, 3796, 3797, 3798, 3799, 3800, 3801,
+ 3802, 3803, 3804, 3805, 3806, 3807, 3808, 3809,
+ 3810, 3811, 3812, 3813, 3814, 3815, 3816, 3817,
+ 3818, 3819, 3820, 3821, 3822, 3823, 3824, 3825,
+ 3826, 3827, 3828, 3829, 3830, 3831, 3832, 3833,
+ 3834, 3835, 3836, 3837, 3838, 3839, 3840, 3841,
+ 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849,
+ 3850, 3851, 3852, 3853, 3854, 3855, 3856, 3857,
+ 3858, 3861, 3864, 3867, 3868, 3869, 3870, 3871,
+ 3872, 3873, 3874, 3875, 3876, 3877, 3878, 3879,
+ 3880, 3881, 3882, 3883, 3886, 3889, 3890, 3891,
+ 3894, 3895, 3896, 3897, 3898, 3901, 3904, 3907,
+ 3908, 3909, 3910, 3911, 3912, 3913, 3914, 3915,
+ 3916, 3917, 3919, 3920, 3921, 3922, 3924, 3925,
+ 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933,
+ 3934, 3935, 3936, 3937, 3938, 3939, 3940, 3941,
+ 3942, 3943, 3944, 3945, 3946, 3948, 3950, 3951,
+ 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959,
+ 3960, 3961, 3962, 3963, 3964, 3965, 3966, 3967,
+ 3968, 3969, 3970, 3971, 3972, 3973, 3974, 3975,
+ 3977, 3979, 3981, 3983, 3985, 3987, 3989, 3991,
+ 3993, 3995, 3997, 3999, 4001, 4003, 4005, 4007,
+ 4008, 4009, 4010, 4012, 4013, 4015, 4018, 4020,
+ 4021, 4022, 4024, 4026, 4027, 4028, 4029, 4030,
+ 4031, 4032, 4034, 4036, 4038, 4040, 4041, 4042,
+ 4043, 4044, 4045, 4046, 4047, 4048, 4049, 4051,
+ 4053, 4054, 4056, 4058, 4059, 4064, 4066, 4068,
+ 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4077,
+ 4079, 4080, 4081, 4082, 4084, 4087, 4091, 4094,
+ 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103,
+ 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111,
+ 4112, 4113, 4114, 4115, 4116, 4117, 4118, 4119,
+ 4120, 4121, 4122, 4123, 4124, 4125, 4126, 4127,
+ 4128, 4129, 4130, 4131, 4132, 4133, 4134, 4135,
+ 4136, 4137, 4138, 4139, 4141, 4143, 4145, 4147,
+ 4149, 4151, 4152, 4153, 4154, 4155, 4156, 4157,
+ 4158, 4159, 4160, 4161, 4162, 4163, 4164, 4165,
+ 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173,
+ 4174, 4175, 4176, 4177, 4178, 4179, 4180, 4181,
+ 4182, 4183, 4184, 4185, 4186, 4187, 4188, 4189,
+ 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197,
+ 4198, 4199, 4200, 4201, 4202, 4203, 4204, 4205,
+ 4206, 4207, 4208, 4209, 4210, 4211, 4212, 4213,
+ 4214, 4215, 4216, 4217, 4218, 4219, 4220, 4221,
+ 4222, 4223, 4224, 4225, 4226, 4227, 4228, 4229,
+ 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237,
+ 4238, 4239, 4240, 4241, 4242, 4243, 4244, 4245,
+ 4246, 4247, 4248, 4249, 4250, 4251, 4252, 4253,
+ 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4261,
+ 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269,
+ 4270, 4271, 4272, 4273, 4274, 4277, 4278, 4279,
+ 4282, 4283, 4284, 4286, 4287, 4288, 4289, 4291,
+ 4292, 4293, 4294, 4296, 4297, 4298, 4299, 4302,
+ 4303, 4304, 4305, 4306, 4309, 4312, 4315, 4318,
+ 4321, 4322, 4323, 4324, 4325, 4327, 4329, 4330,
+ 4331, 4332, 4335, 4338, 4341, 4344, 4347, 4348,
+ 4349, 4350, 4352, 4353, 4354, 4355, 4358, 4359,
+ 4360, 4361, 4362, 4363, 4364, 4365, 4366, 4367,
+ 4368, 4369, 4370, 4371, 4372, 4373, 4374, 4375,
+ 4376, 4377, 4378, 4379, 4380, 4381, 4382, 4383,
+ 4384, 4385, 4386, 4387, 4388, 4389, 4390, 4391,
+ 4392, 4393, 4394, 4396, 4397, 4398, 4400, 4402,
+ 4404, 4406, 4408, 4409, 4410, 4413, 4416, 4417,
+ 4418, 4419, 4420, 4421, 4422, 4424, 4426, 4428,
+ 4430, 4431, 4432, 4433, 4434, 4437, 4438, 4439,
+ 4442, 4443, 4444, 4447, 4448, 4449, 4452, 4453,
+ 4454, 4457, 4458, 4459, 4460, 4461, 4462, 4463,
+ 4464, 4465, 4466, 4467, 4468, 4469, 4470, 4471,
+ 4472, 4473, 4474, 4475, 4476, 4477, 4478, 4479,
+ 4480, 4481, 4482, 4483, 4484, 4485, 4486, 4487,
+ 4488, 4489, 4490, 4491, 4492, 4493, 4494, 4495,
+ 4496, 4497, 4498, 4499, 4500, 4501, 4504, 4505,
+ 4506, 4509, 4510, 4511, 4512, 4513, 4514, 4515,
+ 4518, 4521, 4522, 4523, 4524, 4525, 4526, 4527,
+ 4528, 4529, 4530, 4531, 4532, 4533, 4534, 4535,
+ 4536, 4537, 4538, 4539, 4541, 4542, 4543, 4544,
+ 4545
};
/* i386 mnemonics table. */
@@ -50467,11 +50491,11 @@ static const reg_entry i386_regtab[] =
0, 0, 0, 0, 0, 0 } },
0, 7, { Dw2Inval, Dw2Inval } },
{ "axl",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex64, 0, { Dw2Inval, Dw2Inval } },
{ "cxl",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ { { 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex64, 1, { Dw2Inval, Dw2Inval } },
{ "dxl",
@@ -50979,35 +51003,35 @@ static const reg_entry i386_regtab[] =
0, 0, 0, 0, 0, 0 } },
RegRex2|RegRex, 7, { Dw2Inval, 145 } },
{ "k0",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { 93, 118 } },
{ "k1",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { 94, 119 } },
{ "k2",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { 95, 120 } },
{ "k3",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { 96, 121 } },
{ "k4",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 4, { 97, 122 } },
{ "k5",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 5, { 98, 123 } },
{ "k6",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 6, { 99, 124 } },
{ "k7",
- { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 7, { 100, 125 } },
{ "es",
@@ -51039,691 +51063,691 @@ static const reg_entry i386_regtab[] =
0, 0, 0, 0, 0, 0 } },
0, RegFlat, { Dw2Inval, Dw2Inval } },
{ "cr0",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { Dw2Inval, Dw2Inval } },
{ "cr1",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { Dw2Inval, Dw2Inval } },
{ "cr2",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { Dw2Inval, Dw2Inval } },
{ "cr3",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { Dw2Inval, Dw2Inval } },
{ "cr4",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 4, { Dw2Inval, Dw2Inval } },
{ "cr5",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 5, { Dw2Inval, Dw2Inval } },
{ "cr6",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 6, { Dw2Inval, Dw2Inval } },
{ "cr7",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 7, { Dw2Inval, Dw2Inval } },
{ "cr8",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 0, { Dw2Inval, Dw2Inval } },
{ "cr9",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 1, { Dw2Inval, Dw2Inval } },
{ "cr10",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 2, { Dw2Inval, Dw2Inval } },
{ "cr11",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 3, { Dw2Inval, Dw2Inval } },
{ "cr12",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 4, { Dw2Inval, Dw2Inval } },
{ "cr13",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 5, { Dw2Inval, Dw2Inval } },
{ "cr14",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 6, { Dw2Inval, Dw2Inval } },
{ "cr15",
- { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 7, { Dw2Inval, Dw2Inval } },
{ "db0",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { Dw2Inval, Dw2Inval } },
{ "db1",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { Dw2Inval, Dw2Inval } },
{ "db2",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { Dw2Inval, Dw2Inval } },
{ "db3",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { Dw2Inval, Dw2Inval } },
{ "db4",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 4, { Dw2Inval, Dw2Inval } },
{ "db5",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 5, { Dw2Inval, Dw2Inval } },
{ "db6",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 6, { Dw2Inval, Dw2Inval } },
{ "db7",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 7, { Dw2Inval, Dw2Inval } },
{ "db8",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 0, { Dw2Inval, Dw2Inval } },
{ "db9",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 1, { Dw2Inval, Dw2Inval } },
{ "db10",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 2, { Dw2Inval, Dw2Inval } },
{ "db11",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 3, { Dw2Inval, Dw2Inval } },
{ "db12",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 4, { Dw2Inval, Dw2Inval } },
{ "db13",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 5, { Dw2Inval, Dw2Inval } },
{ "db14",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 6, { Dw2Inval, Dw2Inval } },
{ "db15",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 7, { Dw2Inval, Dw2Inval } },
{ "dr0",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { Dw2Inval, Dw2Inval } },
{ "dr1",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { Dw2Inval, Dw2Inval } },
{ "dr2",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { Dw2Inval, Dw2Inval } },
{ "dr3",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { Dw2Inval, Dw2Inval } },
{ "dr4",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 4, { Dw2Inval, Dw2Inval } },
{ "dr5",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 5, { Dw2Inval, Dw2Inval } },
{ "dr6",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 6, { Dw2Inval, Dw2Inval } },
{ "dr7",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 7, { Dw2Inval, Dw2Inval } },
{ "dr8",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 0, { Dw2Inval, Dw2Inval } },
{ "dr9",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 1, { Dw2Inval, Dw2Inval } },
{ "dr10",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 2, { Dw2Inval, Dw2Inval } },
{ "dr11",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 3, { Dw2Inval, Dw2Inval } },
{ "dr12",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 4, { Dw2Inval, Dw2Inval } },
{ "dr13",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 5, { Dw2Inval, Dw2Inval } },
{ "dr14",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 6, { Dw2Inval, Dw2Inval } },
{ "dr15",
- { { 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
RegRex, 7, { Dw2Inval, Dw2Inval } },
{ "tr0",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { Dw2Inval, Dw2Inval } },
{ "tr1",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { Dw2Inval, Dw2Inval } },
{ "tr2",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { Dw2Inval, Dw2Inval } },
{ "tr3",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { Dw2Inval, Dw2Inval } },
{ "tr4",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 4, { Dw2Inval, Dw2Inval } },
{ "tr5",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 5, { Dw2Inval, Dw2Inval } },
{ "tr6",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 6, { Dw2Inval, Dw2Inval } },
{ "tr7",
- { { 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 7, { Dw2Inval, Dw2Inval } },
{ "mm0",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { 29, 41 } },
{ "mm1",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { 30, 42 } },
{ "mm2",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { 31, 43 } },
{ "mm3",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { 32, 44 } },
{ "mm4",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 4, { 33, 45 } },
{ "mm5",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 5, { 34, 46 } },
{ "mm6",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 6, { 35, 47 } },
{ "mm7",
- { { 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 7, { 36, 48 } },
{ "xmm0",
- { { 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 0, { 21, 17 } },
{ "xmm1",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 1, { 22, 18 } },
{ "xmm2",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 2, { 23, 19 } },
{ "xmm3",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 3, { 24, 20 } },
{ "xmm4",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 4, { 25, 21 } },
{ "xmm5",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 5, { 26, 22 } },
{ "xmm6",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 6, { 27, 23 } },
{ "xmm7",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
0, 7, { 28, 24 } },
{ "xmm8",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 0, { Dw2Inval, 25 } },
{ "xmm9",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 1, { Dw2Inval, 26 } },
{ "xmm10",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 2, { Dw2Inval, 27 } },
{ "xmm11",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 3, { Dw2Inval, 28 } },
{ "xmm12",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 4, { Dw2Inval, 29 } },
{ "xmm13",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 5, { Dw2Inval, 30 } },
{ "xmm14",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 6, { Dw2Inval, 31 } },
{ "xmm15",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegRex, 7, { Dw2Inval, 32 } },
{ "xmm16",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 0, { Dw2Inval, 67 } },
{ "xmm17",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 1, { Dw2Inval, 68 } },
{ "xmm18",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 2, { Dw2Inval, 69 } },
{ "xmm19",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 3, { Dw2Inval, 70 } },
{ "xmm20",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 4, { Dw2Inval, 71 } },
{ "xmm21",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 5, { Dw2Inval, 72 } },
{ "xmm22",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 6, { Dw2Inval, 73 } },
{ "xmm23",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex, 7, { Dw2Inval, 74 } },
{ "xmm24",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 0, { Dw2Inval, 75 } },
{ "xmm25",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 1, { Dw2Inval, 76 } },
{ "xmm26",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 2, { Dw2Inval, 77 } },
{ "xmm27",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 3, { Dw2Inval, 78 } },
{ "xmm28",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 4, { Dw2Inval, 79 } },
{ "xmm29",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 5, { Dw2Inval, 80 } },
{ "xmm30",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 6, { Dw2Inval, 81 } },
{ "xmm31",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0, 0, 0 } },
RegVRex|RegRex, 7, { Dw2Inval, 82 } },
{ "ymm0",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 0, { 21, 17 } },
{ "ymm1",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 1, { 22, 18 } },
{ "ymm2",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 2, { 23, 19 } },
{ "ymm3",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 3, { 24, 20 } },
{ "ymm4",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 4, { 25, 21 } },
{ "ymm5",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 5, { 26, 22 } },
{ "ymm6",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 6, { 27, 23 } },
{ "ymm7",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
0, 7, { 28, 24 } },
{ "ymm8",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 0, { Dw2Inval, 25 } },
{ "ymm9",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 1, { Dw2Inval, 26 } },
{ "ymm10",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 2, { Dw2Inval, 27 } },
{ "ymm11",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 3, { Dw2Inval, 28 } },
{ "ymm12",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 4, { Dw2Inval, 29 } },
{ "ymm13",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 5, { Dw2Inval, 30 } },
{ "ymm14",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 6, { Dw2Inval, 31 } },
{ "ymm15",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegRex, 7, { Dw2Inval, 32 } },
{ "ymm16",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 0, { Dw2Inval, 67 } },
{ "ymm17",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 1, { Dw2Inval, 68 } },
{ "ymm18",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 2, { Dw2Inval, 69 } },
{ "ymm19",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 3, { Dw2Inval, 70 } },
{ "ymm20",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 4, { Dw2Inval, 71 } },
{ "ymm21",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 5, { Dw2Inval, 72 } },
{ "ymm22",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 6, { Dw2Inval, 73 } },
{ "ymm23",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex, 7, { Dw2Inval, 74 } },
{ "ymm24",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 0, { Dw2Inval, 75 } },
{ "ymm25",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 1, { Dw2Inval, 76 } },
{ "ymm26",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 2, { Dw2Inval, 77 } },
{ "ymm27",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 3, { Dw2Inval, 78 } },
{ "ymm28",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 4, { Dw2Inval, 79 } },
{ "ymm29",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 5, { Dw2Inval, 80 } },
{ "ymm30",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 6, { Dw2Inval, 81 } },
{ "ymm31",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0 } },
RegVRex|RegRex, 7, { Dw2Inval, 82 } },
{ "zmm0",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 0, { 21, 17 } },
{ "zmm1",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 1, { 22, 18 } },
{ "zmm2",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 2, { 23, 19 } },
{ "zmm3",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 3, { 24, 20 } },
{ "zmm4",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 4, { 25, 21 } },
{ "zmm5",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 5, { 26, 22 } },
{ "zmm6",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 6, { 27, 23 } },
{ "zmm7",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
0, 7, { 28, 24 } },
{ "zmm8",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 0, { Dw2Inval, 25 } },
{ "zmm9",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 1, { Dw2Inval, 26 } },
{ "zmm10",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 2, { Dw2Inval, 27 } },
{ "zmm11",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 3, { Dw2Inval, 28 } },
{ "zmm12",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 4, { Dw2Inval, 29 } },
{ "zmm13",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 5, { Dw2Inval, 30 } },
{ "zmm14",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 6, { Dw2Inval, 31 } },
{ "zmm15",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegRex, 7, { Dw2Inval, 32 } },
{ "zmm16",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 0, { Dw2Inval, 67 } },
{ "zmm17",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 1, { Dw2Inval, 68 } },
{ "zmm18",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 2, { Dw2Inval, 69 } },
{ "zmm19",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 3, { Dw2Inval, 70 } },
{ "zmm20",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 4, { Dw2Inval, 71 } },
{ "zmm21",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 5, { Dw2Inval, 72 } },
{ "zmm22",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 6, { Dw2Inval, 73 } },
{ "zmm23",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex, 7, { Dw2Inval, 74 } },
{ "zmm24",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 0, { Dw2Inval, 75 } },
{ "zmm25",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 1, { Dw2Inval, 76 } },
{ "zmm26",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 2, { Dw2Inval, 77 } },
{ "zmm27",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 3, { Dw2Inval, 78 } },
{ "zmm28",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 4, { Dw2Inval, 79 } },
{ "zmm29",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 5, { Dw2Inval, 80 } },
{ "zmm30",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 6, { Dw2Inval, 81 } },
{ "zmm31",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1, 0, 0, 0 } },
RegVRex|RegRex, 7, { Dw2Inval, 82 } },
{ "tmm0",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 0, { Dw2Inval, Dw2Inval } },
{ "tmm1",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 1, { Dw2Inval, Dw2Inval } },
{ "tmm2",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 2, { Dw2Inval, Dw2Inval } },
{ "tmm3",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 3, { Dw2Inval, Dw2Inval } },
{ "tmm4",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 4, { Dw2Inval, Dw2Inval } },
{ "tmm5",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 5, { Dw2Inval, Dw2Inval } },
{ "tmm6",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 6, { Dw2Inval, Dw2Inval } },
{ "tmm7",
- { { 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 0, 0 } },
0, 7, { Dw2Inval, Dw2Inval } },
{ "bnd0",
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 0, { Dw2Inval, 126 } },
{ "bnd1",
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 1, { Dw2Inval, 127 } },
{ "bnd2",
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 2, { Dw2Inval, 128 } },
{ "bnd3",
- { { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ { { 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } },
0, 3, { Dw2Inval, 129 } },
{ "rip",
@@ -51743,35 +51767,35 @@ static const reg_entry i386_regtab[] =
0, 0, 0, 0, 0, 0 } },
0, RegIZ, { Dw2Inval, Dw2Inval } },
{ "st",
- { { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 0, { 11, 33 } },
{ "st(1)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 1, { 12, 34 } },
{ "st(2)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 2, { 13, 35 } },
{ "st(3)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 3, { 14, 36 } },
{ "st(4)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 4, { 15, 37 } },
{ "st(5)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 5, { 16, 38 } },
{ "st(6)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 6, { 17, 39 } },
{ "st(7)",
- { { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+ { { 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
0, 0, 0, 0, 0, 0 } },
0, 7, { 18, 40 } },
{ "eflags",
diff --git a/opcodes/or1k-desc.c b/opcodes/or1k-desc.c
index 9b8aa08..90db200 100644
--- a/opcodes/or1k-desc.c
+++ b/opcodes/or1k-desc.c
@@ -302,6 +302,8 @@ const CGEN_HW_ENTRY or1k_cgen_hw_table[] =
{ "h-sys-esr13", HW_H_SYS_ESR13, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
{ "h-sys-esr14", HW_H_SYS_ESR14, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
{ "h-sys-esr15", HW_H_SYS_ESR15, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
+ { "h-sys-coreid", HW_H_SYS_COREID, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
+ { "h-sys-numcores", HW_H_SYS_NUMCORES, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
{ "h-sys-gpr0", HW_H_SYS_GPR0, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
{ "h-sys-gpr1", HW_H_SYS_GPR1, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
{ "h-sys-gpr2", HW_H_SYS_GPR2, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_OR32)|(1<<MACH_OR32ND), 0 } } } } },
diff --git a/opcodes/or1k-desc.h b/opcodes/or1k-desc.h
index 87e8c96..90426b2 100644
--- a/opcodes/or1k-desc.h
+++ b/opcodes/or1k-desc.h
@@ -94,135 +94,136 @@ typedef enum spr_reg_indices {
, SPR_INDEX_SYS_ESR3 = 67, SPR_INDEX_SYS_ESR4 = 68, SPR_INDEX_SYS_ESR5 = 69, SPR_INDEX_SYS_ESR6 = 70
, SPR_INDEX_SYS_ESR7 = 71, SPR_INDEX_SYS_ESR8 = 72, SPR_INDEX_SYS_ESR9 = 73, SPR_INDEX_SYS_ESR10 = 74
, SPR_INDEX_SYS_ESR11 = 75, SPR_INDEX_SYS_ESR12 = 76, SPR_INDEX_SYS_ESR13 = 77, SPR_INDEX_SYS_ESR14 = 78
- , SPR_INDEX_SYS_ESR15 = 79, SPR_INDEX_SYS_GPR0 = 1024, SPR_INDEX_SYS_GPR1 = 1025, SPR_INDEX_SYS_GPR2 = 1026
- , SPR_INDEX_SYS_GPR3 = 1027, SPR_INDEX_SYS_GPR4 = 1028, SPR_INDEX_SYS_GPR5 = 1029, SPR_INDEX_SYS_GPR6 = 1030
- , SPR_INDEX_SYS_GPR7 = 1031, SPR_INDEX_SYS_GPR8 = 1032, SPR_INDEX_SYS_GPR9 = 1033, SPR_INDEX_SYS_GPR10 = 1034
- , SPR_INDEX_SYS_GPR11 = 1035, SPR_INDEX_SYS_GPR12 = 1036, SPR_INDEX_SYS_GPR13 = 1037, SPR_INDEX_SYS_GPR14 = 1038
- , SPR_INDEX_SYS_GPR15 = 1039, SPR_INDEX_SYS_GPR16 = 1040, SPR_INDEX_SYS_GPR17 = 1041, SPR_INDEX_SYS_GPR18 = 1042
- , SPR_INDEX_SYS_GPR19 = 1043, SPR_INDEX_SYS_GPR20 = 1044, SPR_INDEX_SYS_GPR21 = 1045, SPR_INDEX_SYS_GPR22 = 1046
- , SPR_INDEX_SYS_GPR23 = 1047, SPR_INDEX_SYS_GPR24 = 1048, SPR_INDEX_SYS_GPR25 = 1049, SPR_INDEX_SYS_GPR26 = 1050
- , SPR_INDEX_SYS_GPR27 = 1051, SPR_INDEX_SYS_GPR28 = 1052, SPR_INDEX_SYS_GPR29 = 1053, SPR_INDEX_SYS_GPR30 = 1054
- , SPR_INDEX_SYS_GPR31 = 1055, SPR_INDEX_SYS_GPR32 = 1056, SPR_INDEX_SYS_GPR33 = 1057, SPR_INDEX_SYS_GPR34 = 1058
- , SPR_INDEX_SYS_GPR35 = 1059, SPR_INDEX_SYS_GPR36 = 1060, SPR_INDEX_SYS_GPR37 = 1061, SPR_INDEX_SYS_GPR38 = 1062
- , SPR_INDEX_SYS_GPR39 = 1063, SPR_INDEX_SYS_GPR40 = 1064, SPR_INDEX_SYS_GPR41 = 1065, SPR_INDEX_SYS_GPR42 = 1066
- , SPR_INDEX_SYS_GPR43 = 1067, SPR_INDEX_SYS_GPR44 = 1068, SPR_INDEX_SYS_GPR45 = 1069, SPR_INDEX_SYS_GPR46 = 1070
- , SPR_INDEX_SYS_GPR47 = 1071, SPR_INDEX_SYS_GPR48 = 1072, SPR_INDEX_SYS_GPR49 = 1073, SPR_INDEX_SYS_GPR50 = 1074
- , SPR_INDEX_SYS_GPR51 = 1075, SPR_INDEX_SYS_GPR52 = 1076, SPR_INDEX_SYS_GPR53 = 1077, SPR_INDEX_SYS_GPR54 = 1078
- , SPR_INDEX_SYS_GPR55 = 1079, SPR_INDEX_SYS_GPR56 = 1080, SPR_INDEX_SYS_GPR57 = 1081, SPR_INDEX_SYS_GPR58 = 1082
- , SPR_INDEX_SYS_GPR59 = 1083, SPR_INDEX_SYS_GPR60 = 1084, SPR_INDEX_SYS_GPR61 = 1085, SPR_INDEX_SYS_GPR62 = 1086
- , SPR_INDEX_SYS_GPR63 = 1087, SPR_INDEX_SYS_GPR64 = 1088, SPR_INDEX_SYS_GPR65 = 1089, SPR_INDEX_SYS_GPR66 = 1090
- , SPR_INDEX_SYS_GPR67 = 1091, SPR_INDEX_SYS_GPR68 = 1092, SPR_INDEX_SYS_GPR69 = 1093, SPR_INDEX_SYS_GPR70 = 1094
- , SPR_INDEX_SYS_GPR71 = 1095, SPR_INDEX_SYS_GPR72 = 1096, SPR_INDEX_SYS_GPR73 = 1097, SPR_INDEX_SYS_GPR74 = 1098
- , SPR_INDEX_SYS_GPR75 = 1099, SPR_INDEX_SYS_GPR76 = 1100, SPR_INDEX_SYS_GPR77 = 1101, SPR_INDEX_SYS_GPR78 = 1102
- , SPR_INDEX_SYS_GPR79 = 1103, SPR_INDEX_SYS_GPR80 = 1104, SPR_INDEX_SYS_GPR81 = 1105, SPR_INDEX_SYS_GPR82 = 1106
- , SPR_INDEX_SYS_GPR83 = 1107, SPR_INDEX_SYS_GPR84 = 1108, SPR_INDEX_SYS_GPR85 = 1109, SPR_INDEX_SYS_GPR86 = 1110
- , SPR_INDEX_SYS_GPR87 = 1111, SPR_INDEX_SYS_GPR88 = 1112, SPR_INDEX_SYS_GPR89 = 1113, SPR_INDEX_SYS_GPR90 = 1114
- , SPR_INDEX_SYS_GPR91 = 1115, SPR_INDEX_SYS_GPR92 = 1116, SPR_INDEX_SYS_GPR93 = 1117, SPR_INDEX_SYS_GPR94 = 1118
- , SPR_INDEX_SYS_GPR95 = 1119, SPR_INDEX_SYS_GPR96 = 1120, SPR_INDEX_SYS_GPR97 = 1121, SPR_INDEX_SYS_GPR98 = 1122
- , SPR_INDEX_SYS_GPR99 = 1123, SPR_INDEX_SYS_GPR100 = 1124, SPR_INDEX_SYS_GPR101 = 1125, SPR_INDEX_SYS_GPR102 = 1126
- , SPR_INDEX_SYS_GPR103 = 1127, SPR_INDEX_SYS_GPR104 = 1128, SPR_INDEX_SYS_GPR105 = 1129, SPR_INDEX_SYS_GPR106 = 1130
- , SPR_INDEX_SYS_GPR107 = 1131, SPR_INDEX_SYS_GPR108 = 1132, SPR_INDEX_SYS_GPR109 = 1133, SPR_INDEX_SYS_GPR110 = 1134
- , SPR_INDEX_SYS_GPR111 = 1135, SPR_INDEX_SYS_GPR112 = 1136, SPR_INDEX_SYS_GPR113 = 1137, SPR_INDEX_SYS_GPR114 = 1138
- , SPR_INDEX_SYS_GPR115 = 1139, SPR_INDEX_SYS_GPR116 = 1140, SPR_INDEX_SYS_GPR117 = 1141, SPR_INDEX_SYS_GPR118 = 1142
- , SPR_INDEX_SYS_GPR119 = 1143, SPR_INDEX_SYS_GPR120 = 1144, SPR_INDEX_SYS_GPR121 = 1145, SPR_INDEX_SYS_GPR122 = 1146
- , SPR_INDEX_SYS_GPR123 = 1147, SPR_INDEX_SYS_GPR124 = 1148, SPR_INDEX_SYS_GPR125 = 1149, SPR_INDEX_SYS_GPR126 = 1150
- , SPR_INDEX_SYS_GPR127 = 1151, SPR_INDEX_SYS_GPR128 = 1152, SPR_INDEX_SYS_GPR129 = 1153, SPR_INDEX_SYS_GPR130 = 1154
- , SPR_INDEX_SYS_GPR131 = 1155, SPR_INDEX_SYS_GPR132 = 1156, SPR_INDEX_SYS_GPR133 = 1157, SPR_INDEX_SYS_GPR134 = 1158
- , SPR_INDEX_SYS_GPR135 = 1159, SPR_INDEX_SYS_GPR136 = 1160, SPR_INDEX_SYS_GPR137 = 1161, SPR_INDEX_SYS_GPR138 = 1162
- , SPR_INDEX_SYS_GPR139 = 1163, SPR_INDEX_SYS_GPR140 = 1164, SPR_INDEX_SYS_GPR141 = 1165, SPR_INDEX_SYS_GPR142 = 1166
- , SPR_INDEX_SYS_GPR143 = 1167, SPR_INDEX_SYS_GPR144 = 1168, SPR_INDEX_SYS_GPR145 = 1169, SPR_INDEX_SYS_GPR146 = 1170
- , SPR_INDEX_SYS_GPR147 = 1171, SPR_INDEX_SYS_GPR148 = 1172, SPR_INDEX_SYS_GPR149 = 1173, SPR_INDEX_SYS_GPR150 = 1174
- , SPR_INDEX_SYS_GPR151 = 1175, SPR_INDEX_SYS_GPR152 = 1176, SPR_INDEX_SYS_GPR153 = 1177, SPR_INDEX_SYS_GPR154 = 1178
- , SPR_INDEX_SYS_GPR155 = 1179, SPR_INDEX_SYS_GPR156 = 1180, SPR_INDEX_SYS_GPR157 = 1181, SPR_INDEX_SYS_GPR158 = 1182
- , SPR_INDEX_SYS_GPR159 = 1183, SPR_INDEX_SYS_GPR160 = 1184, SPR_INDEX_SYS_GPR161 = 1185, SPR_INDEX_SYS_GPR162 = 1186
- , SPR_INDEX_SYS_GPR163 = 1187, SPR_INDEX_SYS_GPR164 = 1188, SPR_INDEX_SYS_GPR165 = 1189, SPR_INDEX_SYS_GPR166 = 1190
- , SPR_INDEX_SYS_GPR167 = 1191, SPR_INDEX_SYS_GPR168 = 1192, SPR_INDEX_SYS_GPR169 = 1193, SPR_INDEX_SYS_GPR170 = 1194
- , SPR_INDEX_SYS_GPR171 = 1195, SPR_INDEX_SYS_GPR172 = 1196, SPR_INDEX_SYS_GPR173 = 1197, SPR_INDEX_SYS_GPR174 = 1198
- , SPR_INDEX_SYS_GPR175 = 1199, SPR_INDEX_SYS_GPR176 = 1200, SPR_INDEX_SYS_GPR177 = 1201, SPR_INDEX_SYS_GPR178 = 1202
- , SPR_INDEX_SYS_GPR179 = 1203, SPR_INDEX_SYS_GPR180 = 1204, SPR_INDEX_SYS_GPR181 = 1205, SPR_INDEX_SYS_GPR182 = 1206
- , SPR_INDEX_SYS_GPR183 = 1207, SPR_INDEX_SYS_GPR184 = 1208, SPR_INDEX_SYS_GPR185 = 1209, SPR_INDEX_SYS_GPR186 = 1210
- , SPR_INDEX_SYS_GPR187 = 1211, SPR_INDEX_SYS_GPR188 = 1212, SPR_INDEX_SYS_GPR189 = 1213, SPR_INDEX_SYS_GPR190 = 1214
- , SPR_INDEX_SYS_GPR191 = 1215, SPR_INDEX_SYS_GPR192 = 1216, SPR_INDEX_SYS_GPR193 = 1217, SPR_INDEX_SYS_GPR194 = 1218
- , SPR_INDEX_SYS_GPR195 = 1219, SPR_INDEX_SYS_GPR196 = 1220, SPR_INDEX_SYS_GPR197 = 1221, SPR_INDEX_SYS_GPR198 = 1222
- , SPR_INDEX_SYS_GPR199 = 1223, SPR_INDEX_SYS_GPR200 = 1224, SPR_INDEX_SYS_GPR201 = 1225, SPR_INDEX_SYS_GPR202 = 1226
- , SPR_INDEX_SYS_GPR203 = 1227, SPR_INDEX_SYS_GPR204 = 1228, SPR_INDEX_SYS_GPR205 = 1229, SPR_INDEX_SYS_GPR206 = 1230
- , SPR_INDEX_SYS_GPR207 = 1231, SPR_INDEX_SYS_GPR208 = 1232, SPR_INDEX_SYS_GPR209 = 1233, SPR_INDEX_SYS_GPR210 = 1234
- , SPR_INDEX_SYS_GPR211 = 1235, SPR_INDEX_SYS_GPR212 = 1236, SPR_INDEX_SYS_GPR213 = 1237, SPR_INDEX_SYS_GPR214 = 1238
- , SPR_INDEX_SYS_GPR215 = 1239, SPR_INDEX_SYS_GPR216 = 1240, SPR_INDEX_SYS_GPR217 = 1241, SPR_INDEX_SYS_GPR218 = 1242
- , SPR_INDEX_SYS_GPR219 = 1243, SPR_INDEX_SYS_GPR220 = 1244, SPR_INDEX_SYS_GPR221 = 1245, SPR_INDEX_SYS_GPR222 = 1246
- , SPR_INDEX_SYS_GPR223 = 1247, SPR_INDEX_SYS_GPR224 = 1248, SPR_INDEX_SYS_GPR225 = 1249, SPR_INDEX_SYS_GPR226 = 1250
- , SPR_INDEX_SYS_GPR227 = 1251, SPR_INDEX_SYS_GPR228 = 1252, SPR_INDEX_SYS_GPR229 = 1253, SPR_INDEX_SYS_GPR230 = 1254
- , SPR_INDEX_SYS_GPR231 = 1255, SPR_INDEX_SYS_GPR232 = 1256, SPR_INDEX_SYS_GPR233 = 1257, SPR_INDEX_SYS_GPR234 = 1258
- , SPR_INDEX_SYS_GPR235 = 1259, SPR_INDEX_SYS_GPR236 = 1260, SPR_INDEX_SYS_GPR237 = 1261, SPR_INDEX_SYS_GPR238 = 1262
- , SPR_INDEX_SYS_GPR239 = 1263, SPR_INDEX_SYS_GPR240 = 1264, SPR_INDEX_SYS_GPR241 = 1265, SPR_INDEX_SYS_GPR242 = 1266
- , SPR_INDEX_SYS_GPR243 = 1267, SPR_INDEX_SYS_GPR244 = 1268, SPR_INDEX_SYS_GPR245 = 1269, SPR_INDEX_SYS_GPR246 = 1270
- , SPR_INDEX_SYS_GPR247 = 1271, SPR_INDEX_SYS_GPR248 = 1272, SPR_INDEX_SYS_GPR249 = 1273, SPR_INDEX_SYS_GPR250 = 1274
- , SPR_INDEX_SYS_GPR251 = 1275, SPR_INDEX_SYS_GPR252 = 1276, SPR_INDEX_SYS_GPR253 = 1277, SPR_INDEX_SYS_GPR254 = 1278
- , SPR_INDEX_SYS_GPR255 = 1279, SPR_INDEX_SYS_GPR256 = 1280, SPR_INDEX_SYS_GPR257 = 1281, SPR_INDEX_SYS_GPR258 = 1282
- , SPR_INDEX_SYS_GPR259 = 1283, SPR_INDEX_SYS_GPR260 = 1284, SPR_INDEX_SYS_GPR261 = 1285, SPR_INDEX_SYS_GPR262 = 1286
- , SPR_INDEX_SYS_GPR263 = 1287, SPR_INDEX_SYS_GPR264 = 1288, SPR_INDEX_SYS_GPR265 = 1289, SPR_INDEX_SYS_GPR266 = 1290
- , SPR_INDEX_SYS_GPR267 = 1291, SPR_INDEX_SYS_GPR268 = 1292, SPR_INDEX_SYS_GPR269 = 1293, SPR_INDEX_SYS_GPR270 = 1294
- , SPR_INDEX_SYS_GPR271 = 1295, SPR_INDEX_SYS_GPR272 = 1296, SPR_INDEX_SYS_GPR273 = 1297, SPR_INDEX_SYS_GPR274 = 1298
- , SPR_INDEX_SYS_GPR275 = 1299, SPR_INDEX_SYS_GPR276 = 1300, SPR_INDEX_SYS_GPR277 = 1301, SPR_INDEX_SYS_GPR278 = 1302
- , SPR_INDEX_SYS_GPR279 = 1303, SPR_INDEX_SYS_GPR280 = 1304, SPR_INDEX_SYS_GPR281 = 1305, SPR_INDEX_SYS_GPR282 = 1306
- , SPR_INDEX_SYS_GPR283 = 1307, SPR_INDEX_SYS_GPR284 = 1308, SPR_INDEX_SYS_GPR285 = 1309, SPR_INDEX_SYS_GPR286 = 1310
- , SPR_INDEX_SYS_GPR287 = 1311, SPR_INDEX_SYS_GPR288 = 1312, SPR_INDEX_SYS_GPR289 = 1313, SPR_INDEX_SYS_GPR290 = 1314
- , SPR_INDEX_SYS_GPR291 = 1315, SPR_INDEX_SYS_GPR292 = 1316, SPR_INDEX_SYS_GPR293 = 1317, SPR_INDEX_SYS_GPR294 = 1318
- , SPR_INDEX_SYS_GPR295 = 1319, SPR_INDEX_SYS_GPR296 = 1320, SPR_INDEX_SYS_GPR297 = 1321, SPR_INDEX_SYS_GPR298 = 1322
- , SPR_INDEX_SYS_GPR299 = 1323, SPR_INDEX_SYS_GPR300 = 1324, SPR_INDEX_SYS_GPR301 = 1325, SPR_INDEX_SYS_GPR302 = 1326
- , SPR_INDEX_SYS_GPR303 = 1327, SPR_INDEX_SYS_GPR304 = 1328, SPR_INDEX_SYS_GPR305 = 1329, SPR_INDEX_SYS_GPR306 = 1330
- , SPR_INDEX_SYS_GPR307 = 1331, SPR_INDEX_SYS_GPR308 = 1332, SPR_INDEX_SYS_GPR309 = 1333, SPR_INDEX_SYS_GPR310 = 1334
- , SPR_INDEX_SYS_GPR311 = 1335, SPR_INDEX_SYS_GPR312 = 1336, SPR_INDEX_SYS_GPR313 = 1337, SPR_INDEX_SYS_GPR314 = 1338
- , SPR_INDEX_SYS_GPR315 = 1339, SPR_INDEX_SYS_GPR316 = 1340, SPR_INDEX_SYS_GPR317 = 1341, SPR_INDEX_SYS_GPR318 = 1342
- , SPR_INDEX_SYS_GPR319 = 1343, SPR_INDEX_SYS_GPR320 = 1344, SPR_INDEX_SYS_GPR321 = 1345, SPR_INDEX_SYS_GPR322 = 1346
- , SPR_INDEX_SYS_GPR323 = 1347, SPR_INDEX_SYS_GPR324 = 1348, SPR_INDEX_SYS_GPR325 = 1349, SPR_INDEX_SYS_GPR326 = 1350
- , SPR_INDEX_SYS_GPR327 = 1351, SPR_INDEX_SYS_GPR328 = 1352, SPR_INDEX_SYS_GPR329 = 1353, SPR_INDEX_SYS_GPR330 = 1354
- , SPR_INDEX_SYS_GPR331 = 1355, SPR_INDEX_SYS_GPR332 = 1356, SPR_INDEX_SYS_GPR333 = 1357, SPR_INDEX_SYS_GPR334 = 1358
- , SPR_INDEX_SYS_GPR335 = 1359, SPR_INDEX_SYS_GPR336 = 1360, SPR_INDEX_SYS_GPR337 = 1361, SPR_INDEX_SYS_GPR338 = 1362
- , SPR_INDEX_SYS_GPR339 = 1363, SPR_INDEX_SYS_GPR340 = 1364, SPR_INDEX_SYS_GPR341 = 1365, SPR_INDEX_SYS_GPR342 = 1366
- , SPR_INDEX_SYS_GPR343 = 1367, SPR_INDEX_SYS_GPR344 = 1368, SPR_INDEX_SYS_GPR345 = 1369, SPR_INDEX_SYS_GPR346 = 1370
- , SPR_INDEX_SYS_GPR347 = 1371, SPR_INDEX_SYS_GPR348 = 1372, SPR_INDEX_SYS_GPR349 = 1373, SPR_INDEX_SYS_GPR350 = 1374
- , SPR_INDEX_SYS_GPR351 = 1375, SPR_INDEX_SYS_GPR352 = 1376, SPR_INDEX_SYS_GPR353 = 1377, SPR_INDEX_SYS_GPR354 = 1378
- , SPR_INDEX_SYS_GPR355 = 1379, SPR_INDEX_SYS_GPR356 = 1380, SPR_INDEX_SYS_GPR357 = 1381, SPR_INDEX_SYS_GPR358 = 1382
- , SPR_INDEX_SYS_GPR359 = 1383, SPR_INDEX_SYS_GPR360 = 1384, SPR_INDEX_SYS_GPR361 = 1385, SPR_INDEX_SYS_GPR362 = 1386
- , SPR_INDEX_SYS_GPR363 = 1387, SPR_INDEX_SYS_GPR364 = 1388, SPR_INDEX_SYS_GPR365 = 1389, SPR_INDEX_SYS_GPR366 = 1390
- , SPR_INDEX_SYS_GPR367 = 1391, SPR_INDEX_SYS_GPR368 = 1392, SPR_INDEX_SYS_GPR369 = 1393, SPR_INDEX_SYS_GPR370 = 1394
- , SPR_INDEX_SYS_GPR371 = 1395, SPR_INDEX_SYS_GPR372 = 1396, SPR_INDEX_SYS_GPR373 = 1397, SPR_INDEX_SYS_GPR374 = 1398
- , SPR_INDEX_SYS_GPR375 = 1399, SPR_INDEX_SYS_GPR376 = 1400, SPR_INDEX_SYS_GPR377 = 1401, SPR_INDEX_SYS_GPR378 = 1402
- , SPR_INDEX_SYS_GPR379 = 1403, SPR_INDEX_SYS_GPR380 = 1404, SPR_INDEX_SYS_GPR381 = 1405, SPR_INDEX_SYS_GPR382 = 1406
- , SPR_INDEX_SYS_GPR383 = 1407, SPR_INDEX_SYS_GPR384 = 1408, SPR_INDEX_SYS_GPR385 = 1409, SPR_INDEX_SYS_GPR386 = 1410
- , SPR_INDEX_SYS_GPR387 = 1411, SPR_INDEX_SYS_GPR388 = 1412, SPR_INDEX_SYS_GPR389 = 1413, SPR_INDEX_SYS_GPR390 = 1414
- , SPR_INDEX_SYS_GPR391 = 1415, SPR_INDEX_SYS_GPR392 = 1416, SPR_INDEX_SYS_GPR393 = 1417, SPR_INDEX_SYS_GPR394 = 1418
- , SPR_INDEX_SYS_GPR395 = 1419, SPR_INDEX_SYS_GPR396 = 1420, SPR_INDEX_SYS_GPR397 = 1421, SPR_INDEX_SYS_GPR398 = 1422
- , SPR_INDEX_SYS_GPR399 = 1423, SPR_INDEX_SYS_GPR400 = 1424, SPR_INDEX_SYS_GPR401 = 1425, SPR_INDEX_SYS_GPR402 = 1426
- , SPR_INDEX_SYS_GPR403 = 1427, SPR_INDEX_SYS_GPR404 = 1428, SPR_INDEX_SYS_GPR405 = 1429, SPR_INDEX_SYS_GPR406 = 1430
- , SPR_INDEX_SYS_GPR407 = 1431, SPR_INDEX_SYS_GPR408 = 1432, SPR_INDEX_SYS_GPR409 = 1433, SPR_INDEX_SYS_GPR410 = 1434
- , SPR_INDEX_SYS_GPR411 = 1435, SPR_INDEX_SYS_GPR412 = 1436, SPR_INDEX_SYS_GPR413 = 1437, SPR_INDEX_SYS_GPR414 = 1438
- , SPR_INDEX_SYS_GPR415 = 1439, SPR_INDEX_SYS_GPR416 = 1440, SPR_INDEX_SYS_GPR417 = 1441, SPR_INDEX_SYS_GPR418 = 1442
- , SPR_INDEX_SYS_GPR419 = 1443, SPR_INDEX_SYS_GPR420 = 1444, SPR_INDEX_SYS_GPR421 = 1445, SPR_INDEX_SYS_GPR422 = 1446
- , SPR_INDEX_SYS_GPR423 = 1447, SPR_INDEX_SYS_GPR424 = 1448, SPR_INDEX_SYS_GPR425 = 1449, SPR_INDEX_SYS_GPR426 = 1450
- , SPR_INDEX_SYS_GPR427 = 1451, SPR_INDEX_SYS_GPR428 = 1452, SPR_INDEX_SYS_GPR429 = 1453, SPR_INDEX_SYS_GPR430 = 1454
- , SPR_INDEX_SYS_GPR431 = 1455, SPR_INDEX_SYS_GPR432 = 1456, SPR_INDEX_SYS_GPR433 = 1457, SPR_INDEX_SYS_GPR434 = 1458
- , SPR_INDEX_SYS_GPR435 = 1459, SPR_INDEX_SYS_GPR436 = 1460, SPR_INDEX_SYS_GPR437 = 1461, SPR_INDEX_SYS_GPR438 = 1462
- , SPR_INDEX_SYS_GPR439 = 1463, SPR_INDEX_SYS_GPR440 = 1464, SPR_INDEX_SYS_GPR441 = 1465, SPR_INDEX_SYS_GPR442 = 1466
- , SPR_INDEX_SYS_GPR443 = 1467, SPR_INDEX_SYS_GPR444 = 1468, SPR_INDEX_SYS_GPR445 = 1469, SPR_INDEX_SYS_GPR446 = 1470
- , SPR_INDEX_SYS_GPR447 = 1471, SPR_INDEX_SYS_GPR448 = 1472, SPR_INDEX_SYS_GPR449 = 1473, SPR_INDEX_SYS_GPR450 = 1474
- , SPR_INDEX_SYS_GPR451 = 1475, SPR_INDEX_SYS_GPR452 = 1476, SPR_INDEX_SYS_GPR453 = 1477, SPR_INDEX_SYS_GPR454 = 1478
- , SPR_INDEX_SYS_GPR455 = 1479, SPR_INDEX_SYS_GPR456 = 1480, SPR_INDEX_SYS_GPR457 = 1481, SPR_INDEX_SYS_GPR458 = 1482
- , SPR_INDEX_SYS_GPR459 = 1483, SPR_INDEX_SYS_GPR460 = 1484, SPR_INDEX_SYS_GPR461 = 1485, SPR_INDEX_SYS_GPR462 = 1486
- , SPR_INDEX_SYS_GPR463 = 1487, SPR_INDEX_SYS_GPR464 = 1488, SPR_INDEX_SYS_GPR465 = 1489, SPR_INDEX_SYS_GPR466 = 1490
- , SPR_INDEX_SYS_GPR467 = 1491, SPR_INDEX_SYS_GPR468 = 1492, SPR_INDEX_SYS_GPR469 = 1493, SPR_INDEX_SYS_GPR470 = 1494
- , SPR_INDEX_SYS_GPR471 = 1495, SPR_INDEX_SYS_GPR472 = 1496, SPR_INDEX_SYS_GPR473 = 1497, SPR_INDEX_SYS_GPR474 = 1498
- , SPR_INDEX_SYS_GPR475 = 1499, SPR_INDEX_SYS_GPR476 = 1500, SPR_INDEX_SYS_GPR477 = 1501, SPR_INDEX_SYS_GPR478 = 1502
- , SPR_INDEX_SYS_GPR479 = 1503, SPR_INDEX_SYS_GPR480 = 1504, SPR_INDEX_SYS_GPR481 = 1505, SPR_INDEX_SYS_GPR482 = 1506
- , SPR_INDEX_SYS_GPR483 = 1507, SPR_INDEX_SYS_GPR484 = 1508, SPR_INDEX_SYS_GPR485 = 1509, SPR_INDEX_SYS_GPR486 = 1510
- , SPR_INDEX_SYS_GPR487 = 1511, SPR_INDEX_SYS_GPR488 = 1512, SPR_INDEX_SYS_GPR489 = 1513, SPR_INDEX_SYS_GPR490 = 1514
- , SPR_INDEX_SYS_GPR491 = 1515, SPR_INDEX_SYS_GPR492 = 1516, SPR_INDEX_SYS_GPR493 = 1517, SPR_INDEX_SYS_GPR494 = 1518
- , SPR_INDEX_SYS_GPR495 = 1519, SPR_INDEX_SYS_GPR496 = 1520, SPR_INDEX_SYS_GPR497 = 1521, SPR_INDEX_SYS_GPR498 = 1522
- , SPR_INDEX_SYS_GPR499 = 1523, SPR_INDEX_SYS_GPR500 = 1524, SPR_INDEX_SYS_GPR501 = 1525, SPR_INDEX_SYS_GPR502 = 1526
- , SPR_INDEX_SYS_GPR503 = 1527, SPR_INDEX_SYS_GPR504 = 1528, SPR_INDEX_SYS_GPR505 = 1529, SPR_INDEX_SYS_GPR506 = 1530
- , SPR_INDEX_SYS_GPR507 = 1531, SPR_INDEX_SYS_GPR508 = 1532, SPR_INDEX_SYS_GPR509 = 1533, SPR_INDEX_SYS_GPR510 = 1534
- , SPR_INDEX_SYS_GPR511 = 1535, SPR_INDEX_MAC_MACLO = 1, SPR_INDEX_MAC_MACHI = 2, SPR_INDEX_TICK_TTMR = 0
+ , SPR_INDEX_SYS_ESR15 = 79, SPR_INDEX_SYS_COREID = 128, SPR_INDEX_SYS_NUMCORES = 129, SPR_INDEX_SYS_GPR0 = 1024
+ , SPR_INDEX_SYS_GPR1 = 1025, SPR_INDEX_SYS_GPR2 = 1026, SPR_INDEX_SYS_GPR3 = 1027, SPR_INDEX_SYS_GPR4 = 1028
+ , SPR_INDEX_SYS_GPR5 = 1029, SPR_INDEX_SYS_GPR6 = 1030, SPR_INDEX_SYS_GPR7 = 1031, SPR_INDEX_SYS_GPR8 = 1032
+ , SPR_INDEX_SYS_GPR9 = 1033, SPR_INDEX_SYS_GPR10 = 1034, SPR_INDEX_SYS_GPR11 = 1035, SPR_INDEX_SYS_GPR12 = 1036
+ , SPR_INDEX_SYS_GPR13 = 1037, SPR_INDEX_SYS_GPR14 = 1038, SPR_INDEX_SYS_GPR15 = 1039, SPR_INDEX_SYS_GPR16 = 1040
+ , SPR_INDEX_SYS_GPR17 = 1041, SPR_INDEX_SYS_GPR18 = 1042, SPR_INDEX_SYS_GPR19 = 1043, SPR_INDEX_SYS_GPR20 = 1044
+ , SPR_INDEX_SYS_GPR21 = 1045, SPR_INDEX_SYS_GPR22 = 1046, SPR_INDEX_SYS_GPR23 = 1047, SPR_INDEX_SYS_GPR24 = 1048
+ , SPR_INDEX_SYS_GPR25 = 1049, SPR_INDEX_SYS_GPR26 = 1050, SPR_INDEX_SYS_GPR27 = 1051, SPR_INDEX_SYS_GPR28 = 1052
+ , SPR_INDEX_SYS_GPR29 = 1053, SPR_INDEX_SYS_GPR30 = 1054, SPR_INDEX_SYS_GPR31 = 1055, SPR_INDEX_SYS_GPR32 = 1056
+ , SPR_INDEX_SYS_GPR33 = 1057, SPR_INDEX_SYS_GPR34 = 1058, SPR_INDEX_SYS_GPR35 = 1059, SPR_INDEX_SYS_GPR36 = 1060
+ , SPR_INDEX_SYS_GPR37 = 1061, SPR_INDEX_SYS_GPR38 = 1062, SPR_INDEX_SYS_GPR39 = 1063, SPR_INDEX_SYS_GPR40 = 1064
+ , SPR_INDEX_SYS_GPR41 = 1065, SPR_INDEX_SYS_GPR42 = 1066, SPR_INDEX_SYS_GPR43 = 1067, SPR_INDEX_SYS_GPR44 = 1068
+ , SPR_INDEX_SYS_GPR45 = 1069, SPR_INDEX_SYS_GPR46 = 1070, SPR_INDEX_SYS_GPR47 = 1071, SPR_INDEX_SYS_GPR48 = 1072
+ , SPR_INDEX_SYS_GPR49 = 1073, SPR_INDEX_SYS_GPR50 = 1074, SPR_INDEX_SYS_GPR51 = 1075, SPR_INDEX_SYS_GPR52 = 1076
+ , SPR_INDEX_SYS_GPR53 = 1077, SPR_INDEX_SYS_GPR54 = 1078, SPR_INDEX_SYS_GPR55 = 1079, SPR_INDEX_SYS_GPR56 = 1080
+ , SPR_INDEX_SYS_GPR57 = 1081, SPR_INDEX_SYS_GPR58 = 1082, SPR_INDEX_SYS_GPR59 = 1083, SPR_INDEX_SYS_GPR60 = 1084
+ , SPR_INDEX_SYS_GPR61 = 1085, SPR_INDEX_SYS_GPR62 = 1086, SPR_INDEX_SYS_GPR63 = 1087, SPR_INDEX_SYS_GPR64 = 1088
+ , SPR_INDEX_SYS_GPR65 = 1089, SPR_INDEX_SYS_GPR66 = 1090, SPR_INDEX_SYS_GPR67 = 1091, SPR_INDEX_SYS_GPR68 = 1092
+ , SPR_INDEX_SYS_GPR69 = 1093, SPR_INDEX_SYS_GPR70 = 1094, SPR_INDEX_SYS_GPR71 = 1095, SPR_INDEX_SYS_GPR72 = 1096
+ , SPR_INDEX_SYS_GPR73 = 1097, SPR_INDEX_SYS_GPR74 = 1098, SPR_INDEX_SYS_GPR75 = 1099, SPR_INDEX_SYS_GPR76 = 1100
+ , SPR_INDEX_SYS_GPR77 = 1101, SPR_INDEX_SYS_GPR78 = 1102, SPR_INDEX_SYS_GPR79 = 1103, SPR_INDEX_SYS_GPR80 = 1104
+ , SPR_INDEX_SYS_GPR81 = 1105, SPR_INDEX_SYS_GPR82 = 1106, SPR_INDEX_SYS_GPR83 = 1107, SPR_INDEX_SYS_GPR84 = 1108
+ , SPR_INDEX_SYS_GPR85 = 1109, SPR_INDEX_SYS_GPR86 = 1110, SPR_INDEX_SYS_GPR87 = 1111, SPR_INDEX_SYS_GPR88 = 1112
+ , SPR_INDEX_SYS_GPR89 = 1113, SPR_INDEX_SYS_GPR90 = 1114, SPR_INDEX_SYS_GPR91 = 1115, SPR_INDEX_SYS_GPR92 = 1116
+ , SPR_INDEX_SYS_GPR93 = 1117, SPR_INDEX_SYS_GPR94 = 1118, SPR_INDEX_SYS_GPR95 = 1119, SPR_INDEX_SYS_GPR96 = 1120
+ , SPR_INDEX_SYS_GPR97 = 1121, SPR_INDEX_SYS_GPR98 = 1122, SPR_INDEX_SYS_GPR99 = 1123, SPR_INDEX_SYS_GPR100 = 1124
+ , SPR_INDEX_SYS_GPR101 = 1125, SPR_INDEX_SYS_GPR102 = 1126, SPR_INDEX_SYS_GPR103 = 1127, SPR_INDEX_SYS_GPR104 = 1128
+ , SPR_INDEX_SYS_GPR105 = 1129, SPR_INDEX_SYS_GPR106 = 1130, SPR_INDEX_SYS_GPR107 = 1131, SPR_INDEX_SYS_GPR108 = 1132
+ , SPR_INDEX_SYS_GPR109 = 1133, SPR_INDEX_SYS_GPR110 = 1134, SPR_INDEX_SYS_GPR111 = 1135, SPR_INDEX_SYS_GPR112 = 1136
+ , SPR_INDEX_SYS_GPR113 = 1137, SPR_INDEX_SYS_GPR114 = 1138, SPR_INDEX_SYS_GPR115 = 1139, SPR_INDEX_SYS_GPR116 = 1140
+ , SPR_INDEX_SYS_GPR117 = 1141, SPR_INDEX_SYS_GPR118 = 1142, SPR_INDEX_SYS_GPR119 = 1143, SPR_INDEX_SYS_GPR120 = 1144
+ , SPR_INDEX_SYS_GPR121 = 1145, SPR_INDEX_SYS_GPR122 = 1146, SPR_INDEX_SYS_GPR123 = 1147, SPR_INDEX_SYS_GPR124 = 1148
+ , SPR_INDEX_SYS_GPR125 = 1149, SPR_INDEX_SYS_GPR126 = 1150, SPR_INDEX_SYS_GPR127 = 1151, SPR_INDEX_SYS_GPR128 = 1152
+ , SPR_INDEX_SYS_GPR129 = 1153, SPR_INDEX_SYS_GPR130 = 1154, SPR_INDEX_SYS_GPR131 = 1155, SPR_INDEX_SYS_GPR132 = 1156
+ , SPR_INDEX_SYS_GPR133 = 1157, SPR_INDEX_SYS_GPR134 = 1158, SPR_INDEX_SYS_GPR135 = 1159, SPR_INDEX_SYS_GPR136 = 1160
+ , SPR_INDEX_SYS_GPR137 = 1161, SPR_INDEX_SYS_GPR138 = 1162, SPR_INDEX_SYS_GPR139 = 1163, SPR_INDEX_SYS_GPR140 = 1164
+ , SPR_INDEX_SYS_GPR141 = 1165, SPR_INDEX_SYS_GPR142 = 1166, SPR_INDEX_SYS_GPR143 = 1167, SPR_INDEX_SYS_GPR144 = 1168
+ , SPR_INDEX_SYS_GPR145 = 1169, SPR_INDEX_SYS_GPR146 = 1170, SPR_INDEX_SYS_GPR147 = 1171, SPR_INDEX_SYS_GPR148 = 1172
+ , SPR_INDEX_SYS_GPR149 = 1173, SPR_INDEX_SYS_GPR150 = 1174, SPR_INDEX_SYS_GPR151 = 1175, SPR_INDEX_SYS_GPR152 = 1176
+ , SPR_INDEX_SYS_GPR153 = 1177, SPR_INDEX_SYS_GPR154 = 1178, SPR_INDEX_SYS_GPR155 = 1179, SPR_INDEX_SYS_GPR156 = 1180
+ , SPR_INDEX_SYS_GPR157 = 1181, SPR_INDEX_SYS_GPR158 = 1182, SPR_INDEX_SYS_GPR159 = 1183, SPR_INDEX_SYS_GPR160 = 1184
+ , SPR_INDEX_SYS_GPR161 = 1185, SPR_INDEX_SYS_GPR162 = 1186, SPR_INDEX_SYS_GPR163 = 1187, SPR_INDEX_SYS_GPR164 = 1188
+ , SPR_INDEX_SYS_GPR165 = 1189, SPR_INDEX_SYS_GPR166 = 1190, SPR_INDEX_SYS_GPR167 = 1191, SPR_INDEX_SYS_GPR168 = 1192
+ , SPR_INDEX_SYS_GPR169 = 1193, SPR_INDEX_SYS_GPR170 = 1194, SPR_INDEX_SYS_GPR171 = 1195, SPR_INDEX_SYS_GPR172 = 1196
+ , SPR_INDEX_SYS_GPR173 = 1197, SPR_INDEX_SYS_GPR174 = 1198, SPR_INDEX_SYS_GPR175 = 1199, SPR_INDEX_SYS_GPR176 = 1200
+ , SPR_INDEX_SYS_GPR177 = 1201, SPR_INDEX_SYS_GPR178 = 1202, SPR_INDEX_SYS_GPR179 = 1203, SPR_INDEX_SYS_GPR180 = 1204
+ , SPR_INDEX_SYS_GPR181 = 1205, SPR_INDEX_SYS_GPR182 = 1206, SPR_INDEX_SYS_GPR183 = 1207, SPR_INDEX_SYS_GPR184 = 1208
+ , SPR_INDEX_SYS_GPR185 = 1209, SPR_INDEX_SYS_GPR186 = 1210, SPR_INDEX_SYS_GPR187 = 1211, SPR_INDEX_SYS_GPR188 = 1212
+ , SPR_INDEX_SYS_GPR189 = 1213, SPR_INDEX_SYS_GPR190 = 1214, SPR_INDEX_SYS_GPR191 = 1215, SPR_INDEX_SYS_GPR192 = 1216
+ , SPR_INDEX_SYS_GPR193 = 1217, SPR_INDEX_SYS_GPR194 = 1218, SPR_INDEX_SYS_GPR195 = 1219, SPR_INDEX_SYS_GPR196 = 1220
+ , SPR_INDEX_SYS_GPR197 = 1221, SPR_INDEX_SYS_GPR198 = 1222, SPR_INDEX_SYS_GPR199 = 1223, SPR_INDEX_SYS_GPR200 = 1224
+ , SPR_INDEX_SYS_GPR201 = 1225, SPR_INDEX_SYS_GPR202 = 1226, SPR_INDEX_SYS_GPR203 = 1227, SPR_INDEX_SYS_GPR204 = 1228
+ , SPR_INDEX_SYS_GPR205 = 1229, SPR_INDEX_SYS_GPR206 = 1230, SPR_INDEX_SYS_GPR207 = 1231, SPR_INDEX_SYS_GPR208 = 1232
+ , SPR_INDEX_SYS_GPR209 = 1233, SPR_INDEX_SYS_GPR210 = 1234, SPR_INDEX_SYS_GPR211 = 1235, SPR_INDEX_SYS_GPR212 = 1236
+ , SPR_INDEX_SYS_GPR213 = 1237, SPR_INDEX_SYS_GPR214 = 1238, SPR_INDEX_SYS_GPR215 = 1239, SPR_INDEX_SYS_GPR216 = 1240
+ , SPR_INDEX_SYS_GPR217 = 1241, SPR_INDEX_SYS_GPR218 = 1242, SPR_INDEX_SYS_GPR219 = 1243, SPR_INDEX_SYS_GPR220 = 1244
+ , SPR_INDEX_SYS_GPR221 = 1245, SPR_INDEX_SYS_GPR222 = 1246, SPR_INDEX_SYS_GPR223 = 1247, SPR_INDEX_SYS_GPR224 = 1248
+ , SPR_INDEX_SYS_GPR225 = 1249, SPR_INDEX_SYS_GPR226 = 1250, SPR_INDEX_SYS_GPR227 = 1251, SPR_INDEX_SYS_GPR228 = 1252
+ , SPR_INDEX_SYS_GPR229 = 1253, SPR_INDEX_SYS_GPR230 = 1254, SPR_INDEX_SYS_GPR231 = 1255, SPR_INDEX_SYS_GPR232 = 1256
+ , SPR_INDEX_SYS_GPR233 = 1257, SPR_INDEX_SYS_GPR234 = 1258, SPR_INDEX_SYS_GPR235 = 1259, SPR_INDEX_SYS_GPR236 = 1260
+ , SPR_INDEX_SYS_GPR237 = 1261, SPR_INDEX_SYS_GPR238 = 1262, SPR_INDEX_SYS_GPR239 = 1263, SPR_INDEX_SYS_GPR240 = 1264
+ , SPR_INDEX_SYS_GPR241 = 1265, SPR_INDEX_SYS_GPR242 = 1266, SPR_INDEX_SYS_GPR243 = 1267, SPR_INDEX_SYS_GPR244 = 1268
+ , SPR_INDEX_SYS_GPR245 = 1269, SPR_INDEX_SYS_GPR246 = 1270, SPR_INDEX_SYS_GPR247 = 1271, SPR_INDEX_SYS_GPR248 = 1272
+ , SPR_INDEX_SYS_GPR249 = 1273, SPR_INDEX_SYS_GPR250 = 1274, SPR_INDEX_SYS_GPR251 = 1275, SPR_INDEX_SYS_GPR252 = 1276
+ , SPR_INDEX_SYS_GPR253 = 1277, SPR_INDEX_SYS_GPR254 = 1278, SPR_INDEX_SYS_GPR255 = 1279, SPR_INDEX_SYS_GPR256 = 1280
+ , SPR_INDEX_SYS_GPR257 = 1281, SPR_INDEX_SYS_GPR258 = 1282, SPR_INDEX_SYS_GPR259 = 1283, SPR_INDEX_SYS_GPR260 = 1284
+ , SPR_INDEX_SYS_GPR261 = 1285, SPR_INDEX_SYS_GPR262 = 1286, SPR_INDEX_SYS_GPR263 = 1287, SPR_INDEX_SYS_GPR264 = 1288
+ , SPR_INDEX_SYS_GPR265 = 1289, SPR_INDEX_SYS_GPR266 = 1290, SPR_INDEX_SYS_GPR267 = 1291, SPR_INDEX_SYS_GPR268 = 1292
+ , SPR_INDEX_SYS_GPR269 = 1293, SPR_INDEX_SYS_GPR270 = 1294, SPR_INDEX_SYS_GPR271 = 1295, SPR_INDEX_SYS_GPR272 = 1296
+ , SPR_INDEX_SYS_GPR273 = 1297, SPR_INDEX_SYS_GPR274 = 1298, SPR_INDEX_SYS_GPR275 = 1299, SPR_INDEX_SYS_GPR276 = 1300
+ , SPR_INDEX_SYS_GPR277 = 1301, SPR_INDEX_SYS_GPR278 = 1302, SPR_INDEX_SYS_GPR279 = 1303, SPR_INDEX_SYS_GPR280 = 1304
+ , SPR_INDEX_SYS_GPR281 = 1305, SPR_INDEX_SYS_GPR282 = 1306, SPR_INDEX_SYS_GPR283 = 1307, SPR_INDEX_SYS_GPR284 = 1308
+ , SPR_INDEX_SYS_GPR285 = 1309, SPR_INDEX_SYS_GPR286 = 1310, SPR_INDEX_SYS_GPR287 = 1311, SPR_INDEX_SYS_GPR288 = 1312
+ , SPR_INDEX_SYS_GPR289 = 1313, SPR_INDEX_SYS_GPR290 = 1314, SPR_INDEX_SYS_GPR291 = 1315, SPR_INDEX_SYS_GPR292 = 1316
+ , SPR_INDEX_SYS_GPR293 = 1317, SPR_INDEX_SYS_GPR294 = 1318, SPR_INDEX_SYS_GPR295 = 1319, SPR_INDEX_SYS_GPR296 = 1320
+ , SPR_INDEX_SYS_GPR297 = 1321, SPR_INDEX_SYS_GPR298 = 1322, SPR_INDEX_SYS_GPR299 = 1323, SPR_INDEX_SYS_GPR300 = 1324
+ , SPR_INDEX_SYS_GPR301 = 1325, SPR_INDEX_SYS_GPR302 = 1326, SPR_INDEX_SYS_GPR303 = 1327, SPR_INDEX_SYS_GPR304 = 1328
+ , SPR_INDEX_SYS_GPR305 = 1329, SPR_INDEX_SYS_GPR306 = 1330, SPR_INDEX_SYS_GPR307 = 1331, SPR_INDEX_SYS_GPR308 = 1332
+ , SPR_INDEX_SYS_GPR309 = 1333, SPR_INDEX_SYS_GPR310 = 1334, SPR_INDEX_SYS_GPR311 = 1335, SPR_INDEX_SYS_GPR312 = 1336
+ , SPR_INDEX_SYS_GPR313 = 1337, SPR_INDEX_SYS_GPR314 = 1338, SPR_INDEX_SYS_GPR315 = 1339, SPR_INDEX_SYS_GPR316 = 1340
+ , SPR_INDEX_SYS_GPR317 = 1341, SPR_INDEX_SYS_GPR318 = 1342, SPR_INDEX_SYS_GPR319 = 1343, SPR_INDEX_SYS_GPR320 = 1344
+ , SPR_INDEX_SYS_GPR321 = 1345, SPR_INDEX_SYS_GPR322 = 1346, SPR_INDEX_SYS_GPR323 = 1347, SPR_INDEX_SYS_GPR324 = 1348
+ , SPR_INDEX_SYS_GPR325 = 1349, SPR_INDEX_SYS_GPR326 = 1350, SPR_INDEX_SYS_GPR327 = 1351, SPR_INDEX_SYS_GPR328 = 1352
+ , SPR_INDEX_SYS_GPR329 = 1353, SPR_INDEX_SYS_GPR330 = 1354, SPR_INDEX_SYS_GPR331 = 1355, SPR_INDEX_SYS_GPR332 = 1356
+ , SPR_INDEX_SYS_GPR333 = 1357, SPR_INDEX_SYS_GPR334 = 1358, SPR_INDEX_SYS_GPR335 = 1359, SPR_INDEX_SYS_GPR336 = 1360
+ , SPR_INDEX_SYS_GPR337 = 1361, SPR_INDEX_SYS_GPR338 = 1362, SPR_INDEX_SYS_GPR339 = 1363, SPR_INDEX_SYS_GPR340 = 1364
+ , SPR_INDEX_SYS_GPR341 = 1365, SPR_INDEX_SYS_GPR342 = 1366, SPR_INDEX_SYS_GPR343 = 1367, SPR_INDEX_SYS_GPR344 = 1368
+ , SPR_INDEX_SYS_GPR345 = 1369, SPR_INDEX_SYS_GPR346 = 1370, SPR_INDEX_SYS_GPR347 = 1371, SPR_INDEX_SYS_GPR348 = 1372
+ , SPR_INDEX_SYS_GPR349 = 1373, SPR_INDEX_SYS_GPR350 = 1374, SPR_INDEX_SYS_GPR351 = 1375, SPR_INDEX_SYS_GPR352 = 1376
+ , SPR_INDEX_SYS_GPR353 = 1377, SPR_INDEX_SYS_GPR354 = 1378, SPR_INDEX_SYS_GPR355 = 1379, SPR_INDEX_SYS_GPR356 = 1380
+ , SPR_INDEX_SYS_GPR357 = 1381, SPR_INDEX_SYS_GPR358 = 1382, SPR_INDEX_SYS_GPR359 = 1383, SPR_INDEX_SYS_GPR360 = 1384
+ , SPR_INDEX_SYS_GPR361 = 1385, SPR_INDEX_SYS_GPR362 = 1386, SPR_INDEX_SYS_GPR363 = 1387, SPR_INDEX_SYS_GPR364 = 1388
+ , SPR_INDEX_SYS_GPR365 = 1389, SPR_INDEX_SYS_GPR366 = 1390, SPR_INDEX_SYS_GPR367 = 1391, SPR_INDEX_SYS_GPR368 = 1392
+ , SPR_INDEX_SYS_GPR369 = 1393, SPR_INDEX_SYS_GPR370 = 1394, SPR_INDEX_SYS_GPR371 = 1395, SPR_INDEX_SYS_GPR372 = 1396
+ , SPR_INDEX_SYS_GPR373 = 1397, SPR_INDEX_SYS_GPR374 = 1398, SPR_INDEX_SYS_GPR375 = 1399, SPR_INDEX_SYS_GPR376 = 1400
+ , SPR_INDEX_SYS_GPR377 = 1401, SPR_INDEX_SYS_GPR378 = 1402, SPR_INDEX_SYS_GPR379 = 1403, SPR_INDEX_SYS_GPR380 = 1404
+ , SPR_INDEX_SYS_GPR381 = 1405, SPR_INDEX_SYS_GPR382 = 1406, SPR_INDEX_SYS_GPR383 = 1407, SPR_INDEX_SYS_GPR384 = 1408
+ , SPR_INDEX_SYS_GPR385 = 1409, SPR_INDEX_SYS_GPR386 = 1410, SPR_INDEX_SYS_GPR387 = 1411, SPR_INDEX_SYS_GPR388 = 1412
+ , SPR_INDEX_SYS_GPR389 = 1413, SPR_INDEX_SYS_GPR390 = 1414, SPR_INDEX_SYS_GPR391 = 1415, SPR_INDEX_SYS_GPR392 = 1416
+ , SPR_INDEX_SYS_GPR393 = 1417, SPR_INDEX_SYS_GPR394 = 1418, SPR_INDEX_SYS_GPR395 = 1419, SPR_INDEX_SYS_GPR396 = 1420
+ , SPR_INDEX_SYS_GPR397 = 1421, SPR_INDEX_SYS_GPR398 = 1422, SPR_INDEX_SYS_GPR399 = 1423, SPR_INDEX_SYS_GPR400 = 1424
+ , SPR_INDEX_SYS_GPR401 = 1425, SPR_INDEX_SYS_GPR402 = 1426, SPR_INDEX_SYS_GPR403 = 1427, SPR_INDEX_SYS_GPR404 = 1428
+ , SPR_INDEX_SYS_GPR405 = 1429, SPR_INDEX_SYS_GPR406 = 1430, SPR_INDEX_SYS_GPR407 = 1431, SPR_INDEX_SYS_GPR408 = 1432
+ , SPR_INDEX_SYS_GPR409 = 1433, SPR_INDEX_SYS_GPR410 = 1434, SPR_INDEX_SYS_GPR411 = 1435, SPR_INDEX_SYS_GPR412 = 1436
+ , SPR_INDEX_SYS_GPR413 = 1437, SPR_INDEX_SYS_GPR414 = 1438, SPR_INDEX_SYS_GPR415 = 1439, SPR_INDEX_SYS_GPR416 = 1440
+ , SPR_INDEX_SYS_GPR417 = 1441, SPR_INDEX_SYS_GPR418 = 1442, SPR_INDEX_SYS_GPR419 = 1443, SPR_INDEX_SYS_GPR420 = 1444
+ , SPR_INDEX_SYS_GPR421 = 1445, SPR_INDEX_SYS_GPR422 = 1446, SPR_INDEX_SYS_GPR423 = 1447, SPR_INDEX_SYS_GPR424 = 1448
+ , SPR_INDEX_SYS_GPR425 = 1449, SPR_INDEX_SYS_GPR426 = 1450, SPR_INDEX_SYS_GPR427 = 1451, SPR_INDEX_SYS_GPR428 = 1452
+ , SPR_INDEX_SYS_GPR429 = 1453, SPR_INDEX_SYS_GPR430 = 1454, SPR_INDEX_SYS_GPR431 = 1455, SPR_INDEX_SYS_GPR432 = 1456
+ , SPR_INDEX_SYS_GPR433 = 1457, SPR_INDEX_SYS_GPR434 = 1458, SPR_INDEX_SYS_GPR435 = 1459, SPR_INDEX_SYS_GPR436 = 1460
+ , SPR_INDEX_SYS_GPR437 = 1461, SPR_INDEX_SYS_GPR438 = 1462, SPR_INDEX_SYS_GPR439 = 1463, SPR_INDEX_SYS_GPR440 = 1464
+ , SPR_INDEX_SYS_GPR441 = 1465, SPR_INDEX_SYS_GPR442 = 1466, SPR_INDEX_SYS_GPR443 = 1467, SPR_INDEX_SYS_GPR444 = 1468
+ , SPR_INDEX_SYS_GPR445 = 1469, SPR_INDEX_SYS_GPR446 = 1470, SPR_INDEX_SYS_GPR447 = 1471, SPR_INDEX_SYS_GPR448 = 1472
+ , SPR_INDEX_SYS_GPR449 = 1473, SPR_INDEX_SYS_GPR450 = 1474, SPR_INDEX_SYS_GPR451 = 1475, SPR_INDEX_SYS_GPR452 = 1476
+ , SPR_INDEX_SYS_GPR453 = 1477, SPR_INDEX_SYS_GPR454 = 1478, SPR_INDEX_SYS_GPR455 = 1479, SPR_INDEX_SYS_GPR456 = 1480
+ , SPR_INDEX_SYS_GPR457 = 1481, SPR_INDEX_SYS_GPR458 = 1482, SPR_INDEX_SYS_GPR459 = 1483, SPR_INDEX_SYS_GPR460 = 1484
+ , SPR_INDEX_SYS_GPR461 = 1485, SPR_INDEX_SYS_GPR462 = 1486, SPR_INDEX_SYS_GPR463 = 1487, SPR_INDEX_SYS_GPR464 = 1488
+ , SPR_INDEX_SYS_GPR465 = 1489, SPR_INDEX_SYS_GPR466 = 1490, SPR_INDEX_SYS_GPR467 = 1491, SPR_INDEX_SYS_GPR468 = 1492
+ , SPR_INDEX_SYS_GPR469 = 1493, SPR_INDEX_SYS_GPR470 = 1494, SPR_INDEX_SYS_GPR471 = 1495, SPR_INDEX_SYS_GPR472 = 1496
+ , SPR_INDEX_SYS_GPR473 = 1497, SPR_INDEX_SYS_GPR474 = 1498, SPR_INDEX_SYS_GPR475 = 1499, SPR_INDEX_SYS_GPR476 = 1500
+ , SPR_INDEX_SYS_GPR477 = 1501, SPR_INDEX_SYS_GPR478 = 1502, SPR_INDEX_SYS_GPR479 = 1503, SPR_INDEX_SYS_GPR480 = 1504
+ , SPR_INDEX_SYS_GPR481 = 1505, SPR_INDEX_SYS_GPR482 = 1506, SPR_INDEX_SYS_GPR483 = 1507, SPR_INDEX_SYS_GPR484 = 1508
+ , SPR_INDEX_SYS_GPR485 = 1509, SPR_INDEX_SYS_GPR486 = 1510, SPR_INDEX_SYS_GPR487 = 1511, SPR_INDEX_SYS_GPR488 = 1512
+ , SPR_INDEX_SYS_GPR489 = 1513, SPR_INDEX_SYS_GPR490 = 1514, SPR_INDEX_SYS_GPR491 = 1515, SPR_INDEX_SYS_GPR492 = 1516
+ , SPR_INDEX_SYS_GPR493 = 1517, SPR_INDEX_SYS_GPR494 = 1518, SPR_INDEX_SYS_GPR495 = 1519, SPR_INDEX_SYS_GPR496 = 1520
+ , SPR_INDEX_SYS_GPR497 = 1521, SPR_INDEX_SYS_GPR498 = 1522, SPR_INDEX_SYS_GPR499 = 1523, SPR_INDEX_SYS_GPR500 = 1524
+ , SPR_INDEX_SYS_GPR501 = 1525, SPR_INDEX_SYS_GPR502 = 1526, SPR_INDEX_SYS_GPR503 = 1527, SPR_INDEX_SYS_GPR504 = 1528
+ , SPR_INDEX_SYS_GPR505 = 1529, SPR_INDEX_SYS_GPR506 = 1530, SPR_INDEX_SYS_GPR507 = 1531, SPR_INDEX_SYS_GPR508 = 1532
+ , SPR_INDEX_SYS_GPR509 = 1533, SPR_INDEX_SYS_GPR510 = 1534, SPR_INDEX_SYS_GPR511 = 1535, SPR_INDEX_MAC_MACLO = 1
+ , SPR_INDEX_MAC_MACHI = 2, SPR_INDEX_TICK_TTMR = 0
} SPR_REG_INDICES;
/* Enum declaration for SPR field msb positions. */
@@ -449,150 +450,150 @@ typedef enum cgen_hw_type {
, HW_H_SYS_ESR4, HW_H_SYS_ESR5, HW_H_SYS_ESR6, HW_H_SYS_ESR7
, HW_H_SYS_ESR8, HW_H_SYS_ESR9, HW_H_SYS_ESR10, HW_H_SYS_ESR11
, HW_H_SYS_ESR12, HW_H_SYS_ESR13, HW_H_SYS_ESR14, HW_H_SYS_ESR15
- , HW_H_SYS_GPR0, HW_H_SYS_GPR1, HW_H_SYS_GPR2, HW_H_SYS_GPR3
- , HW_H_SYS_GPR4, HW_H_SYS_GPR5, HW_H_SYS_GPR6, HW_H_SYS_GPR7
- , HW_H_SYS_GPR8, HW_H_SYS_GPR9, HW_H_SYS_GPR10, HW_H_SYS_GPR11
- , HW_H_SYS_GPR12, HW_H_SYS_GPR13, HW_H_SYS_GPR14, HW_H_SYS_GPR15
- , HW_H_SYS_GPR16, HW_H_SYS_GPR17, HW_H_SYS_GPR18, HW_H_SYS_GPR19
- , HW_H_SYS_GPR20, HW_H_SYS_GPR21, HW_H_SYS_GPR22, HW_H_SYS_GPR23
- , HW_H_SYS_GPR24, HW_H_SYS_GPR25, HW_H_SYS_GPR26, HW_H_SYS_GPR27
- , HW_H_SYS_GPR28, HW_H_SYS_GPR29, HW_H_SYS_GPR30, HW_H_SYS_GPR31
- , HW_H_SYS_GPR32, HW_H_SYS_GPR33, HW_H_SYS_GPR34, HW_H_SYS_GPR35
- , HW_H_SYS_GPR36, HW_H_SYS_GPR37, HW_H_SYS_GPR38, HW_H_SYS_GPR39
- , HW_H_SYS_GPR40, HW_H_SYS_GPR41, HW_H_SYS_GPR42, HW_H_SYS_GPR43
- , HW_H_SYS_GPR44, HW_H_SYS_GPR45, HW_H_SYS_GPR46, HW_H_SYS_GPR47
- , HW_H_SYS_GPR48, HW_H_SYS_GPR49, HW_H_SYS_GPR50, HW_H_SYS_GPR51
- , HW_H_SYS_GPR52, HW_H_SYS_GPR53, HW_H_SYS_GPR54, HW_H_SYS_GPR55
- , HW_H_SYS_GPR56, HW_H_SYS_GPR57, HW_H_SYS_GPR58, HW_H_SYS_GPR59
- , HW_H_SYS_GPR60, HW_H_SYS_GPR61, HW_H_SYS_GPR62, HW_H_SYS_GPR63
- , HW_H_SYS_GPR64, HW_H_SYS_GPR65, HW_H_SYS_GPR66, HW_H_SYS_GPR67
- , HW_H_SYS_GPR68, HW_H_SYS_GPR69, HW_H_SYS_GPR70, HW_H_SYS_GPR71
- , HW_H_SYS_GPR72, HW_H_SYS_GPR73, HW_H_SYS_GPR74, HW_H_SYS_GPR75
- , HW_H_SYS_GPR76, HW_H_SYS_GPR77, HW_H_SYS_GPR78, HW_H_SYS_GPR79
- , HW_H_SYS_GPR80, HW_H_SYS_GPR81, HW_H_SYS_GPR82, HW_H_SYS_GPR83
- , HW_H_SYS_GPR84, HW_H_SYS_GPR85, HW_H_SYS_GPR86, HW_H_SYS_GPR87
- , HW_H_SYS_GPR88, HW_H_SYS_GPR89, HW_H_SYS_GPR90, HW_H_SYS_GPR91
- , HW_H_SYS_GPR92, HW_H_SYS_GPR93, HW_H_SYS_GPR94, HW_H_SYS_GPR95
- , HW_H_SYS_GPR96, HW_H_SYS_GPR97, HW_H_SYS_GPR98, HW_H_SYS_GPR99
- , HW_H_SYS_GPR100, HW_H_SYS_GPR101, HW_H_SYS_GPR102, HW_H_SYS_GPR103
- , HW_H_SYS_GPR104, HW_H_SYS_GPR105, HW_H_SYS_GPR106, HW_H_SYS_GPR107
- , HW_H_SYS_GPR108, HW_H_SYS_GPR109, HW_H_SYS_GPR110, HW_H_SYS_GPR111
- , HW_H_SYS_GPR112, HW_H_SYS_GPR113, HW_H_SYS_GPR114, HW_H_SYS_GPR115
- , HW_H_SYS_GPR116, HW_H_SYS_GPR117, HW_H_SYS_GPR118, HW_H_SYS_GPR119
- , HW_H_SYS_GPR120, HW_H_SYS_GPR121, HW_H_SYS_GPR122, HW_H_SYS_GPR123
- , HW_H_SYS_GPR124, HW_H_SYS_GPR125, HW_H_SYS_GPR126, HW_H_SYS_GPR127
- , HW_H_SYS_GPR128, HW_H_SYS_GPR129, HW_H_SYS_GPR130, HW_H_SYS_GPR131
- , HW_H_SYS_GPR132, HW_H_SYS_GPR133, HW_H_SYS_GPR134, HW_H_SYS_GPR135
- , HW_H_SYS_GPR136, HW_H_SYS_GPR137, HW_H_SYS_GPR138, HW_H_SYS_GPR139
- , HW_H_SYS_GPR140, HW_H_SYS_GPR141, HW_H_SYS_GPR142, HW_H_SYS_GPR143
- , HW_H_SYS_GPR144, HW_H_SYS_GPR145, HW_H_SYS_GPR146, HW_H_SYS_GPR147
- , HW_H_SYS_GPR148, HW_H_SYS_GPR149, HW_H_SYS_GPR150, HW_H_SYS_GPR151
- , HW_H_SYS_GPR152, HW_H_SYS_GPR153, HW_H_SYS_GPR154, HW_H_SYS_GPR155
- , HW_H_SYS_GPR156, HW_H_SYS_GPR157, HW_H_SYS_GPR158, HW_H_SYS_GPR159
- , HW_H_SYS_GPR160, HW_H_SYS_GPR161, HW_H_SYS_GPR162, HW_H_SYS_GPR163
- , HW_H_SYS_GPR164, HW_H_SYS_GPR165, HW_H_SYS_GPR166, HW_H_SYS_GPR167
- , HW_H_SYS_GPR168, HW_H_SYS_GPR169, HW_H_SYS_GPR170, HW_H_SYS_GPR171
- , HW_H_SYS_GPR172, HW_H_SYS_GPR173, HW_H_SYS_GPR174, HW_H_SYS_GPR175
- , HW_H_SYS_GPR176, HW_H_SYS_GPR177, HW_H_SYS_GPR178, HW_H_SYS_GPR179
- , HW_H_SYS_GPR180, HW_H_SYS_GPR181, HW_H_SYS_GPR182, HW_H_SYS_GPR183
- , HW_H_SYS_GPR184, HW_H_SYS_GPR185, HW_H_SYS_GPR186, HW_H_SYS_GPR187
- , HW_H_SYS_GPR188, HW_H_SYS_GPR189, HW_H_SYS_GPR190, HW_H_SYS_GPR191
- , HW_H_SYS_GPR192, HW_H_SYS_GPR193, HW_H_SYS_GPR194, HW_H_SYS_GPR195
- , HW_H_SYS_GPR196, HW_H_SYS_GPR197, HW_H_SYS_GPR198, HW_H_SYS_GPR199
- , HW_H_SYS_GPR200, HW_H_SYS_GPR201, HW_H_SYS_GPR202, HW_H_SYS_GPR203
- , HW_H_SYS_GPR204, HW_H_SYS_GPR205, HW_H_SYS_GPR206, HW_H_SYS_GPR207
- , HW_H_SYS_GPR208, HW_H_SYS_GPR209, HW_H_SYS_GPR210, HW_H_SYS_GPR211
- , HW_H_SYS_GPR212, HW_H_SYS_GPR213, HW_H_SYS_GPR214, HW_H_SYS_GPR215
- , HW_H_SYS_GPR216, HW_H_SYS_GPR217, HW_H_SYS_GPR218, HW_H_SYS_GPR219
- , HW_H_SYS_GPR220, HW_H_SYS_GPR221, HW_H_SYS_GPR222, HW_H_SYS_GPR223
- , HW_H_SYS_GPR224, HW_H_SYS_GPR225, HW_H_SYS_GPR226, HW_H_SYS_GPR227
- , HW_H_SYS_GPR228, HW_H_SYS_GPR229, HW_H_SYS_GPR230, HW_H_SYS_GPR231
- , HW_H_SYS_GPR232, HW_H_SYS_GPR233, HW_H_SYS_GPR234, HW_H_SYS_GPR235
- , HW_H_SYS_GPR236, HW_H_SYS_GPR237, HW_H_SYS_GPR238, HW_H_SYS_GPR239
- , HW_H_SYS_GPR240, HW_H_SYS_GPR241, HW_H_SYS_GPR242, HW_H_SYS_GPR243
- , HW_H_SYS_GPR244, HW_H_SYS_GPR245, HW_H_SYS_GPR246, HW_H_SYS_GPR247
- , HW_H_SYS_GPR248, HW_H_SYS_GPR249, HW_H_SYS_GPR250, HW_H_SYS_GPR251
- , HW_H_SYS_GPR252, HW_H_SYS_GPR253, HW_H_SYS_GPR254, HW_H_SYS_GPR255
- , HW_H_SYS_GPR256, HW_H_SYS_GPR257, HW_H_SYS_GPR258, HW_H_SYS_GPR259
- , HW_H_SYS_GPR260, HW_H_SYS_GPR261, HW_H_SYS_GPR262, HW_H_SYS_GPR263
- , HW_H_SYS_GPR264, HW_H_SYS_GPR265, HW_H_SYS_GPR266, HW_H_SYS_GPR267
- , HW_H_SYS_GPR268, HW_H_SYS_GPR269, HW_H_SYS_GPR270, HW_H_SYS_GPR271
- , HW_H_SYS_GPR272, HW_H_SYS_GPR273, HW_H_SYS_GPR274, HW_H_SYS_GPR275
- , HW_H_SYS_GPR276, HW_H_SYS_GPR277, HW_H_SYS_GPR278, HW_H_SYS_GPR279
- , HW_H_SYS_GPR280, HW_H_SYS_GPR281, HW_H_SYS_GPR282, HW_H_SYS_GPR283
- , HW_H_SYS_GPR284, HW_H_SYS_GPR285, HW_H_SYS_GPR286, HW_H_SYS_GPR287
- , HW_H_SYS_GPR288, HW_H_SYS_GPR289, HW_H_SYS_GPR290, HW_H_SYS_GPR291
- , HW_H_SYS_GPR292, HW_H_SYS_GPR293, HW_H_SYS_GPR294, HW_H_SYS_GPR295
- , HW_H_SYS_GPR296, HW_H_SYS_GPR297, HW_H_SYS_GPR298, HW_H_SYS_GPR299
- , HW_H_SYS_GPR300, HW_H_SYS_GPR301, HW_H_SYS_GPR302, HW_H_SYS_GPR303
- , HW_H_SYS_GPR304, HW_H_SYS_GPR305, HW_H_SYS_GPR306, HW_H_SYS_GPR307
- , HW_H_SYS_GPR308, HW_H_SYS_GPR309, HW_H_SYS_GPR310, HW_H_SYS_GPR311
- , HW_H_SYS_GPR312, HW_H_SYS_GPR313, HW_H_SYS_GPR314, HW_H_SYS_GPR315
- , HW_H_SYS_GPR316, HW_H_SYS_GPR317, HW_H_SYS_GPR318, HW_H_SYS_GPR319
- , HW_H_SYS_GPR320, HW_H_SYS_GPR321, HW_H_SYS_GPR322, HW_H_SYS_GPR323
- , HW_H_SYS_GPR324, HW_H_SYS_GPR325, HW_H_SYS_GPR326, HW_H_SYS_GPR327
- , HW_H_SYS_GPR328, HW_H_SYS_GPR329, HW_H_SYS_GPR330, HW_H_SYS_GPR331
- , HW_H_SYS_GPR332, HW_H_SYS_GPR333, HW_H_SYS_GPR334, HW_H_SYS_GPR335
- , HW_H_SYS_GPR336, HW_H_SYS_GPR337, HW_H_SYS_GPR338, HW_H_SYS_GPR339
- , HW_H_SYS_GPR340, HW_H_SYS_GPR341, HW_H_SYS_GPR342, HW_H_SYS_GPR343
- , HW_H_SYS_GPR344, HW_H_SYS_GPR345, HW_H_SYS_GPR346, HW_H_SYS_GPR347
- , HW_H_SYS_GPR348, HW_H_SYS_GPR349, HW_H_SYS_GPR350, HW_H_SYS_GPR351
- , HW_H_SYS_GPR352, HW_H_SYS_GPR353, HW_H_SYS_GPR354, HW_H_SYS_GPR355
- , HW_H_SYS_GPR356, HW_H_SYS_GPR357, HW_H_SYS_GPR358, HW_H_SYS_GPR359
- , HW_H_SYS_GPR360, HW_H_SYS_GPR361, HW_H_SYS_GPR362, HW_H_SYS_GPR363
- , HW_H_SYS_GPR364, HW_H_SYS_GPR365, HW_H_SYS_GPR366, HW_H_SYS_GPR367
- , HW_H_SYS_GPR368, HW_H_SYS_GPR369, HW_H_SYS_GPR370, HW_H_SYS_GPR371
- , HW_H_SYS_GPR372, HW_H_SYS_GPR373, HW_H_SYS_GPR374, HW_H_SYS_GPR375
- , HW_H_SYS_GPR376, HW_H_SYS_GPR377, HW_H_SYS_GPR378, HW_H_SYS_GPR379
- , HW_H_SYS_GPR380, HW_H_SYS_GPR381, HW_H_SYS_GPR382, HW_H_SYS_GPR383
- , HW_H_SYS_GPR384, HW_H_SYS_GPR385, HW_H_SYS_GPR386, HW_H_SYS_GPR387
- , HW_H_SYS_GPR388, HW_H_SYS_GPR389, HW_H_SYS_GPR390, HW_H_SYS_GPR391
- , HW_H_SYS_GPR392, HW_H_SYS_GPR393, HW_H_SYS_GPR394, HW_H_SYS_GPR395
- , HW_H_SYS_GPR396, HW_H_SYS_GPR397, HW_H_SYS_GPR398, HW_H_SYS_GPR399
- , HW_H_SYS_GPR400, HW_H_SYS_GPR401, HW_H_SYS_GPR402, HW_H_SYS_GPR403
- , HW_H_SYS_GPR404, HW_H_SYS_GPR405, HW_H_SYS_GPR406, HW_H_SYS_GPR407
- , HW_H_SYS_GPR408, HW_H_SYS_GPR409, HW_H_SYS_GPR410, HW_H_SYS_GPR411
- , HW_H_SYS_GPR412, HW_H_SYS_GPR413, HW_H_SYS_GPR414, HW_H_SYS_GPR415
- , HW_H_SYS_GPR416, HW_H_SYS_GPR417, HW_H_SYS_GPR418, HW_H_SYS_GPR419
- , HW_H_SYS_GPR420, HW_H_SYS_GPR421, HW_H_SYS_GPR422, HW_H_SYS_GPR423
- , HW_H_SYS_GPR424, HW_H_SYS_GPR425, HW_H_SYS_GPR426, HW_H_SYS_GPR427
- , HW_H_SYS_GPR428, HW_H_SYS_GPR429, HW_H_SYS_GPR430, HW_H_SYS_GPR431
- , HW_H_SYS_GPR432, HW_H_SYS_GPR433, HW_H_SYS_GPR434, HW_H_SYS_GPR435
- , HW_H_SYS_GPR436, HW_H_SYS_GPR437, HW_H_SYS_GPR438, HW_H_SYS_GPR439
- , HW_H_SYS_GPR440, HW_H_SYS_GPR441, HW_H_SYS_GPR442, HW_H_SYS_GPR443
- , HW_H_SYS_GPR444, HW_H_SYS_GPR445, HW_H_SYS_GPR446, HW_H_SYS_GPR447
- , HW_H_SYS_GPR448, HW_H_SYS_GPR449, HW_H_SYS_GPR450, HW_H_SYS_GPR451
- , HW_H_SYS_GPR452, HW_H_SYS_GPR453, HW_H_SYS_GPR454, HW_H_SYS_GPR455
- , HW_H_SYS_GPR456, HW_H_SYS_GPR457, HW_H_SYS_GPR458, HW_H_SYS_GPR459
- , HW_H_SYS_GPR460, HW_H_SYS_GPR461, HW_H_SYS_GPR462, HW_H_SYS_GPR463
- , HW_H_SYS_GPR464, HW_H_SYS_GPR465, HW_H_SYS_GPR466, HW_H_SYS_GPR467
- , HW_H_SYS_GPR468, HW_H_SYS_GPR469, HW_H_SYS_GPR470, HW_H_SYS_GPR471
- , HW_H_SYS_GPR472, HW_H_SYS_GPR473, HW_H_SYS_GPR474, HW_H_SYS_GPR475
- , HW_H_SYS_GPR476, HW_H_SYS_GPR477, HW_H_SYS_GPR478, HW_H_SYS_GPR479
- , HW_H_SYS_GPR480, HW_H_SYS_GPR481, HW_H_SYS_GPR482, HW_H_SYS_GPR483
- , HW_H_SYS_GPR484, HW_H_SYS_GPR485, HW_H_SYS_GPR486, HW_H_SYS_GPR487
- , HW_H_SYS_GPR488, HW_H_SYS_GPR489, HW_H_SYS_GPR490, HW_H_SYS_GPR491
- , HW_H_SYS_GPR492, HW_H_SYS_GPR493, HW_H_SYS_GPR494, HW_H_SYS_GPR495
- , HW_H_SYS_GPR496, HW_H_SYS_GPR497, HW_H_SYS_GPR498, HW_H_SYS_GPR499
- , HW_H_SYS_GPR500, HW_H_SYS_GPR501, HW_H_SYS_GPR502, HW_H_SYS_GPR503
- , HW_H_SYS_GPR504, HW_H_SYS_GPR505, HW_H_SYS_GPR506, HW_H_SYS_GPR507
- , HW_H_SYS_GPR508, HW_H_SYS_GPR509, HW_H_SYS_GPR510, HW_H_SYS_GPR511
- , HW_H_MAC_MACLO, HW_H_MAC_MACHI, HW_H_TICK_TTMR, HW_H_SYS_VR_REV
- , HW_H_SYS_VR_CFG, HW_H_SYS_VR_VER, HW_H_SYS_UPR_UP, HW_H_SYS_UPR_DCP
- , HW_H_SYS_UPR_ICP, HW_H_SYS_UPR_DMP, HW_H_SYS_UPR_MP, HW_H_SYS_UPR_IMP
- , HW_H_SYS_UPR_DUP, HW_H_SYS_UPR_PCUP, HW_H_SYS_UPR_PICP, HW_H_SYS_UPR_PMP
- , HW_H_SYS_UPR_TTP, HW_H_SYS_UPR_CUP, HW_H_SYS_CPUCFGR_NSGR, HW_H_SYS_CPUCFGR_CGF
- , HW_H_SYS_CPUCFGR_OB32S, HW_H_SYS_CPUCFGR_OB64S, HW_H_SYS_CPUCFGR_OF32S, HW_H_SYS_CPUCFGR_OF64S
- , HW_H_SYS_CPUCFGR_OV64S, HW_H_SYS_CPUCFGR_ND, HW_H_SYS_SR_SM, HW_H_SYS_SR_TEE
- , HW_H_SYS_SR_IEE, HW_H_SYS_SR_DCE, HW_H_SYS_SR_ICE, HW_H_SYS_SR_DME
- , HW_H_SYS_SR_IME, HW_H_SYS_SR_LEE, HW_H_SYS_SR_CE, HW_H_SYS_SR_F
- , HW_H_SYS_SR_CY, HW_H_SYS_SR_OV, HW_H_SYS_SR_OVE, HW_H_SYS_SR_DSX
- , HW_H_SYS_SR_EPH, HW_H_SYS_SR_FO, HW_H_SYS_SR_SUMRA, HW_H_SYS_SR_CID
- , HW_H_SYS_FPCSR_FPEE, HW_H_SYS_FPCSR_RM, HW_H_SYS_FPCSR_OVF, HW_H_SYS_FPCSR_UNF
- , HW_H_SYS_FPCSR_SNF, HW_H_SYS_FPCSR_QNF, HW_H_SYS_FPCSR_ZF, HW_H_SYS_FPCSR_IXF
- , HW_H_SYS_FPCSR_IVF, HW_H_SYS_FPCSR_INF, HW_H_SYS_FPCSR_DZF, HW_H_SIMM16
- , HW_H_UIMM16, HW_H_UIMM6, HW_H_ATOMIC_RESERVE, HW_H_ATOMIC_ADDRESS
- , HW_H_ROFF1, HW_MAX
+ , HW_H_SYS_COREID, HW_H_SYS_NUMCORES, HW_H_SYS_GPR0, HW_H_SYS_GPR1
+ , HW_H_SYS_GPR2, HW_H_SYS_GPR3, HW_H_SYS_GPR4, HW_H_SYS_GPR5
+ , HW_H_SYS_GPR6, HW_H_SYS_GPR7, HW_H_SYS_GPR8, HW_H_SYS_GPR9
+ , HW_H_SYS_GPR10, HW_H_SYS_GPR11, HW_H_SYS_GPR12, HW_H_SYS_GPR13
+ , HW_H_SYS_GPR14, HW_H_SYS_GPR15, HW_H_SYS_GPR16, HW_H_SYS_GPR17
+ , HW_H_SYS_GPR18, HW_H_SYS_GPR19, HW_H_SYS_GPR20, HW_H_SYS_GPR21
+ , HW_H_SYS_GPR22, HW_H_SYS_GPR23, HW_H_SYS_GPR24, HW_H_SYS_GPR25
+ , HW_H_SYS_GPR26, HW_H_SYS_GPR27, HW_H_SYS_GPR28, HW_H_SYS_GPR29
+ , HW_H_SYS_GPR30, HW_H_SYS_GPR31, HW_H_SYS_GPR32, HW_H_SYS_GPR33
+ , HW_H_SYS_GPR34, HW_H_SYS_GPR35, HW_H_SYS_GPR36, HW_H_SYS_GPR37
+ , HW_H_SYS_GPR38, HW_H_SYS_GPR39, HW_H_SYS_GPR40, HW_H_SYS_GPR41
+ , HW_H_SYS_GPR42, HW_H_SYS_GPR43, HW_H_SYS_GPR44, HW_H_SYS_GPR45
+ , HW_H_SYS_GPR46, HW_H_SYS_GPR47, HW_H_SYS_GPR48, HW_H_SYS_GPR49
+ , HW_H_SYS_GPR50, HW_H_SYS_GPR51, HW_H_SYS_GPR52, HW_H_SYS_GPR53
+ , HW_H_SYS_GPR54, HW_H_SYS_GPR55, HW_H_SYS_GPR56, HW_H_SYS_GPR57
+ , HW_H_SYS_GPR58, HW_H_SYS_GPR59, HW_H_SYS_GPR60, HW_H_SYS_GPR61
+ , HW_H_SYS_GPR62, HW_H_SYS_GPR63, HW_H_SYS_GPR64, HW_H_SYS_GPR65
+ , HW_H_SYS_GPR66, HW_H_SYS_GPR67, HW_H_SYS_GPR68, HW_H_SYS_GPR69
+ , HW_H_SYS_GPR70, HW_H_SYS_GPR71, HW_H_SYS_GPR72, HW_H_SYS_GPR73
+ , HW_H_SYS_GPR74, HW_H_SYS_GPR75, HW_H_SYS_GPR76, HW_H_SYS_GPR77
+ , HW_H_SYS_GPR78, HW_H_SYS_GPR79, HW_H_SYS_GPR80, HW_H_SYS_GPR81
+ , HW_H_SYS_GPR82, HW_H_SYS_GPR83, HW_H_SYS_GPR84, HW_H_SYS_GPR85
+ , HW_H_SYS_GPR86, HW_H_SYS_GPR87, HW_H_SYS_GPR88, HW_H_SYS_GPR89
+ , HW_H_SYS_GPR90, HW_H_SYS_GPR91, HW_H_SYS_GPR92, HW_H_SYS_GPR93
+ , HW_H_SYS_GPR94, HW_H_SYS_GPR95, HW_H_SYS_GPR96, HW_H_SYS_GPR97
+ , HW_H_SYS_GPR98, HW_H_SYS_GPR99, HW_H_SYS_GPR100, HW_H_SYS_GPR101
+ , HW_H_SYS_GPR102, HW_H_SYS_GPR103, HW_H_SYS_GPR104, HW_H_SYS_GPR105
+ , HW_H_SYS_GPR106, HW_H_SYS_GPR107, HW_H_SYS_GPR108, HW_H_SYS_GPR109
+ , HW_H_SYS_GPR110, HW_H_SYS_GPR111, HW_H_SYS_GPR112, HW_H_SYS_GPR113
+ , HW_H_SYS_GPR114, HW_H_SYS_GPR115, HW_H_SYS_GPR116, HW_H_SYS_GPR117
+ , HW_H_SYS_GPR118, HW_H_SYS_GPR119, HW_H_SYS_GPR120, HW_H_SYS_GPR121
+ , HW_H_SYS_GPR122, HW_H_SYS_GPR123, HW_H_SYS_GPR124, HW_H_SYS_GPR125
+ , HW_H_SYS_GPR126, HW_H_SYS_GPR127, HW_H_SYS_GPR128, HW_H_SYS_GPR129
+ , HW_H_SYS_GPR130, HW_H_SYS_GPR131, HW_H_SYS_GPR132, HW_H_SYS_GPR133
+ , HW_H_SYS_GPR134, HW_H_SYS_GPR135, HW_H_SYS_GPR136, HW_H_SYS_GPR137
+ , HW_H_SYS_GPR138, HW_H_SYS_GPR139, HW_H_SYS_GPR140, HW_H_SYS_GPR141
+ , HW_H_SYS_GPR142, HW_H_SYS_GPR143, HW_H_SYS_GPR144, HW_H_SYS_GPR145
+ , HW_H_SYS_GPR146, HW_H_SYS_GPR147, HW_H_SYS_GPR148, HW_H_SYS_GPR149
+ , HW_H_SYS_GPR150, HW_H_SYS_GPR151, HW_H_SYS_GPR152, HW_H_SYS_GPR153
+ , HW_H_SYS_GPR154, HW_H_SYS_GPR155, HW_H_SYS_GPR156, HW_H_SYS_GPR157
+ , HW_H_SYS_GPR158, HW_H_SYS_GPR159, HW_H_SYS_GPR160, HW_H_SYS_GPR161
+ , HW_H_SYS_GPR162, HW_H_SYS_GPR163, HW_H_SYS_GPR164, HW_H_SYS_GPR165
+ , HW_H_SYS_GPR166, HW_H_SYS_GPR167, HW_H_SYS_GPR168, HW_H_SYS_GPR169
+ , HW_H_SYS_GPR170, HW_H_SYS_GPR171, HW_H_SYS_GPR172, HW_H_SYS_GPR173
+ , HW_H_SYS_GPR174, HW_H_SYS_GPR175, HW_H_SYS_GPR176, HW_H_SYS_GPR177
+ , HW_H_SYS_GPR178, HW_H_SYS_GPR179, HW_H_SYS_GPR180, HW_H_SYS_GPR181
+ , HW_H_SYS_GPR182, HW_H_SYS_GPR183, HW_H_SYS_GPR184, HW_H_SYS_GPR185
+ , HW_H_SYS_GPR186, HW_H_SYS_GPR187, HW_H_SYS_GPR188, HW_H_SYS_GPR189
+ , HW_H_SYS_GPR190, HW_H_SYS_GPR191, HW_H_SYS_GPR192, HW_H_SYS_GPR193
+ , HW_H_SYS_GPR194, HW_H_SYS_GPR195, HW_H_SYS_GPR196, HW_H_SYS_GPR197
+ , HW_H_SYS_GPR198, HW_H_SYS_GPR199, HW_H_SYS_GPR200, HW_H_SYS_GPR201
+ , HW_H_SYS_GPR202, HW_H_SYS_GPR203, HW_H_SYS_GPR204, HW_H_SYS_GPR205
+ , HW_H_SYS_GPR206, HW_H_SYS_GPR207, HW_H_SYS_GPR208, HW_H_SYS_GPR209
+ , HW_H_SYS_GPR210, HW_H_SYS_GPR211, HW_H_SYS_GPR212, HW_H_SYS_GPR213
+ , HW_H_SYS_GPR214, HW_H_SYS_GPR215, HW_H_SYS_GPR216, HW_H_SYS_GPR217
+ , HW_H_SYS_GPR218, HW_H_SYS_GPR219, HW_H_SYS_GPR220, HW_H_SYS_GPR221
+ , HW_H_SYS_GPR222, HW_H_SYS_GPR223, HW_H_SYS_GPR224, HW_H_SYS_GPR225
+ , HW_H_SYS_GPR226, HW_H_SYS_GPR227, HW_H_SYS_GPR228, HW_H_SYS_GPR229
+ , HW_H_SYS_GPR230, HW_H_SYS_GPR231, HW_H_SYS_GPR232, HW_H_SYS_GPR233
+ , HW_H_SYS_GPR234, HW_H_SYS_GPR235, HW_H_SYS_GPR236, HW_H_SYS_GPR237
+ , HW_H_SYS_GPR238, HW_H_SYS_GPR239, HW_H_SYS_GPR240, HW_H_SYS_GPR241
+ , HW_H_SYS_GPR242, HW_H_SYS_GPR243, HW_H_SYS_GPR244, HW_H_SYS_GPR245
+ , HW_H_SYS_GPR246, HW_H_SYS_GPR247, HW_H_SYS_GPR248, HW_H_SYS_GPR249
+ , HW_H_SYS_GPR250, HW_H_SYS_GPR251, HW_H_SYS_GPR252, HW_H_SYS_GPR253
+ , HW_H_SYS_GPR254, HW_H_SYS_GPR255, HW_H_SYS_GPR256, HW_H_SYS_GPR257
+ , HW_H_SYS_GPR258, HW_H_SYS_GPR259, HW_H_SYS_GPR260, HW_H_SYS_GPR261
+ , HW_H_SYS_GPR262, HW_H_SYS_GPR263, HW_H_SYS_GPR264, HW_H_SYS_GPR265
+ , HW_H_SYS_GPR266, HW_H_SYS_GPR267, HW_H_SYS_GPR268, HW_H_SYS_GPR269
+ , HW_H_SYS_GPR270, HW_H_SYS_GPR271, HW_H_SYS_GPR272, HW_H_SYS_GPR273
+ , HW_H_SYS_GPR274, HW_H_SYS_GPR275, HW_H_SYS_GPR276, HW_H_SYS_GPR277
+ , HW_H_SYS_GPR278, HW_H_SYS_GPR279, HW_H_SYS_GPR280, HW_H_SYS_GPR281
+ , HW_H_SYS_GPR282, HW_H_SYS_GPR283, HW_H_SYS_GPR284, HW_H_SYS_GPR285
+ , HW_H_SYS_GPR286, HW_H_SYS_GPR287, HW_H_SYS_GPR288, HW_H_SYS_GPR289
+ , HW_H_SYS_GPR290, HW_H_SYS_GPR291, HW_H_SYS_GPR292, HW_H_SYS_GPR293
+ , HW_H_SYS_GPR294, HW_H_SYS_GPR295, HW_H_SYS_GPR296, HW_H_SYS_GPR297
+ , HW_H_SYS_GPR298, HW_H_SYS_GPR299, HW_H_SYS_GPR300, HW_H_SYS_GPR301
+ , HW_H_SYS_GPR302, HW_H_SYS_GPR303, HW_H_SYS_GPR304, HW_H_SYS_GPR305
+ , HW_H_SYS_GPR306, HW_H_SYS_GPR307, HW_H_SYS_GPR308, HW_H_SYS_GPR309
+ , HW_H_SYS_GPR310, HW_H_SYS_GPR311, HW_H_SYS_GPR312, HW_H_SYS_GPR313
+ , HW_H_SYS_GPR314, HW_H_SYS_GPR315, HW_H_SYS_GPR316, HW_H_SYS_GPR317
+ , HW_H_SYS_GPR318, HW_H_SYS_GPR319, HW_H_SYS_GPR320, HW_H_SYS_GPR321
+ , HW_H_SYS_GPR322, HW_H_SYS_GPR323, HW_H_SYS_GPR324, HW_H_SYS_GPR325
+ , HW_H_SYS_GPR326, HW_H_SYS_GPR327, HW_H_SYS_GPR328, HW_H_SYS_GPR329
+ , HW_H_SYS_GPR330, HW_H_SYS_GPR331, HW_H_SYS_GPR332, HW_H_SYS_GPR333
+ , HW_H_SYS_GPR334, HW_H_SYS_GPR335, HW_H_SYS_GPR336, HW_H_SYS_GPR337
+ , HW_H_SYS_GPR338, HW_H_SYS_GPR339, HW_H_SYS_GPR340, HW_H_SYS_GPR341
+ , HW_H_SYS_GPR342, HW_H_SYS_GPR343, HW_H_SYS_GPR344, HW_H_SYS_GPR345
+ , HW_H_SYS_GPR346, HW_H_SYS_GPR347, HW_H_SYS_GPR348, HW_H_SYS_GPR349
+ , HW_H_SYS_GPR350, HW_H_SYS_GPR351, HW_H_SYS_GPR352, HW_H_SYS_GPR353
+ , HW_H_SYS_GPR354, HW_H_SYS_GPR355, HW_H_SYS_GPR356, HW_H_SYS_GPR357
+ , HW_H_SYS_GPR358, HW_H_SYS_GPR359, HW_H_SYS_GPR360, HW_H_SYS_GPR361
+ , HW_H_SYS_GPR362, HW_H_SYS_GPR363, HW_H_SYS_GPR364, HW_H_SYS_GPR365
+ , HW_H_SYS_GPR366, HW_H_SYS_GPR367, HW_H_SYS_GPR368, HW_H_SYS_GPR369
+ , HW_H_SYS_GPR370, HW_H_SYS_GPR371, HW_H_SYS_GPR372, HW_H_SYS_GPR373
+ , HW_H_SYS_GPR374, HW_H_SYS_GPR375, HW_H_SYS_GPR376, HW_H_SYS_GPR377
+ , HW_H_SYS_GPR378, HW_H_SYS_GPR379, HW_H_SYS_GPR380, HW_H_SYS_GPR381
+ , HW_H_SYS_GPR382, HW_H_SYS_GPR383, HW_H_SYS_GPR384, HW_H_SYS_GPR385
+ , HW_H_SYS_GPR386, HW_H_SYS_GPR387, HW_H_SYS_GPR388, HW_H_SYS_GPR389
+ , HW_H_SYS_GPR390, HW_H_SYS_GPR391, HW_H_SYS_GPR392, HW_H_SYS_GPR393
+ , HW_H_SYS_GPR394, HW_H_SYS_GPR395, HW_H_SYS_GPR396, HW_H_SYS_GPR397
+ , HW_H_SYS_GPR398, HW_H_SYS_GPR399, HW_H_SYS_GPR400, HW_H_SYS_GPR401
+ , HW_H_SYS_GPR402, HW_H_SYS_GPR403, HW_H_SYS_GPR404, HW_H_SYS_GPR405
+ , HW_H_SYS_GPR406, HW_H_SYS_GPR407, HW_H_SYS_GPR408, HW_H_SYS_GPR409
+ , HW_H_SYS_GPR410, HW_H_SYS_GPR411, HW_H_SYS_GPR412, HW_H_SYS_GPR413
+ , HW_H_SYS_GPR414, HW_H_SYS_GPR415, HW_H_SYS_GPR416, HW_H_SYS_GPR417
+ , HW_H_SYS_GPR418, HW_H_SYS_GPR419, HW_H_SYS_GPR420, HW_H_SYS_GPR421
+ , HW_H_SYS_GPR422, HW_H_SYS_GPR423, HW_H_SYS_GPR424, HW_H_SYS_GPR425
+ , HW_H_SYS_GPR426, HW_H_SYS_GPR427, HW_H_SYS_GPR428, HW_H_SYS_GPR429
+ , HW_H_SYS_GPR430, HW_H_SYS_GPR431, HW_H_SYS_GPR432, HW_H_SYS_GPR433
+ , HW_H_SYS_GPR434, HW_H_SYS_GPR435, HW_H_SYS_GPR436, HW_H_SYS_GPR437
+ , HW_H_SYS_GPR438, HW_H_SYS_GPR439, HW_H_SYS_GPR440, HW_H_SYS_GPR441
+ , HW_H_SYS_GPR442, HW_H_SYS_GPR443, HW_H_SYS_GPR444, HW_H_SYS_GPR445
+ , HW_H_SYS_GPR446, HW_H_SYS_GPR447, HW_H_SYS_GPR448, HW_H_SYS_GPR449
+ , HW_H_SYS_GPR450, HW_H_SYS_GPR451, HW_H_SYS_GPR452, HW_H_SYS_GPR453
+ , HW_H_SYS_GPR454, HW_H_SYS_GPR455, HW_H_SYS_GPR456, HW_H_SYS_GPR457
+ , HW_H_SYS_GPR458, HW_H_SYS_GPR459, HW_H_SYS_GPR460, HW_H_SYS_GPR461
+ , HW_H_SYS_GPR462, HW_H_SYS_GPR463, HW_H_SYS_GPR464, HW_H_SYS_GPR465
+ , HW_H_SYS_GPR466, HW_H_SYS_GPR467, HW_H_SYS_GPR468, HW_H_SYS_GPR469
+ , HW_H_SYS_GPR470, HW_H_SYS_GPR471, HW_H_SYS_GPR472, HW_H_SYS_GPR473
+ , HW_H_SYS_GPR474, HW_H_SYS_GPR475, HW_H_SYS_GPR476, HW_H_SYS_GPR477
+ , HW_H_SYS_GPR478, HW_H_SYS_GPR479, HW_H_SYS_GPR480, HW_H_SYS_GPR481
+ , HW_H_SYS_GPR482, HW_H_SYS_GPR483, HW_H_SYS_GPR484, HW_H_SYS_GPR485
+ , HW_H_SYS_GPR486, HW_H_SYS_GPR487, HW_H_SYS_GPR488, HW_H_SYS_GPR489
+ , HW_H_SYS_GPR490, HW_H_SYS_GPR491, HW_H_SYS_GPR492, HW_H_SYS_GPR493
+ , HW_H_SYS_GPR494, HW_H_SYS_GPR495, HW_H_SYS_GPR496, HW_H_SYS_GPR497
+ , HW_H_SYS_GPR498, HW_H_SYS_GPR499, HW_H_SYS_GPR500, HW_H_SYS_GPR501
+ , HW_H_SYS_GPR502, HW_H_SYS_GPR503, HW_H_SYS_GPR504, HW_H_SYS_GPR505
+ , HW_H_SYS_GPR506, HW_H_SYS_GPR507, HW_H_SYS_GPR508, HW_H_SYS_GPR509
+ , HW_H_SYS_GPR510, HW_H_SYS_GPR511, HW_H_MAC_MACLO, HW_H_MAC_MACHI
+ , HW_H_TICK_TTMR, HW_H_SYS_VR_REV, HW_H_SYS_VR_CFG, HW_H_SYS_VR_VER
+ , HW_H_SYS_UPR_UP, HW_H_SYS_UPR_DCP, HW_H_SYS_UPR_ICP, HW_H_SYS_UPR_DMP
+ , HW_H_SYS_UPR_MP, HW_H_SYS_UPR_IMP, HW_H_SYS_UPR_DUP, HW_H_SYS_UPR_PCUP
+ , HW_H_SYS_UPR_PICP, HW_H_SYS_UPR_PMP, HW_H_SYS_UPR_TTP, HW_H_SYS_UPR_CUP
+ , HW_H_SYS_CPUCFGR_NSGR, HW_H_SYS_CPUCFGR_CGF, HW_H_SYS_CPUCFGR_OB32S, HW_H_SYS_CPUCFGR_OB64S
+ , HW_H_SYS_CPUCFGR_OF32S, HW_H_SYS_CPUCFGR_OF64S, HW_H_SYS_CPUCFGR_OV64S, HW_H_SYS_CPUCFGR_ND
+ , HW_H_SYS_SR_SM, HW_H_SYS_SR_TEE, HW_H_SYS_SR_IEE, HW_H_SYS_SR_DCE
+ , HW_H_SYS_SR_ICE, HW_H_SYS_SR_DME, HW_H_SYS_SR_IME, HW_H_SYS_SR_LEE
+ , HW_H_SYS_SR_CE, HW_H_SYS_SR_F, HW_H_SYS_SR_CY, HW_H_SYS_SR_OV
+ , HW_H_SYS_SR_OVE, HW_H_SYS_SR_DSX, HW_H_SYS_SR_EPH, HW_H_SYS_SR_FO
+ , HW_H_SYS_SR_SUMRA, HW_H_SYS_SR_CID, HW_H_SYS_FPCSR_FPEE, HW_H_SYS_FPCSR_RM
+ , HW_H_SYS_FPCSR_OVF, HW_H_SYS_FPCSR_UNF, HW_H_SYS_FPCSR_SNF, HW_H_SYS_FPCSR_QNF
+ , HW_H_SYS_FPCSR_ZF, HW_H_SYS_FPCSR_IXF, HW_H_SYS_FPCSR_IVF, HW_H_SYS_FPCSR_INF
+ , HW_H_SYS_FPCSR_DZF, HW_H_SIMM16, HW_H_UIMM16, HW_H_UIMM6
+ , HW_H_ATOMIC_RESERVE, HW_H_ATOMIC_ADDRESS, HW_H_ROFF1, HW_MAX
} CGEN_HW_TYPE;
#define MAX_HW ((int) HW_MAX)
diff --git a/opcodes/or1k-opc.h b/opcodes/or1k-opc.h
index d3d084b..6eec800 100644
--- a/opcodes/or1k-opc.h
+++ b/opcodes/or1k-opc.h
@@ -35,7 +35,7 @@ extern "C" {
#undef CGEN_DIS_HASH_SIZE
#define CGEN_DIS_HASH_SIZE 256
#undef CGEN_DIS_HASH
-#define CGEN_DIS_HASH(buffer, value) (((unsigned char *) (buffer))[0] >> 2)
+#define CGEN_DIS_HASH(buffer, value) ((value >> 26) & 0xff)
/* Check applicability of instructions against machines. */
#define CGEN_VALIDATE_INSN_SUPPORTED
diff --git a/opcodes/po/es.po b/opcodes/po/es.po
index f29dac3..767355d 100644
--- a/opcodes/po/es.po
+++ b/opcodes/po/es.po
@@ -1,30 +1,49 @@
-# Spanish messages for opcodes-2.30.0.
+# Spanish messages for opcodes.
# Copyright (C) 2002- 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the binutils package.
# Cristian Othón Martínez Vera <cfuga@cfuga.mx>, 2002 - 2012.
# Francisco Javier Serrador <fserrador@gmail.com>, 2018.
+# Antonio Ceballos <aceballos@gmail.com>, 2025.
+#
msgid ""
msgstr ""
-"Project-Id-Version: opcodes 2.30.0\n"
-"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2018-01-13 13:44+0000\n"
-"PO-Revision-Date: 2018-04-01 17:33+0200\n"
-"Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n"
+"Project-Id-Version: opcodes 2.43.90\n"
+"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
+"POT-Creation-Date: 2025-01-19 12:20+0000\n"
+"PO-Revision-Date: 2025-06-09 06:49+0200\n"
+"Last-Translator: Antonio Ceballos <aceballos@gmail.com>\n"
"Language-Team: Spanish <es@tp.org.es>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
-"X-Generator: Poedit 2.0.4\n"
+
+#: aarch64-asm.c:895
+msgid "specified register cannot be read from"
+msgstr "el registro especificado no puede leerse de"
+
+#: aarch64-asm.c:904
+msgid "specified register cannot be written to"
+msgstr "el registro especificado no puede escribirse en"
#. Invalid option.
-#: aarch64-dis.c:81 arc-dis.c:781 arm-dis.c:6155
+#: aarch64-dis.c:103 arc-dis.c:795 arm-dis.c:11968 kvx-dis.c:154
#, c-format
-msgid "Unrecognised disassembler option: %s\n"
-msgstr "Irreconocida opción de desensamblador: %s\n"
+msgid "unrecognised disassembler option: %s"
+msgstr "opción de desensamblador no reconocida: %s"
-#: aarch64-dis.c:3264
+#: aarch64-dis.c:4096
+#, c-format
+msgid "this `%s' should have an immediately preceding `%s'"
+msgstr "este «%s» debería tener inmediatamente antes un «%s»"
+
+#: aarch64-dis.c:4103
+#, c-format
+msgid "expected `%s' after previous `%s'"
+msgstr "se esperaba «%s» tras el «%s» previo"
+
+#: aarch64-dis.c:4529
#, c-format
msgid ""
"\n"
@@ -33,244 +52,362 @@ msgid ""
msgstr ""
"\n"
"Las siguientes opciones de desensamblador específicas de AARCH64 se admiten\n"
-"para usarse con el interruptor -M (las opciones múltiples se deben separar con\n"
-"comas):\n"
+"para usarse con el interruptor -M (si hay varias opciones, deben separarse\n"
+"con comas):\n"
-#: aarch64-dis.c:3268
+#: aarch64-dis.c:4533
#, c-format
msgid ""
"\n"
" no-aliases Don't print instruction aliases.\n"
msgstr ""
"\n"
-" no-aliases No escribir instrucciones aliases.\n"
+" no-aliases No imprime alias de las instrucciones.\n"
-#: aarch64-dis.c:3271
+#: aarch64-dis.c:4536
#, c-format
msgid ""
"\n"
" aliases Do print instruction aliases.\n"
msgstr ""
"\n"
-" aliases No escribir alias de instrucción.\n"
+" aliases Imprime alias de las instrucciones.\n"
+
+#: aarch64-dis.c:4539
+#, c-format
+msgid ""
+"\n"
+" no-notes Don't print instruction notes.\n"
+msgstr ""
+"\n"
+" no-notes No imprime notas de las instrucciones.\n"
+
+#: aarch64-dis.c:4542
+#, c-format
+msgid ""
+"\n"
+" notes Do print instruction notes.\n"
+msgstr ""
+"\n"
+" nties Imprime notas de las instrucciones.\n"
-#: aarch64-dis.c:3275
+#: aarch64-dis.c:4546
#, c-format
msgid ""
"\n"
" debug_dump Temp switch for debug trace.\n"
msgstr ""
"\n"
-" debug_dump intercambio temporal para trazo depurador.\n"
+" debug_dump Opción temporal para traza de depuración.\n"
-#: aarch64-dis.c:3279 mips-dis.c:2601 mips-dis.c:2609 mips-dis.c:2611
-#: riscv-dis.c:509
+#: aarch64-dis.c:4550 arc-dis.c:1585 arc-dis.c:1608 arc-dis.c:1611
+#: kvx-dis.c:1586 loongarch-dis.c:337 mips-dis.c:2903 mips-dis.c:2915
+#: mips-dis.c:2918 nfp-dis.c:3002 riscv-dis.c:1660 riscv-dis.c:1663
#, c-format
msgid "\n"
msgstr "\n"
-#: aarch64-opc.c:1311
+#: aarch64-opc.c:1471
msgid "immediate value"
msgstr "valor inmediato"
-#: aarch64-opc.c:1321
+#: aarch64-opc.c:1481
msgid "immediate offset"
msgstr "desplazamiento inmediato"
-#: aarch64-opc.c:1331
+#: aarch64-opc.c:1491
msgid "register number"
-msgstr "el número de registro"
+msgstr "número de registro"
-#: aarch64-opc.c:1341
+#: aarch64-opc.c:1501
msgid "register element index"
-msgstr "índice de elemento registro"
+msgstr "índice de elemento de registro"
-#: aarch64-opc.c:1351
+#: aarch64-opc.c:1511
msgid "shift amount"
-msgstr "cantidad shift"
+msgstr "cantidad de desplazamiento"
-#: aarch64-opc.c:1363
+#: aarch64-opc.c:1523
msgid "multiplier"
msgstr "multiplicador"
-#: aarch64-opc.c:1436
+#: aarch64-opc.c:1692
+msgid "expected a selection register in the range w12-w15"
+msgstr "se esperaba un registro de selección en el rango w12-w15"
+
+#: aarch64-opc.c:1696
+msgid "expected a selection register in the range w8-w11"
+msgstr "se esperaba un registro de selección en el rango w8-w11"
+
+#: aarch64-opc.c:1715
+msgid "starting offset is not a multiple of 2"
+msgstr "el desplazamiento de inicio no es un múltiplo de 2"
+
+#: aarch64-opc.c:1716
+msgid "starting offset is not a multiple of 4"
+msgstr "el desplazamiento de inicio no es un múltiplo de 4"
+
+#: aarch64-opc.c:1724
+msgid "expected a single offset rather than a range"
+msgstr "se esperaba un desplazamiento singular en lugar de un rango"
+
+#: aarch64-opc.c:1728
+msgid "expected a range of two offsets"
+msgstr "se esperaba un rango de dos desplazamientos"
+
+#: aarch64-opc.c:1731
+msgid "expected a range of four offsets"
+msgstr "se esperaba un rango de cuatro desplazamientos"
+
+#: aarch64-opc.c:1812
+msgid "second reg in pair should be xzr if first is xzr"
+msgstr "el segundo reg de la pareja debería ser xzr si el primero es xzr"
+
+#: aarch64-opc.c:1826
msgid "reg pair must start from even reg"
-msgstr "pareja reg deben iniciar desde reg par"
+msgstr "la pareja de reg debe empezar en reg par"
-#: aarch64-opc.c:1442
+#: aarch64-opc.c:1832
msgid "reg pair must be contiguous"
-msgstr "pareja reg deben ser continuos"
+msgstr "la pareja de reg debe ser contigua"
-#: aarch64-opc.c:1456
+#: aarch64-opc.c:1846
msgid "extraneous register"
msgstr "registro extraño"
-#: aarch64-opc.c:1462
+#: aarch64-opc.c:1852
msgid "missing register"
-msgstr "ausente registro"
+msgstr "registro ausente"
-#: aarch64-opc.c:1473
+#: aarch64-opc.c:1863
msgid "stack pointer register expected"
-msgstr "requerido registro de puntero de pila"
-
-#: aarch64-opc.c:1496
-msgid "z0-z15 expected"
-msgstr "se esperaba z0-z15"
-
-#: aarch64-opc.c:1497
-msgid "z0-z7 expected"
-msgstr "se esperaba z0-z7"
-
-#: aarch64-opc.c:1523
-msgid "invalid register list"
-msgstr "invalida lista de registros"
+msgstr "se esperaba registro de puntero de pila"
-#: aarch64-opc.c:1537
-msgid "p0-p7 expected"
-msgstr "se esperaba p0-p7"
+#: aarch64-opc.c:2000 aarch64-opc.c:2016
+msgid "start register out of range"
+msgstr "registro de inicio fuera de rango"
-#: aarch64-opc.c:1563 aarch64-opc.c:1571
+#: aarch64-opc.c:2209 aarch64-opc.c:2217 aarch64-opc.c:2240
msgid "unexpected address writeback"
-msgstr "dirección trasera inesperada"
+msgstr "«writeback» de dirección inesperada"
-#: aarch64-opc.c:1582
+#: aarch64-opc.c:2228
msgid "address writeback expected"
-msgstr "dirección trasera esperada"
+msgstr "se esperaba «writeback» de dirección"
-#: aarch64-opc.c:1629
+#: aarch64-opc.c:2288
msgid "negative or unaligned offset expected"
-msgstr "esperaba desplazamiento no aliniado o negativo"
+msgstr "se esperaba desplazamiento negativo o no alineado"
-#: aarch64-opc.c:1656
+#: aarch64-opc.c:2345
msgid "invalid register offset"
-msgstr "invalida registro desplazado"
+msgstr "desplazamiento de registro no válido"
-#: aarch64-opc.c:1678
+#: aarch64-opc.c:2367
msgid "invalid post-increment amount"
-msgstr "invalida cantidad post-incremental"
+msgstr "cantidad post-incremental no válida"
-#: aarch64-opc.c:1694 aarch64-opc.c:2171
+#: aarch64-opc.c:2383 aarch64-opc.c:2933
msgid "invalid shift amount"
-msgstr "invalida cantidad shift"
+msgstr "cantidad de desplazamiento no válida"
-#: aarch64-opc.c:1707
+#: aarch64-opc.c:2396
msgid "invalid extend/shift operator"
-msgstr "invalida operador extend/shift"
+msgstr "operador de extensión/desplazamiento no válido"
-#: aarch64-opc.c:1753 aarch64-opc.c:1992 aarch64-opc.c:2027 aarch64-opc.c:2046
-#: aarch64-opc.c:2054 aarch64-opc.c:2125 aarch64-opc.c:2301 aarch64-opc.c:2401
-#: aarch64-opc.c:2414
-msgid "immediate out of range"
-msgstr "inmediato fuera de rango"
-
-#: aarch64-opc.c:1775 aarch64-opc.c:1817 aarch64-opc.c:1866 aarch64-opc.c:1900
+#: aarch64-opc.c:2470 aarch64-opc.c:2512 aarch64-opc.c:2576 aarch64-opc.c:2610
msgid "invalid addressing mode"
-msgstr "invalida modo de direccionamiento"
+msgstr "modo de direccionamiento no válido"
-#: aarch64-opc.c:1858
+#: aarch64-opc.c:2568
msgid "index register xzr is not allowed"
-msgstr "registro indexado xzr no está permitido"
+msgstr "el registro de índice xzr no está permitido"
-#: aarch64-opc.c:1980 aarch64-opc.c:2002 aarch64-opc.c:2204 aarch64-opc.c:2212
-#: aarch64-opc.c:2278 aarch64-opc.c:2307
+#: aarch64-opc.c:2637
+msgid "invalid increment amount"
+msgstr "cantidad de incremento no válida"
+
+#: aarch64-opc.c:2720 aarch64-opc.c:2742 aarch64-opc.c:2966 aarch64-opc.c:2974
+#: aarch64-opc.c:3040 aarch64-opc.c:3069
msgid "invalid shift operator"
-msgstr "invalida operador shift"
+msgstr "operador de desplazamiento no válido"
-#: aarch64-opc.c:1986
+#: aarch64-opc.c:2726
msgid "shift amount must be 0 or 12"
-msgstr "cantidad shift debe ser 0 o 12"
+msgstr "la cantidad de desplazamiento tiene que ser 0 o 12"
+
+#: aarch64-opc.c:2732 aarch64-opc.c:2767 aarch64-opc.c:2786 aarch64-opc.c:2794
+#: aarch64-opc.c:2886 aarch64-opc.c:3063 aarch64-opc.c:3163 aarch64-opc.c:3176
+msgid "immediate out of range"
+msgstr "fuera de rango inmediato"
-#: aarch64-opc.c:2009
+#: aarch64-opc.c:2749
msgid "shift amount must be a multiple of 16"
-msgstr "cantidad shift debe ser un múltiplo de 16"
+msgstr "la cantidad de desplazamiento tiene que ser múltiplo de 16"
-#: aarch64-opc.c:2021
+#: aarch64-opc.c:2761
msgid "negative immediate value not allowed"
-msgstr "valor inmediato negativo no está permitido"
+msgstr "valor inmediato negativo no permitido"
-#: aarch64-opc.c:2136
+#: aarch64-opc.c:2897
msgid "immediate zero expected"
-msgstr "esperado cero inmediaro"
+msgstr "se esperaba cero inmediato"
-#: aarch64-opc.c:2150
+#: aarch64-opc.c:2911
msgid "rotate expected to be 0, 90, 180 or 270"
-msgstr "rotación experada para ser 0, 90, 180, 270"
+msgstr "rotación esperada 0, 90, 180 o 270"
-#: aarch64-opc.c:2160
+#: aarch64-opc.c:2922
msgid "rotate expected to be 90 or 270"
-msgstr "rotación esperada a ser 90 o 270"
+msgstr "rotación esperada 90 o 270"
-#: aarch64-opc.c:2220
+#: aarch64-opc.c:2982
msgid "shift is not permitted"
-msgstr "shift no está inválido"
+msgstr "no está permitido desplazamiento"
-#: aarch64-opc.c:2245
+#: aarch64-opc.c:3007
msgid "invalid value for immediate"
-msgstr "invalida valor para inmediato"
+msgstr "valor no válido para inmediato"
-#: aarch64-opc.c:2270
+#: aarch64-opc.c:3032
msgid "shift amount must be 0 or 16"
-msgstr "cantidad shift debe ser 0 o 16"
+msgstr "la cantidad de desplazamiento tiene que ser 0 o 16"
-#: aarch64-opc.c:2291
+#: aarch64-opc.c:3053
msgid "floating-point immediate expected"
-msgstr "esperaba coma flotante inmediata"
+msgstr "se esperaba coma flotante inmediata"
-#: aarch64-opc.c:2325
+#: aarch64-opc.c:3087
msgid "no shift amount allowed for 8-bit constants"
-msgstr "ninguna cantidad shift permitida para constantes de 8-bit"
+msgstr "no se permite ninguna cantidad de desplazamiento para constantes de 8 bits"
-#: aarch64-opc.c:2335
+#: aarch64-opc.c:3097
msgid "shift amount must be 0 or 8"
-msgstr "cantidad shift debe ser 0 u 8"
+msgstr "la cantidad de desplazamiento debe ser 0 u 8"
-#: aarch64-opc.c:2348
+#: aarch64-opc.c:3110
msgid "immediate too big for element size"
-msgstr "inmediato muy grande para tamaño de elemento"
+msgstr "inmediato demasiado grande para tamaño de elemento"
-#: aarch64-opc.c:2355
+#: aarch64-opc.c:3117
msgid "invalid arithmetic immediate"
-msgstr "invalida aritmética inmediata"
+msgstr "inmediato aritmético no válido"
-#: aarch64-opc.c:2369
+#: aarch64-opc.c:3131
msgid "floating-point value must be 0.5 or 1.0"
-msgstr "valor coma flotante debe ser 0'5 o 1'0"
+msgstr "el valor de coma flotante tiene que ser 0,5 o 1,0"
-#: aarch64-opc.c:2379
+#: aarch64-opc.c:3141
msgid "floating-point value must be 0.5 or 2.0"
-msgstr "valor coma flotante debe ser 0'5 o 2'0"
+msgstr "el valor de coma flotante tiene que ser 0,5 o 2,0"
-#: aarch64-opc.c:2389
+#: aarch64-opc.c:3151
msgid "floating-point value must be 0.0 or 1.0"
-msgstr "valor coma-flotante debe ser 0'0 o 1'0"
+msgstr "el valor de coma flotante tiene que ser 0,0 o 1,0"
-#: aarch64-opc.c:2420
+#: aarch64-opc.c:3182
msgid "invalid replicated MOV immediate"
-msgstr "invalida MOV replicado inmediato"
+msgstr "inmediato MOV replicado no válido"
+
+#: aarch64-opc.c:3240
+msgid "byte index must be a multiple of 8"
+msgstr "el indice de byte tiene que ser múltiplo de 8"
+
+#: aarch64-opc.c:3278
+msgid "the register-index form of PRFM does not accept opcodes in the range 24-31"
+msgstr "la forma de registro-indice de PRFM no acepta códigos de operación en el rango 24-31"
-#: aarch64-opc.c:2535
+#: aarch64-opc.c:3347
msgid "extend operator expected"
-msgstr "extiende operador esperado"
+msgstr "se esperaba operador de extensión"
-#: aarch64-opc.c:2548
+#: aarch64-opc.c:3360
msgid "missing extend operator"
-msgstr "ausente operador extendido"
+msgstr "operador de extensión ausente"
-#: aarch64-opc.c:2554
+#: aarch64-opc.c:3366
msgid "'LSL' operator not allowed"
-msgstr "operador 'LSL' no admitido"
+msgstr "operador «LSL» no permitido"
-#: aarch64-opc.c:2575
+#: aarch64-opc.c:3387
msgid "W register expected"
-msgstr "W como registro esperado"
+msgstr "se esperaba registro W"
-#: aarch64-opc.c:2586
+#: aarch64-opc.c:3398
msgid "shift operator expected"
-msgstr "operador shift esperado"
+msgstr "se esperaba operador de desplazamiento"
-#: aarch64-opc.c:2593
+#: aarch64-opc.c:3405
msgid "'ROR' operator not allowed"
-msgstr "operador 'ROR' no admitido"
+msgstr "operador «ROR» no permitido"
+
+#: aarch64-opc.c:4952
+msgid "reading from a write-only register"
+msgstr "lectura de un registro de sólo escritura"
+
+#: aarch64-opc.c:4954
+msgid "writing to a read-only register"
+msgstr "escritura de un registro de sólo lectura"
+
+#: aarch64-opc.c:5483
+msgid "the three register operands must be distinct from one another"
+msgstr "los tres operandos de registro deben ser distintos unos de otros"
+
+#: aarch64-opc.c:5594
+msgid "destination register differs from preceding instruction"
+msgstr "el registro de destino difiere de la instrucción precedente"
+
+#: aarch64-opc.c:5597
+msgid "source register differs from preceding instruction"
+msgstr "el registro de origen difiere de la instrucción precedente"
+
+#: aarch64-opc.c:5600
+msgid "size register differs from preceding instruction"
+msgstr "el registro de tamaño difiere de la instrucción precedente"
+
+#: aarch64-opc.c:5648
+msgid "instruction opens new dependency sequence without ending previous one"
+msgstr "la instrucción abre una nueva serie de dependencias sin haber terminado la anterior"
+
+#: aarch64-opc.c:5677
+msgid "previous `movprfx' sequence not closed"
+msgstr "la secuencia «movprfx» anterior no está cerrada"
+
+#: aarch64-opc.c:5697
+msgid "SVE instruction expected after `movprfx'"
+msgstr "se esperaba una instrucción SVE después de «movprfx»"
+
+#: aarch64-opc.c:5710
+msgid "SVE `movprfx' compatible instruction expected"
+msgstr "se esperaba una instrucción compatible con «movprfx» SVE"
+
+#: aarch64-opc.c:5798
+msgid "predicated instruction expected after `movprfx'"
+msgstr "se esperaba una instrucción predicada después de «movprfx»"
+
+#: aarch64-opc.c:5810
+msgid "merging predicate expected due to preceding `movprfx'"
+msgstr "se esperaba un predicado de fusión a causa del «movprfx» precedente"
+
+#: aarch64-opc.c:5822
+msgid "predicate register differs from that in preceding `movprfx'"
+msgstr "el registro de predicado difiere del del «movprfx» precedente"
+
+#: aarch64-opc.c:5841
+msgid "output register of preceding `movprfx' not used in current instruction"
+msgstr "el registro de salida del «movprfx» precedente no se utiliza en la instrucción actual"
+
+#: aarch64-opc.c:5854
+msgid "output register of preceding `movprfx' expected as output"
+msgstr "el registro de salida del «movprfx» precedente se esperaba como salida"
+
+#: aarch64-opc.c:5866
+msgid "output register of preceding `movprfx' used as input"
+msgstr "registro de salida del «movprfx» precedente utilizado como entrada"
+
+#: aarch64-opc.c:5882
+msgid "register size not compatible with previous `movprfx'"
+msgstr "tamaño de registro no compatible con el «movprfx» precedente"
#: alpha-opc.c:154
msgid "branch operand unaligned"
@@ -278,9 +415,9 @@ msgstr "operando de ramificación sin alinear"
#: alpha-opc.c:170 alpha-opc.c:186
msgid "jump hint unaligned"
-msgstr "omite pista sin alinear"
+msgstr "pista de salto sin alinear"
-#: arc-dis.c:377
+#: arc-dis.c:368
msgid ""
"\n"
"Warning: disassembly may be wrong due to guessed opcode class choice.\n"
@@ -288,270 +425,317 @@ msgid ""
"\t\t\t\t"
msgstr ""
"\n"
-"Aviso: desensemblado quizá está equivocado debido a clase de opcode adivinadas elegidas.\n"
-"Utilice .M<class[,class]> para seleccionar la clase correcta de código de operación.\n"
+"Aviso: puede que el desensamblado sea incorrecto a causa de la elección de la clase de código de operación adivinada.\n"
+"Utilice .M<clase[,clase]> para seleccionar la(s) clase(s) correcta(s) de código de operación.\n"
"\t\t\t\t"
-#: arc-dis.c:823
-#, c-format
-msgid "Unrecognised disassembler CPU option: %s\n"
-msgstr "Opción CPU no reconocida del desensamblador: %s\n"
+#: arc-dis.c:430
+msgid "An error occurred while generating the extension instruction operations"
+msgstr "Se ha producido un error al generar las operaciones de instrucción extendidas"
-#: arc-dis.c:1385
+#: arc-dis.c:838
#, c-format
+msgid "unrecognised disassembler CPU option: %s"
+msgstr "opción de CPU del desensamblador no reconocida: %s"
+
+#: arc-dis.c:1300
msgid ""
"\n"
-"The following ARC specific disassembler options are supported for use \n"
-"with -M switch (multiple options should be separated by commas):\n"
+"Warning: illegal use of double register pair.\n"
msgstr ""
"\n"
-"Se admiten las siguientes opciones de desensamblador específicas de S/390\n"
-"para usarse con el interruptor -M (las opciones múltiples deben separarse\n"
-"con comas):\n"
+"Aviso: uso ilegal de pareja de registro doble.\n"
-#: arc-dis.c:1397
-#, c-format
-msgid " dsp Recognize DSP instructions.\n"
-msgstr " dsp Reconoce instrucciones DSP.\n"
+#: arc-dis.c:1467
+msgid "Enforce the designated architecture while decoding."
+msgstr "Impone la arquitectura designada al descodificar."
-#: arc-dis.c:1399
-#, c-format
-msgid " spfp Recognize FPX SP instructions.\n"
-msgstr " spfp Reconoce instrucciones FPX SP.\n"
+#: arc-dis.c:1469
+msgid "Recognize DSP instructions."
+msgstr "Reconoce instrucciones DSP."
-#: arc-dis.c:1401
-#, c-format
-msgid " dpfp Recognize FPX DP instructions.\n"
-msgstr " dpfp Reconoce instrucciones FPX DP.\n"
+#: arc-dis.c:1471
+msgid "Recognize FPX SP instructions."
+msgstr "Reconoce instrucciones FPX SP."
-#: arc-dis.c:1403
-#, c-format
-msgid " quarkse_em Recognize FPU QuarkSE-EM instructions.\n"
-msgstr " quarkse_em Reconocer instrucciones FPU QuarkSE-EM.\n"
+#: arc-dis.c:1473
+msgid "Recognize FPX DP instructions."
+msgstr "Reconoce instrucciones FPX DP."
-#: arc-dis.c:1405
-#, c-format
-msgid " fpuda Recognize double assist FPU instructions.\n"
-msgstr " fpuda Reconoce instrucciones FPU doble asistida.\n"
+#: arc-dis.c:1475
+msgid "Recognize FPU QuarkSE-EM instructions."
+msgstr "Reconoce instrucciones FPU QuarkSE-EM."
+
+#: arc-dis.c:1477
+msgid "Recognize double assist FPU instructions."
+msgstr "Reconoce instrucciones FPU de asistencia doble."
+
+#: arc-dis.c:1479
+msgid "Recognize single precision FPU instructions."
+msgstr "Reconoce instrucciones FPU de precisión sencilla."
-#: arc-dis.c:1407
+#: arc-dis.c:1481
+msgid "Recognize double precision FPU instructions."
+msgstr "Reconoce instrucciones FPU de doble precisión."
+
+#: arc-dis.c:1483
+msgid "Recognize NPS400 instructions."
+msgstr "Reconoce instrucciones NPS400"
+
+#: arc-dis.c:1485
+msgid "Use only hexadecimal number to print immediates."
+msgstr "Solo emplea números en hexadecimal para imprimir inmediatos."
+
+#: arc-dis.c:1560
#, c-format
-msgid " fpus Recognize single precision FPU instructions.\n"
-msgstr " fpus Reconoce instrucciones de precisión simple FPU.\n"
+msgid ""
+"\n"
+"The following ARC specific disassembler options are supported for use \n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador específicas de ARC\n"
+"para usar con el indicador -M (si hay varias opciones, deben separarse\n"
+"con comas):\n"
-#: arc-dis.c:1409
+#: arc-dis.c:1594 mips-dis.c:2910 riscv-dis.c:1655
#, c-format
-msgid " fpud Recognize double precision FPU instructions.\n"
-msgstr " fpud Reconoce instrucciones precisión doble FPU.\n"
+msgid ""
+"\n"
+" For the options above, the following values are supported for \"%s\":\n"
+" "
+msgstr ""
+"\n"
+" Para las opciones anteriores, se admiten los siguientes valores de «%s»:\n"
+" "
-#: arc-dis.c:1411
+#: arc-dis.c:1604
#, c-format
-msgid " hex Use only hexadecimal number to print immediates.\n"
-msgstr " hex Solo emplear número hexadecimal para escrituras inmediatas.\n"
+msgid ""
+"\n"
+" "
+msgstr ""
+"\n"
+" "
-#: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90
+#: arc-opc.c:41 arc-opc.c:64 arc-opc.c:90 arc-opc.c:114
msgid "LP_COUNT register cannot be used as destination register"
-msgstr "LP_COUNT del registro no puede ser empleado como registro destinatario"
+msgstr "El registro LP_COUNT no puede utilizarse como registro destino"
#: arc-opc.c:88
msgid "cannot use odd number destination register"
-msgstr "no puede utilizar número impar de registro destinatario"
+msgstr "no se puede utilizar un número impar de registro destino"
-#: arc-opc.c:101
+#: arc-opc.c:101 arc-opc.c:112
msgid "cannot use odd number source register"
-msgstr "no puede usar un número impar de registro origen"
+msgstr "no se puede utilziar un número impar de registro origen"
-#: arc-opc.c:114
+#: arc-opc.c:127
msgid "operand is not zero"
-msgstr "operando no es cero"
+msgstr "el operando no es cero"
-#: arc-opc.c:173
+#: arc-opc.c:186
msgid "register R30 is a limm indicator"
-msgstr "requieren R30 es un limm indicador"
+msgstr "el registro R30 es un indicador limm"
-#: arc-opc.c:175
+#: arc-opc.c:188
msgid "register out of range"
msgstr "registro fuera de rango"
-#: arc-opc.c:194
+#: arc-opc.c:207
msgid "register must be R0"
msgstr "el registro debe ser R0"
-#: arc-opc.c:212
+#: arc-opc.c:225
msgid "register must be R1"
msgstr "el registro debe ser R1"
-#: arc-opc.c:229
+#: arc-opc.c:242
msgid "register must be R2"
msgstr "el registro debe ser R2"
-#: arc-opc.c:246
+#: arc-opc.c:259
msgid "register must be R3"
msgstr "el registro debe ser R3"
-#: arc-opc.c:263
+#: arc-opc.c:276
msgid "register must be SP"
msgstr "el registro debe ser SP"
-#: arc-opc.c:280
+#: arc-opc.c:293
msgid "register must be GP"
msgstr "el registro debe ser GP"
-#: arc-opc.c:297
+#: arc-opc.c:310
msgid "register must be PCL"
msgstr "el registro debe ser PCL"
-#: arc-opc.c:314
+#: arc-opc.c:327
msgid "register must be BLINK"
msgstr "el registro debe ser BLINK"
-#: arc-opc.c:331
+#: arc-opc.c:344
msgid "register must be ILINK1"
msgstr "el registro debe ser ILINK1"
-#: arc-opc.c:348
+#: arc-opc.c:361
msgid "register must be ILINK2"
msgstr "el registro debe ser ILINK2"
#. ARC NPS400 Support: See comment near head of file.
-#: arc-opc.c:379 arc-opc.c:417 arc-opc.c:455 arc-opc.c:720
+#: arc-opc.c:392 arc-opc.c:430 arc-opc.c:468 arc-opc.c:737
msgid "register must be either r0-r3 or r12-r15"
-msgstr "el registro debe estar o entre r8-r3 o r12-r15"
+msgstr "el registro debe estar entre r0-r3 o r12-r15"
-#: arc-opc.c:506
+#: arc-opc.c:519
msgid "accepted values are from -1 to 6"
-msgstr "valores aceptados son entre -1 a 6"
+msgstr "valores aceptados son entre -1 y 6"
-#: arc-opc.c:535
+#: arc-opc.c:548
msgid "first register of the range should be r13"
-msgstr "primer registro del rango debería ser r13"
+msgstr "el primer registro del rango debería ser r13"
-#: arc-opc.c:537
+#: arc-opc.c:550
msgid "last register of the range doesn't fit"
-msgstr "último registro del rango no cabe"
+msgstr "el último registro del rango no cabe"
-#: arc-opc.c:557 arc-opc.c:572
+#: arc-opc.c:570 arc-opc.c:585
msgid "invalid register number, should be fp"
-msgstr "invalida número de regostro, debería ser fp"
+msgstr "número de registro no válido; debería ser fp"
-#: arc-opc.c:594
+#: arc-opc.c:607
msgid "invalid register number, should be blink"
-msgstr "invalida número registrado, debería ser blink"
+msgstr "número de registro no válido; debería ser blink"
-#: arc-opc.c:616
+#: arc-opc.c:629
msgid "invalid register number, should be pcl"
-msgstr "invalida número de registro, debería ser pcl"
+msgstr "número de registro no válido; debería ser pcl"
-#: arc-opc.c:768
+#: arc-opc.c:785
msgid "invalid size, should be 1, 2, 4, or 8"
-msgstr "tamaño inválido, debería ser 1,2,3, o 8"
+msgstr "tamaño no válido; debería ser 1, 2, 4 u 8"
-#: arc-opc.c:813
+#: arc-opc.c:830
msgid "invalid immediate, must be 1, 2, or 4"
-msgstr "invalida inmediata, debe ser 1, 2 o 4"
+msgstr "inmediato no válido, debe ser 1, 2 o 4"
-#: arc-opc.c:852
+#: arc-opc.c:869
msgid "invalid value for CMEM ld/st immediate"
-msgstr "valor inválido para CMEM ld/st inmediato"
+msgstr "valor no válido para inmediato CMEM ld/st"
-#: arc-opc.c:879
+#: arc-opc.c:896
msgid "invalid position, should be 0, 16, 32, 48 or 64."
-msgstr "posición no válida, debería ser 0, 16, 32, 48 o 64."
+msgstr "posición no válida; debería ser 0, 16, 32, 48 o 64."
-#: arc-opc.c:913
+#: arc-opc.c:930
msgid "invalid position, should be 16, 32, 64 or 128."
msgstr "posición no válida, debería ser 16, 32, 64 o 128."
-#: arc-opc.c:935
+#: arc-opc.c:952
msgid "invalid size value must be on range 1-64."
-msgstr "invalida valor del tamaño debe estar en el rango 1- 64."
+msgstr "valor del tamaño no válido; debe estar en el rango 1-64."
-#: arc-opc.c:966
+#: arc-opc.c:983
msgid "invalid position, should be 0, 8, 16, or 24"
-msgstr "posición no válida, debería ser 0, 8, 16, o 24"
+msgstr "posición no válida; debería ser 0, 8, 16 o 24"
-#: arc-opc.c:991
+#: arc-opc.c:1008
msgid "invalid size, value must be "
-msgstr "invalida valor, valor debe ser "
+msgstr "tamaño no válido; el valor debe ser "
-#: arc-opc.c:1065
+#: arc-opc.c:1082
msgid "value out of range 1 - 256"
-msgstr "valor fuera de rango 1 - 256"
+msgstr "valor fuera del rango 1 - 256"
-#: arc-opc.c:1074
+#: arc-opc.c:1091
msgid "value must be power of 2"
msgstr "el valor debe ser potencia de 2"
-#: arc-opc.c:1127
+#: arc-opc.c:1144
msgid "value must be in the range 0 to 28"
-msgstr "el valor debe estar en el rango 0 a 28"
+msgstr "el valor debe estar en el rango de 0 a 28"
-#: arc-opc.c:1149
+#: arc-opc.c:1166
msgid "value must be in the range 1 to "
-msgstr "el valor debe estar en el rango 1 a "
+msgstr "el valor debe estar en el rango de 1 a "
-#: arc-opc.c:1179
+#: arc-opc.c:1196
msgid "value must be in the range 0 to 240"
-msgstr "el valor debe estar en el rango 0 a 240"
+msgstr "el valor debe estar en el rango de 0 a 240"
-#: arc-opc.c:1181
+#: arc-opc.c:1198
msgid "value must be a multiple of 16"
msgstr "el valor debe ser un múltiplo de 16"
-#: arc-opc.c:1201
+#: arc-opc.c:1218
msgid "invalid address type for operand"
-msgstr "invalida tipo direccional para operando"
+msgstr "tipo de dirección no válido para operando"
-#: arc-opc.c:1235
+#: arc-opc.c:1252
msgid "value must be in the range 0 to 31"
-msgstr "el valor debe estar en el rango 0 a 31"
+msgstr "el valor debe estar en el rango de 0 a 31"
-#: arc-opc.c:1260
+#: arc-opc.c:1277
msgid "invalid position, should be one of: 0,4,8,...124."
-msgstr "posición no válida, debería ser una de: 0,4,8,...124."
+msgstr "posición no válida; debería ser una de estas: 0,4,8,...124."
-#: arm-dis.c:3229
+#: arm-dis.c:4934
msgid "Select raw register names"
-msgstr "Seleccionar nombres de registro crudo"
+msgstr "Seleccionar nombres de registros brutos"
-#: arm-dis.c:3231
+#: arm-dis.c:4936
msgid "Select register names used by GCC"
-msgstr "Seleccione nombres de registro empleados por GCC"
+msgstr "Seleccionar nombres de registro empleados por GCC"
-#: arm-dis.c:3233
+#: arm-dis.c:4938
msgid "Select register names used in ARM's ISA documentation"
-msgstr "Seleccione nombres de registro empleado en documentación ISA de ARM"
+msgstr "Seleccionar nombres de registro empleado en documentación ISA de ARM"
-#: arm-dis.c:3235
+#: arm-dis.c:4940
msgid "Assume all insns are Thumb insns"
-msgstr "Asume todos instns son Thum insns"
+msgstr "Asumir que todas las insns son insns Thumb"
-#: arm-dis.c:3236
+#: arm-dis.c:4941
msgid "Examine preceding label to determine an insn's type"
-msgstr "Examina etiquetas precedentes para determinar un tipo de insn"
+msgstr "Examinar la etiqueta precedente para determinar el tipo de una insn"
-#: arm-dis.c:3237
+#: arm-dis.c:4942
msgid "Select register names used in the APCS"
-msgstr "Seleccione nombres de registro empleados dentro de APCS"
+msgstr "Seleccionar los nombres de registro empleados en el de APCS"
-#: arm-dis.c:3239
+#: arm-dis.c:4944
msgid "Select register names used in the ATPCS"
-msgstr "Seleccione nombres de registro dentro de ATPCS"
+msgstr "Seleccionar las nombres de registro utilizados en el ATPCS"
-#: arm-dis.c:3241
+#: arm-dis.c:4946
msgid "Select special register names used in the ATPCS"
-msgstr "Seleccione nombres de registro especiales empleado en el ATPCS"
+msgstr "Seleccionar los nombres de registros especiales empleados en el ATPCS"
-#: arm-dis.c:3639
-msgid "<illegal precision>"
-msgstr "<precisión ilegal>"
+#: arm-dis.c:4948
+msgid "Enable CDE extensions for coprocessor N space"
+msgstr "Habilitar las extensiones CDE para el espacio N del coprocesador"
-#: arm-dis.c:6148
+#: arm-dis.c:11929
#, c-format
-msgid "Unrecognised register name set: %s\n"
-msgstr "Irreconocido registro del conjunto de nombre: %s\n"
+msgid "unrecognised register name set: %s"
+msgstr "nombre del registro seleccionado no reconocido: %s"
-#: arm-dis.c:6852
+#: arm-dis.c:11943
+#, c-format
+msgid "cde coprocessor not between 0-7: %s"
+msgstr "el coprocesador cde no está entre 0 y 7: %s"
+
+#: arm-dis.c:11949
+#, c-format
+msgid "coproc must have an argument: %s"
+msgstr "coproc debe tener un argumento: %s"
+
+#: arm-dis.c:11962
+#, c-format
+msgid "coprocN argument takes options \"generic\", \"cde\", or \"CDE\": %s"
+msgstr "el argumento de coprocN toma las opciones «generic», «cde» o «CDE»: %s"
+
+#: arm-dis.c:12684
#, c-format
msgid ""
"\n"
@@ -562,25 +746,64 @@ msgstr ""
"Se admiten las siguientes opciones de desensamblador específicas de ARM\n"
"para usarse con el interruptor -M:\n"
-#: avr-dis.c:115 avr-dis.c:136
+#: avr-dis.c:130 avr-dis.c:152
#, c-format
msgid "undefined"
msgstr "indefinido"
-#: avr-dis.c:215
+#: avr-dis.c:251
#, c-format
-msgid "Internal disassembler error"
-msgstr "Error interno del desensamblador"
+msgid "internal disassembler error"
+msgstr "error interno del desensamblador"
-#: avr-dis.c:268
+#: avr-dis.c:312
#, c-format
msgid "unknown constraint `%c'"
-msgstr "desconoce restricción `%c'"
+msgstr "restricción desconocida «%c»"
+
+#: bpf-dis.c:55
+#, c-format
+msgid ""
+"\n"
+"The following BPF specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador específicas de BPF\n"
+"para usarse con el interruptor -M (si hay varias opciones, deben separarse\n"
+"con comas):\n"
+
+#: bpf-dis.c:59
+#, c-format
+msgid ""
+" pseudoc Use pseudo-c syntax.\n"
+" v1,v2,v3,v4,xbpf Version of the BPF ISA to use.\n"
+" hex,oct,dec Output numerical base for immediates.\n"
+msgstr ""
+" pseudoc Utiliza syntaxis pseudo-c.\n"
+" v1,v2,v3,v4,xbpf Versión del ISA BPF que se utilizará.\n"
+" hex,oct,dec Base numérica de salida para los inmediatos.\n"
-#: cgen-asm.c:351 epiphany-ibld.c:201 fr30-ibld.c:201 frv-ibld.c:201
-#: ip2k-ibld.c:201 iq2000-ibld.c:201 lm32-ibld.c:201 m32c-ibld.c:201
-#: m32r-ibld.c:201 mep-ibld.c:201 mt-ibld.c:201 or1k-ibld.c:201
-#: xc16x-ibld.c:201 xstormy16-ibld.c:201
+#. The option without '=' should be defined above.
+#: bpf-dis.c:90 riscv-dis.c:130 riscv-dis.c:167
+#, c-format
+msgid "unrecognized disassembler option: %s"
+msgstr "opción del desensamblador no reconocida: %s"
+
+#: bpf-dis.c:166
+#, c-format
+msgid "unknown BPF CPU version %u\n"
+msgstr "versión de CPU BPF desconocida %u\n"
+
+#: bpf-dis.c:296
+#, c-format
+msgid "# internal error, unknown tag in opcode template (%s)"
+msgstr "# error interno; etiqueta desconocida en la plantilla de códigos de operación (%s)"
+
+#: cgen-asm.c:351 epiphany-ibld.c:203 fr30-ibld.c:203 frv-ibld.c:203
+#: ip2k-ibld.c:203 iq2000-ibld.c:203 lm32-ibld.c:203 m32c-ibld.c:203
+#: m32r-ibld.c:203 mep-ibld.c:203 mt-ibld.c:203 or1k-ibld.c:203
+#: xstormy16-ibld.c:203
#, c-format
msgid "operand out of range (%ld not between %ld and %ld)"
msgstr "operando fuera de rango (%ld no está entre %ld y %ld)"
@@ -590,7 +813,27 @@ msgstr "operando fuera de rango (%ld no está entre %ld y %ld)"
msgid "operand out of range (%lu not between %lu and %lu)"
msgstr "operando fuera de rango (%lu no está entre %lu y %lu)"
-#: d30v-dis.c:254
+#: cris-desc.c:2622
+#, c-format
+msgid "internal error: cris_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: cris_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: cris-desc.c:2710
+#, c-format
+msgid "internal error: cris_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: cris_cgen_cpu_open: argumento «%d» no disponible"
+
+#: cris-desc.c:2729
+#, c-format
+msgid "internal error: cris_cgen_cpu_open: no endianness specified"
+msgstr "error interno: cris_cgen_cpu_open: «endianness» no especificada"
+
+#: d30v-dis.c:232
+#, c-format
+msgid "illegal id (%d)"
+msgstr "id ilegal (%d)"
+
+#: d30v-dis.c:259
#, c-format
msgid "<unknown register %d>"
msgstr "<registro %d desconocido>"
@@ -601,14 +844,23 @@ msgstr "<registro %d desconocido>"
msgid "Unknown error %d\n"
msgstr "Error desconocido %d\n"
-#: dis-buf.c:70
+#: dis-buf.c:67
#, c-format
-msgid "Address 0x%s is out of bounds.\n"
-msgstr "La dirección 0x%s está fuera de los límites.\n"
+msgid "Address 0x%<PRIx64> is out of bounds.\n"
+msgstr "La dirección 0x%<PRIx64> está fuera de los límites.\n"
+
+#: disassemble.c:854
+#, c-format
+msgid "assertion fail %s:%d"
+msgstr "fallo de aserción %s:%d"
+
+#: disassemble.c:855
+msgid "Please report this bug"
+msgstr "Por favor, informe de este error"
#: epiphany-asm.c:68
msgid "register unavailable for short instructions"
-msgstr "el registro no está disponible para instrucciones short"
+msgstr "el registro no está disponible para instrucciones cortas"
#: epiphany-asm.c:115
msgid "register name used as immediate value"
@@ -631,7 +883,7 @@ msgstr "no se admite la reubicación de byte"
#: m32r-asm.c:53 mep-asm.c:241 mep-asm.c:259 mep-asm.c:274 mep-asm.c:289
#: mep-asm.c:301 or1k-asm.c:54
msgid "missing `)'"
-msgstr "ausente `)'"
+msgstr "falta un «)»"
#: epiphany-asm.c:270
msgid "ABORT: unknown operand"
@@ -641,153 +893,158 @@ msgstr "ABORTAR: operando desconocido"
msgid "Not a pc-relative address."
msgstr "No es una dirección relativa a pc."
-#: epiphany-asm.c:455 fr30-asm.c:310 frv-asm.c:1263 ip2k-asm.c:511
-#: iq2000-asm.c:459 lm32-asm.c:349 m32c-asm.c:1584 m32r-asm.c:328
-#: mep-asm.c:1287 mt-asm.c:595 or1k-asm.c:503 xc16x-asm.c:376
-#: xstormy16-asm.c:276
+#: epiphany-asm.c:456 fr30-asm.c:311 frv-asm.c:1264 ip2k-asm.c:512
+#: iq2000-asm.c:460 lm32-asm.c:350 m32c-asm.c:1585 m32r-asm.c:329
+#: mep-asm.c:1288 mt-asm.c:596 or1k-asm.c:576 xstormy16-asm.c:277
#, c-format
-msgid "Unrecognized field %d while parsing.\n"
-msgstr "Irreconocido el campo %d al interpretar.\n"
+msgid "internal error: unrecognized field %d while parsing"
+msgstr "error interno: campo %d no reconocido al analizar"
-#: epiphany-asm.c:506 fr30-asm.c:361 frv-asm.c:1314 ip2k-asm.c:562
-#: iq2000-asm.c:510 lm32-asm.c:400 m32c-asm.c:1635 m32r-asm.c:379
-#: mep-asm.c:1338 mt-asm.c:646 or1k-asm.c:554 xc16x-asm.c:427
-#: xstormy16-asm.c:327
+#: epiphany-asm.c:508 fr30-asm.c:363 frv-asm.c:1316 ip2k-asm.c:564
+#: iq2000-asm.c:512 lm32-asm.c:402 m32c-asm.c:1637 m32r-asm.c:381
+#: mep-asm.c:1340 mt-asm.c:648 or1k-asm.c:628 xstormy16-asm.c:329
msgid "missing mnemonic in syntax string"
-msgstr "ausente mnemónico en la cadena sintáctica"
+msgstr "mnemónico ausente en la cadena sintáctica"
#. We couldn't parse it.
-#: epiphany-asm.c:641 epiphany-asm.c:645 epiphany-asm.c:734 epiphany-asm.c:841
-#: fr30-asm.c:496 fr30-asm.c:500 fr30-asm.c:589 fr30-asm.c:696 frv-asm.c:1449
-#: frv-asm.c:1453 frv-asm.c:1542 frv-asm.c:1649 ip2k-asm.c:697 ip2k-asm.c:701
-#: ip2k-asm.c:790 ip2k-asm.c:897 iq2000-asm.c:645 iq2000-asm.c:649
-#: iq2000-asm.c:738 iq2000-asm.c:845 lm32-asm.c:535 lm32-asm.c:539
-#: lm32-asm.c:628 lm32-asm.c:735 m32c-asm.c:1770 m32c-asm.c:1774
-#: m32c-asm.c:1863 m32c-asm.c:1970 m32r-asm.c:514 m32r-asm.c:518
-#: m32r-asm.c:607 m32r-asm.c:714 mep-asm.c:1473 mep-asm.c:1477 mep-asm.c:1566
-#: mep-asm.c:1673 mt-asm.c:781 mt-asm.c:785 mt-asm.c:874 mt-asm.c:981
-#: or1k-asm.c:689 or1k-asm.c:693 or1k-asm.c:782 or1k-asm.c:889 xc16x-asm.c:562
-#: xc16x-asm.c:566 xc16x-asm.c:655 xc16x-asm.c:762 xstormy16-asm.c:462
-#: xstormy16-asm.c:466 xstormy16-asm.c:555 xstormy16-asm.c:662
+#: epiphany-asm.c:643 epiphany-asm.c:647 epiphany-asm.c:736 epiphany-asm.c:843
+#: fr30-asm.c:498 fr30-asm.c:502 fr30-asm.c:591 fr30-asm.c:698 frv-asm.c:1451
+#: frv-asm.c:1455 frv-asm.c:1544 frv-asm.c:1651 ip2k-asm.c:699 ip2k-asm.c:703
+#: ip2k-asm.c:792 ip2k-asm.c:899 iq2000-asm.c:647 iq2000-asm.c:651
+#: iq2000-asm.c:740 iq2000-asm.c:847 lm32-asm.c:537 lm32-asm.c:541
+#: lm32-asm.c:630 lm32-asm.c:737 m32c-asm.c:1772 m32c-asm.c:1776
+#: m32c-asm.c:1865 m32c-asm.c:1972 m32r-asm.c:516 m32r-asm.c:520 m32r-asm.c:609
+#: m32r-asm.c:716 mep-asm.c:1475 mep-asm.c:1479 mep-asm.c:1568 mep-asm.c:1675
+#: mt-asm.c:783 mt-asm.c:787 mt-asm.c:876 mt-asm.c:983 or1k-asm.c:763
+#: or1k-asm.c:767 or1k-asm.c:856 or1k-asm.c:963 xstormy16-asm.c:464
+#: xstormy16-asm.c:468 xstormy16-asm.c:557 xstormy16-asm.c:664
msgid "unrecognized instruction"
msgstr "no se reconoce la instrucción"
-#: epiphany-asm.c:688 fr30-asm.c:543 frv-asm.c:1496 ip2k-asm.c:744
-#: iq2000-asm.c:692 lm32-asm.c:582 m32c-asm.c:1817 m32r-asm.c:561
-#: mep-asm.c:1520 mt-asm.c:828 or1k-asm.c:736 xc16x-asm.c:609
-#: xstormy16-asm.c:509
+#: epiphany-asm.c:690 fr30-asm.c:545 frv-asm.c:1498 ip2k-asm.c:746
+#: iq2000-asm.c:694 lm32-asm.c:584 m32c-asm.c:1819 m32r-asm.c:563
+#: mep-asm.c:1522 mt-asm.c:830 or1k-asm.c:810 xstormy16-asm.c:511
#, c-format
msgid "syntax error (expected char `%c', found `%c')"
-msgstr "error sintáctico (se esperaba el carácter `%c', se encontró `%c')"
+msgstr "error sintáctico (se esperaba el carácter «%c», se encontró «%c»)"
-#: epiphany-asm.c:698 fr30-asm.c:553 frv-asm.c:1506 ip2k-asm.c:754
-#: iq2000-asm.c:702 lm32-asm.c:592 m32c-asm.c:1827 m32r-asm.c:571
-#: mep-asm.c:1530 mt-asm.c:838 or1k-asm.c:746 xc16x-asm.c:619
-#: xstormy16-asm.c:519
+#: epiphany-asm.c:700 fr30-asm.c:555 frv-asm.c:1508 ip2k-asm.c:756
+#: iq2000-asm.c:704 lm32-asm.c:594 m32c-asm.c:1829 m32r-asm.c:573
+#: mep-asm.c:1532 mt-asm.c:840 or1k-asm.c:820 xstormy16-asm.c:521
#, c-format
msgid "syntax error (expected char `%c', found end of instruction)"
-msgstr "error sintáctico (se esperaba el carácter `%c', se encontró el final de la instrucción)"
+msgstr "error sintáctico (se esperaba el carácter «%c», se encontró el final de la instrucción)"
-#: epiphany-asm.c:728 fr30-asm.c:583 frv-asm.c:1536 ip2k-asm.c:784
-#: iq2000-asm.c:732 lm32-asm.c:622 m32c-asm.c:1857 m32r-asm.c:601
-#: mep-asm.c:1560 mt-asm.c:868 or1k-asm.c:776 xc16x-asm.c:649
-#: xstormy16-asm.c:549
+#: epiphany-asm.c:730 fr30-asm.c:585 frv-asm.c:1538 ip2k-asm.c:786
+#: iq2000-asm.c:734 lm32-asm.c:624 m32c-asm.c:1859 m32r-asm.c:603
+#: mep-asm.c:1562 mt-asm.c:870 or1k-asm.c:850 xstormy16-asm.c:551
msgid "junk at end of line"
msgstr "basura al final de la línea"
-#: epiphany-asm.c:840 fr30-asm.c:695 frv-asm.c:1648 ip2k-asm.c:896
-#: iq2000-asm.c:844 lm32-asm.c:734 m32c-asm.c:1969 m32r-asm.c:713
-#: mep-asm.c:1672 mt-asm.c:980 or1k-asm.c:888 xc16x-asm.c:761
-#: xstormy16-asm.c:661
+#: epiphany-asm.c:842 fr30-asm.c:697 frv-asm.c:1650 ip2k-asm.c:898
+#: iq2000-asm.c:846 lm32-asm.c:736 m32c-asm.c:1971 m32r-asm.c:715
+#: mep-asm.c:1674 mt-asm.c:982 or1k-asm.c:962 xstormy16-asm.c:663
msgid "unrecognized form of instruction"
-msgstr "no se reconoce la forma de instrucción"
+msgstr "no se reconoce la forma de la instrucción"
-#: epiphany-asm.c:854 fr30-asm.c:709 frv-asm.c:1662 ip2k-asm.c:910
-#: iq2000-asm.c:858 lm32-asm.c:748 m32c-asm.c:1983 m32r-asm.c:727
-#: mep-asm.c:1686 mt-asm.c:994 or1k-asm.c:902 xc16x-asm.c:775
-#: xstormy16-asm.c:675
+#: epiphany-asm.c:856 fr30-asm.c:711 frv-asm.c:1664 ip2k-asm.c:912
+#: iq2000-asm.c:860 lm32-asm.c:750 m32c-asm.c:1985 m32r-asm.c:729
+#: mep-asm.c:1688 mt-asm.c:996 or1k-asm.c:976 xstormy16-asm.c:677
#, c-format
msgid "bad instruction `%.50s...'"
-msgstr "instrucción equivocada `%.50s...'"
+msgstr "instrucción equivocada «%.50s...»"
-#: epiphany-asm.c:857 fr30-asm.c:712 frv-asm.c:1665 ip2k-asm.c:913
-#: iq2000-asm.c:861 lm32-asm.c:751 m32c-asm.c:1986 m32r-asm.c:730
-#: mep-asm.c:1689 mt-asm.c:997 or1k-asm.c:905 xc16x-asm.c:778
-#: xstormy16-asm.c:678
+#: epiphany-asm.c:859 fr30-asm.c:714 frv-asm.c:1667 ip2k-asm.c:915
+#: iq2000-asm.c:863 lm32-asm.c:753 m32c-asm.c:1988 m32r-asm.c:732
+#: mep-asm.c:1691 mt-asm.c:999 or1k-asm.c:979 xstormy16-asm.c:680
#, c-format
msgid "bad instruction `%.50s'"
-msgstr "instrucción equivocada `%.50s'"
+msgstr "instrucción equivocada «%.50s»"
+
+#: epiphany-desc.c:2110
+#, c-format
+msgid "internal error: epiphany_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: epiphany_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: epiphany-desc.c:2198
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: epiphany_cgen_cpu_open: argumento «%d» no disponible"
+
+#: epiphany-desc.c:2217
+#, c-format
+msgid "internal error: epiphany_cgen_cpu_open: no endianness specified"
+msgstr "error interno: epiphany_cgen_cpu_open: «endianness» no especificada"
#. Default text to print if an instruction isn't recognized.
#: epiphany-dis.c:41 fr30-dis.c:41 frv-dis.c:41 ip2k-dis.c:41 iq2000-dis.c:41
-#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:276
-#: mt-dis.c:41 nds32-dis.c:39 or1k-dis.c:41 xc16x-dis.c:41 xstormy16-dis.c:41
+#: lm32-dis.c:41 m32c-dis.c:41 m32r-dis.c:41 mep-dis.c:41 mmix-dis.c:294
+#: mt-dis.c:41 nds32-dis.c:64 or1k-dis.c:41 xstormy16-dis.c:41
msgid "*unknown*"
msgstr "*desconocida*"
-#: epiphany-dis.c:278 fr30-dis.c:299 frv-dis.c:396 ip2k-dis.c:288
-#: iq2000-dis.c:189 lm32-dis.c:147 m32c-dis.c:891 m32r-dis.c:279
-#: mep-dis.c:1187 mt-dis.c:290 or1k-dis.c:141 xc16x-dis.c:420
-#: xstormy16-dis.c:168
+#: epiphany-dis.c:279 fr30-dis.c:300 frv-dis.c:397 ip2k-dis.c:289
+#: iq2000-dis.c:190 lm32-dis.c:148 m32c-dis.c:892 m32r-dis.c:280 mep-dis.c:1202
+#: mt-dis.c:288 or1k-dis.c:175 xstormy16-dis.c:169
#, c-format
-msgid "Unrecognized field %d while printing insn.\n"
-msgstr "Irreconocido el campo %d mientras escribe insn.\n"
+msgid "internal error: unrecognized field %d while printing insn"
+msgstr "error interno: campo %d no reconocido al imprimir la insn"
-#: epiphany-ibld.c:164 fr30-ibld.c:164 frv-ibld.c:164 ip2k-ibld.c:164
-#: iq2000-ibld.c:164 lm32-ibld.c:164 m32c-ibld.c:164 m32r-ibld.c:164
-#: mep-ibld.c:164 mt-ibld.c:164 or1k-ibld.c:164 xc16x-ibld.c:164
-#: xstormy16-ibld.c:164
+#: epiphany-ibld.c:166 fr30-ibld.c:166 frv-ibld.c:166 ip2k-ibld.c:166
+#: iq2000-ibld.c:166 lm32-ibld.c:166 m32c-ibld.c:166 m32r-ibld.c:166
+#: mep-ibld.c:166 mt-ibld.c:166 or1k-ibld.c:166 xstormy16-ibld.c:166
#, c-format
msgid "operand out of range (%ld not between %ld and %lu)"
msgstr "operando fuera de rango (%ld no está entre %ld y %lu)"
-#: epiphany-ibld.c:879 fr30-ibld.c:734 frv-ibld.c:860 ip2k-ibld.c:611
-#: iq2000-ibld.c:717 lm32-ibld.c:638 m32c-ibld.c:1735 m32r-ibld.c:669
-#: mep-ibld.c:1212 mt-ibld.c:753 or1k-ibld.c:650 xc16x-ibld.c:756
-#: xstormy16-ibld.c:682
+#: epiphany-ibld.c:187 fr30-ibld.c:187 frv-ibld.c:187 ip2k-ibld.c:187
+#: iq2000-ibld.c:187 lm32-ibld.c:187 m32c-ibld.c:187 m32r-ibld.c:187
+#: mep-ibld.c:187 mt-ibld.c:187 or1k-ibld.c:187 xstormy16-ibld.c:187
#, c-format
-msgid "Unrecognized field %d while building insn.\n"
-msgstr "Irreconocido el campo %d al compilar insn.\n"
+msgid "operand out of range (0x%lx not between 0 and 0x%lx)"
+msgstr "operando fuera de rango (0x%lx no está entre 0 y %lx)"
-#: epiphany-ibld.c:1173 fr30-ibld.c:939 frv-ibld.c:1177 ip2k-ibld.c:686
-#: iq2000-ibld.c:892 lm32-ibld.c:742 m32c-ibld.c:2896 m32r-ibld.c:806
-#: mep-ibld.c:1811 mt-ibld.c:973 or1k-ibld.c:755 xc16x-ibld.c:976
-#: xstormy16-ibld.c:828
+#: epiphany-ibld.c:885 fr30-ibld.c:740 frv-ibld.c:866 ip2k-ibld.c:617
+#: iq2000-ibld.c:723 lm32-ibld.c:644 m32c-ibld.c:1741 m32r-ibld.c:675
+#: mep-ibld.c:1218 mt-ibld.c:759 or1k-ibld.c:738 xstormy16-ibld.c:688
#, c-format
-msgid "Unrecognized field %d while decoding insn.\n"
-msgstr "Irreconocido el campo %d al decodificar insn.\n"
+msgid "internal error: unrecognized field %d while building insn"
+msgstr "error interno: campo %d no reconocido al construir la insn"
-#: epiphany-ibld.c:1316 fr30-ibld.c:1085 frv-ibld.c:1455 ip2k-ibld.c:760
-#: iq2000-ibld.c:1023 lm32-ibld.c:831 m32c-ibld.c:3513 m32r-ibld.c:919
-#: mep-ibld.c:2281 mt-ibld.c:1173 or1k-ibld.c:838 xc16x-ibld.c:1197
-#: xstormy16-ibld.c:938
+#: epiphany-ibld.c:1180 fr30-ibld.c:946 frv-ibld.c:1184 ip2k-ibld.c:693
+#: iq2000-ibld.c:899 lm32-ibld.c:749 m32c-ibld.c:2903 m32r-ibld.c:813
+#: mep-ibld.c:1818 mt-ibld.c:980 or1k-ibld.c:897 xstormy16-ibld.c:835
#, c-format
-msgid "Unrecognized field %d while getting int operand.\n"
-msgstr "Irreconocido el campo %d al obtener el operando int.\n"
+msgid "internal error: unrecognized field %d while decoding insn"
+msgstr "error interno: campo %d no reconocido al descodificar la insn"
-#: epiphany-ibld.c:1441 fr30-ibld.c:1213 frv-ibld.c:1715 ip2k-ibld.c:816
-#: iq2000-ibld.c:1136 lm32-ibld.c:902 m32c-ibld.c:4112 m32r-ibld.c:1014
-#: mep-ibld.c:2733 mt-ibld.c:1355 or1k-ibld.c:903 xc16x-ibld.c:1400
-#: xstormy16-ibld.c:1030
+#: epiphany-ibld.c:1324 fr30-ibld.c:1093 frv-ibld.c:1463 ip2k-ibld.c:768
+#: iq2000-ibld.c:1031 lm32-ibld.c:839 m32c-ibld.c:3521 m32r-ibld.c:927
+#: mep-ibld.c:2289 mt-ibld.c:1181 or1k-ibld.c:993 xstormy16-ibld.c:946
#, c-format
-msgid "Unrecognized field %d while getting vma operand.\n"
-msgstr "Irreconocido el campo %d al obtener el operando vma.\n"
+msgid "internal error: unrecognized field %d while getting int operand"
+msgstr "error interno: campo %d no reconocido al obtener el operando int"
-#: epiphany-ibld.c:1573 fr30-ibld.c:1344 frv-ibld.c:1982 ip2k-ibld.c:875
-#: iq2000-ibld.c:1256 lm32-ibld.c:980 m32c-ibld.c:4699 m32r-ibld.c:1115
-#: mep-ibld.c:3146 mt-ibld.c:1544 or1k-ibld.c:975 xc16x-ibld.c:1604
-#: xstormy16-ibld.c:1129
+#: epiphany-ibld.c:1450 fr30-ibld.c:1222 frv-ibld.c:1724 ip2k-ibld.c:825
+#: iq2000-ibld.c:1145 lm32-ibld.c:911 m32c-ibld.c:4121 m32r-ibld.c:1023
+#: mep-ibld.c:2742 mt-ibld.c:1364 or1k-ibld.c:1071 xstormy16-ibld.c:1039
#, c-format
-msgid "Unrecognized field %d while setting int operand.\n"
-msgstr "Irreconocido el campo %d al establecer el operando int.\n"
+msgid "internal error: unrecognized field %d while getting vma operand"
+msgstr "error interno: campo %d no reconocido al obtener el campo vma"
-#: epiphany-ibld.c:1695 fr30-ibld.c:1465 frv-ibld.c:2239 ip2k-ibld.c:924
-#: iq2000-ibld.c:1366 lm32-ibld.c:1048 m32c-ibld.c:5276 m32r-ibld.c:1206
-#: mep-ibld.c:3549 mt-ibld.c:1723 or1k-ibld.c:1037 xc16x-ibld.c:1798
-#: xstormy16-ibld.c:1218
+#: epiphany-ibld.c:1583 fr30-ibld.c:1354 frv-ibld.c:1992 ip2k-ibld.c:885
+#: iq2000-ibld.c:1266 lm32-ibld.c:990 m32c-ibld.c:4709 m32r-ibld.c:1125
+#: mep-ibld.c:3156 mt-ibld.c:1554 or1k-ibld.c:1156 xstormy16-ibld.c:1139
#, c-format
-msgid "Unrecognized field %d while setting vma operand.\n"
-msgstr "Irreconocido el campo %d al establecer el operando vma.\n"
+msgid "internal error: unrecognized field %d while setting int operand"
+msgstr "error interno: campo %d no reconocido al establecer el operando int"
+
+#: epiphany-ibld.c:1706 fr30-ibld.c:1476 frv-ibld.c:2250 ip2k-ibld.c:935
+#: iq2000-ibld.c:1377 lm32-ibld.c:1059 m32c-ibld.c:5287 m32r-ibld.c:1217
+#: mep-ibld.c:3560 mt-ibld.c:1734 or1k-ibld.c:1231 xstormy16-ibld.c:1229
+#, c-format
+msgid "internal error: unrecognized field %d while setting vma operand"
+msgstr "error interno: campo %d no reconocido al establecer el operando vma"
#: fr30-asm.c:93 m32c-asm.c:872 m32c-asm.c:879
msgid "Register number is not valid"
@@ -805,9 +1062,24 @@ msgstr "El registro debe estar entre r8 y r15"
msgid "Register list is not valid"
msgstr "La lista de registros no es válida"
+#: fr30-desc.c:1587
+#, c-format
+msgid "internal error: fr30_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: fr30_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: fr30-desc.c:1675
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: fr30_cgen_cpu_open: argumento «%d» no disponible"
+
+#: fr30-desc.c:1694
+#, c-format
+msgid "internal error: fr30_cgen_cpu_open: no endianness specified"
+msgstr "error interno: fr30_cgen_cpu_open: «endianness» no especificada"
+
#: frv-asm.c:608
msgid "missing `]'"
-msgstr "ausente `]'"
+msgstr "falta un «]»"
#: frv-asm.c:611 frv-asm.c:621
msgid "Special purpose register number is out of range"
@@ -821,32 +1093,51 @@ msgstr "El valor del operando A debe ser 0 o 1"
msgid "register number must be even"
msgstr "el número de registro debe ser par"
-#: h8300-dis.c:313
+#: frv-desc.c:6327
#, c-format
-msgid "Hmmmm 0x%x"
-msgstr "Hmmmm 0x%x"
+msgid "internal error: frv_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: frv_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
-#: h8300-dis.c:690
+#: frv-desc.c:6415
#, c-format
-msgid "Don't understand 0x%x \n"
-msgstr "No entiende 0x%x \n"
+msgid "internal error: frv_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: frv_cgen_cpu_open: argumento «%d» no disponible"
+
+#: frv-desc.c:6434
+#, c-format
+msgid "internal error: frv_cgen_cpu_open: no endianness specified"
+msgstr "error interno: frv_cgen_cpu_open: «endianness» no especificada"
+
+#: frv-opc.c:459
+#, c-format
+msgid "internal error: bad vliw->next_slot value"
+msgstr "error interno: valor de vliw->next_slot incorrecto"
+
+#: frv-opc.c:769
+#, c-format
+msgid "internal error: bad major code"
+msgstr "error interno: código mayor incorrecto"
-#: h8500-dis.c:123
+#: frv-opc.c:819
#, c-format
-msgid "can't cope with insert %d\n"
-msgstr "no se puede lidiar con insert %d\n"
+msgid "internal error: bad insn unit"
+msgstr "error interno: unidad de insn incorrecta"
+
+#: h8300-dis.c:309
+#, c-format
+msgid "Hmmmm 0x%x"
+msgstr "Hmmmm 0x%x"
-#. Couldn't understand anything.
-#: h8500-dis.c:323
+#: h8300-dis.c:617
#, c-format
-msgid "%02x\t\t*unknown*"
-msgstr "%02x\t\t*desconocido*"
+msgid "Don't understand 0x%x \n"
+msgstr "No se entiende 0x%x \n"
-#: i386-dis.c:12330
+#: i386-dis.c:8727
msgid "<internal disassembler error>"
msgstr "<error interno del desensamblador>"
-#: i386-dis.c:12625
+#: i386-dis.c:8975
#, c-format
msgid ""
"\n"
@@ -857,266 +1148,103 @@ msgstr ""
"Se admiten las siguientes opciones de desensamblador específicas de i386/x86-64\n"
"con el interruptor -M (las opciones múltiples se deben separar con comas):\n"
-#: i386-dis.c:12629
+#: i386-dis.c:8979
#, c-format
msgid " x86-64 Disassemble in 64bit mode\n"
-msgstr " x86-64 Desensambla en modo 64bit\n"
+msgstr " x86-64 Desensambla en modo de 64 bits\n"
-#: i386-dis.c:12630
+#: i386-dis.c:8980
#, c-format
msgid " i386 Disassemble in 32bit mode\n"
-msgstr " i386 Desensambla en modo 32bit\n"
+msgstr " i386 Desensambla en modo de 32 bits\n"
-#: i386-dis.c:12631
+#: i386-dis.c:8981
#, c-format
msgid " i8086 Disassemble in 16bit mode\n"
-msgstr " i8086 Desensambla en modo 16bit\n"
+msgstr " i8086 Desensambla en modo de 16 bits\n"
-#: i386-dis.c:12632
+#: i386-dis.c:8982
#, c-format
msgid " att Display instruction in AT&T syntax\n"
-msgstr " att Enseña las instrucciones con sintaxis AT&T\n"
+msgstr " att Muestra las instrucciones con sintaxis AT&T\n"
-#: i386-dis.c:12633
+#: i386-dis.c:8983
#, c-format
msgid " intel Display instruction in Intel syntax\n"
-msgstr " intel Enseña las instrucciones con sintaxis Intel\n"
+msgstr " intel Muestra las instrucciones con sintaxis Intel\n"
-#: i386-dis.c:12634
+#: i386-dis.c:8984
#, c-format
msgid ""
-" att-mnemonic\n"
-" Display instruction in AT&T mnemonic\n"
+" att-mnemonic (AT&T syntax only)\n"
+" Display instruction with AT&T mnemonic\n"
msgstr ""
-" att-mnemonic\n"
-" Enseña las instrucciones con mnemónicos AT&T\n"
+" att-mnemonic (sintaxis AT&T únicamente)\n"
+" Muestra la instrucción con mnemónico AT&T\n"
-#: i386-dis.c:12636
+#: i386-dis.c:8986
#, c-format
msgid ""
-" intel-mnemonic\n"
-" Display instruction in Intel mnemonic\n"
+" intel-mnemonic (AT&T syntax only)\n"
+" Display instruction with Intel mnemonic\n"
msgstr ""
-" intel-mnemonic\n"
-" Enseña las instrucciones con mnemónicos Intel\n"
+" intel-mnemonic (sintaxis AT&T únicamente)\n"
+" Muestra la instrucción con mnemónico Intel\n"
-#: i386-dis.c:12638
+#: i386-dis.c:8988
#, c-format
msgid " addr64 Assume 64bit address size\n"
-msgstr " addr64 Asume un tamaño de dirección de 64bit\n"
+msgstr " addr64 Asume un tamaño de dirección de 64 bit\n"
-#: i386-dis.c:12639
+#: i386-dis.c:8989
#, c-format
msgid " addr32 Assume 32bit address size\n"
-msgstr " addr32 Asume un tamaño de dirección de 32bit\n"
+msgstr " addr32 Asume un tamaño de dirección de 32 bits\n"
-#: i386-dis.c:12640
+#: i386-dis.c:8990
#, c-format
msgid " addr16 Assume 16bit address size\n"
-msgstr " addr16 Asume un tamaño de dirección de 16bit\n"
+msgstr " addr16 Asume un tamaño de dirección de 16 bits\n"
-#: i386-dis.c:12641
+#: i386-dis.c:8991
#, c-format
msgid " data32 Assume 32bit data size\n"
-msgstr " data32 Asume un tamaño de datos de 32bit\n"
+msgstr " data32 Asume un tamaño de datos de 32 bits\n"
-#: i386-dis.c:12642
+#: i386-dis.c:8992
#, c-format
msgid " data16 Assume 16bit data size\n"
-msgstr " data16 Asume un tamaño de datos de 16bit\n"
+msgstr " data16 Asume un tamaño de datos de 16 bits\n"
-#: i386-dis.c:12643
+#: i386-dis.c:8993
#, c-format
msgid " suffix Always display instruction suffix in AT&T syntax\n"
msgstr " suffix Siempre muestra el sufijo de instrucción con sintaxis AT&T\n"
-#: i386-dis.c:12644
+#: i386-dis.c:8994
#, c-format
msgid " amd64 Display instruction in AMD64 ISA\n"
-msgstr " amd64 Enseña las instrucciones en AMD64 ISA\n"
+msgstr " amd64 Muestra las instrucciones en ISA AMD64\n"
-#: i386-dis.c:12645
+#: i386-dis.c:8995
#, c-format
msgid " intel64 Display instruction in Intel64 ISA\n"
-msgstr " intel64 Enseña instrucción dentro de ISA Intel64\n"
+msgstr " intel64 Muestra instrucción en ISA Intel64\n"
-#: i386-dis.c:13190
+#: i386-dis.c:9795
msgid "64-bit address is disabled"
-msgstr "dirección 64-bit está desactivada"
-
-#: i386-gen.c:711 ia64-gen.c:306
-#, c-format
-msgid "%s: Error: "
-msgstr "%s: Error: "
-
-#: i386-gen.c:890
-#, c-format
-msgid "%s: %d: Unknown bitfield: %s\n"
-msgstr "%s: %d: Campo de bits desconocido: %s\n"
-
-#: i386-gen.c:892
-#, c-format
-msgid "Unknown bitfield: %s\n"
-msgstr "Campo de bits desconocido: %s\n"
-
-#: i386-gen.c:955
-#, c-format
-msgid "%s: %d: Missing `)' in bitfield: %s\n"
-msgstr "%s: %d: Falta un `)' en el campo de bits: %s\n"
-
-#: i386-gen.c:1256
-#, c-format
-msgid "can't find i386-opc.tbl for reading, errno = %s\n"
-msgstr "no se puede encontrar i386-opc.tbl para lectura, errno =%s\n"
-
-#: i386-gen.c:1387
-#, c-format
-msgid "can't find i386-reg.tbl for reading, errno = %s\n"
-msgstr "no se puede encontrar i386-reg.tbl para lectura, errno = %s\n"
-
-#: i386-gen.c:1465
-#, c-format
-msgid "can't create i386-init.h, errno = %s\n"
-msgstr "no se puede crear i386-init.h, errno = %s\n"
-
-#: i386-gen.c:1555 ia64-gen.c:2829
-#, c-format
-msgid "unable to change directory to \"%s\", errno = %s\n"
-msgstr "no se puede modificar el directorio a \"%s\", errno = %s\n"
-
-#: i386-gen.c:1567 i386-gen.c:1570
-#, c-format
-msgid "CpuMax != %d!\n"
-msgstr "CpuMax != %d!\n"
-
-#: i386-gen.c:1574
-#, c-format
-msgid "%d unused bits in i386_cpu_flags.\n"
-msgstr "%d bits sin usar en i386_cpu_flags.\n"
-
-#: i386-gen.c:1581
-#, c-format
-msgid "%d unused bits in i386_operand_type.\n"
-msgstr "%d bits sin usar en i386_operand_type.\n"
-
-#: i386-gen.c:1595
-#, c-format
-msgid "can't create i386-tbl.h, errno = %s\n"
-msgstr "no se puede crear i386-tbl.h, errno = %s\n"
-
-#: ia64-gen.c:319
-#, c-format
-msgid "%s: Warning: "
-msgstr "%s: Aviso: "
-
-#: ia64-gen.c:505 ia64-gen.c:736
-#, c-format
-msgid "multiple note %s not handled\n"
-msgstr "no se maneja la nota múltiple %s\n"
-
-#: ia64-gen.c:616
-msgid "can't find ia64-ic.tbl for reading\n"
-msgstr "no se puede encontrar ia64-ic.tbl para lectura\n"
-
-#: ia64-gen.c:818
-#, c-format
-msgid "can't find %s for reading\n"
-msgstr "no se puede encontrar %s para lectura\n"
-
-#: ia64-gen.c:1050
-#, c-format
-msgid ""
-"most recent format '%s'\n"
-"appears more restrictive than '%s'\n"
-msgstr ""
-"el formato más reciente '%s'\n"
-"parece más restrictivo que '%s'\n"
-
-#: ia64-gen.c:1061
-#, c-format
-msgid "overlapping field %s->%s\n"
-msgstr "traslapando campo %s→%s\n"
-
-#: ia64-gen.c:1258
-#, c-format
-msgid "overwriting note %d with note %d (IC:%s)\n"
-msgstr "se sobreescribe la nota %d con la nota %d (IC:%s)\n"
-
-#: ia64-gen.c:1465
-#, c-format
-msgid "don't know how to specify %% dependency %s\n"
-msgstr "no sabe cómo especificar la dependencia %% %s\n"
-
-#: ia64-gen.c:1487
-#, c-format
-msgid "Don't know how to specify # dependency %s\n"
-msgstr "No sabe cómo especificar la dependencia # %s\n"
-
-#: ia64-gen.c:1526
-#, c-format
-msgid "IC:%s [%s] has no terminals or sub-classes\n"
-msgstr "IC:%s [%s] no tiene terminales o sub-clases\n"
-
-#: ia64-gen.c:1529
-#, c-format
-msgid "IC:%s has no terminals or sub-classes\n"
-msgstr "IC:%s no tiene terminales o sub-clases\n"
-
-#: ia64-gen.c:1538
-#, c-format
-msgid "no insns mapped directly to terminal IC %s [%s]"
-msgstr "no hay insns distribuída directamente al IC terminal %s [%s]"
-
-#: ia64-gen.c:1541
-#, c-format
-msgid "no insns mapped directly to terminal IC %s\n"
-msgstr "no hay insns distribuída directamente al IC terminal %s\n"
-
-#: ia64-gen.c:1552
-#, c-format
-msgid "class %s is defined but not used\n"
-msgstr "se define la clase %s pero no se utiliza\n"
-
-#: ia64-gen.c:1565
-#, c-format
-msgid "Warning: rsrc %s (%s) has no chks\n"
-msgstr "Aviso: el rsrc %s (%s) no tiene chks\n"
-
-#: ia64-gen.c:1568
-#, c-format
-msgid "Warning: rsrc %s (%s) has no chks or regs\n"
-msgstr "Aviso: el rsrc %s (%s) no tiene chks o regs\n"
-
-#: ia64-gen.c:1572
-#, c-format
-msgid "rsrc %s (%s) has no regs\n"
-msgstr "el rsrc %s (%s) no tiene registros\n"
-
-#: ia64-gen.c:2464
-#, c-format
-msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
-msgstr "IC como nota de %d en el código de operación %s (IC:%s) tiene conflictos con el recurso %s nota %d\n"
-
-#: ia64-gen.c:2492
-#, c-format
-msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
-msgstr "IC como nota %d para el código de operación %s (IC:%s) en conflicto con recurso %s nota %d\n"
-
-#: ia64-gen.c:2506
-#, c-format
-msgid "opcode %s has no class (ops %d %d %d)\n"
-msgstr "el código de operación %s no tiene clase (ops %d %d %d)\n"
+msgstr "la dirección de 64 bits está desactivada"
#. We've been passed a w. Return with an error message so that
#. cgen will try the next parsing option.
#: ip2k-asm.c:81
msgid "W keyword invalid in FR operand slot."
-msgstr "W como palabra clave inválida en del operando FR."
+msgstr "palabra clave W no válida en la ranura del operando FR."
#. Invalid offset present.
#: ip2k-asm.c:106
msgid "offset(IP) is not a valid form"
-msgstr "offset(IP) no es una forma válida"
+msgstr "el desplazamiento(IP) no está en formato válido"
#. Found something there in front of (DP) but it's out
#. of range.
@@ -1149,16 +1277,31 @@ msgstr "Se requiere una dirección de byte. - debe ser par."
#: ip2k-asm.c:305
msgid "cgen_parse_address returned a symbol. Literal required."
-msgstr "cgen_parse_address devolvió un símbolo. Requerido literal."
+msgstr "cgen_parse_address devolvió un símbolo. Se requiere literal."
#: ip2k-asm.c:360
msgid "percent-operator operand is not a symbol"
-msgstr "el operando operador-porcentaje no es un símbolo"
+msgstr "el operando del operador de porcentaje no es un símbolo"
#: ip2k-asm.c:413
msgid "Attempt to find bit index of 0"
msgstr "Se intentó encontrar un índice de bit de 0"
+#: ip2k-desc.c:1016
+#, c-format
+msgid "internal error: ip2k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: ip2k_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: ip2k-desc.c:1104
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: ip2k_cgen_cpu_open: argumento «%d» no disponible"
+
+#: ip2k-desc.c:1123
+#, c-format
+msgid "internal error: ip2k_cgen_cpu_open: no endianness specified"
+msgstr "error interno: ip2k_cgen_cpu_open: «endianness» no especificada"
+
#: iq2000-asm.c:112 iq2000-asm.c:142
msgid "immediate value cannot be register"
msgstr "el valor inmediato no puede ser un registro"
@@ -1169,7 +1312,61 @@ msgstr "el valor inmediato está fuera de rango"
#: iq2000-asm.c:182
msgid "21-bit offset out of range"
-msgstr "desplazamiento de 21-bit fuera de rango"
+msgstr "desplazamiento de 21 bits fuera de rango"
+
+#: iq2000-desc.c:2021
+#, c-format
+msgid "internal error: iq2000_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: iq2000_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: iq2000-desc.c:2109
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: iq2000_cgen_cpu_open: argumento «%d» no disponible"
+
+#: iq2000-desc.c:2128
+#, c-format
+msgid "internal error: iq2000_cgen_cpu_open: no endianness specified"
+msgstr "error interno: iq2000_cgen_cpu_open: «endianness» no especificada"
+
+#: kvx-dis.c:1571
+#, c-format
+msgid ""
+"\n"
+"The following KVX specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador específicas de KVX\n"
+"para usarse con el interruptor -M (si hay varias opciones, se deben separar\n"
+"con comas):\n"
+
+#: kvx-dis.c:1575
+#, c-format
+msgid ""
+"\n"
+" pretty Print 32-bit words in natural order corresponding to re-ordered instruction.\n"
+msgstr ""
+"\n"
+" pretty Imprime palabras de 32 bits en orden natural correspondientes a la instrucción reordenada.\n"
+
+#: kvx-dis.c:1579
+#, c-format
+msgid ""
+"\n"
+" compact-assembly Do not emit a new line between bundles of instructions.\n"
+msgstr ""
+"\n"
+" compact-assembly No emite nueva línea entre grupos de instrucciones.\n"
+
+#: kvx-dis.c:1583
+#, c-format
+msgid ""
+"\n"
+" no-compact-assembly Emit a new line between bundles of instructions.\n"
+msgstr ""
+"\n"
+" no-compact-assembly Emite nueva línea entre grupos de instrucciones.\n"
#: lm32-asm.c:166
msgid "expecting gp relative address: gp(symbol)"
@@ -1177,29 +1374,74 @@ msgstr "esperando dirección relativa gp: gp(símbolo)"
#: lm32-asm.c:196
msgid "expecting got relative address: got(symbol)"
-msgstr "esperando obtuvo una dirección relativa: got(símbolo)"
+msgstr "esperando dirección relativa got: got(símbolo)"
#: lm32-asm.c:226
msgid "expecting got relative address: gotoffhi16(symbol)"
-msgstr "esperando obtuvo una dirección relativa: gotoffhi16(símbolo)"
+msgstr "esperando dirección relativa got: gotoffhi16(símbolo)"
#: lm32-asm.c:256
msgid "expecting got relative address: gotofflo16(symbol)"
-msgstr "esperando obtuvo una dirección relativa: gotofflo16(símbolo)"
+msgstr "esperando dirección relativa got: gotofflo16(símbolo)"
+
+#: lm32-desc.c:1003
+#, c-format
+msgid "internal error: lm32_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: lm32_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: lm32-desc.c:1091
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: lm32_cgen_cpu_open: argumento «%d» no disponible"
-#: m10200-dis.c:157 m10300-dis.c:580
+#: lm32-desc.c:1110
+#, c-format
+msgid "internal error: lm32_cgen_cpu_open: no endianness specified"
+msgstr "error interno: lm32_cgen_cpu_open: «endianness» no especificada"
+
+#: loongarch-dis.c:329
+#, c-format
+msgid ""
+"\n"
+"The following LoongArch disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador específicas de LoongArch\n"
+"para usarse con el interruptor -M (si hay varias opciones, se deben separar\n"
+"con comas):\n"
+
+#: loongarch-dis.c:333
+#, c-format
+msgid ""
+"\n"
+" no-aliases Use canonical instruction forms.\n"
+msgstr ""
+"\n"
+" no-aliases Utiliza formatos de instrucción canónicos.\n"
+
+#: loongarch-dis.c:335
+#, c-format
+msgid ""
+"\n"
+" numeric Print numeric register names, rather than ABI names.\n"
+msgstr ""
+"\n"
+" numeric Imprime nombres de registro numéricos, en vez de nombres ABI.\n"
+
+#: m10200-dis.c:151 m10300-dis.c:574
#, c-format
msgid "unknown\t0x%04lx"
-msgstr "desconocido\t0x%04lx"
+msgstr "desconocida\t0x%04lx"
-#: m10200-dis.c:327
+#: m10200-dis.c:321
#, c-format
msgid "unknown\t0x%02lx"
-msgstr "desconocido\t0x%02lx"
+msgstr "desconocida\t0x%02lx"
#: m32c-asm.c:117
msgid "imm:6 immediate is out of range"
-msgstr "imm:6 inmediato está fuera de rango"
+msgstr "el inmediato imm:6 está fuera de rango"
#: m32c-asm.c:145
#, c-format
@@ -1253,7 +1495,7 @@ msgstr "el inmediato está fuera del rango 2-9"
#: m32c-asm.c:568
msgid "Bit number for indexing general register is out of range 0-15"
-msgstr "El número de bit para el registro general de indización está fuera del rango 0-15"
+msgstr "El número de bit para el registro general de indexación está fuera del rango 0-15"
#: m32c-asm.c:606 m32c-asm.c:662
msgid "bit,base is out of range"
@@ -1269,23 +1511,48 @@ msgstr "no es un par r0l/r0h válido"
#: m32c-asm.c:832
msgid "Invalid size specifier"
-msgstr "Invalida especificador de tamaño"
+msgstr "Especificador de tamaño no válido"
+
+#: m32c-desc.c:63034
+#, c-format
+msgid "internal error: m32c_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: m32c_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: m32c-desc.c:63122
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: m32c_cgen_cpu_open: argumento «%d» no disponible"
-#: m68k-dis.c:1292
+#: m32c-desc.c:63141
+#, c-format
+msgid "internal error: m32c_cgen_cpu_open: no endianness specified"
+msgstr "error interno: m32c_cgen_cpu_open: «endianness» no especificada"
+
+#: m32r-desc.c:1366
+#, c-format
+msgid "internal error: m32r_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: m32r_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: m32r-desc.c:1454
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: m32r_cgen_cpu_open: argumento «%d» no disponible"
+
+#: m32r-desc.c:1473
+#, c-format
+msgid "internal error: m32r_cgen_cpu_open: no endianness specified"
+msgstr "error interno: m32r_cgen_cpu_open: «endianness» no especificada"
+
+#: m68k-dis.c:1405
#, c-format
msgid "<function code %d>"
msgstr "<código de función %d>"
-#: m68k-dis.c:1455
+#: m68k-dis.c:1590
#, c-format
msgid "<internal error in opcode table: %s %s>\n"
msgstr "<error interno en la tabla de códigos de operación: %s %s>\n"
-#: m88k-dis.c:678
-#, c-format
-msgid "# <dis error: %08lx>"
-msgstr "# <error de desensamblador: %08lx>"
-
#: mep-asm.c:129
msgid "Only $tp or $13 allowed for this opcode"
msgstr "Sólo se permite $tp o $13 para este código de operación"
@@ -1294,224 +1561,208 @@ msgstr "Sólo se permite $tp o $13 para este código de operación"
msgid "Only $sp or $15 allowed for this opcode"
msgstr "Sólo se permite $sp o $15 para este código de operación"
-#: mep-asm.c:308 mep-asm.c:504
-#, c-format
+#: mep-asm.c:309 mep-asm.c:506
+#, no-c-format
msgid "invalid %function() here"
-msgstr "invalida %funcion() aquí"
+msgstr "%funcion() no válida aquí"
-#: mep-asm.c:336
+#: mep-asm.c:337
msgid "Immediate is out of range -32768 to 32767"
msgstr "El inmediato está fuera del rango -32768 a 32767"
-#: mep-asm.c:356
+#: mep-asm.c:357
msgid "Immediate is out of range 0 to 65535"
msgstr "El inmediato está fuera del rango 0 a 65535"
-#: mep-asm.c:549 mep-asm.c:562
+#: mep-asm.c:551 mep-asm.c:564
msgid "Immediate is out of range -512 to 511"
msgstr "El inmediato está fuera del rango -512 a 511"
-#: mep-asm.c:554 mep-asm.c:563
+#: mep-asm.c:556 mep-asm.c:565
msgid "Immediate is out of range -128 to 127"
msgstr "El inmediato está fuera del rango -128 a 127"
-#: mep-asm.c:558
+#: mep-asm.c:560
msgid "Value is not aligned enough"
msgstr "El valor no está suficientemente alineado"
-#: mips-dis.c:1751 mips-dis.c:1977
+#: mep-desc.c:6227
#, c-format
-msgid "# internal error, undefined operand in `%s %s'"
-msgstr "# error interno, operando indiefinido en `%s %s'"
+msgid "internal error: mep_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: mep_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
-#: mips-dis.c:2553
+#: mep-desc.c:6315
#, c-format
-msgid ""
-"\n"
-"The following MIPS specific disassembler options are supported for use\n"
-"with the -M switch (multiple options should be separated by commas):\n"
-msgstr ""
-"\n"
-"Se admiten las siguientes opciones de desensamblador específicas de MIPS\n"
-"para usarse con el interruptor -M (las opciones múltiples se deben separar\n"
-"con comas):\n"
+msgid "internal error: mep_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: mep_cgen_cpu_open: argumento «%d» no disponible"
-#: mips-dis.c:2557
+#: mep-desc.c:6334
#, c-format
-msgid ""
-"\n"
-" no-aliases Use canonical instruction forms.\n"
-msgstr ""
-"\n"
-" no-aliases Utilizar formatos de instrucción canónico.\n"
+msgid "internal error: mep_cgen_cpu_open: no endianness specified"
+msgstr "error interno: mep_cgen_cpu_open: «endianness» no especificada"
-#: mips-dis.c:2560
+#: mep-dis.c:662
#, c-format
-msgid ""
-"\n"
-" msa Recognize MSA instructions.\n"
-msgstr ""
-"\n"
-" msa Reconoce instrucciones MSA.\n"
+msgid "illegal MEP INDEX setting '%x' in ELF header e_flags field"
+msgstr "configuración «%x» de INDEX MEP ilegal en el campo e_flags de la cabecera ELF"
-#: mips-dis.c:2563
+#: mips-dis.c:1907 mips-dis.c:2140
#, c-format
-msgid ""
-"\n"
-" virt Recognize the virtualization ASE instructions.\n"
-msgstr ""
-"\n"
-" virt Reconoce la virtualización de instrucciones ASE.\n"
+msgid "# internal error, undefined operand in `%s %s'"
+msgstr "# error interno, operando indiefinido en «%s %s»"
-#: mips-dis.c:2566
-#, c-format
-msgid ""
-"\n"
-" xpa Recognize the eXtended Physical Address (XPA)\n"
-" ASE instructions.\n"
-msgstr ""
-"\n"
-" xpa Reconoce instrucciones ASE eXtended Physical\n"
-" Address (XPA).\n"
+#: mips-dis.c:2745
+msgid "Use canonical instruction forms.\n"
+msgstr "Utiliza formatos de instrucción canónicos.\n"
-#: mips-dis.c:2570
-#, c-format
-msgid ""
-"\n"
-" gpr-names=ABI Print GPR names according to specified ABI.\n"
-" Default: based on binary being disassembled.\n"
-msgstr ""
-"\n"
-" gpr-names=ABI Escribe nombres GPR de acuerdo a la ABI especificada.\n"
-" Por defecto: basado en el binario a desensamblar.\n"
+#: mips-dis.c:2747
+msgid "Recognize MSA instructions.\n"
+msgstr "Reconoce instrucciones MSA.\n"
-#: mips-dis.c:2574
-#, c-format
+#: mips-dis.c:2749
+msgid "Recognize the virtualization ASE instructions.\n"
+msgstr "Reconoce las instrucciones ASE de virtualización.\n"
+
+#: mips-dis.c:2751
msgid ""
-"\n"
-" fpr-names=ABI Print FPR names according to specified ABI.\n"
-" Default: numeric.\n"
+"Recognize the eXtended Physical Address (XPA) ASE\n"
+" instructions.\n"
msgstr ""
-"\n"
-" fpr-names=ABI Escribe los nombres FPR de acuerdo a la ABI especificada.\n"
-" Por defecto: numérico.\n"
+"Reconoce las instrucciones ASE de dirección\n"
+" física extendida (XPA).\n"
-#: mips-dis.c:2578
-#, c-format
+#: mips-dis.c:2754
+msgid "Recognize the Global INValidate (GINV) ASE instructions.\n"
+msgstr "Reconoce las instrucciones ASE de invalidación global (GINV).\n"
+
+#: mips-dis.c:2758
+msgid "Recognize the Loongson MultiMedia extensions Instructions (MMI) ASE instructions.\n"
+msgstr "Reconoce las instrucciones ASE de las instrucciones de extensiones multimedia Loongson (MMI).\n"
+
+#: mips-dis.c:2762
+msgid "Recognize the Loongson Content Address Memory (CAM) instructions.\n"
+msgstr "Reconoce las instrucciones ASE de memoria de direcciones de contenido Loongson (CAM).\n"
+
+#: mips-dis.c:2766
+msgid "Recognize the Loongson EXTensions (EXT) instructions.\n"
+msgstr "Reconoce las instrucciones ASE de extensiones Loongson (EXT).\n"
+
+#: mips-dis.c:2770
+msgid "Recognize the Loongson EXTensions R2 (EXT2) instructions.\n"
+msgstr "Reconoce las instrucciones ASE de extensiones R2 Loongson (EXT2).\n"
+
+#: mips-dis.c:2773
msgid ""
-"\n"
-" cp0-names=ARCH Print CP0 register names according to\n"
-" specified architecture.\n"
-" Default: based on binary being disassembled.\n"
+"Print GPR names according to specified ABI.\n"
+" Default: based on binary being disassembled.\n"
msgstr ""
-"\n"
-" cp0-names=ARCH Muestra los nombres de registro CP0 de acuerdo a\n"
-" la arquitectura especificada.\n"
-" Por defecto: basado en el binario a desensamblar.\n"
+"Imprime nombres GPR de acuerdo a la ABI especificada.\n"
+" Por defecto: basado en el binario a desensamblar.\n"
-#: mips-dis.c:2583
-#, c-format
+#: mips-dis.c:2776
msgid ""
-"\n"
-" hwr-names=ARCH Print HWR names according to specified \n"
-" architecture.\n"
-" Default: based on binary being disassembled.\n"
+"Print FPR names according to specified ABI.\n"
+" Default: numeric.\n"
msgstr ""
-"\n"
-" hwr-namess=ARCH Escribe los nombres HWR de acuerdo\n"
-" a las arquitectura especificada.\n"
-" Por defecto: basado en binario siendo desensamblada.\n"
+"Imprime nombres FPR de acuerdo a la ABI especificada.\n"
+" Por defecto: numérico.\n"
-#: mips-dis.c:2588
-#, c-format
+#: mips-dis.c:2779
msgid ""
-"\n"
-" reg-names=ABI Print GPR and FPR names according to\n"
-" specified ABI.\n"
+"Print CP0 register names according to specified architecture.\n"
+" Default: based on binary being disassembled.\n"
msgstr ""
-"\n"
-" reg-names=ABI Escribe los nombres GPR y FPR de acuerdo a\n"
-" la ABI especificada.\n"
+"Imprime nombres de registro CP0 de acuerdo a la arquitectura especificada.\n"
+" Por defecto: basado en el binario a desensamblar.\n"
-#: mips-dis.c:2592
-#, c-format
+#: mips-dis.c:2783
msgid ""
-"\n"
-" reg-names=ARCH Print CP0 register and HWR names according to\n"
-" specified architecture.\n"
+"Print HWR names according to specified architecture.\n"
+" Default: based on binary being disassembled.\n"
msgstr ""
-"\n"
-" reg-names=ARCH Escribe el registro CP0 y los nombres HWR de acuerdo a\n"
-" la arquitectura especificada.\n"
+"Imprime nombres HWR de acuerdo a la arquitectura especificada.\n"
+" Por defecto: basado en el binario a desensamblar.\n"
-#: mips-dis.c:2596
-#, c-format
+#: mips-dis.c:2786
+msgid "Print GPR and FPR names according to specified ABI.\n"
+msgstr "Imprime los nombres GPR y FPR de acuerdo a la ABI especificada.\n"
+
+#: mips-dis.c:2788
msgid ""
-"\n"
-" For the options above, the following values are supported for \"ABI\":\n"
-" "
+"Print CP0 register and HWR names according to specified\n"
+" architecture."
msgstr ""
-"\n"
-" Para las opciones anteriores, se admiten los siguientes valores de \"ABI\":\n"
-" "
+"Imprime los nombres de registro CP0 de acuerdo a la\n"
+" arquitectura especificada."
-#: mips-dis.c:2603
+#: mips-dis.c:2874
#, c-format
msgid ""
"\n"
-" For the options above, The following values are supported for \"ARCH\":\n"
-" "
+"The following MIPS specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+"\n"
msgstr ""
"\n"
-" Para las opciones anteriores, se admiten los siguientes valores de \"ARCH\":\n"
-" "
+"Se admiten las siguientes opciones de desensamblador específicas de MIPS\n"
+"para usarse con el interruptor -M (si hay varias opciones, se deben separar\n"
+"con comas):\n"
-#: mmix-dis.c:34
+#: mmix-dis.c:33
#, c-format
-msgid "Bad case %d (%s) in %s:%d\n"
-msgstr "Case %d equivocado (%s) en %s:%d\n"
+msgid "bad case %d (%s) in %s:%d"
+msgstr "caso %d (%s) incorrecto en %s:%d"
-#: mmix-dis.c:44
+#: mmix-dis.c:42
#, c-format
-msgid "Internal: Non-debugged code (test-case missing): %s:%d"
-msgstr "Interno: Código sin depurar (falta el caso de prueba): %s:%d"
+msgid "internal: non-debugged code (test-case missing): %s:%d"
+msgstr "interno: código sin depurar (falta el caso de prueba): %s:%d"
-#: mmix-dis.c:53
+#: mmix-dis.c:52
msgid "(unknown)"
msgstr "(desconocido)"
-#: mmix-dis.c:511
+#: mmix-dis.c:248 mmix-dis.c:256
+msgid "*illegal*"
+msgstr "*ilegal*"
+
+#: mmix-dis.c:530
#, c-format
msgid "*unknown operands type: %d*"
msgstr "*tipo de operandos desconocido: %d*"
+#: msp430-decode.opc:145 rl78-decode.opc:106
+#, c-format
+msgid "internal error: immediate() called with invalid byte count %d"
+msgstr "error interno: immediate() llamado con contador de byte no válido %d"
+
#: msp430-dis.c:59
#, c-format
msgid "Warning: disassembly unreliable - not enough bytes available"
-msgstr "Aviso: desensamblado no creíble - sin suficientes bytes disponibles"
+msgstr "Aviso: desensamblado no fiable - sin suficientes bytes disponibles"
#: msp430-dis.c:65
#, c-format
msgid "Error: read from memory failed"
-msgstr "Error: lectura desde memoria fallada"
+msgstr "Error: lectura de memoria fallada"
#: msp430-dis.c:499
msgid "Warning: illegal as emulation instr"
-msgstr "Aviso: ilegal como inst emulada"
+msgstr "Aviso: ilegal como instr de emulación"
#. R2/R3 are illegal as dest: may be data section.
#: msp430-dis.c:591
msgid "Warning: illegal as 2-op instr"
-msgstr "Aviso: ilegal como instr 2-op"
+msgstr "Aviso: ilegal como instr de 2 op"
#: msp430-dis.c:1002
msgid "Warning: unrecognised CALLA addressing mode"
-msgstr "Aviso: modo direccional CALLA no reconocido"
+msgstr "Aviso: modo de direccionamiento CALLA no reconocido"
#: msp430-dis.c:1303 msp430-dis.c:1324 msp430-dis.c:1345
#, c-format
msgid "Warning: reserved use of A/L and B/W bits detected"
-msgstr "Aviso: uso reserevado de A/L y B/W bits detectados"
+msgstr "Aviso: se ha detectado un uso reservado de los btis A/L y B/W"
#: mt-asm.c:110 mt-asm.c:190
msgid "Operand out of range. Must be between -32768 and 32767."
@@ -1523,11 +1774,115 @@ msgstr "¡Graaaan Problema en parse_imm16!"
#: mt-asm.c:157
msgid "The percent-operator's operand is not a symbol"
-msgstr "El porcentaje operador del operando no es un símbolo"
+msgstr "El operando del operador de porcentaje no es un símbolo"
#: mt-asm.c:395
msgid "invalid operand. type may have values 0,1,2 only."
-msgstr "invalida operando. tipo quizá tiene valores 0,1,2 únicamente."
+msgstr "operando no válido. el tipo puede tener los valores 0,1,2 únicamente."
+
+#: mt-desc.c:1147
+#, c-format
+msgid "internal error: mt_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: mt_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: mt-desc.c:1235
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: mt_cgen_cpu_open: argumento «%d« no disponible"
+
+#: mt-desc.c:1254
+#, c-format
+msgid "internal error: mt_cgen_cpu_open: no endianness specified"
+msgstr "error interno: mt_cgen_cpu_open: «endianness» no especificada"
+
+#: nds32-asm.c:1760
+#, c-format
+msgid "internal error: unknown operand, %s"
+msgstr "error interno: operando desconocido, %s"
+
+#: nds32-asm.c:2396
+#, c-format
+msgid "internal error: don't know how to handle parsing results"
+msgstr "error interno: se desconoce cómo manejar los resultados del análisis"
+
+#: nds32-asm.c:2404
+#, c-format
+msgid "internal error: unknown hardware resource"
+msgstr "error interno: recurso hardware desconocido"
+
+#: nds32-dis.c:1178
+msgid "insufficient data to decode instruction"
+msgstr "datos insuficientes para descodificar la instrucción"
+
+#: nfp-dis.c:930
+msgid "<invalid_instruction>:"
+msgstr "<instrucción_no_válida>:"
+
+#: nfp-dis.c:1334
+msgid ", <invalid CRC operator>, "
+msgstr ", <operador de CRC no válido>, "
+
+#: nfp-dis.c:1686
+msgid "<invalid branch>["
+msgstr "<rama no válida>["
+
+#: nfp-dis.c:2055 nfp-dis.c:2326
+#, c-format
+msgid "<invalid cmd target %d:%d:%d>[]"
+msgstr "<objetivo de la orden no válido %d:%d:%d>[]"
+
+#: nfp-dis.c:2066 nfp-dis.c:2337
+#, c-format
+msgid "<invalid cmd action %d:%d:%d>[]"
+msgstr "<acción de la orden no válida %d:%d:%d>[]"
+
+#: nfp-dis.c:2558
+msgid "File has no ME-Config section."
+msgstr "El fichero no tiene sección ME-Config."
+
+#. See PR 31843 for an example of this.
+#: nfp-dis.c:2565
+msgid "The ME-Config section is corrupt."
+msgstr "La sección ME-Config está corrupta."
+
+#: nfp-dis.c:2579
+msgid "File has invalid ME-Config section."
+msgstr "El fichero tiene una sección ME-Config que no es válida."
+
+#: nfp-dis.c:2726
+#, c-format
+msgid "Error processing section %u "
+msgstr "Error al procesar la sección %u "
+
+#: nfp-dis.c:2755
+#, c-format
+msgid "Invalid NFP option: %s"
+msgstr "Opción NFP no válida: %s"
+
+#: nfp-dis.c:2993
+#, c-format
+msgid ""
+"\n"
+"The following NFP specific disassembler options are supported for use\n"
+"with the -M switch (multiple options should be separated by commas):\n"
+msgstr ""
+"\n"
+"Se admiten las siguientes opciones de desensamblador específicas de NFP\n"
+"para usarse con el interruptor -M (si hay varias opciones, se deben separar\n"
+"con comas):\n"
+
+#: nfp-dis.c:2997
+#, c-format
+msgid ""
+"\n"
+" no-pc\t\t Don't print program counter prefix.\n"
+" ctx4\t\t Force disassembly using 4-context mode.\n"
+" ctx8\t\t Force 8-context mode, takes precedence."
+msgstr ""
+"\n"
+" no-pc\t\t No imprime el prefijo del contador de programa.\n"
+" ctx4\t\t Desensamblaje forzoso utilizando modo de 4 contextos.\n"
+" ctx8\t\t Modo de 8 contextos forzoso; tiene precedencia."
#. I and Z are output operands and can`t be immediate
#. A is an address and we can`t have the address of
@@ -1537,14 +1892,37 @@ msgstr "invalida operando. tipo quizá tiene valores 0,1,2 únicamente."
#: ns32k-dis.c:533
#, c-format
msgid "$<undefined>"
-msgstr "$<sin definir>"
+msgstr "$<indefinido>"
+
+#: or1k-asm.c:55
+msgid "relocation invalid for store"
+msgstr "reubicación inválida para almacenamiento"
-#: ppc-dis.c:359
+#: or1k-asm.c:56
+msgid "internal relocation type invalid"
+msgstr "tipo de reubicación interna no válido"
+
+#: or1k-desc.c:2041
+#, c-format
+msgid "internal error: or1k_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: or1k_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: or1k-desc.c:2129
#, c-format
-msgid "warning: ignoring unknown -M%s option\n"
-msgstr "aviso: se descarta la opción -M%s desconocida\n"
+msgid "internal error: or1k_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: or1k_cgen_cpu_open: argumento «%d« no disponible"
-#: ppc-dis.c:880
+#: or1k-desc.c:2148
+#, c-format
+msgid "internal error: or1k_cgen_cpu_open: no endianness specified"
+msgstr "error interno: or1k_cgen_cpu_open: «endianness» no especificada"
+
+#: ppc-dis.c:428
+#, c-format
+msgid "warning: ignoring unknown -M%s option"
+msgstr "aviso: se descarta la opción -M%s desconocida"
+
+#: ppc-dis.c:1276
#, c-format
msgid ""
"\n"
@@ -1555,154 +1933,235 @@ msgstr ""
"Se admiten las siguientes opciones de desensamblador específicas de PPC con\n"
"el interruptor -M:\n"
-#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:100 ppc-opc.c:129
+#: ppc-opc.c:52 ppc-opc.c:75 ppc-opc.c:101 ppc-opc.c:131
msgid "invalid register"
-msgstr "invalida registro"
+msgstr "registro no válido"
-#: ppc-opc.c:377 ppc-opc.c:405
+#: ppc-opc.c:397
msgid "invalid conditional option"
-msgstr "invalida opción condicional"
+msgstr "opción condicional no válida"
-#: ppc-opc.c:379 ppc-opc.c:407
+#: ppc-opc.c:400
msgid "invalid counter access"
-msgstr "invalida contador de acceso"
+msgstr "acceso a contador no válido"
-#: ppc-opc.c:409
+#: ppc-opc.c:464
+msgid "BO value implies no branch hint, when using + or - modifier"
+msgstr "el valor de BO implica que no hay pista de rama, utilizando el modificador + ó -"
+
+#: ppc-opc.c:469
msgid "attempt to set y bit when using + or - modifier"
-msgstr "intento de establecer el bit y cuando utilice + ó - como modificador"
+msgstr "intento de establecer el bit y cuando utiliando el modificador + ó -"
+
+#: ppc-opc.c:471
+msgid "attempt to set 'at' bits when using + or - modifier"
+msgstr "intento de establecer el bit «at» utilizando el modificador + ó -"
-#: ppc-opc.c:500
+#: ppc-opc.c:575
+msgid "invalid offset: must be in the range [-512, -8] and be a multiple of 8"
+msgstr "desplazamiento no válido: debe estar en el rango [-512, -8] y ser múltiplo de 8"
+
+#: ppc-opc.c:706
+msgid "invalid R operand"
+msgstr "operando R no válido"
+
+#: ppc-opc.c:761
msgid "invalid mask field"
-msgstr "invalida campo de máscara"
+msgstr "campo de máscara no válido"
-#: ppc-opc.c:523
+#: ppc-opc.c:784
msgid "invalid mfcr mask"
-msgstr "invalida máscara mfcr"
+msgstr "máscara mfcr no válida"
-#: ppc-opc.c:596 ppc-opc.c:636
+#: ppc-opc.c:902 ppc-opc.c:920
msgid "illegal L operand value"
-msgstr "valor de operando L ilegal"
+msgstr "valor del operando L ilegal"
-#: ppc-opc.c:642
+#: ppc-opc.c:943
+msgid "illegal WC operand value"
+msgstr "valor del operando WC ilegal"
+
+#: ppc-opc.c:1040
msgid "incompatible L operand value"
-msgstr "incompartible valor operativo L"
+msgstr "valor del operando L incompatible"
-#: ppc-opc.c:686 ppc-opc.c:721
+#: ppc-opc.c:1239 ppc-opc.c:1274
msgid "illegal bitmask"
msgstr "máscara de bits ilegal"
-#: ppc-opc.c:808
+#: ppc-opc.c:1418
msgid "address register in load range"
msgstr "registro de dirección en el rango de carga"
-#: ppc-opc.c:874
+#: ppc-opc.c:1458
+msgid "illegal PL operand value"
+msgstr "valor del operando PL ilegal"
+
+#: ppc-opc.c:1539
msgid "index register in load range"
-msgstr "registro índice en el rango de carga"
+msgstr "registro de índice en el rango de carga"
-#: ppc-opc.c:903 ppc-opc.c:984
+#: ppc-opc.c:1568 ppc-opc.c:1654
msgid "source and target register operands must be different"
-msgstr "origen y destino de operaciones de registro deben ser diferentes"
+msgstr "los operandos de los registros origen y destino deben ser diferentes"
-#: ppc-opc.c:931
-msgid "invalid register operand when updating"
-msgstr "invalida operando de registro al actualizar"
+#: ppc-opc.c:1599
+msgid "invalid base address register operand"
+msgstr "operando del registro de dirección base no válido"
-#: ppc-opc.c:1047
+#: ppc-opc.c:1717
msgid "illegal immediate value"
-msgstr "valor inmediato ilegal %s"
+msgstr "valor inmediato ilegal"
-#: ppc-opc.c:1194
+#: ppc-opc.c:2024
+msgid "invalid bat number"
+msgstr "número bat no válido"
+
+#: ppc-opc.c:2059
msgid "invalid sprg number"
-msgstr "invalida número sprg"
+msgstr "número sprg no válido"
-#: ppc-opc.c:1231
+#: ppc-opc.c:2096
msgid "invalid tbr number"
-msgstr "invalida número tbr"
+msgstr "número tbr no válido"
+
+#: ppc-opc.c:2203 ppc-opc.c:2271
+msgid "VSR overlaps ACC operand"
+msgstr "VSR se solapa con el operando ACC"
-#: ppc-opc.c:1373
+#: ppc-opc.c:2380
msgid "invalid constant"
-msgstr "invalida constante"
+msgstr "constante no válida"
-#: ppc-opc.c:1478 ppc-opc.c:1505 ppc-opc.c:1532 ppc-opc.c:1559
+#: ppc-opc.c:2482 ppc-opc.c:2505 ppc-opc.c:2528 ppc-opc.c:2551
msgid "UIMM = 00000 is illegal"
msgstr "UIMM = 00000 es ilegal"
-#: ppc-opc.c:1586
+#: ppc-opc.c:2574
msgid "UIMM values >7 are illegal"
-msgstr "UIMM valorados >7 son ilegales"
+msgstr "los valores de UIMM >7 son ilegales"
-#: ppc-opc.c:1613
+#: ppc-opc.c:2597
msgid "UIMM values >15 are illegal"
-msgstr "UIMM valorados >15 son ilegales"
+msgstr "los valores de UIMM >15 son ilegales"
-#: ppc-opc.c:1640
+#: ppc-opc.c:2620
msgid "GPR odd is illegal"
msgstr "GPR impar es ilegal"
-#: ppc-opc.c:1667 ppc-opc.c:1694
+#: ppc-opc.c:2643 ppc-opc.c:2666
msgid "invalid offset"
-msgstr "invalida desplazamiento"
+msgstr "desplazamiento no válido"
-#: ppc-opc.c:1721
+#: ppc-opc.c:2689
msgid "invalid Ddd value"
-msgstr "invalida valor Ddd"
+msgstr "valor de Ddd no válido"
-#. Invalid option.
-#: riscv-dis.c:68
+#: ppc-opc.c:2742 ppc-opc.c:2769
+msgid "invalid TH value"
+msgstr "valor de TH no válido"
+
+#. Invalid options with '=', no option name before '=',
+#. and no value after '='.
+#: riscv-dis.c:138
+#, c-format
+msgid "unrecognized disassembler option with '=': %s"
+msgstr "opción del desensamblador no reconocida con «=»: %s"
+
+#: riscv-dis.c:152
+#, c-format
+msgid "unknown privileged spec set by %s=%s"
+msgstr "especificación de privilegio desconocida establecida mediante %s=%s"
+
+#: riscv-dis.c:159
#, c-format
-msgid "Unrecognized disassembler option: %s\n"
-msgstr "Opción no reconocida del desensamblador: %s\n"
+msgid "mis-matched privilege spec set by %s=%s, the elf privilege attribute is %s"
+msgstr "especificación de privilegio no coincidente establecida mediante %s=%s; el atributo de privilegio elf es %s"
-#: riscv-dis.c:346
+#: riscv-dis.c:892
#, c-format
msgid "# internal error, undefined modifier (%c)"
-msgstr "# error interno, modificador (%c) sin definir"
+msgstr "# error interno, modificador no definido (%c)"
-#: riscv-dis.c:498
+#: riscv-dis.c:1536
+msgid "Print numeric register names, rather than ABI names."
+msgstr "Imprime los nombres de registro numéricos, en lugar de los nombres ABI."
+
+#: riscv-dis.c:1539
+msgid "Disassemble only into canonical instructions."
+msgstr "Desensambla únicamente en instrucciones canónicas."
+
+#: riscv-dis.c:1542
+msgid "Print the CSR according to the chosen privilege spec."
+msgstr "Imprime el CSR según la especificación de privilegios elegida."
+
+#: riscv-dis.c:1618
#, c-format
msgid ""
"\n"
-"The following RISC-V-specific disassembler options are supported for use\n"
+"The following RISC-V specific disassembler options are supported for use\n"
"with the -M switch (multiple options should be separated by commas):\n"
msgstr ""
"\n"
"Se admiten las siguientes opciones especificas del desensamblador RISC-V\n"
-"para emplearse con el interruptor -M (opciones múltiples deberían ser\n"
-"separadas con comas):\n"
+"para emplearse con el interruptor -M (si hay varias opciones, deben\n"
+"separarse con comas):\n"
-#: riscv-dis.c:502
-#, c-format
-msgid ""
-"\n"
-" numeric Print numeric register names, rather than ABI names.\n"
-msgstr ""
-"\n"
-" numérico Escribe registro numérico, mejor que nombres ABI.\n"
+#: rx-dis.c:139 rx-dis.c:163 rx-dis.c:171 rx-dis.c:179 rx-dis.c:187
+msgid "<invalid register number>"
+msgstr "<número de registro no válido>"
-#: riscv-dis.c:505
-#, c-format
-msgid ""
-"\n"
-" no-aliases Disassemble only into canonical instructions, rather\n"
-" than into pseudoinstructions.\n"
-msgstr ""
-"\n"
-" no-aliases Desensamblar solo dentro de instrucciones canónicas, mejor\n"
-" que dentro de pseudoinstrucciones.\n"
+#: rx-dis.c:147 rx-dis.c:195
+msgid "<invalid condition code>"
+msgstr "<código condicional no válido>"
+
+#: rx-dis.c:155
+msgid "<invalid flag>"
+msgstr "<indicador no válido>"
+
+#: rx-dis.c:203
+msgid "<invalid opsize>"
+msgstr "<tamaño de operación no válido>"
+
+#: rx-dis.c:211
+msgid "<invalid size>"
+msgstr "<tamaño no válido>"
+
+#: s12z-dis.c:239 s12z-dis.c:296 s12z-dis.c:307
+msgid "<illegal reg num>"
+msgstr "<número de registro ilegal>"
+
+#: s12z-dis.c:370
+msgid "<bad>"
+msgstr "<incorrecto>"
-#: s390-dis.c:42
+#: s12z-dis.c:380
+msgid ".<bad>"
+msgstr ".<incorrecto>"
+
+#: s390-dis.c:44
msgid "Disassemble in ESA architecture mode"
msgstr "Desensambla en modo de arquitectura ESA"
-#: s390-dis.c:43
+#. TRANSLATORS: Please do not translate 'z/Architecture' as this is a technical name.
+#: s390-dis.c:46
msgid "Disassemble in z/Architecture mode"
msgstr "Desensambla en modo z/Architecture"
-#: s390-dis.c:44
+#: s390-dis.c:47
msgid "Print unknown instructions according to length from first two bits"
-msgstr "Escribe instrucciones desconocidas de acuerdo a longitud desde el primero de dos bits"
+msgstr "Imprime instrucciones desconocidas de acuerdo a la longitud desde los primeros dos bits"
-#: s390-dis.c:409
+#: s390-dis.c:49
+msgid "Print instruction description as comment"
+msgstr "Imprime la descripción de la instrucción como comentario"
+
+#: s390-dis.c:83
+#, c-format
+msgid "unknown S/390 disassembler option: %s"
+msgstr "opción de desensamblador S/390 desconocida: %s"
+
+#: s390-dis.c:587
#, c-format
msgid ""
"\n"
@@ -1711,43 +2170,66 @@ msgid ""
msgstr ""
"\n"
"Se admiten las siguientes opciones de desensamblador específicas de S/390\n"
-"para usarse con el interruptor -M (las opciones múltiples deben separarse\n"
+"para usarse con el interruptor -M (si hay varias opciones, deben separarse\n"
"con comas):\n"
-#: score-dis.c:663 score-dis.c:870 score-dis.c:1031 score-dis.c:1145
-#: score-dis.c:1152 score-dis.c:1159 score7-dis.c:695 score7-dis.c:858
+#: score-dis.c:653 score-dis.c:871 score-dis.c:1032 score-dis.c:1138
+#: score-dis.c:1146 score-dis.c:1153 score7-dis.c:691 score7-dis.c:854
msgid "<illegal instruction>"
msgstr "<instrucción ilegal>"
-#: sparc-dis.c:309
-#, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Error interno: sparc-opcode.h equivocado: \"%s\", %#.8lx, %#.8lx\n"
-
-#: sparc-dis.c:320
+#: sparc-dis.c:308 sparc-dis.c:318
#, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
-msgstr "Error interno: sparc-opcode.h equivocado: \"%s\", %#.8lx, %#.8lx\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+msgstr "error interno: sparc-opcode.h incorrecto: «%s», %#.8lx, %#.8lx\n"
-#: sparc-dis.c:379
+#: sparc-dis.c:377
#, c-format
-msgid "Internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
-msgstr "Error interno: sparc-opcode.h equivocado: \"%s\" == \"%s\"\n"
+msgid "internal error: bad sparc-opcode.h: \"%s\" == \"%s\"\n"
+msgstr "error interno: sparc-opcode.h incorrecto: «%s» == «%s»\n"
#. Mark as non-valid instruction.
-#: sparc-dis.c:1100
+#: sparc-dis.c:1094
msgid "unknown"
msgstr "desconocida"
-#: v850-dis.c:453
+#: v850-dis.c:190
+msgid "<invalid s-reg number>"
+msgstr "<número de reg-s no válido>"
+
+#: v850-dis.c:206
+msgid "<invalid reg number>"
+msgstr "<número de reg no válido>"
+
+#: v850-dis.c:222
+msgid "<invalid v-reg number>"
+msgstr "<número de reg-v no válido>"
+
+#: v850-dis.c:236
+msgid "<invalid CC-reg number>"
+msgstr "<número de reg-CC no válido>"
+
+#: v850-dis.c:250
+msgid "<invalid float-CC-reg number>"
+msgstr "<número de reg-CC-float no válido>"
+
+#: v850-dis.c:264
+msgid "<invalid cacheop number>"
+msgstr "<número de operación de caché no válido>"
+
+#: v850-dis.c:275
+msgid "<invalid prefop number>"
+msgstr "<número de prefop no válido>"
+
+#: v850-dis.c:510
#, c-format
-msgid "unknown operand shift: %x\n"
-msgstr "operando de desplazamiento desconocido: %x\n"
+msgid "unknown operand shift: %x"
+msgstr "desplazamiento de operando desconocido: %x"
-#: v850-dis.c:465
+#: v850-dis.c:526
#, c-format
-msgid "unknown reg: %d\n"
-msgstr "reg desconocido: %d\n"
+msgid "unknown reg: %d"
+msgstr "reg desconocido: %d"
#. The functions used to insert and extract complicated operands.
#. Note: There is a conspiracy between these functions and
@@ -1756,15 +2238,15 @@ msgstr "reg desconocido: %d\n"
#. specific command line option is given to GAS.
#: v850-opc.c:53
msgid "displacement value is not in range and is not aligned"
-msgstr "el valor de desubicación no está en el rango y no está alineado"
+msgstr "el valor de desplazamiento no está dentro de rango y no está alineado"
#: v850-opc.c:54
msgid "displacement value is out of range"
-msgstr "el valor de desubicación está fuera de rango"
+msgstr "el valor de desplazamiento está fuera de rango"
#: v850-opc.c:55
msgid "displacement value is not aligned"
-msgstr "el valor de desubicación no está alineado"
+msgstr "el valor de desplazamiento no está alineado"
#: v850-opc.c:57
msgid "immediate value is out of range"
@@ -1776,7 +2258,7 @@ msgstr "el valor de ramificación está fuera de rango"
#: v850-opc.c:59
msgid "branch value not in range and to odd offset"
-msgstr "el valor de ramificación no está en rango e indica un desplazamiento impar"
+msgstr "el valor de ramificación no está dentro de rango e indica un desplazamiento impar"
#: v850-opc.c:60
msgid "branch to odd offset"
@@ -1784,11 +2266,11 @@ msgstr "ramificación a un desplazamiento impar"
#: v850-opc.c:61
msgid "position value is out of range"
-msgstr "valor posicionado fuera del rango"
+msgstr "el valor de la posición está fuera del rango"
#: v850-opc.c:62
msgid "width value is out of range"
-msgstr "valor de anchura está fuera de rango"
+msgstr "el valor de la anchura está fuera de rango"
#: v850-opc.c:63
msgid "SelID is out of range"
@@ -1810,23 +2292,23 @@ msgstr "imm10 está fuera de rango"
msgid "SR/SelID is out of range"
msgstr "SR/SelID está fuera de rango"
-#: v850-opc.c:512
+#: v850-opc.c:508
msgid "invalid register for stack adjustment"
-msgstr "invalida registro para el ajuste de la pila"
+msgstr "registro no válido para el ajuste de la pila"
-#: v850-opc.c:532
+#: v850-opc.c:526
msgid "invalid register name"
-msgstr "invalida nombre de registro"
+msgstr "nombre de registro no válido"
-#: wasm32-dis.c:88
+#: wasm32-dis.c:93
msgid "Disassemble \"register\" names"
-msgstr "Desensambla \"registro\" como nombres"
+msgstr "Desensambla los nombres de «registro»"
-#: wasm32-dis.c:89
+#: wasm32-dis.c:94
msgid "Name well-known globals"
-msgstr "Nombres globales bien conocidos"
+msgstr "Nombra los globales bien conocidos"
-#: wasm32-dis.c:503
+#: wasm32-dis.c:549
#, c-format
msgid ""
"The following WebAssembly-specific disassembler options are supported for use\n"
@@ -1835,61 +2317,37 @@ msgstr ""
"Las siguientes opciones de desensamblador específicas de WebAssembly son\n"
"admitidas para usarse con el interruptor -M:\n"
-#: xc16x-asm.c:66
-msgid "Missing '#' prefix"
-msgstr "Ausente '#' como prefijo"
-
-#: xc16x-asm.c:82
-msgid "Missing '.' prefix"
-msgstr "Ausente '.' como prefijo"
-
-#: xc16x-asm.c:98
-msgid "Missing 'pof:' prefix"
-msgstr "Ausente 'pof:' como prefijo"
-
-#: xc16x-asm.c:114
-msgid "Missing 'pag:' prefix"
-msgstr "Ausente 'pag:' como prefijo"
-
-#: xc16x-asm.c:130
-msgid "Missing 'sof:' prefix"
-msgstr "Ausente 'sof:' como prefijo"
-
-#: xc16x-asm.c:146
-msgid "Missing 'seg:' prefix"
-msgstr "Ausente 'seg:' como prefijo"
-
#: xstormy16-asm.c:71
msgid "Bad register in preincrement"
-msgstr "Registro equivocado en el preincremento"
+msgstr "Registro incorrecto en el preincremento"
#: xstormy16-asm.c:76
msgid "Bad register in postincrement"
-msgstr "Registro equivocado en el postincremento"
+msgstr "Registro incorrecto en el postincremento"
#: xstormy16-asm.c:78
msgid "Bad register name"
-msgstr "Nombre de registro equivocado"
+msgstr "Nombre de registro incorrecto"
#: xstormy16-asm.c:82
msgid "Label conflicts with register name"
-msgstr "La etiqueta tiene conflictos con el nombre de registro"
+msgstr "La etiqueta está en conflicto con el nombre de registro"
#: xstormy16-asm.c:86
msgid "Label conflicts with `Rx'"
-msgstr "La etiqueta tiene conflictos con `Rx'"
+msgstr "La etiqueta está en conflicto con «Rx»"
#: xstormy16-asm.c:88
msgid "Bad immediate expression"
-msgstr "Expresión inmediata equivocada"
+msgstr "Expresión inmediata incorrecta"
#: xstormy16-asm.c:109
msgid "No relocation for small immediate"
-msgstr "No hay reubicaciones para inmediatos small"
+msgstr "No hay reubicación para inmediato pequeño"
#: xstormy16-asm.c:119
msgid "Small operand was not an immediate number"
-msgstr "Operando small no era un número inmediato"
+msgstr "El operando pequeño no era un número inmediato"
#: xstormy16-asm.c:157
msgid "Operand is not a symbol"
@@ -1897,7 +2355,250 @@ msgstr "El operando no es un símbolo"
#: xstormy16-asm.c:165
msgid "Syntax error: No trailing ')'"
-msgstr "Error sintáctico: No termina con ')'"
+msgstr "Error sintáctico: No termina con «)»"
+
+#: xstormy16-desc.c:1318
+#, c-format
+msgid "internal error: xstormy16_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'"
+msgstr "error interno: xstormy16_cgen_rebuild_tables: valores de insn-chunk-bitsize en conflicto: «%d» frente a «%d»"
+
+#: xstormy16-desc.c:1406
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: unsupported argument `%d'"
+msgstr "error interno: xstormy16_cgen_cpu_open: argumento «%d« no disponible"
+
+#: xstormy16-desc.c:1425
+#, c-format
+msgid "internal error: xstormy16_cgen_cpu_open: no endianness specified"
+msgstr "error interno: xstormy16_cgen_cpu_open: «endianness» no especificada"
+
+#~ msgid "z0-z15 expected"
+#~ msgstr "se esperaba z0-z15"
+
+#~ msgid "z0-z7 expected"
+#~ msgstr "se esperaba z0-z7"
+
+#~ msgid "invalid register list"
+#~ msgstr "invalida lista de registros"
+
+#~ msgid "p0-p7 expected"
+#~ msgstr "se esperaba p0-p7"
+
+#, c-format
+#~ msgid " dsp Recognize DSP instructions.\n"
+#~ msgstr " dsp Reconoce instrucciones DSP.\n"
+
+#, c-format
+#~ msgid "Internal disassembler error"
+#~ msgstr "Error interno del desensamblador"
+
+#, c-format
+#~ msgid "can't cope with insert %d\n"
+#~ msgstr "no se puede lidiar con insert %d\n"
+
+#, c-format
+#~ msgid "%02x\t\t*unknown*"
+#~ msgstr "%02x\t\t*desconocido*"
+
+#, c-format
+#~ msgid "%s: Error: "
+#~ msgstr "%s: Error: "
+
+#, c-format
+#~ msgid "%s: %d: Unknown bitfield: %s\n"
+#~ msgstr "%s: %d: Campo de bits desconocido: %s\n"
+
+#, c-format
+#~ msgid "Unknown bitfield: %s\n"
+#~ msgstr "Campo de bits desconocido: %s\n"
+
+#, c-format
+#~ msgid "%s: %d: Missing `)' in bitfield: %s\n"
+#~ msgstr "%s: %d: Falta un `)' en el campo de bits: %s\n"
+
+#, c-format
+#~ msgid "can't find i386-opc.tbl for reading, errno = %s\n"
+#~ msgstr "no se puede encontrar i386-opc.tbl para lectura, errno =%s\n"
+
+#, c-format
+#~ msgid "can't find i386-reg.tbl for reading, errno = %s\n"
+#~ msgstr "no se puede encontrar i386-reg.tbl para lectura, errno = %s\n"
+
+#, c-format
+#~ msgid "can't create i386-init.h, errno = %s\n"
+#~ msgstr "no se puede crear i386-init.h, errno = %s\n"
+
+#, c-format
+#~ msgid "unable to change directory to \"%s\", errno = %s\n"
+#~ msgstr "no se puede modificar el directorio a \"%s\", errno = %s\n"
+
+#, c-format
+#~ msgid "CpuMax != %d!\n"
+#~ msgstr "CpuMax != %d!\n"
+
+#, c-format
+#~ msgid "%d unused bits in i386_cpu_flags.\n"
+#~ msgstr "%d bits sin usar en i386_cpu_flags.\n"
+
+#, c-format
+#~ msgid "%d unused bits in i386_operand_type.\n"
+#~ msgstr "%d bits sin usar en i386_operand_type.\n"
+
+#, c-format
+#~ msgid "can't create i386-tbl.h, errno = %s\n"
+#~ msgstr "no se puede crear i386-tbl.h, errno = %s\n"
+
+#, c-format
+#~ msgid "%s: Warning: "
+#~ msgstr "%s: Aviso: "
+
+#, c-format
+#~ msgid "multiple note %s not handled\n"
+#~ msgstr "no se maneja la nota múltiple %s\n"
+
+#~ msgid "can't find ia64-ic.tbl for reading\n"
+#~ msgstr "no se puede encontrar ia64-ic.tbl para lectura\n"
+
+#, c-format
+#~ msgid "can't find %s for reading\n"
+#~ msgstr "no se puede encontrar %s para lectura\n"
+
+#, c-format
+#~ msgid ""
+#~ "most recent format '%s'\n"
+#~ "appears more restrictive than '%s'\n"
+#~ msgstr ""
+#~ "el formato más reciente '%s'\n"
+#~ "parece más restrictivo que '%s'\n"
+
+#, c-format
+#~ msgid "overlapping field %s->%s\n"
+#~ msgstr "traslapando campo %s→%s\n"
+
+#, c-format
+#~ msgid "overwriting note %d with note %d (IC:%s)\n"
+#~ msgstr "se sobreescribe la nota %d con la nota %d (IC:%s)\n"
+
+#, c-format
+#~ msgid "don't know how to specify %% dependency %s\n"
+#~ msgstr "no sabe cómo especificar la dependencia %% %s\n"
+
+#, c-format
+#~ msgid "Don't know how to specify # dependency %s\n"
+#~ msgstr "No sabe cómo especificar la dependencia # %s\n"
+
+#, c-format
+#~ msgid "IC:%s [%s] has no terminals or sub-classes\n"
+#~ msgstr "IC:%s [%s] no tiene terminales o sub-clases\n"
+
+#, c-format
+#~ msgid "IC:%s has no terminals or sub-classes\n"
+#~ msgstr "IC:%s no tiene terminales o sub-clases\n"
+
+#, c-format
+#~ msgid "no insns mapped directly to terminal IC %s [%s]"
+#~ msgstr "no hay insns distribuída directamente al IC terminal %s [%s]"
+
+#, c-format
+#~ msgid "no insns mapped directly to terminal IC %s\n"
+#~ msgstr "no hay insns distribuída directamente al IC terminal %s\n"
+
+#, c-format
+#~ msgid "class %s is defined but not used\n"
+#~ msgstr "se define la clase %s pero no se utiliza\n"
+
+#, c-format
+#~ msgid "Warning: rsrc %s (%s) has no chks\n"
+#~ msgstr "Aviso: el rsrc %s (%s) no tiene chks\n"
+
+#, c-format
+#~ msgid "Warning: rsrc %s (%s) has no chks or regs\n"
+#~ msgstr "Aviso: el rsrc %s (%s) no tiene chks o regs\n"
+
+#, c-format
+#~ msgid "rsrc %s (%s) has no regs\n"
+#~ msgstr "el rsrc %s (%s) no tiene registros\n"
+
+#, c-format
+#~ msgid "IC note %d in opcode %s (IC:%s) conflicts with resource %s note %d\n"
+#~ msgstr "IC como nota de %d en el código de operación %s (IC:%s) tiene conflictos con el recurso %s nota %d\n"
+
+#, c-format
+#~ msgid "IC note %d for opcode %s (IC:%s) conflicts with resource %s note %d\n"
+#~ msgstr "IC como nota %d para el código de operación %s (IC:%s) en conflicto con recurso %s nota %d\n"
+
+#, c-format
+#~ msgid "opcode %s has no class (ops %d %d %d)\n"
+#~ msgstr "el código de operación %s no tiene clase (ops %d %d %d)\n"
+
+#, c-format
+#~ msgid "# <dis error: %08lx>"
+#~ msgstr "# <error de desensamblador: %08lx>"
+
+#, c-format
+#~ msgid ""
+#~ "\n"
+#~ " msa Recognize MSA instructions.\n"
+#~ msgstr ""
+#~ "\n"
+#~ " msa Reconoce instrucciones MSA.\n"
+
+#, c-format
+#~ msgid ""
+#~ "\n"
+#~ " hwr-names=ARCH Print HWR names according to specified \n"
+#~ " architecture.\n"
+#~ " Default: based on binary being disassembled.\n"
+#~ msgstr ""
+#~ "\n"
+#~ " hwr-namess=ARCH Escribe los nombres HWR de acuerdo\n"
+#~ " a las arquitectura especificada.\n"
+#~ " Por defecto: basado en binario siendo desensamblada.\n"
+
+#, c-format
+#~ msgid ""
+#~ "\n"
+#~ " For the options above, The following values are supported for \"ARCH\":\n"
+#~ " "
+#~ msgstr ""
+#~ "\n"
+#~ " Para las opciones anteriores, se admiten los siguientes valores de \"ARCH\":\n"
+#~ " "
+
+#~ msgid "invalid register operand when updating"
+#~ msgstr "invalida operando de registro al actualizar"
+
+#, c-format
+#~ msgid ""
+#~ "\n"
+#~ " no-aliases Disassemble only into canonical instructions, rather\n"
+#~ " than into pseudoinstructions.\n"
+#~ msgstr ""
+#~ "\n"
+#~ " no-aliases Desensamblar solo dentro de instrucciones canónicas, mejor\n"
+#~ " que dentro de pseudoinstrucciones.\n"
+
+#, c-format
+#~ msgid "Internal error: bad sparc-opcode.h: \"%s\", %#.8lx, %#.8lx\n"
+#~ msgstr "Error interno: sparc-opcode.h equivocado: \"%s\", %#.8lx, %#.8lx\n"
+
+#~ msgid "Missing '#' prefix"
+#~ msgstr "Ausente '#' como prefijo"
+
+#~ msgid "Missing '.' prefix"
+#~ msgstr "Ausente '.' como prefijo"
+
+#~ msgid "Missing 'pof:' prefix"
+#~ msgstr "Ausente 'pof:' como prefijo"
+
+#~ msgid "Missing 'pag:' prefix"
+#~ msgstr "Ausente 'pag:' como prefijo"
+
+#~ msgid "Missing 'sof:' prefix"
+#~ msgstr "Ausente 'sof:' como prefijo"
+
+#~ msgid "Missing 'seg:' prefix"
+#~ msgstr "Ausente 'seg:' como prefijo"
#~ msgid "Illegal limm reference in last instruction!\n"
#~ msgstr "¡Referencia limm ilegal en la última instrucción!\n"
@@ -1908,12 +2609,6 @@ msgstr "Error sintáctico: No termina con ')'"
#~ msgid "auxiliary register not allowed here"
#~ msgstr "no se permite un registro auxiliar aquí"
-#~ msgid "attempt to set readonly register"
-#~ msgstr "se intentó cambiar un registro de sólo lectura"
-
-#~ msgid "attempt to read writeonly register"
-#~ msgstr "se intentó leer un registro de sólo escritura"
-
#~ msgid "too many long constants"
#~ msgstr "demasiadas constantes long"
@@ -1980,15 +2675,9 @@ msgstr "Error sintáctico: No termina con ')'"
#~ msgid "%operator operand is not a symbol"
#~ msgstr "el operando %operator no es un símbolo"
-#~ msgid "offset not a multiple of 2"
-#~ msgstr "el desplazamiento no es un múltiplo de 2"
-
#~ msgid "offset greater than 62"
#~ msgstr "el desplazamiento es mayor que 62"
-#~ msgid "offset not a multiple of 4"
-#~ msgstr "el desplazamiento no es un múltiplo de 4"
-
#~ msgid "offset greater than 124"
#~ msgstr "el desplazamiento es mayor que 124"
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index ba93e56..712cd31 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -691,6 +691,52 @@ extract_imm32 (uint64_t insn,
return (insn & 0xffff) | ((insn >> 16) & 0xffff0000);
}
+/* The 32bit SI field in a 64-bit D form prefix instruction when the field is split
+ into separate SI0 and SI1 fields. */
+
+static uint64_t
+insert_si32 (uint64_t insn,
+ int64_t value,
+ ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+ const char **errmsg ATTRIBUTE_UNUSED)
+{
+ return insn | ((value & 0xffff0000ULL) << 16) | (value & 0xffff);
+}
+
+static int64_t
+extract_si32 (uint64_t insn,
+ ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+ int *invalid ATTRIBUTE_UNUSED)
+{
+ int64_t mask = 1ULL << 31;
+ int64_t value = ((insn >> 16) & 0xffff0000ULL) | (insn & 0xffff);
+ value = (value ^ mask) - mask;
+ return value;
+}
+
+/* The NSI32 field in an 8-byte D form prefix instruction. This is the same
+ as the SI32 field, only negated. The extraction function always marks it
+ as invalid, since we never want to recognize an instruction which uses
+ a field of this type. */
+static uint64_t
+insert_nsi32 (uint64_t insn,
+ int64_t value,
+ ppc_cpu_t dialect,
+ const char **errmsg)
+{
+ return insert_si32 (insn, -value, dialect, errmsg);
+}
+
+static int64_t
+extract_nsi32 (uint64_t insn,
+ ppc_cpu_t dialect,
+ int *invalid)
+{
+ int64_t value = extract_si32 (insn, dialect, invalid);
+ *invalid = 1;
+ return -value;
+}
+
/* The R field in an 8-byte prefix instruction when there are restrictions
between R's value and the RA value (ie, they cannot both be non zero). */
@@ -3073,8 +3119,18 @@ const struct powerpc_operand powerpc_operands[] =
{ UINT64_C(0x3ffffffff), PPC_OPSHIFT_INV, insert_nsi34, extract_nsi34,
PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED },
+ /* The 32bit SI field in an 8-byte D form prefix instruction. */
+#define SI32 NSI34 + 1
+ { UINT64_C(0xffffffff), PPC_OPSHIFT_INV, insert_si32, extract_si32, PPC_OPERAND_SIGNED },
+
+ /* The NSI field in an 8-byte D form prefix instruction with 32bit SI field. This is
+ the same as the SI32 field, only negated. */
+#define NSI32 SI32 + 1
+ { UINT64_C(0xffffffff), PPC_OPSHIFT_INV, insert_nsi32, extract_nsi32,
+ PPC_OPERAND_NEGATIVE | PPC_OPERAND_SIGNED },
+
/* The IMM32 field in a vector splat immediate prefix instruction. */
-#define IMM32 NSI34 + 1
+#define IMM32 NSI32 + 1
{ 0xffffffff, PPC_OPSHIFT_INV, insert_imm32, extract_imm32, 0},
/* The UIM field in a vector permute extended prefix instruction. */
@@ -4031,9 +4087,15 @@ const unsigned int num_powerpc_operands = ARRAY_SIZE (powerpc_operands);
/* An 8-byte D form prefix instruction. */
#define P_D_MASK (((-1ULL << 50) & ~PCREL_MASK) | OP_MASK)
+/* An 8-byte D form prefix instruction with 32bit SI field. */
+#define P_D_SI32_MASK (((-1ULL << 48) & ~PCREL_MASK) | OP_MASK)
+
/* The same as P_D_MASK, but with the RA and PCREL fields specified. */
#define P_DRAPCREL_MASK (P_D_MASK | PCREL_MASK | RA_MASK)
+/* The same as P_D_SI32_MASK, but with the RA and PCREL fields specified. */
+#define P_DRAPCREL_SI32_MASK (P_D_SI32_MASK | PCREL_MASK | RA_MASK)
+
/* Mask for prefix X form instructions. */
#define P_X_MASK (PREFIX_MASK | X_MASK)
#define P_XX1_MASK (PREFIX_MASK | XX1_MASK)
@@ -9863,6 +9925,9 @@ const struct powerpc_opcode prefix_opcodes[] = {
{"pla", PMLS|OP(14), P_D_MASK, POWER10, EXT, {RT, D34, PRA0, PCREL1}},
{"paddi", PMLS|OP(14), P_D_MASK, POWER10, 0, {RT, RA0, SI34, PCREL}},
{"psubi", PMLS|OP(14), P_D_MASK, POWER10, EXT, {RT, RA0, NSI34, PCREL}},
+{"plis", PMLS|OP(15), P_DRAPCREL_SI32_MASK, FUTURE, EXT, {RT, SI32}},
+{"paddis", PMLS|OP(15), P_D_SI32_MASK, FUTURE, 0, {RT, RA0, SI32, PCREL}},
+{"psubis", PMLS|OP(15), P_D_SI32_MASK, FUTURE, EXT, {RT, RA0, NSI32, PCREL}},
{"xxsplti32dx", P8RR|VSOP(32,0), P_VSI_MASK, POWER10, 0, {XTS, IX, IMM32}},
{"xxspltidp", P8RR|VSOP(32,2), P_VS_MASK, POWER10, 0, {XTS, IMM32}},
{"xxspltiw", P8RR|VSOP(32,3), P_VS_MASK, POWER10, 0, {XTS, IMM32}},
diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c
index f862ef2..9c3158a 100644
--- a/opcodes/riscv-dis.c
+++ b/opcodes/riscv-dis.c
@@ -69,7 +69,7 @@ struct riscv_private_data
const char (*riscv_fpr_names)[NRC];
/* If set, disassemble as most general instruction. */
bool no_aliases;
- /* If set, disassemble without checking architectire string, just like what
+ /* If set, disassemble without checking architecture string, just like what
we did at the beginning. */
bool all_ext;
};
@@ -83,6 +83,7 @@ set_default_riscv_dis_options (struct disassemble_info *info)
pd->riscv_gpr_names = riscv_gpr_names_abi;
pd->riscv_fpr_names = riscv_fpr_names_abi;
pd->no_aliases = false;
+ pd->all_ext = false;
}
/* Parse RISC-V disassembler option (without arguments). */
@@ -512,6 +513,11 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
print (info->stream, dis_style_immediate, "0");
break;
+ case 'r':
+ print (info->stream, dis_style_register, "%s",
+ pd->riscv_gpr_names[EXTRACT_OPERAND (RS3, l)]);
+ break;
+
case 's':
if ((l & MASK_JALR) == MATCH_JALR)
maybe_print_address (pd, rs1, EXTRACT_ITYPE_IMM (l), 0);
@@ -880,6 +886,37 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
break;
}
break;
+ case 'm': /* Vendor-specific (MIPS) operands. */
+ switch (*++oparg)
+ {
+ case '@':
+ print (info->stream, dis_style_register, "0x%x",
+ (unsigned) EXTRACT_OPERAND (MIPS_HINT, l));
+ break;
+ case '#':
+ print (info->stream, dis_style_register, "0x%x",
+ (unsigned) EXTRACT_OPERAND (MIPS_IMM9, l));
+ break;
+ case '$':
+ print (info->stream, dis_style_immediate, "%d",
+ (unsigned)EXTRACT_MIPS_LDP_IMM (l));
+ break;
+ case '%':
+ print (info->stream, dis_style_immediate, "%d",
+ (unsigned)EXTRACT_MIPS_LWP_IMM (l));
+ break;
+ case '^':
+ print (info->stream, dis_style_immediate, "%d",
+ (unsigned)EXTRACT_MIPS_SDP_IMM (l));
+ break;
+ case '&':
+ print (info->stream, dis_style_immediate, "%d",
+ (unsigned)EXTRACT_MIPS_SWP_IMM (l));
+ break;
+ default:
+ goto undefined_modifier;
+ }
+ break;
default:
goto undefined_modifier;
}
@@ -1580,6 +1617,9 @@ static struct
riscv_option_arg_t arg;
} riscv_options[] =
{
+ { "max",
+ N_("Disassemble without checking architecture string."),
+ RISCV_OPTION_ARG_NONE },
{ "numeric",
N_("Print numeric register names, rather than ABI names."),
RISCV_OPTION_ARG_NONE },
diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
index e07f72b..f17d284 100644
--- a/opcodes/riscv-opc.c
+++ b/opcodes/riscv-opc.c
@@ -161,6 +161,7 @@ riscv_get_sp_base (insn_t opcode, unsigned int xlen)
#define MASK_RS2 (OP_MASK_RS2 << OP_SH_RS2)
#define MASK_RD (OP_MASK_RD << OP_SH_RD)
#define MASK_CRS2 (OP_MASK_CRS2 << OP_SH_CRS2)
+#define MASK_CRS2S (OP_MASK_CRS2S << OP_SH_CRS2S)
#define MASK_IMM ENCODE_ITYPE_IMM (-1U)
#define MASK_RVC_IMM ENCODE_CITYPE_IMM (-1U)
#define MASK_UIMM ENCODE_UTYPE_IMM (-1U)
@@ -206,6 +207,20 @@ match_rs2_rd_even (const struct riscv_opcode *op, insn_t insn)
}
static int
+match_rd_even (const struct riscv_opcode *op, insn_t insn)
+{
+ int rd = (insn & MASK_RD) >> OP_SH_RD;
+ return ((rd & 1) == 0) && match_opcode (op, insn);
+}
+
+static int
+match_rs2_even (const struct riscv_opcode *op, insn_t insn)
+{
+ int rs2 = (insn & MASK_RS2) >> OP_SH_RS2;
+ return ((rs2 & 1) == 0) && match_opcode (op, insn);
+}
+
+static int
match_rd_nonzero (const struct riscv_opcode *op, insn_t insn)
{
return (op->pinfo == INSN_MACRO || match_opcode (op, insn))
@@ -213,12 +228,38 @@ match_rd_nonzero (const struct riscv_opcode *op, insn_t insn)
}
static int
+match_rd_even_nonzero (const struct riscv_opcode *op, insn_t insn)
+{
+ return match_rd_nonzero (op, insn) && match_rd_even (op, insn);
+}
+
+static int
match_rs1_nonzero (const struct riscv_opcode *op ATTRIBUTE_UNUSED, insn_t insn)
{
return (insn & MASK_RS1) != 0;
}
static int
+match_rs1_nonzero_rs2_even (const struct riscv_opcode *op ATTRIBUTE_UNUSED, insn_t insn)
+{
+ return match_rs1_nonzero (op, insn) && match_rs2_even (op, insn);
+}
+
+static int
+match_crs2s_even (const struct riscv_opcode *op, insn_t insn)
+{
+ int crs2s = (insn & MASK_CRS2S) >> OP_SH_CRS2S;
+ return ((crs2s & 1) == 0) && match_opcode (op, insn);
+}
+
+static int
+match_crs2_even (const struct riscv_opcode *op, insn_t insn)
+{
+ int crs2 = (insn & MASK_CRS2) >> OP_SH_CRS2;
+ return ((crs2 & 1) == 0) && match_opcode (op, insn);
+}
+
+static int
match_c_add (const struct riscv_opcode *op, insn_t insn)
{
return match_rd_nonzero (op, insn) && ((insn & MASK_CRS2) != 0);
@@ -532,6 +573,10 @@ const struct riscv_opcode riscv_opcodes[] =
{"la.tls.gd", 0, INSN_CLASS_I, "d,A", 0, (int) M_LA_TLS_GD, NULL, INSN_MACRO },
{"la.tls.ie", 0, INSN_CLASS_I, "d,A", 0, (int) M_LA_TLS_IE, match_rd_nonzero, INSN_MACRO },
{"neg", 0, INSN_CLASS_I, "d,t", MATCH_SUB, MASK_SUB|MASK_RS1, match_opcode, INSN_ALIAS }, /* sub 0 */
+/* Put MIPS custom instructions: mips.ehb, mips.ihb, and mips.pause before slli. */
+{"mips.ehb", 0, INSN_CLASS_XMIPSEXECTL, "", MATCH_MIPS_EHB, MASK_MIPS_EHB, match_opcode, 0 },
+{"mips.ihb", 0, INSN_CLASS_XMIPSEXECTL, "", MATCH_MIPS_IHB, MASK_MIPS_IHB, match_opcode, 0 },
+{"mips.pause", 0, INSN_CLASS_XMIPSEXECTL, "", MATCH_MIPS_PAUSE, MASK_MIPS_PAUSE, match_opcode, 0 },
{"slli", 0, INSN_CLASS_C, "d,CU,C>", MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
{"slli", 0, INSN_CLASS_I, "d,s,>", MATCH_SLLI, MASK_SLLI, match_opcode, 0 },
{"sll", 0, INSN_CLASS_C, "d,CU,C>", MATCH_C_SLLI, MASK_C_SLLI, match_slli_as_c_slli, INSN_ALIAS },
@@ -621,10 +666,18 @@ const struct riscv_opcode riscv_opcodes[] =
{"ld", 64, INSN_CLASS_C, "Ct,Cl(Cs)", MATCH_C_LD, MASK_C_LD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
{"ld", 64, INSN_CLASS_I, "d,o(s)", MATCH_LD, MASK_LD, match_opcode, INSN_DREF|INSN_8_BYTE },
{"ld", 64, INSN_CLASS_I, "d,A", 0, (int) M_Lx, match_rd_nonzero, INSN_MACRO },
+{"ld", 32, INSN_CLASS_ZCLSD, "d,Cn(Cc)", MATCH_C_LDSP, MASK_C_LDSP, match_rd_even_nonzero, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"ld", 32, INSN_CLASS_ZCLSD, "Ct,Cl(Cs)", MATCH_C_LD, MASK_C_LD, match_crs2s_even, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"ld", 32, INSN_CLASS_ZILSD, "d,o(s)", MATCH_LD, MASK_LD, match_rd_even, INSN_DREF|INSN_8_BYTE },
+{"ld", 32, INSN_CLASS_ZILSD, "d,A", 0, (int) M_Lx, match_rd_even_nonzero, INSN_MACRO },
{"sd", 64, INSN_CLASS_C, "CV,CN(Cc)", MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
{"sd", 64, INSN_CLASS_C, "Ct,Cl(Cs)", MATCH_C_SD, MASK_C_SD, match_opcode, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
{"sd", 64, INSN_CLASS_I, "t,q(s)", MATCH_SD, MASK_SD, match_opcode, INSN_DREF|INSN_8_BYTE },
{"sd", 64, INSN_CLASS_I, "t,A,s", 0, (int) M_Sx_FSx, match_rs1_nonzero, INSN_MACRO },
+{"sd", 32, INSN_CLASS_ZCLSD, "CV,CN(Cc)", MATCH_C_SDSP, MASK_C_SDSP, match_crs2_even, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"sd", 32, INSN_CLASS_ZCLSD, "Ct,Cl(Cs)", MATCH_C_SD, MASK_C_SD, match_crs2s_even, INSN_ALIAS|INSN_DREF|INSN_8_BYTE },
+{"sd", 32, INSN_CLASS_ZILSD, "t,q(s)", MATCH_SD, MASK_SD, match_rs2_even, INSN_DREF|INSN_8_BYTE },
+{"sd", 32, INSN_CLASS_ZILSD, "t,A,s", 0, (int) M_Sx_FSx, match_rs1_nonzero_rs2_even, INSN_MACRO },
{"sext.w", 64, INSN_CLASS_C, "d,CU", MATCH_C_ADDIW, MASK_C_ADDIW|MASK_RVC_IMM, match_rd_nonzero, INSN_ALIAS },
{"sext.w", 64, INSN_CLASS_I, "d,s", MATCH_ADDIW, MASK_ADDIW|MASK_IMM, match_opcode, INSN_ALIAS },
{"addiw", 64, INSN_CLASS_C, "d,CU,Co", MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, INSN_ALIAS },
@@ -907,8 +960,8 @@ const struct riscv_opcode riscv_opcodes[] =
{"feq.h", 0, INSN_CLASS_ZFH_INX, "d,S,T", MATCH_FEQ_H, MASK_FEQ_H, match_opcode, 0 },
{"flt.h", 0, INSN_CLASS_ZFH_INX, "d,S,T", MATCH_FLT_H, MASK_FLT_H, match_opcode, 0 },
{"fle.h", 0, INSN_CLASS_ZFH_INX, "d,S,T", MATCH_FLE_H, MASK_FLE_H, match_opcode, 0 },
-{"fgt.h", 0, INSN_CLASS_ZFH_INX, "d,T,S", MATCH_FLT_H, MASK_FLT_H, match_opcode, 0 },
-{"fge.h", 0, INSN_CLASS_ZFH_INX, "d,T,S", MATCH_FLE_H, MASK_FLE_H, match_opcode, 0 },
+{"fgt.h", 0, INSN_CLASS_ZFH_INX, "d,T,S", MATCH_FLT_H, MASK_FLT_H, match_opcode, INSN_ALIAS },
+{"fge.h", 0, INSN_CLASS_ZFH_INX, "d,T,S", MATCH_FLE_H, MASK_FLE_H, match_opcode, INSN_ALIAS },
{"fcvt.l.h", 64, INSN_CLASS_ZFH_INX, "d,S", MATCH_FCVT_L_H|MASK_RM, MASK_FCVT_L_H|MASK_RM, match_opcode, 0 },
{"fcvt.l.h", 64, INSN_CLASS_ZFH_INX, "d,S,m", MATCH_FCVT_L_H, MASK_FCVT_L_H, match_opcode, 0 },
{"fcvt.lu.h", 64, INSN_CLASS_ZFH_INX, "d,S", MATCH_FCVT_LU_H|MASK_RM, MASK_FCVT_LU_H|MASK_RM, match_opcode, 0 },
@@ -990,8 +1043,8 @@ const struct riscv_opcode riscv_opcodes[] =
{"feq.s", 0, INSN_CLASS_F_INX, "d,S,T", MATCH_FEQ_S, MASK_FEQ_S, match_opcode, 0 },
{"flt.s", 0, INSN_CLASS_F_INX, "d,S,T", MATCH_FLT_S, MASK_FLT_S, match_opcode, 0 },
{"fle.s", 0, INSN_CLASS_F_INX, "d,S,T", MATCH_FLE_S, MASK_FLE_S, match_opcode, 0 },
-{"fgt.s", 0, INSN_CLASS_F_INX, "d,T,S", MATCH_FLT_S, MASK_FLT_S, match_opcode, 0 },
-{"fge.s", 0, INSN_CLASS_F_INX, "d,T,S", MATCH_FLE_S, MASK_FLE_S, match_opcode, 0 },
+{"fgt.s", 0, INSN_CLASS_F_INX, "d,T,S", MATCH_FLT_S, MASK_FLT_S, match_opcode, INSN_ALIAS },
+{"fge.s", 0, INSN_CLASS_F_INX, "d,T,S", MATCH_FLE_S, MASK_FLE_S, match_opcode, INSN_ALIAS },
{"fcvt.l.s", 64, INSN_CLASS_F_INX, "d,S", MATCH_FCVT_L_S|MASK_RM, MASK_FCVT_L_S|MASK_RM, match_opcode, 0 },
{"fcvt.l.s", 64, INSN_CLASS_F_INX, "d,S,m", MATCH_FCVT_L_S, MASK_FCVT_L_S, match_opcode, 0 },
{"fcvt.lu.s", 64, INSN_CLASS_F_INX, "d,S", MATCH_FCVT_LU_S|MASK_RM, MASK_FCVT_LU_S|MASK_RM, match_opcode, 0 },
@@ -1049,8 +1102,8 @@ const struct riscv_opcode riscv_opcodes[] =
{"feq.d", 0, INSN_CLASS_D_INX, "d,S,T", MATCH_FEQ_D, MASK_FEQ_D, match_opcode, 0 },
{"flt.d", 0, INSN_CLASS_D_INX, "d,S,T", MATCH_FLT_D, MASK_FLT_D, match_opcode, 0 },
{"fle.d", 0, INSN_CLASS_D_INX, "d,S,T", MATCH_FLE_D, MASK_FLE_D, match_opcode, 0 },
-{"fgt.d", 0, INSN_CLASS_D_INX, "d,T,S", MATCH_FLT_D, MASK_FLT_D, match_opcode, 0 },
-{"fge.d", 0, INSN_CLASS_D_INX, "d,T,S", MATCH_FLE_D, MASK_FLE_D, match_opcode, 0 },
+{"fgt.d", 0, INSN_CLASS_D_INX, "d,T,S", MATCH_FLT_D, MASK_FLT_D, match_opcode, INSN_ALIAS },
+{"fge.d", 0, INSN_CLASS_D_INX, "d,T,S", MATCH_FLE_D, MASK_FLE_D, match_opcode, INSN_ALIAS },
{"fmv.x.d", 64, INSN_CLASS_D, "d,S", MATCH_FMV_X_D, MASK_FMV_X_D, match_opcode, 0 },
{"fmv.d.x", 64, INSN_CLASS_D, "D,s", MATCH_FMV_D_X, MASK_FMV_D_X, match_opcode, 0 },
{"fcvt.l.d", 64, INSN_CLASS_D_INX, "d,S", MATCH_FCVT_L_D|MASK_RM, MASK_FCVT_L_D|MASK_RM, match_opcode, 0 },
@@ -1109,8 +1162,8 @@ const struct riscv_opcode riscv_opcodes[] =
{"feq.q", 0, INSN_CLASS_Q_INX, "d,S,T", MATCH_FEQ_Q, MASK_FEQ_Q, match_opcode, 0 },
{"flt.q", 0, INSN_CLASS_Q_INX, "d,S,T", MATCH_FLT_Q, MASK_FLT_Q, match_opcode, 0 },
{"fle.q", 0, INSN_CLASS_Q_INX, "d,S,T", MATCH_FLE_Q, MASK_FLE_Q, match_opcode, 0 },
-{"fgt.q", 0, INSN_CLASS_Q_INX, "d,T,S", MATCH_FLT_Q, MASK_FLT_Q, match_opcode, 0 },
-{"fge.q", 0, INSN_CLASS_Q_INX, "d,T,S", MATCH_FLE_Q, MASK_FLE_Q, match_opcode, 0 },
+{"fgt.q", 0, INSN_CLASS_Q_INX, "d,T,S", MATCH_FLT_Q, MASK_FLT_Q, match_opcode, INSN_ALIAS },
+{"fge.q", 0, INSN_CLASS_Q_INX, "d,T,S", MATCH_FLE_Q, MASK_FLE_Q, match_opcode, INSN_ALIAS },
{"fcvt.l.q", 64, INSN_CLASS_Q_INX, "d,S", MATCH_FCVT_L_Q|MASK_RM, MASK_FCVT_L_Q|MASK_RM, match_opcode, 0 },
{"fcvt.l.q", 64, INSN_CLASS_Q_INX, "d,S,m", MATCH_FCVT_L_Q, MASK_FCVT_L_Q, match_opcode, 0 },
{"fcvt.lu.q", 64, INSN_CLASS_Q_INX, "d,S", MATCH_FCVT_LU_Q|MASK_RM, MASK_FCVT_LU_Q|MASK_RM, match_opcode, 0 },
@@ -1156,9 +1209,13 @@ const struct riscv_opcode riscv_opcodes[] =
{"c.addiw", 64, INSN_CLASS_C, "d,Co", MATCH_C_ADDIW, MASK_C_ADDIW, match_rd_nonzero, 0 },
{"c.addw", 64, INSN_CLASS_C, "Cs,Ct", MATCH_C_ADDW, MASK_C_ADDW, match_opcode, 0 },
{"c.subw", 64, INSN_CLASS_C, "Cs,Ct", MATCH_C_SUBW, MASK_C_SUBW, match_opcode, 0 },
+{"c.ldsp", 32, INSN_CLASS_ZCLSD, "d,Cn(Cc)", MATCH_C_LDSP, MASK_C_LDSP, match_rd_even_nonzero, INSN_DREF|INSN_8_BYTE },
{"c.ldsp", 64, INSN_CLASS_C, "d,Cn(Cc)", MATCH_C_LDSP, MASK_C_LDSP, match_rd_nonzero, INSN_DREF|INSN_8_BYTE },
+{"c.ld", 32, INSN_CLASS_ZCLSD, "Ct,Cl(Cs)", MATCH_C_LD, MASK_C_LD, match_crs2s_even, INSN_DREF|INSN_8_BYTE },
{"c.ld", 64, INSN_CLASS_C, "Ct,Cl(Cs)", MATCH_C_LD, MASK_C_LD, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.sdsp", 32, INSN_CLASS_ZCLSD, "CV,CN(Cc)", MATCH_C_SDSP, MASK_C_SDSP, match_crs2_even, INSN_DREF|INSN_8_BYTE },
{"c.sdsp", 64, INSN_CLASS_C, "CV,CN(Cc)", MATCH_C_SDSP, MASK_C_SDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
+{"c.sd", 32, INSN_CLASS_ZCLSD, "Ct,Cl(Cs)", MATCH_C_SD, MASK_C_SD, match_crs2s_even, INSN_DREF|INSN_8_BYTE },
{"c.sd", 64, INSN_CLASS_C, "Ct,Cl(Cs)", MATCH_C_SD, MASK_C_SD, match_opcode, INSN_DREF|INSN_8_BYTE },
{"c.fldsp", 0, INSN_CLASS_D_AND_C, "D,Cn(Cc)", MATCH_C_FLDSP, MASK_C_FLDSP, match_opcode, INSN_DREF|INSN_8_BYTE },
{"c.fld", 0, INSN_CLASS_D_AND_C, "CD,Cl(Cs)", MATCH_C_FLD, MASK_C_FLD, match_opcode, INSN_DREF|INSN_8_BYTE },
@@ -3522,6 +3579,14 @@ const struct riscv_opcode riscv_opcodes[] =
{"sf.vfnrclip.xu.f.qf", 0, INSN_CLASS_XSFVFNRCLIPXFQF, "Vd,Vt,S", MATCH_SFVFNRCLIPXUFQF, MASK_SFVFNRCLIPXUFQF, match_opcode, 0},
{"sf.vfnrclip.x.f.qf", 0, INSN_CLASS_XSFVFNRCLIPXFQF, "Vd,Vt,S", MATCH_SFVFNRCLIPXFQF, MASK_SFVFNRCLIPXFQF, match_opcode, 0},
+/* MIPS custom instructions. */
+{"mips.ccmov", 0, INSN_CLASS_XMIPSCMOV, "d,t,s,r", MATCH_MIPS_CCMOV, MASK_MIPS_CCMOV, match_opcode, 0},
+{"mips.ldp", 0, INSN_CLASS_XMIPSLSP, "d,r,Xm$(s)", MATCH_MIPS_LDP, MASK_MIPS_LDP, match_opcode, 0 },
+{"mips.lwp", 0, INSN_CLASS_XMIPSLSP, "d,r,Xm%(s)", MATCH_MIPS_LWP, MASK_MIPS_LWP, match_opcode, 0 },
+{"mips.pref", 0, INSN_CLASS_XMIPSCBOP, "Xm@,Xm#(s)", MATCH_MIPS_PREF, MASK_MIPS_PREF, match_opcode, 0 },
+{"mips.sdp", 0, INSN_CLASS_XMIPSLSP, "t,r,Xm^(s)", MATCH_MIPS_SDP, MASK_MIPS_SDP, match_opcode, 0 },
+{"mips.swp", 0, INSN_CLASS_XMIPSLSP, "t,r,Xm&(s)", MATCH_MIPS_SWP, MASK_MIPS_SWP, match_opcode, 0 },
+
/* Terminate the list. */
{0, 0, INSN_CLASS_NONE, 0, 0, 0, 0, 0}
};
diff --git a/opcodes/s390-dis.c b/opcodes/s390-dis.c
index 9838365..0d32d05 100644
--- a/opcodes/s390-dis.c
+++ b/opcodes/s390-dis.c
@@ -312,7 +312,7 @@ s390_print_insn_with_opcode (bfd_vma memaddr,
info->fprintf_styled_func (info->stream, dis_style_text,
"%c", separator);
info->fprintf_styled_func (info->stream, dis_style_register,
- "%%v%i", val.u);
+ "%%v%u", val.u);
}
else if (flags & S390_OPERAND_AR)
{
diff --git a/readline/readline/tcap.h b/readline/readline/tcap.h
index 859e6ee..9e2ed12 100644
--- a/readline/readline/tcap.h
+++ b/readline/readline/tcap.h
@@ -46,14 +46,14 @@ extern char *UP, *BC;
extern short ospeed;
-extern int tgetent ();
-extern int tgetflag ();
-extern int tgetnum ();
-extern char *tgetstr ();
+extern int tgetent (char *bp, const char *name);
+extern int tgetflag (char *id);
+extern int tgetnum (char *id);
+extern char *tgetstr (char *id, char **area);
-extern int tputs ();
+extern int tputs (const char *str, int affcnt, int (*putc)(int));
-extern char *tgoto ();
+extern char *tgoto (const char *cap, int col, int row);
#endif /* HAVE_TERMCAP_H */
diff --git a/sim/d10v/gencode.c b/sim/d10v/gencode.c
index 3a37bac..763e2f5 100644
--- a/sim/d10v/gencode.c
+++ b/sim/d10v/gencode.c
@@ -150,5 +150,5 @@ write_opcodes (void)
printf ("},\n");
}
}
- printf ("{ 0,0,0,0,0,0,0,(void (*)())0,0,{0,0,0}},\n};\n");
+ printf ("{ 0,0,0,0,0,0,0,0,0,{0,0,0}},\n};\n");
}
diff --git a/sim/or1k/cpu.c b/sim/or1k/cpu.c
index c75e2a0..14e43cc 100644
--- a/sim/or1k/cpu.c
+++ b/sim/or1k/cpu.c
@@ -1100,6 +1100,38 @@ or1k32bf_h_sys_esr15_set (SIM_CPU *current_cpu, USI newval)
SET_H_SYS_ESR15 (newval);
}
+/* Get the value of h-sys-coreid. */
+
+USI
+or1k32bf_h_sys_coreid_get (SIM_CPU *current_cpu)
+{
+ return GET_H_SYS_COREID ();
+}
+
+/* Set a value for h-sys-coreid. */
+
+void
+or1k32bf_h_sys_coreid_set (SIM_CPU *current_cpu, USI newval)
+{
+ SET_H_SYS_COREID (newval);
+}
+
+/* Get the value of h-sys-numcores. */
+
+USI
+or1k32bf_h_sys_numcores_get (SIM_CPU *current_cpu)
+{
+ return GET_H_SYS_NUMCORES ();
+}
+
+/* Set a value for h-sys-numcores. */
+
+void
+or1k32bf_h_sys_numcores_set (SIM_CPU *current_cpu, USI newval)
+{
+ SET_H_SYS_NUMCORES (newval);
+}
+
/* Get the value of h-sys-gpr0. */
USI
diff --git a/sim/or1k/cpu.h b/sim/or1k/cpu.h
index 7f8a340..ab2c062 100644
--- a/sim/or1k/cpu.h
+++ b/sim/or1k/cpu.h
@@ -408,6 +408,16 @@ SET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_ESR14), (x));\
do { \
SET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_ESR15), (x));\
;} while (0)
+#define GET_H_SYS_COREID() GET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_COREID))
+#define SET_H_SYS_COREID(x) \
+do { \
+SET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_COREID), (x));\
+;} while (0)
+#define GET_H_SYS_NUMCORES() GET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_NUMCORES))
+#define SET_H_SYS_NUMCORES(x) \
+do { \
+SET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_NUMCORES), (x));\
+;} while (0)
#define GET_H_SYS_GPR0() GET_H_SPR (ORSI (SLLSI (SPR_GROUP_SYS, 11), SPR_INDEX_SYS_GPR0))
#define SET_H_SYS_GPR0(x) \
do { \
@@ -3379,6 +3389,10 @@ USI or1k32bf_h_sys_esr14_get (SIM_CPU *);
void or1k32bf_h_sys_esr14_set (SIM_CPU *, USI);
USI or1k32bf_h_sys_esr15_get (SIM_CPU *);
void or1k32bf_h_sys_esr15_set (SIM_CPU *, USI);
+USI or1k32bf_h_sys_coreid_get (SIM_CPU *);
+void or1k32bf_h_sys_coreid_set (SIM_CPU *, USI);
+USI or1k32bf_h_sys_numcores_get (SIM_CPU *);
+void or1k32bf_h_sys_numcores_set (SIM_CPU *, USI);
USI or1k32bf_h_sys_gpr0_get (SIM_CPU *);
void or1k32bf_h_sys_gpr0_set (SIM_CPU *, USI);
USI or1k32bf_h_sys_gpr1_get (SIM_CPU *);
diff --git a/sim/or1k/or1k.c b/sim/or1k/or1k.c
index 2d1f7f8..73ab6f0 100644
--- a/sim/or1k/or1k.c
+++ b/sim/or1k/or1k.c
@@ -206,6 +206,10 @@ or1k_cpu_init (SIM_DESC sd, sim_cpu *current_cpu, const USI or1k_vr,
/* Clear the floating point control status register. */
SET_H_SYS_FPCSR (0);
+
+ /* Set this as the one and only core. */
+ SET_H_SYS_NUMCORES (1);
+ SET_H_SYS_COREID (0);
}
void
diff --git a/sim/or1k/traps.c b/sim/or1k/traps.c
index 753bfff..d1113ac 100644
--- a/sim/or1k/traps.c
+++ b/sim/or1k/traps.c
@@ -224,6 +224,8 @@ or1k32bf_mfspr (sim_cpu *current_cpu, USI addr)
case SPR_ADDR (SYS, PPC):
case SPR_ADDR (SYS, FPCSR):
case SPR_ADDR (SYS, EPCR0):
+ case SPR_ADDR (SYS, COREID):
+ case SPR_ADDR (SYS, NUMCORES):
case SPR_ADDR (MAC, MACLO):
case SPR_ADDR (MAC, MACHI):
break;
diff --git a/sim/testsuite/common/bits-tst.c b/sim/testsuite/common/bits-tst.c
index a30753e..95ca450 100644
--- a/sim/testsuite/common/bits-tst.c
+++ b/sim/testsuite/common/bits-tst.c
@@ -1,4 +1,5 @@
# 2 "bits-tst.c"
+#include <string.h>
/* Drive the bit test routines */
@@ -320,9 +321,7 @@ check_bits (int call,
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int errors = 0;